ich möchte eine kleine KI für Black Jack entwickeln und brauche eine Art Formel oder Berwertungsfunktion um den nächstbesten Zug zu berechnen
Ich erläutere das am besten anhand eines Beispiels:
Dealerhand = 2
Spielerhand=16
Mein Programm hat auf Basis der vorhanden Karten errechnet, dass es eine Wahrscheinlichkeit von 38,46% gibt, dass der nächste Punktestand für den Spieler zwischen 17 und 21 beträgt. Die Wahrscheinlichkeit dass der Spieler bustet, also mehr als 21 zieht beträgt dann 61,53%. Beim Spieler handelt es sich um die Wahrscheinlichkeit des nächsten Zuges, beim Dealer allerdings um die Wahrscheinlichkeiten aller möglichen Kombinationen, die zu einem Punktestand zwischen 17 und 21 führen können. Wobei beide Spieler stehen bleiben sobald die 17 oder größer erreicht ist. Das ist deshalb so, weil der Dealer prinzipiell immer bis mind. 17 ziehen muss, der Spieler allerdings kann nach jedem Zug neu entscheiden.
Für den Dealer habe ich berechnet, dass die Wahrscheinlichkeit einen Punktestand zwischen 17 und 21 zu erhalten 62,44% beträgt und die Wahrscheinlichkeit zu busten (über 21) beträgt 37,55 %. Es ist noch zu beachten, dass wenn der Spieler bustet, das Spiel automatisch als verloren gilt, d.h. der Dealer spielt nicht mehr.
Wie kann ich nun diese Werte sinnvoll in Zusammenhang bringen und daraus eine Entscheidung, ob eine Karte gezogen werden soll oder lieber keine weitere Karten gezogen werden soll mit der Hoffnung, dass der Dealer bustet, ableiten?
Klar für den Spieler beträgt die Wahrscheinlichkeit zu busten deutlich höher als die Wahrscheinlichkeit eine Karte zwischen 1-5 zu erhalten. Doch wenn dieser auf der 16 stehen bleibt bedeutet das dann, dass der Dealer eine 62,44% Wahrscheinlichkeit hat zu gewinnen (also noch höher). Ich muss die Werte also irgendwie in Zusammenhang bringen weiss aber nicht wie. Gemäß der Basic Strategie die für BlackJack gilt, sollte der Spieler bei einem 16 zu 2 Punktestand stehen bleiben. Mein Programm sollte ebenfalls auf Basis einer Berechnung zu diesem Ergebnis kommen, und nicht hartcodiert.
Ich mache noch ein Spiel
Erläuterung:
Spieler Score bedeutet Punktestand für den Spieler bei dem eine Entscheidung getroffen werden soll. (Karte ziehen oder stehen bleiben)
Spieler Winrate bedeutet die Chance eine 17 - 21 zu erreichen.
Spiele Bustrate bedeutet die Chance zu busten also zu überziehen (>21)
Analog dann die selben Bedeutung für den Dealer
Situation1:
Spieler Score: 16
Dealer Score: 2
Spieler WinRate: 38,46%
Spieler BustRate: 61,53%
Dealer WinRate: 62,44%
Dealer BustRate: 37,55%
Basic Strategie Empfehlung: Stehen bleiben
Situation2:
Spieler Score: 16
Dealer Score: 10
Spieler WinRate: 38,46%
Spieler BustRate: 61,53%
Dealer WinRate: 78,75%
Dealer BustRate: 21,24%
Basic Strategie Empfehlung: Karte ziehen
Situation3:
Spieler Score: 12
Dealer Score: 6
Spieler WinRate: 38,46%
Spieler BustRate: 30,76%
Dealer WinRate: 57,70%
Dealer BustRate: 42,29%
Basic Strategie Empfehlung: Stehen bleiben
Situation4:
Spieler Score: 12
Dealer Score: 10
Spieler WinRate: 38,46%
Spieler BustRate: 30,76%
Dealer WinRate: 78,75%
Dealer BustRate: 21,24%
Basic Strategie Empfehlung: Karte Ziehen
Vielen Dank für Eure Unterstzüung!
Volrath