minimax Algorithmus

boontje

Mitglied
Hallo!
Ich programmiere gerade als Projekt ein 4 Gewinnt.
Dabei versuche ich gerade einen Computergegner mit minimax Algorithmus zu Programmieren.
Habe mir auf Wikipedia den Pseudocode angeguckt, verstehe ihn aber nicht wirklich.
Kann mir vlt. jemand einen Tipp geben wie man sowas in Java übersetzt :)
Danke im voraus
boontje
 

VfL_Freak

Top Contributor
das ist aber nicht nur Pseudo-Code drin, sondern auch ein konkreteres Beispiel!
Minimax-Algorithmus ? Wikipedia unter "implementierung"

Poste doch mal Deinen bisherigen Ansatz und stell' dann kokrete Fragen dazu!
Kompletten Code wird hier sicherlich keiner posten ....
 
Zuletzt bearbeitet:

boontje

Mitglied
Das erwarte ich auch nicht!
Mein Problem ist, dass ich keinen Ansatz habe!
Ich weiß nicht wie ich anfangen soll und wie man sowas im allgemeinen Programmiert
 

turtle

Top Contributor
Zum Thema MiniMax (mit Alpha-Beta-Pruning) gab es in eine der c't-10/2014 den Artikel "Brettspiel-KI selbst programmieren" der für dich sehr interessant sein dürfte.;)

Da kann ich eigentlich nur referieren und sagen, das bei MiniMax der "Spielbaum" abgespielt wird.

Es werden alle Züge von Weiss gemacht. Dann werden auf allen resultierenden Positionen alle Züge von Schwarz gemacht. Dieses wird wiederholt bis die gewünschte Spieltiefe erreicht wird.

Dann wird die Endposition bewertet.

Dieses nennen wir Informatiker eine Tiefensuche, weil der Baum bis zu einer bestimmten Tiefe "abgespielt" wird und die resultierenden Stellungen einfach bewertet werden.

Nun wird diese Bewertung durch den Baum nach oben "gepumpt" und bei Weiss wird derjenige Zug gewählt der zum maximalen Gewinn führt während bei Knoten,in denen Schwarz am Zug ist, denjenigen Zug wählt, der den für ihn besten Zug, also aus weisser Sicht minimalen Gewinn wählt.

Daher der Name MiniMax.
 

Ähnliche Java Themen


Oben