Click here to load reader

G. BrewkaWissensbasierte Systeme 1 Wissensbasiertes Planen gegeben: Beschreibung des Anfangszustandes Beschreibung des Zielzustandes Beschreibung der möglichen

  • View
    112

  • Download
    1

Embed Size (px)

Text of G. BrewkaWissensbasierte Systeme 1 Wissensbasiertes Planen gegeben: Beschreibung des...

  • Folie 1
  • G. BrewkaWissensbasierte Systeme 1 Wissensbasiertes Planen gegeben: Beschreibung des Anfangszustandes Beschreibung des Zielzustandes Beschreibung der mglichen Aktionen gesucht: Folge (bzw. partielle Ordnung) von Aktionen, deren Ausfhrung aktuellen Zustand in Zielzustand berfhrt Planungsaufgabe
  • Folie 2
  • G. BrewkaWissensbasierte Systeme 2 Entwicklung effizienter Planungssysteme 1.STRIPS-Aktionsreprsentation 2.Naive Vorwrts- und Rckwrtsplaner 3.Partial-Order Planer: Suche im Raum unvollstndiger Plne 4.Graphplan: Planen mit Plangraphen 5.Heuristisches Planen
  • Folie 3
  • G. BrewkaWissensbasierte Systeme 3 Planen im Situationskalkl Anfangszustand: At(Home, S0) Have(Milk,S0) Have(Bananas, S0) Have(Drill,S0) Wirkung von Aktionen: a, s. Have(Milk,do(a,s)) a = Buy(Milk) At(Supermarket,s) Have(Milk,s) a Drop(Milk) Aktionsfolge zu Zielzustand ermittelt durch Anfrage: s. At(Home, s) Have(Milk, s) Have(Bananas, s) Have(Drill, s) Theorembeweiser liefert folgende Bindung fr s: do(Go(Home), do(Buy(Drill), do(Go(HardwareStore), do(Buy(Banana), do(Buy(Milk), do(Go(Supermarket), S0 )))))) Funktioniert im Prinzip, aber extrem ineffizient
  • Folie 4
  • G. BrewkaWissensbasierte Systeme 4 1. STRIPS versucht Ineffizienz durch Einschrnkung der Sprache zu begegnen Zustand: Menge von Grundatomen Ziele: Menge von Atomen, kann Variablen enthalten: At(x), Sells(x, Milk) entspricht: x. At(x) Sells(x, Milk) Beschreibung von Operatoren (= Aktionstypen) durch Name Vorbedingung Add-List Delete-List kann Aktion ausgefhrt werden? welche Atome werden wahr? welche Atome werden ungltig? Operatoren knnen Variablen enthalten, d.h. beschreiben Aktionstypen ausfhrbare Aktionen immer Grundinstanzen von Operatoren Variablen in Zielen nicht unbedingt ntig (spter)
  • Folie 5
  • G. BrewkaWissensbasierte Systeme 5 Sei a = (precond(a), add(a), delete(a)) eine Aktion, s ein Zustand. a ist anwendbar in s falls precond(a) s. falls a in s anwendbar, so entsteht durch Ausfhren von a in s der Zustand (a,s) = [s add(a)] \ delete(a) Sei g eine Menge von Zielen (ohne Variablen) a ist relevant fr g, falls add(a) g und delete(a) g = falls a fr g relevant ist, so ist die Zwischenzielmenge fr a und g (a,g) = [g \ add(a)] precond(a) falls a relevant fr g und -1 (a,g) s, dann ist g (a,s). Grundbegriffe
  • Folie 6
  • G. BrewkaWissensbasierte Systeme 6 Einkaufen mit STRIPS Name Vorbedingung Add-List Delete-List Operatoren Buy(x) Go(x, y) At(y), Sells(y,x)Have(x) At(x) At(y) At(x) Zustand Aktion Sells(SM, Milk), Sells(SM, Bananas), Sells(HS, Drill)Hintergrundwissen: Go(Home,SM) Buy(Milk) Buy(Bananas) Go(SM,HS) Buy(Drill) Go(HS,Home) At(Home) At(SM) At(SM), Have(Milk) At(SM), Have(Milk), Have(Bananas) At(HS), Have(Milk), Have(Bananas) At(HS), Have(Milk), Have(Bananas), Have(Drill) At(Home), Have(Milk), Have(Bananas), Have(Drill)
  • Folie 7
  • G. BrewkaWissensbasierte Systeme 7 Eliminieren von Variablen aus Zielen Das Ziel x. At(x) Sells(x, Milk) wird ersetzt durch neues Symbol, etwa Goal dazu neuer Operator mit Pre: At(x), Sells(x, Milk) Add: Goal Delete: leer
  • Folie 8
  • G. BrewkaWissensbasierte Systeme 8 2. Naive Vorwrts- und Rckwrtsplaner Wie findet man die "richtige" Aktionsfolge fr Ziel g? Aktionen generieren Situationsraum Progressionsplaner: Wurzel Startzustand s 0 mit a beschriftete Kante von s zu s, falls a in s anwendbar und s = (a,s) Zielzustand jeder Zustand s mit g s Problem: oft hoher Verzweigungsgrad Regressionsplaner: Wurzel Ziel g mit a beschriftete Kante von s zu s, falls a relevant fr s und s = (a,s) Zielzustand jeder Zustand s mit s s 0 Problem: verschiedene Ziele knnen interagieren originales STRIPS-System ist unvollstndiger Regressionsplaner
  • Folie 9
  • G. BrewkaWissensbasierte Systeme 9 Nichtdeterministischer Vorwrtsplaner Forward-Search(O, s 0, g) s := s 0 ; := empty plan; loop if s satisfies g then return ; applicable := {a | a instance of an operator in O applicable in s}; if applicable = then return failure; nondeterministically choose an action a applicable; s := (a,s); :=.a;
  • Folie 10
  • G. BrewkaWissensbasierte Systeme 10 Nichtdeterministischer Rckwrtsplaner Backward-Search(O, s 0, g) := empty plan; loop if s 0 satisfies g then return ; relevant := {a | a instance of an operator in O relevant to g}; if relevant = then return failure; nondeterministically choose an action a relevant; g := -1 (a,g); := a. ;
  • Folie 11
  • G. BrewkaWissensbasierte Systeme 11 Grundidee: Anwendung von Verfeinerungsoperatoren, die bisherigen Plan erweitern dabei mglichst wenig Festlegungen (Reihenfolge und Variablenbindung) Starten mit dem unvollstndigsten Plan Terminierung wenn vollstndiger, konsistenter Plan erzeugt ist Was macht partiellen Plan unvollstndig? Teilziele noch nicht erreicht Mit Plan kompatible Reihenfolge der Aktionen lscht ntiges Atom Wie kann man verfeinern? Aktion einfgen; Reihenfolge festlegen; Variable binden; neuer causal link Ziel: Planen mit mglichst wenig Backtracking 3. Suche im Raum partieller Plne
  • Folie 12
  • G. BrewkaWissensbasierte Systeme 12 Partiell geordnete Plne Anziehen von Socken und Schuhen: partiell geordneter Plan und Linearisierungen Start Left Sock Right Sock Left Shoe Right Shoe Finish Left Sock Start Right Sock Left Shoe Right Sock Finish Right Sock Right Shoe Left Shoe Right Shoe Right Shoe Left Shoe Left Sock Right Shoe Left Shoe Right Shoe Right Shoe Left Sock Left Shoe Left Shoe LeftSockOnRightSockOn LeftShoeOn, RightShoeOn
  • Folie 13
  • G. BrewkaWissensbasierte Systeme 13 Was ist ein (partieller) Plan? Datenstruktur bestehend aus: einer Menge von Planschritten, d.h. Operatoren einer (partiellen) Ordnungsrelation auf den Planschritten einer Menge von Variablenbindungen einer Menge von kausalen Verbindungen (causal links), die den Zweck der Schritte im Plan festhalten: causal link von Si zu Vorbedingung c von Sj bedeutet: Si wird ausgefhrt, um diese Vorbedingung wahr zu machen. ********
  • Folie 14
  • G. BrewkaWissensbasierte Systeme 14 Partiell Geordnete Plne, ctd Lsung eines Planungsproblems: ein vollstndiger, konsistenter Plan Ein Plan ist vollstndig, wenn alle Vorbedingungen aller Aktionen erreicht sind, d.h. : wenn c Vorbedingung von Sj, dann gilt 1) es gibt Si < Sj mit Effekt c (causal link von Si zu c) 2) es gibt keine Linearisierung, so dass Si < Sk < Sj und Sk lscht c Ein Plan ist konsistent, wenn er keine widersprchliche Information bzgl. Ordnung und Variablenbindungen enthlt Grundidee des Verfeinerungsansatzes: starte mit unvollstndigem Plan vervollstndige ihn schrittweise, ohne ihn inkonsistent zu machen
  • Folie 15
  • G. BrewkaWissensbasierte Systeme 15 Start Finish At(Home) Sells(SM,Banana) Sells(SM,Milk) Sells(HS,Drill) Have(Drill) Have(Milk) Have(Banana) At(Home) Einkaufen: der unvollstndigste Plan Unvollstndig, weil nicht alle Vorbedingungen von Finish erfllt => Einfgen von weiteren Aktionen (Binden von Variablen bzw. Festlegen von Reihenfolge nicht anwendbar)
  • Folie 16
  • G. BrewkaWissensbasierte Systeme 16 Start Finish Have(Drill) Have(Milk) Have(Banana) At(Home) Buy(Drill)Buy(Milk) Buy(Ban.) At(s) Sells(s,Drill)At(s) Sells(s,Milk)At(s) Sells(s,Ban) Start Finish Have(Drill) Have(Milk) Have(Banana) At(Home) Buy(Drill)Buy(Milk) Buy(Ban.) At(HS) Sells(HS,Drill)At(SM) Sells(SM, Milk)At(SM) Sells(SM, Ban) Verfeinerung, die 3 Zielbedingungen erfllt, dicke Pfeile "causal links" zu Vor- bedingungen spterer Aktionen, diese werden "geschtzt". Unten Instanzierung:
  • Folie 17
  • G. BrewkaWissensbasierte Systeme 17 Ein unvollstndiger, nicht verfeinerbarer Plan Start Finish Have(Drill) Have(Milk) Have(Banana) At(Home) Buy(Drill)Buy(Milk) Buy(Ban.) At(HS) Sells(HS,Drill)At(SM) Sells(SM, Milk)At(SM) Sells(SM, Ban) Go(HS) Go(SM) At(Home) Problem manchmal durch Umordnen zu beheben hier nur durch Rcknahme einer frheren Entscheidung (backtracking): alternative Variablenbelegung der Vorbedingung von Go(SM)
  • Folie 18
  • G. BrewkaWissensbasierte Systeme 18 Weitere Verfeinerung Start Finish Have(Drill) Have(Milk) Have(Banana) At(Home) Buy(Drill)Buy(Milk) Buy(Ban.) At(HS) Sells(HS,Drill)At(SM) Sells(SM, Milk) At(SM) Sells(SM,Ban) Go(HS) Go(SM) At(Home) At(HS) Go(Home) At(SM) Aber: Go(SM) kann vor Buy(Drill) ausgefhrt werden, Go(Home) vor Buy(Milk) oder Buy(Ban.)
  • Folie 19
  • G. BrewkaWissensbasierte Systeme 19 Schutz von kausalen Verbindungen S1 S2 S3 c c S1 S2 c S3 c S1 S2 c S3 c unvollstndiger Plan Demotion Promotion S2 braucht c, delete-list von S3 enthlt c
  • Folie 20
  • G. BrewkaWissensbasierte Systeme 20 Der endgltige Plan Start Finish Have(Drill) Have(Milk) Have(Banana) At(Home) Buy(Drill)Buy(Milk) Buy(Ban.) At(HS) Sells(HS,Drill)At(SM) Sells(SM, Milk)At(SM) Sells(SM,Ban) Go(HS) Go(SM) At(Home) At(HS) Go(Home) At(SM)
  • Folie 21
  • G. BrewkaWissensbasierte Systeme 21 4. Graphplan STRIPS-Reprsentation fr Aktionen und Zustnde verwendet Plangraphen, um Suche mglichst einzuschrnken Plne nicht notwendig total geordnet (wie beim Vorwrtsplanen) aber auch nicht beliebige partielle Ordnungen (wie PO-Planning) sondern Zwischenlsung: Es gibt Cluster von Aktionen, Reihenfolge innerhalb Cluster beliebig Cluster selbst total geordnet A1 A2 A3 A4 A5 A6 A7 Cluster1Cluster2Cluster3
  • Folie 22
  • G. BrewkaWissensbasierte Systeme 22 Der Plangraph enthlt alle mglicherweise ausfhrbaren Aktionen bzw. wahren Atome bercksichtigt nicht alle Interaktionen erzeugt in polynomi