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 Dr. David Sabel WS 2012/13 Stand der Folien: 5. November 2012

2 Zwei-Spieler-Spiele Ziel dieses Abschnitts Intelligenter Agent für Zweipersonenspiele Beispiele: Schach, Dame, Mühle,... D. Sabel KI WS 12/13 Suche bei Spielen 2/39

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. D. Sabel KI WS 12/13 Suche bei Spielen 2/39

4 Schach Zwei-Spieler-Spiele Gute Strategien zum Schachspielen schon entwickelt bevor es Computer gab Untersuchungen zu Gewinnstrategien (Eröffnungen,... ) Bewerten von Spielsituationen D. Sabel KI WS 12/13 Suche bei Spielen 3/39

5 Schach Zwei-Spieler-Spiele Gute Strategien zum Schachspielen schon entwickelt bevor es Computer gab Untersuchungen zu Gewinnstrategien (Eröffnungen,... ) 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. D. Sabel KI WS 12/13 Suche bei Spielen 3/39

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 D. Sabel KI WS 12/13 Suche bei Spielen 4/39

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 D. Sabel KI WS 12/13 Suche bei Spielen 5/39

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) Untentschieden: Alle Felder voll, ohne dass einer gewinnt. D. Sabel KI WS 12/13 Suche bei Spielen 6/39

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) Untentschieden: Alle Felder voll, ohne dass einer gewinnt. D. Sabel KI WS 12/13 Suche bei Spielen 6/39

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) Untentschieden: Alle Felder voll, ohne dass einer gewinnt. D. Sabel KI WS 12/13 Suche bei Spielen 6/39

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) Untentschieden: Alle Felder voll, ohne dass einer gewinnt. D. Sabel KI WS 12/13 Suche bei Spielen 6/39

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) Untentschieden: Alle Felder voll, ohne dass einer gewinnt. D. Sabel KI WS 12/13 Suche bei Spielen 6/39

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) Untentschieden: Alle Felder voll, ohne dass einer gewinnt. D. Sabel KI WS 12/13 Suche bei Spielen 6/39

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) Untentschieden: Alle Felder voll, ohne dass einer gewinnt. D. Sabel KI WS 12/13 Suche bei Spielen 6/39

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) Untentschieden: Alle Felder voll, ohne dass einer gewinnt. D. Sabel KI WS 12/13 Suche bei Spielen 6/39

16 Beispiel:TicTacToe, Spielbaum O D. Sabel KI WS 12/13 Suche bei Spielen 7/39

17 Beispiel:TicTacToe, Spielbaum O X O D. Sabel KI WS 12/13 Suche bei Spielen 7/39

18 Beispiel:TicTacToe, Spielbaum O X O D. Sabel KI WS 12/13 Suche bei Spielen 7/39

19 Beispiel:TicTacToe, Spielbaum O X O O X D. Sabel KI WS 12/13 Suche bei Spielen 7/39

20 Beispiel:TicTacToe, Spielbaum O X O O X X O O X O O O O O O X O O X D. Sabel KI WS 12/13 Suche bei Spielen 7/39

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 D. Sabel KI WS 12/13 Suche bei Spielen 7/39

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? D. Sabel KI WS 12/13 Suche bei Spielen 7/39

23 -Suche (1) Eingabe: Spielsituation, Nachfolgerfunktion, Bewertung Ausgabe: Nächster optimaler Zug D. Sabel KI WS 12/13 Suche bei Spielen 8/39

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 D. Sabel KI WS 12/13 Suche bei Spielen 8/39

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. D. Sabel KI WS 12/13 Suche bei Spielen 9/39

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 D. Sabel KI WS 12/13 Suche bei Spielen 10/39

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 D. Sabel KI WS 12/13 Suche bei Spielen 10/39

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 D. Sabel KI WS 12/13 Suche bei Spielen 10/39

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 D. Sabel KI WS 12/13 Suche bei Spielen 10/39

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] D. Sabel KI WS 12/13 Suche bei Spielen 11/39

