Übersicht. Lösen von Planungsproblemen durch Suche. Planen im Situationskalkül



Ähnliche Dokumente
Übersicht. Planungsprobleme. Lösen von Planungsproblemen durch Suche. Planen im Situationskalkül. Repräsentationssprache: STRIPS-Sprache

1 topologisches Sortieren

Grundlagen der Künstlichen Intelligenz

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

1 Mathematische Grundlagen

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

Informationsblatt Induktionsbeweis

Erfüllbarkeit und Allgemeingültigkeit

Binäre Suchbäume (binary search trees, kurz: bst)

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Grundlagen der Theoretischen Informatik, SoSe 2008

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

WS 2009/10. Diskrete Strukturen

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Software-Engineering SS03. Zustandsautomat

Statuten in leichter Sprache

Grundlagen der Künstlichen Intelligenz

Primzahlen und RSA-Verschlüsselung

Grundbegriffe der Informatik

Repetitionsaufgaben Wurzelgleichungen

Anmerkungen zur Übergangsprüfung

Anleitung über den Umgang mit Schildern

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Bürgerhilfe Florstadt

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

II. Daten sichern und wiederherstellen 1. Daten sichern

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Zahlen auf einen Blick

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

7. Bewässerung: Mehrmals pro Woche

STRATO Mail Einrichtung Mozilla Thunderbird

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

iphone- und ipad-praxis: Kalender optimal synchronisieren

Logische Folgerung. Definition 2.11

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Unterscheidung: Workflowsystem vs. Informationssystem

Wissensbasierte Systeme

impact ordering Info Produktkonfigurator

AOK Pflege: Praxisratgeber Sturzprävention Übungen zur Stärkung des Gleichgewichts

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Bedingungen. Bedingungen. Bedingungen

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

7 Rechnen mit Polynomen

Die Lightbox-Galerie funktioniert mit allen gängigen Webbrowsern. Zur Benutzung muss JavaScript im Browser aktiviert sein.

Dokumentenverwaltung im Internet

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Lehrer: Einschreibemethoden

4 Aufzählungen und Listen erstellen

Arbeiten mit UMLed und Delphi

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Feiertage in Marvin hinterlegen

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Stammdatenanlage über den Einrichtungsassistenten

TECHNISCHE DOKUMENTATION ZUM TURBO-FREEZER XL 3 & XE 1

Kapitalerhöhung - Verbuchung

Konzentration auf das. Wesentliche.

3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik

Algorithmen und Datenstrukturen. Große Übung vom Nils Schweer

Anleitung für die Version von online 1. Schritt: Rufen Sie die Website auf...

6.2 Scan-Konvertierung (Scan Conversion)

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

MuP-Arbeitshilfen. Kreativität organisieren Der innovative Prozess. Problem-Phase

GEVITAS Farben-Reaktionstest

Programmentwicklungen, Webseitenerstellung, Zeiterfassung, Zutrittskontrolle

Zwischenablage (Bilder, Texte,...)

1. Die Maße für ihren Vorbaurollladen müssen von außen genommen werden.

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Erstellen von x-y-diagrammen in OpenOffice.calc

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Konfiguration eduroam

Beweisbar sichere Verschlüsselung

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Wie halte ich Ordnung auf meiner Festplatte?

micura Pflegedienste München/Dachau GmbH

Benutzerhandbuch - Elterliche Kontrolle

Einbau bzw. Umbau einer USB-Schnittstelle für das Testboard TB1 nicht nur für il-troll

Kreatives Gestalten mit Flash 5.0

Text Formatierung in Excel

Nichtmonotones Schließen

Mediator 9 - Lernprogramm

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Aufgabensammlung Bruchrechnen

Schnelleinstieg in die (cs) AuftragPro

Kurzanleitung zur Übermittlung der mündlichen Prüfungsergebnisse mit DSD-Online. Stand: Dezember Schulmanagement weltweit

