Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen"

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 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:

Mehr

Vier 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 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

Mehr

Einführung in Heuristische Suche

Einfü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. 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

Mehr

KI und Sprachanalyse (KISA)

KI 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

Mehr

Kombinatorische Spiele mit Zufallselementen

Kombinatorische 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

Mehr

Zug 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

Zug 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

Mehr

Spiele (antagonistische Suche) Übersicht. Typen von Spielen. Spielbaum. Spiele mit vollständiger Information

Spiele (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

Mehr

Proseminar: Geschichte des Computers Schachprogrammierung Die Digitale Revolution

Proseminar: 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,

Mehr

Spieltheorie. Sebastian Wankerl. 16. Juli 2010

Spieltheorie. 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

Mehr

2. Spiele. Arten von Spielen. Kombinatorik. Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden.

2. 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

Mehr

Vortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)

Vortrag. 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

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten 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

Mehr

11.1 Grundlagen - Denitionen

11.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

Mehr

Spieltheorie. Fabian Schmidt Fabian Schmidt Spieltheorie / 46

Spieltheorie. 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

Mehr

2. Spielbäume und Intelligente Spiele

2. 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

Mehr

Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte 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

Mehr

Asymptotische Laufzeitanalyse: Beispiel

Asymptotische 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

Mehr

Informatik 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 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

Mehr

Masterarbeit. 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 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.

Mehr

Grundlagen der Programmierung 2. Bäume

Grundlagen 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)

Mehr

5 Zwei spieltheoretische Aspekte

5 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,

Mehr

13. Binäre Suchbäume

13. 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),

Mehr

Einführung in die Künstliche Intelligenz. 6. Spiele

Einfü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

Mehr

Rechnerische Komplexität

Rechnerische 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

Mehr

Spieltheorie Gemischte Strategien

Spieltheorie 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 /

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. 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

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen 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

Mehr

Hackenbusch und Spieltheorie

Hackenbusch 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)

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 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:

Mehr

Bä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 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

Mehr

5. Spiele. offensichtlich eine Form von Intelligenz. Realisierung des Spielens als Suchproblem

5. 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

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte 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

Mehr

Spielregeln für Schach

Spielregeln 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

Mehr

Entwicklung 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 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: 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.

Mehr

Randomisierte Algorithmen

Randomisierte 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

Mehr

Projektarbeit Vier Gewinnt

Projektarbeit 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

Mehr

Technische 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 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

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 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:

Mehr

39.1 Alpha-Beta-Suche

39.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

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & 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

Mehr

Informatik II, SS 2014

Informatik 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:

Mehr

Kapitel 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 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:

Mehr

Randomisierte Algorithmen

Randomisierte 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

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: 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

Mehr

Binary Decision Diagrams (Einführung)

Binary 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

Mehr

Binä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 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

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Datenstrukturen & 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

Mehr

Herzlich Willkommen. Spielstrategien. gehalten von Nils Böckmann

Herzlich 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

Mehr

Schach 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. 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).

Mehr

Typdeklarationen. Es gibt in Haskell bereits primitive Typen:

Typdeklarationen. 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,

Mehr

Programmiertechnik II

Programmiertechnik 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,...

Mehr

4.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.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

Mehr

Suche in Spielbäumen Projektvorschläge

Suche 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

Mehr

Grundlagen der KI + Reasoning Agents

Grundlagen 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

Mehr

Grundlagen der Programmierung 2. Sortierverfahren

Grundlagen 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

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen 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

Mehr

12 (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 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

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.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)

Mehr

Vom Amateur zum Großmeister

Vom 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

Mehr

Informatik II, SS 2014

Informatik 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

Mehr

14. Rot-Schwarz-Bäume

14. 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).

Mehr

FACHHOCHSCHULE WEDEL SEMINARARBEIT

FACHHOCHSCHULE 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

Mehr

Teil 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 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...

Mehr

2.3.1 Einleitung Einfache Sortierverfahren Höhere Sortierverfahren Komplexität von Sortierverfahren Spezielle Sortierverfahren

2.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

Mehr

General Game Playing

General 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:

Mehr

Genetische Programmierung

Genetische 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

Mehr

Durch Zufall zum Dan? Die Monte-Carlo-Baumsuche

Durch 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

Mehr

Wissensbasierte Systeme 5. Brettspiele

Wissensbasierte 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

Mehr

Kapitel 1: Motivation / Grundlagen Gliederung

Kapitel 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

Mehr

Intelligente Agenten

Intelligente 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

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Abgabe: (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,

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 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

Mehr

1 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 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

Mehr

TU 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 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/

Mehr

Spieltheorie. 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 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

Mehr

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung 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

Mehr

Dynamische Mengen. Realisierungen durch Bäume

Dynamische 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

Mehr

Programmierkurs Java

Programmierkurs 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

Mehr

Informatik II - Übung 11

Informatik 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

Mehr

Suchen und Sortieren Sortieren. Heaps

Suchen 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

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbä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

Mehr

Technische Universität. Fakultät für Informatik

Technische 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

Mehr

8 Komplexitätstheorie und Kryptologie

8 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.

Mehr

Kapitel 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) 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

Mehr

9. Heuristische Suche

9. 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)

Mehr

Handlungsplanung und Allgemeines Spiel Ausblick: GDL-II. Peter Kissmann

Handlungsplanung 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

Mehr

Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren

Programmieren, 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

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen 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

Mehr

Probabilistische Primzahltests

Probabilistische 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

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen 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.

Mehr

14. Algorithmus der Woche Gewinnstrategie für ein Streichholzspiel

14. 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

Mehr

NP-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) 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

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests 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

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, 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)

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: 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

Mehr

Kap. 4.2: Binäre Suchbäume

Kap. 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:

Mehr

Algorithmische Bioinformatik 1

Algorithmische 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

Mehr

Theoretische Informatik SS 03 Übung 3

Theoretische 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