Einführung in die Informatik I Prof. Dr. Bernd Schmidt Lehrstuhl für Operations Research und...

Preview:

Citation preview

Einführung in die Informatik I

Prof. Dr. Bernd SchmidtLehrstuhl für Operations Research und Systemtheorie, Universität Passau

Planung

Planung

Planung

Planung

Planung

Planung

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 2

Gliederung

1. Einführung: Probleme

2. Definitionen: Zustand

Plan

3. Suchstrategien: Breitensuche

Tiefensuche

Uniform Cost Suche

Greedy- Suche

A*- Suche

4. Planung: Bedingungsabhängige Aktionen

Verbotene Zustände

5. Anwendung: Beispiel Ziege, Kohlkopf und Wolf

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 3

Gliederung

1. Einführung: Probleme

2. Definitionen: Zustand

Plan

3. Suchstrategien: Breitensuche

Tiefensuche

Uniform Cost Suche

Greedy- Suche

A*- Suche

4. Planung: Bedingungsabhängige Aktionen

Verbotene Zustände

5. Anwendung: Beispiel Ziege, Kohlkopf und Wolf

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 4

Einführung Labyrinth

Aufgabe: finde einen Weg von einem gegebenen Startpunkt zu einem Ausgang

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 5

Einführung Aktionsrepertoire und Strategie: Labyrinth

Die Knoten sind Punkte, an denen sich der Agent zu bestimmten Zeitpunkten befindet.

An jedem Knoten stehen dem Agenten unterschiedliche Handlungsoptionen zur Verfügung.

Mögliche Aktionen:

gehe

Strategie:

versuche

1: links

2: vorwärts

3: zurück

4: rechts

vorwärts

rechtslinks

zurück

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 6

Einführung Labyrinth

1. Versuch:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 7

Einführung Labyrinth

2. Versuch:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 8

Einführung Labyrinth

3. Versuch:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 9

Einführung Ziege, Kohlkopf und Wolf

Aufgabe:

- Fährmann muss Ziege, Kohlkopf und Wolf von einem Ufer zum anderen transportieren

Regeln:- Fähre: Fährmann + ein Passagier

- bleiben Ziege und Kohlkopf an einem Ufer zurück, so wird der Kohlkopf gefressen

- bleiben Wolf und Ziege an einem Ufer zurück, so wird die Ziege gefressen

Notation:

- Fährmann fährt alleine nach oben:

- Wolf und Fährmann fahren nach unten:

F▲

WF▼

Wolf:

Ziege:

Kohlkopf:

Z

K

W

Bewegung der Fähre: ▲, ▼

Beispiele:

Fährmann: F

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 10

Einführung Ziege, Kohlkopf und Wolf

1. Versuch:

ZF▼Notation:

ZF▼1:

Aktionsfolge:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 11

Einführung Ziege, Kohlkopf und Wolf

1. Versuch:

Notation: F▲

1:

2:F▲

ZF▼

Aktionsfolge:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 12

Einführung Ziege, Kohlkopf und Wolf

1. Versuch:

Notation: KF▼

1:

2:F▲

ZF▼

3:KF▼

Aktionsfolge:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 13

Einführung Ziege, Kohlkopf und Wolf

1. Versuch:

Notation: F▲

1:

2:F▲

ZF▼

3:KF▼

4:F▲

Aktionsfolge:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 14

Einführung Ziege, Kohlkopf und Wolf

2. Versuch:

ZF▼Notation:

ZF▼1:

Aktionsfolge:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 15

Einführung Ziege, Kohlkopf und Wolf

2. Versuch:

Notation: F▲

1:

2:F▲

ZF▼

Aktionsfolge:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 16

Einführung Ziege, Kohlkopf und Wolf

2. Versuch:

Notation: KF▼

1:

2:F▲

ZF▼

3:KF▼

Aktionsfolge:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 17

Einführung Ziege, Kohlkopf und Wolf

2. Versuch:

Notation: ZF▲

1:

2:F▲

ZF▼

3:KF▼

4:ZF▲

Aktionsfolge:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 18

Einführung Ziege, Kohlkopf und Wolf

2. Versuch:

Notation: WF▼

1:

2:F▲

ZF▼

3:KF▼

4:ZF▲

5:WF▼

Aktionsfolge:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 19

