Stochastik mind 1 Spieler 2 Asse?
Ich benötige Hilfe bei dieser Aufgabe:
Beim Pokerspiel Texas Hold’em wird ein 52-Blatt Kartenspiel, das 4 Asse enthält, gut gemischt. Dann erhält jeder von 10 Spielern zu Beginn zwei Karten auf die Hand. Mit welcher Wahrscheinlichkeit erhält mindestens ein Spieler zwei Asse?
2 Antworten
Der Tipp mit Einschluss-Ausschluss-Formel (https://de.wikipedia.org/wiki/Prinzip_von_Inklusion_und_Exklusion#Beispiel) könnte passen.
P( Spieler n erhält 2 Asse ) = (4 über 2) / (52 über 2) = 1 / 221
P( Spieler n erhält 2 Asse und Spieler m erhält 2 Asse) = 1 / (52 über 4) = 1 / 270725
Mit dem genannten Prinzip:
P( mindestens ein Spieler erhält 2 Asse ) = 10 / 221 - (10 über 2) / 270725 = 4.5%
by the way : was gibt die Formel , wenn n = 25 ? Sollte doch auf 1 rauskommen.
meine Überlegung war dann wohl falsch :
Es kann der Fall eintreten , das 24*2 Karten auf die ersten 24 verteilt wurden und keiner ein AS hat . Dann müssen die 4 zwangsläufig nun kommen . Damit hat mindestens ein Spieler zwei Asse.
Kleine Monte Carlo Simulation :
https://de.wikipedia.org/wiki/Monte-Carlo-Simulation
Hier das Programm :
DIM AS INTEGER n, i, j, z, w, Merke
DIM AS DOUBLE Menge, Anzahl
REM Beim Pokerspiel Texas Hold em wird ein 52-Blatt Kartenspiel, das 4 Asse enthaelt, gut gemischt.
REM Dann erhaelt jeder von 10 Spielern zu Beginn zwei Karten auf die Hand. Mit welcher Wahrscheinlichkeit erhaelt mindestens ein Spieler zwei Asse?
REM Den Zufallszahlengenerator so einstellen, dass bei jedem neuen Programmstart ein anderer
REM Zufallszahlen - Seed verwendet wird, anstatt immer derselbe (RANDOMIZE TIMER) :
RANDOMIZE TIMER
DIM a(1 TO 52) AS INTEGER
n = 10 * 2
REM Menge der Experimente :
Menge = 10000000
DIM k(1 TO n) AS INTEGER
REM 1 = Ass, 2 bis 10 = Zahlen, 11 = Bube, 12 = Dame, 13 = Koenig
FOR i = 1 TO 52
IF i < 5 THEN a(i) = 1
IF i > 4 AND i < 9 THEN a(i) = 2
IF i > 8 AND i < 13 THEN a(i) = 3
IF i > 12 AND i < 17 THEN a(i) = 4
IF i > 16 AND i < 21 THEN a(i) = 5
IF i > 20 AND i < 25 THEN a(i) = 6
IF i > 24 AND i < 29 THEN a(i) = 7
IF i > 28 AND i < 33 THEN a(i) = 8
IF i > 32 AND i < 37 THEN a(i) = 9
IF i > 36 AND i < 41 THEN a(i) = 10
IF i > 40 AND i < 45 THEN a(i) = 11
IF i > 44 AND i < 49 THEN a(i) = 12
IF i > 48 THEN a(i) = 13
NEXT i
Anzahl = 0
FOR z = 1 TO Menge
REM 10 * 2 = 20 Karten ziehen
FOR i = 1 TO n
Sprung:
w = INT(52 * RND) + 1
REM Hier wird dafuer gesorgt, dass eine Karte, die bereits ausgeteilt wurde, nicht noch einmal ausgeteilt wird.
IF i > 1 THEN
FOR j = 1 TO (i - 1)
IF k(j) = w THEN GOTO Sprung
NEXT j
END IF
k(i) = w
NEXT i
REM Hier wird geprueft, ob ein Spieler zwei Asse bekommen hat :
Merke = 0
FOR i = 1 TO n STEP 2
IF a(k(i)) = 1 AND a(k(i + 1)) = 1 THEN Merke = 1
NEXT i
IF Merke = 1 THEN Anzahl = Anzahl + 1
NEXT z
PRINT "Anzahl der Zufallsexperimente = "; Menge
PRINT "Wahrscheinlichkeit = "; Anzahl; " / "; Menge; " = "; (Anzahl / Menge) * 100; " %"
END
Dieses Programm auf diese Webseite rein kopieren und danach auf "Execute" klicken !
https://www.jdoodle.com/execute-freebasic-online/
Man erhält bei jedem neuen Programmstart ein leicht anderes Ergebnis, weil der Zufall halt nicht jedes mal derselbe ist (RANDOMIZE TIMER). Will man jedes mal dasselbe Zufallsergebnis, dann lässt man den Befehl RANDOMIZE TIMER einfach weg.
So sieht ein mögliches Ergebnis aus, die Ausführung des Programms dauert für 10000000 Experimente dauert zirka 12 Sekunden. Erhöht man den Wert im Programm zu stark, dann bricht das Programm ab, weil diese Webseite keine übertrieben lange Rechenzeiten duldet !
Das Ergebnis stimmt sehr gut mit dem überein, was eterneladam als Ergebnis herausbekommen hat, nämlich eine Wahrscheinlichkeit von zirka 4,5 %
Monte Carlo Simulationen geben niemals 100 % exakte Rechenwerte, sondern weichen vom exakten Theoriewert immer ein bisschen ab.
Somit stimmt es, was eterneladam geschrieben hat.
Das macht natürlich sinn, danke!! Wie rechne ich bei P( Spieler n erhält 2 Asse und Spieler m erhält 2 Asse) = 1 / ..? Also wie komme ich auf die eins im Bruch?