Grundlagen der Künstlichen Intelligenz 24. März 2014 — 10. Klassische Suche: Heuristiken Grundlagen der Künstlichen Intelligenz 10.1 Einführung 10. Klassische Suche: Heuristiken 10.2 Heuristiken Malte Helmert 10.3 Beispiele Universität Basel 24. März 2014 10.4 Zusammenfassung M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 1 / 16 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 10. Klassische Suche: Heuristiken 2 / 16 Einführung Klassische Suche: Überblick Kapitelüberblick klassische Suche: I 3.–5. Einführung I 6.–9. Basisalgorithmen 10.-17. heuristische Algorithmen I I I I I I I I I 10. 11. 12. 13. 14. 15. 16. 17. 10.1 Einführung Heuristiken Analyse von Heuristiken Bestensuche als Graphensuche Gierige Bestensuche, A∗ , Weighted A∗ IDA∗ A∗ : Optimalität, Teil I A∗ : Optimalität, Teil II A∗ : Vollständigkeit und Komplexität M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 3 / 16 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 4 / 16 10. Klassische Suche: Heuristiken Einführung 10. Klassische Suche: Heuristiken Heuristiken Informierte Suchalgorithmen I bisher betrachtete Suchalgorithmen: blind, da sie keine Problemaspekte ausser der formalen Definition (Zustandsraum) berücksichtigen I Problem: Skalierbarkeit Zeit- und Speicherlimits bereits für scheinbar einfache Probleme erreicht I Idee: versuche (problemspezifische) Kriterien zu finden, um gute von schlechten Zuständen zu unterscheiden bevorzuge gute Zustände 10.2 Heuristiken informierte ( heuristische“) Suchalgorithmen ” M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 10. Klassische Suche: Heuristiken 5 / 16 Heuristiken Heuristiken Grundlagen der Künstlichen Intelligenz 24. März 2014 10. Klassische Suche: Heuristiken 6 / 16 Heuristiken Heuristiken: Intuition Idee: h(s) schätzt Abstand (= Kosten des billigsten Pfads) von s zum nächsten Zielzustand Definition (Heuristik) Sei S ein Zustandsraum mit Zuständen S. Eine Heuristikfunktion oder Heuristik für S ist eine Funktion h:S → R+ 0 ∪ {∞}, Grundlagen der Künstlichen Intelligenz 24. März 2014 I Heuristiken können beliebige Funktionen sein I Intuition: je näher h am wirklichen Zielabstand, desto effizienter ist die Suche, die sie benutzt Heuristiken werden manchmal über Suchknoten statt Zuständen definiert, aber diese Allgemeinheit ist selten nützlich. (Warum?) die jeden Zustand auf eine nicht-negative Zahl (oder ∞) abbildet. M. Helmert (Universität Basel) M. Helmert (Universität Basel) 7 / 16 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 8 / 16 10. Klassische Suche: Heuristiken Heuristiken Warum Heuristik“? ” In unserem Black-Box-Modell sind Heuristiken ein zusätzliches Element des Zustandsraum-Interfaces: Zustandsräume als Black Box (erweitert) I popularisiert durch George Pólya: How to Solve It (1945) I in der Informatik oft verwendet für: Daumenregel, inexakter Algorithmus I in der KI-Suche Fachterminus für Zielabstandsschätzer Grundlagen der Künstlichen Intelligenz Heuristiken Repräsentation von Heuristiken Was bedeutet Heuristik“? ” I Heuristik: von Altgriechisch ἑυρισκω (= Ich finde) vergleiche: ἑυρηκα! M. Helmert (Universität Basel) 10. Klassische Suche: Heuristiken 24. März 2014 10. Klassische Suche: Heuristiken 9 / 16 Beispiele I init() I is goal(s) I succ(s) I cost(a) I h(s): Heuristikwert für Zustand s Ergebnis: nicht-negative ganze Zahl oder ∞ M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 10. Klassische Suche: Heuristiken 10 / 16 Beispiele Beispiel: Blocks world mögliche Heuristik: 10.3 Beispiele Zähle die Blöcke x, die auf y liegen und im Ziel auf z 6= y liegen müssen (inkl. Fall, wo y oder z der Tisch ist) Wie genau ist diese Heuristik? M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 11 / 16 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 12 / 16 10. Klassische Suche: Heuristiken Beispiele Beispiel: Routenplanung in Rumänien Oradea 75 Neamt Zerind 87 151 Iasi Arad 140 92 Sibiu 99 Fagaras 118 Timisoara 111 Vaslui 80 Rimnicu Vilcea Lugoj Pitesti 97 142 211 70 98 Mehadia 146 75 Dobreta 85 101 Bucharest 120 Craiova M. Helmert (Universität Basel) Hirsova Urziceni 86 138 90 Giurgiu Grundlagen der Künstlichen Intelligenz 10. Klassische Suche: Heuristiken Beispiele Beispiel: Missionare und Kannibalen mögliche Heuristik: Luftliniendistanz nach Bukarest 71 10. Klassische Suche: Heuristiken Eforie Arad Bucharest Craiova Drobeta Eforie Fagaras Giurgiu Hirsova Iasi Lugoj Mehadia Neamt Oradea Pitesti Rimnicu Vilcea Sibiu Timisoara Urziceni Vaslui Zerind 24. März 2014 Aufgabe: Missionare und Kannibalen I sechs Personen müssen einen Fluss überqueren 366 0 160 242 161 176 77 151 226 244 241 234 380 100 193 253 329 80 199 374 I sie besitzen ein Boot, mit dem ein oder zwei Personen über den Fluss rudern können (mehr passen nicht hinein) I drei der Personen sind Missionare, drei sind Kannibalen I Missionare dürfen nicht mit einer Mehrheit an Kannibalen allein gelassen werden mögliche Heuristik: Anzahl Personen am falschen Flussufer mit unserer Formalisierung von Zuständen als Tripel hm, c, bi: h(hm, c, bi) = m + c 13 / 16 Zusammenfassung M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 10. Klassische Suche: Heuristiken 14 / 16 Zusammenfassung Zusammenfassung 10.4 Zusammenfassung I Heuristiken schätzen Abstand eines Zustands vom Ziel I Heuristiken können verwendet werden, um die Suche auf viel versprechende Zustände zu fokussieren später: Algorithmen, die Heuristiken ausnutzen M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 15 / 16 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 24. März 2014 16 / 16