Einführung Ziege, Kohlkopf und Wolf

2. Versuch:

Notation: F▲

1:

2:F▲

ZF▼

3:KF▼

4:ZF▲

5:WF▼

6:F▲

Aktionsfolge:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 20

Einführung Ziege, Kohlkopf und Wolf

2. Versuch:

Notation: ZF▼

1:

2:F▲

ZF▼

3:KF▼

4:ZF▲

5:WF▼

6:F▲

7:ZF▼

Aktionsfolge:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 21

Einführung Ziege, Kohlkopf und Wolf

A Z1

Z5

Z4

Z3

Z2

Z6 E

ZF▼ F▲ KF▼

ZF▲

WF▼ F▲ ZF▼

Plan

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 22

Gliederung

1. Einführung: Probleme

2. Definitionen: Zustand

Plan

3. Suchstrategien: Breitensuche

Tiefensuche

Uniform Cost Suche

Greedy- Suche

A*- Suche

4. Planung: Bedingungsabhängige Aktionen

Verbotene Zustände

5. Anwendung: Beispiel Ziege, Kohlkopf und Wolf

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 23

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 Planung Folie 24

Gliederung

1. Einführung: Probleme

2. Definitionen: Zustand

Plan

3. Suchstrategien: Breitensuche

Tiefensuche

Uniform Cost Suche

Greedy- Suche

A*- Suche

4. Planung: Bedingungsabhängige Aktionen

Verbotene Zustände

5. Anwendung: Beispiel Ziege, Kohlkopf und Wolf

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 25

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 Planung Folie 26

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 Planung Folie 27

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 Planung Folie 28

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 Planung Folie 29

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 Planung Folie 30

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 Planung Folie 31

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 Planung Folie 32

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 Planung Folie 33

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 Planung Folie 34

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 Planung Folie 35

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 Planung Folie 36

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 Planung Folie 37

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 Planung Folie 38

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 Planung Folie 39

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 Planung Folie 40

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 Planung Folie 41

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 Planung Folie 42

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 Planung Folie 43

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 Planung Folie 44

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 Planung Folie 45

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 Planung Folie 46

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

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 47

Gliederung

1. Einführung: Probleme

2. Definitionen: Zustand

Plan

3. Suchstrategien: Breitensuche

Tiefensuche

Uniform Cost Suche

Greedy- Suche

A*- Suche

4. Planung: Bedingungsabhängige Aktionen

Verbotene Zustände

5. Anwendung: Beispiel Ziege, Kohlkopf und Wolf

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 48

Planung Zusammenschau

• Anfangszustand A, Endzustand E• Zustandsmenge Z• Aktionsmenge O

• Einschränkungen– Bedingungsabhängige Aktionen– Verbotene Zustände

…a1 an

A E

Ein Plan ist eine Abfolge von Aktionen, die einen Anfangszustand durch Ausführung von Aktionen in einen Endzustand überführt.

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 49

Planung Einschränkungen

Einschränkungen

Verbotene Zustände- Dürfen durch Ausführung von Aktionen zu keiner Zeit eingenommen werden

A Z1 Z4Z3Z2ZF▼ F▲ KF▼ F▲

Verbotener Zustand:

Fährmann lässt Ziege und

Kohlkopf am selben Ufer zurück

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 50

Planung Einschränkungen

Bedingungsabhängige Aktionen

- Dürfen nur ausgeführt werden, wenn alle Vorbedingungen erfüllt sind, die

an die Aktion gebunden sind.

Einschränkungen

Notation

Boot obenBedingung(en):

(Fähre runter)

Bedingungen werden an Aktion gebunden

F▼

Boot oben

F▼Aktion: (Fähre runter)

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 51

Planung Breitensuche: Beispiel

Beispiel: arithmetische Umformung

A = 1

B = 2

C = 3

Aktionsmenge O:

A = 10

B = 5

C = 6

Startzustand Zielzustand

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Verbotene Zustände:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 52

Planung Breitensuche: Beispiel

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 53

Planung Breitensuche: Bedingungsabhängige Aktionen

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A = 4

B = 3

C = 4

A > 0

A=A+3

B=B+1

C=C+1

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 54

Planung Breitensuche: Bedingungsabhängige Aktionen

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 55

Planung Breitensuche: Bedingungsabhängige Aktionen

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 56

