1 / 32

Praktikum KI

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

tavi
Télécharger la présentation

Praktikum KI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Praktikum KI Teil VIII: Planung

  2. Ü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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. Planungssprache STRIPS • Beispiel Blocksworld: • Anfangszustand: • empty • ontable(A) • ontable(B) • clear(B) • on(C, A) • clear(C) Praktikum KI SoSe 2005

  13. Planungssprache STRIPS • Beispiel Blocksworld: • Zielzustand: • empty • ontable(c) • on(b, c) • on(a, b) • clear(a) Praktikum KI SoSe 2005

  14. Planungssprache STRIPS • Beispiel Blocksworld: • Lösung: Praktikum KI SoSe 2005

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. Planung – Suche im Planraum • Bsp: Socken-und-Schuh-Problems, Zielknoten Praktikum KI SoSe 2005

  26. 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

  27. 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

  28. Planung – Planungsgraphen • Bsp: Kuchen haben, essen, backen Praktikum KI SoSe 2005

  29. 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

  30. 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

  31. 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

  32. 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

More Related