5f2c73fe712d54dee5389b241f06602b.ppt
- Количество слайдов: 41
do(Go(Home), do(Buy(Drill), do(Go(Hardware. Store), do(Buy(Banana), do(Buy(Milk), do(Go(Supermarket), S 0 )))))) Funktioniert im Prinzip, aber extrem ineffizient
versucht Ineffizienz durch Einschränkung der Sprache zu begegnen Name Vorbedingung Add-List Delete-List kann Aktion ausgeführt werden? welche Atome werden wahr? welche Atome werden ungültig? Operatoren können Variablen enthalten, d. h. beschreiben Aktionstypen ausführbare Aktionen immer Grundinstanzen von Operatoren Variablen in Zielen nicht unbedingt nötig (später)
Operatoren Name Vorbedingung Add-List Buy(x) At(y), Sells(y, x) Have(x) Go(x, y) At(x), ¬(x = y) At(y) Delete-List At(x) Hintergrundwissen: Sells(SM, Milk), Sells(SM, Bananas), Sells(HS, Drill) Zustand Aktion
Anziehen von Socken und Schuhen: partiell geordneter Plan und Linearisierungen Start Left Sock Right Sock Left. Sock. On Right. Sock. On Left Right Shoe Left. Shoe. On, Right. Shoe. On Finish Right Sock Left Shoe Right Sock Left Sock Right Shoe Right Sock Left Shoe Right Shoe Left Sock Right Shoe Left Shoe Finish Finish
* *
Start At(Home) Sells(SM, Banana) Sells(SM, Milk) Sells(HS, Drill) Have(Milk) Have(Banana) At(Home) Finish Unvollständig, weil nicht alle Vorbedingungen von Finish erfüllt => Einfügen von weiteren Aktionen (Binden von Variablen bzw. Festlegen von Reihenfolge nicht anwendbar)
Start Buy(Drill) Buy(Milk) Buy(Ban. ) Finish Verfeinerung, die 3 Zielbedingungen erfüllt, dicke Pfeile "causal links" zu Vorbedingungen späterer Aktionen, diese werden "geschützt". Unten Instanzierung: Start Buy(Drill) Buy(Milk) Finish Buy(Ban. )
Start Go(SM) Go(HS) Buy(Drill) Buy(Milk) Buy(Ban. ) Finish Problem manchmal durch Umordnen zu beheben hier nur durch Rücknahme einer früheren Entscheidung (backtracking): alternative Variablenbelegung der Vorbedingung von Go(SM)
Start Go(SM) Go(HS) Buy(Drill) Buy(Milk) Buy(Ban. ) Go(Home) Finish Aber: Go(SM) kann vor Buy(Drill) ausgeführt werden, Go(Home) vor Buy(Milk) oder Buy(Ban. )
S 2 braucht c, delete-list von S 3 enthält c S 3 ¬c S 1 S 3 c S 1 c S 2 ¬c S 2 unvollständiger Plan Demotion S 3 ¬c Promotion
Start Go(SM) Go(HS) Buy(Drill) Buy(Milk) Buy(Ban. ) Go(Home) Finish
A 1 A 3 A 2 Cluster 1 A 4 A 5 Cluster 2 A 6 A 7 Cluster 3
p q a 1 a 2 r s. . . Prop 1 Akt 1 Prop 2 Akt 2
Aktionen no-op(a): einmal erzeugtes Atom a bleibt in allen weiteren Levels erhalten
Beachte: Plan der Länge i kann mehr als i Aktionen haben (parallele Aktionen)!
Gegeben Menge g von Zielen in t suche sich nicht ausschließende Menge von Aktionen in t-1, die alle Ziele in g wahrmachen. deren Vorbedingungen sind Ziele in t-1, usw. erhebliche Performanzsteigerung gegenüber Planraum-Planern: wechselseitiger Ausschluss, parallele Pläne, Merken unerreichbarer Zielmengen, keine Instanzierung bei Suche Weiterer Vorteil: Terminierung bei unlösbaren Problemen: es muss Propositions-Level geben, so dass alle weiteren identisch sind (dieselben Propositionen und Ausschlüsse) Wenn Plan nicht bis dahin gefunden, so gibt es keinen
Build House Obtain Permit Construction Hire Builder Build Foundation Build Frame Build Roof Build Walls Pay Builder Build Interior
64
Start Finish Ausgangssituation, wird durch Auswahl von Inflate und Instanziierung zu folgendem partiellen Plan. Da Intact(R 1) nicht erzeugt werden kann, ist Standardansatz hier am Ende. Start Finish Inflate(R 1)
Start Finish Inflate(R 1) Check(R 1) Remove(R 1) Put. On(RR) Vollständiger Plan (bis auf Vorbed. Remove, Put. On) Kontext jeweils unter der zugehörigen Aktion Finish
5f2c73fe712d54dee5389b241f06602b.ppt