Mathematischer Vorbereitungskurs für Ökonomen

ZAHLUNGSAVIS. Im Zahlungsprogrammteil automatisch erstellen

3D-Konstruktion Brückenpfeiler für WinTrack (H0)

Enigmail Konfiguration

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

Buchhaltung mit WISO EÜR & Kasse 2011

Transkript:

Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlussfolgern IV Logisch Handeln 11. Planen 12. Planen und Handeln in der Welt V Unsicheres Wissen und Schließen VI Lernen VII Kommunizieren, Wahrnehmen und Handeln Künstliche Intelligenz: 11. Planen Frank Puppe 1 Planungsprobleme Gegeben: Planungsproblem als 4-Tupel: Anfangszustand Zielzustand Operatoren (Aktionen) Zustandsraum Gesucht: Operatorsequenz, die Anfangs- in Zielzustand überführt. Lösungsansätze: unspezifisch: Suche, logisches Beweisen (Skalierungsproblem) Klassisches Planen (zugängliche, deterministische, endliche statische, diskrete Umgebung): - zustandsbasierte Suche (state space search) - partial order planning - Plan-Graphen (planning graphs) & Graphplan-Algorithmus - Planen mit Aussagenlogik Nichtklassisches Planen (in komplexerer Umgebung) Künstliche Intelligenz: 11. Planen Frank Puppe 2 Lösen von Planungsproblemen durch Suche Lösungsansatz: Planungsprobleme durch Suche lösen: Aktionen entsprechen der Nachfolgerfunktion. Zustände entsprechen den Knoten im Suchbaum. Probleme (Beispiel: Kaufe bestimmte Bücher in Online-Shop): Es müssen erst alle Bücher betrachtet werden, bevor sie ver-worfen werden können (bei 10 7 Büchern sehr zeitaufwändig) Bewertungsfunktionen für Zustände müssen (von Men-schen) definiert werden (z.b. Anzahl der gefundenen Bücher) Es gibt keine gute Möglichkeit, relativ unabhängige Teilpro-bleme getrennt zu lösen und anschließend zu kombinieren. Planen im Situationskalkül Lösungsansatz: Repräsentiere das Problem in Prädikatenlogik und benutze einen Theorembeweiser, um die Lösung zu finden. Problem: zu ineffizient, keine Garantie für gute Operatorsequenz. Verbesserung: eingeschränkte Repräsentationssprache und spezielle Planungsalgorithmen. Künstliche Intelligenz: 11. Planen Frank Puppe 3 Künstliche Intelligenz: 11. Planen Frank Puppe 4

Grundideen von Planungssystemen White-Box-Repräsentation von Zuständen, Zielen und Operatoren (z.b. in geeigneter Teilmenge der Prädikatenlogik 1. Stufe oder als regelbasiertes System). Bewertungsfunktion ergibt sich aus Problemrepräsentation (z.b. Anzahl unerfüllter Teilziele im Zielausdruck) Aufbau der Operatorsequenz middle-out, indem die wichtigsten (und nicht notwendigerweise die aus dem Anfangszustand ausführbaren) Entscheidungen zuerst getroffen werden. Anwendung der Teile-und-Herrsche -Strategie, da die meisten Teilziele unabhängig voneinander verfolgt werden können. Künstliche Intelligenz: 11. Planen Frank Puppe 5 Repräsentationssprache: STRIPS-Sprache Einschränkung der PK1: Repräsentation der Zustände: Zustand ist Konjunktion von positiven Literalen (Closed World Assumption) propositional (z.b. "arm unbekannt") Prädikate (ohne Funktionen und Variablen) (z.b. " In (Flugzeug1, Melbourne) In (Flugzeug2, Sydney)" aber nicht "In (x,y)" oder "In (Vater (Fred), Sydney)") Repräsentation des Ziels wie Zustand (aber meist nur teilspezifizierter Zustand) Repräsentation der Aktionen z.b. (Fliegen (f von nach) Precond: In (f, von) Flugzeug (f) Airport (von) Airport (nach) Effect: in (f, von) In (f, nach) ) - Precondition: Konjunktion von positiven Literalen ohne Funktionen - Effect: Konjunktion von Literalen ohne Funktionen Künstliche Intelligenz: 11. Planen Frank Puppe 6 Semantik Aktionen sind anwendbar in Zuständen, die die Precondition erfüllen, ansonsten haben sie keinen Effekt. Die Effekte (nach geeigneter Substitution) ändern den Zustand, wobei alle nicht erwähnten Literale gleich bleiben (vermeidet repräsentationelles Frame Problem). Lösung eines Planungsproblem ist Folge von Aktionen oder eine partiell geordnete Menge von Aktionen, aus denen jede Reihenfolge eine Lösung ist. Erweiterungen zur STRIPS-Sprache (ADL) viele Erweiterungen zu STRIPS, z.b. ADL (Action Description Language), übergeordnete Metasprache: PDDL (Planning Domain Definition Language) Künstliche Intelligenz: 11. Planen Frank Puppe 7 Künstliche Intelligenz: 11. Planen Frank Puppe 8

