Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlußfolgern IV Logisch Handeln 11. Planen 12. Praktisches Planen 13. Planen und Handeln V Unsicheres Wissen und Schließen VI Lernen VII Kommunizieren, Wahrnehmen und Handeln Praktisches Planen Beispiel Optimum-AIV: Assemblierung, Integration und Verifikation von Raumschiffen in Europa: Planung, Planungsüberwachung und Planmodifikation. Oft Trennung zwischen Planung (liefert partiell geordnete Pläne) und Scheduling (Zuordnung der Arbeitsschritte zu Zeitintervallen der Resourcen wie Maschinen und Personal). Integration ist vorteilhaft bei reaktiven Planmodifikationen. Notwendige Erweiterungen der STRIPS-Sprache: • Hierarchische Planung • Komplexe Operatorvorbedinungen: Allquantoren, bedingte Aktionen • Zeitrepräsentation (Termintreue, Dauer einer Ressourcen-Belegung) • Ressourcen-Verbrauch Optimum-AIV basiert auf O-Plan (Open Planing Architecture, Planer mit partiellen Ordnungen und Erweiterungen für obengenannte Probleme sowie Steuerungsmöglichkeit für Heuristiken). Job Shop Scheduling Bisher geringe Automatisierung sowohl bei der Arbeitsplanerstellung als auch beim Scheduling zur Fertigung von Werkstücken. Beispiele für Einsatz von Scheduling-Algorithmen in Fabriken: • Traditionelle Ansätze: PERT, Critical Path Method. • Wissensbasierte Ansätze: TOSCA (Einsatz bei Hitachi; basiert auf O-Plan), ISIS (Einsatz für Westinghouse Turbinen-Fabrik). Notwendigkeit automatischen Schedulings zur Einsatzplanung im Weltraum: z.B. bei Beobachtungsplanung mit Satelliten (PlanERS-1) oder beim Hubble-Teleskop. Hierarchische Zerlegung Problem: Pläne auf hoher Abstraktionsebene (z.B. Gehe (Supermarkt), Kaufe (Milch)) sind nicht ausführbar, während Pläne auf niedriger Abstraktionsebene (z.B. Gehe-Forwärts (1 cm), Drehung (1 Grad)) nicht planbar sind. Lösung: Plane mit abstrakten Operatoren und verfeinere sie später. Positiver Seiteneffekt: Abstrakte Pläne sind häufig wiederverwendbar und können in einer Bibliothek abgespeichert werden (Skelett-Planen). Beispiel: Baue (Haus) Abstrakter Plan: Beschaffe (Genehmigung), Engagiere (Arbeiter), Errichte (Haus), Bezahle (Arbeiter). Erweiterung der STRIPS-Sprache: 1. Einführung von nicht-primitiven Operatoren. 2. Erweiterung des Planungsalgorithmus zur Ersetzung von nichtprimitiven Operatoren. Beispiel für hierarchische Zerlegung Umgang mit nicht-primitiven Operatoren 1. Unterscheidung zwischen primitiven und nicht-primitiven Operatoren (relativ zum Agenten). 2. Einführung einer Zerlegungsmethode für nicht-primitive Operatoren, die in einen Plan zerlegt werden können (analog zur Prozedur- oder Makro-Definition in Programmiersprachen). Ein Plan p implementiert einen Operator o korrekt und vollständig, wenn er die Effekte von o unter der Voraussetzung der Vorbedingungen von o erreicht, d.h. - p muß konsistent sein. - Jeder Effekt von o muss durch mindestens einen Operator von p bewirkt (und nicht durch einen späteren Operator zerstört) werden. - Jede Vorbedingung eines Operators in p muss entweder durch eine Vorbedingung von o oder durch einen früheren Operator in p bewirkt werden. Dies garantiert das korrekte Ersetzen von nicht-primitiven Operatoren, falls mögliche Bedrohungen der neuen Operatoren auf die vorhandenen Operatoren beachtet werden. Algorithmus-Modifikationen von POP zu HD-POP 1. Zusätzlich zum Erreichen unerfüllter Teilziele jetzt eine zweite Erweiterungsprozedur, die Verfeinerung abstrakter Operatoren. Abbruchkriterium umfasst nicht nur, dass alle Teilziele erreicht sind, sondern auch, daß alle Operatoren primitiv sind. 2. Der Algorithmus bekommt einen Plan statt einem Ziel als Eingabe, da Verfeinerungen oft mit Skelettplänen beginnen. Ziele können auch als Plan dargestellt werden, der nur Start- und Zielknoten enthält. 3. Ersatz eines nicht-primitiven durch primitive Operatoren im Plan: - Operatoren: Füge die primitiven Operatoren hinzu und entferne den nicht-primitiven Operator. - Variablen-Bindungs-Constraints: Füge die neuen Bindungen hinzu und prüfe auf Widersprüche. - Reihenfolge-Constraints zwischen den Operatoren: Verfeinere die Reihenfolge-Constraints des nicht-primitiven Operators zu denen der verfeinerten Operatoren gemäß dem Least-Commitment-Prinzip. - Kausale Kanten zwischen Operatoren wie Reihenfolge- Constraints. Algorithmus für Hierarchisches Planen Beispiel für Zerlegungsschritt Analyse der hierarchischen Zerlegung Folgende Eigenschaften sind für die hierarchische Zerlegung wichtig: - Absteigende Lösungseigenschaft (Downward Solution property): Wenn p eine abstrakte Lösung ist, dann gibt es eine primitive Lösung, zu der p eine Abstraktion ist. - Aufsteigende Lösungseigenschaft (Upward Solution property): Für einen abstrakten inkonsistenten Plan gibt es keine konsistente Lösung mit primitiven Operatoren. Der Suchaufwand beim hierarchischen Planen steigt linear bzgl. Operatoren pro Hierarchieebene für jeden zu verfeinernden Operator (unter Vernachlässigung des Aufwandes zur Behandlung von Constraints und zur Auflösung von Bedrohungen). Suchvorteile der auf- und absteigenden Lösungseigenschaft Komplexitätsgewinn der hierarchischen Zerlegung Falls diese Eigenschaften gelten, reduziert sich der Suchaufwand (bei nur einer Lösung pro Hierarchieebene) für die hierarchische Zerlegung von d O(bn) auf O(bsd), wobei n = sd [genau: ∑ i=1 bsi= O(bsd)] b = Verzweigungsfaktor (für primitive und nichtprimitive Operatoren) n = Anzahl der primitiven Operatoren im Plan s = Operatoren pro Zerlegungsebene d = Tiefe des hierarischen Plans Bei b=3, s=4, d=3 ergibt sich ein Unterschied von 364 ≈ 1030 zu 255 zu betrachtenden Plänen. Falls die auf- und absteigende Lösungseigenschaften nicht gelten, gibt es keine Ersparnis im schlechtesten Fall. Die aufsteigende Lösungseigenschaft gilt immer, wenn die Zerlegungsmethode die Bedingung einhält, daß ein Operator des verfeinerten Plans alle Vorbedingungen und Effekte des abstrakten Operators besitzt (unique main subaction condition). Suchraum-Verkleinerung bei hierarchischer Zerlegung Beispiel für Problem ohne absteigende Lösungseigenschaft Erweiterungen zum hierarchischen Planen (1) Zerlegung und Mehrfachbenutzung Problem: Oft ist es vorteilhaft oder notwendig, in verschiedenen Teilplänen einen Operator mehrfach zu benutzen, z.B. bei dem Problem "Baue ein Haus und eine Garage" der Schritt des "Kaufen von Land". Lösung1: Bei einer Dekomposition einen Backtracking-fähigen Planungsschritt einführen, der zunächst versucht, bereits vorhandene Operatoren zu benutzen. Lösung2: Plane jeden Zerlegungsschritt unabhängig und verbessere die Teilpläne nachträglich. Erweiterungen zum hierarchischen Planen (2) Exakte und ungefähre Abstraktion Der Begriff "hierarchisches Planen" oder "hierarchische Zerlegung" wird oft auch für die verwandte Idee benutzt, bei der abstrakte Operatoren weniger Vorbedingungen erfüllen müssen als konkrete Operatoren (Ausblenden von Details). Jedoch sind diese ungefähren Abstraktionen strenggenommen inkorrekt. Beispiel: Operator Kaufen (x) Effekt: Haben (x) & ¬ Haben (Geld) Vorbedingung: 1. Verkaufen (Geschäft, x) & 2. Am-Ort (Geschäft) & 3. Haben (Geld) Vorbedingungen mit niedrigeren Nummern sind kritischer. Es können drei verschieden abstrakte Versionen des Operators kaufen eingeführt werden, die jeweils eine zusätzliche Kritikalitätsstufe berücksichtigen. Allerdings hängt dabei die Kritikalitätsstufe nicht vom Kontext ab (z.B. ist Haben (Geld) nur bei niedrigen Beträgen unkritisch). Bedingte Effekte Bei Operatoren mit bedingten Effekten hängt der Effekt von der Situation ab, in der der Operator angewandt wird. Bsp.: Operator Bewegen (b,x,y) Vorbedingung: Auf (b,x) & Frei (b) & Frei (y) Effekt: Auf (b,y) & Frei (x) & ¬ Auf (b,x) & ¬ Frei (y) falls y ≠ Tisch Erforderliche Änderungen im Planungsalgorithmus: 1. Falls ein bedingter Effekt angestrebt wird, muß das Erreichen der Bedingung mit einer kausalen Verbindung geschützt werden. 2. Wenn bedingte Effekte eine Bedrohung zu einer kausalen Verbindung darstellen, dann muß verhindert werden, daß die Bedingung gilt: Die Technik der Konfrontation (Confrontation) betrachtet die Negation der Bedingung als zusätzliche Vorbedingung des Operators. Algorithmuserweiterung für bedingte Effekte Negative, disjunktive, quantifizierte Ziele (1) Negative Ziele: Die Konfrontation sucht Ziele der Art ¬p, was in STRIPS-Regeln nicht erlaubt war. Zusätzliche Komplexität: Unifikationsalgorithmus muß p und ¬¬p matchen. Außerdem muß der Startzustand gesondert behandelt werden, da ¬p mit dem Startzustand matchen soll, falls p nicht erwähnt ist. Disjunktive Vorbedingungen (p oder q) können als zwei verschiedene Operatoren behandelt werden. Wenn sie in einem Operator zusammengeführt werden, wird nichtdeterministisch ein Element gewählt und das andere als Rücksetz-Punkt gespeichert (ähnlich wie bei der Auswahl der Operatoren). Negative, disjunktive, quantifizierte Ziele (2) Disjunktive Effekte sind dagegen schwer zu behandeln, da sie einen Indeterminismus einführen (Zufallsoperator). Im einfachsten Fall kann man den Indeterminismus durch eine gezielte Aktion beseitigen (z.B. beim Wählen gegebenenfalls das Wahlergebnis manipulieren). Im allgemeinen erfordern sie alternative Folgepläne. Universelle Quantifizierung in Vorbedingungen (Zielen): Ausdruck wird expandiert. Universelle Quantifizierung in Effekten: Keine Expansion, da oft nicht alle Einzeleffekte gebraucht werden. Stattdessen Sonderbehandlung bei der Betrachtung von Bedrohungen und bei der Auswahl von anwendbaren Operatoren. Erweiterter Planungsalgorithmus (1) Erweiterter Planungsalgorithmus (2) Ressourcen-Constraints Viele Aktionen erfordern und verbrauchen Ressourcen, z.B. Geld beim Einkaufen oder Benzin beim Fahren. Für die Operatoren bedeutet das: - Ungleichheitstests in ihren Vorbedingungen, ob genügend Ressourcen vorhanden sind. - Zuweisungen in den Effekten, die die Ressource verbrauchen. - Oft spezielle Operatoren, die die Ressourcen auffüllen. Bei der Planung ist es meist nützlich, knappe Ressourcen vorab zu überprüfen und gegebenenfalls die Ziele modifizieren. Auch Zeit kann als Ressource aufgefasst werden. Dabei gelten folgende Besonderheiten: - Die Zeit von parallel ausgeführten Aktionen addiert sich nicht, sondern es wird das Maximum gewählt. - Die Zeiten der Aktionen müssen konsistent zu den Reihenfolgeconstraints der Aktionen sein. - Zeit kann nicht aufgefüllt werden. Beispiel für Resourcen Wettkampf automatischer Planer 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; domänenunabhängig) – TALplanner, Schweden (vorwärtsverkettet, domänenabhängig) • Quelle: AI-Magazine 22(3), 47-106