Zum Forum springen
AA, ATs vs. AA,KcKd...
 
Benachrichtigungen
Alles löschen

[Geschlossen] AA, ATs vs. AA,KcKd,KcKh,KdKs,KhKs

4 Beiträge
3 Benutzer
0 Reactions
545 Ansichten

Hallo

wenn ich die Range "AA, ATs" gegen die gleich grosse Range "AA,KcKd,KcKh,KdKs,KhKs" antreten lasse, ist für Enumerate erstere stärker und bei Monte Carlo ist die letztere Range stärker. Beide Ranges bestehen aus jeweils 10 Händen.

Klar ist, dass hier der cardremoval eine wichtige Rolle spielt, unklar ist jedoch was der Equilator jeweils genau macht...


3 Antworten

Original von Albern
Hallo

wenn ich die Range "AA, ATs" gegen die gleich grosse Range "AA,KcKd,KcKh,KdKs,KhKs" antreten lasse, ist für Enumerate erstere stärker und bei Monte Carlo ist die letztere Range stärker. Beide Ranges bestehen aus jeweils 10 Händen.

Absolut richtig.
Das ist ein DICKER Bug im Equilator.
Ich frage mich was der Equiltor macht. Ich habe die selbe Range mal in meine selbst geschriebenes Programm geklemmt und sowol Monte-Caro-Simulation als auch Enumerate durchlaufen lassen. Bei mir kommen auch die selben Werte für beide Methoden raus.
Die richtigen Werte sind übrigens die, die der Equilator bei enumerate ausspuckt.
Evtl. liegt es an einem schlechten Zufallsgenerator (das Problem hatte ich in meinem ersten Versuch die Monte-Carlo-Simulation zu implementieren), was sich aber auch auf andere MC-Simulationen auswirken müsste... und ich habe das an deinem Beispiel das erste mal bemerkt.

Original von Albern
Klar ist, dass hier der cardremoval eine wichtige Rolle spielt, unklar ist jedoch was der Equilator jeweils genau macht...

was meinst Du mit cardremoval?


AcesWing
Beigetreten: 08.04.2007

Dasselbe auch bei Pokerstove...


@ Programmierer vom Equilator:

hab nun herausgefunden, was der Fehler ist:

Ihr teilt die Random-Hände offensichtlich so aus (offensichtlich, da ich auf eure Werte komme, wenn ich in meinem Programm die Hände genauso verteile):

Ihr wählt eine zufällige Reihenfolge aus in der die Spieler eine Hande aus ihrer Handrange erhalten sollen. Ihr ermittelt dann für jeden Spieler solange eine Hand aus seiner Handrange bis diese Hand kompatibel mit den Händen der vorangegangenen Spielern ist, bis also in der ausgewählten Hand eines Spielers keine Karte aus der Hand eines vorangeganenen Spielers vorkommt.

Der erste hat damit eine Gleichverteilung für jede Hand seiner Handrange. Der zweite allerdings schon nicht mehr, da alle Hände wegfallen, in denen eine Karte vorkommt, die schon Spieler eins hält. Usw.

Damit hängt die Wahrscheinlichkeitsverteilung der Hände einer Handrange von der Reihenfolge ab in der sie Spieler die Karten erhalten. Die Reihenfolge wird allerings nach Gleichverteilung ermittelt und genau da ist das Problem!!!

Illustration am Bsp: AsAc,AhTh vs. AsAc,KsKc

Spieler 1 und 2 erhalten gleichoft (jeweils mit Wahrscheinlichkeit 0.5) als erster eine Hand aus ihrer Handrange.
1) Ist Spieler 1 (0.5) zuerst dran, so bekommt er (gleichverteilt) eine der folgenden Hände:
AsAc (0.5)
AhTh (0.5)

1a) Spieler 1 hat AsAc erhalten
Spieler 2 erhält dann auf jeden Fall
KsKc (1)
-> match-up in diesem Fall: AsAc vs KsKc
Wahrscheinlichkeit dieses Falls: 0.5*0.5*1

1b) Spieler 1 hat AhTh erhalten
Spieler 2 erhält dann (gleichverteilt) eine Hand aus:
AsAc (0.5)
-> match-up in diesem Fall: AhTh vs AsAc
Wahrscheinlichkeit dieses Falls: 0.5*0.5*0.5
KsKc (0.5)
-> match-up in diesem Fall: AhTh vs KsKc
Wahrscheinlichkeit dieses Falls: 0.5*0.5*0.5

2) Ist Spieler 2 (0.5) ist zuerst dran, so bekommt er (gleichverteilt) eine der folgenden Hände:
AsAc (0.5)
KsKc (0.5)

2a) Spieler 2 hat AsAc erhalten
Spieler 1 erhält dann auf jeden Fall
AhTh (1)
-> match-up in diesem Fall: AhTh vs AsAc
Wahrscheinlichkeit dieses Falls: 0.5*0.5*1

2b) Spieler 2 hat KsKc erhalten
Spieler 1 erhält dann (gleichverteilt) eine Hand aus:
AsAc (0.5)
-> match-up in diesem Fall: AsAc vs KsKc
Wahrscheinlichkeit dieses Falls: 0.5*0.5*0.5
AhTh (0.5)
-> match-up in diesem Fall: AhTh vs KsKc
Wahrscheinlichkeit dieses Falls: 0.5*0.5*0.5

Damit ergibt sich folgende Gesamtwahrscheinlichkeitsverteilung aller mgl. Match-ups:
AsAc vs KsKc : 0.5*0.5*1 + 0.5*0.5*0.5 = 0.25 + 0.125 = 0.375
AhTh vs AsAc : 0.5*0.5*0.5 + 0.5*0.5*1 = 0.125 +0.25 = 0.375
AhTh vs KsKc : 0.5*0.5*0.5 + 0.5*0.5*0.5 = 0.25

Es müsste aber jedes Match-up gleichwahrscheinlich sein.

Eine Lösung, die ich (und wohl auch Pokerstove) verwendet ist folgende:
Wähle für jeden Spieler (unabhängig von den Vorgängern) eine Hand aus der Handrange. Falls mind. eine Karte doppelt verteilt wurde, wähle für alle Spieler neue Hände, usw. bis keine Karte doppelt verteilt ist.

Dies drückt die Geschwindigkeit bei vielen Spielern, da dann die Wahrscheinlichkeit einer Doppeltverteilung von Karten recht hoch ist.


Teilen: