Wie berechnet Equilab die Wahrscheinlichkeit ?

  • 7 Antworten
    • TheOneAndOnlyMarkus
      TheOneAndOnlyMarkus
      Bronze
      Dabei seit: 20.02.2006 Beiträge: 3.784
      Monte Carlo Simulation oder Enumeration aller möglichen Zustände
    • hulk86
      hulk86
      Bronze
      Dabei seit: 21.08.2006 Beiträge: 564
      ok sorry, ich hab mich nicht klar genug ausgedrückt.

      mich interessiert die genau implementation von beidem oder zumindest der ansatz.

      von turn zu river geht noch im kopf.

      von flop zu river is auch noch drin.

      aber bei pf allin wir die sache hässlich.

      GRUß
    • TheOneAndOnlyMarkus
      TheOneAndOnlyMarkus
      Bronze
      Dabei seit: 20.02.2006 Beiträge: 3.784
      Also wenn du dir z.B. den Wiki Artikel zu MC Simulationen durchliest sollte der 1. Punkt schonmal geklärt sein.

      Enumeration funktioniert halt so, dass du alle möglichen zukünftigen Karten die kommen können betrachtest und dann immer kuckst, ob du gewonnen hast oder verloren. Das macht man wie gesagt über alle möglichen Karten und dann hast du deine Equity.

      Oder willst du Quellcode von solchen Sachen haben? Das ist kein Hexenwerk, man man verstanden hat wie's geht kann man sich das recht schnell selbst schreiben.
    • nopi
      nopi
      Gold
      Dabei seit: 18.08.2006 Beiträge: 1.749
      Original von hulk86
      Hi,

      ja der Titel sagt eig schon alles. Ich würde gerne wissen wie Equilab oder der Equilator oder PokerStove die Wahscheinlichkeit berechnen.

      GRUß
      Hallo hulk86,

      ich versuch's nochmal kurz zu erläutern. Unterschieden wird zwischen den beiden Berechnungsmethoden "Enumerate All" und "Monte Carlo".

      Enumerate All:
      Je nach vorgegebener Kartenanzahl (kein Board, Flop, Flop+Turn, Flop+Turn+River) werden für die restlichen fünf, zwei, eine oder keine Karte(n) alle Kombinationen gebildet. Für alle diese Boards werden von allen beteiligten Spielern alle Kartenkombinationen aus deren jeweiliger Range gewertet. Für jedes dieser Szenarios werden die Winner und die Splits ermittelt und protokolliert. Aus der Anzahl der jeweiligen Wins und Splits läßt sich dann die Equity ermitteln.
      Wie man sofort sehen kann kann diese Anzahl sehr schnell so groß werden, dass eine vollständige Enumerierung sehr, sehr lange dauern würde. Als Beispiel sei genannt: "random" vs. "random" auf leerem Board. Alleine hier wär die Anzahl der Iterationen: C (52, 2) * C (50, 2) * C (48, 5) = 2.781.381.002.400. Für diese Headsup-Fälle besitzen gute Equity-Calculatoren interne Lookup-Tables, die diese Berechnungen deutlich beschleunigen. Man sieht sofort, dass bei mehreren Spielern die Anzahl der Iterationen ins Unermäßliche steigen kann, daher haben die Berechnungsprogramme eine zweite Methode implementiert ...

      Monte Carlo:
      Bei der Monte Carlo Berechnung wird in einer Endlosschleife aus den potentiellen Kombinationen des Boards und der jeweiligen Spieler jeweils eine zufällige diskrete Kombination genommen und ausgewertet. Diese Methode wird ziemlich wahrscheinlich niemals das exakte Ergebnis erreichen, jedoch hat sich gezeigt, dass das Ergebnis ziemlich schnell an das tatsächliche Ergebnis konvergiert. So wird bereits bei wenigen hunderttausen Berechnungen ein nachkommastellengenaues Ergebnis erreicht. Durch geschickte Implementierung des zugrundeliegenden Zufallsgenerators kann man hier ebenfalls Geschwindigkeitssteigerungen erreichen.


      All dem zugrunde liegt natürlich eine Methode, die einer gegebenen Hand/Board-Kombinationen einen eindeutigen, vergleichbaren Wert zuordnet, so dass man die Hände gegeneinander vergleichen kann.

      Ich hoffe ich konnte es einigermaßen klar machen.



      Original von TheOneAndOnlyMarkus
      ...
      Oder willst du Quellcode von solchen Sachen haben? Das ist kein Hexenwerk, man man verstanden hat wie's geht kann man sich das recht schnell selbst schreiben.
      Hallo TheOneAndOnlyMarkus,

      naja ... "recht schnell" ist ein dehnbarer Begriff. Ich würde hier auf frei verfügbare Evaluatoren zurückgreifen. Diese haben jedoch den Nachteil, dass die Geschwindigkeit größtenteils zu Wünschen übrig läßt. Man kann die Enumerate-All Berechnungsmethode jedoch durch Investition von einigem Gehirnschmalz nochmals deutlich beschleunigen. Als Gedankenanstoß sei folgender Artikel genannt: http://www.pokerstove.com/analysis/zealots.php
      ... und als Brag in eigener Sache folgendes Beispiel:
      "AA" vs. "KK" vs. "QQ" vs. "JJ":
      Equilator: 1 Minute 40 Sekunden
      Equilab: deutlich < 2 Sekunden


      Gruß, nopi
    • TheOneAndOnlyMarkus
      TheOneAndOnlyMarkus
      Bronze
      Dabei seit: 20.02.2006 Beiträge: 3.784
      Naja, das ist kein Brag für das Equilab sondern ein Beat für den Equilator :D Stove ist ja da noch schneller ^^

      Und das man das durch Lookup-Tabellen gewaltig beschleunigen kann (insbesondere die Evaluation wer gewonnen hat) ist ja klar. Aber ich denke alles im Bereich von wenigen Sekunden ist für so eine Anwendung absolut OK. 1:40 geht halt garnet :D . Und wenn mans noch schneller haben will nimmt man halt nen FPGA ^^
    • schoxx
      schoxx
      Bronze
      Dabei seit: 22.09.2007 Beiträge: 3.577
      "eine zufällige diskrete Kombination genommen und ausgewertet."


      Ich möchte mir gerne selber einen kleinen Equilator schreiben und
      zwar nur bestehend aus Preflop Situationen, wobei meine Hand
      bekannt ist und ich gebe Ranges für die anderen Spieler ein,
      keine genauen Karten.

      Da, wenn ich meheren Spielern Ranges gebe, die Rechnung mit Enumerate
      explodiert, kommt für mich nur Monte Carlo in Frage.

      Es wäre wirklich nett, wenn du das nochmal erklären
      könntest. Oder Jemand anderes der es bereits versteht.

      Vielen Dank. :)
    • nopi
      nopi
      Gold
      Dabei seit: 18.08.2006 Beiträge: 1.749
      Hallo schoxx,

      mir erschließt sich nicht genau, warum Du "das" neu erfinden willst. Ich denke, ich habe recht klar beschrieben, wie Monte-Carlo funktioniert.
      Du kannst ja trotzdem mal hier nachschauen. Dort findest Du bestimmt einige weiterführende Infos.

      Gruß, nopi