Beispielprobleme Luftracht-Transport (Start, Ziel, 4 Aktionen) Beschreibung in STRIPS-Sprache Domänen Flugfracht-Transport (Air Cargo Transport) Reservereifen Problem (Spare Tire Problem) Klötzchen-Welt (Blocks World) Künstliche Intelligenz: 11. Planen Frank Puppe 9 Künstliche Intelligenz: 11. Planen Frank Puppe 10 Reservereifen-Problem (Start, Ziel, 4 Aktionen) Klötzchen-Welt (Start, Ziel, 2 Aktionen) Künstliche Intelligenz: 11. Planen Frank Puppe 11 Künstliche Intelligenz: 11. Planen Frank Puppe 12

Planen mit zustandsbasierter Suche Bewertungsheuristik kann aus Aktions- und Zielrepräsentation automatisch hergeleitet werden! Vorwärtsbasierte Suche ohne sehr gute heuristische Bewertungsfunktion sehr ineffizient Rückwärtsbasierte Suche positiver Effekt aus Aktion muss zu Literal aus Ziel passen Bestimmung des Zustands, in dem die Aktion ausgeführt werden kann ("Regression") Aktionen dürfen keine gewünschten Zustände zerstören Beispiel aus Luftfracht-Problem: Ziel: "At (C1, JFK) At (C2, SFO)"; Aktion für 1. Prädikat: Unload (c,p,a) mit Substitution {c/c1, p/p1, a/jfk} oder {c/c1, p/p2, a/jfk}. Bei erster Substitution ist neues Ziel "In (C1, P2) At (P2, JFK) At (C2, SFO)" Heuristiken für zustandsbasierte Suche Wünschenswert: zulässige Heuristik für A*-Suche Ansätze durch Problemvereinfachung Unabhängigkeit der Teilziele: Suche für jedes Teilziel eine Lösung und addiere die Kosten (Achtung: zu optimistisch, falls Teilpläne sich behindern, zu pessimistisch falls dieselbe Aktion in mehreren Teilplänen vorkommt) Vereinfache die Operatoren Entferne alle Vorbedingungen der Aktionen Entferne Vorbedingungen und negative Effekte der Aktionen Entferne negative Effekte der Aktionen ("empty delete list heuristic") Künstliche Intelligenz: 11. Planen Frank Puppe 13 Künstliche Intelligenz: 11. Planen Frank Puppe 14 Überlegungen zur Repräsentation von Plänen Ein Plan besteht aus einer Menge von Operatoren. Häufig weiß man, dass man bestimmte Operatoren braucht (z.b. rechten Schuh anziehen, linken Schuh anziehen), aber die Reihenfolge ist unklar. Least-Commitment Prinzip: Nur festlegen, wenn es gute Gründe gibt. Partielle Ordnung über Plänen. Manche Operatoren sind geord-net, andere nicht (im Gegensatz dazu total geordnete Pläne). Ein ähnliches Problem entsteht bei der Instantiierung von Variablen in Operatoren, z.b. kaufe (ware, geschäft). Wenn ware = Milch ist, dann braucht man sich noch nicht auf das Geschäft festlegen. Wenn alle Variablen gebunden sind, spricht man von voll instantiierten Plänen. Repräsentation von partiell geordneten Plänen Partial-order Planning (POP): Menge von Aktionen (einschl. Start- und Ende-Aktion) Kausale Kanten (causal link) zwischen Operatoren. Sie besagen, dass ein Operator eine Vorbedingung für einen anderen Operator herstellt. Reihenfolge-Constraints (ordering constraints) zwischen den Operatoren Noch offene Vorbedingungen Variablen-Ungleichheits-Constraints (inequality constraints) (Variable Konstante oder andere Variable) Künstliche Intelligenz: 11. Planen Frank Puppe 15 Künstliche Intelligenz: 11. Planen Frank Puppe 16

