bitset performant?



  • Höhere Begriffe fehlen.



  • Werd doch Mal konkret. Wenn ich nach "Wahrscheinlichkeitsrechnung höhere Begriffe" google, bringt mir das nichts. Mir fehlen sicherlich irgendwelche ausgefallenen Wahrscheinlichkeitsmatrizen oder komplexere Muster, mit denen man gescheite Dinge anstellt. Aber etwas zielgerichteter wüsste ich schon gern, was Du meinst.



  • Mir fehlt das Pokerwissen.
    Equilator, Equity, Holecards, Community-Cards, Board?
    Wenn Du nur pro Spieler herausfinden willst, welches das bestmögliche Blatt ist, das er noch kriegen kann, mußt Du gar keine Wahrscheinlichkeitsrechnung betreiben, sondern nur die paar möglichen Blattbewertungsregeln durchgehen und versuchen, das Ergebnis zu konstruieren. Mit Wahrscheinlichkeitsrechnung war ich auf der falschen Fährte. Ich dachte, Du wolltest berechnen, mit welcher Wahrscheinlichkeit welcher Spieler gewinnt. Das ist dann ein wenig schlimmer. Aber mir will scheinen, daß man das auch konstruieren sollte, statt alles duchzuprobieren.

    Ich versuche mal:
    Ausgespielt sind bei 5 Spielern bisher 5*3=15 Karten und 2 in der Mitte. Insgesamt gibt es 104 Karten, also 8 Asse, davon zwei von der selben Farbe.
    Ich habe ein As und zwei Schrott.
    In der Mitte liegt ein As.

    Und dann rufe ich nacheinander auf:
    Wie groß ist meine Wahrscheinlichkeit für 4 Asse?
    Ich darf annehmen, daß ich jetzt dran bin und noch 2 Karten auf einmal ziehe und dann erst die anderen ihre. Würden die anderen erst ziehen, gäbe es weniger Asse, aber auch weniger Karten überhaupt und irgendwie würde sich der Effekt wieder wegrechnen.
    Ich brauche noch 2 Asse.
    Erste Ziehung: 6 Asse von 87 noch übrigen Katzen
    Zweite Ziehung: 5 Asse von 86 noch übrigen Katzen
    6/87*5/86=0.0040096231

    Die Berechnung wird natürlich noch doofer, wenn man verschiedene Karten braucht, um sein Wunschblatt zu bekommen. Da braucht man viel Fleiß, um alle bewertungsrelevanten Kombinationen zu proggern.



  • Okay, also Equity ist das, was in den Pokersendungen immer da steht. Z.B. hat ein Spieler 99 und der andere 76 in Kreuz oder so. Und dann geht es um die Gewinnchance, also die Wahrscheinlichkeit, dass die Hand, wenn die fünf Karten in die Mitte wandern, gewinnt. 99 hätte hier jetzt 80% oder so und 76 halt 20%. Natürlich verändert die sich mit jeder Karte, die noch in die Mitte kommt.

    Wenn man nicht blöd durchprobiert, könnte man z.B. sagen: 99 liegen erstmal ggü. 76 vorne, haben ja ein Paar. Damit 76 gewinnt könnten drei Karten in der Farbe ankommen. Aber dann könnten die 99 wiederum ein Fullhouse treffen, aber dann könnte 76 wiederum einen Straightflush machen...

    Also das wird ziemlich schnell recht kompliziert, wenn man für alle Hände alle Wahrscheinlichkeitsbäume aufbaut, wer wann gewinnen kann. Meine Google-Recherche kam auch immer nur zu Brute Force-Ansätzen oder eben dem kompletten Durchprobieren. Es gibt halt so viele Möglichkeiten, dass die schwächere Hand doch noch gewinnt. Und es kann auch sein, dass es nen Splitpot gibt, wenn auf dem Board ein Royal-Flush erscheint, sodass keiner von beiden besser ist.



  • Ach, 2 Asse mit König drunter, 2 Asse mit Dame drunter, ... sind ja alles verschiedene Gewinnklassen.
    Es gibt doch ein wenig mehr Gewinnklassen, als ich angenommen hatte. Daher das Bruteforcen. Wieviele Gewinnklassen gibt es denn?



  • Eisflamme schrieb:

    Okay, also Equity ist das, was in den Pokersendungen immer da steht. Z.B. hat ein Spieler 99 und der andere 76 in Kreuz oder so. Und dann geht es um die Gewinnchance, also die Wahrscheinlichkeit, dass die Hand, wenn die fünf Karten in die Mitte wandern, gewinnt.

    Nö, das wäre einfach nur die Gewinnwahrscheinlichkeit.
    Equity bezieht auch noch den zu erwartenden Gewinn und den ggf. dafür einzusetzenden Betrag ein.



  • Ne, Equity ist nur die Gewinnwahrscheinlichkeit. Wenn Du den Betrag mit einrechnest, kommst Du zum Erwartungswert (EV), glaub mir. 🙂 Aber ich weiß nicht, wie das in der echten Wirtschaft mit Equity ist.

    volkard:
    Straightflush (Royalflush ist nur der beste davon), Vierling, Full House, Flush, Straße, Drilling, Twopair, Pair, Highcard.

    Jeweils sind immer noch Kicker ausschlaggebend. Es werden immer 5 Karten verwendet. Wenn zwei Leute Twopair mit AA und KK haben, zählt die 5. Karte, die am höchsten ist. Wenn die aber auf dem Board liegt, ist es wieder der Splitpot.



  • Eisflamme schrieb:

    Es werden immer 5 Karten verwendet. Wenn zwei Leute Twopair mit AA und KK haben, zählt die 5. Karte, die am höchsten ist. Wenn die aber auf dem Board liegt, ist es wieder der Splitpot.

    Also ist 10 9 8 7 5 mehr wert als 10 9 8 7 4?



  • Ja.



  • Eisflamme schrieb:

    Ja.

    Dann gibt es zu viele Gewinnklassen, um jede auszuprogrammieren. 😞



  • Genau. Daher muss da ein schnelles Enumerieren ran. Aber wenn man das schnell macht, reicht das auch vollkommen aus, wie die ganzen Programme ja beweisen. Lustig wird, wenn man nicht nur eine Hand gegen eine andere antreten lässt, sondern mehrere. Selbst, wenn man AA schreibt, sind das ja 6 verschiedene Hände. Und bei so was wie AK sogar 16. Für die gegnerische Hand gilt das auch und dann hat man schon viel Spaß...

    Also ich werde vermutlich so ein paar Hilfstabellen machen. Man kann ja auch unterscheiden zwischen den Rängen der Karten (also ungeachtet von der Farbe) und wenn man die Farbe beachtet. Wenn man jetzt die vier Bereiche nach Farben trennt und verodert, hat man ja nur noch 13 Stellen. Dafür kann man eine Lookup-Tabelle machen, die einem angibt, was davon Straight und was nicht ist. Und man kann mit etwas Binärlogik auch die doppelten gut finden.



  • Erklär doch mal genauer, was man weiß. Welche Karten sieht man?



  • Benutzer gibt die zwei Karten von Spieler1 und die zwei Karten von Spieler 2 an, das ist der erste Fall. Kompliziertere Fälle implizieren mehr Hände für die Spieler, das nennt man Range, d.h. Spieler1 hat AA und Spieler2 hat KK,QQ,JJ und man erhält die mittlere Equity gegen die Range. Aber das lässt sich ja mit dem, was man dann schon hat, machen.



  • Man sieht also von jedem Spiele 2 Karten? Wieviele Karten gibt es insgesammt? 32?



  • 52

    Wie gesagt, es gibt 48*47*46*45*44 / (5!) Möglichkeiten für Boards.



  • Du siehst doch schon 2 Karten pro Spieler, oder? Dann hast du doch schon deutlich weniger Möglichkeiten.



  • Ja, deswegen fang ich mit 48 und nicht mit 52 an...



  • Ich meinte 48*47*46, weil 2 schon weg. Aber es gibt ja nur 10 Stufen http://de.wikipedia.org/wiki/Poker#Kombinationen. Da kannst du ja einfach berechnen, wie groß noch die Wahrscheinlichkeit ist, dass man eine erreicht. Wenn beide eine erreichen können, dann halt noch wie groß die Wahrscheinlichkeit ist, dass einer ein höheres Entscheidungskriterium hat. Aus all den Wahrscheinlichkeiten ergibt sich dann diese Equideingdsda.



  • Das klappt so vorne und hinten nicht. Probier's Mal zu implementieren, dann siehstes.



  • Nicht durchprobieren.

    Sondern
    http://de.wikipedia.org/wiki/Wahrscheinlichkeitstheorie#Bedingte_Wahrscheinlichkeit
    usw.

    Oder was ist das Problem.


Anmelden zum Antworten