5 Suche
11. Vorlesung: Suchprobleme und Suchalgorithmen
#
Was sind Ziele und Vorhaben der KI?
# Wie lassen sich Probleme durch (geschickte) Suche lösen?
#
Wie lassen sich Datenstrukturen zur Darstellung von Wissen maschinenverarbeitbar anlegen?
# Wie lassen sich maschinell Schlußfolgerungen aus Annahmen ziehen?
#
Für welche Ziele soll Computer-Intelligenz eingesetzt werden?
! $
Interne Repräsentation
Sehen
Sprache
verstehen Sprechen
Robotik
Suche und Deduktion
Planen Lernen
Interne Repräsentation
Interne Repräsentation
Interne Repräsentation (angelehnt an Charniak & McDermott, Kap. 1)
PERCEIVE REASON ACT
#
Datenbasis
beschreibt die aktuelle Situation des Aufgabenbereichs und das Ziel der Problemlösung (in symbolischer Repräsentation)
#
Operatoren
können die Datenbasis manipulieren
#
Kontrollstrategie
trifft Entscheidungen über die Auswahl von Operatoren zur schrittweisen Problemlösung
Datenbasis
Operatoren Kontrollstrategie
! &
Apply Method
Change Rep.
Select Method Internal Representation
General Knowledge
Method Store
Datenbasis
Operatoren Kontroll- strategie
(Newell & Simon 1972)
SEND + MORE MONEY
! (
) * + , * - . * / 0 * 1 2 3 -
. * 4 0 * + 2 * -
. * 1 0 * 5 6 * / 7 * 4
6 * 4 7 * 8
6 * 8 7 * 9
6 * : 7 * 4
6 * 9 7 * :
6 * ; 7 * 9
. * 8 0 * ; 6 * / 7 * 4
6 * 4 7 * 8
6 * 1 7 * :
6 * : 7 * 4
6 * 5 7 * 8
6 * 9 7 * :
. * : 0 * 1 2 3 -
. * 5 0 * +
. * 9 0 * 5 6 * / 7 * 1
6 * 4 7 * +
6 * 1 7 * 5
6 * 8 7 * ; < * / = * 9
< * 4 = * ;
< * 1 2 * -
< * : > * 4 = * 1
2 * /
DONALD + GERALD ROBERT
) * +
3 @ A B B A C D E E * 6 F = F ) F 7 F 2 F . F < F > F 0 F ,
3 G H I H B D E E * - F / F 4 F 1 F 8 F + F : F 5 F 9 F ;
3 A J K C A L L H M N D E E * 3 @ A B B A C D O P L Q R P @ S A 3 G H I H B D
3 T N M U @ A G I A Q L B P B A D E E * 3 A J K C A L L H M N D F 3 A J K C A L L H M N D V 3 T N M U @ A G I A Q L B P B A D
3 M K A C P B M C D E E * 6 L L A C B W 3 A J K C A L L H M N D X
Suche nach einer Folge von Operatoren, deren schrittweise Anwendung auf die Problemrepräsentation in der Datenbasis einen Ausdruck erzeugt, der die Problemlösung darstellt.
„Suchraum“ für
DONALD + GERALD = ROBERT
:! Y
#
gegeben durch
Z Beschreibung eines Startzustands
Z Beschreibung eines Zielzustands
Z Menge von Operatoren, die jeweils einen Zustand in einen anderen überführen
# Lösung eines Suchproblems
Z konkreter Zustand, der der
Beschreibung eines gewünschten Zielzustands genügt
Z Folge von Operatoren, deren Anwendung vom Start- zum Zielzustand führt (Pfad)
#
Unterschiedliche Anforderungen
Z irgendeine Lösung finden
Z alle Lösungen finden
Z eine „optimale“ Lösung finden
Z bestätigen, daß keine Lösung existiert
Nachfolger eines Zustandes S:
ein Zustand S', der von S aus durch eine Folge von Operatoranwendungen erreichbar ist.
Unmittelbarer Nachfolger eines Zustandes S:
durch Anwendung eines Operators (Folge der Länge 1) erreichbar.
(" S generiert S' ") Suchraum (search space)
alle durch Operatoranwendungen vom Anfangszustand erreichbaren Zustände
Darstellung von Suchräumen durch Bäume:
• Wurzelknoten: Anfangszustand
• die Knoten für Nachfolgerzustände werden durch Kanten mit ihren Vorgängerknoten verbunden
Ob ein Zielzustand oder ein Pfad ("Plan, wie der Zielzustand erreichbar ist) gesucht wird, ist von unter- geordneter theoretischer Bedeutung, da Zustands- beschreibungen den Pfad einschließen können.
!
Start- zust.
Zust.K
Zust.B Zust.J
Zust.C Zust.E Zust.G
Zust.H Zust.M
Zust.L
Zust.D Ziel-
zust.2 Ziel-
zust.1
Op.A Op.B Op.C Op.G
Op.D Op.H Op.B
Op.E
Op.A
Op.F
Op.D Op.F Op.C
Op.E Op.C
[Zyklus]
! "
Ebene 1
2
3
4
5
6
7 unendlich langer Zweig
Op.A Op.F
Op.C Start-
zust.
Zust.K
Zust.B Zust.J
Zust.E Zust.G Zust.H Zust.K
Zust.L
Zust.D Ziel-
zust.2 Ziel-
zust.1
Op.A Op.B Op.C
Op.G Op.D Op.H
Op.B
Op.F Op.D
Op.E Op.C
Zust.K
Zust.G
Zust.D Ziel-
zust.1 Op.H
Op.F Op.D Zust.G
Zust.D Ziel-
zust.1 Op.F
Op.D
Start- zust.
Op.E Zust.C
! $
Haus Baum See Haus Schatz Haus Baum See Schatz
Haus See Schatz Haus Schatz
Haus
Baum
See Haus
Schatz
See
Schatz
Schatz
See Baum
Haus Schatz
(siehe Charniak/McDermott, S. 264 ff)
\ Anpassung an spezielle Suchaufgaben durch bereichs- spezifische Funktionen (als Argumente übergeben)
\
beinhaltet:
] goal-test: eine Funktion, die testet, ob Zustand = Zielzustand
] successors: eine Funktion, die alle Operatoren auf den aktuellen Zustand expl anwendet und alle neuen Zustände
ausgibt
] estimator: eine Funktion, die für einen Zustand eine geschätzte Distanz zum nächsten Zielzustand ausgibt (als
nichtnegative Zahl)
! &
\
statt einer Bewertung nach dem geschätzten Erfolg:
simple „last-in/first-out“-Organisation der Suchschlange
\ bei Erreichen von Blattknoten im Suchbaum mit goaltest = f:
Backtracking (meist: chronologisches Backtracking)
\
Probleme bei unendlicher Anzahl erreichbarer Zustände:
Traversierung des vollständigen Suchbaums unmöglich Abhilfe: depth-cutoff
\
Depth-first search kann sehr (speicher-)effizient rekursiv implementiert werden (statt einer queue reicht ein stack)
1
2 3 4
5 6 7 8 9 10 11
1
2 6 9
3 4 5 7 8 10 11
„brute force“-Ansätze bei kleinen Suchräumen oder wenn keine Mittel zur Steuerung der Suche gegeben
! (
\
simple „first-in/first-out“-Organisation der Suchschlange
\
Vollständiges Suchverfahren: Jede mögliche Lösung wird auch gefunden (falls alle Knoten endlich viele Nachfolger)
\ findet innerhalb des Suchbaums immer den kürzesten Weg
\ erfordert sehr viel Speicher:
] Zahl der Knoten steigt exponentiell mit der Baumtiefe
] Speicherung aller Knoten notwendig
\
Suchaufwand groß, besonders wenn erste Lösungszustand
„tief“ liegt: Tiefensuche dann „wahrscheinlich“ effizienter
(siehe Charniak/McDermott, S. 256)
Start 1:00
4:10 3:50
1:15
Start 1:00
4:10 3:50
3:00 5:00
6:00
Ein mobiler Roboter soll die räumlich verteilten Arbeitsplätze aufsuchen und dort spätestens zu den angegeben Zeiten 10-Minuten-Aktivitäten ausführen. Die zurückgelegten Wege sollen möglichst kurz sein.
(a) (b)
Suchraum für (a):
3! = 6 schedules Suchraum für (b):
5! = 120 schedules
! Y
Auf einer Rundreise sollen n Städte besucht werden, wobei ein bestimmter Faktor zu minimieren ist (z.B. Reisezeit) => Suche nach dem optimalen Weg Ein optimaler Weg wird nur dann gefunden, wenn jeder mögliche Weg generiert und der mit dem geringsten Wert ausgewählt wird.
=> n! Kombinationsmöglichkeiten
! " [
^ ^ _ ` a ^ b
c c ` c
` d d `
e f g h
d c h c h ` d
i j i k j l j m
n k n n o p j m
p o q l j r i m o m
l m l m m l m j o k n j r r m m
l j l o o o m q n o p q m m l n m m
l i j j i k j p n r l k m p n p o k n r m m
Selbst wenn ein Rechner pro Weg nur 0.0001 sec plant, dauert es bei 15!
über 4 Jahre, den optimalen Weg zu finden.
DONALD + GERALD ROBERT
s s t u v wxy z { | } ~ y v y | y w | z x y | | y xx } y | s
Scheduling-Probleme
gelten als vom Rechenaufwand her intraktabel.
• Aufgrund der kombinatorischen Explosion wird im schlimmsten Fall ("worst case") exponentielle Rechenzeit benötigt (bei deterministischem Vorgehen).
• Mit Glück kann bei 'blinder' Suche eine Lösung schneller als im worst case gefunden werden, jedoch kann das "Glück" nicht garantiert werden.
• Die Grundidee von KI-Ansätzen für heuristische Suche liegt darin, daß durch geschicktes RATEN des jeweils als nächstes anzuwen- denden Operators sich exponentielle Suche einschränken läßt.
Suchtheorie ≈ Theorie des geschickten Ratens
Wie läßt sich Suche geschickt gestalten, so daß theoretischer Intraktabilität begegnet wird?
Man braucht Hinweise, welches jeweils ein guter nächster Operator ist.
Zwei Typen von Hinweisen:
1 . Operatorordnungsfunktion (plausible-move generator):
ein Algorithmus, der die anwendbaren Operatoren an jedem Zustand der "Güte" nach ordnet".
2 . Zustandsbewertungsfunktion:
ein Algorithmus, der die geschätzte Distanz jedes Zustands vom nächsten Zielzustand ausgibt (als Zahl).
In beiden Fällen läßt sich die Akkuratheit der Funktion nicht garantieren!
Sie sollte jedoch "geschicktes Raten" ermöglichen, das besser ist als der Zufall.
s s t u v wxy z { | } ~ y v y | y w | z x y | | y xx } y |
... haben Vorteile:
• sind einfacher zu behandeln als Operatorordnungsfunktionen
• können zur Simulation von Operatorordnungsfunktionen benutzt werden (Operator A ist besser als Operator B , falls der von A
erzeugte Nachfolgezustand dichter am Ziel als der von B erzeugte Nachfolgezustand liegt.)
• können zur Revision von Schätzungen einer Operatorordnungs- funktion benutzt werden
(siehe Charniak/McDermott, S. 261)
Die Karte soll mit 4 Farben so gefärbt werden, daß nie 2 Nachbarländer die gleiche Farbe haben.
Beispiel einer simplen Bewertungsfunktion:
Abstand vom Ziel = Anzahl ungefärbter Länder.
Charniak & McDermott, Kapitel 5, Seite 255-270