suchstrategien greedy- suche uniform- cost- suche tiefensuche a*- suche breitensuche zerind sibiu...
TRANSCRIPT
Suchstrategien
Greedy- Suche
Uniform- Cost- Suche
Tiefensuche
A*- Suche
Breitensuche
Zerind
Sibiu
Timisoara
Arad
Oradea
Riminicu V.
Fagaras
PitestiBucharest
Suchstrategien
Prof. Dr. Bernd SchmidtLehrstuhl für Operations Research und Systemtheorie, Universität Passau
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 2
Gliederung
1. Einführung
2. Suchstrategien: Breitensuche
Tiefensuche
Uniform Cost Suche
Greedy- Suche
A*- Suche
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 3
Ein Plan ist eine Abfolge von Aktionen, die einen Anfangszustand A durch Ausführung von Aktionen über Zwischenzustände Z in einen Endzustand E überführt.
A E
Definitionen Plan
Ein Zustand ist eine Menge von Zustandsvariablen.
Z A
Ex1=e1
x2=e2 .
..xn=en
Im Endzustand besitzen alle Zustandsvariablen den richtigen Wert.
x1= a1
x2= z1
...
xn= an
x1= z1
xn= zn
x2= a1
...
Anfangszustand
Zwischenzustand
Endzustand
Zustand der Umwelt vor Beginn der Abarbeitung des Plans
Zustand der nach Erreichen des Ziels eingenommen werden soll
ZF▼ F▲
KF▼
ZF▲ WF▼ F▲ ZF▼
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 4
Bewertungskriterien
- Vollständigkeit
Wird eine Lösung garantiert gefunden, wenn es eine gibt?
- Zeitkomplexität
Innerhalb welcher Schranken bewegt sich die Dauer zur Ermittlung eines Ergebnisses?
- Speicherkomplexität
Innerhalb welcher Schranken bewegt sich der Verbrauch an Speicherplatz?
- Optimalität (bzgl. der Pfadkosten)
Wird eine beste Lösung gefunden, wenn eine existiert?
Suchstrategien Bewertungskriterien
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 5
Suchstrategien Klassifikation
Klassifikation von Suchstrategien
- blinde Suche:
- Breitensuche
- Tiefensuche
- Uniform Cost Suche
- Tiefenbeschränkte Suche
- Informierte Suche:
- Greedy Suche
- A*- Suche
kein Wissen über die Richtung zum Ziel vorhanden
Zielrichtung ist bekannt, Verarbeitung in heuristischer Funktion
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 6
Suchstrategien Datenstrukturen
Datenstrukturen für Suchbäume
Knoten {
Zustand // Zustand, der dem Knoten entspricht
Mutterknoten // Verweis auf den erzeugenden Konten
Operator // erzeugender Operator
Tiefe
Pfadkosten // aufsummiert, beginnend am Anfangszustand
}
Kanten = Übergänge zwischen den Knoten
= Zustände
= Aktionen
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 7
Suchstrategien Netz aus Knoten und Kanten
Arad
Zerind
Oradea
Sibiu
Riminicu V.Timisoara
Lugoj
Mehadia
Fagaras
Pitesti
Dobreta
Craiova
UrziceniBucharest
Giurgiu
Hirsova
Vasuli
Iasi
Neamt
Eforie
KantenKnoten
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 8
Suchstrategien Wegsuche in Rumänien
Zerind
Sibiu
Timisoara
Arad
Oradea
Riminicu V.
Fagaras
Arad
ZerindSibiuTimisoara
Expandieren des Anfangszustandes:
Wie gelangt man zum Strassennetz?
Expandieren!
Alle möglichen Aktionen
ausführen, die von einem
Zustand aus ausführbar sind.
Beispiel:
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 9
Suchstrategien Blinde Suche: Wegsuche in Rumänien
Zerind
Sibiu
Timisoara
Arad
Oradea
Riminicu V.
Fagaras
Arad
ZerindSibiuTimisoara
Expandieren des Anfangszustandes:
Bewertung + Auswahl: Welcher Knoten soll als nächster expandiert werden?
Blinde Suche: alle drei Knoten sind gleichberechtigt
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 10
Suchstrategien Informierte Suche: Wegsuche in Rumänien
Zerind
Sibiu
Timisoara
Arad
Oradea
Riminicu V.
Fagaras
Arad
ZerindSibiuTimisoara
Expandieren des Anfangszustandes:
Bewertung + Auswahl: Welcher Knoten soll als nächster expandiert werden?
Informierte Suche: Zusatzinformation wird verarbeitet:
z.B. Sibiu liegt in Richtung Bucharest, daher Sibiu zuerst expandieren
N
S
OW
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 11
Suchstrategien Queue
Organisation der Daten
Eine Queue ist eine Warteschlange für zu expandierende Knoten.
Suchstrategien unterscheiden sich durch…
- …den Mechanismus, der die Reihenfolge zu expandierender Knoten festlegt
- …den Mechanismus, der entscheidet, an welcher Stelle die noch zu
expandierenden Knoten in die Queue eingereiht werden.
Queue
expandieren
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 12
Suchstrategien Queue
Organisation der Queue
- Wird ein Knoten expandiert, so werden die Tochterknoten am Ende der
Queue angehängt.
- Der expandierte Knoten wird aus der Queue entfernt.
- Die Queue wächst am hinteren Ende.
Queue
expandieren
d d d d+1 d+1
Tiefe d
Tiefe d+1
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 13
Gliederung
1. Einführung
2. Suchstrategien: Breitensuche
Tiefensuche
Uniform Cost Suche
Greedy- Suche
A*- Suche
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 14
Suchstrategien Beispiel Breitensuche
Breitensuche: in einer Ebene werden die Knoten von links nach rechts aufgefüllt
1 2 3
4 5 6
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 15
Suchstrategien Breitensuche: Wegsuche in Rumänien
Arad
Zerind
Oradea
Sibiu
Riminicu V.Timisoara
Lugoj
Mehadia
Fagaras
Pitesti
Dobreta
Craiova
UrziceniBucharest
Giurgiu
Hirsova
Vasuli
Iasi
Neamt
Eforie
Aufgabe: finde einen Weg von Arad nach Bucharest
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 16
Suchstrategien Breitensuche: Wegsuche in Rumänien
Arad
ZerindSibiuTimisoara
QueueArad
1. Anfangsknoten mit Anfangszustand Arad
2. Nach der Expansion von Arad
Arad
QueueSibiu ZerindTimisoara
3. Nach der Expansion von Timisoara
ZerindSibiuTimisoara
AradQueue
Lugoj
Sibiu Zerind Lugoj
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 17
Gliederung
1. Einführung
2. Suchstrategien: Breitensuche
Tiefensuche
Uniform Cost Suche
Greedy- Suche
A*- Suche
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 18
Suchstrategien Beispiel Tiefensuche
1 2 3 4 5
Tiefensuche: alle Knoten eines Pfades werden bis zur maximalen Tiefe expandiert
6 7 8
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 19
Suchstrategien Tiefensuche: Wegsuche in Rumänien
Arad
Timisoara
QueueArad
1. Anfangsknoten mit Anfangszustand Arad
2. Nach der Expansion von Arad
Arad
QueueTimisoara
3. Nach der Expansion von Timisoara
Timisoara
AradQueue
Lugoj
Lugoj
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 20
Gliederung
1. Einführung
2. Suchstrategien: Breitensuche
Tiefensuche
Uniform Cost Suche
Greedy- Suche
A*- Suche
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 21
Suchstrategien Uniform Cost Suche
Uniform Cost Suche (Blinde Suche)
- Modifizierte Breitensuche
- Einführung von Pfadkosten direkter Verbindungen durch Pfadkostenmatrix
- Knoten mit den geringsten Pfadkosten werden zuerst expandiert
Arad Zerind Sibiu Timisoara ...
Arad 0 75 140 118 ...
Zerind 75 0 - - ...
Sibiu 140 - 0 - ...
Timisoara 118 - - 0 ...
... ... ... ... ... 0
Zusatzinformation: Pfadkostenmatrix
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 22
Suchstrategien Uniform Cost Suche
Organisation der Queue
- Neu generierte Knoten werden derart eingefügt, dass die Knoten bezüglich
ihrer Pfadkosten aufsteigend sortiert sind.
expandieren
75 118 140
2
118 140 75
146
Queue
Zerind Sibiu Timisoara
Oradea
146
Timisoara Sibiu OradeaZerind
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 23
Suchstrategien Uniform Cost Suche: Wegsuche in Rumänien
Uniform Cost Suche
Arad QueueArad
QueueSibiuZerind Timisoara
Arad
Zerind 75Sibiu 140Timisoara 118
QueueSibiuTimisoara
Arad
Zerind 75Sibiu 140Timisoara 118
Oradea 146
Oradea
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 24
Suchstrategien Uniform Cost Suche
Uniform Cost Suche
Arad
Zerind 75Sibiu 140Timisoara 118
QueueSibiu Lugoj
Oradea 146
Oradea
Lugoj 229
Arad
Zerind 75Sibiu 140Timisoara 118
QueueRiminicu V. Lugoj
Oradea 146
Oradea
Lugoj 229 Riminicu V. 220 Fagaras 239
Fagaras
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 25
Gliederung
1. Einführung
2. Suchstrategien: Breitensuche
Tiefensuche
Uniform Cost Suche
Greedy- Suche
A*- Suche
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 26
Suchstrategien Greedy Suche
Greedy Suche
- Informierte Suche
- Bewertungsfunktion: Heuristik h: Knoten Int
ermittelt die (geschätzte) Entfernung eines Knotens (= Zustand)
zum Ziel
Expandieren von Knoten
- Expandiert wird der Knoten, dem die geringste geschätzte Entfernung zum Ziel
zugeschrieben wird.
Eigenschaften
- Nicht vollständig
- Nicht optimal
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 27
Suchstrategien Greedy Suche
Greedy Suche
Arad 366 QueueArad
QueueSibiu ZerindTimisoara
QueueZerindTimisoara
Arad
Zerind 374Sibiu 253Timisoara 329
Oradea
Arad
Zerind 374Sibiu 253Timisoara 329
Oradea 380 Arad 366Fagaras 178Riminicu V. 193
Fagaras Riminicu V. Arad
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 28
Gliederung
1. Einführung
2. Suchstrategien: Breitensuche
Tiefensuche
Uniform Cost Suche
Greedy- Suche
A*- Suche
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 29
Suchstrategien A*- Suche
A*- Suche
- Kombination von Uniform Cost Suche und Greedy Suche
- Bewertung der Knoten: Heuristik h(n) = f(n) + g(n)
- Dabei: f(n) = Summe der Strassenkilometer (Arad Ortn) (Uniform Cost Suche)g(n) = Luftliniendistanz (Ortn Bucharest) (Greedy- Suche)
Eigenschaften
- Vollständig.
- Optimal.
Organisation der Queue
- Neu generierte Knoten werden derart eingefügt, dass die Knoten bezüglich
ihrer Pfadkosten aufsteigend sortiert sind- Analog zur Uniform Cost Suche, Greedy- Suche
Lehrstuhl für Operations Research und Systemtheorie Planen Folie 30
Suchstrategien A*- Suche
A*- Suche 0 Arad 366
366
QueueArad
QueueSibiu ZerindTimisoara
Arad
75 Zerind 374
449
140 Sibiu 253
393
118 Timisoara 329
447
QueueZerindTimisoara Oradea
146 Oradea 380
526
239 Fagaras 178
417
220 Riminicu V. 193
413
FagarasRiminicu V. Arad
280 Arad 366
646
Arad
75 Zerind 374
449
140 Sibiu 253
393
118 Timisoara 329
447