Problemzerlegung, Spielbäume

Werbung
1.4 Suche in Und-oder-Bäumen
Problemzerlegung
Und-oder-Baum
Lösungsbaum
Lösungsverfahren
Umformung in Zustandsraum-Suche
Einführung in die KI
Prof. Dr. sc. Hans-Dieter Burkhard
Vorlesung Winter-Semester 2004/05
Suchverfahren-Teil2:
Beschränkung auf Bäume!
Problemzerlegung
Spielbäume
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
2
Problemzerlegung
Prolog: Klausel als Problemzerlegung
Zerlege ein Problem P in einzelne Probleme P1,...,Pn
Löse jedes Problem Pi
Füge die Lösungen zusammen zu P
goal(X1,...,Xn) :- subgoal1(X1,...,Xn) ,..., subgoalm(X1,...,Xn).
um „goal“ zu beweisen,
beweise alle „subgoals“
Beispiele:
• Ungarischer Würfel
• Kurvendiskussion
• Integralrechnung
erreichbar(Start,Ziel,Zeit)
:- s_bahn(Start,Zwischenziel,Abfahrt,Ankunft,_),
erreichbar(Zwischenziel,Ziel,Zeit1),
addiereZeit(Zeit1,Ankunft,Abfahrt,Zeit).
• Prolog: Klausel -> Subgoals
• Agenten: Verteiltes Problemlösen
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Rekursion: wiederholte
Problemzerlegung
Vorlesung Einführung in die KI
Vorlesung Einführung in die KI
Suchverfahren-2
3
Problemzerlegung
Abhängige Teilprobleme
– Inhaltlich:
• Bindungen von Variablen in Prolog-Klauseln,
• Ressourcen, ...
– Zeitlich:
• Fertigungsschritte,
• Reihenfolge der Teil-Verhalten beim Doppelpass,..
brother(B,X)
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
4
Unabhängige Teilprobleme
– Spielzüge eines Gegners, Seminarscheine, ...
brother(B,X)
:- male(B), parent(V,M,B), parent(V,M,X)
parent(V,M,B)
Suchverfahren-2
Abhängigkeit von Teilproblemen
Graphische Darstellung
male(B)
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
parent(V,M,X)
5
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
6
1
Alternativen für Problemzerlegung
Kombinierte Verzweigungen
Zerlegung des Problems P in Probleme P1,...,Pn
verreisen
oder in Probleme P´1,...,P´n´
oder ...
fliegen
autofahren
oder-Verzweigung
bahnfahren
wandern
Klauseln einer Prolog-Prozedur bieten Alternativen
und-Verzweigungen
grandfather(X,Z):-father(X,Y),father(Y,Z).
grandfather(X,Z):-father(X,Y),mother(Y,Z).
Zum Bahnhof
fahren
Graphische Darstellung
Tram
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
...
oder-Verzweigungen
grandfather(X,Z)
Klausel1
Fahrkarte
kaufen
Taxi
Bus
Automat
Schalter
Klausel2
Vorlesung Einführung in die KI
Suchverfahren-2
7
Kombinierte Verzweigungen
Vorlesung Einführung in die KI
und-Verzweigungen
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
8
(Virtuelle) Optionen Hierarchie
PlaySoccer
grandfather(X,Z)
Klausel1
Offensive
oder-Verzweigung
Klausel2
Score
Defensive
DoublePass/1
Dribble
DoublePass/2 ... ChangeWings/1
...
Kick
father(X,Y)
father(Y,Z)
father(X,Y)
und-Verzweigung
...
Pass
Run
mother(Y,Z)
...
...
...
...
Reposition
...
Vorlesung Einführung in die KI
Suchverfahren-2
9
Oder-Verzweigungen
...
...
...
...
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
...
...
...
Architektur:
RoboCup – Spieler
...
...
OffsideTrap
...
Intercept
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
...
Attack
...
Vorlesung Einführung in die KI
Suchverfahren-2
10
...
Intention Subtree (Resultat des Deliberators)
Auswahlmöglichkeiten in der Optionenhierarchie
PlaySoccer
Offensive
Angriff
Score
Kick
...
Run
Deliberator trifft Auswahl auf allen Ebenen
...
DoublePass/2
DoublePass/1
Dribble
...
Pass
Torschuß Doppelpaß/1 Doppelpaß/2 ... Flügelwechsel/1 ...
Defensive
ChangeWings/1
...
...
...
...
Reposition
...
...
...
...
...
...
...
Attack
...
OffsideTrap
...
...
...
...
Intercept
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
11
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
...
Vorlesung Einführung in die KI
Suchverfahren-2
...
12
2
Und-Verzweigungen
Und-Oder-Baum
Ablauf komplexer Optionenen
Pass
Dribbling
Ein Und-oder-Baum besteht (abwechselnd) aus
Run
– Knoten mit oder-Verzweigungen und
– Knoten mit und-Verzweigungen
Intercept
Modell für Problemzerlegungen:
Pass fertig
Mitspieler frei
– oder-Verzweigungen für alternative Möglichkeiten zur
Problemzerlegung
– und-Verzweigungen für Teilprobleme
Mitspieler hat
gepasst
Modell für Prolog-Programm:
Weiteres Problem: „Least commitment“:
– oder-Verzweigungen für alternative Klauseln einer
Prozedur
– und-Verzweigungen für subgoals einer Klausel
Konkrete Werte erst spät festlegen
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
13
Und-Oder-Baum
Knoten ohne Nachfolger („Blätter“) sind unterteilt in
- terminale Knoten („primitive Probleme“)
Fakt
modellieren unmittelbar lösbare Probleme
- nichtterminale Knoten
Unerfüllbares
modellieren nicht zu lösende Probleme
Goal
(keine unifizierende Klausel)
Subgoals einer Klausel
15
a :a :b :b :c.
e.
f :f :h.
Und-Oder-Baum
?-a
(1)
b
(3)
g
(4)
h
e
h
(9)
(6)
(9)
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
(2)
c
e
(5)
(6)
a :a :b :b :c.
e.
f :f :h.
b,c.
e,f.
g,h.
e,h.
g.
e
%
%
%
%
%
%
%
%
%
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
Alternative Klauseln
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
14
Und-Oder-Baum
Anfrage
Startknoten („Wurzel“) modelliert Ausgangsproblem
Innere Knoten sind unterteilt in
- Knoten mit und-Verzweigung
- Knoten mit oder-Verzeigung
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
b,c.
e,f.
g,h.
e,h.
g.
e
%
%
%
%
%
%
%
%
%
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
f
(7)
(8)
g
h
(9)
Vorlesung Einführung in die KI
Suchverfahren-2
17
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
16
Lösbare/unlösbare Knoten
Lösbare Knoten:
1. terminale Knoten,
2. Knoten mit Und-Verzweigung:
falls alle Nachfolger lösbar sind
3. Knoten mit Oder-Verzweigung:
falls mindestens ein Nachfolger lösbar ist
Unlösbare Knoten:
1. nichtterminale Knoten,
2. Knoten mit Und-Verzweigung:
falls mindest. ein Nachfolger unlösbar,
3. Knoten mit Oder-Verzweigung:
falls alle Nachfolger unlösbar sind
Für endliche Bäume ergibt sich bei Festlegung für die Blätter
eine
eindeutige
in lösbare/unlösbare
Knoten
Vorlesung Einführung
in die KI
H.D.Burkhard,
HU Berlin Zerlegung
18
Suchverfahren-2
Winter-Semester 2004/05
(Bedingungen
sind jeweils
komplementär)
3
a :a :b :b :c.
e.
f :f :h.
Lösbare/unlösbare Knoten
?-a
(1)
b
(3)
g
(4)
h
e
h
(9)
(6)
(9)
(2)
c
e
(5)
(6)
b,c.
e,f.
g,h.
e,h.
g.
e
%
%
%
%
%
%
%
%
%
f
(7)
(8)
g
h
(6)
19
Ergebnis für endliche Und-oder-Bäume:
Zerlegung der Knoten in
lösbare Knoten (MLÖSBAR)
und
unlösbare Knoten (MUNLÖSBAR)
Falls Ausgangsproblem lösbar ist, kann ein Lösungsbaum
konstruiert werden.
Vorlesung Einführung in die KI
Suchverfahren-2
?-a
(1)
b
(3)
g
(4)
h
e
h
(9)
(6)
(9)
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
(2)
c
e
(5)
(6)
Zyklus:
Solange nicht alle Knoten untersucht wurden:
b,c.
e,f.
g,h.
e,h.
g.
e
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
%
%
%
%
%
%
%
%
%
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
g
h
(1)
g
23
a :a :b :b :c.
e.
f :f :h.
?-a
(3)
(6)
22
Lösungsbäume
b
(8)
Vorlesung Einführung in die KI
Suchverfahren-2
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
f
(7)
20
Suchverfahren-2
Modell für „Beweisbaum“ in PROLOG
21
a :a :b :b :c.
e.
f :f :h.
MLÖSBAR := terminale Knoten
MUNLÖSBAR := nichtterminale Knoten
Endlicher Teilbaum des Und-oder-Baums mit
folgenden Eigenschaften:
- Enthält nur lösbare Knoten,
- enthält Wurzelknoten,
- bei Und-Verzweigungen sind alle Nachfolger enthalten,
- bei Oder-Verzweigungen ist (genau) ein Nachfolger enthalten
Das Ausgangsproblem
kann genau dann durch Problemzerlegung gelöst werden,
wenn der Startknoten in MLÖSBAR ist.
Lösungsbäume
Anfang:
Lösungsbaum
Bottom-up-Konstruktionsalgorithmus
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Bottom-up-Konstruktionsalgorithmus
Wähle Knoten k, dessen Nachfolger alle untersucht wurden.
Falls k und-Verzweigung und alle Nachfolger von k in MLÖSBAR
oder falls k oder-Verzw. und ein Nachfolger von k in MLÖSBAR :
MLÖSBAR := MLÖSBAR ∪ {k} ,
andernfalls:
:= MUNLÖSBAR
∪ {k} .
MUNLÖSBAR
Vorlesung Einführung
in die KI
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(4)
h
e
h
(9)
(6)
(9)
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
(2)
c
e
(5)
(6)
b,c.
e,f.
g,h.
e,h.
g.
e
%
%
%
%
%
%
%
%
%
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
f
(7)
(8)
g
h
(6)
Vorlesung Einführung in die KI
Suchverfahren-2
24
4
Und-oder-Baum modelliert Beweisversuche
Und-oder-Baum modelliert Beweisversuche
grandfather(X,ares)
grandfather(X,ares)
grandfather(X,ar
father(X,Y),moth
grandfather(X,ares):father(X,Y),father(Y,ares).
father(X,Y).
parent(X,Y).
male(Y).
parent(Y,ares).
male(uranus).
male(uranus).
parent(uranus,
cronus).
parent(uranus,
cronus).
male(cronus).
male(cronus).
parent(gaea,
uranus).
parent(gaea,
uranus).
male(zeus).
male(zeus).
parent(gaea,
cronus).
parent(gaea,
cronus).
male(hades).
male(hades).
parent(gaea,
rhea).
parent(gaea,
rhea).
parent(rhea,
zeus).
zeus).
male(apollo).
male(apollo).
Vorlesung Einführung inparent(rhea,
die KI
H.D.Burkhard,
Berlin
parent(cronus,
zeus).
parent(cronus,
zeus).
male(dionysius).
male(dionysius).
parent(rhea,HU
hera).
parent(rhea,
hera).
male(hermes).
male(hermes).
25
Suchverfahren-2
Winter-Semester 2004/05
father(zeus,ares).
male(cronus).
parent(cronus,zeus).
male(zeus).
parent(zeus,ares).
b
(3)
(4)
g h
e h
(2)
{a}
c
e
(5)
(6) (7)
f
(8)
g
h
(9) (6) (9)
(9)
{b,c}
b,c.
e,f.
g,h.
e,h.
g.
e
{e,h,c}
{b}
{f}
{h,c} {e,c} {e,h}
{g,h} {e,h}
{g} {e}
{g,h,c}
{g,c} {g,h}
27
a :a :b :b :c.
e.
f :{e,f} f :h.
?-a
(1)
parent(Y,ares).
female(Y).
male(uranus).
female(gaea)
parent(uranus,
cronus).
parent(uranus,
cronus).
male(cronus).
male(cronus
parent(gaea,
uranus).
parent(gaea,
uranus).
male(zeus).
male(zeus
parent(gaea,
cronus).
parent(gaea,
cronus).
male(hades).
male(had
parent(gaea,
rhea).
parent(gaea,
rhea).
parent(rhea,
zeus).
parent(rhea,
zeus).
male(apollo).
male(a
parent(cronus,
zeus).
parent(cronus,
zeus).
male(dionysius).
male
parent(rhea, hera).
parent(rhea, hera).
male(hermes).
ma
Vorlesung Einführung in die KI
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Suchverfahren-2
26
%
%
%
%
%
%
%
%
%
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
{e,g} {e}
{g}
1.
2.
3.
4.
Initialisiere: subgoals={g1,...,gn}
Falls subgoals = ∅ : Erfolg.
Wähle g ∈ subgoals .
Wähle Klausel k: g :- g´1,...,g´m der Prozedur für g .
Falls kein solches k existiert: Mißerfolg (des Versuchs).
5. subgoals := ({g1,...,gn} - {g} ) ∪ {g´1,...,g´m } .
Weiter bei 2.
Alle Varianten probieren,
falls keine zum Erfolg führt: „Nicht beweisbar“
Vorlesung Einführung in die KI
Suchverfahren-2
Varianten für ND-Suche
male(X).
Beispiel: Vereinfachtes PROLOG-Schema
(ohne Unifikation: „Aussagen-Kalkül“)
grandfather(cronus,ares).
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Mother(Y,ares):-parent(Y,ares),female(Y
Modell für nicht-deterministische Suche
Lösungsbaum modelliert „Beweisbaum“
father(cronus,zeus).
mother(Y,ares).
father(X,Y):-parent(X,Y),male(X).
father(Y,ares):-parent(Y,ares),male(Y).
male(X).
grandfather(X,ares):father(X,Y),mother(Y,ares).
father(X,Y).
father(Y,ares).
father(X,Y):-parent(X,Y),male(X).
parent(X,Y).
father(X,ares):r(X,Y),father(Y,ares).
{}
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
28
Prolog-Interpreter
Einschränkung der Varianten
• Reihenfolge innerhalb einer Klausel (Und-Verzweigung)
(alle subgoals müssen erfüllt werden)
links vor rechts
•Reihenfolge innerhalb einer Prozedur (Oder-Verzweigung)
(Alternativen für Beweis)
oben vor unten
{g} {g}
{c} {h} {c} {e} {h} {e} {g} {h} {e}
{}
Zu zeigen wäre:
{}
{}
{}
{}
{}
{}
{}
{}
Vorlesungvon
Einführung
die KI
Alle
Varianten
(jeden Weg
derin Wurzel
aus) probieren,
H.D.Burkhard,
HU Berlin
29
Winter-Semester 2004/05
falls
keine zum Erfolg Suchverfahren-2
führt: „Nicht beweisbar“
Wenn Beweis existiert, dann auch schon hierbei.
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
30
5
a :a :b :b :c.
e.
f :{e,f} f :h.
Einschränkung der Varianten
{a}
{b,c}
{g} {g}
{b}
{f}
{h,c} {e,c} {e,h}
{g,h} {e,h}
{g} {e}
{c} {h} {c} {e} {h} {e} {g} {h} {e}
{}
g.
e
{e,h,c}
{g,h,c}
{g,c} {g,h}
b,c.
e,f.
g,h.
e,h.
{}
{}
{}
{}
{}
{}
%
%
%
%
%
%
%
%
%
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
{e,g} {e}
{g}
{a}
{b,c}
{g,h,c}
{e,h,c}
{}
{}
31
Subgoals
sind alle zu
beweisen,
Vorlesung
Einführung in die KI
H.D.Burkhard, HU Berlin
Suchverfahren-2
Winter-Semester
2004/05links vor
Reihenfolge
rechts
Backtracking
{a}
Effizienzgewinn
Wege werden nicht vollständig neu probiert, sondern
nur stückweise.
{b,c}
{g,h,c}
Bei Alternativen: Einfügen eines „Choicepoint“
33
32
a :a :b :b :c.
Choicepointe.
f :{e,f} f :h.
{e,h,c}
{h,c}
„Backtracking“:
Bei Fehlschlag am jüngsten „Choicepoint“ andere
Alternative verfolgen
Vorlesung Einführung in die KI
Suchverfahren-2
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
{}
Backtracking
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
g.
e
%
%
%
%
%
%
%
%
%
{g} {e}
{c}
{}
b,c.
e,f.
g,h.
e,h.
{f}
{h,c}
{}
Subgoals
sind alle zu
beweisen,
Vorlesung
Einführung in die KI
H.D.Burkhard, HU Berlin
Suchverfahren-2
Winter-Semester
2004/05links vor
Reihenfolge
rechts
a :a :b :b :c.
e.
f :{e,f} f :h.
Einschränkung der Varianten
Und so weiter
b,c.
e,f.
g,h.
e,h.
g.
e
%
%
%
%
%
%
%
%
%
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
{f}
{g} {e}
{}
{c}
{}
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
Modelle für Prolog-Suche
Prolog-Interpreter
Vereinfachtes Schema (ohne Unifikation: „AK“)
• Und-Verzweigung: links vor rechts
34
• Teilziele der Reihe nach vollständig abarbeiten
Liste
Verfolgen eines Zweiges in die Tiefe
1. subgoals=[g1,...,gn] .
2. Falls subgoals = [ ] : Erfolg .
3. k sei nächste Klausel der Prozedur für g1 :
g1 :- g´1,...,g´m .
Falls kein solches k existiert: Backtracking.
Falls kein Backtracking möglich: Misserfolg.
4. subgoals := [g´1,...,g´m ,g2,...,gn, ].
Weiter bei 2.
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
• Oder-Verzweigung: oben vor unten
Linke Zweige zuerst
• Backtracking bei Fehlschlag:
Rückkehr zu Alternative an Oder-Verzweigung
35
Nächster Zweig einer Oder-Verzweigung
Problem:
Choicepoint
in
Vorlesung Einführung in die KI
H.D.Burkhard, HU Berlin
Suchverfahren-2
Winter-Semester 2004/05
subgoal
–Liste nicht
repräsentierbar
36
6
Modelle für Prolog-Suche
Quelle für Missverständnisse
Bei erfolgreichem Beweis ist subgoal-Liste leer
Aber Baum noch nicht vollständig durchsucht
[a]
[a]
[b,c]
Choicepoint
Choicepoint
[g,h,c]
[b,c]
[e,h,c]
b kommt nicht vor
[g,h,c]
[e,f]
[e,h,c]
[f]
[h,c]
Problem: Choicepoint in
subgoal –Liste nicht repräsentierbar
37
Abarbeitung im Und-oder-Baum
?-a
Choice point
(1)
b
(2)
c
e
(5)
(6)
a :a :b :b :c.
e.
f :f :h.
b,c.
e,f.
g,h.
e,h.
g.
e
%
%
%
%
%
%
%
%
%
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
(8)
h
e
h 1. Beweis gelungen g
h
(9)
(6)
(9)
grandfather(X,ares):father(X,Y),father(Y,ares).
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
grandfather(X,ares):father(X,Y),mother(Y,ares).
Vorlesung Einführung in die KI
Suchverfahren-2
father(Y,ares).
father(X,Y):-parent(X,Y),male(X).
male(X).
father(X,Y).
father(Y,ares):-parent(Y,ares),male(Y).
parent(Y,ares).
male(Y).
parent(uranus, cronus). male(uranus).
parent(uranus, cronus). male(uranus).
male(cronus).
parent(gaea, uranus).
parent(gaea, uranus). male(cronus).
male(zeus).
male(zeus).
parent(gaea, cronus).
parent(gaea, cronus).
male(hades).
parent(gaea, rhea).
parent(gaea, rhea).
male(hades).
parent(rhea, zeus).
parent(rhea, zeus).
male(apollo).
male(apollo).
parent(cronus, zeus).
parent(cronus, zeus).
male(dionysius).
male(dionysius).
parent(rhea, hera).
parent(rhea, hera).
male(hermes).
male(hermes).
(6)
39
38
grandfather(X,ares)
parent(X,Y).
g
Vorlesung Einführung in die KI
Suchverfahren-2
f
(7)
(4)
[]
Algorithmus für systematische Suche
father(X,Y).
(3)
[]
[c]
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
[g] [e]
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
mother(Y,ares).
father(X,Y):-parent(X,Y),male(X).
parent(X,Y).
male(X).
Mother(Y,ares):-parent(Y,ares),female(Y).
parent(Y,ares).
male(uranus).
female(gaea).
parent(uranus, cronus).
parent(uranus, cronus).
male(cronus).
male(cronus).
parent(gaea, uranus).
parent(gaea, uranus).
male(zeus).
male(zeus).
parent(gaea, cronus).
parent(gaea, cronus).
male(hades).
male(hades).
parent(gaea, rhea).
parent(gaea, rhea).
parent(rhea, zeus).
parent(rhea, zeus).
male(apollo).
male(apollo).
parent(cronus, zeus).
parent(cronus, zeus).
male(diony).
male(dionysius).
parent(rhea, hera).
parent(rhea, hera).
male(hermes).
male(herm).
Vorlesung Einführung in die KI
Suchverfahren-2
Algorithmus für systematische Suche
Algorithmus für systematische Suche
PROCEDURE solve(unsolved_goals: GOALLIST);
PROCEDURE solve(unsolved_goals: GOALLIST);
goals = [g1,…,gn]
Bezeichnet Liste von goals gi
top(goals) = g1
Bezeichnet erstes Element
tail(goals) = [g2,…,gn]
Bezeichnet Rest-Liste
NIL = [ ]
Liste ungelöster subgoals
klauseln(g)
Klauseln der Prozedur für g
subgoals(k)
Bezeichnet Verkettung von Listen
Vorlesung Einführung in die KI
Suchverfahren-2
unsolved_goals
40
ackermann(o,N,s(N)).
ackermann(s(M),o,V):- ackermann(M,s(o),V).
ackermann(s(M),s(N),V):- ackermann(s(M),N,V1),ackermann(M,V1,V).
Bezeichnet leere Liste
concatenate( [g1,…,gn], [g´1,…,g´m] ) = [ g1,…,gn , g´1,…,g´m]
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
female(Y).
Subgoals der Klausel k
ackermann(s(M),s(N),V):- ackermann(s(M),N,V1), ackermann(M,V1,V).
41
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
42
7
Algorithmus für systematische Suche
Algorithmus für systematische Suche
PROCEDURE solve(unsolved_goals: GOALLIST);
VAR k:KLAUSEL, g: GOAL;
BEGIN
IF unsolved_goals = NIL THEN HALT(yes)
Choicepoints
ELSE g:= top(unsolved_goals);
FORALL k ∈ klauseln(g) DO
Reihenfolge: oben vor unten
(* Klauseln für g nacheinander rekursiv probieren*)
solve(concatenate(subgoals(k),tail(unsolved_goals)))
(* subgoals der Klausel k weiter verfolgen *)
END (*FORALL*)
Reihenfolge: links vor rechts
END (*IF*)
END solve;
Aufruf mit solve([goal]); HALT(no).
Rekursive Prozedur-Aufrufe mit Subgoal-Listen.
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
43
Algorithmus für systematische Suche
Algorithmus verwendet eigentlich zwei Listen
(gemäß LIFO-Prinzip: Keller/stacks)
- Liste unsolved_goals
- Liste der offenen Prozedur-Aufrufe (Prozedurkeller)
mit Alternativen für Backtracking''
Andere Repräsentation der Zustände:
Betrachtung als verschachtelte Listen
L = [ L1,...,Lm ]
..., [gi1Einführung
, ..., gi,ni
], KI
... , [gm1, ..., gm,nm] ]
= [ [g , ..., g1n] ,Vorlesung
in die
[[a]]
Choice point
[ [b,c],[] ]
[ [e,f],[] ]
Choice point
[ [g,h],[c],[] ]
45
Suchverfahren-2
Algorithmus für systematische Suche
[ [e,h],[c],[] ]
a :a :b :b :c.
e.
f :f :h.
b,c.
e,f.
g,h.
e,h.
g.
e
%
%
%
%
%
%
%
%
%
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
[ [f],[] ]
[ [g],[],[] ]
[ [],[c],[] ]
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
44
(0) (Start) L : = [ [Ausgangsproblem(e)] ] .
(1) Falls L = [[ ], ...,[ ]] : EXIT(yes) .
(2) Sei Li erste nicht-leere Subgoal-Liste aus L = [ L1,...,Lm ] .
Sei gi1 erstes Element aus Li = [gi1, ..., gi,ni] :
• gi1 aus Li entfernen: L´i := [gi2, ..., gi,ni] .
• Falls keine Klauseln für gi1existieren: weiter bei (4) .
(3) Sei k die nächste abzuarbeitende Klausel für gi1 .
Falls k Fakt: weiter bei (1) .
Falls k Regel: gi1 :- g1, ..., gn :
L := [ [g1, ..., gn], L1,.., L´i,..., Lm ] .
Falls weitere Klauseln für gi1 existieren: Choice Point setzen.
Weiter bei (2) .
(4) Backtracking: Rücksetzen zum jüngsten Choice Point :
L zurücksetzen auf Stand vor Choice Point , weiter bei (3) .
Vorlesung Einführung in die KI
H.D.Burkhard, HU Berlin
Falls kein2004/05
Choice Point
existiert: L =[ ] , EXIT(no).
46
Suchverfahren-2
Winter-Semester
Algorithmus für systematische Suche
Alternative:
Gelöste subgoals
markieren
[[a]]
Choice point
[ [b,c],[a] ]
[ [e,f],[a] ]
Choice point
[ [e],[],[] ]
[ [e,h],[b,c],[a] ]
[ [],[],[] ]
[ [e,h],[b,c],[a] ]
[ [],[],[] ]
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Wenn alle (FORALL-)Varianten erfolglos versucht:
• Resultat „no“
• Prozedur-Ketten vollständig abgearbeitet.
[ [g,h],[b,c],[a] ] [ [e,h],[b,c],[a] ]
Choice point
[ [h],[c],[] ]
Nach erfolgloser vollständiger Abarbeitung einer Aufruf-Kette
Rückkehr zur jüngsten Möglichkeit gemäß FORALL ...
(Backtracking).
Algorithmus für systematische Suche
Transformation in Zustandsraumsuche:
Subgoal-Listen sind Zustände eines Zustandsraums
H.D.Burkhard, HU
11 Berlin
Winter-Semester 2004/05
Bei leerer Subgoalliste:
• Resultat „yes“
• Abbruch der Prozedur-Kette.
a :a :b :b :c.
e.
f :f :h.
b,c.
e,f.
g,h.
e,h.
g.
e
%
%
%
%
%
%
%
%
%
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
[ [e,f],[a] ]
Choice point
[ [g],[e,f],[a] ]
[ [e],[e,f],[a] ]
[ [e],[e,f],[a] ]
[ [e,h],[b,c],[a] ]
47
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
48
8
Effizientere Implementation
Weitere Probleme für Prolog
Bekannt sind:
Behandlung von Variablenbindungen (Unifikation).
Später mehr dazu
• Reihenfolge von Klauseln in Prozeduren
• Reihenfolge von subgoals in Klauseln
Eingriffe in den Beweisablauf (cut).
Effiziensteigerung (vorzeitige Speicherfreigabe), z.B.
–last call Optimierung („lco“)
–deterministische Klauseln („dco“)
Zur Laufzeit nicht gesamte Listen speichern,
sondern nur Referenz auf jeweils nächsten Eintrag
gi statt [gi , ..., gn],
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Prolog-Compiler: Übersetzung in optimiertes Programm
(WAM = Warren abstract machine)
Vorlesung Einführung in die KI
Suchverfahren-2
49
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
Algorithmen für Problemzerlegung
1.5 Suche in Spielbäumen
Analog zu Prolog-Variante:
- Transformation in Zustandsraum
- Anwendung entsprechender Verfahren
Spielbäume
2-Personen-Nullsummen-Spiele
Minimax-Strategie
Pruning-Verfahren
Heuristische Verfahren
Betrachtung der (abgewickelten) Und-Oder-Bäume
50
Prinzipiell auch für Und-Oder-Graphen möglich,
aber schwer überschaubar
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
51
– Knoten:
mit Spielsituationen markiert
Graph schwierig
zu managen
–Endknoten mit Bewertung für jeden Spieler markiert
•Positive Zahl: Gewinn
.........................................................
.........................................................
-2, -5,-3, 0, 0
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
52
•Negative Zahl: Verlust
– Kanten:
Züge von einer Situation zur nächsten
Ggf. gleiche Situation
an unterschiedlichen
Knoten
Vorlesung Einführung in die KI
Suchverfahren-2
Spiele mit n Spielern P1,...,Pn
Spiele mit n Spielern P1,...,Pn
Darstellung des Spiels als Spielbaum:
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
53
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
0, 0,0, 0, 0 ................................... 7,5,-3, 0, 7
Vorlesung Einführung in die KI
Suchverfahren-2
54
9
x
o o
x x
o o
x x o x x
o o
o o o
x
x
......
x
x
o o
x
x
x
o x
o o x o o x
x o
x
o o x
x
-1/+1
Spieler B
x
o o x
o x
...... ......
x o x x o
o o x o o x
x x
x
......
Spieler A
x
o o x
x
...... ...... x o
+1/-1
Tic-Tac-Toe
x
x
o o
x
x
......
......
Spieler A
x x o x
o x
o
o o x o o x o o x
x x
x
x x
x x o x x o
o o x o o x
o
x
o x
x x o x x o
o o x o o x
o
x
o x
Spieler B
-1/+1 x x o
-1/+1 x x o
o o x
o o x
x
o
x
o x
Vorlesung Einführung in die KI
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
x
o o
x
x
0/0
55
Spiel mit unvollständiger Information: Skat, Poker,...
Eigene Unsicherheit vermindern
Gegnerische Unsicherheit erhöhen
Emotionen beeinflussen
Vorlesung Einführung in die KI
Suchverfahren-2
x
o o
x
x x o x x
o o
o o o
x
x
......
x
x
o o
x
x
o o x
x
+1/-1
......
Spieler B
x
o o x
o x
...... ......
x x o x x o
o o x o o x
o
x
o x
-1/+1 x x o
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
x
o o
x
x
......
-1/+1 x x o
o o x
o o x
x
o
x
o x
Vorlesung Einführung in die KI
0/0
Suchverfahren-2
0/0
Vorlesung Einführung in die KI
Suchverfahren-2
x
o o
x
58
Spieler A
x
o o x
x
x
o o
x
x
......
x o
o o x
x
x
o x
o o x o o x
x o
x
Spieler B
x
o o x
o x
Spieler A
x o x
o o x
x
x x o x
o x
o
o o x o o x o o x
x x
x
x x
x x o x x o
o o x o o x
o
x
o x
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Strategie Spieler A
(Beispiel)
Spieler A
x
o x
o o x o o x
x o
x
-1/+1
x o x x o
o o x o o x
x x
x
57
x
o o x
x
...... ...... x o
– Vorgabe eines Zuges für jede Situation
πi : Situationen → Spielzüge des Spielers Pi
Gewinne = −Verluste
Nullsummenspiel:
x x
o o
56
– Spielstrategien π1,...,πn aller Spieler ergeben einen Weg
im Baum zu einem Endzustand
Monopoly, ...
(Würfel als „weiterer Spieler“)
Spielbaum
Vorlesung Einführung in die KI
Suchverfahren-2
– Entspricht einem Teilbaum des Spielbaums
• 1 Nachfolger für den eigenen Zug gemäß Strategie
• k Nachfolger für k mögliche Züge anderer Spieler
Emotionen modellieren
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
πi : Spielstrategie (policy) des Spielers Pi
Weitere Spieltypen
Spiel mit Zufallseinfluss:
Durchschnittlich 30 Zugvarianten in jeder Situation
1. eigener Zug:
30 Nachfolgeknoten
900 Nachfolgeknoten
1. gegnerischer Zug: 302 =
2. eigener Zug:
303 = 27000 Nachfolgeknoten
2. gegnerischer Zug:
304 = 810000 Nachfolgeknoten
...
5. gegnerischer Zug: 3010 ~ 6*1014 Nachfolgeknoten
...
10. gegnerischer Zug: 3020 ~ 3,5*1029 Nachfolgeknoten
...
Spieler A
0/0
Suchverfahren-2
Schach
+1/-1
Spieler B
x
x
o o x
o
x
+1/-1
x x o x x o
o o x o o x
o
x
o x
-1/+1 x x o
Spieler A
59
x
o
o o x
x
x
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
o o x
o x
0/0
Spieler A
x
x
o o x
o x
+1/-1
Spieler B
Spieler A
60
10
Zugfolge:
Strategie Spieler A
Strategie Spieler B
(Beispiel)
x
o o
x
Gewinn/Verlust
Spieler A
x
o o x
x
Gi(π1,...,πn) :
Gewinn/Verlust des Spielers Pi
Spieler B
x
o
o o x
x
wenn jeweils Spieler Pk die Spielstrategie πk verwendet
Spieler A
Bewertung für alle Spieler als Vektor:
[G1(π1,...,πn), G2(π1,...,πn), ...., Gn(π1,...,πn)]
x
o
o o x
x
x
Gesamtheit der Bewertungen als n-dimensionale Matrix
Spieler B
x x o
o o x
o
x
Ausgangspunkt
• für Festlegung der eigenen Strategie (Gewinn maximieren)
-1/+1
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
• für Verhandlungen über Koalitionen
Vorlesung Einführung in die KI
Suchverfahren-2
61
Gefangenendilemma
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
• einschließlich Kooperation (Koalitionen)
z.B. Verhandlung über Strategie-Wahl π1,...,πn gemäß
erwarteten Gewinnen [G1(π1,...,πn), ...., Gn(π1,...,πn)]
Spieler 2
gestehen
[5,5]
[0,10]
leugnen
[10,0]
[3,3]
Vorlesung Einführung in die KI
Suchverfahren-2
• und Konflikt (Gegnerschaft)
Probleme:
Welche Werte optimieren?
• Ziele:
– (Individuellen/Globalen) Gewinn optimieren
63
Modelle für Koordination
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
– Pareto-Optimal:
Bei jeder anderen Wahl der Strategienmenge schneidet
wenigstens ein Spieler schlechter ab (insbesondere
kann kein Spieler besser abschneiden, ohne dass ein
anderer schlechter abschneidet).
64
Wahrscheinlichkeiten für
• Spielzustand (bei unvollst. Information)
• Zufallseinflüsse (Würfel)
• Strategien (Eigene/Gegnerische Züge)
Ergebnis als Erwartungswert
Hier nicht weiter verfolgen
Spieltheorie
Optimierung
BWL
– Global-Optimal:
Summe über alle Gewinne optimal.
Vorlesung Einführung in die KI
Suchverfahren-2
Vorlesung Einführung in die KI
Suchverfahren-2
Probabilistische Modelle
– Nash-Gleichgewicht:
Ein einzelner Spieler kann sich nicht verbessern, wenn er
eine andere Strategie wählt (insbesondere ist
individuelles Betrügen sinnlos).
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
62
– Koalitionsbildung
– Verhandlungen etc.
gestehen leugnen
Spieler 1
Vorlesung Einführung in die KI
(Problem: stabile Suchverfahren-2
Koalitionen)
Modell für Koordination
Strategien: „leugnen“ oder „gestehen“
Resultatsmatrix
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
65
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
66
11
Spielstrategien entwickeln
Spielbaum für diese Spiele
Im weiteren beschränken:
Darstellung analog zu Und-Oder-Baum:
• A kann Zug wählen: „Oder-Verzweigung“
• A muss auf jeden Zug von B reagieren: „Und-Verzweigung“
• 2-Personen-Nullsummenspiele
– 2 konkurrierende Spieler A und B
– Spieler ziehen abwechselnd
– Gewinn(A) + Verlust(B) = 0
Angabe für Spieler A ausreichend
Bei Spielen mit Werten 1, -1 (Gewinn, Verlust)
volle Analogie zu Problemzerlegung:
• lösbare Knoten: A gewinnt
evtl. auch
„unentschieden“
• unlösbare Knoten: A verliert
einbeziehen
Lösungsbaum liefert Gewinn-Strategie:
• Volle Information der Spieler
• Ohne Zufall
• Deterministische Strategien
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
x
o o
x x
o o
x
x x o x x
o o
o o o
x
x
......
x
x
o o
x
o o x
x
......
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
x
67
x
o x
o o x o o x
x o
x
Spieler B
x
o o x
o x
x
o o
x
x
......
x
o o
x
x
......
68
Annahme: Beide Spieler spielen optimal
Mit Strategie πA durch Spieler A erreichbarer Wert:
G(πA) := Min{ G(πA , πB) | πB Strategie für B }
GA
x x o x
o x
o
o o x o o x o o x
x x
x
x x
x x o x x o
o o x o o x
o
x
o x
Vorlesung Einführung in die KI
Suchverfahren-2
Im Spiel durch Spieler A erreichbarer Wert:
Spieler A
...... ......
x x o x x o
o o x o o x
o
x
o x
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Optimalitätsannahme
Spieler A
x
o o x
x
...... ...... x o
x o x x o
o o x o o x
x x
x
„A hat
Problem
gelöst“
• A wählt jeweils Zug zu lösbarem Knoten,
• B muß dann ebenfalls zu lösbarem Knoten ziehen.
:= Max{ G(πA ) | πA Strategie für A }
Spieler A ist Maximierer (seines Gewinns)
Spieler B ist Minimierer (des Gewinns für A)
...... Spieler B
x x o
x x o
o o x
o o x
x o x
o x
Vorlesung Einführung in die KI
Suchverfahren-2
Optimale Strategie für Spieler A:
Spieler A
69
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
πA* mit G(πA*) = GA
Spieler A besitzt Gewinnstrategie,
falls GA maximal möglichen Wert annimmt
Vorlesung Einführung in die KI
Suchverfahren-2
Problemstellungen
Gewinnstrategien existieren für
• Besitzt Spieler A eine Gewinnstrategie?
Wolf und Schafe (Schafe gewinnen)
Nim-Spiel (abhängig von Startsituation gewinnt A
oder B)
Baumspiel (1.Spieler gewinnt immer)
• Konstruiere ggf. Gewinnstrategie für A
70
• Konstruiere optimale Strategie πA*
Satz:
Jedes Spiel mit endlicher Baumstruktur
und nur Gewinn/Verlust
besitzt entweder eine Gewinnstrategie für A
oder eine Gewinnstrategie für B
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
71
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
72
12
Baumspiel
Wert von Spielsituationen
Situationen: Menge von Bäumen
Start: Ein einziger Baum
Zug: Streiche einen Knoten und alle seine Vorgänger in
einem Baum (übrig bleiben Teilbäume)
Gewinn: Wer letzten Baum streicht.
Welchen Zug soll Spieler als nächstes wählen?
Wert GA(s) einer Spielsituation s für Spieler A
GA(s) → Gewinne
GA(s) := maximaler Wert, den Spieler A von dort aus
mit seiner optimalen Strategie πA* erreichen kann
Aus GA kann umgekehrt πA* konstruiert werden:
In Situation s wähle Zug
zu einer Folgesituation s´
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
73
Ermitteln der Werte von Spielsituationen
Einführung inG
die KI
mit optimaler Vorlesung
Bewertung
A(s)
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
74
Lernen der Werte von Spielsituationen
Credit-Assignment-Problem:
Wert einer Situation (bzw. eines Spielzugs) ist erst
am Spielende bekannt
Immerhin: Iterative Abhängigkeit der Werte
Immerhin: Iterative Abhängigkeit der Werte
Wenn A in s zieht:
Wenn A in s zieht:
GA(s) = Max {GA(s´) | s´ Nachfolgesituation von s }
GA(s) = Max {GA(s´) | s´ Nachfolgesituation von s }
Wenn B in s zieht:
Wenn B in s zieht:
GA(s) = Min {GA(s´) | s´ Nachfolgesituation von s}
Bei bekanntem Spielbaum:
Bottom-Up-Konstruktion der
Minimax-Verfahren
Werte im Spielbaum
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
GA(s) = Min {GA(s´) | s´ Nachfolgesituation von s}
75
Bei unbekanntem Spielbaum: „Reinforcement-Lernen“
• Exploration
(Erkunden von Möglichkeiten, d.h. Spielzüge ausprobieren)
Vorlesung Einführung
in die KI
HU Berlin Verbessern
•H.D.Burkhard,
Sukzessives
der Bewertungen
x
o o
Sicht Spieler A
Minimax-Verfahren
Voraussetzungen:
x x
o o
– Endlicher Spielbaum
– Endknoten mit Resultaten für Spieler A markiert
x
x x o x x
o o
o -1
o o
x
x
(1)Falls Startknoten markiert:
Exit: Wert der optimalen Strategie πA* = Wert(Startknoten)
......
(2)Wähle unmarkierten Knoten k, dessen Nachfolger markiert sind
Wenn A in k zieht: Wert(k):=Max{Wert(k´) | k´ Nachfolger von k }
Wenn B in k zieht: Wert(k):=Min{Wert(k´) | k´ Nachfolger von k }
x
x
o o
x
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
77
x
o o x
x
x
o x
o o x o o x
x o
x
x
o o
x
x
......
x
o o
x
x
......
Spieler A
x x o x
o x
o
o o x o o x o o x
x x
x
x x
...... x x o x x o
-1 o o x o o x
-1
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Spieler B
x
o o x
o x
...... ......
x o x x o
o+1
o x o o x
x x
x
o
Spieler A
x
o o x
x
...... ...... x o
Weiter bei (1).
76
Suchverfahren-2
Winter-Semester 2004/05
x
o x
x x o x x o
o -1
o x o o x
o
x
o x
x x o
x x o
o 0
o x
o 0
o x
x
o
x
o x
Vorlesung Einführung in die KI
Suchverfahren-2
...... Spieler B
-1
Spieler A
78
13
x
o o
Sicht Spieler A
x x
o o
x
x x o x x
o o
o -1
o o
x
x
......
x
x
o o
x
x
o x
o o x o o x
x o
x
o o x
x
x
o x
x
o o
x
x
o o
x
x
......
x
x o
x
Spieler A
o x
x
o -1
o
x
x
o -1
o
x
......
x
x o
......
o x
Spieler A
...... ......
......
x o x x o
0 -1 ox -1
o x o0
o x
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
x
......
o x
Suchverfahren-2
x x
o +1
o
...... Spieler B
-1
x
x
o x
Spieler A
...... Spieler B
-1
x o
Spieler A
o x
0
o x
82
Suchverfahren-2
x
Spieler A
x
o +1
o x
x
...... ...... x o
x
x
o x
o-1
o x o+1
o x o -1
o x o-1o x
x
x o
o
x
x
o+1o
x
x
......
x
o +1
o
x
x
......
o x
Spieler A
...... ......
x o x x o
o-1o x o +1
o x
x x
x
x x o x
o x
o
o +1
o x o +1
o x o+1
o x
x x
x
x x
......
x o x x o
0 +1 ox +1
o x o0
o x
83
......
x x o x x o 0
o -1
o x o 0
o x
o
x
o x
x x o
x
o 0
o x
o
x o x
Vorlesung Einführung in die KI
x
x
o+1
o
x
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
......
x
o -1
o
x
x
x x o x
o x
o
o -1
o x o -1
o x o -1
o x
x x
x
x x
x
o +1
o
Spieler A
x
o -1
o
x
x
o x
x
Spieler B
x x o x x
o +1
o
o +1
o o
x
x
......
x x o x x o 0
o -1
o x o 0
o x
o
x
o x
x x o
x x o
o 0
o x
o 0
o x
x
o
x
o x
Vorlesung Einführung in die KI
x o
...... ......
x o x x o
o+1
o x o -1
o x
x x
x
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
x
o -1
o
x
x
x x o x
o x
o
o -1
o x o -1
o x o -1
o x
x x
x
x x
x
x
Spieler A
...... ...... x o
x
x
o x
o x
o+1
o x o -1
o x o +1
o x o+1
o
...... ...... x o
x
x
o x
o x
o+1
o x o -1
o x o +1
o x o+1
o
x
o -1
o
x
x
Spieler A
x
o -1
o x
x
Sicht Spieler B
x
Spieler A
80
x
......
x o x x o
0 -1 ox -1
o x o0
o x
81
x
o -1
o x
x
x o x x o
o+1
o x o -1
o x
x x
x
x
o o
Spieler A
Spieler B
x x o x x
o -1
o
o -1
o o
x
x
......
...... Spieler B
-1
x o
o x
0
o x
...... Spieler B
-1
x x o x x o 0
o -1
o x o 0
o x
o
x
o x
Spieler B
x x o x x
o -1
o
o -1
o o
x
x
......
Suchverfahren-2
x
x
o -1
o
x
x
x x o x x o 0
o -1
o x o 0
o x
o
x
o x
Suchverfahren-2
Sicht Spieler A
x x
o -1
o
......
o x
x
x x o
x
o 0
o x
o
x o x
Vorlesung Einführung in die KI
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
......
x
o o
x
x
x x o x
o x
o
o -1
o x o -1
o x o -1
o x
x x
x
x x
......
x o x x o
0 -1 ox -1
o x o0
o x
o x
Spieler A
...... ......
x
x
Sicht Spieler A
x
o o
x
x
......
x
o o
x
x
Spieler A
...... ......
x x o
x x o
o 0
o x
o 0
o x
x
o
x
o x
Vorlesung Einführung in die KI
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
x x
o -1
o
Spieler B
x
o o x
o x
x
o o
x
x
x x o x
o x
o
o -1
o x o -1
o x o -1
o x
x x
x
x x
......
x o x x o
0 -1 ox -1
o x o0
o x
79
x
x
o x
o o x o o x
x o
x
o o x
x
Spieler A
...... ...... x o
x
x
o x
o x
o+1
o x o -1
o x o +1
o x o+1
o
...... ...... x o
o
Spieler A
x
o o x
x
x o x x o
o+1
o x o -1
o x
x x
x
...... Spieler B
-1
x
o o x
x
x o x x o
o+1
o x o -1
o x
x x
x
x x o x x
o o
o -1
o o
x
x
......
x
x
o o
x
x
x x o x x o 0
o -1
o x o 0
o x
o
x
o x
Spieler B
x x o x x
o -1
o
o -1
o o
x
x
......
Suchverfahren-2
Sicht Spieler A
x x
o o
......
x x
o o
x
o o
x
x
Spieler A
x x o
x x o
o 0
o x
o 0
o x
x
o
x
o x
Vorlesung Einführung in die KI
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
x
o o
x
x
x x o x
o x
o
o o x o o x o o x
x x
x
x x
......
x o x x o
0 -1 ox -1
o x o0
o x
o
Spieler B
x
o o x
o x
...... ......
x o x x o
o+1
o x o o x
x x
x
x
Spieler A
x
o o x
x
...... ...... x o
x
o o
Sicht Spieler A
x
x
o x
x x o
x x o
o 0
o x
o 0
o x
x
o
x
o x
Vorlesung Einführung in die KI
Suchverfahren-2
...... Spieler B
+1
x x o x x o 0
o +1
o x o 0
o x
o
x
o x
Spieler A
84
14
x
o +1
o
Gewinnstrategie
Spieler B
x x
o +1
o
x
x
x
o+1
o
x
x
Spieler A
x
o +1
o x
x
Spieler B
x x o x x
o +1
o
o +1
o o
x
x
......
x
o+1o
x
x
...... ...... x o
x
x
o x
o-1
o x o+1
o x o -1
o x o-1o x
x
x o
x x
o o
x
x
x
o o
x
......
x x
o o o
x
x
x
o o o
x
x
o x
Spieler A
Spieler B
x
o
o o x
x
Spieler A
x x o x
o x
o
o o x o o x o o x
x x
x
x x
Spieler A
...... Spieler B
+1
x x o
o o x
o
x
x x o x x o 0
o +1
o x o 0
o x
o
x
o x
x x o
x x o
o 0
o x
o 0
o x
x
o
x
o x
Vorlesung Einführung in die KI
x
x
o o x
x
x x o x
o x
o
o +1
o x o +1
o x o+1
o x
x x
x
x x
......
x o x x o
0 +1 ox +1
o x o0
o x
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
......
x
o +1
o
x
x
o x
...... ......
x o x x o
o-1o x o +1
o x
x x
x
o
x
x
o o
Gewinnstrategie
Spieler B
x x o
o o x
o
x
x
o o
x
x
x
o o
x
x
x
o o o
x
x
x
o o o
x
x
Spieler B
x
o
o o x
o x x
Spieler A
85
Suchverfahren-2
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
86
α-pruning (Züge von A ausschließen)
Züge ausschließen: Pruning-Strategien
Idee: Wenn es bereits bessere Varianten gibt,
müssen schlechtere nicht weiter verfolgt werden
..................
..................
.........
.........
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
87
α-pruning (Züge von A ausschließen)
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
α-pruning (Züge von A ausschließen)
≥50
≥50
50
≤30
50
..................
..................
.........
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
88
30
.........
89
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
90
15
α-pruning (Züge von A ausschließen)
α-pruning (Züge von A ausschließen)
≥50
≥50
≤30
50
..................
≤30
50
Spieler A wird diesen
30 Zug nicht wählen
..................
.........
.........
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
α-pruning:
Suchbaum
in diesem Zweig
nicht untersuchen
30
91
β-pruning (Züge von B ausschließen)
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
92
β-pruning (Züge von B ausschließen)
≤30
≥50
30
..................
..................
.........
.........
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
50
93
β-pruning (Züge von B ausschließen)
Vorlesung Einführung in die KI
Suchverfahren-2
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
β-pruning (Züge von B ausschließen)
≤30
≤30
≥50
30
..................
Spieler B wird diesen
50 Zug nicht wählen
Vorlesung Einführung in die KI
Suchverfahren-2
≥50
30
..................
.........
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
94
50
.........
95
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
β-pruning:
Suchbaum
in diesem Zweig
nicht untersuchen
96
16
Effizienz von Pruning-Strategien
Heuristische Suche
abhängig von der Reihenfolge:
• im ungünstigsten Fall keine Einsparung:
1. Spielbaum teilweise entwickeln von
aktueller Situation ausgehend
Es bleibt bei bd Endknoten für Verzweigungsfaktor b, Tiefe d
2. dort Situationen statisch bewerten
(z.B. Figuren, Stellung, ...)
• im günstigsten Fall („beste Züge jeweils links“):
Aufwand ungefähr 2 * b(d/2)
2 * b(d/2) −1
für gerade d,
b((d+1)/2) + b((d−1)/2) −1
für ungerade d.
-1
-5
10
-1
1
.........................................................
?????????????????????
d.h. Doppelte Suchtiefe mit gleichem Aufwand möglich
Weitere Verfahren
zur Auswahl günstiger Expansionsreihenfolge
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
-17
97
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
20
...................................
Vorlesung Einführung in die KI
Suchverfahren-2
-3
98
Heuristische Suche
Woher kommen Bewertungen?
3. gefundene Werte dynamisch gemäß
Minimax zurückverfolgen
Statische Bewertung von Situationen:
Bauer:
1
• Analogie zu Schätzfunktionen
Läufer, Springer: 3
• Vorhersage des erreichbaren Gewinns
Turm:
5
Dame:
9
Bauernstellung: 0,5
Königsstellung: 0,5
Unterschiedliche Bewertungsfaktoren
1
4. aussichtsreichsten Zug wählen
-1
-5
-1
-5
10
1
-1
Verdichtung zu einer Zahl, z.B. gewichtete Summe
1
.........................................................
?????????????????????
-17
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
20
...................................
Vorlesung Einführung in die KI
Suchverfahren-2
-3
99
Lernen von Gewichten anhand von Beispielen
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
100
Bis zu welcher Tiefe entwickeln?
Horizont-Effekt:
• bei Abbruch in „unruhiger Situation“ falsche
Bewertung
• Ausweg:
– keine feste Tiefenbeschränkung,
– in unruhigen Situationen weiterentwickeln (umgekehrt: in
eindeutig schlechten Situationen frühzeitig abbrechen)
• alpha-beta-pruning
H.D.Burkhard, HU Berlin
Winter-Semester 2004/05
Vorlesung Einführung in die KI
Suchverfahren-2
101
17
Herunterladen