INT A -- Planung

25
W. Conen, FH Gelsenkirchen, V ersion 0.95 1 INT A -- Planung Prof. Dr. Wolfram Conen FH Gelsenkirchen

description

INT A -- Planung. Prof. Dr. Wolfram Conen FH Gelsenkirchen. Was ist Planung?. Was verstehen Sie unter „Planung“? Beispiel, Stichworte. Ein sehr kleines Beispiel. Ein Lastwagen soll einen Container abholen Der Lastwagen steht auf Position 2 - PowerPoint PPT Presentation

Transcript of INT A -- Planung

Page 1: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

1

INT A -- Planung

Prof. Dr. Wolfram ConenFH Gelsenkirchen

Page 2: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

2

Was ist Planung?

Was verstehen Sie unter „Planung“? Beispiel, Stichworte

Page 3: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

3

Ein sehr kleines Beispiel...

Ein Lastwagen soll einen Container abholen Der Lastwagen steht auf Position 2 Auf Position 1 befinden sich ein Kran und ein Container Der Kran hat den Container bisher nicht hochgehoben

Das ist die Ausgangs- oder Startsituation

location 1 location 2

Page 4: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

4

Ein sehr kleines Beispiel...

Der Lastwagen soll den Container aufnehmen und nach Position 2 bringen

Das ist die Zielsituation! (auch kurz: Ziel) es kann auch mehrere mögliche Zielsituationen geben

location 1 location 2

Page 5: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

5

Ein sehr kleines Beispiel...

Wie kommen wir nun von der Ausgangssituation zur Zielsituation? Anmerkung: Die „Situationen“ werden wir Zustände

nennen Wir müssen die möglichen Operationen kennen! Und wir müssen wissen, was sonst noch passieren kann!

location 1 location 2

Ãlocation 1 location 2

Page 6: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

6

Ein sehr kleines Beispiel...

Die möglichen Operationen werden wir Aktionen nennen...z.B. mit einem „take“ können wir den Container aufnehmen,

um von der Ausgangssituation (dem Startzustand s0) in den Folgezustand s1 zu gelangen

mit einem „put“ können wir von s1 zurück in s0 gelangen

location 1 location 2

take

location 1 location 2

s0

put

s1

Page 7: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

7

Ein sehr kleines Beispiel...

Was sonst noch passieren kann, nennen wir Ereignisse. Das Eintreten von Ereignissen können wir nicht

kontrollieren Das Durchführen von Aktionen schon!

Ereignisse lassen wir erst einmal weg!

location 1 location 2 location 1 location 2

s0’

earthquake

s1

Page 8: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

8

Ein sehr kleines Beispiel...

Hier ein kompletter Graph mit den möglichen Aktionen

Sie sehen: Aktionen müssen nicht Zustandsspezifisch sein (put von s1 nach s0 und s3 nach s2), sie sind anwendbar, wenn Zustände bestimmte Eigenschaften erfüllen

Den genauen Zusammenhang zwischen Zuständen und Aktionen beschreibt eine Zustandübergangsfunktion

Das Ganze ist ein Zustandsübergangssystem

Hier sind alle Element des Zustandsübergangssystems explizit repräsentiert

location 1 location 2

location 1 location 2

s1

s3

s4

take

put

location 1 location 2

location 1 location 2

s0

s2

s5

move1

put

take

move1

move1move2

loadunload

move2

move2

location 1 location 2 location 1 location 2

Start

Ziel

Page 9: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

9

Ein sehr kleines Beispiel...

Es gibt jetzt viele mögliche Abläufe (=Sequenzen von Aktionen), die im Startzustand s0 beginnen, z.B. s0,take,s1,move1,s3,put,s2,

move2,s0

Da unser Diagramm deterministisch ist, wären s0: take,move1,put,move2 s0,s1,s3,s2,s0

äquivalente Repräsentationen Wir nennen diese Abläufe „Pläne“

(weil wir sie planen wollen!)

location 1 location 2

location 1 location 2

s1

s3

s4

take

put

location 1 location 2

location 1 location 2

s0

s2

s5

move1

put

take

move1

move1move2

loadunload

move2

move2

location 1 location 2 location 1 location 2

Page 10: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

10

Ein sehr kleines Beispiel...

Einige Pläne enthalten den Zielzustand s5, z.B. Plan1 -- s0: take, move1, put,

take, load, move2 Plan2 -- s0: move1, take, load,

move2 Diese Pläne nennen wir auch

Lösungen (des konkreten Planungsproblems)

Ein Plan minimaler Länge (d.h. es gibt keinen Plan mit weniger Aktionen) nennen wir minimalen Plan Plan2 oben Ohne weitere

Optimalitätskriterien ist Länge nicht wirklich wichtig

Plausibel erscheint aber zumindest, keine Lösungen zu wollen, die kürzere Lösungen enthalten

location 1 location 2

location 1 location 2

s1

s3

s4

take

put

location 1 location 2

location 1 location 2

s0

s2

s5

move1

put

take

move1

move1move2

loadunload

move2

move2

location 1 location 2 location 1 location 2

Page 11: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

11

Ein sehr kleines Beispiel...

Damit ist auch das abstakte Planungsproblem klar (für unser deterministisches Szenario ohne Ereignisse):

Wir suchen zu einem gegebenen konkreten Planungsproblem nach einer Lösung!

Wie wir das machen können, wissen wir im Grund schon!

Aber...eine explizite Repräsentation des Zustandsübergangsgraphen scheidet meist aus

Hier können spezielle Repräsentationen der konkreten Planungsprobleme helfen

Auf die wenden wir dann angepaßteVersionen unseres Problemlöseinstrumentariums an!

location 1 location 2

location 1 location 2

s1

s3

s4

take

put

location 1 location 2

location 1 location 2

s0

s2

s5

move1

put

take

move1

move1move2

loadunload

move2

move2

location 1 location 2 location 1 location 2

Page 12: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

12

Ein sehr kleines Beispiel...

Wie könnten wir das formalisieren?

s0: Laster ist an Location 2UND Laster ist nicht beladen UND Kran ist nicht beladen

s5: Laster ist beladen UND Laster ist an Location 2 UND Kran ist nicht beladen

s1: Laster ist an Location 2 UND Kran ist beladen UND Laster ist nicht beladen

s3: Laster ist an Location 1 UND Kran ist beladen UND Laster ist nicht beladen

s4: Laster ist an Location 1 UND Laster ist beladen UND Kran ist nicht beladen

s2: Laster ist an Location 1 UND Laster ist nicht beladen UND Kran ist nicht beladen

location 1 location 2

location 1 location 2

s1

s3

s4

take

put

location 1 location 2

location 1 location 2

s0

s2

s5

move1

put

take

move1

move1move2

loadunload

move2

move2

location 1 location 2 location 1 location 2

Page 13: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

13

Planning: Formalisierungsideen

Nochmals die Zustände: s0: Laster ist an Location 2

UND Laster ist nicht beladen UND Kran ist nicht beladen

s5: Laster ist beladen UND Laster ist an Location 2 UND Kran ist nicht beladen

s1: Laster ist an Location 2 UND Kran ist beladen UND Laster ist nicht beladen

s3: Laster ist an Location 1 UND Kran ist beladen UND Laster ist nicht beladen

s4: Laster ist an Location 1 UND Laster ist beladen UND Kran ist nicht beladen

s2: Laster ist an Location 1 UND Laster ist nicht beladen UND Kran ist nicht beladen

Jetzt brauchen wir noch die Übergänge: s0 Ã s1 usw., z.B. als „Veränderungsregeln“

Falls Laster an Location x, dann kann Laster an Location (x+2 mod 2) + 1 fahren

Falls Laster an Location 1 und Laster nicht beladen und Kran beladen, dann kann (Laster ist beladen und Kran ist nicht beladen) ausgeführt werden

Falls Kran nicht beladen und Laster nicht beladen, dann kann Kran beladen werden

Falls Kran beladen ist, kann Kran entladen werden

Falls Kran nicht beladen und Laster beladen und Laster an Location 1, dann kann Kran be- und Laster entladen werden

Page 14: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

14

Planning: Formalisierungsideen

Nochmals die Zustände: s0: Laster ist an Location 2

UND Laster ist nicht beladen UND Kran ist nicht beladen

s5: Laster ist beladen UND Laster ist an Location 2 UND Kran ist nicht beladen

s1: Laster ist an Location 2 UND Kran ist beladen UND Laster ist nicht beladen

s3: Laster ist an Location 1 UND Kran ist beladen UND Laster ist nicht beladen

s4: Laster ist an Location 1 UND Laster ist beladen UND Kran ist nicht beladen

s2: Laster ist an Location 1 UND Laster ist nicht beladen UND Kran ist nicht beladen

Wir führen Aussagenvariablen ein: L1 = „Laster an Location 1“ L2 = „Laster an Location 2“ K = „Kran beladen“ L = „Laster beladen“ Auf L2 können wir hier verzichten:

: L1 = L2 (klar, es gibt nur zwei Locations!)

Dann haben wir folgende Zustände: s0 $ (: L1 Æ : K Æ : L) s5 $ (: L1 Æ L [Æ : K]) ...

Page 15: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

15

Planning: Formalisierungsideen

Nochmal die Regeln: Aktion 1,1‘: Falls Laster an

Location x, dann kann Laster an Location (x+2 mod 2) + 1 fahren

Aktion 2: Falls Laster an Location 1 und Laster nicht beladen und Kran beladen, dann kann (Laster ist beladen und Kran ist nicht beladen) ausgeführt werden

Aktion 3: Falls Kran nicht beladen und Laster nicht beladen, dann kann Kran beladen werden

Aktion 4: Falls Kran beladen ist, kann Kran entladen werden

Aktion 5: Falls Kran nicht beladen und Laster beladen und Laster an Location 1, dann kann Kran be- und Laster entladen werden

Aktion 1,1‘: L1 Ã : L1, : L1 Ã L1 Aktion 2: L1 Æ : L Æ K Ã L Æ : K Aktion 3: : K Æ : L Ã K Aktion 4: K Ã : K Aktion 5: : K Æ L Æ L1 Ã K Æ : L

Hier beschreibt à eine Transition (also einen Zustandsübergang)

Jetzt suchen wir nach einer Sequenz von Aktionen, die den Zustand s0 in den Zustand s5 überführt, und zwar so, dass die Bedingungen, die NACH Ausführung jeder Transition gelten, die Bedingungen, die VOR der Ausführung der Nachfolgetransition gelten müssen, erfüllt

Übrigens: Die Zwischenzustände sind jetzt nicht mehr interessant

Page 16: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

16

Planning: Formalisierungsideen

Aktion 1,1‘: L1 Ã : L1, : L1 Ã L1 Aktion 2: L1 Æ : L Æ K Ã L Æ : K; Aktion 3: : K Æ : L Ã K Aktion 4: K Ã : K; Aktion 5: : K Æ L Æ L1 Ã K Æ : L

Wie funktioniert der Zustandsübergang/die Transition genau? Eine Aktion ist anwendbar („enabled“), wenn all ihre Prämissen

(links vom Pfeil) erfüllt sind Wird ein anwendbare Aktion gewählt und ausgeführt, dann

treten ihre Konsequenzen ein (rechts vom Pfeil) Bei einer positiven Konsequenz (ein positives Literal) wird die

atomare Aussage auf „erfüllt“ gesetzt (wenn sie vorher nicht erfüllt war, ist sie es jetzt – und damit nicht mehr „nicht erfüllt“)

Analog bei einer negativen Konsequenz

Das legt die Semantik des Schaltens/Eintretens/Ausführens der Transitionen fest.

Page 17: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

17

Planning: Formalisierungsideen

Nochmal die Regeln: Aktion 1,1‘: Falls Laster an

Location x, dann kann Laster an Location x+1 mod 2 fahren

Aktion 2: Falls Laster an Location 1 und Laster nicht beladen und Kran beladen, dann kann (Laster ist beladen und Kran ist nicht beladen) ausgeführt werden

Aktion 3: Falls Kran nicht beladen und Laster nicht beladen, dann kann Kran beladen werden

Aktion 4: Falls Kran beladen ist, kann Kran entladen werden

Aktion 5: Falls Kran nicht beladen und Laster beladen und Laster an Location 1, dann kann Kran be- und Laster entladen werden

Aktion 1,1‘: L1 Ã : L1, : L1 Ã L1 Aktion 2: L1 Æ : L Æ K Ã L Æ : K Aktion 3: : K Æ : L Ã K Aktion 4: K Ã : K Aktion 5: : K Æ L Æ L1 Ã K Æ : L

: L1 Æ : K Æ : L (Zustand s0) Aktion 1‘: L1 Æ : K Æ : L

Aktion 1: : L1 Æ : K Æ : Loder

Aktion 3: L1 Æ K Æ : L Aktion 4: ...

oder Aktion 1: ...

oder Aktion 2: L1 Æ L Æ : K

Aktion 5: ...oder

Aktion 1: : L1 Æ L Æ : K Zielzustand s5 erreicht! Auch möglich wäre Aktion3 zu

Beginn gewesen...

Page 18: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

18

Planning: Formalisierungsideen

Aktion 1,1‘: L1 Ã : L1, : L1 Ã L1 Aktion 2: L1 Æ : L Æ K Ã L Æ : K; Aktion 3: : K Æ : L Ã K Aktion 4: K Ã : K; Aktion 5: : K Æ L Æ L1 Ã K Æ : L