Vorgehen beim POP Lösen von Konflikten durch Verschieben Künstliche Intelligenz: 11. Planen Frank Puppe 17 (a) Konflikt: Aktion S3 steht in Konflikt zur kausalen Kante zwischen S1 und S2 (b) Konfliktlösung durch Verschieben vor S1 mit Reihenfolge-Constraint (c) Konfliktlösung durch Verschieben nach S2 mit Reihenfolge-Constraint Künstliche Intelligenz: 11. Planen Frank Puppe 18 Lösung des Beispiel - Problems Lösungen für Planungsprobleme Eine Lösung ist ein Plan, den der Agent ausführen kann, um sein Ziel zu erreichen, d.h. letztlich ein voll instantiierter, total geordneter Plan. Um die Flexibilität zu bewahren, sollen auch partiell geordnete und instantiierte Pläne als Lösungen zugelassen werden (z.b. falls parallele Ausführung möglich ist, oder falls der Plan als Teilplan weiterverwendet werden soll). Als Lösung gilt daher ein (partieller) vollständiger, konsistenter Plan. Vollständig, wenn jede Vorbedingung für einen Operator von einem anderen Operator hergestellt und nicht zwischendurch zerstört wird. Konsistent, wenn es keine Widersprüche in den Reihenfolge- oder Bindungs-Constraints gibt. Künstliche Intelligenz: 11. Planen Frank Puppe 19 Künstliche Intelligenz: 11. Planen Frank Puppe 20