31 -Eigenschaften kann als Tiefensuche durchgeführt werden Laufzeit O(c d ) bei mittlerer Verzweigungrate c und Blättern in Tiefe d D. Sabel KI WS 12/13 Suche bei Spielen 12/39

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 D. Sabel KI WS 12/13 Suche bei Spielen 12/39

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! D. Sabel KI WS 12/13 Suche bei Spielen 12/39

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,... D. Sabel KI WS 12/13 Suche bei Spielen 13/39

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) D. Sabel KI WS 12/13 Suche bei Spielen 14/39

36 Bewertungsfunktionen Güte 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. D. Sabel KI WS 12/13 Suche bei Spielen 15/39

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 D. Sabel KI WS 12/13 Suche bei Spielen 16/39

38 Einwand Zwei-Spieler-Spiele Wenn man ein sehr gute Bewertungsfunktion hat: Warum ausführen und nicht gleich nur die Bewertungen der Kinder anschauen? D. Sabel KI WS 12/13 Suche bei Spielen 17/39

39 Einwand Zwei-Spieler-Spiele Wenn man ein sehr gute Bewertungsfunktion hat: Warum ausführen und nicht gleich nur die Bewertungen der Kinder anschauen? Üblicherweise: Je tiefer man geht, umso besser wird die Bewertungsfunktion! D. Sabel KI WS 12/13 Suche bei Spielen 17/39

40 Tiefenbeschränkte -Suche Mittlere Verzweigungrate c Tiefenschranke m Laufzeit O(c m ), wenn die Heuristik in konstanter Zeit berechenbar ist D. Sabel KI WS 12/13 Suche bei Spielen 18/39

41 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)}} D. Sabel KI WS 12/13 Suche bei Spielen 19/39

42 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, )}} D. Sabel KI WS 12/13 Suche bei Spielen 20/39

43 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 D. Sabel KI WS 12/13 Suche bei Spielen 20/39

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 = Knoten (bzw. Teilbäume) G und H braucht man nicht betrachten! D. Sabel KI WS 12/13 Suche bei Spielen 20/39

45 Beispiel mit konkreten Werten A E D. Sabel KI WS 12/13 Suche bei Spielen 21/39

46 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 D. Sabel KI WS 12/13 Suche bei Spielen 22/39

47 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 D. Sabel KI WS 12/13 Suche bei Spielen 23/39

48 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 D. Sabel KI WS 12/13 Suche bei Spielen 24/39

49 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 D. Sabel KI WS 12/13 Suche bei Spielen 25/39

50 Alpha-Beta-Suche: Beispiel a b c D. Sabel KI WS 12/13 Suche bei Spielen 26/39

51 Alpha-Beta-Suche: Beispiel a α = β = α l = b c D. Sabel KI WS 12/13 Suche bei Spielen 26/39

52 Alpha-Beta-Suche: Beispiel a α = β = α l = b α = β = β l = c D. Sabel KI WS 12/13 Suche bei Spielen 26/39

53 Alpha-Beta-Suche: Beispiel a α = β = α l = b α = β = β l = 2 c D. Sabel KI WS 12/13 Suche bei Spielen 26/39

54 Alpha-Beta-Suche: Beispiel a α = β = α l = b α = β = 2 β l = 2 c D. Sabel KI WS 12/13 Suche bei Spielen 26/39

55 Alpha-Beta-Suche: Beispiel a α = β = α l = b α = β = 2 β l = 2 c D. Sabel KI WS 12/13 Suche bei Spielen 26/39

56 Alpha-Beta-Suche: Beispiel a α = β = α l = b α = β = 2 β l = 1 c D. Sabel KI WS 12/13 Suche bei Spielen 26/39

57 Alpha-Beta-Suche: Beispiel a α = β = α l = 1 b α = β = 1 β l = 1 c D. Sabel KI WS 12/13 Suche bei Spielen 26/39

58 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c D. Sabel KI WS 12/13 Suche bei Spielen 26/39

59 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c α = 1 β = β l = D. Sabel KI WS 12/13 Suche bei Spielen 26/39

60 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c α = 1 β = β l = D. Sabel KI WS 12/13 Suche bei Spielen 26/39

61 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c α = 1 β = 6 β l = D. Sabel KI WS 12/13 Suche bei Spielen 26/39

62 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c α = 1 β = 6 β l = D. Sabel KI WS 12/13 Suche bei Spielen 26/39

