nicht-primitiven Operatoren. - Lehrstuhl für Informatik VI

Werbung
Ü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
Herunterladen