GTO Berechnungen

    • Thorsten77
      Thorsten77
      Black
      Dabei seit: 28.05.2006 Beiträge: 12.896
      Hi,

      Gibt es hier Leute die sich tiefer mit GTO-Strategien und deren Berechnung beschaeftigen? Mein Ziel ist es Standard-Postflop-Spots zu analysieren und zu sehen wie das GTO postflop play unter Annahme von gegebenen Preflop-Ranges aussieht. Ein Beispiel: Wir raisen UTG und CO callt, alle anderen folden. Wir nehmen folgende Ranges an:
      UTG: 55+, ATs+, KTs+, QTs+, J9s+, T8s+, 98s, AJo+, KQo
      CO: QQ-66, AQs+, KQs, QJs, JTs, T9s, 98s, AKo, KK#2/6, AA#2/6

      Auf einem bestimmten Flop (X,Y,Z) moechte ich nun wissen, welche Haende wir betten, x/c, x/r etc. unter der Annahme Villain ist unknown und spielt optimal.

      Da die Berechnung hier alles andere als trivial ist habe ich begonnen mir ein Programm zu schreiben, was jedoch auch nicht trivial ist ;) . Der Anfang ist nun gemacht und ich kann einfache Rivergames analysieren. Ein Test den ich durchgespielt habe war ein simples Toy game:
      - Range1: TT,99
      - Range2: AA,KK,AKs,KQs
      - Board: Ah Ks Qc Jd 5s
      - beide Spieler haben 1bb investiert
      - Spieler 1 kann shoven oder check, Spieler 2 kann bei einem Shove callen oder folden, bei einem check checkt er immer behind.

      Wenn ich das Programm laufen lasse mit total stacks von 3bb (also 1PSB left) kommen folgende Ergebnisse raus:
      code:
      Strateg P1
      Idx	Hand		CHK	ALLIN	
      696	Ts Tc		0%	100%	
      697	Ts Td	0%	100%	
      698	Ts Th	0%	100%	
      731	Td Tc	0%	100%	
      732	Th Tc	0%	100%	
      765	Th Td	0%	100%	
      830	9s 9c	50%	50%	
      831	9s 9d	50%	50%	
      832	9s 9h	50%	50%	
      861	9d 9c	50%	50%	
      862	9h 9c	50%	50%	
      891	9h 9d	50%	50%	
      Total			25%	75%	
      
      
      Strategy P2
      Idx	Hand		F	CALL	
      0	As Ac	50%	50%	
      1	As Ad	50%	50%	
      51	Ad Ac	50%	50%	
      54	Ac Kc	50%	50%	
      104	Ad Kd	50%	50%	
      245	Kd Kc	50%	50%	
      246	Kh Kc	50%	50%	
      291	Kh Kd	50%	50%	
      294	Kd Qd	50%	50%	
      339	Kh Qh	50%	50%	
      Total			50%	50%	
      
      EV P1: 0.4985298916950118
      


      Macht soweit Sinn und kann man manuell nachrechnen. Wenn ich nun das Spiel erneut laufen lasse mit 5bb starting stacks (2*PSB left) veraendert sich auch die Strategy und P1 shovt nun 83% (alle TT und der rest bluffs) waehrend P2 nur noch in 33% der Faelle bluffcatcht. Der EV fuer P1 erhoeht sich auf 0.67bb. Auch das macht Sinn. Solche simplen Toy games sind auch recht einfach zu testen da man entweder den EV manuell/in CREV berechnen kann oder auch simple Tests machen kann (wenn ich die Calling range auf 100% oder 0% veraendere aendert sich am EV nichts, da wir GTO spielen und es indifferent ist ob P2 callt oder foldet).

      Nun will ich das Toy game auf den Turn erweitern (wir erlauben hier eine PSB am turn und eine weitere am River), was bedeutet dass wir nun 48 unterschiedliche Riverboards bekommen die jeweils eine andere Strategie haben koennen und sich die Turn-Strategie entsprechend aendert. Das grosse Problem ist aber, dass ich nicht genau weiss inwiefern ich das Ergebnis ueberpruefen kann. Das ganze je nach River-Karte in CREV zu modellieren bzw manuell auszurechnen duerfte extrem aufwendig sein.

      Daher die Frage: gibt es hier Leute die sich mit der Berechnung von GTO Strategien detaillierter beschaeftigt haben und an einem Austausch interessiert sind? Alternativ: kennt ihr evtl. NL Holdem Multistreet Games mit bekannten Loesungen die man als Test verwenden kann (die meisten Testgames die ich gefunden habe sind entweder sehr simple Varianten wie AKQ game etc oder one street holdem games).
  • 14 Antworten
    • Scooop
      Scooop
      Bronze
      Dabei seit: 26.03.2009 Beiträge: 22.773
      Das Problem was du beschreibst wir meiner Meinung nach in MoP S.234ff. diskutiert bzw. gelöst.

      Wenn ich das was dort diskutiert wird richtig verstanden habe (und da es sich um einen der kompliziertesten Abschnitte des Buches handelt gibt's dafür keine Garantie^^) heißt das auf dein Beispiel übertragen, dass du 100% von Range 1 am Turn bettest bei einer Potsize bet und der Defender 50% callen muss.
      (Bei 2 PSB würde man immer noch 100% betten, aber nur noch zu 40% callen)


      Generell finde ich die Idee mit so einem GTO Programm natürlich interessant, aber da man ja selten ne perfekt gebalancte Range hat wie in deinem Beispiel, wird es doch so komplex, wenn man wirklich zu realen Situationen übergeht, dass ich ehrlich gesagt nicht sehe wie der Aufwand den du hier zu bewältigen hast sinnvolle Ergebnisse liefern kann.
      Ich finde ja schon den "über den Daumen gepeilten" Ansatz von Janda super aufwendig, aber der geht natürlich in eine sehr ähnliche Richtung, nur ist er eben nicht mathematisch exakt.


      Edit:
      ich habe jetzt freilich TT mit 100% Equity und 99 mit 0% Equity gesetzt (deswegen ja auch perfekt gebalanced) und die calling Range schlägt immer 99 und verliert immer gegen TT - wenn wir die echte Equity der Hände nehmen und berechnen am Turn, da es ja noch ein FH geben kann, usw. ändert sich alles und es sprengt jeden Rahmen^^
    • mnl1337
      mnl1337
      Coach
      Coach
      Dabei seit: 13.01.2008 Beiträge: 15.462
      also auf den highstakes sind die ranges in vielen standardspots imo schon sehr gut gebalancet, nur weichen die leute oft exploitive davon ab.
      und das was du im edit schreibst, will thorsten berechnen
    • Thorsten77
      Thorsten77
      Black
      Dabei seit: 28.05.2006 Beiträge: 12.896
      Das Beispiel ist obviously trivial und dient mir nur dazu mal zu sehen ob ein sinnvolles Resultat herauskommt. Das Problem was ich an den ganzen GTO Diskussionen/Buechern sehe ist genau das i.d.R. nur triviale Beispiele verwendet werden. In der Praxis hat das dann nur sehr bedingte relevant. Interessant wird es dann wenn:
      1. wir multiple streets haben (multi-street games)
      2. equity shifts auf den unterschiedlichen streets haben (non-static)
      3. weitere/realistische ranges betrachten wo es so gut wie nie eine klare Abgrenzung zwischen nuts or air existiert.

      Entsprechend ist das vorgestellte Beispiel ein erster Schritt in die Richtung der praxisrelevanten Realisierung. Das Ziel soll wie gesagt sein, dass man Berechnungen durchfuehren kann die die obigen 3 Bedingungen erfuellen und dann wird es - selbst wenn der PC dann 1 Tag rechnen muss - extrem praxisrelevant, da man sich fuer Standardspots eben detailliert anschauen kann auf welchen Boardtexturen welche Strategie optimal ist, in abhaengigkeit von faktoren wie equity vs villains range, equity distribution, likelyhood of strong equity shifts, etc.
    • Scooop
      Scooop
      Bronze
      Dabei seit: 26.03.2009 Beiträge: 22.773
      die Idee habe ich schon verstanden, ich sehe nur einfach nicht wie du das in die Praxis umsetzen willst.

      Nimm nur als einen Stolperstein von vielen das Thema bet- und raisesizing.
      Alleine hier müsstest du für jeden denkbaren spot berechnen was sich ändert, wenn du statt x% des Pots (x+y)% des Pots setzt und dann wiederum was passiert, wenn Villain dagegen z% raist, usw. - schon damit hast du quasi unendlich viele Möglichkeiten die es zu bedenken/berechnen gilt und dein GTO Programm rechnet nicht einen Tag an einem spot, sondern deutlich zu lange um mit dem Ergebnis noch was innerhalb der Lebenszeit anfangen zu können;)
    • mnl1337
      mnl1337
      Coach
      Coach
      Dabei seit: 13.01.2008 Beiträge: 15.462
      man kann halt einige raise/betsizes definieren. oder sogar raises aussschließen wenn villain zb capped ist.
      das es alles nicht einfach ist, ist ja klar, daher will man dran arbeiten
    • Scooop
      Scooop
      Bronze
      Dabei seit: 26.03.2009 Beiträge: 22.773
      nee das geht nicht^^

      Entweder man rechnet wirklich mathematisch GTO aus für eine Situation oder man lässt es bleiben^^

      Wenn man mit sinnvollen Näherungen operieren will, dann reicht imo der Ansatz von Janda bei dem man schlicht schaut wie oft man eine Valuehand am River hat die man betten will und daraus dann rückwirkend die Frequenzen für River, Turn und Flop berechnet.
      Mit diesen Frequenzen im Kopf kann man dann je nach Board seine Ranges zusammenstellen, inkl. sinnvoller Anpassungen je nachdem wie drawlastig die Range ist und wie stark die draws sind, usw.
      Das ist so nah an GTO dran wie man es meiner Meinung nach mit heutigen Mitteln erreichen kann, auch wenn es sicher vom echten GTO in einigen spots ziemlich weit entfernt sein wird...

      Aber echtes GTO ist halt nicht zu berechnen und das nichtmal für den scheinbar einfachen Fall wo man 2 fixe Ranges hat, da die Komplexität des spots alles bei weitem übersteigt was man berechnen kann.
    • Thorsten77
      Thorsten77
      Black
      Dabei seit: 28.05.2006 Beiträge: 12.896
      Ein komplett unabstracted game kann man nicht berechnen, das ist klar. Aber Deine Aussage "entweder alles oder nichts" macht fuer mich keinen Sinn. Insbesondere wenn Du Janda's Buch verwendest, dass eine sehr sehr abstrakte GTO Sicht vermittelt widersprichst Du Dir selber ;)
      Ich wuerde mal davon ausgehen dass 95+% der Bets/Raises standardgroessen sind. Sprich Du kannst in einem abstracten Game einfach betsizes wie 33%/50%/66%/80%/100%/125%/150%/200%/AI zulassen und wirst kaum eine grosse Abweichung erhalten; insbesondere da die meisten betsizes wohl in der final berechneten Strategie keine Rolle spielen werden.
      Selbst wenn es am Ende eine kleine Abweichung zum unabstracted game gibt (was nicht zu ermitteln ist weil wir dieses halt nicht berechnen koennen), so bin ich mir sicher dass das Resultat weitaus besser sein wird (sprich weniger exploitable) als mit irgendeiner Heuristik, sofern es nicht um sehr simple Spots wie einem River game geht, sondern z.B. um groessere Ranges mit einem Flop wo beide etwas hitten und eine Menge Potential bzgl der Veraenderung der Handstaerken vorhanden ist.

      Edit: noch eins zu: "dann reicht imo der Ansatz von Janda bei dem man schlicht schaut wie oft man eine Valuehand am River hat die man betten will und daraus dann rückwirkend die Frequenzen für River, Turn und Flop berechnet." - das klingt sehr trivial, ist wenn man es manuell macht (wieder einmal mit groesseren Ranges/wet boards) alles andere als einfach wenn man ein nicht allzu trockenes board hat und wissen will wie man den Flop spielt. Fakt ist halt dass Du am Flop noch nicht weisst wie deine finalen Handstaerken sind und genau dass kann man sich eben berechnen lassen anstatt 49*48 unterschiedliche Runouts durchzugehen, die gegnerische Range zu definieren, etc.
    • lnternet
      lnternet
      Bronze
      Dabei seit: 19.06.2012 Beiträge: 782
      Für deine Rechnungen oben, hast du da eine Poker library verwendet? Oder hast du per hand TT > KQ eingegeben? Verstehe nicht warum du dem P2 verschiedene bluffcatcher gegeben hast, ist ja alles die gleiche Hand an der Stelle.

      Janda's Zeug hat wenig mit GTO zu tun ja.

      Kannst mal hier in die Spoiler schauen, da ist ein Ansatz von 2-street GTO zu finden http://de.pokerstrategy.com/strategy/bss/2317/1/

      Für das eigentlich Problem, Flop Ranges bestimmen, gibt es leider, oder zum Glück, nix.

      Willkommen im citro-bot projekt.
    • Thorsten77
      Thorsten77
      Black
      Dabei seit: 28.05.2006 Beiträge: 12.896
      Original von lnternet
      Für deine Rechnungen oben, hast du da eine Poker library verwendet? Oder hast du per hand TT > KQ eingegeben? Verstehe nicht warum du dem P2 verschiedene bluffcatcher gegeben hast, ist ja alles die gleiche Hand an der Stelle.
      Nein, die equities werden alle exakt berechnet. Das P2 unterschiedliche Bluffcatcher hat ist nicht von Bedeutung; ich habe hier nur Anfangs Ranges haben wollen, die exakt 10 Kombos enthalten, damit ich es besser manuell durchrechnen kann ;)

      Kannst mal hier in die Spoiler schauen, da ist ein Ansatz von 2-street GTO zu finden http://de.pokerstrategy.com/strategy/bss/2317/1/
      Für das eigentlich Problem, Flop Ranges bestimmen, gibt es leider, oder zum Glück, nix.
      Thanks, das erste Beispiel ist perfekt zum Testen.
    • BlueRondo
      BlueRondo
      Bronze
      Dabei seit: 21.05.2006 Beiträge: 103
      Was ich an der Lösung zu deinem Toy Game nicht verstehe ist, dass P1 nur eine Kombination TT shoved und der Rest checked. Auch verstehe ich die Prozentzahl in der ersten Kolonne nicht. Was bedeutet sie?

      Im Grunde genommen ist dein Toy Game nichts anderes als ein Half-Street Clarevoyant Game mit Range Distribution 1/2 Winning zu 1/2 Loosing wie aus MoP. Ein Paar von GTO Strategien müsste also sein (gegeben, dass beide Spieler Potsize left haben):
      P1: Bettet TT zu 100%, Bettet 99 zu 50% (um P2 indifferent zum Callen zu machen)
      P2: Callt 50% der Fälle (egal mit welcher Hand, alle gleichwertig)

      Kann es sein, dass du ein weiteres Nash-Gleichgewicht gefunden hast? Der Wert des Spiels sollte aber unverändert bleiben.

      Zum Thema Non-static multi-street games: Add mich mal als Friend, würde gerne ein paar Sachen privat besprechen.
    • Thorsten77
      Thorsten77
      Black
      Dabei seit: 28.05.2006 Beiträge: 12.896
      Die von Dir beschriebene Strategie ist genau das Ergebnis, ich glaube das Problem ist nur das Layout (im ersten Eintrag ist ein Tab zuviel, aber generell ist die erste Zahl check%, die zweite all-in% fuer P1 und kommt genau raus dass er alle TT und 50% 99 shovt).
    • LordHelmchen
      LordHelmchen
      Black
      Dabei seit: 08.09.2006 Beiträge: 765
      Hab dir vor ein paar Tagen ne Skype-Anfrage geschickt. Vielleicht kann ich dir helfen (und bin natürlich auch an den Ergebnissen interessiert ;-))
    • Thorsten77
      Thorsten77
      Black
      Dabei seit: 28.05.2006 Beiträge: 12.896
      Hi, kann gut sein dass ich den Request einfach weggeklickt habe da mir der Name nichts gesagt hat. Schick mir am besten Deinen Skype-Namen via PM und ich adde Dich :)
    • wild5tyle
      wild5tyle
      Bronze
      Dabei seit: 20.06.2012 Beiträge: 201
      Original von lnternet

      Willkommen im citro-bot projekt.
      Worum geht's da ?