Planung Breitensuche: Bedingungsabhängige Aktionen

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 6

B = 6

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

C > 3

A=A+2

B=B+3

C=C

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 57

A = 6

B = 6

C = 4

Planung Breitensuche: Verbotene Zustände

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

Verbotener Zustand

C > 3

A=A+2

B=B+3

C=C

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 58

A = 6

B = 6

C = 4

Planung Breitensuche: Verbotene Zustände

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

Verbotener Zustand

C > 3

A=A+2

B=B+3

C=C

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 59

Planung Breitensuche: Bedingungsabhängige Aktionen

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A > 0

A=A+3

B=B+1

C=C+1

A = 6

B = 2

C = 5

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 60

Planung Breitensuche: Bedingungsabhängige Aktionen

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A > 0

A=A+3

B=B+1

C=C+1

A = 6

B = 2

C = 5

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

A = 5

B = 0

C = 5

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 61

Planung Breitensuche: Bedingungsabhängige Aktionen

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A > 0

A=A+3

B=B+1

C=C+1

A = 6

B = 2

C = 5

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A = 5

B = 4

C = 4

A = 5

B = 0

C = 5

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 62

Planung Breitensuche: Bedingungsabhängige Aktionen

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A > 0

A=A+3

B=B+1

C=C+1

A = 6

B = 2

C = 5

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A = 5

B = 4

C = 4

A = 5

B = 0

C = 5

A = 9

B = 7

C = 5

C >3

A=A+2

B=B+3

C=C

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 63

Planung Breitensuche: Verbotene Zustände

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A > 0

A=A+3

B=B+1

C=C+1

A = 6

B = 2

C = 5

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A = 5

B = 4

C = 4

A = 5

B = 0

C = 5

A = 9

B = 7

C = 5

C >3

A=A+2

B=B+3

C=C Verbotener Zustand

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 64

Planung Breitensuche: Verbotene Zustände

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A > 0

A=A+3

B=B+1

C=C+1

A = 6

B = 2

C = 5

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A = 5

B = 4

C = 4

A = 5

B = 0

C = 5

A = 9

B = 7

C = 5

C >3

A=A+2

B=B+3

C=C Verbotener Zustand

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 65

Planung Breitensuche: Bedingungsabhängige Aktionen

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A > 0

A=A+3

B=B+1

C=C+1

A = 6

B = 2

C = 5

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A = 5

B = 4

C = 4

A = 5

B = 0

C = 5

A = 10

B = 5

C = 6

A > 0

A=A+3

B=B+1

C=C+1

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 66

Planung Breitensuche: Bedingungsabhängige Aktionen

Beispiel: arithmetische UmformungA = 1

B = 2

C = 3

A = 4

B = 3

C = 4

A = 3

B = 1

C = 4

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

Aktionsauswahl:A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B- 1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A > 0

A=A+3

B=B+1

C=C+1

A = 6

B = 2

C = 5

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

B < 3

A=A+2

B=B-1

C=C+1

C > 3

A=A+2

B=B+3

C=C

A = 5

B = 4

C = 4

A = 5

B = 0

C = 5

A = 10

B = 5

C = 6

A > 0

A=A+3

B=B+1

C=C+1

Zielzustand erreicht

Verbotene Zustände:

A = 6

B = 6

C = 4

A = 9

B = 7

C = 5

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 67

Gliederung

1. Einführung: Probleme

2. Definitionen: Zustand

Plan

3. Suchstrategien: Breitensuche

Tiefensuche

Uniform Cost Suche

Greedy- Suche

A*- Suche

4. Planung: Bedingungsabhängige Aktionen

Verbotene Zustände

5. Anwendung: Beispiel Ziege, Kohlkopf und Wolf

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 68

Anwendung Ziege, Kohlkopf und Wolf

Notation:

Wolf:

Ziege:

Kohlkopf:

Z

K

W

Bewegung der Fähre: ▲, ▼

Startzustand:Z = oK = oW = oF = o

Erinnerung: Weder Ziege und Kohlkopf, noch Ziege und Wolf dürfen vom Fährmann am selben Ufer zurückgelassen werden!

Fährmann: F

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 69

Anwendung Ziege, Kohlkopf und Wolf

Modellierung der Zustände

Z K W FZ K W FZ K F WZ K W FZ W F KZ W K FZ F K WZ K W F

