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