+2 Daumen
1,9k Aufrufe

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

Avatar von
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?

Du brauchst die Werte doch nicht, wenn du die Anforderung "Wobei beide Spieler stehen bleiben sobald die 17 oder größer erreicht ist" hast. Oder irre ich mich da?

Klar, aber die Frage ist ja welche Entscheidung der Spieler beispielsweise bei einer 16 vs 2 treffen soll. Er hat einen Punktestand weniger als 17, die Chance zwischen 17 - 21 zu landen (was gut ist) beträgt 38,46% und die Chance über 21 zu landen also zu busten (verlieren) beträgt 61,53%.

Gleichzeitig hat der Dealer bei einem Punktestand von 2 die Chance von 62,44% zwischen 17 und 21 zu erhalten und eine BustChance von 37,55%.

Welche Entscheidung hat jetzt für den Spieler die besten Gewinnchancen? Eine Karte zu ziehen mit dem Risiko zu busten oder lieber stehen bleiben und hoffen, dass der Dealer bustet.

Danke für deine Unterstüzung!

VG

Volrath

Vielleicht habe ich auch eine falsche Methode um die Wahrscheinlichkeiten auszurechnen.

Weiss jemand wie man sowas "richtig" macht? Also die Wahrscheinlichkeit auszurechnen eine 17 bis 21 und darüber zu erhalten?

Dafür muss ich dich die WaTen von allen möglichen Kombinationen zwischen 17-21 und >21 ausrechnen oder?

Sprich die erste Reihe wäre dann:

W(2) * W(2) * W(2) * W(2) * W(2) *W(2) * W(2) * W(2) *W(2)

quasi die Wahrscheinlichkeit, dass 9 mal hintereinander die 2 gezogen wird, wobei natürlich mit jedem Zug die nächste Wahrscheinlichkeit eine 2 zu ziehen sinkt. Den Wert addiere ich dann auf die Wahrscheinlichkeit dass eine 18 erreicht wird. nächstes Beispiel wäre dann z.b:

W(2) * W(2) * W(2) * W(2) * W(2) *W(2) * W(2) * W(4)

Dies ergibt ebenfalls 18 und wird mit der vorherigen WaTen addiert. Dies wiederhole ich dann im Grunde für jede Kombination.

Ist das richtig?

Ich bin noch dabei das ganze zu Optimieren um die Beste Entscheidung zu treffen. Prinzipiell sind wir ja von einem "Sieg" ausgegangen wenn wir 17 bis 21 erreichen, was ja nicht ganz richtig ist. Denn eine 21 schlägt natürlich die anderen Zahlen. Deswegen habe ich nun die Wahrscheinlichkeiten für die einzelnen Augenzahlen zwischen 17 und 21 berechnet. Nehmen wir mal an das wären die konkreten Wahrscheinlichkeiten
für die Augenzahlen 17 - 21 und darüber. Wie kann ich jetzt anhand dieser WaTen errechnen, ob die Augenzahl des Spielers höher sein wird als die des Dealers. Was natürlich auch noch ganz gut wäre, ist wenn ich auch wissen könnte um wie viel % es besser oder schlechter sein wird. Hat da jemand eine Idee zu?

      Player  Dealer

17    21,88    22,92       
18    23,56    20,90
19    27,96    18,01
20    7,99    14,40
21    9,04    11,40

>21  9,5      12,33

Ist das hier die Frage?

Wie ist die Wahrscheinlichkeit zu gewinnen wenn noch eine Karte gezogen wird und wie ist die Wahrscheinlichkeit zu gewinnen wenn keine weitere Karte gezogen wird?

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community