suchstrategien greedy- suche uniform- cost- suche tiefensuche a*- suche breitensuche zerind sibiu...

30
Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuc he A*- Suche Breitensuch e Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitest i Buchares t Suchstrateg ien Prof. Dr. Bernd Schmidt Lehrstuhl für Operations Research und Systemtheorie, Universität Passau

Upload: haimo-apfel

Post on 06-Apr-2015

117 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 2: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 3: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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▼

Page 4: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 5: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 6: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 7: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 8: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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:

Page 9: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 10: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 11: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 12: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 13: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 14: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 15: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 16: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti 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

Page 17: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 18: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 19: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 20: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 21: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 22: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 23: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 24: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 25: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 26: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 27: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 28: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 29: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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

Page 30: Suchstrategien Greedy- Suche Uniform- Cost- Suche Tiefensuche A*- Suche Breitensuche Zerind Sibiu Timisoara Arad Oradea Riminicu V. Fagaras Pitesti Bucharest

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