K W F ZK W Z FK F Z WK Z W F

W F Z KW Z K F

F Z K WZ K W F

Ôben o Unten u

Zustände:

Start-Zustand

End-Zustand

Z = oK = oW = oF = o

Z = uK = uW = uF = u

Z = oK = uW = uF = o

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 70

Anwendung Ziege, Kohlkopf und Wolf

Notation: F▲

1:

2:F▲

ZF▼

Aktionsfolge:

Zustand:Z = uK = oW = oF = u

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 71

Anwendung Ziege, Kohlkopf und Wolf

Einschränkungen

Verbotene Zustände:

Z = oK = oW = oF = u

Z = oK = uW = oF = u

Z = oK = oW = uF = u

Z = uK = uW = oF = o

Z = uK = oW = uF = o

Alle an einem Ufer, ohne Fährmann

Ziege und Wolf oben, Fährmann unten

Ziege und Wolf unten, Fährmann oben

Ziege und Kohlkopf oben, Fährmann unten

Ziege und Kohlkopf unten, Fährmann oben

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 72

Anwendung Ziege, Kohlkopf und Wolf

Einschränkungen

Bedingungsabhängige Aktionen:

F▲

Fu

F ▼

Fo

W F▼

FoWo

Soll sich der Fährmann nach oben bewegen, so muss sich die Fähre zuerst unten befinden…

...ebenso in die umgekehrte Richtung...

... soll er dabei einen Passagier transportieren, so muss sich dieser am selben Ufer wie die Fähre befinden...

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 73

Anwendung Ziege, Kohlkopf und Wolf

Zustandsübergang

Z = uK = oW = oF = o

Z = uK = uW = oF = u

KF▼

FoKo

- Fährmann transportiert den Kohlkopf von oben nach unten

unter Einhaltung aller Bedingungen:

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 74

Anwendung Breitensuche: Ziege, Kohlkopf und Wolf

Suchbaum Z = oK = oW = oF = o

Z = oK = oW = oF = u

Z = uK = oW = oF = u

Z = oK = uW = oF = u

Z = oK = oW = uF = u

F▼

ZF▼ KF▼

WF▼

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 75

Anwendung Breitensuche

Suchbaum Z = oK = oW = oF = o

Z = oK = oW = oF = u

Z = uK = oW = oF = u

Z = oK = uW = oF = u

Z = oK = oW = uF = u

F▼

ZF▼ KF▼

WF▼

Verbotene Zustände

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 76

Anwendung Breitensuche

Suchbaum Z = oK = oW = oF = o

Z = oK = oW = oF = u

Z = uK = oW = oF = u

Z = oK = uW = oF = u

Z = oK = oW = uF = u

F▼

ZF▼ KF▼

WF▼

Verbotene Zustände

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 77

Anwendung Breitensuche

Suchbaum Z = oK = oW = oF = o

Z = uK = oW = oF = u

ZF▼

ZF▲ F▲

Z = oK = oW = oF = o

Z = uK = oW = oF = o

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 78

Anwendung Breitensuche

Suchbaum Z = oK = oW = oF = o

Z = uK = oW = oF = u

ZF▼

ZF▲ F▲

Z = oK = oW = oF = o

Z = uK = oW = oF = o

Dieser Zustand ist identisch mit dem Anfangszustand.

Ein Zustand, der bereits einmal expandiert wurde, muss nicht nochmals expandiert werden.

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 79

Anwendung Breitensuche

Suchbaum Z = oK = oW = oF = o

Z = uK = oW = oF = u

ZF▼

ZF▲ F▲

Z = oK = oW = oF = o

Z = uK = oW = oF = o

Dieser Zustand ist identisch mit dem Anfangszustand.

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 80

Anwendung Breitensuche

Suchbaum

Z = uK = oW = oF = o

Z = uK = uW = oF = u

Z = uK = oW = uF = u

KF▼

F▼

WF▼Z = uK = oW = oF = u

Z = oK = oW = oF = o

Z = uK = oW = oF = u

ZF▼

F▲

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 81

Anwendung Breitensuche

Suchbaum

Z = uK = oW = oF = o

Z = uK = uW = oF = u

Z = uK = oW = uF = u

KF▼

F▼

WF▼Z = uK = oW = oF = u

Dieser Zustand wurde bereits expandiert

