320 likes | 572 Views
Praktikum KI. Teil VIII: Planung. Überblick. Organisation des Praktikums Einführung in die Künstliche Intelligenz Suche nach einer „intelligenten“ Lösung Problemlösung mit Heuristiken Logik Planung & Robotik Expertensysteme Lernen. Planung. Planung betrachtet die Lösung realer Probleme
E N D
Praktikum KI Teil VIII: Planung
Überblick • Organisation des Praktikums • Einführung in die Künstliche Intelligenz • Suche nach einer „intelligenten“ Lösung • Problemlösung mit Heuristiken • Logik • Planung & Robotik • Expertensysteme • Lernen Praktikum KI SoSe 2005
Planung • Planung betrachtet die Lösung realer Probleme • Mittels geeigneter Beschreibungen der Welt • Mittels Suche in der Welt-Repräsentation • Schwierigkeiten bei der Lösung realer Probleme • Größe des Suchraums • Anzahl der Nachfolger eines Knotens • Geeignete Heuristik • Dekomposition von Problemen Praktikum KI SoSe 2005
Planung • Beispiel: Kauf eines Buches „Artificial Intelligence“ • Welt-Representation: ISBN-Nummern aller Bücher • Knoten: Alle Bücher, die man hat • Nachfolger-Funktion: Kauf eines einzelnen Buches, d.h. alle Bücher, die man vorher hatte, plus das gekaufte neue Buch • Probleme • ISBN-Nummern 10-stellig 10 Milliarden Nachfolger eines Knotens • Kauf von 4 Büchern • 1040 verschiedene Pläne, die evaluiert werden müssten • Heuristik: Anzahl der noch fehlenden Bücher. Aber: Diese Heuristik ist menschen-gemacht und problemabhängig • Dekomposition: 4 Mal ein Buch kaufen; reduziert naiv das Problem auf 4* 1010 statt 1040. Aber: Wie kann diese Dekomposition automatisch erreicht werden? Praktikum KI SoSe 2005
Planungssprache STRIPS • Lösung – Planungssprache STRIPS: • Aufteilung des Problems in Zustände, Aktionen und Ziele • Zustände entsprechen Knoten im Suchbaum • Aktionen entsprechen Kanten im Suchbaum • Ziele entsprechen Zielknoten • Beschreibe Zustände als variablenfreie Konjunktion von positiven Literalen • have(ISBN 0-13-080302-2) • Plane(P1) Airport(LBC) Airport(STD) At(P1,LBC) • Closed-World-Assumption: Alle nicht genannten Aussagen werden als false interpretiert Praktikum KI SoSe 2005
Planungssprache STRIPS • Beschreibe Aktionen mittels • Vorbedingung: Konjunktion positiver Literale • Effekt: Konjunktion von Literalen • Alles, was nicht in Effekt genannt wird, bleibt unverändert • Bsp: • ActionFly(p,from,to) Precond: Plane(p) Airport(from) Airport(to) At(p,from) Effect: At(p,from) At(p,to) • Beschreibe Ziele als Zustände • At(P1,STD) At(P2,SXF) • Ein Ziel ist erreicht, wenn der aktuelle Zustand alle Literale des Zielzustands enthält • At(P1,STD) At(P2,SXF) At(P3,LBC) • At(P1,STD) At(P2,SXF) At(P5,TXL) At(P8,FRA) Praktikum KI SoSe 2005
Planungssprache STRIPS • Vorteile dieser Darstellung • Allgemeine Darstellung von Aktionen • Nicht mehr Buy(ISBN 0-00-000000-0) bis Buy(ISBN 9-99-999999-9) • Sondern Buy(x) Book(x) • Schnelles Erzeugen von Nachfolgern eines Knotens (= Finden aller möglichen Aktionen) via Unifikation • Heuristik: Anzahl der unerfüllten Literale des Zielzustandes • Dekomposition: Aufteilung des Ziels anhand der Literale • Nicht immer möglich • Teilweise mit Aufwand für‘s Zusammenfügen verbunden Praktikum KI SoSe 2005
Planungssprache STRIPS • Beispiel: Blocks World • Objekte: Blöcke A, B, C; Greifer; Tisch • Zustände: • On(x,y) %Block x direkt auf Block y • Ontable(x) %Block x direkt auf dem Tisch • Clear(x) %Nichts auf Block x • Empty %Greifer leer • Holding(x) %Greifer hält Block x Praktikum KI SoSe 2005
Planungssprache STRIPS • Beispiel: Blocks World • Aktionen • Pickup(x,y) • Precond: Empty Clear(x) On(x,y) • Effect: Holding(x) Clear(y) Empty On(x,y) Clear(x) • Putdown(x,y) • Precond: Holding(x) Clear(y) • Effect: Empty Clear(x) On(x,y) Holding(x) Clear(y) Praktikum KI SoSe 2005
Planungssprache STRIPS • Beispiel: Blocks World • Aktionen • Pickuptable(x) • Precond: Empty Clear(x) Ontable(x) • Effect: Holding(x) Empty Ontable(x) Clear(x) • Putdowntable(x) • Precond: Holding(x) • Effect: Empty Clear(x) Ontable(x) Holding(x) Praktikum KI SoSe 2005
Planungssprache STRIPS • STRIPS – Suche: • Die Literale des Zielzustandes werden nacheinander abgearbeitet • Welches Literal als nächstes betrachtet wird, legt der Suchalgorithmus fest. • Jedes Literal wird via backwards search versucht zu erreichen • Löst das Problem der unnützen Aktionen der Vorwärtssuche • Führt rekursiv wieder auf ein Planungsproblem • Aber: Tiefensuche ist nur eine Möglichkeit; alle anderen Suchverfahren (Breitensuche, A*) sind ebenso möglich • Falls beim Erreichen eines Literals ein anderes anderes zerstört wird, kommt dieses wieder in die Liste der noch nicht erfüllten Literale Praktikum KI SoSe 2005
Planungssprache STRIPS • Beispiel Blocksworld: • Anfangszustand: • empty • ontable(A) • ontable(B) • clear(B) • on(C, A) • clear(C) Praktikum KI SoSe 2005
Planungssprache STRIPS • Beispiel Blocksworld: • Zielzustand: • empty • ontable(c) • on(b, c) • on(a, b) • clear(a) Praktikum KI SoSe 2005
Planungssprache STRIPS • Beispiel Blocksworld: • Lösung: Praktikum KI SoSe 2005
Planungssprache STRIPS • Beispiel Blocksworld: • Lösung: • pickup(C, A) • putdowntable(C) • pickuptable(B) • putdown(B, C) • pickuptable(A) • putdown(A, B) a 3 2 4 1 b c b c a c a c a b b Praktikum KI SoSe 2005
Planungssprache STRIPS • STRIPS – Sussman-Anomalie: • Die Reihenfolge der Bearbeitung der Literale ist entscheidend • Bsp: Sussman-Anomalie c a b a c b Praktikum KI SoSe 2005
Planungssprache STRIPS • STRIPS – Sussman-Anomalie: • Nun wird zuerst das Ziel on(b,c) erfüllt • Dann das Ziel on(a,b), welches on(b,c) wieder zerstört • Also noch einmal on(b,c), welches wieder on(a,b) zerstört • Schließlich ein letztes Mal on(a,b) Praktikum KI SoSe 2005
Planungssprache STRIPS • STRIPS – Sussman-Anomalie: • pickuptable(b) • putdown(b, c) • pickup(b, c) • putdowntable(b) • pickup(c, a) • putdowntable(c) • pickuptable(a) • putdown(a, b) • pickup(a, b) • putdowntable(a) • pickuptable(b) • putdown(b, c) • pickuptable(a) • putdown(a, b) 2 1 b c c a a b c 4 3 c a a b b a 6 5 c a c b b a 7 8 b b c a c Praktikum KI SoSe 2005
Planung – Suche im Zustandsraum • Vorherige Beispiele der Blocks-World waren Beispiele der Suche im Zustandsraum • Zur Erinnerung: • Knoten des Suchbaums: Zustände • Kanten: Aktionen • Suche kann prinzipiell wie in den ersten Vorlesungen behandelt ablaufen • Forward-Search / Backward Search / Bidirectional Search • Breitensuche / Tiefensuche / A*-Suche • Heuristiken • Anzahl der unerfüllten Literale • Literal mit wenigsten Aktionen, die es erfüllen (most constrained variable heuristic, sh. CSP) • Relaxiertes Problem • Keine negativen Effekte der Aktionen • Planungs-Graphen Praktikum KI SoSe 2005
Planung – Suche im Planraum • Nachteile der Suche im Zustandsraum: • Keine Flexibilität bei der Plandurchführung • Großer Suchraum • Alternativer Ansatz: Suche im Planraum • Knoten sind Pläne + resultierende Zustände • Kanten sind Verfeinerungen der Pläne, d.h. pro Stufe im Suchbaum kommt eine Aktion hinzu • Nachfolger-Funktion: Zusätzliche Aktion, die (mindestens) ein unerfülltes Literal erfüllen Praktikum KI SoSe 2005
Planung – Suche im Planraum • Bsp: • Zustände: RightSockOn, LeftSockOn, RightShoeOn, LeftShoeOn • Aktionen: RightShoe • Precond: RightSockOn • Effect: RightShoeOn RightSock • Precond: {} • Effect: RightSockOn LeftShoe • Precond: LeftSockOn • Effect: LeftShoeOn LeftSock • Precond: {} • Effect: LeftSockOn • Goal: RightShoeOn LeftShoeOn • Init: {} Praktikum KI SoSe 2005
Planung – Suche im Planraum • Ein Knoten enthält: • Menge von Aktionen, die zum aktuellen Plan gehören • Menge von Ordnungsrelationen unter den Aktionen • A B bedeutet, dass Aktion A vor Aktion B ausgeführt werden muss • ist transitiv, d.h. aus A B und B C folgt A C • Menge von kausalen Verknüpfungen • A p >B bedeutet, dass Aktion A die Vorbedingung p für Aktion B erfüllt • Zwischen A und B darf somit keine Aktion stattfinden, die p negiert • Bsp: RightSock RightSockOn >RightShoe • Menge offener Literale (Vorbedingungen) • Ein Knoten (ein Plan) ist konsistent, wenn • Keine Zykel in der Ordnungsrelation vorkommen (d.h. nicht gleichzeitig A B und B A ) • Keine Konflikte mit den kausalen Verknüpfungen enthalten sind (d.h. nicht A p > B, A X, X B und B mit Effekt p) • Aktionen „Start“ und „Finish“ sind Bestandteil aller Knoten • Start hat keine Vorbedingungen und den Initialzustand als Effekt • Finish hat keinen Effekt und den Zielzustand als Vorbedingung Praktikum KI SoSe 2005
Planung – Suche im Planraum • Ablauf der Suche: • Starte mit dem leeren Plan, der nur Start und Finish enthält • Wähle eine offene Vorbedingung p (Verzweigungspunkt, Heuristik?!) und eine Aktion X, die diese Vorbedingung erfüllt (Verzweigungspunkt, Heuristik?!) • Falls X noch nicht in der Menge der Aktionen enthalten ist, füge X zu Menge Aktionen und die nicht erfüllten Vorbedingungen von X zur Menge der offenen Vorbedingungen hinzu. • Mache den entstehenden Plan konsistent: • Sei B eine Aktion, die p als Vorbedingung hat (Verzweigungspunkt). Füge X p > B zur Menge der kausalen Verknüpfungen und X B zur Menge der Ordnungsrelationen hinzu • Wenn X einen negativen Effekt q hat und eine kausale Verknüpfung A q > B existiert, füge X A oder B X zur Menge der Ordnungsrelationen hinzu (Verzweigungspunkt) • Kann der Plan nicht konsistent gemacht werden: Backtracking • Überprüfe, ob es noch nicht erfüllte Vorbedingungen gibt • Wenn nein, RETURN • Wenn ja, GOTO 2 Praktikum KI SoSe 2005
Planung – Suche im Planraum • Bsp: Socken-und-Schuh-Problem, Ausschnitt aus dem Suchbaum Aktionen: Start, Finish Offene Vorbedingungen: RightShoeOn, LeftShoeOn Ordnungsrelationen: Start Finish Kausale Links: {} RightShoe LeftShoe Aktionen: Start, Finish, RightShoe Offene Vorbedingungen: LeftShoeOn, RightSockOn Ordnungsrelationen: Start Finish, Start RightShoe, RightShoe Finish Kausale Links: RightShoe RightShoeOn >Finish Aktionen: Start, Finish, LeftShoe Offene Vorbedingungen: RightShoeOn, LeftSockOn Ordnungsrelationen: Start Finish, Start LeftShoe, LeftShoe Finish Kausale Links: LeftShoe LeftShoeOn >Finish LeftShoe … … RightSock Aktionen: Start, Finish, RightShoe, RightSock Offene Vorbedingungen: LeftShoeOn Ordnungsrelationen: Start Finish, Start RightSock, RightSock Finish, RightSock RightShoe, Start RightShoe, RightShoe Finish Kausale Links: LeftShoe LeftShoeOn >Finish, RightShoe RightShoeOn >Finish Aktionen: Start, Finish, RightShoe, LeftShoe Offene Vorbedingungen: RightSockOn, LeftSockOn Ordnungsrelationen: Start Finish, Start LeftShoe, LeftShoe Finish, Start RightShoe, RightShoe Finish Kausale Links: LeftShoe LeftShoeOn >Finish, RightShoe RightShoeOn >Finish … … … Praktikum KI SoSe 2005
Planung – Suche im Planraum • Bsp: Socken-und-Schuh-Problems, Zielknoten Praktikum KI SoSe 2005
Planung – Suche im Planraum • Vorteile der partiellen Planung: • Es werden nur notwendige Einschränkungen vorgenommen • Die Ausführung des Plans ist flexibel • Nähe zu CSP: Welche Vorbedingung soll als nächstes betrachtet werden Gute Heuristiken verfügbar • Besonders gut bei Problemen, die sich mit Divide and Conquer lösen lassen Praktikum KI SoSe 2005
Planung – Planungsgraphen • Planungsgraphen • bieten gute Heuristik für Suche im Zustandsraum und Suche im Planraum • Enthalten partielle Pläne, die nicht offensichtlich unzulässig sind • Sind in polynomieller Zeit aufzubauen • Aufbau der Planungsgraphen • Abfolge von Zustandsleveln und Aktionsleveln • S0 enthält alle Initialzustände • Ai enthält alle Aktionen, die unter den Vorbedingungen Si möglich sind plus Erhaltungsaktionen, die Zustand s in Si in Zustand s in Si+1 überführen • Si+1 enthält alle Effekte der Aktionen in Ai • Wenn Si die gleichen Zustände wie Si+1 enthält, dann STOP Praktikum KI SoSe 2005
Planung – Planungsgraphen • Bsp: Kuchen haben, essen, backen Praktikum KI SoSe 2005
Planung – Planungsgraphen • Aktionen des Levels Ai können sich gegenseitig ausschließen (mutual exclusion, mutex), wenn sie • Inkonsistente Effekte haben, d.h. Aktion A hat Effekt p, Aktion B hat Effekt p • Interferieren, d.h. Aktion A hat Effekt p, Aktion B hat Vorbedingung p ( A darf nicht vor B ausgeführt werden) • Ausschließende Vorbedingungen haben, d.h. Aktion A hat Vorbedingung p, Aktion B hat Vorbedingung p • Zustände p, q des Levels Si können mutex sein, wenn • p = q • p nur durch A und q nur durch B in Ai erreicht werden können und A und B mutex sind Praktikum KI SoSe 2005
Planung – Planungsgraphen • Bsp: • Eat(Cake) und Erhaltung von Have(Cake) haben inkonsistenten Effekt Have(Cake) • Effekt von Eat(Cake) interferiert mit Vorbedingung der Erhaltung von Have(Cake) • Bake(Cake) und Eat(Cake) haben die sich ausschließenden Vorbedingungen Have(Cake) und Have(Cake) • Have(Cake) und Have(Cake) sind mutex • Eaten(Cake) und Have(Cake) sind mutex, da Eat(Cake) und Erhaltung von Have(Cake) mutex sind Praktikum KI SoSe 2005
Planung – Planungsgraphen • Planungsgraphen für Heuristiken • Ist Zielzustand p nicht in Sfinal enthalten, so ist Planungsproblem nicht lösbar • Zur Berechnung eines Schätzwertes bei gegebenem Zustand S, entwickle den Planungsgraphen mit S0 = S (Level bezieht sich nachfolgend auf Level in Planungsgraphen) • Max-Level-Heuristik: h(S) = maximales Level alles Zielzustände p von S • Level-Sum-Heuristik: h(S) = Summe über die Level aller Zielzustände von S • Set-Level-Heuristik: h(S) = Level, in dem alle Zielzustände das erste Mal nicht-mutex auftreten • Es gilt: • Max-Level ist zulässig (admissible), aber ungenau • Level-Sum ist nicht zulässig (kann überschätzen), aber genau, gut für Divide and Conquer Probleme • Set-Level ist zülässig, recht genau und gut für Probleme mit vielen Abhängligkeiten Praktikum KI SoSe 2005
Planung – weitere Ansätze • Aus Planungsgraphen kann direkt ein zulässiger Plan extrahiert werden • „GraphPlan“-Algorithmus • Mutex hat entscheidende Bedeutung • Aufwändig • Formulierung als Logik-Problem (in Aussagenlogik) • Jede Aktion zu jedem Zeitschritt ist eine Aussage • Finde Belegung der Aussagen (Aktion,Zeitpunkt) mit true / false, sodass initial_state successor_state_axioms precondition_axioms state_constrains goal(T) true ist • Lösung mittels • Resolution (Konvertierung in CNF erforderlich) • Lokaler Suche • Mehr dazu im AIMA (http://aima.cs.berkeley.edu/newchap11.pdf) Praktikum KI SoSe 2005