63 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = max{ 1, 2} = 1 b α = β = 1 β l = 1 c α = 1 β = 6 β l = D. Sabel KI WS 12/13 Suche bei Spielen 26/39

64 Alpha-Beta-Suche: Beispiel a α = 1 β = α l = 1 b α = β = 1 β l = 1 c α = 1 β = 6 β l = D. Sabel KI WS 12/13 Suche bei Spielen 26/39

65 Reihenfolge der Nachfolger a a b c c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

66 Reihenfolge der Nachfolger a a b 4 c c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

67 Reihenfolge der Nachfolger a a b 4 c c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

68 Reihenfolge der Nachfolger a a b 4 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

69 Reihenfolge der Nachfolger a a b 4 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

70 Reihenfolge der Nachfolger a a b 4 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

71 Reihenfolge der Nachfolger a a b 4 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

72 Reihenfolge der Nachfolger a a b 4 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

73 Reihenfolge der Nachfolger a 5 a b 4 c 5 c b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

74 Reihenfolge der Nachfolger a 5 a b 4 c 5 c 5 b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

75 Reihenfolge der Nachfolger a 5 a b 4 c 5 c 5 b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

76 Reihenfolge der Nachfolger a 5 a b 4 c 5 c 5 b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

77 Reihenfolge der Nachfolger a 5 a 5 b 4 c 5 c 5 b Beide Bäume sind gleich Außer: Nachfolger in umgekehrter Reihenfolge D. Sabel KI WS 12/13 Suche bei Spielen 27/39

78 Reihenfolge der Nachfolger a 5 a 5 b 4 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 D. Sabel KI WS 12/13 Suche bei Spielen 27/39

79 Eigenschaften Alpha-Beta Zur Erinnerung: : Laufzeit O(c d ) bei Tiefenschranke d und Verzweigungrate d 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 in mit Alpha-Beta-Suche doppelt so tief vorausschauen als bei -Suche! D. Sabel KI WS 12/13 Suche bei Spielen 28/39

80 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 D. Sabel KI WS 12/13 Suche bei Spielen 29/39

81 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 D. Sabel KI WS 12/13 Suche bei Spielen 30/39

82 Mehr als 2 Spieler 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 D. Sabel KI WS 12/13 Suche bei Spielen 31/39

83 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) D. Sabel KI WS 12/13 Suche bei Spielen 32/39

84 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) D. Sabel KI WS 12/13 Suche bei Spielen 33/39

85 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) D. Sabel KI WS 12/13 Suche bei Spielen 34/39

86 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) D. Sabel KI WS 12/13 Suche bei Spielen 35/39

87 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) D. Sabel KI WS 12/13 Suche bei Spielen 35/39

88 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) D. Sabel KI WS 12/13 Suche bei Spielen 35/39

89 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) D. Sabel KI WS 12/13 Suche bei Spielen 35/39

90 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) D. Sabel KI WS 12/13 Suche bei Spielen 35/39

91 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 D. Sabel KI WS 12/13 Suche bei Spielen 36/39

92 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) B C D E F G D. Sabel KI WS 12/13 Suche bei Spielen 37/39

93 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) B C E F G D. Sabel KI WS 12/13 Suche bei Spielen 37/39

94 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) B C F G D. Sabel KI WS 12/13 Suche bei Spielen 37/39

95 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) 3.2 (= 0.6* *2) C F G D. Sabel KI WS 12/13 Suche bei Spielen 37/39

96 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) 3.2 (= 0.6* *2) C G D. Sabel KI WS 12/13 Suche bei Spielen 37/39

97 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) 3.2 (= 0.6* *2) C D. Sabel KI WS 12/13 Suche bei Spielen 37/39

98 Spielbaum mit Zufallsknoten (würfelt) p (Zug) A (würfelt) (Zug) 3.2 (= 0.6* *2) 2.3 (=0.3*3+0.7*2) D. Sabel KI WS 12/13 Suche bei Spielen 37/39

99 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) D. Sabel KI WS 12/13 Suche bei Spielen 37/39

100 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. D. Sabel KI WS 12/13 Suche bei Spielen 38/39