komplexeres Beispiel für POP: Reservereifen Start: At (Flat, Axle) At (Spare, Trunk) Ziel: At (Spare, Axle) Aktionen (s.o.): Remove (Spare, Trunk), Remove (Flat, Axle), PutOn (Spare, Axle), LeaveOvernight () Initialer Plan: Start-Aktion mit Effekt: "At (Flat, Axle) At (Spare, Trunk)" Finish-Aktion mit Effekt: "At (Spare, Axle)" Auswahl von offenen Vorbedingungen & passenden Aktionen At (Spare, Axle) erfordert Aktion PutOn (Spare, Axle) Neues Ziel: At(Spare, Ground) At (Flat, Axle) At (Spare, Ground) erfordert Aktion Remove (Spare, Trunk) Neues Ziel: At(Spare, Trunk) At (Flat, Axle) POP - Reservereifen (2) Auswahl von offenen Vorbedingungen & passenden Aktionen Neues Ziel: At(Spare, Trunk) At (Flat, Axle) At (Flat, Axle) erfordert (u.a.) Aktion Leave (Overnight) Seiteneffekt: At(Spare, Ground) steht in Konflikt mit erreichtem Teilziel At(Spare, Ground), das für PutOn (Spare, Axle) gebraucht wird und über kausale Kante von Remove (Spare, Trunk) geschützt ist. Lösung: Verschieben der Aktion Leave (Overnight) vor Remove (Spare, Trunk) Künstliche Intelligenz: 11. Planen Frank Puppe 21 Künstliche Intelligenz: 11. Planen Frank Puppe 22 POP - Reservereifen (3) Auswahl von offenen Vorbedingungen & passenden Aktionen letztes offenes Ziel: At (Spare, Trunk) Wird von existierender Start-Aktion bereits erfüllt: Einführen einer kausalen Kante Start Remove (Spare, Trunk) Steht aber in Konflikt mit Effekt At (Spare, Trunk) von Leave (Overnight) Verschiebung vor Start-Aktion nicht möglich, nach hinten auch nicht (wegen letzter Verschiebung) Sackgasse Backtracking zum Ziel At(Spare, Trunk) At (Flat, Axle) At (Flat, Axle) erfordert zweite Aktion Remove (Flat, Axle) Fertiger Plan: Variablen-Ungleichheits-Constraints Variablen dürfen in Aktionen uninstanziiert bleiben, falls eine Festlegung nicht notwendig erscheint (z.b. wenn ein Klötzchen A auf ein anderes B gelegt wird, ist es egal, wo das Klötzchen A vorher lag). Wenn es Konflikte zwischen Variablenbelegungen in verschiedenen Aktionen gibt, werden diese durch Ungleichheits-Constraints repräsentiert. Künstliche Intelligenz: 11. Planen Frank Puppe 23 Künstliche Intelligenz: 11. Planen Frank Puppe 24

Heuristiken für POP Schwieriger als beim Zustandsbasierten Planen Kandidat für Gesamtheuristik: Anzahl der unerfüllten Vorbedingungen (ist aber nicht zulässig!) Heuristik für Auswahl einer unerfüllten Vorbedingung: die, die auf die wenigsten verschiedenen Arten erfüllt werden kann (ähnlich wie am-beschränkte-variable-heuristik bei Constraint-Problemen) Verbesserung der Heuristiken wichtig: Einführung einer speziellen Datenstruktur: "Planungs-Graphen" Künstliche Intelligenz: 11. Planen Frank Puppe 25 Planungsgraphen (planning graphs) Ziel: bessere Heuristiken für Planungssuche Methode: Erstelle einen Graph mit Ebenen (level; Zeitachse), der für jedes Literal angibt, wieviele Aktionen mindestens zu seinem Erreichen nötig sind. Aufbau: Die erste Ebene entspricht Startzustand und enthält alle dort ausführbaren Aktionen, deren Effekte die nächste Ebene definieren usw. Terminierung: Aufeinander folgende Ebenen sind identisch. Ausschluss: Man kann nicht alle Aktionen gleichzeitig ausfüh-ren, daher werden Ausschluss-Kanten (mutex = mutual exclusion) zwischen Aktionen und widersprüchlichen Literalen hinzugefügt Repräsentation: Ebene besteht aus Menge von Literalen & Aktionen, die möglicherweise zutreffen bzw. ausführbar sind, sowie mutex-kanten. Variablen können nicht dargestellt werden, d.h. Planungsprobleme müssen in Aussagenlogik repräsentiert sein. Künstliche Intelligenz: 11. Planen Frank Puppe 26 Beispiel für Planungsgraph Problembeschreibung: zugehöriger Planungsgraph (S0 = Startebene; A0 = im Startzustand ausführbare Aktionen usw; grau: mutex-kanten Extraktion von Heuristiken Planungsgraph kann als vereinfachtes Planungsproblem be-trachtet werden, aus dem sich gute Heuristiken herleiten lassen: Literale, die auf keiner Ebene erscheinen, sind unerreichbar. Die minimale Anzahl von Aktionen zum Erreichen eines Literals entspricht der Ebene, in der das Literal das erste Mal auftaucht. Verbesserung: Da der Übergang von einer Ebene zur ande-ren der parallelen Ausführung aller Aktionen entspricht, bringt eine Serialisierung der Aktionen (erreicht durch mutex-kanten zwischen allen Aktionen) bessere Schätzungen. Bei konjunktiven Zielen kann man die Kosten der Literale addieren. Verbesserung: Berücksichtigung der Mutex-Kanten Künstliche Intelligenz: 11. Planen Frank Puppe 27 Künstliche Intelligenz: 11. Planen Frank Puppe 28

Graphplan-Algorithmus Beispiel für Graphplan-Algorithmus Idee: Direkte Extraktion einer Lösung aus dem Plangraphen Voraussetzung: Alle Zielliterale sind auf einer Ebene ohne Mutex- Kanten (falls nicht erfüllt, expandiere Plangraphen). Algorithmus: Starte in letzter Ebene des Plangraphen und führe alle konfliktfreien Aktionen aus, die die Zielliterale herleiten und wiederhole das solange, bis die Startebene erreicht ist und alle Ziele erfüllt sind. Jede Aktion kostet 1. Aufwand: Exponentiell (da Plangraphen in polynomialer Zeit konstruiert werden können); erfordert gute Heuristiken, z.b. wähle immer die "teuersten" Literale zuert. Terminierung kann bewiesen werden. Künstliche Intelligenz: 11. Planen Frank Puppe 29 Künstliche Intelligenz: 11. Planen Frank Puppe 30 Planen mit Aussagenlogik (1) Idee: Statt ein Theorem zu beweisen (zu ineffizient für Planungsprobleme im Situationskalkül) wird die Erfüllbarkeit eines logischen Satzes getestet: Startzustand alle möglichen Aktionsbeschreibungen Ziel Satz enthält alle aussagenlogischen Varianten der Aktionen Ein Modell, das den Satz erfüllt, setzt die Aktionen, die zum korrekten Plan gehören, auf wahr und die übrigen auf falsch. Wenn das Planungsproblem unlösbar ist, ist der Satz unerfüllbar Behandlung der Zeit: Es werden unterschiedliche Aussagen für die Aktionen und Zustände in jedem Zustand (Zeitpunkt) benötigt. Die Lösung wird iterativ in 1 Zeitschritt, in 2, usw. gesucht. Planen mit Aussagenlogik (2) Algorithmus-Skizze: Für Planlänge = 0 bis MaxPlanlänge tue Transformiere (Problem, Planlänge) in Aussagenlogik Löse transformiertes Problem mit einem SAT-Problemlöser (z.b. DPLL oder WalkSat) Extrahiere aus der Lösung einen Plan Transformationsprozess entscheidet über Korrektheit und Effizienz Trotz sehr vieler Klauseln mit SAT-Problemlösern häufig effizient bearbeitbar (z.b. optimale Pläne der Länge 30 mit Dutzenden von Klötzchen in der Klötzchen-Welt) Künstliche Intelligenz: 11. Planen Frank Puppe 31 Künstliche Intelligenz: 11. Planen Frank Puppe 32

Analyse von Planungsansätzen Kombination von Suche und Logik Hauptschwierigkeit: Kontrolle der kombinatorischen Explosion Konkurrierende Ansätze; Feld ist derzeit noch stark in Bewegung Wettkampf automatischer Planer 2000 regelmäßige Wettkämpfe auf AIPS (International Conference on AI Planning Systems), Beispiel aus Jahr 2000: 5 Bereiche mit jeweils 50-100 Aufgaben: Klötzchenwelt (mit 15-50 Klötzchen) Logistik (15-40 Pakete an verschiedene Orte) Ressourcen-Scheduling (15-50 einzuplanende Objekte) Solitäres Kartenspiel FreeCell Fahrstuhl-Controller 15 Planungssysteme; Sieger: FF, Freiburg (Fast Forward; nutzt Planungsgraphen mit zustandsbasierter Vorwärtsverkettung und lokaler Suche ) TALplanner, Schweden (vorwärtsverkettet, domänenabhängig) Quelle: AI-Magazine 22(3), 47-106 Künstliche Intelligenz: 11. Planen Frank Puppe 33 Künstliche Intelligenz: 11. Planen Frank Puppe 34 POP: Planungsalgorithmus mit partieller Ordnung (1) Künstliche Intelligenz: 11. Planen Frank Puppe 35 Künstliche Intelligenz: 11. Planen Frank Puppe 36

POP: Planungsalgorithmus mit partieller Ordnung (2) Planen mit partiell instantiierten Operatoren Wenn man den POP-Algorithmus auf den Umgang mit partiell instantiierten Operatoren erweitert, ergibt sich ein Problem: Ist ein Operator mit einem Effekt wie Ort(x) eine Bedrohung für eine Vorbedingung Ort(ZuHause)? mögliche Bedrohung (possible threat): Auflösen mit einem Gleichheitsconstraint, d.h. einer sofortigen Festlegung der Variable (z.b. x = HWS). Auflösen mit einem Ungleichheitsconstraint (z.b. x ZuHause). Flexibler, aber erfordert anderen Unifikationsalgorithmus. Künstliche Intelligenz: 11. Planen Frank Puppe 37 Verschieben, indem die mögliche Bedrohung erst dann ernst genommen wird, wenn sie gesichert ist (d.h. die Variable gebunden ist) Künstliche Intelligenz: 11. Planen Frank Puppe 38 und in diesem Fall eine Verschiebung zur Auflösung der Inkonsistenz Partielle Operator-Instantiierung im Planungsalgorithmus Knowledge Engineering am Beispiel der Klötzchen-Welt ( 1. Ausreichendes Verständnis der Domäne Man kann Klötzchen stapeln, wobei nur ein Klötzchen auf ein anderes paßt. Der Roboterarm kann ein freies Klötzchen ergreifen und auf ein anderes oder auf den Tisch stellen. Das Ziel ist immer eine Konfiguration von Klötzchen. 2. Entscheidung über Vokabular von Prädikaten, Funktionen, Konstanten Klötzchen werden durch Konstanten repräsentiert. Das Prädikat Auf(b,x) beschreibt, dass ein Klötzchen auf einem anderen oder auf dem Tisch steht. Bewegen(b,x,y) beschreibt, dass ein Klötzchen b, das auf x steht, auf y gestellt wird. Um auszudrücken, dass ein Klötz-chen frei ist, wird ein Prädikat Frei(x) eingeführt, da die Negation von Auf in der STRIPS-Sprache nicht als Vorbedingung erlaubt ist. Künstliche Intelligenz: 11. Planen Frank Puppe 39 Künstliche Intelligenz: 11. Planen Frank Puppe 40

Knowledge Engineering am Beispiel der Klötzchen-Welt (2 3. Kodierung von allgemeinem Wissen über die Domäne Op-Name: Bewegen(b,x,y) Vorbedingung: Auf(b,x) & Frei(b) & Frei(y) Effekt: Auf(b,y) & Frei(x) & Auf(b,x) & Frei(y) Roboterplanungs-Beispiel Problem: Prädikat Frei wird auch auf den Tisch angewandt, der aber immer frei ist, d.h. man kann immer etwas auf den Tisch bewegen. Lösung: Geringfügige Änderung der Interpretation von "Frei" und Einführung eines neuen Operators: Op-Name: BewegeAufTisch (b,x) Vorbedingung: Auf(b,x) & Frei(b) Effekt: Auf(b,Tisch) & Frei(x) & Auf(b,x). Verbleibende Probleme: Künstliche Intelligenz: 11. Planen Frank Puppe 41 Planer kann manchmal wahlweise Bewegen(b x Tisch) oder Künstliche Intelligenz: 11. Planen Frank Puppe 42 Aktionen des Roboters Künstliche Intelligenz: 11. Planen Frank Puppe 43