Grundlagen der Künstlichen Intelligenz 31. März 2014 13. Klassische Suche: Gierige Bestensuche, A, Weighted A Grundlagen der Künstlichen Intelligenz 13. Klassische Suche: Gierige Bestensuche, A, Weighted A Malte Helmert Universität Basel 31. März 2014 13.1 Einführung 13.2 Gierige Bestensuche 13.3 A 13.4 Weighted A 13.5 Zusammenfassung M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 1 / 23 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 2 / 23 Klassische Suche: Überblick 13. Klassische Suche: Gierige Bestensuche, A, Weighted A Einführung Kapitelüberblick klassische Suche: 3. 5. Einführung 6. 9. Basisalgorithmen 10.-17. heuristische Algorithmen 10. Heuristiken 11. Analyse von Heuristiken 12. Bestensuche als Graphensuche 13. Gierige Bestensuche, A, Weighted A 14. IDA 15. A : Optimalität, Teil I 16. A : Optimalität, Teil II 17. A : Vollständigkeit und Komplexität 13.1 Einführung M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 3 / 23 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 4 / 23
13. Klassische Suche: Gierige Bestensuche, A, Weighted A Einführung Worum geht s? In diesem Kapitel schauen wir uns die Algorithmen aus dem letzten Kapitel genauer an: Gierige Bestensuche A Weighted A 13.2 Gierige Bestensuche M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 5 / 23 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 6 / 23 Gierige Bestensuche Beispiel: Gierige Bestensuche für Routenplanung Gierige Bestensuche Berücksichtige nur die Heuristik: f (n) = h(n.state) Anmerkung: normalerweise ohne Reopening (aus Effizienzgründen) 71 140 118 111 70 Dobreta Neamt 151 87 Iasi 92 99 80 Vaslui 142 Lugoj Pitesti 211 97 98 Mehadia 146 101 85 Urziceni Hirsova 138 Bucharest 86 120 90 Craiova Giurgiu Eforie 366 Bucharest 0 Craiova 160 Drobeta 242 Eforie 161 176 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 380 Pitesti 100 193 253 329 Urziceni 80 Vaslui 199 374 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 7 / 23 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 8 / 23
Beispiel: Gierige Bestensuche für Routenplanung Gierige Bestensuche: Eigenschaften (a) The initial state 366 (b) After expanding 253 329 374 (c) After expanding 329 374 366 176 380 193 (d) After expanding 329 374 vollständig für sichere Heuristiken (wie alle Varianten der Bestensuche als Graphensuche) suboptimal: Lösungen können beliebig schlecht sein oft sehr schnell: in der Praxis einer der schnellsten Suchalgorithmen monotone Transformation von h (z. B. Skalierung, additive Konstante) beeinflusst nicht das Verhalten (Warum ist das interessant?) 366 380 193 Bucharest 253 0 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 9 / 23 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 10 / 23 A 13.3 A A Verbinde gierige Bestensuche mit uniformer Kostensuche: f (n) = g(n) + h(n.state) Abwägen zwischen Pfadkosten und Nähe zum Ziel f (n) schätzt Gesamtkosten der billigsten Lösung vom Anfangszustand über n zum Ziel M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 11 / 23 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 12 / 23
A : Zitate Beispiel: A für Routenplanung 71 140 118 111 70 Dobreta Neamt 151 87 Iasi 92 99 80 Vaslui 142 Lugoj Pitesti 211 97 (a) The initial state 98 Mehadia 146 101 85 366=0+366 Urziceni Hirsova (b) After expanding 138 Bucharest 86 120 90 Craiova Giurgiu Eforie 393=140+253 447=118+329 366 Bucharest 0 Craiova 160 Drobeta 242 Eforie 161 176 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 380 Pitesti 100 193 253 329 Urziceni 80 Vaslui 199 374 449=+374 (c) After expanding M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 13 / 23 M. Helmert (Universität Basel) Grundlagen der Rimnicu Künstlichen Vilcea Intelligenz 31. März 2014 14 / 23 646=280+366 415=239+176 671=291+380 413=220+193 (d) After expanding Beispiel: A für Routenplanung 13. Klassische Suche: Gierige Bestensuche, A, Weighted A A Beispiel: A für Routenplanung 646=280+366 415=239+176 671=291+380 (a) The initial state 366=0+366 (e) After expanding Craiova Pitesti 526=366+160 417=317+100 553=300+253 (b) After expanding 393=140+253 447=118+329 449=+374 646=280+366 671=291+380 (c) After expanding Bucharest Craiova Pitesti 591=338+253 450=450+0 526=366+160 417=317+100 553=300+253 (f) After expanding Pitesti 646=280+366 415=239+176 671=291+380 413=220+193 (d) After expanding 646=280+366 671=291+380 Bucharest Craiova Pitesti 591=338+253 450=450+0 526=366+160 553=300+253 646=280+366 415=239+176 671=291+380 Bucharest Craiova 418=418+0 615=455+160 607=414+193 Craiova Pitesti 526=366+160 417=317+100 553=300+253 (e) After expanding M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 15 / 23 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 16 / 23
A : Eigenschaften A : Implementierungsaspekte vollständig für sichere Heuristiken (wie alle Varianten der Bestensuche als Graphensuche) mit Reopening: optimal, wenn Heuristik zulässig ohne Reopening: optimal, wenn Heuristik konsistent und zulässig Beweise: Kapitel 15 und 16 Einige praktische Anmerkungen für die Implementierung von A : häufiger Bug: kein Reopening implementiert, obwohl die Heuristik nicht konsistent ist häufiger Bug: Duplikatstest zu früh (beim Erzeugen der Suchknoten) häufiger Bug: Zieltest zu früh (beim Erzeugen der Suchknoten) all diese Bugs führen zum Verlust der Optimalität und können lange unentdeckt bleiben M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 17 / 23 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 18 / 23 13. Klassische Suche: Gierige Bestensuche, A, Weighted A Weighted A 13. Klassische Suche: Gierige Bestensuche, A, Weighted A Weighted A Weighted A 13.4 Weighted A Weighted A A mit stärker gewichteter Heuristik: f (n) = g(n) + w h(n.state), wobei Gewicht w R + 0 mit w 1 ein frei wählbarer Parameter ist Anmerkung: w < 1 ist denkbar, aber meist keine gute Idee (Warum nicht?) M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 19 / 23 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 20 / 23
13. Klassische Suche: Gierige Bestensuche, A, Weighted A Weighted A Weighted A : Eigenschaften 13. Klassische Suche: Gierige Bestensuche, A, Weighted A Zusammenfassung Gewichtsparameter kontrolliert Gierigkeit der Suche: w = 0: wie uniforme Kostensuche w = 1: wie A w : wie gierige Bestensuche 13.5 Zusammenfassung Mit w 1 analoge Eigenschaften zu A : h zulässig: gefundene Lösung garantiert höchstens Faktor w so teuer wie Optimum, wenn Reopening verwendet wird h konsistent und zulässig: gefundene Lösung garantiert höchstens Faktor w so teuer wie Optimum; kein Reopening nötig (ohne Beweis) M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 21 / 23 M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 22 / 23 13. Klassische Suche: Gierige Bestensuche, A, Weighted A Zusammenfassung Zusammenfassung Bestensuche als Graphensuche mit Bewertungfunktion f : f = h: gierige Bestensuche suboptimal, oft sehr schnell f = g + h: A optimal, wenn h zulässig und konsistent oder wenn h zulässig und Reopening verwendet wird f = g + w h: Weighted A für w 1 Suboptimalitätsfaktor höchstens w unter den gleichen Bedingungen wie für Optimalität von A M. Helmert (Universität Basel) Grundlagen der Künstlichen Intelligenz 31. März 2014 23 / 23