101 Beweis durch Gegenbeispiel (Zug) 7.4 (würfelt) (Zug) 6.7 (= *20) 7.4 (=0.1*2+0.9*8) D. Sabel KI WS 12/13 Suche bei Spielen 39/39

102 Beweis durch Gegenbeispiel (Zug) 6.7 (würfelt) (Zug) 6.7 (= *20) 6.3 (=0.1*3+0.9*6) D. Sabel KI WS 12/13 Suche bei Spielen 39/39

103 Beweis durch Gegenbeispiel (Zug) 6.7 (würfelt) (Zug) 6.7 (= *20) 6.3 (=0.1*3+0.9*6) = Die Bewertungsfunktion muss vorsichtig gewählt werden! D. Sabel KI WS 12/13 Suche bei Spielen 39/39

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Java Projekt: Tic Tac Toe + GUI

Java Projekt: Tic Tac Toe + GUI Java Projekt: Tic Tac Toe + GUI Rechnerpraktikum aus Programmierung im WS 2005/06 unter der Leitung von Dr. Michael Hahsler Tadeh Amirian (h0253821) 10.01.2006 1) Problemdefinition Beim TicTacToe Spiel

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

Kapitel 3. Adversariale Suche Allgemeines Minimax-Algorithmus α-β-pruning Bewertungsfunktionen Mehrspieler-Spiele Spiele mit Zufallskomponenten

Kapitel 3. Adversariale Suche Allgemeines Minimax-Algorithmus α-β-pruning Bewertungsfunktionen Mehrspieler-Spiele Spiele mit Zufallskomponenten Kapitel 3 Adversariale Suche Allgemeines Minimax-Algorithmus α-β-pruning Bewertungsfunktionen Mehrspieler-Spiele Spiele mit Zufallskomponenten Kapitel 3 Adversariale Suche p. 1 Allgemeines Adversariale

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

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

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

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

Kapitel 3: Problemformulierungen in der KI. oder das Problem ist die halbe Lösung

Kapitel 3: Problemformulierungen in der KI. oder das Problem ist die halbe Lösung Kapitel 3: Problemformulierungen in der KI oder das Problem ist die halbe Lösung Lernziele: eine Struktur für die Definition eines problemlösenden Agenten kennen die wichtige Rolle von Abstraktionen in

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

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

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 Kreise enthält. Diese Graphen sind Bäume: Diese aber nicht:

Mehr

Von Paul Curzon, Queen Mary, University of London mit Unterstützung von Google und EPSRC

Von Paul Curzon, Queen Mary, University of London mit Unterstützung von Google und EPSRC Compu terwissenscha ften mi t Spaßfak tor Spiele gewinnen: der perfekte Tic Tac Toe-Spieler Von Paul Curzon, Queen Mary, University of London mit Unterstützung von Google und EPSRC Spiele gewinnen: der

Mehr

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest

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

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

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

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

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Dokumentation des Projektes Tic Tac Toe

Dokumentation des Projektes Tic Tac Toe Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.

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

Spieltheorien und Theoreme

Spieltheorien und Theoreme Spieltheorien und Theoreme Seminar: Randomisierte Algorithmen Prof. Dr. R. Klein Alexander Hombach Eine bilinguale Ausarbeitung von Alexander Hombach, Daniel Herrmann und Ibraguim Kouliev (Teil 1) Rheinische

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

EndTermTest PROGALGO WS1516 A

EndTermTest PROGALGO WS1516 A EndTermTest PROGALGO WS1516 A 14.1.2016 Name:................. UID:.................. PC-Nr:................ Beachten Sie: Lesen Sie erst die Angaben aufmerksam, genau und vollständig. Die Verwendung von

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

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

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

1. Ziehe zu Beginn des Spiels möglichst nur einmal mit jeder Figur.

1. Ziehe zu Beginn des Spiels möglichst nur einmal mit jeder Figur. Einsteiger 1. Ziehe zu Beginn des Spiels möglichst nur einmal mit jeder Figur. Begründung: Alle Figuren wollen am Spiel teilhaben, stehen sie nur in der Grundposition ist ihr Aktionsbereich begrenzt. 2.

Mehr

Softwareentwicklung Schrittweise Verfeinerung, Programmieren üben: Tic-Tac-Toe in Raten

