int a -- planung
Post on 03-Jan-2016
53 Views
Preview:
DESCRIPTION
TRANSCRIPT
W. Conen, FH Gelsenkirchen, Version 0.95
1
INT A -- Planung
Prof. Dr. Wolfram ConenFH Gelsenkirchen
W. Conen, FH Gelsenkirchen, Version 0.95
2
Was ist Planung?
Was verstehen Sie unter „Planung“? Beispiel, Stichworte
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
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
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
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
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
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
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
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
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
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
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
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]) ...
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
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.
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...
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‘
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)
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!
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
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]
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
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!
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!
top related