vorlesung: „ künstliche intelligenz · 420 € 430 € 440 € 440 € 430 € skier 10 €...
TRANSCRIPT
-
Vorlesung: „Künstliche Intelligenz
- Suche und Spieltheorie
Miao WangKünstliche Intelligenz
ESES
PP
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Künstliche Intelligenz“
Suche und Spieltheorie -
Miao Wang 1
LSLS
SS STST
-
Inhaltliche Planung für die Vorlesung
1) Definition und Geschichte der KI, PROLOG
2) Expertensysteme
3) Logisches Schließen, Resolution
4) Suche und Spieltheorie
5) Spieleprogrammierung
Künstliche Intelligenz Miao Wang
6) General Game Playing
7) Reinforcement Learning und Spieleprogrammierung
8) Mustererkennung
9) Neuronale Netze
10) Optimierungen (genetische und evolutionäre Algorithmen)
11) Bayes-Netze, Markovmodelle
12) Robotik, Pathfinding
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
1) Definition und Geschichte der KI, PROLOG
Miao Wang 2
7) Reinforcement Learning und Spieleprogrammierung
(genetische und evolutionäre Algorithmen)
der rote Vorlesungsfaden...
-
Suche
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Miao Wang 3
-
Anwendungen der Suche
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Miao Wang 4
-
Heutiger Inhalt der Vorlesung
• Allgemeines Suchproblem
• Uninformierte Suche
• Tiefensuche
• Breitensuche
• Iterative Tiefensuche
• Bidirektionale Suche
• Informierte Suche
• Branch-and-Bound
Künstliche Intelligenz Miao Wang
• Suche mit uniformen Kosten
• Heuristiken
• Bestensuche
• A*-Suche
• A*-Varianten
• Spieltheoretische Suche
• Min-Max-Algorithmus (Zweispielersuche)
• Alpha-Beta-Pruning (Zweispielersuche)
• Unterscheidung von Spielen
• maxN-Variante (Mehrspielersuche)
• Paranoid-Variante (Mehrspielersuche)
• Zusammenfassung
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Miao Wang 5
-
Das allgemeine Suchproblem
Finde einen Weg von einem Startpunkt zu einem derder Graphentheorie) explizit gegeben, sondern wird
Gegeben:Startzustand: s0Übergangsfunktion (Transition): T = S x SZustände (implizit generiert aus s0 und T): S = {s0, s
Gesucht:Zielzustand (Goal): ein Element aus G ⊆ S
Künstliche Intelligenz Miao Wang
Zielzustand (Goal): ein Element aus G ⊆ SOptional: Weg von s0 zum Goal
Hilfsvariablen:OPEN = Liste von aktiv zu untersuchenden ZuständenCLOSED = Liste von bereits besuchten Zuständen
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
der Zielpunkte. Der Graph wird dabei nicht (wie üblich inwird implizit als Baum erstellt und repräsentiert.
s1, s2, …, sn}
Miao Wang 6
Zuständen
-
Uninformierte Suche
Eine uninformierter Suchalgorithmus benutzt intuitivefinden keine Optimierung statt, die den SuchraumDatensatz gezogen werden.
1. Init: OPEN = {s0} , CLOSED
2. Fail: if OPEN = {} terminate with FAIL
3. Select: Extract a state n
4. Terminate: if n ∈∈∈∈ G terminate with SUCCESS5. Expand: Find successors m
Künstliche Intelligenz Miao Wang
5. Expand: Find successors m
If m ∈∈∈∈ (OPEN ∪∪∪∪ CLOSEDadd m to OPEN
6. Loop: Goto Step 2
OPEN als Stack � TiefensucheOPEN als Queue � Breitensuche
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
intuitive Methoden für das Durchsuchen des Suchraumes. EsSuchraum reduzieren könnten, indem Informationen aus dem
CLOSED = {}
terminate with FAIL
from OPEN and save n to CLOSED
terminate with SUCCESS
of n with T
Miao Wang 7
of n with T
CLOSED)
-
Beispiel: Tiefensuche
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
OPEN CLOSED
1
2, 5, 9, 12
-
3, 4, 5, 9, 12
4, 5, 9, 12
5, 9, 12
1
1, 2
1, 2, 3
1, 2, 3, 4
1, 2, 3, 4, 56, 7, 8, 9, 12
7, 8, 9, 12 1, 2, 3, 4, 5, 6
Miao Wang 8
7, 8, 9, 12
8, 9, 12
9, 12
10, 11, 12
11, 12
12
13, 14, 15
14, 15
15
-
1, 2, 3, 4, 5, 6
1, 2, 3, 4, 5, 6, 7
1, 2, 3, 4, 5, 6, 7, 8
1, 2, 3, 4, 5, 6, 7, 8, 9
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,111, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,121, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12 , 131, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 13, 141, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 13, 14, 15
-
Beispiel: Breitensuche
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
OPEN CLOSED
1
2, 3, 4, 5
-
3, 4, 5, 6, 7
4, 5, 6, 7, 8, 9, 10
5, 6, 7, 8, 9, 10, 11, 12
1
1, 2
1, 2, 3
1, 2, 3, 4
1, 2, 3, 4, 56, 7, 8, 9, 10, 11, 12, 13,14, 15
7, 8, 9, 10, 11, 12, 13, 14, 15
1, 2, 3, 4, 5, 6
Miao Wang 9
14, 15
8, 9, 10, 11, 12, 13, 14, 15
9, 10, 11, 12, 13, 14, 15
10, 11, 12, 13, 14, 15
11, 12, 13, 14, 15
12, 13, 14, 15
13, 14, 15
14, 15
15
-
1, 2, 3, 4, 5, 6, 7
1, 2, 3, 4, 5, 6, 7, 8
1, 2, 3, 4, 5, 6, 7, 8, 9
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12 , 13
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 13, 14
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 13, 14, 15
-
Analyse: Tiefensuche
Sei b der maximale Verzweigungsfaktor,d die Tiefe von G undt die Tiefe des Suchbaums (d < t)
Laufzeit: Wie viele Knoten müssen angefasst werden (worst case)?
G befindet sich auf Tiefe d, im worst case ist er im „rechtesten“ AstWir müssen aber evtl. vorher mehrmals bis Tiefe t runter, d.h.
Künstliche Intelligenz Miao Wang
Wir müssen aber evtl. vorher mehrmals bis Tiefe t runter, d.h.
Speicherverbrauch: Wie viele Knoten werden im Stack maximal gespeichert (worst case)?
Bis Tiefe t haben wir (t-1) * (b-1)In Tiefe d kommen noch b hinzu, d.h. insgesamt (t-1) * (b
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Wie viele Knoten müssen angefasst werden (worst case)?
G befindet sich auf Tiefe d, im worst case ist er im „rechtesten“ AstWir müssen aber evtl. vorher mehrmals bis Tiefe t runter, d.h. O(bt)
Miao Wang 10
Wir müssen aber evtl. vorher mehrmals bis Tiefe t runter, d.h. O(b )
Wie viele Knoten werden im Stack maximal gespeichert (worst case)?
1) * (b-1) + b = O(t*b)
-
Analyse: Breitensuche
Sei b der maximale Verzweigungsfaktor,d die Tiefe von G undt die Tiefe des Suchbaums (d < t)
Laufzeit:Wie viele Knoten müssen angefasst werden (worst case)?
Es müssen alle Knoten bis Tiefe d angefasst werden, d.h. b
Künstliche Intelligenz Miao Wang
Speicherverbrauch:Wie viele Knoten werden in der Queue maximal gespeichert (worst case)?
In der Tiefe d müssen maximal bd Knoten abgespeichert werden, d.h.
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Wie viele Knoten müssen angefasst werden (worst case)?
Es müssen alle Knoten bis Tiefe d angefasst werden, d.h. bd+1 = O(bd)
Miao Wang 11
Wie viele Knoten werden in der Queue maximal gespeichert (worst case)?
Knoten abgespeichert werden, d.h. O (bd)
-
Tiefensuche in Prolog
%Graph definiert als
%con(X,Y).
% depth(Goals, Open, Closed)
depth(Goals, [X|_], _) :-
member (X, Goals), !, write(X).
depth(Goals, [X|RestOpen], Closed) :-
member(X, Closed), !, depth(Goals, RestOpen
Künstliche Intelligenz Miao Wang
member(X, Closed), !, depth(Goals, RestOpen
depth(Goals, [X|RestOpen], Closed) :-
write(X), kinder(X, L), append(L, RestOpen
% kinder (X, L) findet alle Kinder von X und legt sie in L ab
kinder(X, L) :- setof(Y, con(X,Y), L).
kinder(_, []).
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
RestOpen, Closed).
Miao Wang 12
RestOpen, Closed).
RestOpen, Open), depth(Goals, Open, [X|Closed]).
(X, L) findet alle Kinder von X und legt sie in L ab
-
Breitensuche in Prolog
%Graph definiert als
%con(X,Y).
% depth(Goals, Open, Closed)
depth(Goals, [X|_], _) :-
member (X, Goals), !, write(X).
depth(Goals, [X|RestOpen], Closed) :-
member(X, Closed), !, depth(Goals, RestOpen
Künstliche Intelligenz Miao Wang
member(X, Closed), !, depth(Goals, RestOpen
depth(Goals, [X|RestOpen], Closed) :-
write(X), kinder(X, L), append(RestOpen
% kinder (X, L) findet alle Kinder von X und legt sie in L ab
kinder(X, L) :- setof(Y, con(X,Y), L).
kinder(_, []).
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
RestOpen, Closed).
Miao Wang 13
RestOpen, Closed).
RestOpen, L, Open), depth(Goals, Open, [X|Closed]).
(X, L) findet alle Kinder von X und legt sie in L ab
-
Iterative Tiefensuche (Iterative Deepening)
Mischung zwischen Tiefen- und Breitensuche
Tradeoff zwischen Laufzeit und Speicher
Tiefensuche für Tiefe 1
Künstliche Intelligenz Miao Wang
Laufzeit: O(bd)Speicher: O(b*d)
Tiefensuche für Tiefe 1
Tiefensuche für Tiefe 2
Tiefensuche für Tiefe 3
Tiefensuche für Tiefe 4
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Iterative Tiefensuche (Iterative Deepening)
Tiefensuche für Tiefe 1
Miao Wang 14
Tiefensuche für Tiefe 1
Tiefensuche für Tiefe 2
Tiefensuche für Tiefe 3
Tiefensuche für Tiefe 4
Bsp.: Schach
-
Bidirektionale Suche
Gleichzeitig vom Start und Ziel suchen verringert die Laufzeit (nicht immer möglich)
siehe auch: Daten- vs. Zielorientierte Suche
Künstliche Intelligenz Miao Wang
Laufzeit: O(bd/2)Speicher: O(bd/2)
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Gleichzeitig vom Start und Ziel suchen verringert die Laufzeit (nicht immer möglich)
Miao Wang 15
Bsp.: Navigationssysteme
-
Das 8-Puzzle-Problem(aka 3x3-Schieberätsel)
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Miao Wang 16
-
Das 8-Puzzle-Problem(aka 3x3-Schieberätsel)
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Modell:Verschieben des Blanks, Suchbaum wird implizit aufgebaut
Optimierung:Speichern der Rotation
Definieren eines festen Ablaufs, z.B:
Miao Wang 17
Definieren eines festen Ablaufs, z.B:zuerst hochdann linksdann runter dann rechts
-
Das 8-Puzzle-Problem(aka 3x3-Schieberätsel)
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Miao Wang 18
-
Informierte Suche
Bisher wurde der Knoten in Schritt 3 immer beliebig
Die Suche kann hier jedoch beschleunigt werden, wenn Informationen des Datensatzes mit in die Entscheidung einfließen, welcher Knoten als nächster aus OPEN entnommen wird.
Für größere Suchbäume sind Breiten- und Tiefensuche nicht effizient genug. Vielversprechender sind Ansätze, bei denen Domänenwissen zur Steuerung des Suchprozesses eingesetzt wird
Dies kann dadurch geschehen, dass die Zustände (Knoten) danach bewertet werden, wie
Künstliche Intelligenz Miao Wang
Dies kann dadurch geschehen, dass die Zustände (Knoten) danach bewertet werden, wie erfolgversprechend sie sind. Solch eine Bewertung nennt man
Ein Suchverfahren, das eine heuristische Funktion zur Auswahl der zu expandierenden Zustände einsetzt, heißt informiertes Suchverfahren oder auch heuristisches Suchverfahren
Einfache Heuristik: Einführung eines Kostenmaßesc(s) = bisher berechneten Kosten von s0 bis sc(n,m) = Kosten für den Übergang von n nach m gemäß T
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
beliebig ausgewählt (entspr. der Datenstruktur von OPEN).
Die Suche kann hier jedoch beschleunigt werden, wenn Informationen des Datensatzes mit in die Entscheidung einfließen, welcher Knoten als nächster aus OPEN entnommen wird.
und Tiefensuche nicht effizient genug. Vielversprechender sind Ansätze, bei denen Domänenwissen zur Steuerung des Suchprozesses eingesetzt wird.
kann dadurch geschehen, dass die Zustände (Knoten) danach bewertet werden, wie
Miao Wang 19
kann dadurch geschehen, dass die Zustände (Knoten) danach bewertet werden, wie erfolgversprechend sie sind. Solch eine Bewertung nennt man heuristische Funktion.
Ein Suchverfahren, das eine heuristische Funktion zur Auswahl der zu expandierenden Zustände einsetzt, heuristisches Suchverfahren.
Kostenmaßes für den bisher eingeschlagenen Weg:bis s
) = Kosten für den Übergang von n nach m gemäß T
-
Branch-and-Bound
Branch-and-Bound ist ein einfacher Algorithmus, um in einem Optimierungsverfahren unnötige Äste im Suchbaum abzuschneiden („Pruning“). Es wird häufig in der Kostenanalyse verwendet.
Einführung einer Kostenschranke:c* = minimale Kosten bis zum jetzigen Zeitpunkt in der Suche
Idee:Starte mit c* = ∞∞∞∞ und reduziere c* immer dann, wenn ein neues, besseres Ziel aus G gefunden wird
1. Init: OPEN = {s0} , CLOSED = {} , c(
Künstliche Intelligenz Miao Wang
Nicht geeignet für negative Kosten!
1. Init: OPEN = {s0} , CLOSED = {} , c(
2. Fail: if OPEN = {} terminate with c*
3. Select: Extract a state n from
4. Loop1: if n ∈∈∈∈ G and c(n) < c*c* = c(n) and goto
5. Expand: if c(n) < c* generate successors
For each successor m:
if m ∉∉∉∉ (OPEN ∪∪∪∪ CLOSEDc(m) = c(n) + c(
insert m to OPEN
else if m ∈∈∈∈ (OPENc(m) = min { c(
if c(m) has decreased and
move m from
6. Loop2: Goto Step 2
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Bound ist ein einfacher Algorithmus, um in einem Optimierungsverfahren unnötige Äste im Suchbaum abzuschneiden („Pruning“). Es wird häufig in der Kostenanalyse verwendet.
c* = minimale Kosten bis zum jetzigen Zeitpunkt in der Suche
und reduziere c* immer dann, wenn ein neues, besseres Ziel aus G gefunden wird
= {} , c(s0) = 0 , c* = ∞∞∞∞
Miao Wang 20
= {} , c(s0) = 0 , c* = ∞∞∞∞terminate with c*
from OPEN and save n to CLOSED
c*
goto Step 2
generate successors m of n with T
CLOSED)
) + c(n, m)
OPEN
∪∪∪∪ CLOSED)) = min { c(m) , c(n) + c(n, m) }
) has decreased and m ∈∈∈∈ CLOSEDfrom CLOSED to OPEN
-
Beispiel: Branch-and-Bound (kombiniert mit Tiefensuche)
Angenommen wir planen eine Skireise und wollen die günstigste Variante wählen:
Skireise
Flug A250 €
Künstliche Intelligenz Miao Wang
Hotel A1120 €
Hotel A2160 €
Hotel B180 €
Skier40 €
Skier20 €
Skier30 €
Skier40 €
Skier20 €
410 € 390 € 400 € 400 € 380 €
Skier10 €
Skier20 €
420 € 430 €
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Bound (kombiniert mit Tiefensuche)
Angenommen wir planen eine Skireise und wollen die günstigste Variante wählen:
Skireise planen
Flug B280 €
Flug C390 €
Miao Wang 21
Hotel B2110 €
Hotel B320 €
Hotel C140 €
Hotel C230 €
Skier20 €
Skier10 €
Skier0 €
Skier10 €
Skier10 €
420 € 430 € 440 € 440 € 430 €
Skier10 €
Skier0 €
400 € 390 €
-
Beispiel: Branch-and-Bound (kombiniert mit Tiefensuche)
Angenommen wir planen eine Skireise und wollen die günstigste Variante wählen:
Skireise
Flug A250 €
Künstliche Intelligenz Miao Wang
Hotel A1120 €
Hotel A2160 €
Hotel B180 €
Skier40 €
Skier20 €
Skier30 €
Skier40 €
Skier20 €
410 € 390 € 380 400 € 400 €
410 €
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Bound (kombiniert mit Tiefensuche)
Angenommen wir planen eine Skireise und wollen die günstigste Variante wählen:
Skireise planen
Flug B280 €
Flug C390 €
Miao Wang 22
Hotel B2110 €
Skier€
380 €
390 €
390 €
-
Suche mit uniformen Kosten
Modifizierung der Breitensuche mit Kostenfunktion:Wähle immer den Knoten mit den niedrigsten Kosten, die von Start bis zu diesem Punkt angefallen sind.
1. Init: OPEN = {s0} , CLOSED
2. Fail: if OPEN = {} terminate with FAIL
3. Select: Extract state n with minimum costs c(
and save n to CLOSED
4. Terminate: if n ∈∈∈∈ G terminate with SUCCESS5. Expand: Find successors m
For each successor
Künstliche Intelligenz Miao Wang
For each successor
if m ∉∉∉∉ (OPEN ∪∪∪∪ CLOSEDc(m) = c(n) + c(
insert m to OPEN
else if m ∈∈∈∈ (OPENc(m) = min { c(
if c(m) has decreased and
move m from
6. Loop: Goto Step 2
Positive Kosten: DijkstraNegative Kosten: können m von CLOSED zurück zu OPEN bringenNegative Zyklen: führen zur Nichtterminierung
E. W. Dijkstra: A note on two problems in connexion with graphs. In: Numerischehttp://www-m3.ma.tum.de/foswiki/pub/MN0506/WebHome/dijkstra.pdf
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Modifizierung der Breitensuche mit Kostenfunktion:Wähle immer den Knoten mit den niedrigsten Kosten, die von Start bis zu diesem Punkt angefallen sind.
CLOSED = {} , c(s0) = 0
terminate with FAIL
with minimum costs c(n) from OPEN
CLOSED
terminate with SUCCESS
m of n with T
For each successor m:
Miao Wang 23
For each successor m:
CLOSED)
) + c(n, m)
OPEN
OPEN ∪∪∪∪ CLOSED)) = min { c(m), c(n) + c(n, m) }
) has decreased and m ∈∈∈∈ CLOSEDfrom CLOSED to OPEN
können m von CLOSED zurück zu OPEN bringenführen zur Nichtterminierung
Numerische Mathematik. 1 (1959), S. 269–271
-
Beispiel 1: Uniforme Kostensuche
2 1 2
515
138
1
1
3
4
3
10
1
15
Künstliche Intelligenz Miao Wang
138
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
OPEN CLOSED
1 (0) -
2 (2), 5 (1) 1 (0)
2 (2), 9 (2) 1 (0), 5 (1)
9 (2), 3 (3), 6 (5)
3 (3), 6 (5), 10 (10)
1 (0), 5 (1), 2 (2)
1 (0), 5 (1), 2 (2), 9 (2)
6 (5), 10 (10), 4 (5) 1 (0), 5 (1), 2 (2), 9 (2), 3 (3)
Miao Wang 24
6 (5), 10 (10), 4 (5) 1 (0), 5 (1), 2 (2), 9 (2), 3 (3)
1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5)10 (10), 4 (5), 7 (6), 10 (9)
1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5)
7 (6), 10 (9), 8 (6)
1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6)
10 (9), 8 (6), 3 (9), 11 (16)
1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6), 8 (6)
10 (9), 3 (9), 11 (16), 12 (21)
1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6), 8 (6), 10 (9)
3 (9), 11 (16), 12 (21), 11 (12)
1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6), 8 (6), 10 (9)
12 (21), 11 (12)
1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6), 8 (6), 10 (9), 11 (12)
12 (21), 12 (13)
- 1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6), 8 (6), 10 (9), 11 (12), 12 (13)
-
Beispiel 2: Uniforme Kostensuche
10 20
2 -15
15
Künstliche Intelligenz Miao Wang
15
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
OPEN CLOSED
1 (0) -
2 (10), 3 (20) 1 (0)
3 (20), 4 (12) 1 (0), 2 (10)
3 (20), 5 (27)
5 (27), 4 (5)
1 (0), 2 (10), 4 (12)
1 (0), 2 (10), 4 (12), 3 (20)
Miao Wang 25
5 (27), 4 (5) 1 (0), 2 (10), 4 (12), 3 (20)
5 (27), 5 (20) 1 (0), 2 (10), 4 (12), 3 (20), 4 (5)
1 (0), 2 (10), 3 (20), 4 (5), 5 (20)-
-
Heuristiken
Domänenspezifisches Wissen um die Qualität von potentiellen oder partiellen Lösungen zu schätzenz.B. Kostenüberschlagsrechnung für eine Reise, Luftlinie als Distanz zwischen zwei Orten
Eine Suche kann mit Hilfe von Heuristiken erheblich beschleunigt werden.
Eine geeignete Heuristik sollte zielgerichtet sein, d.h. nicht nur die bisherige Vergangenheit betrachten, sondern auch eine Abschätzung zum Ziel geben.
Künstliche Intelligenz Miao Wang
h(n) = heuristische (geschätzte) Kosten von n zum Ziel
Eine heuristische Funktion ist um so brauchbarer, je mehr Zustände sie unterschiedlich bewertet
Eine heuristische Funktion, die alle Zustände gleich bewertet, ist unbrauchbar.
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Domänenspezifisches Wissen um die Qualität von potentiellen oder partiellen Lösungen zu schätzenfür eine Reise, Luftlinie als Distanz zwischen zwei Orten
Eine Suche kann mit Hilfe von Heuristiken erheblich beschleunigt werden.
Eine geeignete Heuristik sollte zielgerichtet sein, d.h. nicht nur die bisherige Vergangenheit betrachten,
Miao Wang 26
= heuristische (geschätzte) Kosten von n zum Ziel
Eine heuristische Funktion ist um so brauchbarer, je mehr Zustände sie unterschiedlich bewertet.
Eine heuristische Funktion, die alle Zustände gleich bewertet, ist unbrauchbar.
-
Bestensuche (Best-First-Search)
Eine Bestensuche priorisiert nach einer Heuristik. Es wird in jeder Iteration stets der Knoten ausgewählt mit minimalen heuristischen Kosten. Die optimale Lösung ist jedoch nicht garantiert.
Greedy-Bestensuche:
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
priorisiert nach einer Heuristik. Es wird in jeder Iteration stets der Knoten ausgewählt mit minimalen heuristischen Kosten. Die optimale Lösung ist jedoch nicht garantiert.
Luftlinie nach Ulm:
Basel 204Bayreuth 207Bern 247
Miao Wang 27
Bern 247Frankfurt 215Innsbruck 163Karlsruhe 137Landeck 143Linz 318München 120Mannheim 164Memmingen 47Nürnberg 132Passau 257Rosenheim 168Stuttgart 75Salzburg 236Würzburg 153Zürich 157
-
Beispiel: Greedy-Bestensuche
Künstliche Intelligenz Miao Wang
Von Mannheim nach Ulm mit Greedy-Bestensuche:
Mannheimh = 164
Würzburgh = 153
Mannheimh = 164
Ulmh = 0
Münchenh = 120
Passauh = 257
Karlsruheh = 137
Nürnbergh = 132
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Luftlinie nach Ulm:
Basel 204Bayreuth 207Bern 247Frankfurt 215Innsbruck 163Karlsruhe 137Landeck 143Linz 318München 120Mannheim 164
Memmingen 47Nürnberg 132Passau 257Rosenheim 168Stuttgart 75Salzburg 236Würzburg 153Zürich 157
Miao Wang 28
Mannheim 164
Passauh = 257
Bayreuthh = 207
Frankfurth = 215
Greedy findet den Weg Mannheim-Nürnberg-Ulm mit 401 km.
Aber Mannheim-Karlsruhe-Stuttgart-Ulm mit 238 km wäre deutlich kürzer.
-
Heuristiken (2)
Um die Probleme der Greedy-Bestensuche zu umgehen, wird nicht nur die heuristische Wert zum Ziel gewählt sondern zusätzlich noch die bisher verbrauchten Kosten vom Start.
g(n) = minimale Kosten von s0 nach n
h(n) = heuristische (geschätzte) Kosten von n zum Ziel
f(n) = g(n) + h(n)
Künstliche Intelligenz Miao Wang
mit g(s0) = 0
Eine Heuristik h ist zulässig, wenn sie optimistischh(n) ≤ h*(n) mit h*(n) = echte minimale Kosten von n zum Ziel
Eine Heuristik h ist monoton, wenn jede Kante unterschätzt wird:∀ Kinder m von n : h(n) – h(m) ≤ c(n,m)
Konvertiere eine zulässige Heuristik in eine monotone mith‘(m) = max { h(m), h(n) – c(n,m) }
Eine Heuristik h1 ist mehr informiert als h2, wenn∀n : h*(n) ≥ h1(n) > h2(n)
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
zu umgehen, wird nicht nur die heuristische Wert zum Ziel gewählt sondern zusätzlich noch die bisher verbrauchten Kosten vom Start.
= heuristische (geschätzte) Kosten von n zum Ziel
Miao Wang 29
ist (Unterschätzung):mit h*(n) = echte minimale Kosten von n zum Ziel
jede Kante unterschätzt wird:
Konvertiere eine zulässige Heuristik in eine monotone mit
-
A*-Algorithmus
A* ist eine Bestensuche, die nur optimistische Heuristiken benutzt:
1. Init: OPEN = {s0} , CLOSED
2. Fail: if OPEN = {} terminate with FAIL
3. Select: Extract a state n
and save n to CLOSED
4. Terminate: if n ∈∈∈∈ G terminate with SUCCESS 5. Expand: For each successor
if m ∉∉∉∉ (OPEN ∪∪∪∪ CLOSEDg(m) = g(n) + c(
Künstliche Intelligenz Miao Wang
Existieren bei Schritt 3 mehrere Zustände n mit gleichem f(n), so wähle jenes mit zusätzlich minimalsten g(n)
Unzulässige Heuristiken können den Suchraum beschneiden, aber wenn zu viel beschnitten wird, kann das optimale Ziel ebenfalls weggeschnitten werden (siehe Greedy
g(m) = g(n) + c(
f(m) = g(m) + h(
insert m to OPEN
else if m ∈∈∈∈ (OPENg(m) = min { g(
f(m) = g(m) + h(
if f(m) has decreased and
move m from
6. Loop2: Goto Step 2
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
A* ist eine Bestensuche, die nur optimistische Heuristiken benutzt:
CLOSED = {} , f(s0) = g(s0) + h(s0) = h(s0)
terminate with FAIL
with minimum heuristic cost f(n) from OPEN
CLOSED
terminate with SUCCESS and return f(n)
For each successor m of n with T:
CLOSED)
) + c(n, m)
Miao Wang 30
Existieren bei Schritt 3 mehrere Zustände n mit gleichem f(n), so wähle jenes mit zusätzlich minimalsten g(n)
Unzulässige Heuristiken können den Suchraum beschneiden, aber wenn zu viel beschnitten wird, kann das optimale Ziel ebenfalls weggeschnitten werden (siehe Greedy-Bestensuche)
) + c(n, m)
) + h(m)
OPEN
∪∪∪∪ CLOSED)) = min { g(m) , g(n) + c(n, m) }
) + h(m)
) has decreased and m ∈∈∈∈ CLOSEDfrom CLOSED to OPEN
-
Beispiel: A*
Von Mannheim nach Ulm mit A*:
Mannheimg = 0, h = 164, f = 164
Karlsruheg = 67, h = 137, f = 204
Nürnbergg = 230, h = 132, f = 362
Frankfurtg = 85, h = 215, g = 300
Künstliche Intelligenz Miao Wang
Stuttgartg = 131, h = 75, f = 206
Baselg = 258, h = 204, f = 462
Würzburgg = 271, h = 153, f = 424
Ulmg = 238, h = 0, f = 238
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Frankfurt215, g = 300
Miao Wang 31
Luftlinie nach Ulm:
Basel 204Bayreuth 207Bern 247Frankfurt 215Innsbruck 163Karlsruhe 137Landeck 143Linz 318München 120Mannheim 164Memmingen 47Nürnberg 132Passau 257Rosenheim 168Stuttgart 75Salzburg 236Würzburg 153Zürich 157
-
Beispiel 2: A*
Von Linz nach Ulm mit A*:
Linzg = 0, h = 318, f = 318
Passaug = 102, h = 257, f = 359
Salzburgg = 126, h = 236, g = 362
Künstliche Intelligenz Miao Wang
Nürnbergg = 322, h = 132, f = 454
Müncheng = 291, h = 120, f = 411
Rosenheimg = 207, h = 168, f = 375
Innsbruckg = 300, h = 163, f = 463
Memmingeng = 381, h = 47, f = 428
Ulmg = 389, h = 0, f = 389
Nürnbergg = 436, h
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Salzburg236, g = 362
Miao Wang 32
Luftlinie nach Ulm:
Basel 204Bayreuth 207Bern 247Frankfurt 215Innsbruck 163Karlsruhe 137Landeck 143Linz 318München 120Mannheim 164Memmingen 47Nürnberg 132Passau 257Rosenheim 168Stuttgart 75Salzburg 236Würzburg 153Zürich 157
Rosenheim168, f = 375
Müncheng = 266, h = 120, f = 386
Nürnbergg = 436, h = 132, f = 568
Passaug = 455, h = 257, f = 712
-
A*-Algorithmus
Der A*-Algorithmus ist optimal. Das heißt, er findet immer die Lösung mit den niedrigsten Gesamtkosten, wenn die Heuristik h zulässig ist.
Wie bei Dijkstra hängt die Laufzeit von A* vom Datentyp von OPEN ab.
Der A*-Algorithmus ist laufzeittechnisch recht effizient hat aber einen hohen Speicherbedarf in dichten Netzen, da alle Knoten in Open im Speicher liegen müssen.
Der A*-Algorithmus enthält die folgenden Algorithmen als
Künstliche Intelligenz Miao Wang
Der A*-Algorithmus enthält die folgenden Algorithmen als
• Für c ≥ 0 und h = 0 erhält man den Dijkstra
• Für c = 0 erhält man die Bestensuche.
• Für c = 1 und h = 0 erhält man die Breitensuche.
• Für c = -1 und h = 0 erhält man die Tiefensuche, wenn man nach OPEN zu gelangen
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
. Das heißt, er findet immer die Lösung mit den niedrigsten Gesamtkosten,
Wie bei Dijkstra hängt die Laufzeit von A* vom Datentyp von OPEN ab.
Algorithmus ist laufzeittechnisch recht effizient hat aber einen hohen Speicherbedarf in dichten Netzen, da alle Knoten in Open im Speicher liegen müssen.
die folgenden Algorithmen als Spezialfälle:
Miao Wang 33
die folgenden Algorithmen als Spezialfälle:
man den Dijkstra-Algorithmus.
man die Breitensuche.
man die Tiefensuche, wenn man Knoten verbietet wieder von CLOSED
-
A* in Prolog
%Graph definiert als
%con(X,Y).
% besta(Goals, Open, Closed)
besta(Goals, [[X,_] | _], _) :-
member(X, Goals), !, write(X).
besta(Goals, [[X,T] | RestOpen], Closed) :-
member([X,T1], Closed), T >= T1, !, besta
Künstliche Intelligenz Miao Wang
besta(Goals, [[X,T] | RestOpen], Closed) :-
member([X,T1], Closed), T < T1, !, kinderbest
qsort(NewOpen, Open), besta(Goals, Open,
besta(Goals, [[X,T] | RestOpen], Closed) :-
write(X), heuristik(X,T,FX), write(FX),
append(L, RestOpen, NewOpen), qsort(NewOpen
besta(Goals,Open,[[X|T],Closed]).
% kinderbest(X,T,L) holt alle Kinder von X und fügt sie in L hinzu mit dem
% heuristischen Wert basierend auf T und der Heuristik
% qsort(X,Y) sortiert Liste X in Liste Y
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
-
besta(Goals, RestOpen, Closed).
Miao Wang 34
-
kinderbest(X,T,L), append(L, RestOpen, NewOpen),
(Goals, Open, Closed).
-
(FX), nl, kinderbest(X,T,L),
NewOpen, Open),
(X,T,L) holt alle Kinder von X und fügt sie in L hinzu mit dem
% heuristischen Wert basierend auf T und der Heuristik
-
A*-Varianten
Um die Speicherproblematik von A* zu umgehen, gibt es viele Variationen von A*:
• IDA* (Iterative Deepening A*)
• RBFS (Recursive Best-First Search)
• MA* (Memory-Bounded A*)
• SMA* (Simplified MA*)
• D* (A* für dynamische Graphen)
• SSS* (A* mit Alpha-Beta-Pruning bei Schach
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Um die Speicherproblematik von A* zu umgehen, gibt es viele Variationen von A*:
Schach)
Miao Wang 35
-
Implementierung der Wegfindung ist nicht immer perfekt
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Implementierung der Wegfindung ist nicht immer perfekt
Miao Wang 36
-
Spieltheorie
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Miao Wang 37
-
Grundlagen der Spieltheorie
Die Suche wird in der Spieltheorie benutzt um optimale Aktionen zu gegebenen Stellungen zu ermitteln.
Dabei entstammt die Spieltheorie nicht Spielen, sondern ist ein mathematisches Feld, welches aus den Wirtschaftswissenschaften entstammt. Sie findet aber auch Anwendung in Biologie, der Soziologie, der Psychologie oder der Künstlichen
Für spieltheoretische Probleme müssen wir das allgemeine Suchproblem etwas modifizieren:
• Ein Zustand entspricht nun einer bestimmten Stellung / Zustand im Spiel
Künstliche Intelligenz Miao Wang
• Ein Zustand entspricht nun einer bestimmten Stellung / Zustand im Spiel
• Die Übergangsfunktion beschreibt mögliche Aktionen des Computers oder des menschlichen Spielers um von einem Zustand zu einem Folgezustand zu gelangen
• Meist existiert ein Zuggenerator, der gegeben einen Zustand eine Menge an zulässigen Aktionen generiert
• Ein Blattknoten repräsentiert ein Spielende und wird als
• In der Regel können wir die Suche nicht bis zu den Blattknoten ausführen. Wir brechen in einer Tiefe t vorzeitig ab. Die Stellungen auf Tiefe t sind nun ebenfalls terminale Stellungen
• Alle terminalen Stellungen werden von einer gute oder schlechte Stellung für den jeweiligen suchenden Spieler ist
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Die Suche wird in der Spieltheorie benutzt um optimale Aktionen zu gegebenen Stellungen zu ermitteln.
Dabei entstammt die Spieltheorie nicht Spielen, sondern ist ein mathematisches Feld, welches aus den Wirtschaftswissenschaften entstammt. Sie findet aber auch Anwendung in Politikwissenschaften, der
Psychologie oder der Künstlichen Intelligenz.
Für spieltheoretische Probleme müssen wir das allgemeine Suchproblem etwas modifizieren:
Ein Zustand entspricht nun einer bestimmten Stellung / Zustand im Spiel
Miao Wang 38
Ein Zustand entspricht nun einer bestimmten Stellung / Zustand im Spiel
beschreibt mögliche Aktionen des Computers oder des menschlichen Spielers um von einem Zustand zu einem Folgezustand zu gelangen
, der gegeben einen Zustand eine Menge an zulässigen Aktionen
Ein Blattknoten repräsentiert ein Spielende und wird als terminale Stellung bezeichnet
In der Regel können wir die Suche nicht bis zu den Blattknoten ausführen. Wir brechen in einer Tiefe t vorzeitig ab. Die Stellungen auf Tiefe t sind nun ebenfalls terminale Stellungen
Alle terminalen Stellungen werden von einer Bewertungsfunktion bewertet, die angibt, ob das eine gute oder schlechte Stellung für den jeweiligen suchenden Spieler ist
-
Grundlagen der Spieltheorie
Ein allgemeiner Suchbaum der Spieltheorie:
Künstliche Intelligenz Miao Wang
Die Bewertungsfunktion ist in der Regel eine gewichtete Summe aus vielen kleinen Heuristiken:
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Miao Wang 39
Die Bewertungsfunktion ist in der Regel eine gewichtete Summe aus vielen kleinen Heuristiken:
-
Warum können wir nicht bis zu den Blättern suchen?
Angenommen unser Spiel hat einen konstanten Verzweigungsfaktor von 30, d.h. 30 unterschiedliche Aktionsmöglichkeiten pro Stellung.
Sei unsere erste Lösung in Tiefe 50.
Der entsprechende Suchbaum hätte Knoten.
Angenommen wir hätten 10.000 Computer, die jeweils eine Milliarde Suchschritte pro Sekunde schaffen, und
Künstliche Intelligenz Miao Wang
Angenommen wir hätten 10.000 Computer, die jeweils eine Milliarde Suchschritte pro Sekunde schaffen, und man könne die Arbeit ohne Verluste auf alle Rechner verteilen, dann beläuft sich die Rechenzeit auf
Dies ist zum Glück nur 1043 mal so lange wie unser Universum alt ist.
Wie kann es dann sein, dass ein Schachcomputer gegen den Weltmeister gewinnt?
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Warum können wir nicht bis zu den Blättern suchen?
Angenommen unser Spiel hat einen konstanten Verzweigungsfaktor von 30, d.h. 30 unterschiedliche
hätte Knoten.
Angenommen wir hätten 10.000 Computer, die jeweils eine Milliarde Suchschritte pro Sekunde schaffen, und
Miao Wang 40
Angenommen wir hätten 10.000 Computer, die jeweils eine Milliarde Suchschritte pro Sekunde schaffen, und man könne die Arbeit ohne Verluste auf alle Rechner verteilen, dann beläuft sich die Rechenzeit auf
mal so lange wie unser Universum alt ist.
Wie kann es dann sein, dass ein Schachcomputer gegen den Weltmeister gewinnt?
-
Tic-Tac-Toe
Ein einfaches Spiel zur Überschaubarkeit ist Tic-Tactheoretisch auch bis zu den Blättern suchen könnte.
Wenn wir suchen, müssen wir auch das mögliche Verhalten des Gegner in Betracht ziehen und entsprechend agieren. Das Verhalten des Gegners ist jedoch ungewiss
Idee: Gegner ist unfehlbar, spielt immer den bestmöglichen Zug (optimale Spielstrategie)
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Tac-Toe. Der Zustandsraum von TTT ist so klein, dass man theoretisch auch bis zu den Blättern suchen könnte.
Wenn wir suchen, müssen wir auch das mögliche Verhalten des Gegner in Betracht ziehen und entsprechend agieren. Das Verhalten des Gegners ist jedoch ungewiss und meistens kontraproduktiv.
Gegner ist unfehlbar, spielt immer den bestmöglichen Zug (optimale Spielstrategie)
Miao Wang 41
Halbzug
Zug
Bewertung für terminale Stellungen:
-1 10
x gewinntremiso gewinnt
-
Min-Max-Algorithmus
Ein Nullsummenspiel ist definiert als ein Spiel, wo eine gewinnbringende Aktion eines Spielers den Gegenspieler stets schadet und andersrum. Die Gesamtsumme der Gewinne/Verluste aller Spieler ist gleich 0.
Für einen optimalen Gegenspieler findet der Min-Max-optimale Lösung:
Ein Spieler versucht seine Bewertung stets zu maximieren, während der Gegenspieler versucht ihn zu minimieren.
Künstliche Intelligenz Miao Wang
J. von Neumann, “Zur Theorie der Gesellschaftsspiele,” Mathematische Annalen, vol. J. von Neumann and O. Morgenstern, Theory of Games and Economic Behavior.
-1 -1
0
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Ein Nullsummenspiel ist definiert als ein Spiel, wo eine gewinnbringende Aktion eines Spielers den Gegenspieler stets schadet und andersrum. Die Gesamtsumme der Gewinne/Verluste aller Spieler ist gleich 0.
-Algorithmus für Nullsummenspiele für zwei Spieler die
Ein Spieler versucht seine Bewertung stets zu maximieren, während der Gegenspieler versucht ihn zu minimieren.
Miao Wang 42
J. von Neumann, “Zur Theorie der Gesellschaftsspiele,” Mathematische Annalen, vol. 100, no. 1, pp. 295–320, 1928.. von Neumann and O. Morgenstern, Theory of Games and Economic Behavior. Princeton University Press, 2007. ISBN-13: 978-0-69113-061-3.
0
-
Min-Max-Algorithmus
Sei n die aktuelle Spielstellung
Pseudocode:
maxKnoten(n)
Künstliche Intelligenz Miao Wang
Sei b der Verzweigungsgrad (branching-factor) und
Laufzeit: O(bt)
Variante: Der NegaMax-Algorithmus
maxKnoten(n)
if n is terminal state
return eval(n)
else
w = -∞∞∞∞for each successor m of n
v = minKnoten(m)
if v > w then w = v
return w
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
minKnoten(n)
Miao Wang 43
) und t die Tiefe des Suchbaums:
minKnoten(n)
if n is terminal state
return eval(n)
else
w = ∞∞∞∞for each successor m of n
v = maxKnoten(m)
if v < w then w = v
return w
-
Beispiel: Min-Max-Algorithmus
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Miao Wang 44
-
Min-Max-Algorithmus in Prolog
minmax(Pos, BestSucc, Val) :-
(moves(Pos, PosList), !, best(PosList
eval(Pos, Val).
best([Pos], Pos, Val) :- minmax(Pos, _, Val), !.
best([Pos1 | PosList], BestPos, BestVal) :
minmax(Pos1, _, Val1), best(PosList, Pos2, Val2),
betterof(Pos1, Val1, Pos2, Val2, BestPos
Künstliche Intelligenz Miao Wang
betterof(Pos1, Val1, Pos2, Val2, Pos1, Val1) :
(mintomove(Pos1), Val1 > Val2, !);
(maxtomove(Pos1), Val1 < Val2, !).
betterof(Pos1, Val1, Pos2, Val2, Pos2, Val2).
% moves(P,L) ist der Zuggenerator und fügt alle gültigen Folgezustände von P in L
% wenn P terminale Stellung, dann liefert
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
PosList, BestSucc, Val));
(Pos, _, Val), !.
) :-
, Pos2, Val2),
BestPos, BestVal).
Miao Wang 45
(Pos1, Val1, Pos2, Val2, Pos1, Val1) :-
% max-Knoten
% min-Knoten
(Pos1, Val1, Pos2, Val2, Pos2, Val2).
(P,L) ist der Zuggenerator und fügt alle gültigen Folgezustände von P in L
% wenn P terminale Stellung, dann liefert moves(P,L) false
-
Das Nash-Equilibrium
Der Min-Max-Algorithmus findet als Hauptvariante stets ein Nash
Weicht der Spieler oder Gegenspieler von dieser Variante ab, kann der jeweilige Spieler seine Bewertung aus seiner Sicht nur verschlechtern.
Beispiel von vorhin:
Künstliche Intelligenz Miao Wang
J. Nash, “Equilibrium Points in N-Person Games,” Proceedings of the National J. Nash, “Non-Cooperative Games,” The Annals of Mathematics, vol. 54, no. 2, pp.
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
stets ein Nash-Gleichgewicht.
Weicht der Spieler oder Gegenspieler von dieser Variante ab, kann der jeweilige Spieler seine Bewertung aus
Miao Wang 46
Person Games,” Proceedings of the National Academy of Sciences, vol. 36, pp. 48–49, 1950.Cooperative Games,” The Annals of Mathematics, vol. 54, no. 2, pp. 286–295, 1951.
-
Alpha-Beta-Pruning
Min-Max hat exponentielles Wachstum, da alle Situationen betrachtet werden. Es gibt jedoch Situationen im Spielbaum, bei denen einzelne Zweige nicht mehr betrachtet werden müssen, da sie ein Maximum/Minimum am Elternknoten nicht mehr verändern.
Das Alpha-Beta-Pruning nutzt dies aus um unnötige Äste im Baum abzuschneiden.
Künstliche Intelligenz Miao Wang
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Max hat exponentielles Wachstum, da alle Situationen betrachtet werden. Es gibt jedoch Situationen im Spielbaum, bei denen einzelne Zweige nicht mehr betrachtet werden müssen, da sie ein Maximum/Minimum
nutzt dies aus um unnötige Äste im Baum abzuschneiden.
Miao Wang 47
-
Alpha-Beta-Pruning
Pseudocode:
alpha-beta(n, αααα, ββββ):if n is terminal state return eval
if n is max-Node
for each successor m of n
αααα = max{αααα, alpha-beta(m, if αααα ≥≥≥≥ ββββ return ββββelse continue
return αααα
Künstliche Intelligenz Miao Wang
return ααααelse if n is min-Node
for each successor m of n
ββββ = max{ββββ, alpha-beta(m, if αααα ≥≥≥≥ ββββ return ααααelse continue
return ββββ
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
eval(n)
(m, αααα, ββββ)}
Miao Wang 48
(m, αααα, ββββ)}
-
Beispiel: Alpha-Beta-Pruning
[-∞∞∞∞,
[-∞∞∞∞, ∞∞∞∞]
1
0
0
[0,
1
Künstliche Intelligenz Miao Wang
1 -1
0 5 -2
[-∞∞∞∞, ∞∞∞∞]
1
-2 < α (= 0)
αααα-Cutoff
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
, ∞∞∞∞]
[αααα, ββββ]
hat blau sicher hat rot sicher
Blau will maximierenRot will minimieren
, ∞∞∞∞]
5
[0, ∞∞∞∞]
1
Miao Wang 49
-5 1 2
[0, ∞∞∞∞]
1
[0, 1]
2 > β (= 1)
ββββ-Cutoff
-
Alpha-Beta-Pruning
Exemplarisch illustrierte Laufzeiten für 4-gewinnt in einem 7x6 Feld
Tiefe Min-Max Alpha-Beta
7 0:05 min
-
Unterscheidung von Spielen
Spiele können unterschiedliche Eigenschaften haben, sodass sie nicht immer mit den vorgestellten Methoden so einfach zu lösen sind:
Spieleranzahl: Ein-Spieler, Zwei-Spieler, Mehrspieler
Zugfolge: Partisan
Informationsstand: perfekt, vollständig, unvollständig, …
Wahrscheinlichkeiten: keine, diskret oder stetig
Künstliche Intelligenz Miao Wang
Allianzen: kooperativ, nicht-kooperativ
Gleichgewichte: kein, ein oder mehrere
Wiederholungen: einmalig, mehrmalig eigenständig, mehrmalig aufbauend, …
Entscheidungszeitraum: dynamisch / Echtzeit, statisch / rundenbasiert, …
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Spiele können unterschiedliche Eigenschaften haben, sodass sie nicht immer mit den vorgestellten Methoden
Spieler, Mehrspieler
perfekt, vollständig, unvollständig, …
Miao Wang 51
einmalig, mehrmalig eigenständig, mehrmalig aufbauend, …
dynamisch / Echtzeit, statisch / rundenbasiert, …
-
Unvollständige Information: Das Ziegenproblem
1. Hinter einem Tor versteckt sich ein Auto, hinter den anderen beiden eine Ziege.
Künstliche Intelligenz Miao Wang
1. Hinter einem Tor versteckt sich ein Auto, hinter den anderen beiden eine Ziege.
2. Der Kandidat wählt ein Tor aus.
3. Hat der Kandidat das Tor mit dem Auto gewählt, dann öffnet der Moderator zufällig eines der beiden anderen Tore, hinter dem sich immer eine Ziege befindet.
4. Hat der Kandidat ein Tor mit einer Ziege gewählt, dann öffnet der Moderator dasjenige der beiden anderen Tore, hinter dem die zweite Ziege steht.
5. Der Moderator bietet dem Kandidaten an, seine Entscheidung zu überdenken und das andere ungeöffnete Tor zu wählen.
Was sollte der Kandidat tun?
Weitere interessante Beispiele der Spieltheorie: http://de.wikipedia.org/wiki/Spieltheorie#Beispiele
Lösung: Der Kandidat sollte das Tor wechseln. Seine Gewinnchance beträgt dann 2/3 anstatt 1/3.
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Unvollständige Information: Das Ziegenproblem
Hinter einem Tor versteckt sich ein Auto, hinter den anderen beiden eine Ziege.
Miao Wang 52
Hinter einem Tor versteckt sich ein Auto, hinter den anderen beiden eine Ziege.
Hat der Kandidat das Tor mit dem Auto gewählt, dann öffnet der Moderator zufällig eines der beiden anderen Tore, hinter dem sich immer eine Ziege befindet.
Hat der Kandidat ein Tor mit einer Ziege gewählt, dann öffnet der Moderator dasjenige der beiden anderen Tore, hinter dem die zweite Ziege steht.
Der Moderator bietet dem Kandidaten an, seine Entscheidung zu überdenken und das andere
http://de.wikipedia.org/wiki/Spieltheorie#Beispiele
Lösung: Der Kandidat sollte das Tor wechseln. Seine Gewinnchance beträgt dann 2/3 anstatt 1/3.
-
Allianzen: Das Gefangenendilemma
• Zwei Gefangene werden verdächtigt, gemeinsam eine Straftat begangen zu haben. Die Höchststrafe für das Verbrechen beträgt fünf Jahre.
• Beiden Gefangenen wird ein Handel vorgeschlagen: Wenn einer gesteht und somit seinen Partner mitbelastet, kommt er mit einer milden Strafe davon (1 Jahr) – der andere muss die vollen 5 Jahre absitzen.
• Entscheiden sich beide weiter zu schweigen, führen die Indizienbeweise beide für 2 Jahre hinter Gitter.
Künstliche Intelligenz Miao Wang
Indizienbeweise beide für 2 Jahre hinter Gitter.
• Gestehen beide die Tat, erwartet jeden weiterhin eine Gefängnisstrafe von 3 Jahren.
• Beide Gefangenen werden unabhängig voneinander befragt. Weder vor noch während der Befragung haben die beiden die Möglichkeit, sich untereinander abzusprechen.
Was wäre eine rationale Entscheidung?
Weitere interessante Beispiele der Spieltheorie: http://de.wikipedia.org/wiki/Spieltheorie#Beispiele
Kollektiv wäre es sinnvoll zu schweigenDoch individuell wäre es vorteilhafter auszusagen
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Zwei Gefangene werden verdächtigt, gemeinsam eine Straftat begangen zu haben. Die Höchststrafe für das
Beiden Gefangenen wird ein Handel vorgeschlagen: Wenn einer gesteht und somit seinen Partner mitbelastet, kommt
der andere muss
Entscheiden sich beide weiter zu schweigen, führen die
Miao Wang 53
Gestehen beide die Tat, erwartet jeden weiterhin eine
Beide Gefangenen werden unabhängig voneinander befragt. Weder vor noch während der Befragung haben die beiden die Möglichkeit, sich untereinander abzusprechen.
http://de.wikipedia.org/wiki/Spieltheorie#Beispiele
-
Kooperationen: Eisverkäufer am Strand
Hotellings Gesetz ist ein Theorem in der Mikroökonomie, welches demonstriert das einzeln, rational entscheidende Produzenten im Gesamten weniger Gewinn erwirtschaften als kooperativ handelnde.
• Zwei Eisverkäufer platzieren ihre Stände an einem Strand von 100
• Der Strand ist gleichmäßig mit Badegästen gefüllt und jeder Badegast wählt den Eisverkäufer, der näher dran ist, es sei denn der Weg ist zu weit.
• Gesucht ist die optimale Position beider Eisverkäufer für den maximalen Umsatz
Wenn beide Eisverkäufer rational und zielgerichtet handeln werden sie aus Konkurrenzgedanken immer näher Richtung Mitte wandern und letztlich weniger Umsatz machen!
Künstliche Intelligenz Miao Wang
Weitere interessante Beispiele der Spieltheorie: http://de.wikipedia.org/wiki/Spieltheorie#Beispiele
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Gesetz ist ein Theorem in der Mikroökonomie, welches demonstriert das einzeln, rational entscheidende Produzenten im Gesamten weniger Gewinn erwirtschaften als kooperativ handelnde.
Zwei Eisverkäufer platzieren ihre Stände an einem Strand von 100 m Länge.
Der Strand ist gleichmäßig mit Badegästen gefüllt und jeder Badegast wählt den Eisverkäufer, der näher dran ist, es sei denn der Weg ist zu weit.
Gesucht ist die optimale Position beider Eisverkäufer für den maximalen Umsatz
Miao Wang 54
http://de.wikipedia.org/wiki/Spieltheorie#Beispiele
-
Mehrere Gleichgewichte: Der Kampf der Geschlechter
Der Kampf der Geschlechter ist ein verwandtes Problem zum Gefangendilemma und weist zwei Nash-Gleichgewichte auf:
Ein Mann und eine Frau wollen den Abend verbringen, haben sich aber noch nicht auf einen Ort geeinigt. Beide müssen sich unabhängig voneinander entscheiden. Das Fußballspiel wird von dem Mann, das Konzert von der Frau präferiert.
Folgende Tabelle zeigt die mögliche „Auszahlung“:
Künstliche Intelligenz Miao Wang
Weitere interessante Beispiele der Spieltheorie: http://de.wikipedia.org/wiki/Spieltheorie#Beispiele
Fußball
Fußball (3,1)
Konzert (0,0)
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Mehrere Gleichgewichte: Der Kampf der Geschlechter
Der Kampf der Geschlechter ist ein verwandtes Problem zum Gefangendilemma
Ein Mann und eine Frau wollen den Abend verbringen, haben sich aber noch nicht auf einen Ort geeinigt. Beide müssen sich unabhängig voneinander entscheiden. Das Fußballspiel wird von dem Mann, das Konzert von der Frau präferiert.
Miao Wang 55
http://de.wikipedia.org/wiki/Spieltheorie#Beispiele
Konzert
(0,0)
(3,1)
Es gibt zwei Nash-Gleichgewichte oben links und unten rechts.
Das Problem ist, dass es keine dominanten Strategien
-
Mehrspielerproblem
Um Min-Max für mehrere Spieler anwenden zu können, müssen einige Anpassungen vorgenommen werden:
• Für jede Ebene muss gespeichert werden, welcher Spieler an der Reihe ist
• Die Bewertungsfunktion darf nicht mehr einen Wert zurückliefern, sondern muss einen erstellen, welche die Bewertungen für alle Spieler aus ihrer Sicht enthalten
Künstliche Intelligenz Miao Wang
Es existieren nun jedoch mehrere Möglichkeiten die beste Alternative zu wählen.
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Max für mehrere Spieler anwenden zu können, müssen einige Anpassungen vorgenommen werden:
Für jede Ebene muss gespeichert werden, welcher Spieler an der Reihe ist
Die Bewertungsfunktion darf nicht mehr einen Wert zurückliefern, sondern muss einen Nutzenvektorerstellen, welche die Bewertungen für alle Spieler aus ihrer Sicht enthalten
Miao Wang 56
Es existieren nun jedoch mehrere Möglichkeiten die beste Alternative zu wählen.
-
maxN-Variante
Eine Variante wäre, wenn sich alle Spieler optimistisch verhalten und jeweils versuchen ihren eigenen Nutzen im Nutzenvektor stets zu maximieren:
Künstliche Intelligenz Miao Wang
N. R. Sturtevant, A Comparison of Algorithms for Multi-player Games, vol. C. Luckhardt and K. Irani, “An algorithmic solution of N-person games,” Fifth (AAAI-86), vol. 1986, pp. 158–162, 1986.
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Eine Variante wäre, wenn sich alle Spieler optimistisch verhalten und jeweils versuchen ihren eigenen Nutzen
Miao Wang 57
player Games, vol. 0302/2003. Springer Berlin / Heidelberg, 2003. ISBN-13: 978-3-540-20545-6.person games,” Fifth National Conference of the American Association for Artificial Intelligence
-
Paranoid-Variante
Im Gegensatz zu maxN können sich die Spieler aber auch pessimistisch verhalten und die Annahme treffen, dass sich alle Gegenspieler zu einer Allianz gegen sich selbst geschlossen haben. Die Annahme ist, dass sich die Gegner verbünden und vorhaben den eigenen Nutzen stets zu minimieren:
Künstliche Intelligenz Miao Wang
N. R. Sturtevant, A Comparison of Algorithms for Multi-player Games, vol. N. R. Sturtevant and R. E. Korf, “On Pruning Techniques for Multi-Player Games,” Artificial Intelligence (AAAI-00), pp. 201–207, 2000.
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
können sich die Spieler aber auch pessimistisch verhalten und die Annahme treffen, dass sich alle Gegenspieler zu einer Allianz gegen sich selbst geschlossen haben. Die Annahme ist, dass sich die Gegner verbünden und vorhaben den eigenen Nutzen stets zu minimieren:
Miao Wang 58
player Games, vol. 0302/2003. Springer Berlin / Heidelberg, 2003. ISBN-13: 978-3-540-20545-6.Player Games,” Sixteenth National Conference of the American Association for
Selber Suchbaum wie vorhin. Eingetragen ist nur der Nutzenwert vom suchenden Spieler A
-
Zusammenfassung
• Das allgemeines Suchproblem beschreibt das Problem einen Weg von einem Startzustand zu einem Zielzustand zu finden. Der Graph wird dabei implizit aufgebaut.
• Uninformierte Suchverfahren wie Tiefensuche oder Graphen ineffizient.
• Informierte Suchverfahren bedienen sich einer heuristischen Funktionabschätzen.
• Die Bestensuche priorisiert nach einer Heuristik und ist sehr schnell, findet aber die „erstbeste“ Lösung und somit nicht immer die allgemein beste Lösung
• Der A*-Algorithmus ist ein optimaler Wegfindungsalgorithmus und
Künstliche Intelligenz Miao Wang
• Der A*-Algorithmus ist ein optimaler Wegfindungsalgorithmus undniedrigsten Gesamtkosten, wenn die Heuristik h zulässig ist.
• Methoden wie Iterative Tiefensuche, Bidirektionale Suche und beschleunigen.
• Für die Suche in der Spieltheorie wird das allgemeine Suchproblem leicht modifiziert.
• Der Min-Max-Algorithmus findet in einem Nullsummenspiel für zwei Spieler stets die optimale Hauptvariante gemäß dem Nash-Gleichgewicht.
• Der Suchbaum kann mit Hilfe von Alpha-Beta-Pruning
• Für Mehrspielerspiele müssen zusätzliche Faktoren berücksichtigt werden.
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
beschreibt das Problem einen Weg von einem Startzustand zu einem Zielzustand zu finden. Der Graph wird dabei implizit aufgebaut.
oder Breitensuche suchen „blind“, und sind für große
heuristischen Funktion, mit der sie die Kosten zum Ziel
priorisiert nach einer Heuristik und ist sehr schnell, findet aber die „erstbeste“ Lösung und somit nicht immer die allgemein beste Lösung
ist ein optimaler Wegfindungsalgorithmus und findet immer die Lösung mit den
Miao Wang 59
ist ein optimaler Wegfindungsalgorithmus und findet immer die Lösung mit den niedrigsten Gesamtkosten, wenn die Heuristik h zulässig ist.
Methoden wie Iterative Tiefensuche, Bidirektionale Suche und Branch-and-Bound können die Suche
wird das allgemeine Suchproblem leicht modifiziert.
findet in einem Nullsummenspiel für zwei Spieler stets die optimale Gleichgewicht.
Pruning stark beschnitten werden.
Für Mehrspielerspiele müssen zusätzliche Faktoren berücksichtigt werden.
-
Übungsaufgaben
Aufgabe 1 – Mehrere Anfangszustände (2P)Die Algorithmen in der Vorlesung sind immer von genau einem Anfangszustand ausgegangen. Wie kann man die Ansätze generalisiermöglichen Anfangszuständen umzugehen?
Aufgabe 2 – 6 Steine (5 P)Gegeben sind drei weiße und drei schwarze Steine auf sieben nebeneinanderliegenden Feldern in der unten abgebildeten Verteiluweißen Steine links von den schwarzen liegen. Die Position des leeren Feldesist dabei unerheblich.Bei jedem Zug wird ein Stein auf das leere Feld bewegt. Erlaubte Züge sind einen Stein auf ein benachbartes leeres Feld zu ziStein zu überspringen (Kosten 1) oder zwei Steine zu überspringen (Kosten 2).
• Analysieren Sie den Zustandsraum im Hinblick auf Komplexität und Schleifen. (1P)
Künstliche Intelligenz Miao Wang
• Analysieren Sie den Zustandsraum im Hinblick auf Komplexität und Schleifen. (1P)• Beschreiben Sie eine geeignete heuristische Funktion h, um dieses Problem zu lösen. Analysieren Sie h im Hinblick auf ZuläsInformiertheit. (3P)• Angenommen es existieren mehrere zulässige Heuristiken h1 … hk, die unterschiedlich informiert sind. D.h. keine Heuristik ist für alle Knoten informierter als eine andere, aber für einige Knoten schon. Welche Heuristik sollte man bei einem Knoten wählen? (1P)
Aufgabe 3 – 8-Puzzle einfach und leicht (Advanced KI-Skills)Schreiben Sie ein Prologprogramm, welches das 8-Puzzle für eine beliebige Startkonfiguration mittels Breitensuche oder A* löst.
Aufgabe 4 - Minimax und Alpha-Beta-Pruning (10P)
• Führen Sie die Auswertung des abgebildeten Baumes per Minimax aus (auf Papier). (3P)• Werten Sie den Baum mit Alpha-Beta-Pruning von links nach rechts aus. (3P)• Werten Sie den Baum mit Alpha-Beta-Pruning von rechts nach links aus. (3P)• Erörtern Sie, warum bei den beiden Durchgängen für die Alpha-Beta-Pruning unterschiedlich beschnitten wurde. (1P)
Vorlesung Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Die Algorithmen in der Vorlesung sind immer von genau einem Anfangszustand ausgegangen. Wie kann man die Ansätze generalisieren, um mit mehreren
Gegeben sind drei weiße und drei schwarze Steine auf sieben nebeneinanderliegenden Feldern in der unten abgebildeten Verteilung. Ziel ist es, dass alle
Bei jedem Zug wird ein Stein auf das leere Feld bewegt. Erlaubte Züge sind einen Stein auf ein benachbartes leeres Feld zu ziehen (mit Kosten von 1), einen
• Analysieren Sie den Zustandsraum im Hinblick auf Komplexität und Schleifen. (1P)
Miao Wang 60
• Analysieren Sie den Zustandsraum im Hinblick auf Komplexität und Schleifen. (1P)• Beschreiben Sie eine geeignete heuristische Funktion h, um dieses Problem zu lösen. Analysieren Sie h im Hinblick auf Zulässigkeit, Monotonie und
, die unterschiedlich informiert sind. D.h. keine Heuristik ist für alle Knoten informierter als eine andere, aber für einige Knoten schon. Welche Heuristik sollte man bei einem Knoten wählen? (1P)
Puzzle für eine beliebige Startkonfiguration mittels Breitensuche oder A* löst.
• Führen Sie die Auswertung des abgebildeten Baumes per Minimax aus (auf Papier). (3P)
unterschiedlich beschnitten wurde. (1P)