Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen
|
|
- Insa Kurzmann
- vor 6 Jahren
- Abrufe
Transkript
1 Einführung in die Methoden der Künstlichen Intelligenz Suche bei Spielen Prof. Dr. Manfred Schmidt-Schauß SoSe 2016 Stand der Folien: 12. Mai 2016
2 Zwei-Spieler-Spiele Ziel dieses Abschnitts Intelligenter Agent für Zweipersonenspiele Beispiele: Schach, Dame, Mühle,... M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 2/40
3 Zwei-Spieler-Spiele Ziel dieses Abschnitts Intelligenter Agent für Zweipersonenspiele Beispiele: Schach, Dame, Mühle,... Annahme zunächst: Spiele mit genau zwei Gegnern Kein Zufall im Spiel (keine Würfel, Kartenmischen) etc. M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 2/40
4 Schach Zwei-Spieler-Spiele Gute Strategien zum Schachspielen wurden schon entwickelt bevor es Computer gab. Untersuchungen zu Gewinnstrategien (Eröffnungen, Endspiel... ) Bewerten von Spielsituationen M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 3/40
5 Schach Zwei-Spieler-Spiele Gute Strategien zum Schachspielen wurden schon entwickelt bevor es Computer gab. Untersuchungen zu Gewinnstrategien (Eröffnungen, Endspiel... ) Bewerten von Spielsituationen Im wesentlichen 2 Ansätze für Programme zum Schachspielen 1 Verwende bekannte Schachtheorien (Verteidigung, Angriff, Bedrohung, Decken, Mittelfeld,... ). Versuche die menschliche Methode zu Programmieren 2 Absuchen aller Möglichkeiten, um den nächsten guten Zug zu finden. M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 3/40
6 Schach (2) Zwei-Spieler-Spiele Moderne erfolgreiche Schachprogramme: verwenden im wesentlichen das Absuchen verwenden statische Bewertung der Spielsituationen zusätzlich Bibliotheken für Eröffnung und Endspiel M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 4/40
7 Spielbäume Zwei-Spieler-Spiele Zwei Spieler: genannt imierer und imierer Zustand (Knoten): Darstellung der Spielsituation und welcher Spieler am Zug ist Wurzel: Aktuelle Spielsituation Kinder von Knoten K: mögliche Spielsituationen nach einem Zug Spieler wechselt Blätter mit Gewinnwert bewertet. Schach: 1 = imierer hat gewonnen 1 = imierer hat gewonnen 0 = Remis M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 5/40
8 Beispiel: TicTacToe Spielfeld: imierer: X imierer: O schreiben abwechselnd ihr Symbol in ein freies Feld Gewinner: Spieler hat sein Symbol in einer Reihe (horizontal, vertikal, diagonal) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 6/40
9 Beispiel: TicTacToe Spielfeld: X imierer: X imierer: O schreiben abwechselnd ihr Symbol in ein freies Feld Gewinner: Spieler hat sein Symbol in einer Reihe (horizontal, vertikal, diagonal) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 6/40
10 Beispiel: TicTacToe Spielfeld: X O imierer: X imierer: O schreiben abwechselnd ihr Symbol in ein freies Feld Gewinner: Spieler hat sein Symbol in einer Reihe (horizontal, vertikal, diagonal) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 6/40
11 Beispiel: TicTacToe Spielfeld: X O X imierer: X imierer: O schreiben abwechselnd ihr Symbol in ein freies Feld Gewinner: Spieler hat sein Symbol in einer Reihe (horizontal, vertikal, diagonal) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 6/40
12 Beispiel: TicTacToe Spielfeld: X O X O imierer: X imierer: O schreiben abwechselnd ihr Symbol in ein freies Feld Gewinner: Spieler hat sein Symbol in einer Reihe (horizontal, vertikal, diagonal) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 6/40
13 Beispiel: TicTacToe Spielfeld: X X O X O imierer: X imierer: O schreiben abwechselnd ihr Symbol in ein freies Feld Gewinner: Spieler hat sein Symbol in einer Reihe (horizontal, vertikal, diagonal) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 6/40
14 Beispiel: TicTacToe Spielfeld: X X O O X O imierer: X imierer: O schreiben abwechselnd ihr Symbol in ein freies Feld Gewinner: Spieler hat sein Symbol in einer Reihe (horizontal, vertikal, diagonal) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 6/40
15 Beispiel: TicTacToe Spielfeld: imierer: X imierer: O X O X X X O O schreiben abwechselnd ihr Symbol in ein freies Feld Gewinner: Spieler hat sein Symbol in einer Reihe (horizontal, vertikal, diagonal) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 6/40
16 Beispiel:TicTacToe, Spielbaum O M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 7/40
17 Beispiel:TicTacToe, Spielbaum O X O M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 7/40
18 Beispiel:TicTacToe, Spielbaum O X O M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 7/40
19 Beispiel:TicTacToe, Spielbaum O X O O X M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 7/40
20 Beispiel:TicTacToe, Spielbaum O X O O X X O O X O O O O O O X O O X M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 7/40
21 Beispiel:TicTacToe, Spielbaum O X O O X X O O X O O O O O O X O O X X O O X 0 O 0 O X 1 O 0 O X 1 X O O X 0 M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 7/40
22 Beispiel:TicTacToe, Spielbaum O X O O X X O O X O O O O O O X O O X X O O X 0 O 0 O X 1 O 0 O X 1 X O O X 0 Welchen Zug soll machen? M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 7/40
23 -Suche (1) Eingabe: Spielsituation, Nachfolgerfunktion, Bewertung Ausgabe: Nächster optimaler Zug M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 8/40
24 -Suche (1) Eingabe: Spielsituation, Nachfolgerfunktion, Bewertung Ausgabe: Nächster optimaler Zug Informelle Beschreibung der -Suche: Bewerte alle Blätter Berechne den Wert der anderen Knoten: Stufenweise von unten nach oben über die Werte der Kinder wird maximiert bzw. minimiert je nachdem welcher Spieler am Zug ist Dabei: Züge merken, damit der optimale Zug bekannt ist M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 8/40
25 -Suche (2) Algorithmus -Suche Datenstrukturen: Nachfolgerfunktion, Wert(Zustand) für Endsituationen, Datenstruktur für Spielzustand, Spieler Funktion max(zustand,spieler): NF := alle Nachfolgezustände zu (Zustand,Spieler); if NF = then return Wert(Zustand) else if Spieler == imierer then return max{max(z, Spieler) Z NF } else // Spieler ist imierer return min{max(z, Spieler) Z NF } endif endif wobei Spieler = der jeweils anderen Spieler Implementierung: sollte zus. den Weg speichern, damit der nächste optimale Zug als Ausgabe zur Verfügung steht. M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 9/40
26 Beispiel, TicTacToe O X O O X X O O X O O O O O O X O O X X O O X 0 O 0 O X 1 O 0 O X 1 X O O X 0 M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 10/40
27 Beispiel, TicTacToe O X O O X X O O 0 X O O 0 O 1 O 0 O O X 1 O O X 0 X O O X 0 O 0 O X 1 O 0 O X 1 X O O X 0 M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 10/40
28 Beispiel, TicTacToe O X O 0 0 O X 0 X O O 0 X O O 0 O 1 O 0 O O X 1 O O X 0 X O O X 0 O 0 O X 1 O 0 O X 1 X O O X 0 M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 10/40
29 Beispiel, TicTacToe O 0 X O 0 0 O X 0 X O O 0 X O O 0 O 1 O 0 O O X 1 O O X 0 X O O X 0 O 0 O X 1 O 0 O X 1 X O O X 0 M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 10/40
30 in Haskell minmax endzustand wert nachfolger spieler zustand = go (zustand,[]) spieler where go (zustand,p) spieler endzustand zustand = (wert zustand,reverse $ zustand:p) otherwise = let l = nachfolger spieler zustand in case spieler of imierer -> imierer -> maximumby (\(a,_) (b,_) -> compare a b) [go (z,zustand:p) imierer z <- l] minimumby (\(a,_) (b,_) -> compare a b) [go (z,zustand:p) imierer z <- l] M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 11/40
31 -Eigenschaften kann als Tiefensuche durchgeführt werden Laufzeit O(c d ) bei mittlerer Verzweigungrate c und Blättern in Tiefe d M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 12/40
32 -Eigenschaften kann als Tiefensuche durchgeführt werden Laufzeit O(c d ) bei mittlerer Verzweigungrate c und Blättern in Tiefe d Praktisches Problem: Bei mittelschweren Spielen: unmöglich in annehmbarer Zeit berechenbar TicTacToe: Vom leeren Spielfeld aus: 9! = Zugfolgen, geht gerade noch M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 12/40
33 -Eigenschaften kann als Tiefensuche durchgeführt werden Laufzeit O(c d ) bei mittlerer Verzweigungrate c und Blättern in Tiefe d Praktisches Problem: Bei mittelschweren Spielen: unmöglich in annehmbarer Zeit berechenbar TicTacToe: Vom leeren Spielfeld aus: 9! = Zugfolgen, geht gerade noch Daher: Abwandlung des Verfahrens! M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 12/40
34 mit Tiefenschranke Suche nur bis zur einer bestimmten Tiefe k Bewerte die Knoten in Tiefe k mit einer Heuristik Beispiele für die Bewertungsfunktion: Schach: Materialvorteil, evtl. Stellungsvorteil, Gewinnsituation,... Mühle: Material, #Mühlen, Bewegungsfreiheit,... M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 13/40
35 Beispiel: Heuristische Bewertung für TicTacToe (#einfach X-besetzte Zeilen/Spalten/Diag) * 1 + (# doppelt X-besetzte Zeilen/Spalten/Diag) * 5 + (20, falls Gewinnsituation) - (#einfach O-besetzte Zeilen/Spalten/Diag) * 1 - (# doppelt O-besetzte Zeilen/Spalten/Diag) * 5 - (20, falls Verlustsituation) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 14/40
36 Bewertungsfunktionen Güte der Bewertungsfunktion bestimmt Güte des Verfahrens; muss algorithmisch (möglichst schnell) berechenbar sein sollte Endzustände entsprechend minimal und maximal bewerten Es gilt (in Spielen ohne Zufall): Berechnung des besten Zuges ist unabhängig von den exakten Werten der Bewertungsfunktion; Die Ordnung zwischen den Spielsituationen bestimmt. M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 15/40
37 Beispiel: TicTacToe Sieg Niederlage Unentschieden Bewertung Bewertung Bewertung Bewertung 1 und Bewertung 2 führen zum gleichen optimalen Zug, da Sieg > Unentschieden > Niederlage Bewertung 3 hat eine andere Ordnung: Sieg > Unentschieden = Niederlage und kann daher zu anderem optimalen Zug führen M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 16/40
38 Einwand Zwei-Spieler-Spiele Wenn man ein sehr gute Bewertungsfunktion hat: Warum ausführen und nicht gleich nur die Bewertungen der Kinder anschauen? M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 17/40
39 Einwand Zwei-Spieler-Spiele Wenn man ein sehr gute Bewertungsfunktion hat: Warum ausführen und nicht gleich nur die Bewertungen der Kinder anschauen? Im allgemeinen: Je tiefer man geht, umso besser wird die Bewertungsfunktion! M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 17/40
40 Einwand Zwei-Spieler-Spiele Eine schnelle und exakte Bewertungsfunktion kann es i.a. nicht geben: Die Frage, ob man gewinnen kann, kann in einem Spiel PSPACE-hart sein. (Spielserie mit Parameter) z.b. Erfüllbarkeit von QBFs x 1 x 2 x 3 x 4... F (x 1,..., x n ) Eine in polynomieller Zeit berechenbare Bewertungsfunktion die exakt ist, würde einen Polynomial-Zeit Algorithmus für ein PSPACE-hartes Problem ergeben. Fazit: Bewertungsfunktionen sind i.a. Schätzungen. M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 18/40
41 Tiefenbeschränkte -Suche Mittlere Verzweigungrate c Tiefenschranke m Laufzeit O(c m ), wenn die Heuristik in konstanter Zeit berechenbar ist M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 19/40
42 Optimierung der -Suche: Beispiele A B E C D F G H (A, M ax) = max{(b, M in), (E, M in)} = max{min{(c, M ax), (D, M ax)}, min{(f, M ax), (G, M ax), (H, M ax)}} M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 20/40
43 Optimierung der -Suche: Beispiele A B k E C D F k G H (A, M ax) = max{(b, M in), (E, M in)} = max{k, min{k, (G, ), (H, )}} M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 21/40
44 Optimierung der -Suche: Beispiele A k B k E C D F k G H (A, M ax) = max{(b, M in), (E, M in)} = max{k, min{k, (G, ), (H, )}} Wenn k k : = k M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 21/40
45 Optimierung der -Suche: Beispiele A k B k E C D F k G H (A, M ax) = max{(b, M in), (E, M in)} = max{k, min{k, (G, ), (H, )}} Wenn k k : = k = Knoten (bzw. Teilbäume) G und H braucht man nicht betrachten! M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 21/40
46 Beispiel mit konkreten Werten A E M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 22/40
47 Symmetrischer Fall A B l E C D F l G H (A, M in) = min{(b, M ax), (E, M ax)} = min{l, max{l, (G, ), (H, )}} Wenn l l : = l M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 23/40
48 Alpha-Beta-Suche Zwei-Spieler-Spiele Kürzt genau diese Fälle weg Durch Verwendung eines Suchfensters [α, β] Tiefensuche mit Tiefenschranke notwendig Anpassung der Tiefenschranke im folgenden Algorithmus implizit M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 24/40
49 Algorithmus α β-suche Aufruf: AlphaBeta(Zustand,Spieler,,+ ) Funktion: AlphaBeta(Zustand,Spieler,α,β) 1 Wenn Tiefenschranke erreicht, bewerte die Situation, return Wert 2 Sei NF die Folge der Nachfolger von (Zustand,Spieler) 3 Wenn Spieler = imierer: β l := ; for-each L NF β l := min{β l, AlphaBeta(L,imierer,α,β)} if β l α then return β l endif// verlasse Schleife β := min{β, β l } end-for return β l 4 Wenn Spieler = imierer α l := ; for-each L NF α l := max{α l, AlphaBeta(L,imierer,α,β)} if α l β then return α l endif// verlasse Schleife α := max{α, α l } end-for return α l M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 25/40
50 In Haskell Zwei-Spieler-Spiele alphabeta wert nachfolger maxtiefe neginfty infty spieler zustand = ab 0 neginfty infty spieler zustand where ab tiefe alpha beta spieler zustand null (nachfolger spieler zustand) maxtiefe <= tiefe = wert zustand otherwise = let l = nachfolger spieler zustand in case spieler of imierer -> maximize tiefe alpha beta l imierer -> minimize tiefe alpha beta l maximize tiefe alpha beta xs = it_maximize alpha neginfty xs where it_maximize alpha alpha_l [] = alpha_l it_maximize alpha alpha_l (x:xs) = let alpha_l = max alpha_l (ab (tiefe+1) alpha beta imierer x) in if alpha_l >= beta then alpha_l else it_maximize (max alpha alpha_l ) alpha_l xs minimize tiefe alpha beta xs = it_minimize beta infty xs where it_minimize beta beta_l [] = beta_l it_minimize beta beta_l (x:xs) = let beta_l = min beta_l (ab (tiefe+1) alpha beta imierer x) in if beta_l <= alpha then beta_l else it_minimize (min beta beta_l ) beta_l xs M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 26/40
51 Alpha-Beta-Suche: Beispiel a b c M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
52 Alpha-Beta-Suche: Beispiel a α = β = α l = b c M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
53 Alpha-Beta-Suche: Beispiel a α = β = α l = b α = β = β l = c M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
54 Alpha-Beta-Suche: Beispiel a α = β = α l = b α = β = β l = 2 c M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
55 Alpha-Beta-Suche: Beispiel a α = β = α l = b α = β = 2 β l = 2 c M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
56 Alpha-Beta-Suche: Beispiel a α = β = α l = b α = β = 2 β l = 2 c M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
57 Alpha-Beta-Suche: Beispiel a α = β = α l = b α = β = 2 β l = 1 c M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
58 Alpha-Beta-Suche: Beispiel a α = β = α l = 1 b α = β = 1 β l = 1 c M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
59 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
60 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c α = 1 β = β l = M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
61 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c α = 1 β = β l = M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
62 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c α = 1 β = 6 β l = M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
63 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c α = 1 β = 6 β l = M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
64 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = max{ 1, 2} = 1 b α = β = 1 β l = 1 c α = 1 β = 6 β l = M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
65 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c α = 1 β = 6 β l = M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 27/40
66 Reihenfolge der Nachfolger a a b c c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
67 Reihenfolge der Nachfolger a a b 1 c c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
68 Reihenfolge der Nachfolger a a b 1 c c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
69 Reihenfolge der Nachfolger a a b 1 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
70 Reihenfolge der Nachfolger a a b 1 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
71 Reihenfolge der Nachfolger a a b 1 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
72 Reihenfolge der Nachfolger a a b 1 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
73 Reihenfolge der Nachfolger a a b 1 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
74 Reihenfolge der Nachfolger a 5 a b 1 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
75 Reihenfolge der Nachfolger a 5 a b 1 c 5 c 5 b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
76 Reihenfolge der Nachfolger a 5 a b 1 c 5 c 5 b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
77 Reihenfolge der Nachfolger a 5 a b 1 c 5 c 5 b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
78 Reihenfolge der Nachfolger a 5 a 5 b 1 c 5 c 5 b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
79 Reihenfolge der Nachfolger a 5 a 5 b 1 c 5 c 5 b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge Reihenfolge bestimmt Güte von Alpha-Beta Abhilfe: Nachfolger vorsortieren Heuristik zum Sortieren verwenden M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 28/40
80 Eigenschaften Alpha-Beta Zur Erinnerung: : Laufzeit O(c d ) bei Tiefenschranke d und Verzweigungrate c Alpha-Beta-Suche: Worst-Case: Wie Best-Case O(c d 2 ) Bei guter Vorsortierung O(c d 2 ) (Daumenregel) Bei zufälliger Vorsortierung O(c 3d 4 ) Bei guter Vorsortierung: Bei gleichen Ressourcen kann man mit Alpha-Beta-Suche doppelt so tief vorausschauen als bei -Suche! M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 29/40
81 Optimierungen von Alpha-Beta Optimierungen Speicherung von bewerteten Stellungen Nutzung von Symmetrien Probleme: Manchmal: Tiefere Suche schlechter als nicht so tiefe Suche Horizonteffekt: Durch Tiefenschranke wird genau der gute Zug übersehen M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 30/40
82 Strategie zur Vermeidung des Horizonteffekts Falls bei Suche in Tiefe d ein Zug am Knoten K besonders gut (imierer) ist: besonders gut: alle Brüder von K haben schlechtere Bewertung Dann Suche K mit größerer Tiefe ab Tiefere Suche ist auch ratsam bei Zugzwang, denn Erhöht den Suchhorizont ohne Vergrößerung des Suchraums M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 31/40
83 Spiele mit Zufall Zwei-Spieler-Spiele Wir betrachten nur 2-Spieler-Spiele Mit Zufall: Z.B. Würfeln, Kartenmischen, etc. Naiver Ansatz: Verwende (bzw. α β) über alle Möglichkeiten Besser: Benutze die Wahrscheinlichkeit und den Erwartungswert (der Bewertungsfunktion) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 32/40
84 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) B C D E F G M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 33/40
85 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) B C E F G M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 33/40
86 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) B C F G M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 33/40
87 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) 3.2 (= 0.6* *2) C F G M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 33/40
88 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) 3.2 (= 0.6* *2) C G M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 33/40
89 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) 3.2 (= 0.6* *2) C M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 33/40
90 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) 3.2 (= 0.6* *2) 2.3 (=0.3*3+0.7*2) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 33/40
91 Spielbaum mit Zufallsknoten (würfelt) p (Zug) 3.2 (würfelt) (Zug) 3.2 (= 0.6* *2) 2.3 (=0.3*3+0.7*2) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 33/40
92 Eigenschaften Zwei-Spieler-Spiele Satz Es gilt: Wenn Wahrscheinlichkeit eine Rolle spielt, dann ist die Berechnung des Zuges mit dem besten Erwartungswert abhängig von den exakten Werten der Bewertungsfunktion; nicht nur von der relativen Ordnung auf den Situationen. M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 34/40
93 Beweis durch Gegenbeispiel (Zug) 7.4 (würfelt) (Zug) 6.7 (= *20) 7.4 (=0.1*2+0.9*8) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 35/40
94 Beweis durch Gegenbeispiel (Zug) 6.7 (würfelt) (Zug) 6.7 (= *20) 5.7 (=0.1*3+0.9*6) vorher: 2 8 M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 35/40
95 Beweis durch Gegenbeispiel (Zug) 6.7 (würfelt) (Zug) 6.7 (= *20) 5.7 (=0.1*3+0.9*6) vorher: 2 8 = Die Bewertungsfunktion muss vorsichtig gewählt werden! M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 35/40
96 Mehr als 2 Spieler (ohne Zufall) Wir erläutern nur die Probleme (keine Lösung) Erkenntnis: Probleme sind wesentlich schwieriger Vereinfachung: Genau 3 Spieler Blattbewertung: Statt Wert, nun Drei-Tupel (A, B, C): Ergebnis des jeweiligen Spielers M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 36/40
97 3-Spieler-Baum Zwei-Spieler-Spiele Spieler S 1 Spieler S 2 Spieler S 3 (1,2,0) (0,1,3) (1,0,4) (0,1,2) (3,0,2) (4,0,1) (1,3,2) (0,2,0) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 37/40
98 3-Spieler-Baum: Bewertung (1) Strategie: Jeder maximiert sein eigenes Ergebnis Spieler S 1 (1,3,2) Spieler S 2 (0,1,3) (1,3,2) Spieler S 3 (0,1,3) (1,0,4) (3,0,2) (1,3,2) (1,2,0) (0,1,3) (1,0,4) (0,1,2) (3,0,2) (4,0,1) (1,3,2) (0,2,0) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 38/40
99 3-Spieler-Baum: Bewertung (1) Strategie: Spieler 1 und Spieler 3 verbünden sich Ziel: imiere Ergebnis von Spieler 2 Spieler S 1 (0,1,3) Spieler S 2 (0,1,3) (0,2,0) Spieler S 3 (0,1,3) (1,0,4) (3,0,2) (0,2,0) (1,2,0) (0,1,3) (1,0,4) (0,1,2) (3,0,2) (4,0,1) (1,3,2) (0,2,0) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 39/40
100 Nicht-eindeutige Strategie Strategie: Jeder maximiert sein eigenes Ergebnis Spieler S 1? Spieler S 2 (0,0,0)? Spieler S 3 (0,0,0) (0,0,0) (1,-1,-1) (-1,-1,1) (0,0,0) (1,-1,-1) (-1,1,-1) (0,0,0) (1,-1,-1) (1,-1,-1) (-1,-1,1) (0,0,0) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 40/40
101 Nicht-eindeutige Strategie Strategie: Jeder maximiert sein eigenes Ergebnis Spieler S 1? Spieler S 2 (0,0,0) (1,-1,-1) Spieler S 3 (0,0,0) (0,0,0) (1,-1,-1) (-1,-1,1) (0,0,0) (1,-1,-1) (-1,1,-1) (0,0,0) (1,-1,-1) (1,-1,-1) (-1,-1,1) (0,0,0) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 40/40
102 Nicht-eindeutige Strategie Strategie: Jeder maximiert sein eigenes Ergebnis Spieler S 1 (1,-1,-1) Spieler S 2 (0,0,0) (1,-1,-1) Spieler S 3 (0,0,0) (0,0,0) (1,-1,-1) (-1,-1,1) (0,0,0) (1,-1,-1) (-1,1,-1) (0,0,0) (1,-1,-1) (1,-1,-1) (-1,-1,1) (0,0,0) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 40/40
103 Nicht-eindeutige Strategie Strategie: Jeder maximiert sein eigenes Ergebnis Spieler S 1? Spieler S 2 (0,0,0)? Spieler S 3 (0,0,0) (0,0,0) (1,-1,-1) (-1,-1,1) (0,0,0) (1,-1,-1) (-1,1,-1) (0,0,0) (1,-1,-1) (1,-1,-1) (-1,-1,1) (0,0,0) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 40/40
104 Nicht-eindeutige Strategie Strategie: Jeder maximiert sein eigenes Ergebnis Spieler S 1 (0,0,0) Spieler S 2 (0,0,0) (-1,-1,1) Spieler S 3 (0,0,0) (0,0,0) (1,-1,-1) (-1,-1,1) (0,0,0) (1,-1,-1) (-1,1,-1) (0,0,0) (1,-1,-1) (1,-1,-1) (-1,-1,1) (0,0,0) M. Schmidt-Schauß KI SoSe 2016 Suche bei Spielen 40/40
Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20
Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:
MehrVier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie
Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie Präsentation Agenda I. Einführung 1. Motivation 2. Das Spiel Vier Gewinnt
MehrEinführung in Heuristische Suche
Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?
MehrÜbersicht. 5. Spiele. I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden
Übersicht I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden 5. Spiele III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres Wissen und Schließen VI
MehrKI und Sprachanalyse (KISA)
Folie 1 KI und Sprachanalyse (KISA) Studiengänge DMM, MI (B. Sc.) Sommer Semester 15 Prof. Adrian Müller, PMP, PSM1, CSM HS Kaiserslautern e: adrian.mueller@ hs-kl.de Folie 2 ADVERSIALE SUCHE Spiele: Multi-Agenten
MehrKombinatorische Spiele mit Zufallselementen
Kombinatorische Spiele mit Zufallselementen Die Realität ist nicht so streng determiniert wie rein kombinatorische Spiele. In vielen Situationen spielt der Zufall (Risko) eine nicht zu vernachlässigende
MehrZug Bart Borg Bart Borg Bart Borg Bart. Bart 2 1 1 1 Borg 1 1 2 verloren. Stand 8 7 6 5 4 2 1. Zug Bart Borg Bart Borg Bart Borg
. Das. Einführung Deep Blue Kasparow, Philadelphia 996 Deep Blue, der Supercomputer schlägt Garry Kasparow. So oder ähnlich lauteten die Schlagzeilen 996. Die 6 Partien waren insgesamt ausgeglichen, zum
MehrSpiele (antagonistische Suche) Übersicht. Typen von Spielen. Spielbaum. Spiele mit vollständiger Information
Übersicht I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden 5. Constraint-Probleme 6. Spiele III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres
MehrProseminar: Geschichte des Computers Schachprogrammierung Die Digitale Revolution
Die Digitale Revolution Internet 3D-Drucker Quants Singularität 27.02.14 Johannes Polster Das Spiel der Könige Sehr altes Spiel: Entstehung vor 1500 Jahren Weltberühmt Strategisches Spiel Kein Glück, Intelligenz,
MehrSpieltheorie. Sebastian Wankerl. 16. Juli 2010
Spieltheorie Sebastian Wankerl 16. Juli 2010 Inhalt 1 Einleitung 2 Grundlagen Extensive Form choice functions Strategien Nash-Gleichgewicht Beispiel: Gefangenendillema 3 Algorithmen Minimax Theorem Minimax
Mehr2. Spiele. Arten von Spielen. Kombinatorik. Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden.
. Spiele Arten von Spielen. Spiele. Spiele Arten von Spielen Kombinatorik Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden. Kombinatorische Spiele als Suchproblem
MehrVortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)
Vortrag Suchverfahren der Künstlichen Intelligenz Sven Schmidt (Technische Informatik) Suchverfahren der Künstlichen Intelligenz Grundlagen Zustandsraumrepräsentation Generische Suche Bewertung von Suchstrategien
MehrGuten Morgen und Willkommen zur Saalübung!
Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei
Mehr11.1 Grundlagen - Denitionen
11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die
MehrSpieltheorie. Fabian Schmidt Fabian Schmidt Spieltheorie / 46
Spieltheorie Fabian Schmidt 09.07.2014 Fabian Schmidt Spieltheorie 09.07.2014 1 / 46 Übersicht Einführung Gefangenendilemma Tit-for-tat Minimax und Alpha-Beta-Pruning Nim-Spiel und Misère-Variante Josephus-Problem
Mehr2. Spielbäume und Intelligente Spiele
2. Spielbäume und Intelligente Spiele Arten von Spielen 2. Spielbäume und Intelligente Spiele Kombinatorische Spiele als Suchproblem Wie berechnet man eine gute Entscheidung? Effizienzverbesserung durch
MehrUninformierte Suche in Java Informierte Suchverfahren
Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen
MehrAsymptotische Laufzeitanalyse: Beispiel
Asyptotische Laufzeitanalyse: n = length( A ) A[j] = x GZ Algorithen u. Datenstrukturen 1 31.10.2013 Asyptotische Laufzeitanalyse: n = length( A ) A[j] = x GZ Algorithen u. Datenstrukturen 2 31.10.2013
MehrInformatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri
Informatik II PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri KAUM JAVA Kaum Java Viel Zeit wird für Java-spezifisches Wissen benützt Wenig wichtig für Prüfung Letztjähriger Assistent
MehrMasterarbeit. Alpha-Beta-Pruning. Oliver Kock. Bochum, Februar 2009. Fakultät für Mathematik Ruhr-Universität Bochum
Masterarbeit Alpha-Beta-Pruning Oliver Kock Bochum, Februar 2009 Fakultät für Mathematik Ruhr-Universität Bochum Inhaltsverzeichnis Kapitel I. Einleitung 4 Kapitel II. Grundlagen der Spieletheorie 6 II.1.
MehrGrundlagen der Programmierung 2. Bäume
Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)
Mehr5 Zwei spieltheoretische Aspekte
5 Zwei spieltheoretische Aspekte In diesem Kapitel wollen wir uns mit dem algorithmischen Problem beschäftigen, sogenannte Und-Oder-Bäume (kurz UOB) auszuwerten. Sie sind ein Spezialfall von Spielbäumen,
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrEinführung in die Künstliche Intelligenz. 6. Spiele
Einführung in die Künstliche Intelligenz 6. Spiele Prof. Dr. Susanne Biundo-Stephan Institut für Künstliche Intelligenz, Universität Ulm WS 2012/2013 S. Biundo-Stephan (Universität Ulm) 6. Spiele WS 2012/2013
MehrRechnerische Komplexität
Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit
MehrSpieltheorie Gemischte Strategien
Spieltheorie Gemischte Strategien Emanuel Kitzelmann Kognitive Systeme Universität Bamberg Übung KogSys I, WS 06/07 E. Kitzelmann (Universität Bamberg) Gemischte Strategien Übung KogSys I, WS 06/07 1 /
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 39. Brettspiele: Alpha-Beta-Suche und Ausblick Malte Helmert Universität Basel 23. Mai 2014 Brettspiele: Überblick Kapitelüberblick: 38. Einführung und Minimax-Suche
MehrHackenbusch und Spieltheorie
Hackenbusch und Spieltheorie Was sind Spiele? Definition. Ein Spiel besteht für uns aus zwei Spielern, Positionen oder Stellungen, in welchen sich das Spiel befinden kann (insbesondere eine besondere Startposition)
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrBäume und Wälder. Bäume und Wälder 1 / 37
Bäume und Wälder Bäume und Wälder 1 / 37 Bäume Ein (ungerichteter) Baum ist ein ungerichteter Graph G = (V, E), der zusammenhängend ist und keine einfachen Kreise enthält. Bäume und Wälder 2 / 37 Bäume
Mehr5. Spiele. offensichtlich eine Form von Intelligenz. Realisierung des Spielens als Suchproblem
5. Spiele Spiele, insbesondere Brettspiele, stellen eines der ältesten Teil- und Anwendungsgebiete der KI dar (Shannon und Turing: 1950 erstes Schachprogramm). Brettspiele stellen eine sehr abstrakte und
MehrRandomisierte Algorithmen 2. Erste Beispiele
Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest
MehrSpielregeln für Schach
Gebrauchsartikel mit sozialer Herkunft B-Vertrieb GmbH Anerkannt gemeinnütziges Unternehmen gem. Art. 80 Abs. 1 lit. g und Art. 56 Bst. g DBG Lehnstrasse 90 l CH-9014 St.Gallen Tel. +41 (0)71 280 83 20
MehrEntwicklung einer künstlichen Intelligenz für das strategische Zwei-Personen-Spiel Genitri
Entwicklung einer künstlichen Intelligenz für das strategische Zwei-Personen-Spiel Genitri Jan Bredner 1. Juli 2012 Aufgabensteller: Betreuer: Mitberichter: Prof. Albayrak Dr. Fricke Prof. Kao Technische
MehrÜbersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/2016 1 / 36 Überblick
MehrProjektarbeit Vier Gewinnt
Projektarbeit Vier Gewinnt Vorlesung Spieltheorie WS 08/09 Prof. Martin Schottenloher Benjamin Ruile Bernhard Weiß Mathias Ditsche Nicolas Schmidt Inhaltsverzeichnis I Spieltheoretische Untersuchung 4
MehrTechnische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
Mehr39.1 Alpha-Beta-Suche
Grundlagen der Künstlichen Intelligenz. Mai 0 9. Brettspiele: Alpha-Beta-Suche und Ausblick Grundlagen der Künstlichen Intelligenz 9. Brettspiele: Alpha-Beta-Suche und Ausblick 9.1 Alpha-Beta-Suche Malte
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Kapitel 2 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrBinary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April
MehrHerzlich Willkommen. Spielstrategien. gehalten von Nils Böckmann
Herzlich Willkommen Spielstrategien gehalten von Nils Böckmann Agenda 1. Einführung 2. Problemstellung 3. Abgrenzung 4. Zielstellung / grober Überblick 5. Vorstellen der Konzepte 1. Umgebungslogik 2. Spielbäume
MehrSchach für Anfänger. Hier möchte ich für Anfänger das Schachspiel näher bringen.
Schach für Anfänger Hier möchte ich für Anfänger das Schachspiel näher bringen. Bild 1 Die Grundstellung Das Schachbrett sollte man immer so legen, daß rechts unten ein weißes Feld ist (Bild1: rotes Feld).
MehrTypdeklarationen. Es gibt in Haskell bereits primitive Typen:
Typdeklarationen Es gibt in bereits primitive Typen: Integer: ganze Zahlen, z.b. 1289736781236 Int: ganze Zahlen mit Computerarithmetik, z.b. 123 Double: Fließkommazahlen, z.b. 3.14159 String: Zeichenketten,
MehrProgrammiertechnik II
Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...
Mehr4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.
4.4 Perfektes Hashing Das Ziel des perfekten Hashings ist es, für eine Schlüsselmenge eine Hashfunktion zu finden, so dass keine Kollisionen auftreten. Die Größe der Hashtabelle soll dabei natürlich möglichst
MehrSuche in Spielbäumen Projektvorschläge
Suche in Spielbäumen Projektvorschläge Nullsummenspiele sind Spiele mit zwei Spielern, bei denen der Vorteil des einen Spielers dem Nachteil des anderen Spieler entspricht. Im einfachsten Fall binär (Sieg
MehrGrundlagen der KI + Reasoning Agents
Grundlagen der KI + Reasoning Agents Prof. Thielscher Welche heuristischen Suchverfahren gibt es? Erläutern Sie A* am Beispiel. Aufbau und Schlussfolgerungen von Bayesschen Netzen. Thielscher drängt auf
MehrGrundlagen der Programmierung 2. Sortierverfahren
Grundlagen der Programmierung 2 Sortierverfahren Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 30. Mai 2006 Sortieren Ziel: Bringe Folge von Objekten in eine Reihenfolge
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden
Mehr12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang
12 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne
Mehr3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1
3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)
MehrVom Amateur zum Großmeister
Vom Amateur zum Großmeister - von Spielbäumen und anderen Wäldern - ProInformatik - Funktionale Programmierung Dr. Marco Block-Berlitz 1 Übersicht zum Inhalt 1) Es war einmal... Tic-Tac-Toe! 2) Das unbesiegbare
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
MehrFACHHOCHSCHULE WEDEL SEMINARARBEIT
FACHHOCHSCHULE WEDEL SEMINARARBEIT in der Fachrichtung Medieninformatik Thema: Spielstrategien Eingereicht von: Nils Böckmann Schinkelring 110 22844 Norderstedt Tel. (040) 526 17 44 Erarbeitet im: 6. Semester
MehrTeil 14: Rekursive Programmierung. Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden
Teil 14: Rekursive Programmierung Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden Inhaltsverzeichnis 14 Rekursive Programmierung... 3 14.1 Die Fakultätsfunktion...
Mehr2.3.1 Einleitung Einfache Sortierverfahren Höhere Sortierverfahren Komplexität von Sortierverfahren Spezielle Sortierverfahren
2.3 Sortieren 2.3.1 Einleitung 2.3.2 Einfache Sortierverfahren 2.3.3 Höhere Sortierverfahren 2.3.4 Komplexität von Sortierverfahren 2.3.5 Spezielle Sortierverfahren 1 Selection-Sort Idee: Suche kleinstes
MehrGeneral Game Playing
General Game Playing Martin Günther mguenthe@uos.de 17. Juni 2010 1 / 31 1997: Deep Blue schlägt Kasparov Motivation: warum General Game Playing? AAAI General Game Playing Competition 2 / 31 Motivation:
MehrGenetische Programmierung
15. Juli 2007 Anfang der 90er von John R. Koza entwickelt. Verfahren zur automatisierten Erstellung von Programmen. Von der Evolution inspiriert. Anforderungen an die Möglichst korrekte Lösung ergeben
MehrDurch Zufall zum Dan? Die Monte-Carlo-Baumsuche
Durch Zufall zum Dan? Die Monte-Carlo-Baumsuche Johannes Waldmann HTWK Leipzig Potsdamer Panda, April 2011 Wer hätte das gedacht... (Zen, Programmierer: Ojima Yoji) Spielbäume zu jedem Spiel gehört ein
MehrWissensbasierte Systeme 5. Brettspiele
Wissensbasierte Systeme 5. Brettspiele Suchstrategien für Spiele, Spiele mit Zufall, Stand der Kunst Michael Beetz Plan-based Robot Control 1 Inhalt 5.1 Brettspiele 5.2 Minimax-Suche 5.3 Alpha-Beta-Suche
MehrKapitel 1: Motivation / Grundlagen Gliederung
Gliederung 1. Motivation / Grundlagen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Umgang mit algorithmisch schwierigen
MehrIntelligente Agenten
Intelligente Agenten Einige einfache Überlegungen zu Agenten und deren Interaktionsmöglichkeiten mit ihrer Umgebung. Agent benutzt: Sensoren Aktuatoren (Aktoren; Effektoren) zum Beobachten/Mess seiner
MehrAbgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
Mehr1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 8 Übung zur Vorlesung Grundlagen: Datenbanken im WS14/15 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws1415/grundlagen/
MehrSpieltheorie. Miriam Polzer 16.7.2013. Miriam Polzer Spieltheorie 16.7.2013 1 / 40
Spieltheorie Miriam Polzer 16.7.2013 Miriam Polzer Spieltheorie 16.7.2013 1 / 40 1 Grundlagen 2 Minimax und Alpha-Beta-Pruning 3 Nim-Spiele 4 Josephus-Problem Miriam Polzer Spieltheorie 16.7.2013 2 / 40
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
MehrDynamische Mengen. Realisierungen durch Bäume
Dynamische Mengen Eine dynamische Menge ist eine Datenstruktur, die eine Menge von Objekten verwaltet. Jedes Objekt x trägt einen eindeutigen Schlüssel key[x]. Die Datenstruktur soll mindestens die folgenden
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE19-Verbunde (Stand 19.12.2011) Aufgabe 1: Bei dieser Aufgabe geht es darum, ein Java-Programm zu schreiben, das es einem Spieler ermöglicht, eine Variante
MehrInformatik II - Übung 11
Informatik II - Übung 11 Christian Beckel beckel@inf.ethz.ch 15.05.2014 Blatt 10 1) Merge sort 2) Türme von Hanoi 3) Reversi: alpha-beta-suche Außerdem: Sortierverfahren und ihre Komplexität Christian
MehrSuchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrTechnische Universität. Fakultät für Informatik
Technische Universität München Fakultät für Informatik Forschungs- und Lehreinheit Informatik IX Adversariale Suche für optimales Spiel: Der Minimax-Algorithmus und die Alpha-Beta-Suche Proseminar Julius
Mehr8 Komplexitätstheorie und Kryptologie
8 Komplexitätstheorie und Kryptologie Verschlüsselung, Authentisierung,... müssen schnell berechenbar sein. Formal: polynomiell zeitbeschränkte Funktionen/Algorithmen Angreifer hat beschränkte Ressourcen.
MehrKapitel 2: Suche. Teil 2. (Dieser Foliensatz basiert auf Material von Mirjam Minor, Humboldt- Universität Berlin, WS 2000/01)
Kapitel 2: Suche Teil 2 (Dieser Foliensatz basiert auf Material von Mirjam Minor, Humboldt- Universität Berlin, WS 2000/01) Künstliche Intelligenz, Kapitel 2 Suche 1 Eigenschaften und Verbesserungen von
Mehr9. Heuristische Suche
9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)
MehrHandlungsplanung und Allgemeines Spiel Ausblick: GDL-II. Peter Kissmann
Handlungsplanung und Allgemeines Spiel Ausblick: GDL-II Peter Kissmann Themen Allgemeines Spiel Einführung Game Desciption Language (GDL) Spielen allgemeiner Spiele Evaluationsfunktionen im allgemeinen
MehrProgrammieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren
Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren 1 Übersicht 1. Ziele des Kapitels 2. Bereits behandelte Lösungsstrategien 3. Backtracking 4. Branch-and-Bound 5. Weiterführende
MehrAlgorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrProbabilistische Primzahltests
23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Baumsuche und Graphensuche Malte Helmert Universität Basel 13. März 2015 Klassische Suche: Überblick Kapitelüberblick klassische Suche: 5. 7.
Mehr14. Algorithmus der Woche Gewinnstrategie für ein Streichholzspiel
14. Algorithmus der Woche Gewinnstrategie für ein Streichholzspiel Autor Jochen Könemann, University of Waterloo Ich bin gerade ein bisschen verärgert und, zugegeben, auch etwas verwirrt. Gestern Abend
MehrNP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)
NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
MehrDatenstruktur, die viele Operationen dynamischer Mengen unterstützt
Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrKap. 4.2: Binäre Suchbäume
Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:
MehrAlgorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Paarweises
MehrTheoretische Informatik SS 03 Übung 3
Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige
Mehr