5 Suche
12. Vorlesung: Bestensuche; Goal Trees
#
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.
„best-first search“
! " %
Eine ganze Reihe von Kontrollstrukturen für die Suche ist entwickelt worden, die hier in der Übersicht aufgeführt sind.
&
Breitensuche
&
generate and test
&
branch and bound
&
semi-independent control
&
hill climbing
&
A*-Algorithmus
&
Problemreduktion
&
AO*-Algorithmus
&
constraint satisfaction
&
semantische Metaregeln
problem- unabhängig
problem- spezifisch
Tiefensuche
Tiefensuche Bestensuche Bei Bedarf siehe auch:
Handbook of Artificial Intelligence, Volume 1, Kap. II – „Search“
#
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
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
Geld verdienen
Essen stehlen
Geld borgen
Arbeit finden
Buch schreiben
zur Bank gehen
Sicherheiten finden
Arbeitsamt
konsultieren Bewerbung
vorbereiten Termin
machen Anzug
anziehen
ODER-Knoten
UND-Knoten
! " *
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.
+ , - . / 0 1 1
2
3 4 5 6 7 5 8 9 6 : - ; <
=
> 7 4 ? / 9 @ A 4 / ?
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 KP RRR
S KC 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 DG 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
KM ] X M bV M L D KX M C I c ^ ``D
E C I U C M d
! " e f ODER-Knoten durch Ziffern,
UND-Knoten durch Buchstaben gekennzeichnet
f SUCCESS-Knoten sind formal UND-Knoten, die keine Tochter- knoten haben (Blattknoten)
f Jeder nonsuccess- UND-Knoten kann einen zugeordneten CONSTRAINT haben
(sonst: „purer“
UND-ODER- Baum)
f Ein UND-Knoten ist gelöst, wenn alle Tochterknoten so gelöst sind, das ihr CONSTRAINT erfüllt ist.
f Ein ODER-Knoten ist gelöst, wenn einer der Tochterknoten gelöst ist.
f
Der Goal Tree ist gelöst, wenn sein Wurzelknoten gelöst ist.
(grossvater fritz ?u)
(grossvater ?x ?y) (grossvater ?x ?y)
(vater ?x ?z) (vater ?z ?y) (vater ?x ?z) (mutter ?z ?y)
(vater fritz
hans)
(vater fritz klara)
(vater fritz
hans)
(vater fritz klara)
(vater fritz
hans)
(vater fritz klara)
(mutter klara peter)
1 2
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
! "
#
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 DE C I cC C KM 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 KC 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 RR 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
&
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 Operatoren erreichen kann
&
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 die Lösung haben (constraint)
Start
Ziel Teilziele
Ziel
! " *
#
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
Grammatik mit Regeln
&
ATN-Parsing als Suchproblem
&
Anfängliche Wahl der ersten Regel zieht weitere
Festlegungen nach sich (was für eine np? usw.)
! " e
#
Der Suchraum eines Syntax-Parsers kann dadurch eingeschränkt werden, daß Semantikbetrachtungen zur Steuerung des Parsers herangezogen werden.
#
entspricht der Verwendung einer Zustandsbewertungs- funktion 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.
$ 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