Informierte Suche

Werbung
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Einführung in die Methoden
der Künstlichen Intelligenz
--- Vorlesung vom 24.4.2007 --Sommersemester 2007
Prof. Dr. Ingo J. Timm, Andreas D. Lattner
Professur für Wirtschaftsinformatik und Simulation (IS)
3. Uninformierte Suche
Prof. Timm
1
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Wohl definierte Suchprobleme ...
Generelles Suchproblem: Probleme und Lösungen:
Initialstatus
Operator oder Erfolgsfunktion
Zustandsraum des Problems, das sind alle Zustände, die vom
Initialzustand über Sequenzen von Aktionen zu erreichen sind.
Pfade im Zustandsraum sind Sequenzen von Aktionen von Zustand a zu
Zustand z.
Zieltest:
Einfache Überprüfung, ob aktueller Zustand = Ziel.
Abstrakte Eigenschaften testen (Bsp.: Schach).
Zusätzlich: Testen, welche Sequenz “billiger” ist (Pfadkosten g).
Initialzustand, Operator-Satz, Zieltest und Pfadkostenfunktion definieren
zusammengenommen ein Problem.
Lösung
Pfad vom Initialzustand zum Ziel
Problemlösungsagenten
Staubsauger-Problem
– Zustände
8 Zustände wie in Bild
– Operatoren
Move right, left and suck
– Ziel-Test
Kein Staub
– Pfadkosten
Jeder Schritt kostet eine
Einheit
Beispielprobleme
Prof. Timm
2
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Staubsauger-Problem
keine Sensoren, gestrichelt: set of states
Beispielprobleme
4. Suchstrategien
(uninformiert, blind)
•
1.
2.
3.
4.
5.
6.
Komplexität
– b der Verzweigungsfaktor
– d die Tiefe des flachsten Knoten
– m die maximale Länge eines jeden Pfades in dem
Suchraum
Breitensuche
Uniforme Kostensuche
Tiefensuche
Tiefensuche (limitiert)
Iterative Tiefensuche
Bi-direktionale Suche
Suchstrategien
Prof. Timm
3
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Breitensuche
Die Wurzel wird zuerst erweitert, dann alle Knoten, die von der Wurzel erzeugt worden
sind usw.
Alle Knoten der Tiefe d sind erweitert worden, bevor der ersten Knoten der Tiefe d+1
erzeugt wird.
Kann durch GeneralSearch mit Queue implementiert werden.
Zeit: O(bd), hier b=2.
Suchstrategien
Uniforme Kostensuche
Modifiziert Breitensuche, erweitert nur den Knoten, der am wenigsten kostet
(über Pfad g(n)).
Breitensuche = uniforme Kostensuche mit g(n) = Tiefe(n).
Problem: von S nach G,
Kosten sind markiert (a).
SAG ist die erste
Lösung (Kosten 11). Der
Algorithmus erkennt
dieses nicht als Lösung,
weil 11 > 5 (von B).
Danach SBG als finale
Lösung (b).
S
A
1
a)
Zustandsraum
10
5
B
15
C
S
5
G
5
S
S
S
0
b)
A
B
C
1
5
15
A
G
Suchstrategien
Prof. Timm
11
B
C
5
15
A
B
C
15
G
11
G
10
4
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Tiefensuche
Erweitert immer einen der Knoten auf der tiefsten Ebene des
Baumes.
Kann mit GeneralSearch und einer Queue, die die neuen
Zustände an den Anfang hängt, implementiert werden.
Suchstrategien
Tiefensuche (2)
Diskussion:
Moderater Speicherverbrauch (nur der einzelne Pfad muß gespeichert
werden), max. Tiefe m und Verzweigungsfaktor b = bm Knoten.
Im Vergleich zur Breitensuche: 118 KB statt 10 PB bei Tiefe 12, das ist
ein Faktor von 1:10 Milliarden weniger Speicherplatz.
Zeit: O(bm).
Für Probleme mit vielen Lösungen besser als Breitensuche.
Aber: man kann stecken bleiben, wenn man den falschen Pfad entlang
läuft.
--> Tiefensuche ist nicht vollständig und nicht optimal.
Deswegen sollte man vermeiden, die Tiefensuche bei Suchproblemen
mit großen oder infiniten maximalen Tiefen einzusetzen.
Suchstrategien
Prof. Timm
5
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Limitierte Tiefensuche
Verhindert die Nachteile von Tiefensuche durch Abschneiden der max.
Tiefe des Pfades.
Kann mit einem Spezialalgorithmus oder mit GeneralSearch mit
Operatoren, die die Tiefe speichern, implementiert werden.
Bsp.: Suche nach Lösung eines Weges bei 20 Städten. Wir wissen, daß die
max. Pfadlänge 19 ist.
Neuer Operator: Wenn man in Stadt A ist und weniger als 19 Schritte gegangen
ist, generiert man einen neuen Zustand in Stadt B mit einer Pfadlänge, die um
eins größer ist.
Man findet garantiert die Lösung (wenn sie existiert), aber der Algorithmus
ist nicht optimal.
Zeit- und Speicherverbrauch ähnlich der Tiefensuche.
Limitierte Tiefensuche ist vollständig aber nicht optimal.
Suchstrategien
Limitierte Tiefensuche (2)
Pfadlänge 19 ist offensichtlich, aber wenn wir uns die Karte genau ansehen,
werden wir die Pfadlänge neun feststellen (Diameter des Zustandsraums).
Diameter gibt ein besseres Tiefenlimit und folglich eine effizientere Suche,
aber: Diameter ist nicht oft bekannt.
Iterative Tiefensuche verwendet verschiedene Tiefen, um das beste
Tiefenlimit zu suchen.
Suchstrategien
Prof. Timm
6
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Iterative Tiefensuche
Generelle Strategie zum Auffinden des besten Tiefenlimits
Suchstrategien
Iterative Tiefensuche (2)
Suchstrategien
Prof. Timm
7
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Iterative Tiefensuche (3)
Diskussion:
Kombination der Vorteile von Breiten- und Tiefensuche.
Iterative Tiefensuche ist vollständig und optimal.
Zustände wie Breitensuche, ca. 11% mehr Knoten.
Zeit: O(bd).
Speicher: O(bd).
Generell: iterative Tiefensuche wird dann eingesetzt, wenn ein großer
Suchraum vorhanden ist und die Tiefe der Lösung unbekannt ist.
Suchstrategien
Bidirektionale Suche
Idee: Suche beginnt sowohl vom Initialzustand als auch vom Ziel
Ende ist erreicht, wenn sich beide Suchzweige in der Mitte treffen
Motivation: bd/2 + bd/2 << bd
Suchstrategien
Prof. Timm
8
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Bidirektionale Suche (2)
Diskussion:
Zeit: O(bd/2), wenn b in beide Richtungen gleich ist.
Bsp.: für b=10 und d=6 würde die Breitensuche 11.111.100 Knoten
erzeugen, hier aber nur 22.200 (weil Tiefe=3).
Speicher: O(bd/2), weil einer der Bäume im Speicher gehalten werden
muß
Was muß beachtet werden?
Vorgänger für Rückwärtssuche
Effizienz bei der Suche, ob der aktuelle Knoten schon im anderen
Baum existiert.
Welche Art der Suche wird angestrebt?
...
Suchstrategien
Vergleich der Suchstrategien
wobei:
b = Verzweigungsfaktor
d = Tiefe
m = maximale Tiefe
l = Limit
generell: Annahme level d+1
Suchstrategien
Prof. Timm
9
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Vermeidung von wiederholten Zuständen
Möglichkeiten:
Gehe nicht den Weg zurück, den Du gekommen bist.
Kreiere keine Pfade mit Zyklen.
Generiere keinen Zustand, der vorher schon einmal generiert worden ist.
(a): Zustandsraum mit jeweils zwei Optionen, um von A nach B usw. zu gelangen
(Zustandsraum d+1)
(b): Korrespondierender Suchbaum 2d
(c): Rechteckiger Gitterraum, grau: Zustände, die in 2 Schritten von A erreicht werden
können
Besonderheiten
Suche mit partiellen Informationen
Abhängig vom Wissen über die Umgebung (Sensoren, Effektoren)
Bsp.: Staubsaugerwelt: Zwei Orte, jeder Ort enthält Staub oder nicht, der Agent
befindet an einem der beiden Orte. Es gibt acht mögliche Zustände. Der Agent hat
drei Aktionen: Left, Right, Suck. Zielzustand --> {7,8}
Besonderheiten
Prof. Timm
10
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Sensorlose (konformante) Probleme
1. Single-state problems
• Welt ist verfügbar, Sensoren geben
alle notwendigen Informationen,
Aktionen sind exakt bekannt.
• Schritte zum Ziel kalkulierbar (Bsp.:
Zustand 5, Aktion [Right,Suck]).
2. Multiple-state problems
• Aktionen sind bekannt, Informationen
über die Welt sind nur bedingt
zugreifbar (Extremfall: keine
Sensoren).
• Initialzustand aus {1,2,3,4,5,6,7,8}.
Mit [Right] würden wir in {2,4,6,8}
übergehen und mit [Right, Suck, Left,
Suck] wird das Ziel erreicht.
• Agent schlußfolgert über eine Menge
von Zuständen (Belief states)
Besonderheiten
Kontingente Probleme
• Während der Ausführung treten
die Probleme auf (Bsp.: {1,3} -->
{7,8}).
• Annahme: Agent ist in {1,3}, er
könnte die Sequenz [suck, right,
suck] formulieren, sucking geht
in {5,7}, moving right geht dann
in {6,8}, wenn er in {6} ist, ist die
Aktion erfolgreich, wenn er in {8}
ist, scheitert die Aktion.
• -->Lösung: von {1,3} über {5,7}
in {6,8} und dann [suck] aber
nur, wenn Staub vorhanden ist.
•
•
•
D. h., das Lösen des Problems
bedeutet Aufnahme von
Sensordaten während der
Ausführungsphase!
Der Agent muß dadurch nicht
einzelne Sequenzen prüfen,
sondern einen ganzen Baum.
Adversariale Probleme, wenn
Unsicherheit durch einen
Gegner ausgelöst wird.
Besonderheiten
Prof. Timm
11
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Explorationsprobleme
Annahme: Der Agent hat keine Informationen über die Effekte
seiner Aktionen (schwierigste Situation).
Der Agent muß experimentieren, dieses ist eine Art von Suche,
aber eine Suche in der realen Welt anstatt in der Modell-Welt.
Wenn der Agent “überlebt”, lernt er seine Welt wie durch eine
Karte kennen und kann dadurch später Subprobleme lösen.
Single-state und multiple-state Probleme sind mit ähnlichen
Suchtechniken lösbar, Contingency Probleme benötigen
komplexere Techniken.
Besonderheiten
Zusammenfassung
Vor der Suche nach Lösungen muß ein Ziel definiert werden, daß
wiederum für die Formulierung des Problems benötigt wird.
Ein Problem besteht aus vier Komponenten: einem Initialzustand,
einem Satz von Operatoren, einer Zieltestfunktion und einer
Kostenfunktion. Die Umgebung des Problems ist durch den
Zustandsraum repräsentiert. Ein Pfad durch den Zustandsraum
vom Initialzustand zum Ziel heißt Lösung.
Der generelle TreeSearch-Algorithmus kann verwendet werden, um
jedes Problem zu lösen, spezielle Varianten stehen für spezielle
Strategien zur Verfügung.
Suchalgorithmus werden nach Vollständigkeit, Optimalität sowie
Zeit- und Speicherkomplexität beurteilt.
Prof. Timm
12
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Zusammenfassung (2)
Breitensuche erweitert den flachsten Knoten zuerst. Sie ist
vollständig, optimal für uniform-cost-Operatoren und hat O(bd) für
Zeit- und Speicherkomplexität.
Uniforme Kostensuche erweitert den ‘billigsten’ Knoten zuerst. Sie
ist vollständig und optimal. Zeit und Speicherk. wie Breitensuche.
Tiefensuche erweitert den tiefsten Knoten zuerst. Sie ist nicht
vollständig und nicht optimal. Zeitk. O(bm), Speicherk. O(bm).
Limitierte Tiefensuche setzt ein Limit bei der Tiefe der Suche.
Iterative Tiefensuche verwendet limitierte Tiefensuche mit sich
erhöhenden Limits bis ein Ziel gefunden worden ist. Sie ist
vollständig und optimal. Zeitk. O(bd), Speicherk. O(bd).
Bidirektionale Suche kann die Suchzeit enorm verringern, ist
allerdings nicht immer anwendbar. Die Speichervoraussetzungen
sind nicht praktikabel.
4. Informierte Suche
--- Suche mit Vorwissen ---
Prof. Timm
13
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Wiederholung
Suche ohne Vorwissen generiert neue Zustände und
testet sie gegen das Ziel.
Meistens sehr ineffizient.
Problemspezifisches Wissen kann helfen, die Suche zu
beschleunigen.
Inhalt der Vorlesung
1.
2.
3.
4.
Prof. Timm
Informierte (heuristische) Suchstrategien
Heuristische Funktionen
Lokale Suchalgorithmen und Optimierungsprobleme
Zusammenfassung
14
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Bestensuche
GeneralSearch
Implementierung von Wissen in der Queuefunktion, die die Knoten
verwaltet und erweitert: Evaluationsfunktion.
Wenn Knoten der ‘Wertigkeit’ nach geordnet werden Bestensuche.
– Aber:
• Nur scheinbar der beste Knoten, eigentlich müsste es ‘Scheinbare
Bestensuche’ heißen.
• Erweiterung des allgemeinen Suchalgorithmus
Informierte Suchstrategien
Bestensuche
Evaluationsfunktion
Maß z.B. durch Pfadkosten g, aber: keine direkte Suche zum Ziel!
Zusätzliche Kostenfunktion
Sie ist notwendig für die Kostenschätzung vom gegenwärtigen Zustand
zum nächstgelegenen Zielzustand. Dazu gibt es zwei grundlegende
Ansätze:
– Erweiterung des Knotens, der dem Ziel am nächsten ist
Greedy Search
– Erweiterung des Knotens, der am wenigsten kostet
A*-Suche
Informierte Suchstrategien
Prof. Timm
15
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Greedy Search
•
Eine der einfachsten
Suchstrategien für Bestensuche
ist die Minimierung der
geschätzten Kosten.
Der Knoten, der durch die
Beurteilung am nächsten zum
Zielzustand ist, wird erweitert.
Eine Funktion, die diese Kosten
schätzt (und nicht kalkuliert!)
nennt man heuristische Funktion
(meistens mit h bezeichnet).
Beispiele:
– Weg von Arad nach Bukarest
– Maß: ?
h(n) = geschätzte Kosten des
billigsten Pfades vom Zustand am
Knoten n zum Zielzustand und es
gilt für den Zielzustand: h(n)=0
Informierte Suchstrategien
Greedy Search
Karte von Rumänien mit Straßendistanzen in km sowie Luftentfernung nach Bukarest.
• Wieso ist das eine gute Heuristik?
• Weg von Iasi nach Fagaras?
Informierte Suchstrategien
Prof. Timm
16
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Greedy Search
Zustände nach Greedy Search für Bukarest, Luftlinienentfernung als heuristische
Funktion h, die Knoten sind mit ihrem h-Wert bezeichnet.
Suchkosten? Optimal?
Informierte Suchstrategien
Greedy Search
Heuristik liefert hier
minimale Suchkosten
Lösung wird gefunden,
ohne dass ein Knoten
erzeugt wird, der nicht auf
dem Lösungspfad ist.
Aber: sie ist nicht optimal
Der Pfad über Fagaras ist
32km länger
•
Merke: Strategie versucht jederzeit, die Kosten zu minimieren, ohne die
Gesamtkosten bis ans Ende zu betrachten deswegen Greedy Search
(manche Autoren: Bestensuche oder Best-first)
Informierte Suchstrategien
Prof. Timm
17
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Greedy Search
Diskussion
Greedy Search ist ähnlich wie Tiefensuche (tiefer Pfad, zurück, wenn
Sackgasse), sie ist nicht optimal und nicht vollständig,
Worst-case Zeit- und Raumkomplexität: O(bm) mit m = maximale Tiefe
des Suchraums, aber h ist entscheidend!
Greedy Search neigt dazu, manchmal falsch zu starten (Iasi – Fagaras:
Sackgasse)
Lösung hier: erst einen suboptimalen Weg einschlagen, die
Heuristik „direkte Entfernung“ würde hier einen Knoten erzeugen,
der überflüssig ist.
...und wenn keine repeated states beachtet werden, kann es
oszillieren (zwischen Neamt und Iasi)
Aber: Greedy Algorithmen tendieren dazu, schnell Lösungen zu finden,
wenn auch nicht immer die optimale.
Informierte Suchstrategien
A*-Suche
Greedy Search:
minimiert Kosten zum Ziel mit h(n), aber:
nicht vollständig und nicht optimal
Uniform-cost Search:
minimiert Kosten bis n mit g(n)
Ist vollständig und optimal, kann aber ineffizient sein
Lösung: Kombination beider Ansätze
Geschätzte Kosten der billigsten Lösung durch den Knoten n:
f(n) = g(n) + h(n)
f(n) = geschätzte Kosten der billigsten Lösung durch n
Informierte Suchstrategien
Prof. Timm
18
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
A*-Suche
Minimale Pfadkosten: die A*-Suche
Restriktion: Funktion h, die die Kosten zum Ziel nicht überschätzt:
Eine derartige Funktion nennt man auch “admissible heuristic”,
zulässige (nicht überschätzende) Heuristik
Bsp.: die Luftlinienentfernung zweier Orte ist niemals länger als der
direkte Weg über die Straße.
Solche Heuristiken sind optimistisch, die realen Kosten werden in
der Regel höher sein.
Wenn h zulässig ist, wird f(n) niemals die realen Kosten der besten
Lösung durch n überschätzen.
Informierte Suchstrategien
A*-Suche
Zustände nach A*-Suche für Bukarest, die Knoten sind mit dem Wert der Funktion
f = g + h bezeichnet. Die h-Werte sind die Luftlinienentfernungen nach Bukarest von
vorhin.
Informierte Suchstrategien
Prof. Timm
19
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
A*-Suche
Monotonieverhalten
Kosten von f steigen kontinuierlich Monotonie (“consistent heuristic”)
• Beweis zur Optimalität
– Z1 ist optimales Ziel mit Pfadkosten f*
– Ein suboptimales Ziel Z2 ist generiert worden und ist in der
Queue; g(Z2) > f*
– Annahme: n ist ein noch nicht erweiterter Knoten auf dem
kürzesten Pfad zu einem optimalen Ziel Z1
k
n
– Weil h unterschätzt, ist f* ≥ f(n) und außerdem wenn n nicht
zur Erweiterung für Z2 gewählt ist, ist f(n) ≥ f(Z2)
– Kombination (Transitivität): f* ≥ f(Z2)
– Aber weil Z2 ein Zielzustand ist, ist h(Z2)=0 f(Z2)=g(Z2)
Z
Z
1
2
– Also: f* ≥ g(Z2) Widerspruch!
– Z2 ist nicht suboptimal, A* wählt deshalb nie Z2 aus.
Informierte Suchstrategien
A*-Suche
Wenn die Kosten f monoton steigen, dann kann man Konturen im Zustandsraum
zeichnen
Innerhalb der Kontur
420 sind alle f(n) <= 420
A* expandiert die Knoten
mit geringsten Kosten,
deswegen
konzentrische Bänder
Mit uniformer Kostensuche:
h(n)=0; Bänder werden Kreise
Je besser Heuristik, desto
enger werden Bänder
A* ist vollständig und optimal
f = 380, 400, 420 mit Arad als Startzustand
Informierte Suchstrategien
Prof. Timm
20
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Speicher-beschränkte heuristische Suche
Speicher-beschränkte Suche
Bei schweren Problemen gibt man meist zuviel Speicherplatz. Hier werden
zwei Methoden vorgestellt, die dem Einhalt gebieten können:
IDA*, eine logische Erweiterung von ID (iterative Deepening)
SMA*, ähnlich wie A*, aber mit einer stringenten Queue-Größe
Iterative Tiefensuche A* (IDA*)
Jede Iteration ist eine Tiefensuche mit f-Kostenschranke statt Tiefenlimit.
Jede Iteration expandiert alle Knoten innerhalb einer Kontur und schaut über
die Konturgrenze nach der nächsten Iteration.
IDA* ist vollständig und optimal, Raumkomplexität proportional dem längsten
explorierten Pfad:
seien δ die kleinsten Kosten eines Operators,
seien f* die optimale Kosten der Lösung, dann gilt:
IDA* benötigt bf*/δ Knoten im Speicher.
Eine gute Abschätzung ist bd
Informierte Suchstrategien
Speicher-beschränkte heuristische Suche
Simplified Memory-Bounded A* Suche (SMA*)
Folgende Eigenschaften zeichnen diese Suche aus:
Nutzt gesamten Speicher, der zur Verfügung steht
Vermeidet repeated states
Vollständig, solange genug Speicher für den flachsten Lösungsweg
vorhanden ist.
Optimal, solange genug Speicher für den flachsten Lösungsweg
vorhanden ist, ansonsten beste Lösung für verfügbaren Speicher.
Informierte Suchstrategien
Prof. Timm
21
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Speicher-beschränkte heuristische Suche
SMA* Suche
D,F,I,J sind Zielknoten
Jeder Knoten ist mit seinen fKosten beschrieben. In Klammern
der Wert des besten vergessenen
Nachfolger-Knotens.
Ziel: Finde den Zielknoten mit
den geringsten Kosten mit
genug Speicher für nur drei
Knoten.
Algorithmus:
Update die f-Kosten von A mit
dem Minimum seiner Kinder (13),
Speicher ist voll.
Addiere den Nachfolger am
billigsten Knoten (G).
F vom besten vergessenen Nachfolger
merken (15), B entfernen, H erweitern,
Speicher voll, H ist keine Lösung, H = f(G)=24, f(A)=15, f´(A)=24, I=Ziel, aber 24
B erweitern, C wie H, D erweitern, f(D)=20
f(A)=20, Suche beendet.
Informierte Suchstrategien
8-Puzzle: heuristische Funktionen
b ≈ 3, typische Lösung nach 20 Schritten
Erschöpfende Suche: 320 Zustände
Ohne repeated states nur 9!/2 = 181440
Ziel daher: gute Heuristik
h1: Zahl der Plättchen in falscher Position (unterschätzend?)
h2: Manhattan-Entfernung (City-Block Distance): Summe der Entfernungen der
Plättchen von ihren Endzuständen (unterschätzend?)
Heuristische Funktionen
Prof. Timm
22
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
8-Puzzle: heuristische Funktionen
H1 ist unterschätzend, weil jedes Plättchen,
daß an einer falschen Position ist,
mindestens einmal verschoben werden
muss, h1 wäre hier 7.
H2 ist unterschätzend, weil jeder Schritt nur
ein Plättchen einen Schritt weiter zum Ziel
bringen, h2 = 2+3+3+2+4+2+0+2=18.
Qualität einer Heuristik:
Ein Weg, die Qualität der Heuristik zu bestimmen ist der effektive
Verzweigungsfaktor b*.
Sei n die Anzahl der durch A* expandierten Knoten, d die Lösungstiefe,
dann ist b* der Verzweigungsfaktor, den ein gleichmäßiger Baum der Tiefe d
mit n Knoten hätte, n + 1 = 1 + b* + (b*)2 +…+ (b*)d
Heuristische Funktionen
Qualität heuristischer Funktionen
Beispiel: wenn die Tiefe 5 ist und die Anzahl der Knoten 52, dann ist der effektive
Verzweigungsfaktor 1.91
100 zufällig generierte Probleme des 8-Puzzles mit variabler Lösungslänge
Tabelle zeigt die Anzahl der Knoten, die erweitert werden und die Verzweigungsfaktoren.
h2 ist besser als h1 (h2 dominiert h1),
iterative Tiefensuche (uninformiert) ist viel schlechter.
Heuristische Funktionen
Prof. Timm
23
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Heuristiken entwickeln
Relaxierte Probleme
Lernen aus Erfahrung
Annahme: Puzzle-Regeln wären
einfacher (z.B. Plättchen können
überall hin geschoben werden)
h1 wäre dann keine Schätzung
mehr, sondern würde beste
Lösung liefern
Problem mit weniger
Restriktionen auf den Aktionen
heisst relaxiertes Problem
Kosten für optimale Lösung
eines relaxierten Problems ist
eine unterschätzende Heuristik
für Originalproblem
h(n) ist eine
Schätzkostenfunktion von
Initialzustand bis zur Lösung
Idee: Lösen vieler Puzzles und
Verwendung dieser Lösungen
als Lernbasis
Jedes Beispiel besteht aus dem
Zustand der Lösung und der
dazu gehörigen Kosten
Induktive Lernalgorithmen
können jetzt eingesetzt werden
(KNN, DTs, RL)
Heuristische Funktionen
Lokale Suche
Bisher: systematisches
Durchsuchen des
Zustandsraumes.
Pfade werden teilweise im
Speicher gehalten und zur
Laufzeit werden neue Teilpfade
generiert
Wenn Ziel gefunden ist, ist der
Pfad die Lösung des Problems
Bei vielen Problemen ist der Pfad
nebensächlich, nur das Erreichen
des Zieles ist entscheidend (Bsp.:
8-Damen Problem)
Andere Klasse von Algorithmen:
lokale Suchalgorithmen, ein
einzelner Zustand wird im
Speicher gehalten und man
bewegt sich im Zustandsraum auf
der Basis lokaler Informationen.
Keine Pfade!
Zwei Vorteile:
meistens wenig
Speicherverbrauch
häufig gute Lösungen in großen
oder kontinuierlichen Suchräumen
Lokale Suchalgorithmen
Prof. Timm
24
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Optimierungsprobleme
Derartige Algorithmen sind gut für Optimierungsprobleme geeignet,
d.h. finde den besten Zustand anhand einer Zielfunktion
• „Landschaft“ (2D)
– globales Minimum, Maximum
– vollständiger lokaler
Suchalgorithmus findet
Lösung, wenn sie existiert
– Optimaler Algorithmus findet
globales Minimum
Lokale Suchalgorithmen
Vier Algorithmen
Hill-climbing (Gradient descent)
Simulated Annealing
Local Beam Suche
Genetische Algorithmen
Lokale Suchalgorithmen
Prof. Timm
25
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Hill-Climbing Suche
Schleife, die dem höchsten Wert
folgt (aufwärts)
Terminiert, wenn „höchster“ Wert
erreicht ist
Kein Suchbaum
Beispiel: 8 Damen
h=17, beste Nachfolger
haben h=12
• Zustand hat 8 Damen auf Brett,
eine pro Spalte
• Nachfolgerfunktion liefert alle
möglichen Zustände, die durch
Ziehen einer Dame in der gleichen
Spalte generiert werden (8x7=56)
• h = Anzahl von Damenpaaren, die
sich gegenseitig attackieren
• Globales Minimum ist 0
Lokales Minimum, h=1,
jeder Nachfolger hat
hohe Kosten
Lokale Suchalgorithmen
Hill-Climbing Suche
Probleme:
Lokale Minima Lösung supoptimalen
Nachfolger wählen
Grate (Kammlinien lokaler Maxima)
Plateaus zufälligen Nachfolger
Diskussion:
8-Damen Problem wird in 14% aller Fälle gelöst, wenn zufällig gestartet
wird, 86% Problemfälle
Wenn Lösung, dann ist sie schnell, im Mittel nach vier Schritten
Wenn nicht, dann bleibt man nach drei Schritten stecken
aber: bei 88 ~ 17 Millionen Zuständen ist das nicht schlecht!
Nicht vollständig
Vermeidung der Nachteile durch zufälliges Neustarten...
Wichtig in der Praxis!
Lokale Suchalgorithmen
Prof. Timm
26
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Simulated Annealing
Hill-Climbing nicht vollständig aber effizient, Kontrast: zufällige Auswahl ist
vollständig aber nicht effizient
Idee der Kombination: Simulated Annealing
Bewusstes Verlassen eines lokalen Maximums in „falsche Richtung“
Innere Schleife wie Hill-Climbing
Anstatt die beste, eine zufällige Auswahl des nächsten Zuges:
• Wenn der Zug die Situation
verbessert: ausführen,
• Wenn nicht: sonst. Zug mit
gewisser Wahrscheinlichkeit
<1 ausführen; die
Wahrscheinlichkeit vermindert
sich exponentiell mit der
“Schlechtheit” des Zuges: ∆E
Lokale Suchalgorithmen
Simulated Annealing
Der Parameter T wird benutzt, um die Wahrscheinlichkeit zu
bestimmen: bei höheren Werten von T sind auch schlechtere Züge
möglich
Parameter schedule: bestimmt T aufgrund der bisher abgearbeiteten
Zyklen.
Annealing: graduelle Abkühlung von Flüssigkeiten
Value-Funktion korrespondiert zur Energie der Atome
T zur Temperatur
Schedule bestimmt die Abnahme der Temperatur
Lokale Suchalgorithmen
Prof. Timm
27
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Local Beam Suche
Pfad-basierter Algorithmus
Nicht nur ein einzelner Zustand im Speicher, sondern k
In jedem Schritt werden alle Nachfolger für die k Zustände generiert,
wenn Ziel erreicht ist stop
Sonst: wähle die besten k Nachfolger aus und mache weiter
Anders als SA, weil wir k Pfade haben. Bsp.: wenn ein Zustand gute
Nachfolger generiert und für die anderen k-1 nicht klar ist, in welche
Richtung gegangen wird
Local Beam Suche kann sich schnell in Regionen verlieren
Abhilfe: Stochastic Beam Suche
anstatt die besten k Nachfolger werden zufällig k Nachfolger gewählt
Stichworte: natürliche Auslese, Offspring, Organismus
Lokale Suchalgorithmen
Genetische Algorithmen
GA ist Variante von Local Beam Suche
Nachfolger wird aus zwei Vorgängerzuständen erzeugt
Evolution ist Pate, deswegen der Name
– a) k zufällige Zustände am Anfang (Population), jeder Zustand (Individuum) ist ein
String über einem endlichen Alphabet (Bsp.: 8-Damen Problem 8 digits, jedes digit
zwischen 1 und 8
– b) Evaluationsfunktion oder hier: Fitnessfunktion (höhere Werte für bessere
Zustände), im Bsp.: Anzahl der attackierenden Damen, 28 ist Lösung
Lokale Suchalgorithmen
Prof. Timm
28
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Genetische Algorithmen
c) Reproduktionsschritt, zwei Zustände werden zufällig ausgewählt (nach
Wahrscheinlichkeiten), hier ein Zustand 2x, ein anderer überhaupt nicht
d) Für jedes Paar crossover point zufällig wählen. Nachfolger werden dann
gemischt
e) Mutation zufällig mit kleiner unabhängigen Wahrscheinlichkeit
Lokale Suchalgorithmen
Beispiel zu GA
Zwei Eltern (wie (c)) und ein Nachfolger
Lokale Suchalgorithmen
Prof. Timm
29
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
GA Diskussion
Kombination von hillclimbing und zufälliger
Auswahl
Vorteil (wenn überhaupt
nachweisbar) durch
crossover
Mathematisch
nachweisbar, das
crossover nichts bringt,
wenn die digits am Anfang
zufällig sind
Praxisbedeutung groß bei
Optimierungsproblemen
(circuit layouts, scheduling)
Lokale Suchalgorithmen
Zusammenfassung
Prof. Timm
Heuristiken werden benutzt, um die Kosten der Suche zu minimieren.
Bestensuche ist GeneralSearch, bei der die Knoten mit den minimalen Kosten
zuerst erweitert werden.
Wenn man die geschätzten Kosten zum Erreichen des Zieles minimiert (h(n)),
bekommt man greedy search (GS). Die Suche ist i.d.R. besser als uninformierte
Algorithmen, aber GS ist weder vollständig noch optimal.
Die Minimierung von f(n) = g(n) + h(n) kombiniert die Vorteile von uniform-costsearch und greedy search. Wenn man garantiert, dass h(n) nicht überschätzt wird
und repeated states beachtet werden, bekommt man A*-Suche.
A* ist vollständig und optimal.
Die Zeitkomplexität hängt von der Wahl der Heuristik ab.
Man kann den Speicherplatz reduzieren, in dem man speicher-beschränkte
Algorithmen verwendet (IDA*, SMA*).
30
Einführung in die Methoden der Künstlichen
Intelligenz
SoSe 2007
Zusammenfassung
Prof. Timm
Lokale Suchalgorithmen behalten immer nur einen Zustand im Speicher,
können aber auf lokalen Maxima stehen bleiben (Hill-Climbing). Mit Simulated
Annealing (SA) ist ein stochastisches Verfahren entwicklt worden, um dieses zu
verhindern (mit Temperatur). SA ist vollständig und optimal.
Genetische Algorithmen ist stochastische Hill-Climbing Suche mit einer großen
Anzahl von Individuen in einer Population. Neue Zustände werden durch
Crossover und Mutation erzeugt.
31
Herunterladen