PokerStove in Excel?!

    • Vladras
      Vladras
      Bronze
      Dabei seit: 06.06.2010 Beiträge: 105
      Guten Abend,

      ich wollte mir heute mit Excel einen kleinen Calculator basteln, der mir wie PokerStove "Hand Vs. Range"-Equity berechnen könnte, damit ich diese dann weiter verwenden könnte für weitere Berechnungen.
      Klar könnte man die Zahlen aus PStove übertragen, aber das wäre dann zu viel Arbeit, wenn es in Excel auch ginge.

      Ich weiß, dass mit Excel Kombinatorik möglich ist, habe aber keine Ahnung, ob es auch auf diesem etwas komplexeren Level geht.

      Danke schon mal in Voraus.

      Gruß,

      Vladras
  • 21 Antworten
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      Klar geht das, aber brauchst schon bissi advanced mathe und ist die arbeit nicht wert, es gibt genug tool und auch so genug über odds und outs...

      ps glaub mich ich bin sonst fan von sowas
    • klausschreiber
      klausschreiber
      Bronze
      Dabei seit: 30.07.2006 Beiträge: 5.773
      Hallo zusammen,

      ich kann mir nicht vorstellen, dass das mit Excel geht. Die Equityprogramme wie Pokerstove und Equilator ermitteln die Werte nicht anhand einer Formel, sondern durch ausprobieren. Entweder werden einfach alle möglichen Konstellationen durchgegangen (Enumerate), oder es werden die Karten zufällig gedealt (Monte-Carlo) und dann wird am Ende geschaut, welcher Spieler wie oft gewonnen hat und daraus die Prozentzahlen gebildet.

      Gruß,
      klausschreiber
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      Sicher, du kannst scripten, aber will man das^^

      Alternative Berchnung geht doch über Kombinatorik, dh du musst nicht "Enumerate" machen. Stumpfe Wahrscheinlichkeitsrechnung wie bei wiki poker oder wiki wahrscheinlichkeiten oder kombinatorik...
    • klausschreiber
      klausschreiber
      Bronze
      Dabei seit: 30.07.2006 Beiträge: 5.773
      ja, gut, scripten kann mans, allerdings ist das nicht gerade wenig Arbeit :D .

      Aber wie du das allein mit Kombinatorik berechnen willst, ist mir nicht ganz klar? Man kann berechnen, wie wahrscheinlich es ist, dass eine bestimmte Karte kommt oder mit welcher Wahrscheinlichkeit eine Straße kommt usw. Aber wenn ich OP richtig verstehe, will er ja z.B. wissen, wie gut er mit seinem AKo gegen eine 5% Range preflop ist. Wenn du z.B. berechnen willst, wie gut J6 gegen AK abschneidet, musst du ja alle Boards betrachten und und immer schauen, wer auf dem jeweiligen Board gewinnt. Wie willst du da eine allgemeingültige Formel oder so finden?
    • nopi
      nopi
      Gold
      Dabei seit: 18.08.2006 Beiträge: 1.708
      Original von Kongotto
      Alternative Berchnung geht doch über Kombinatorik, dh du musst nicht "Enumerate" machen. Stumpfe Wahrscheinlichkeitsrechnung wie bei wiki poker oder wiki wahrscheinlichkeiten oder kombinatorik...
      nö ... siehe Post von klaus über mir.
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      Original von nopi
      Original von Kongotto
      Alternative Berchnung geht doch über Kombinatorik, dh du musst nicht "Enumerate" machen. Stumpfe Wahrscheinlichkeitsrechnung wie bei wiki poker oder wiki wahrscheinlichkeiten oder kombinatorik...
      dum?

      Gutes Argument. jaja
      Brauchst ja auch kein bist ja bestimmt nur BBVler.

      @other: ich sag ja, es geht, aber zu aufwendig. Das geht ja schon ins proggen...
    • klausschreiber
      klausschreiber
      Bronze
      Dabei seit: 30.07.2006 Beiträge: 5.773
      bitte freundlich bleiben, auch wenn die Antwort recht kurz war, muss man nicht beleidigend werden ;) . Zudem ist nopi meines Wissens Entwickler des Equilabs und damit Entwickler des derzeit besten Equityberechnungsprogramm auf dem Markt ;)

      Aber auch ich verstehe nicht, wie du das machen willst. Du kannst super berechnen, wie oft eine Straße kommt, wie oft man einen Flush trifft usw., aber du musst ja auch noch berücksichtigen, was der Gegner hat. Das heißt, du musst jedes Board einzeln durchgehen, erkennen, wer welche Hand hat und welche stärker ist. Es gibt einen glaub hundertseitigen Thread auf 2+2 über das Thema, eigene Internetseiten dazu usw., wo sich alle nur damit beschäftigen, wie man die Gescwindigkeit optimieren könnte. Wenn man die Wahrscheinlichkeiten mathematisch berechnen könnte, wäre das nicht notwendig und der Monte-Carlo Modus wäre überflüssig. Mit einem Programm, das die Wahrscheinlichkeiten berechnen kann und damit keine Geschwindigkeitsprobleme mehr hat, könntest vermutlich einiges an Geld machen (wobei es jetzt dank moderner Rechner und guter Algorithmen nicht mehr so ins Gewicht fällt).

      Aber im Endeffekt ist es ja auch egal, da es ja eh nichts an der Situation von OP ändert :) .
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      Das Thema ist für mich durch. Ich bin Informatiker und bin mir ziemlich sicher, dass es beim Poker keine Sensations Algorithem zu entdecken gibt.
      Ich würde für sowas auch nie excel nutzt, pfui bah ^^ :)

      @Freundlichkeit: Ja hmmm, vermute zu 90% das er User trollt und selbst wenn nicht ist so ein Post sinnfrei und hab ihn dann ja auch schnell ignoriert.
      Wenn das "nö" nämlich ernst war, hat der User eben keine Ahnung.
    • klausschreiber
      klausschreiber
      Bronze
      Dabei seit: 30.07.2006 Beiträge: 5.773
      Naja, ich spreche ja nicht von Sensationsalgorithmen^^. Aber da das aufwendigste ja das Erkennen der jeweiligen Handstärke ist, ist es durchaus eine Schwierigkeit, die Erkennung so zu gestalten, dass sie innerhalb einer Sekunde ein paar Millionen mal ablaufen kann.
      Also wenn wir nicht komplett aneinander vorbeireden und du wirklich meinst, dass es (egal ob jetzt in Excel oder sonst wo) einen allgemeingültigen Weg gibt, die Equity zweier Karten zu berechnen, ohne alle Möglichkeiten durch Ausprobieren durch zu gehen (was ja dann auch um ein Vielfaches schneller sein müsste, als einfach alle Kombinationen durchzuprobieren), dann würde ich um hunderte Dollar wetten, dass das nicht geht ;)

      Aber gut, macht ja nichts, wenn wir da unterschiedlicher Meinung sind :)
    • nopi
      nopi
      Gold
      Dabei seit: 18.08.2006 Beiträge: 1.708
      Original von Kongotto
      Das Thema ist für mich durch. Ich bin Informatiker und bin mir ziemlich sicher, dass es beim Poker keine Sensations Algorithem zu entdecken gibt.
      ...
      Wenn das "nö" nämlich ernst war, hat der User eben keine Ahnung.
      aha ... anyway, back to topic:

      Es wäre sehr wohl ein Sensationsalgorithmus, der die Equities direkt ausrechnet. Bisher, und das ist unumstritten Stand der Technik, muß man alle Kombinationen jeder Range gegeneinander antreten lassen. Dazu muß man alle potentiellen Boards dealen und jeweils die Handstärke ausrechen. Diese Handstärken vergleicht man miteinandern und protokolliert Winner und Splitter ... hast Du alle Kombinationen durch, erst dann hast Du die Equity. Auch Du solltest sofort sehen, dass dies bei genügend großen Ranges sofort so explodieren kann, so dass die Berechnung sehr, sehr lange dauert.
      Beispiel: random vs. random auf leerem Board
      Aufwand: C (52, 2) * C (50, 2) * C (48, 5) = 2.781.381.002.400 Iterationen ... aua ... und jetzt nimm' mal noch eine oder mehrere Range(s) dazu.

      Anders sieht es aus, wenn Du eine(!) Hand gegen eine(!) Range laufen lassen willst, dann wäre der Aufwand nur noch (im Falle von random) C (2, 2) * C (50, 2) * C (48, 5) = 2.097.572.400 Iterationen. Selbst das dauert auf heutigen Rechner noch ziemlich lange.

      Damit die Equity-Calculatoren in annehmbarer Zeit brauchbare Ergenisse liefern gibt es heute nur zwei Möglichkeiten:
      1. Das Nutzen von LookUpTables: Hier das alte Problem ... je mehr abgedeckt werden soll, desto größer werden diese ... muß ich Dir als "Informatiker" ja nicht erzählen. BTW: Gute Equity-Calculatore nutzen diese Methode mehr oder weniger intensiv.
      2. Das Annähern des Ergebnisses durch Monte-Carlo, d. h. zufälliges Auswählen der Hände aus den Ranges und zufälliges Zusammenstellen des Boards. Diese Methode liefert erstaunlicherweise relativ schnell relativ akurate Ergenisse.

      Original von klausschreiber
      ... Aber da das aufwendigste ja das Erkennen der jeweiligen Handstärke ist, ist es durchaus eine Schwierigkeit, die Erkennung so zu gestalten, dass sie innerhalb einer Sekunde ein paar Millionen mal ablaufen kann.
      ...
      Das ist inzwischen ganz gut gelöst. Ich mag mich irren, aber imho ist der schnellste Algortihmus einfach ein fünfdimensioneles Array von Handstärke-Values, die direkt referenziert werden. Das Teil hat C (52, 5) = 2.598.960 Einträge ... kannst ja selbst nochmal den hunterte Seiten langen Thread auf 2+2 durchgehen ;)


      Friede auf Erden, nopi
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      Moment Leute,

      man kann doch ohne iterieren, also Boards bauen und durchtesten, doch EQ bestimmen?!

      Gegeben = Hand Hero und Hand Villian
      Board = Wir können doch sagen zu P(wir flopen besser als pair usw)....+....

      nochmal: Ich rede nicht von iterationen!
      Wenn 2 konkrete Hände gegeben sind, kann man so doch die EQ bestimmen.
      Wenn Hand Villian = Range, dann auch noch, weil dann muss man das halt bis zu 169 mal machen.

      Was ist denn da an meiner Sicht falsch?
      Wenn ihr mir das sagen könnt, versteh ich vielleicht, warum ihr sagt "es sei nicht möglich".

      EDIT: meine berechung ist die kombinatorik die nopi beschreibt. So meine ich es, er hats nur besser beschrieben. Also wo ist das Problem, Aufwand/Komplexität kanns ja nicht sein.

      "muß ich Dir als "Informatiker" ja nicht erzählen." btw ich sag ja TROLL, kannst dir nicht verkneifen oder?
      Muss ich jetzt mein Dipl einscannen, aber dann fängst du an Studienordnungen usw anzuzweifeln was :) )))

      @klaus: Ich meinte gar keine anderen Weg, da war wohl nen misverständnis. Ich dachte halt du rechnest empirisch also durch Zufall und Boards usw, aber seh jetzt erst, dass du auch Kombinatorik meinst und da seh ich wie gesagt kein Problem UND sehr wahrscheinlich gibt keine andere Lösung, wie auch?! Also die Kohle kannst behalten. :-)
    • nopi
      nopi
      Gold
      Dabei seit: 18.08.2006 Beiträge: 1.708
      Original von Kongotto
      Moment Leute,

      man kann doch ohne iterieren, also Boards bauen und durchtesten, doch EQ bestimmen?!

      Gegeben = Hand Hero und Hand Villian
      Board = Wir können doch sagen zu P(wir flopen besser als pair usw)....+....

      nochmal: Ich rede nicht von iterationen!
      Wenn 2 konkrete Hände gegeben sind, kann man so doch die EQ bestimmen.
      Wenn Hand Villian = Range, dann auch noch, weil dann muss man das halt bis zu 169 mal machen.

      Was ist denn da an meiner Sicht falsch?
      Wenn ihr mir das sagen könnt, versteh ich vielleicht, warum ihr sagt "es sei nicht möglich".

      EDIT: meine berechung ist die kombinatorik die nopi beschreibt. So meine ich es, er hats nur besser beschrieben. Also wo ist das Problem, Aufwand/Komplexität kanns ja nicht sein.
      Wenn Du exakt zwei diskrete Hände auf einem gegeben 5-Card-Board vergleichen willst, dann sind wir wieder bei den erwähnten Hand-Strength-Values. Hierzu gibt es diverse Algorithmen bis hin zu riesigen Value-Arrays, in denen jeder möglichen Hand ein bestimmter absoluter Wert zugeordnet ist. Das schöne ist, dass diese Werte vergleichbar sind, also "bessere Hand" = höherer Wert. Das ganze nennt sich dann 7-Card-Evaluator, denn Du mußt ja alle C (7, 5) Kombinationen anschauen.

      Falls das Board nicht komplett gegeben ist, so wird man nicht um Iterationen rumkommen. Wie willst Du z. B. P(flopped TwoPair) mit P(flopped TwoPair) vergleichen? Da muß man wieder die Ranks einbeziehen usw. .. ekelig.
      Womit Du allerdings Recht hast ist folgendes (falls Du das meinst):
      Man kann anhand der Boardtextur und der Hände große Teile der Evaluierungsbäume beschneiden. Als simpelstes Beispiel sei genannt: Hero hat auf Board ein RoyalFlush, dann braucht man Villains Hände nicht mehr auszuwerten. Dieses Spiel kann man belibig weit treiben. Mit Quads, Flushes und FullHouses ist das noch halbwegs handlebar ... darunter wirds assig.

      "bis zu 169" gilt auch nur Preflop, denn sobald ein Board mit ins Spiel kommt, mußt Du die Suits mit berücksichtigen, dann besteht eine random-Range halt nicht aus 169 Handgruppen, sondern aus 1326 Händen. Diese Preflop-Matchups wurden hier auch schon gepostet ... sind halt 169*169 Einträge.


      Original von Kongotto
      ...
      "muß ich Dir als "Informatiker" ja nicht erzählen." btw ich sag ja TROLL, kannst dir nicht verkneifen oder?
      Nö ... :D
    • klausschreiber
      klausschreiber
      Bronze
      Dabei seit: 30.07.2006 Beiträge: 5.773
      Original von Kongotto
      Gegeben = Hand Hero und Hand Villian
      Board = Wir können doch sagen zu P(wir flopen besser als pair usw)....+....
      Ja, klar kannst du ausrechnen, zu wieviel % du ein Pair flopst oder am Showdown hast usw. Das ist interessant, wenn du weißt bzw. vermutest, was den Gegner schlägt und wissen willst, welche Pot Odds du brauchst, z.B. um zu callen.

      Aber wenn du nur zwei konkrete Hände preflop gegeben hast, ala Hero hat AKo und Villian T9s, dann bringt dir das ja nichts, zu wissen, wie oft bzw. zu welcher Wahrscheinlichkeit du oder dein Gegner eine Straße bekommt oder ähnliches, sondern du musst wissen, wie oft bzw. zu welcher Wahrscheinlichkeit du am Showdown besser als dein Gegner bist.

      Du könntest z.B. sagen, Hero hat in 4 Situationen einen Royal Flush und in 4 Situationen ein TwoPair. Villian hat in 4 Situationen ein Drilling und in 4 ein Paar. Schaut ja erstmal so aus, als wäre Hero besser. Wenn Villian aber immer dann das Pair hat, wenn Hero den Royal Flush hat und daraus folgend immer den Drilling, wenn Hero ein Pair hat, hat Hero eben keine höhere Equity als Villian. Man kann Villian und Hero halt nicht einzeln betrachten, weil jede Karte, die gut für Hero ist, in dieser speziellen Situation für Villian noch besser sein kann.

      Daher geht es nicht ohne Iterationen, zumindest hat dies bisher noch kein Entwickler eines Equityprogramms geschafft bzw. öffentlich bekannt gegeben. Wenn das möglich wäre, würden ja auch alle Programme diese Möglichkeit nutzen und den Monte-Carlo Modus komplett abschaffen ;)


      Original von nopi
      Das ist inzwischen ganz gut gelöst. Ich mag mich irren, aber imho ist der schnellste Algortihmus einfach ein fünfdimensioneles Array von Handstärke-Values, die direkt referenziert werden. Das Teil hat C (52, 5) = 2.598.960 Einträge ... kannst ja selbst nochmal den hunterte Seiten langen Thread auf 2+2 durchgehen ;)
      Müsste das Array nicht siebendimensional sein und würde dadurch sehr viel Platz brauchen oder gibt es da tatsächlich schon nen besseren Weg? Ich kenns halt so, dass man das Board inkl. Hand, also die 7 Karten als Double-Wert oder je nach dem 4 Short-Werte speichert und dann anhand LookupTables prüft, obs ne Straße ist usw. Aber kann schon sein, dass es da auch besser Möglichkeiten gibt, ist ja hier auch nicht so wichtig. Hatte den Thread auch nur vor längerer Zeit überflogen und nicht alles haargenau angeschaut, daher kennst du dich da wohl um einiges besser aus :)
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      DANKE Klaus,

      die Beispiele haben es mir super klar gemacht.
      Das ist das was nopi mit "ranking" oder "ranks" beschreibt. Als vergleichbar machen und dann halt eben auch noch "wann hat wer was" usw..

      Denke OP ist nun eh genug^^ Daher kann das eigentlich zu.
      Mein Grundfazit für mich ist einfach wie vorher: Ich bin der Meinung, dass man fürs Pokern genug gute Tools hat.

      ps Ich vermisse noch ein Gratis Tool wie flopzilla, gerade Beginner und auch ich nicht, weil viele flop Wahrscheinlichkeiten nicht, zB dass ich zu 16% mit Ax das A treffe usw...
      Das ist bei mir sehr wichtig, weil ich gegen Aggression zb mittelgroße 3bet oder 4bets einfach kaum abschätzen kann ob ich das wirklich +EV callen darf/kann oder nicht.
      Habt ihr da noch nen Tipp?
    • nopi
      nopi
      Gold
      Dabei seit: 18.08.2006 Beiträge: 1.708
      be patient ... coming soon ...

    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      wixx! :P

      nopi! dein werk?
      für ps.com?

      Super!
    • plutrock
      plutrock
      Silber
      Dabei seit: 14.09.2008 Beiträge: 1.080
      nopi wann wird es erscheinen? noch in diesem Jahr?
    • nopi
      nopi
      Gold
      Dabei seit: 18.08.2006 Beiträge: 1.708
      Hey plutrock,

      das oben aufgezeigt ist schon in der aktuellen Version enthalten.

      Gruß, nopi
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      was ist mit flopzilla?
    • 1
    • 2