Softwareentwicklung Schrittweise Verfeinerung, Programmieren üben: Tic-Tac-Toe in Raten Mag. iur. Dr. techn. Michael Sonntag Softwareentwicklung Schrittweise Verfeinerung, Programmieren üben: Tic-Tac-Toe in Raten E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

D:\daten\tbz\TTT\ttt_final\TTT.java. 125: else

D:\daten\tbz\TTT\ttt_final\TTT.java. 125: else D:\daten\tbz\TTT\ttt_final\TTT.java D:\daten\tbz\TTT\ttt_final\TTT.java 1: /* TTT.java */ 2: /* Hauptklasse fuer Tic Tac Toe mit Java AWT */ 3: /* benoetigt Java 1.2 oder hoeher */ 4: /* */ /* (c) Thomas

Mehr

D:\daten\tbz\TTT\ttt_framework\TTT.java. D:\daten\tbz\TTT\ttt_framework\TTT.java

D:\daten\tbz\TTT\ttt_framework\TTT.java. D:\daten\tbz\TTT\ttt_framework\TTT.java D:\daten\tbz\TTT\ttt_framework\TTT.java D:\daten\tbz\TTT\ttt_framework\TTT.java 1: /* TTT.java */ 2: /* Hauptklasse fuer Tic Tac Toe mit Java AWT (GUI) */ 3: /* benoetigt Java 1.2 oder hoeher */ 4: /*

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Fiktives Spiel und Verlustminimierung. Seminarvortrag von Alexander Marinc zur TUD Computer Poker Challenge 2008

Fiktives Spiel und Verlustminimierung. Seminarvortrag von Alexander Marinc zur TUD Computer Poker Challenge 2008 Fiktives Spiel und Verlustminimierung Seminarvortrag von Alexander Marinc zur TUD Computer Poker Challenge 2008 Dezimierung Übersicht Fiktives Spiel Verlustminimierung Splines Seite 2/30 Inhalt Einführung

Mehr

Sortierte Folgen 250

Sortierte Folgen 250 Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:

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

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

Dokumentation für das Spiel Pong

Dokumentation für das Spiel Pong Dokumentation für das Spiel Pong BwInf - Turnierserver Didaktik der nformatik BWINF KI Wettbewerbs-Plattform Stand: 02.09.2014 Grundlagen In diesem KI-Turnier programmiert ihr einen Schläger für das Retro-Spiel

Mehr

Softcomputing. Künstliche Intelligenz in endlichen Zwei-Personen-Nullsummenspiele mit perfekter Information. Michael Dorner. Prof. Dr.

Softcomputing. Künstliche Intelligenz in endlichen Zwei-Personen-Nullsummenspiele mit perfekter Information. Michael Dorner. Prof. Dr. Technische Hochschule Nürnberg Georg-Simon-Ohm Fakultät Informatik Softcomputing Künstliche Intelligenz in endlichen Zwei-Personen-Nullsummenspiele mit perfekter Information Autor Michael Dorner betreut

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

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

Algorithmen und Datenstrukturen (WS 2007/08) 63

Algorithmen und Datenstrukturen (WS 2007/08) 63 Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

Mehr

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

Fakultät Wirtschaftswissenschaft

Fakultät Wirtschaftswissenschaft Fakultät Wirtschaftswissenschaft Matrikelnr. Name Vorname KLAUSUR: Entwurf und Implementierung von Informationssystemen (32561) TERMIN: 11.09.2013, 14.00 16.00 Uhr PRÜFER: Univ.-Prof. Dr. Stefan Strecker

Mehr

Methoden zum Lösen von Rekursionsgleichungen

Methoden zum Lösen von Rekursionsgleichungen Rekursionsgleichungen... Slide 1 Methoden zum Lösen von Rekursionsgleichungen Bisher wurde Expandieren der Rekursion + Raten der Gesetzmäßigkeit benutzt, um einfache Rekursionsgleichungen zu lösen. Zum

Mehr

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen Stefan Lucks 8: Zufallsorakel 139 Kryptogr. Hashfunkt. (WS 08/09) 8: Zufallsorakel Unser Problem: Exakte Eigenschaften von effizienten Hashfunktionen nur schwer erfassbar (z.b. MD5, Tiger, RipeMD, SHA-1,...)

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Datenstrukturen. Mariano Zelke. Sommersemester 2012 Datenstrukturen Mariano Zelke Sommersemester 2012 Mathematische Grundlagen: Das Handwerkszeug Mariano Zelke Datenstrukturen 2/26 Formeln: n - i = n (n+1) 2 und - i=1 k i=0 a i = ak+1 1 a 1, falls a 1 Rechnen

Mehr

Programmierung in C++

Programmierung in C++ Skript zur Vorlesung Programmierung in C++ IT Kompaktkurs Teil 14: Rekursive Programmierung Wintersemester 2000/2001 Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden Empfohlene Literatur: Die C++ Bibel:

Mehr

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Praktikum: Algorithmische Anwendungen

Praktikum: Algorithmische Anwendungen Praktikum: Algorithmische Anwendungen im WS 2005/2006 25.01.2006 Gruppe A rot Projektthema: Alpha-Beta-Suche Jens Krenkers 110 36 925 Meik Romberg 110 36 567 Einleitung... 1 Theoretische Grundlagen...

Mehr

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Laufzeit und Komplexität

Laufzeit und Komplexität Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen

Mehr

Grundlagen der Programmierung 2. Parallele Verarbeitung

Grundlagen der Programmierung 2. Parallele Verarbeitung Grundlagen der Programmierung 2 Parallele Verarbeitung Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 27. Mai 2009 Parallele Algorithmen und Ressourcenbedarf Themen: Nebenläufigkeit,

Mehr

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen und Datenstrukturen Suchbaum Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

Projekt Informatik: Programmieren einer selbstgewählten Anwendungssoftware. Jenny Förster Susann Lorenz

Projekt Informatik: Programmieren einer selbstgewählten Anwendungssoftware. Jenny Förster Susann Lorenz Projekt Informatik: Programmieren einer selbstgewählten Anwendungssoftware Jenny Förster Susann Lorenz Inhaltsverzeichnis 1. Vorstellung des Projektzieles 2. Einleitung Das Menü XXO Roulette Impressum

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange

Mehr

Schriftliche Hausarbeit zur Abschlussprüfung der erweiternden Studien für Lehrer im Fach Informatik

Schriftliche Hausarbeit zur Abschlussprüfung der erweiternden Studien für Lehrer im Fach Informatik Schriftliche Hausarbeit zur Abschlussprüfung der erweiternden Studien für Lehrer im Fach Informatik VII. Weiterbildungskurs in Zusammenarbeit mit der Fernuniversität Hagen Eingereicht dem Amt für Lehrerausbildung

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS3 Slide 1 Wissensbasierte Systeme Sebastian Iwanowski FH Wedel Kap. 3: Algorithmische Grundlagen der KI WBS3 Slide 2 Suchstrategien Warum sind Suchstrategien so wichtig in Wissensbasierten Systemen?

Mehr

Nachweis der Verhaltensäquivalenz von Feldbus-Komponenten auf unterschiedlichen Abstraktionsebenen

Nachweis der Verhaltensäquivalenz von Feldbus-Komponenten auf unterschiedlichen Abstraktionsebenen Nachweis der Verhaltensäquivalenz von Feldbus-Komponenten auf unterschiedlichen Abstraktionsebenen Diplomarbeit Martin Pitt martin@piware.de Technische Universität Dresden 11. November 2004 1 Aufgabenstellung

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

Aufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der

Aufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der Aufgabe 1: Sind die folgenden Abbildungen jeweils injektiv, surjektiv und/oder bijektiv? (a) f 1 (x) = x, mit f 1 : R + R + (b) f (x) = x, mit f : R R (c) f 3 (x) = x, mit f 3 : R R (d) f 4 (x) = 3x, mit

Mehr

Das Handbuch zu Vier gewinnt. Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Deutsche Übersetzung: Maren Pakura

Das Handbuch zu Vier gewinnt. Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Deutsche Übersetzung: Maren Pakura Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Deutsche Übersetzung: Maren Pakura 2 Inhaltsverzeichnis 1 Einführung 5 2 Spielanleitung 6 3 Spielregeln, Spielstrategien und

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr