Grundlagen der Künstlichen Intelligenz

Werbung
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
Herunterladen