: L1, : L, : K

L1, : L, : K : L1, : L, K

: L1, : L, : K L1, : L, K

: L1, : L, K L1, L, : K

A1 A3

A3A1‘

L1, : L, : K

: L1, L, : K L1, : L, K

A5A1‘

Page 19: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

19

Planning: Formalisierungsideen

Aktion 1,1‘: (1,?,?) Ã (0,?,?), (0,?,?) Ã (1,?,?) Aktion 2: (1,0,1) Ã (1,1,0); Aktion 3: (?,0,0) Ã (?,0,1) Aktion 4: (?,?,1) Ã (?,?,0); Aktion 5: (1,1,0) Ã (1,0,1)

0,0,0

1,0,0 0,0,1

0,0,0 1,0,1

0,0,1 1,1,0

A1 A3

A3A1‘

1,0,0

0,1,0 1,0,1

A5A1‘

Als Belegung des Tripple (L1,L,K)

Page 20: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

20

Planning: Formalisierungsideen

Suche z.B. Greedy; Vermeiden von Wiederholungen; Heuristische Operatorauswahl: Anzahl übereinstimmender Positionen mit dem Zielzustand nach Anwendung

0,0,0

1,0,0 0,0,1

0,0,0 1,0,1

0,0,1 1,1,0

A1 A3

A3A1‘

1,0,0

0,1,0 1,0,1

A5A1‘

Als Belegung des Tripple (L1,L,K)

121

0

1 1

2Wiederholung!

Page 21: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

21

Planning: Formalisierungsideen

Wir haben eine Kombination aus Suche und Aussagenlogik verwendet, um das Planungsproblem zu lösen

Wir sind von Startzustand ausgegangen und auf das Ziel „vorwärts“ zugegangen

Wir könnten auch beim Ziel anfangen und „rückwärts“ laufen Auch beides ist möglich (bi-directional search) Vieles mehr kann man tun! Repräsentieren kann man das auf viele

andere Arten! Einen kurzen Überblick werden wir uns jetzt (und im nächsten

Termin) anschauen

Page 22: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

22

Planning

„Planning is the reasoning side of action

It is an abstract, explicit deliberation process that chooses and organizes actions by anticipating their expected outcomes.

This deliberation aims at achieving as best as possible some prestated objectives.

Automated planning is an area of Artificial Intelligence that studies this deliberation process computationally.“ [aus „Automated Planning“, 1.Auflage, Ghallab, Nau, Traverso, S.1, 2004]

Page 23: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

23

Planning

Weiterer Inhalt der Vorlesung: Einführende Folien von Dana Nau (2004)

http://www.cs.umd.edu/~nau/cmsc722/notes-fall-2004/chapter1.pdf (oder PPT)

Dana Nau zur Repräsentation klassischer Planungsprobleme (2005)http://www.cs.umd.edu/~nau/cmsc722/slides/chapter02.pdf (oder PPT)

Dana Nau zu State-Space (PPT), Plan-Space-Planning (PPT), Plangraphen (PPT) (alles 2005)

Dana Nau einführend zu Heuristiken und Control Strategies (PPT) (auch 2005)

Mehr unter http://www.cs.umd.edu/~nau/cmsc722

Page 24: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

24

Planning

Literatur Ghallab, Nau, Traverso: Automated Planning, 2004,

Morgan Kaufman In Russell/Norvig kann man auch schauen!

Page 25: INT A -- Planung

W. Conen, FH Gelsenkirchen, Version 0.95

25

Hinweise zu den Vorträgen/Papieren

Zwei Hauptziele für ihren Vortrag: Interessieren sie ihre Kommilitonen für ihr Thema! Demonstrieren sie (genau) eine grundlegende Methode mit

Hilfe eines Beispiels, damit ihr Kommilitonen etwas für ihren persönlichen „Werkzeugkasten“ mit nach Hause nehmen können!

Erstellen sie eine einseitige Zusammenfassung, inkl. ihrer wichtigsten Quellen, und geben sie diese vor dem Vortrag ab.

Beschränken sie sich auf 15-20 Minuten + max. 5 Min. Diskussion

Zur Ausarbeitung: State of the Art-Paper: Problem, Verfahren (auch

Entwicklungsgeschichte), derzeitige Lösungsqualität/Limitierung, Perspektiven

Format: A4, 10-14 Seiten, 1 1/2 zeilig, 2cm Rand "drumrum", 11-12pt, Bilder erlaubt, Quellenangaben nicht vergessen!