5 Suche 12. Vorlesung: Bestensuche; Goal Trees best-first search einfache Bestensuche: als Bewertungsfunktion g(n) eines Knotens n wird der tatsächliche Weg vom Startzustand zu diesem Knoten benutzt Bewertungsfunktion eines Knotens n beim A*-Algorithmus: f(n) = g(n) + h(n) g(n): tatsächlicher Weg des aktuell besten Weges vom Startknoten zum Knoten n h(n): geschätzter Aufwand für den verbleibenden Weg vom Knoten n zum Zielknoten Der geschätzte Aufwand h(n) für den verbleibenden Weg muß den tatsächlichen Aufwand h*(n) unterschätzen oder identisch sein. Nur dann wird der optimale Weg vom Start zum Ziel gefunden.! "
Eine ganze Reihe von Kontrollstrukturen für die Suche ist entwickelt worden, die hier in der Übersicht aufgeführt sind. Bei Bedarf siehe auch: Handbook of Artificial Intelligence, Volume 1, Kap. II Search Breitensuche generate and test branch and bound semi-independent control hill climbing A*-Algorithmus Problemreduktion AO*-Algorithmus constraint satisfaction semantische Metaregeln Tiefensuche Tiefensuche Bestensuche Vorwärtssuche: jede Operator-Anwendung erzeugt nur ein neues Objekt (einen neuen Zustand im Problemraum ) ZUSTANDSRAUM-REPRÄSENTATION Rückwärtssuche: 1. Fall: wie oben (jeweils ein neues Unterziel) Bsp.: LOGIC THEORIST 2. Fall: eine Operator-Anwendung erzeugt mehrere Unterziele, die jeweils in Konjunktion zu lösen sind problemunabhängig problemspezifisch! " % PROBLEMREDUKTIONS- REPRÄSENTATION! " '
Spezialfall des allgemeinen Suchproblems: Erfüllung eines Ziels, das sich in Teilziele zerlegen läßt. Wenn es mehrere Methoden, die Erfüllbarkeit von (Teil-)zielen zu prüfen, suche eine erfolgreiche. Zwei Knotentypen: ODER-Knoten: alternative Methoden UND-Knoten: simultan zu erfüllende Ziele (Ziel wird durch Konjunktion von Teilzielen ersetzt) SUCCESS-Knoten ( Erfolgsknoten ): Blattknoten, das sind UND- Knoten, die sich nicht weiter in Teilziele aufspalten lassen! " ( Essen ODER-Knoten Geld verdienen Essen stehlen Geld borgen UND-Knoten Arbeit finden Buch schreiben zur Bank gehen Sicherheiten finden Arbeitsamt konsultieren Bewerbung vorbereiten Termin machen Anzug anziehen! " )
+, -. / 0 1 1 2 3 4 5 6 7 5 8 9 6 : - ; < = > 7 4? / 9 @ A 4 /? In Goal Trees formulieren CONSTRAINTS Randbedingungen an die Lösung eines (nonsuccess-)und-knotens, die von den in Konjunktion zusammenzusetzenden Teillösungen des UND-Knotens gemeinsam erfüllt werden müssen. Zum Beispiel könnte gefordert werden: daß die Summe der Kosten der Teillösungen durch einen Wert beschränkt ist daß die Variablenbindungen gleich benannter Variablen in den Teillösungen auch tatsächlich gleich sind, etc.! " * S K C T F M U O C U K M P V M P C M W N X M G D I F K M D G Y F M U C M Z [ S \ ] M X D C M J ^ G G C M U V I N H U K C _ C K ` ` a G V M P C M K M ] X M b V M L D K X M C I c ^ ` ` D E C I U C M d C D E F G G C H I F J C I K L F M K G N H F O C I C K M P Q M P K P R R R! " B
f f f f f f ODER-Knoten durch Ziffern, UND-Knoten durch Buchstaben gekennzeichnet SUCCESS-Knoten sind formal UND-Knoten, die keine Tochterknoten haben (Blattknoten) Jeder nonsuccess- UND-Knoten kann einen zugeordneten Ein UND-Knoten ist gelöst, wenn alle CONSTRAINT Tochterknoten so gelöst sind, das ihr haben CONSTRAINT erfüllt ist. (sonst: purer Ein ODER-Knoten ist gelöst, wenn einer UND-ODER- der Tochterknoten gelöst ist. Baum) Der Goal Tree ist gelöst, wenn sein Wurzelknoten gelöst ist.! " e (grossvater?u) (grossvater?x?y) (grossvater?x?y) 1 2?x?z)?z?y)?x?z) (mutter?z?y) hans) klara) hans) klara) hans) klara) (mutter klara peter) FRAGE: Was sind hier die Constraints an den UND-Knoten? daß die Variablenbindungen gleich benannter Variablen in den Teillösungen auch tatsächlich gleich sind! " g
Problem: Nach dem bisher Gesagten ist Goal-Tree-Suche nicht ohne weiteres als Spezialfall des allgemeinen Suchalgorithmus search search untersucht nur Alternativen (ODER-Knoten), keine simultan zu erfüllenden Teilziele (UND-Knoten)! Idee: Zu einem gegebenen Goal Tree wird ein Suchraum als Raum von Teillösungen des Goal Trees definiert. Die Töchter eines Knotens sind Fortsetzungen des Knotens, bei denen genau eine weitere Festlegung getroffen wird.! " h U C C i j M D E C I c C C K M C M k l ` F M m F ` G n F V J G D I V L D V I J a P ` K N H C I o L D K X M C M p U K C C I E X P C M E C I U C M L a M M C M p V J U F G k _ X q r X F ` m U C G r X F ` _ I C C G s V C I c ^ ` ` C M R R R! "
! " % ACHTUNG: Es gibt alternative mögliche Extensionen der UND-Knoten, die aber keine echt verschiedenen Pläne erbringen. Die Reihenfolge der Generierung von Teilplänen kann jedoch die Größe des Suchraums beeinflussen!! " '
Teillösung eines Knotens n: ein Teilbaum mit Wurzel n, der falls er einen ODER-Knoten m enthält, auch genau einen der Tochterknoten von m enthält Vollständige Lösung eines Knotens n: eine Teillösung von n, die, falls sie einen UND-Knoten m enthält, (1) auch alle Tochterknoten von m enthält und (2) deren Lösungen ferner C(m), dem Constraint an m, genügen Lösung eines gesamten Goal Trees: eine vollständige Lösung seiner Wurzel 0 Fortsetzung s2 (Extension) einer Teillösung s1: falls s2 ein Baum mit allen Knoten von s1 ist und zusätzlich 0 oder mehrere Knoten mit weiteren Festlegungen enthält! " ( Start Ziel Ziel Suchraum t Suchproblem: charakterisiert durch Startzustand und Zielzustandsbeschreibung (goal-state description) t Operatoren: können einen Zustand in einen anderen transformieren t Suchraum: Menge aller Zustände, die man durch Anwendung einer Folge von Teilziele Goal Tree t beschreibt eine Situation, in der ein Ziel durch das Lösen von Teilzielen erreicht werden kann t jedes Teilziel kann aus mehreren Teilen bestehen, die konsistent zu lösen sind t Zwei Knotentypen: ODER: für Alternativen UND: für simultane Teilziele t jeder nonsuccess-und-knoten kann eine Randbedingung an Operatoren erreichen kann die Lösung haben (constraint)! " )
Jeder Goal Tree kann in einen normalen Suchraum alternativer Möglichkeiten umformuliert werden! Ein Goal Tree ist ein abstraktes Objekt, das einen Alternativenraum aufspannt und in der Regel nicht explizit im Computer repräsentiert ist. Denkweise für Teillösungen im zugeordneten Suchraum: bisher gemachte Festlegungen noch mögliche Festlegungen (eingeschränkt durch die bisherigen) u v w x y w v z { } ~ v v w v ~ ƒ ~ v u v w v ƒ v ˆ ~ z v z Š x Œ x x ƒ Ž v w v v Œ v v ~ v w x Œ v } ~ v ~ ƒ v w v v Œ v Ž } ~ v ƒ v ~ } ƒ v ~ ƒ v ~ v } ~ v Š Œ z w Ž v w ƒ ~ Ž v ~ v w x Œ v ~ v v Ž z v v w Œ v x Ž ~ } w x! " * ATN-Parsing als Suchproblem Anfängliche Wahl der ersten Regel zieht weitere Festlegungen nach sich (was für eine np? usw.) Grammatik š mit š Regeln œ ž š š! " B
Der Suchraum eines Syntax-Parsers kann dadurch eingeschränkt werden, daß Semantikbetrachtungen zur Steuerung des Parsers herangezogen werden. entspricht der Verwendung einer Zustandsbewertungsfunktion für search: Schätzung der Distanz zum nächsten Zielzustand bzw. der Kosten für den nächsten Zielzustand Kostenmaß wäre anzugeben für die semantische Plausibilität von Teil- Parses Effekt: semantisch plausiblere Zerlegungen würden zuerst weiter exploriert werden.! " e eine weitere Anwendung von Goal Trees Spielbaum = Suchraum altenativer Spielverläufe Aufgabe: Finde eine vollständige Gewinnstrategie In Abschnitt 5.4 [Charniak McDermott] findet man Erläuterungen zu Bewertungsfunktion (static board evaluator) look-ahead-depth Minimax search Alpha-Beta-Pruning (Frage jeweils: Was kann bei der Suche unexploriert bleiben, da garantiert irrelevant?) Charniak McDermott, Kapitel 5, Seite 270-281 Bei weiterem Interesse: Seite 281-293! " g