Z = oK = oW = oF = o

Z = uK = oW = oF = u

ZF▼

F▲

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 82

Anwendung Breitensuche

Suchbaum Z = uK = oW = oF = o

Z = uK = uW = oF = u

Z = uK = oW = uF = u

KF▼

F▼

WF▼Z = uK = oW = oF = u

Dieser Zustand wurde bereits expandiert

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 83

Anwendung Breitensuche

Suchbaum Z = uK = oW = oF = o

Z = uK = uW = oF = u

Z = uK = oW = uF = u

KF▼ WF▼

Z = uK = uW = oF = o

Z = uK = oW = oF = o

Z = oK = uW = oF = o

F▲

ZF▲

KF▲

Bereits expandierter Zustand

Verbotener Zustand

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 84

Anwendung Breitensuche

Suchbaum Z = uK = oW = oF = o

Z = uK = uW = oF = u

Z = uK = oW = uF = u

KF▼ WF▼

Z = uK = uW = oF = o

Z = uK = oW = oF = o

Z = oK = uW = oF = o

Z = uK = oW = uF = o

Z = uK = oW = oF = o

Z = oK = oW = uF = o

F▲

ZF▲

KF▲ F▲

ZF▲

WF▲

Bereits expandierter Zustand

Verbotener Zustand

Bereits expandierter Zustand

Verbotener Zustand

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 85

Anwendung Breitensuche

Suchbaum Z = uK = oW = oF = o

Z = uK = uW = oF = u

Z = uK = oW = uF = u

KF▼ WF▼

Z = uK = uW = oF = o

Z = uK = oW = oF = o

Z = oK = uW = oF = o

Z = uK = oW = uF = o

Z = uK = oW = oF = o

Z = oK = oW = uF = o

F▲

ZF▲

KF▲ F▲

ZF▲

WF▲

Bereits expandierter Zustand

Verbotener Zustand

Verbotener Zustand

Bereits expandierter Zustand

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 86

Anwendung Breitensuche

Lösung Z = oK = oW = oF = o

Z = uK = oW = oF = u

ZF▼

F▲

Z = uK = oW = oF = o

Z = uK = uW = oF = u

Z = uK = oW = uF = u

Z = oK = uW = oF = o

Z = oK = oW = uF = o

Z = oK = uW = uF = u

Z = oK = uW = uF = u

Z = oK = uW = uF = o

Z = oK = uW = uF = o

Z = uK = uW = uF = u

F▲

WF▼ZF▼

KF▼

ZF▲

ZF▼

F▲

ZF▼

ZF▲

WF▼

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 87

Anwendung Breitensuche

Die entstehenden Pläne

Z = oK = oW = oF = o

Z = uK = oW = oF = u

ZF▼ F▲

Z = uK = oW = oF = o

Z = uK = oW = uF = u

ZF▲WF▼

Z = oK = oW = uF = o

Z = oK = uW = uF = u

Z = oK = uW = uF = o

F▲KF▼ ZF▼

Z = uK = uW = uF = u

Z = oK = oW = oF = o

Z = uK = oW = oF = u

ZF▼ F▲

Z = uK = oW = oF = o

Z = uK = uW = oF = u

ZF▲ZF▼

Z = oK = uW = oF = o

Z = oK = uW = uF = u

Z = oK = uW = uF = o

F▲WF▼ ZF▼

Z = uK = uW = uF = u

Lehrstuhl für Operations Research und Systemtheorie Planung Folie 88

Zusammenfassung

Z0 Z1 Z6 EFZ▼ F▲ FZ▼

Definitionen:

Zustände, Aktionen, Pläne

Zerind

Sibiu

Timisoara

Arad

Oradea

Riminicu V.

Fagaras

N

S

OW

Suchstrategien:

Breitensuche, Tiefensuche, Uniform Cost, Greedy- Suche, A*- Suche

A = 6

B = 6

C = 4

A = 4

B = 3

C = 4

Verbotener Zustand

C > 3

A=A+2

B=B+3

C=C

A = 7

B = 4

C = 5

A > 0

A=A+3

B=B+1

C=C+1

Planung:

Bedingungsabhängige Aktionen, verbotene Zustände

Anwendung:

Das Ziege- Kohlkopf- Wolf- Problem mit Breitensuche

Recommended