Sunday, March 1, 2015

The GTORB Flop Solution Library is coming!







We’re happy to announce the upcoming release of the GTORB Flop Solution Library which we're hoping to 
release a week from Friday (March 13th).  Here’s a breakdown of how it works:
  • 100+ (and growing) precomputed, instantly browseable, high-quality flop calcs.  These calcs are tagged by game type and are fully searchable so that you can quickly find solutions that apply to specific real world conditions from your games.
  • Discussion threads and up/down voting on each flop calc so the GTORB community can help you find and understand our best content.
  • We’ll continue to add solutions to the library driven by your requests.  Tell us what you want to learn about and we’ll add it!

Be sure to comment below with your thoughts and what you’d like to see in the library.

We’re also working on more GTORB Strategy Packs which combine precomputed flop calcs with video and mathematical analysis.  Our first pack on Flop C-bet Defense is enormously popular so we’ll be following it up with a pack on in and out of position post-flop play in 3-bet pots very soon!

GTORB Flop Solution Library pricing is still being determined but we plan to automatically add free library access to all GTORB Turn licenses.

Friday, February 13, 2015

GTO Flop c-bet defense strategy pack is now available in the GTO Dojo

I've been working very hard on adding to the GTO Dojo and the first big step came today.  I just released my first strategy pack, which explores optimal defense frequencies / ranges OOP against c-bets on the flop.  The main goal is to understand how defense frequencies vary across board textures, how relevant (or not) models like 1-alpha defense and the [0,1] game are to C-bet defense and how we can use actual real-world GTO solutions to win more money in these spots.

While the theoretical analysis should be largely applicable across game types, the strategy pack focuses on single raised pots with 6-max cash stacks/ranges and includes 12 fully browseable GTORB flop solutions.

You can browse strategies for both the in-position c-bettor and the out of position defender on the flop and on every possible turn / river situation/runout across seven different boards / bet sizes / game trees.  The pack also includes about 90 minutes of video commentary, and a few pages of mathematical notes and calculations.

I've put the first ~8 minutes of the video up on youtube for free, you can check it out below, the entire pack is available in the GTO Dojo.






This is my first time releasing a pack like this so definitely let me know what you think!

Tuesday, February 3, 2015

Verifying a GTORangeBuilder Flop Solution with CREV

As I showed in my Epsilon equilibrium blog post, simple turn and river GTO strategies are generally quite easy to verify with CREV using the standard epsilon distance measurement.

However, it turns out that flop solutions with real world hand ranges are too far too big to actually enter into CREV.  In the video below I demonstrate how to verify an individual slice of GTORB flop solution using CREV and also offer a sneak peak of a fully browseable GTORB flop solution (a GTORB turn license is required to view it).  The CREV file is also below.





Here is the GTORB Solution from the video:





And here is the CREV file download:
https://s3.amazonaws.com/GTOBlogData/25bb+3bet+KT7r+bet+call+from+flop.stx

Saturday, December 13, 2014

GTO Brainteaser #9 Solution -- Multistreet Theory: Range Building with Draws

I'm going to present the solution to GTO Brainteaser #9 without restating the problem, so if you are not familiar with the problem statement please read the brainteaser before continuing on to the solution.  This problem, with 160 chip stacks, is solved in depth in my latest CardRunners video so for a detailed solution definitely check out the video.  The 160 chip stack version is a bit more interesting for those of you who are curious.

This game turns out to have concrete testable predictions about how we should optimize our turn play in real world scenarios which I go through in detail in the upcoming part 3 of my CardRunners series on multi-street theory.


Computational Solution



Of course GTORangeBuilder can just solve this brainteaser numerically for us.  I will go through a pencil and paper solution as well to illustrate the concepts and mathematics required to solve these types of problems, but since the pencil and paper solution is reasonably complex I'll give a solution summary and a browseable GTORB solution before I get into the nitty gritty of the analytic solution.




I'm only going to provide an analytic solution of the game where we do not pay the villain $3 to check so that we can see that it is actually optimal for him to lead for $50 against us.  Calculating GTO strategies for the variations of the game (where our opponent is forced to check) can be done using the exact same techniques.

Solution Summary


  1. It is +EV to pay your opponent $3 to check, optimal play for the villain is to always lead the turn for half pot and this significantly increases his EV
  2. This game is more than double the EV for the villain than the game where the hero's range is half nuts, half air, even though his turn equity is only a few % higher.
  3. The hero's EV is higher here when he holds 1/3rd straight draws and 1/3rd flush draws than when he holds 2/3rds flush draws and no straight draws, even though flush draws are stronger hands.
  4. It is optimal for us to jam our strongest draws some of the time and call the rest.  150 chips is the exact break-even point where calling and folding a flush draw are equal EV, if stacks are any deeper it is +EV to shove/call a flush draw and we should mix between the two.
At first, the idea that the villain should bet his merged range into his opponents polarized range might be quite surprising.  The reason for this is that while the villain is facing a somewhat polarized range on the turn, he is facing an even more polarized range on the river and by leading the turn he takes control of the pot size, rather than letting his opponent build the pot with a perfectly balanced range.  It turns out that even if the villain were the check the turn, check jamming is higher EV than check calling.  

In general, it often is GTO to get all the money in on the turn in situations where the river will put you at such an informational disadvantage that you won't be able to realize your equity.

The basic issue for the villain is that his informational disadvantage greatly increases on the river.  This is due to the fact that on the turn the hero's straight draws and flush draws and roughly equivalent hands, so the informational advantage that the hero has by knowing his own hand, rather than just his range is minor, whereas on flush or straight runouts, these two hands become polarized, greatly increasing the value of knowing which specific hand of the two the hero holds.


Mathematical Solution



To solve multistreet games like this will need to use backwards inductive techniques like what we used in the solution to GTO Brainteaser #6.

In this case what we will do is start by considering each of the OOP villain players 3 options for his first action and assessing their EVs when both players play GTO from that point forward.

The villains simplest option is to shove.  In this case optimal play for the hero is to call with the nuts and fold the rest of his range.

Since the hero has the nuts 1/3rd of the time and the villains equity vs the nuts is 0, from the villains perspective the EV of this option is 1/3 * -150 + 2/3 * 100 = 50/3.

Next lets consider what happens if the villain bets $50.  The hero can react by calling, folding or shoving?  How can he optimally split his range between these three options?  Lets start by examining what the hero should do with the nuts as that drives the rest of the strategy.

Clearly folding the nuts is a bad plan so the question is, is our EV higher with a shove or with a call?

Against a shove, the villain must call enough to make us indifferent between shoving and the highest EV of calling or folding of our potential bluffs.

Since a flush draw simply has more outs than a straight draw, it should be the higher EV hand both as a shove and as a call and thus we can conclude the villain must call a shove such that we are indifferent between jamming our FD and calling it or folding it (whichever of those two is higher EV).

At this point we're going to guess that jamming the nuts is optimal, which is easily checked as a final step.  Intuitively jamming the nuts seems like a good guess as intuitively villain should have to call a turn jam more than a river $100 bet, as our bluffs have equity on the turn so we can jam more air.

So given that we are jamming the nuts, over a $50 lead we just need to figure out how to optimally allocate or flush and straight draws between calling, folding and jamming.

Lets consider what kind of range of range it might make sense to call with.  First intuitive we can note that if we are calling with some flush draws, we should always call with some straight draws also.  Why?

Suppose we call with x% of our flush draws.  If we then call with y% of our straight draws and y = x/3 we can jam our entire range whenever a flush completes and our opponent's EV will be 0 because he will be calling 100 to win 300 so we want 1 bluff for every 3 value bets.  As long as our range doesn't have too high a frequnecy of straight draws, our straight draw effectively whenever a flush or a straight completes because we can bluff shove them whenever the flush completes.

Similarly, by having both flush draws and straight draws in our calling range we can bluff some of our flush draws whenever a straight completes, further increasing our EV.  Having both of these diverse draws that hit on different runouts increases our EV with both drawing hands by ensuring that our range nicely polarized on a variety of river cards, they have a lot of synergy.

So what are the optimal relative frequencies for calling with our flush draws and straight draws?  If y > x/3, we are no longer able to usefully turn our straight draws into bluffs so their value goes way down.  Optimal play requires that y = x/3 exactly.

What is the EV of calling a river bet with a range where y = x/3, that is it is exactly 3/4 flush draws and 1/4 straight draws?

Given our opponents hand there are 46 possible river cards.

7 complete our flush
6 complete our straight
2 complete both
31 are blank

Of those 31 blanks, our range blocks 2 of them 3/4 of the time and 2 of them 1/4th of the time, and 27 of them never, so effectively given the blockers from our range, there are 27 + 2 * 1/4 + 2 * 3/4 = 29 blanks

When our flush completes or both draws complete, our EV is the entire pot (minus the $50 we contributed to it) since we will bet and our opponent will just fold, so 150.

When the straight completes, we will bet our straights draws plus enough of our missed flush draws to make our nuts to air ratio 3 to 1, which means we will bet 1/3rd of the time and our ev will be the pot.  So our EV in this case is 200 * 1/3 - 50.

When a blank comes our EV is just -50 since we always have to check fold.

As it turns out

(9 * 150 + 6 * (200 * 1/3 - 50) + 29 * -50) / 44 = 0

Calling with a balanced range of draws is exactly EV 0, which means we will be indifferent between calling, folding and shoving.  Note that this is specifically due to the stack sizes.  If the effective stacks were $151, the EV of calling with this range would be greater than 0 and we would never want to fold a flush draw, and if stacks were $149 we'd never want to call with a flush draw.

Furthermore, if we look at the hand specific EVs, they are both 0.  With a flush draw, we hit our draw more often, but we can't bluff it as effectively when it misses and the other draw completes.  Of course as soon as stacks get any deeper our EV for calling with a flush draw will become positive.

Now that we know the EV of calling with a FD and a straight draw is 0 so long as y = x/3, we can note that shoving a flush draw is always going to be better than shoving a straight draw, due to the slightly higher equity when called.

We should shove our flush draws such that our opponents EV for calling against our range of nuts + flush draws is equal to the EV of folding, -50.  Call f how often we shove a flush draw, which has equity e when called.  In this case e = 0.205

EV[call shove] = -150 * 1 / (1 + f) + f / ( 1 + f ) * (-150 * e + 250 * (1-e))
EV[fold to shove] = -50

These are equal when f = 0.4587.  (wolfram alpha)

Now in this special case where the stacks are exactly $150 what we do with the rest of our range doesn't effect our EV.  However, note that we assumed shoving the nuts was our highest EV option.  Were we to try something else (say calling) with the nuts, we'd want to have enough bluffs on the river to maxmize our EV with the nuts, so I will consider the case where we call with all of the flush draws that we don't shove, although as we will see the strategies that folds some or all of the flush draws that aren't shoved are all also GTO.

It is easy to now directly calculate the EV of calling with the nuts and it turns out that it is significantly lower than the EV of jamming, I won't show that calculation here so as to keep this post short(ish).

Now that we've worked out the GTO response to a villain lead of 50 chips, we need to actually determine the EV of leading for the villain.  Because the hero EV when he calls and folds is 0, and the villains EV when the hero shoves is -50, the EV is just

-50 * ((1+ f) / 3)  + 100 ((2 - f)/3) = 27.08.

Computing the EV of checking for the villain can be done in the exact same fashion, but as we can see from the GTORB solution it is much lower EV for the villain to check.

I encourage you guys to experiment with the mathematical techniques above and to work out the checking EV on your own, but as it turns out leading is optimal for the villain and thus his EV in this game is 27.08.











Friday, December 5, 2014

GTORB Flop Sneak Preview -- 3 Street Barreling Game

As most of you know I've been working on getting GTORangeBuilder ready to solve flop scenarios. I still have a ways to go before the flop solver is ready for public release but I thought I'd share a sneak peek of a very simple solution to a 3 street version of the bluffing game that we looked at in GTO Brainteaser #8.

As it turns out we'll need to look at a smaller bet size than we did in brainteaser #8, as with three half pot bets left against a 50% nuts 50% air range the villain actually cannot profitably ever call and the hero can take the entire pot so its not a very interesting example.  Instead we'll look at a smaller bet stack size.
  1. You are on the flop and the board is  AsAhKs
  2. The hero has hand range of AcAd and 3c2c
  3. The villain has a hand range of KcKh
  4. The pot is 100 chips and stacks are 154.8 chips (exactly enough to 3-barrel 30% pot)
  5. The hero can either bet 30% of the pot or shove on every street
Thus as the hero, half of our range is the pure nuts and the other half is almost pure air (we split the pot on runner runner aces).  A browseable GTORangeBuilder solution is at the bottom of the post so if the math doesn't interest you, just scroll down.  The main takeaways will come as no surprise if you understand the two street game.  Each additional street just makes it more and more difficult for the villain to get to showdown, driving his EV down.


Mathematical Solution



I'll go through the mathematical solution to this a bit quickly.  In practice it is important to check for pure strategy solutions, rather than just assuming indifference but to keep this example simple I will skip that step. 

Assume the villain plays a mixed strategy and calls some of the time on all streets except that
  1. When the turn or river is an Ace he shoves because he knows the hero has air
  2. When the turn or river is 3c or 2c he folds because he knows his opponent holds the nuts
We'll also assume that it is optimal for our hero to play a mixed strategy between betting and check/folding with his air on all streets, except that when an Ace comes he will check/fold because his hand is now face up.

Finally we will assume that the hero always bets the nuts.

If the hero is mixing between checking and betting air and never checks the nuts then his EV when he checks air is 0.  So his EV when he bets air must also be zero, and his EV with air on all streets must be 0 minus however much he put into the pot on prior streets.

This means that for all streets the villain needs to call to make him indifference between betting and folding so if we call c the probability that the villain calls a 30% pot bet

(1-c) * 1 - .3 * c = 0

So c = 1/1.3 = .769.

That is the villains calling frequency on all streets against a 30% pot bet.  Of course as we saw in the solution to brainteaser 8 the hero should never jam as he is then not able to compound the nuts over multiple street and maximize fold equity.

What about the hero?  To make the villain indifferent between calling and folding to a bet, on a blank river after the flop and turn when bet/call he should bet a range that is .3/1.3 nuts to air according to the mathematics of poker.  

On a blank turn what is the villains EV for calling assuming he plays his GTO on the river?  We'll split it into two cases, the case where his opponent holds air and the case where his opponent holds the nuts.  Everything is written in terms of turn pots.

He always loses the .3 pot turn bet he calls and then on blank rivers (which come 42/44) he loses another .3 of the 1.6 river pot when he calls a river bet (which he does 1/1.3).

EV[call vs nuts] = -.3 - (42/44 * .3 * 1.6 * 1 / 1.3)

Against air his opponents EV is always 0 so he wins the pot plus the .3 bet

EV[call vs air] = 1.3

Call x the percent of the hero's blank turn betting range that is the nuts.  The villain is indifferent between calling and folding when

x * EV[call vs nuts] + (1-x) * EV[call vs air] = 0

Plugging this into wolfram alpha tells us that x should be .665.

Finally we can reproduce the exact same method of indifference calculation to determine the optimal flop betting frequency.  Rewriting the call EV equations from above on the flop is easy, they are almost identical, except that when both the turn and the river come blank the villain will call a 3rd value bet 1/1.3.  The EVs below are written in terms of flop pots.

EV[call vs nuts] = -.3 - (43/45 * 1/1.3 * (.3 * 1.6  + 42/44 * .3 * 2.56 * 1/1.3))
EV[call vs air] = 1.3

EV[call vs nuts] = -.5 - (43/45 * 1/1.5 * (.5 * 2  + 42/44 * .5 * 4 * 1/1.5))
EV[call vs air] = 1.5

Resolving x * EV[call vs nuts] + (1-x) * EV[call vs air] = 0 gives us

x = .549 according to wolfram alpha.

So how often should the hero bluff his air on the flop?  Since he is always betting his nuts and his range should be .549 nuts, he should bet his air with frequency a such that 1/(1+a) = .549, or a = .821.

Then on the turn his starting range is .549 nuts and he wants to bet a range that is .665 nuts.  Thus he should bet air with a frequency that solves .549 / (.549 + a * (1-.549)) = .665 or a = .6132.

Then on the river the hero's betting range should be 1.3/1.6 = .8125 nuts so the hero should bet with his air with a frquency that solves .665 / (.665 + a * (1-.665)) = .8125 or a = 0.458

Finally what is the EV for the game?  Since the villain's EV for calling a flop bet is zero, he only gets EV when the hero checks the flop in which case he wins the whole pot since the hero always has air.

The hero checks the flop with air 1 - .821 = .179 and the hero holds air half the time so his EV will be .179 / 2 * 100 = 8.95 chips, while the hero's EV will be 91.05.

That's our mathematical solution, you can see how it matches GTORangeBuilders computational solution below.

GTORangeBuilder Computational Solution



Wednesday, November 26, 2014

Epsilon Equilibrium: How You Can Separate GTO Fact from Fiction

It turns out that any reasonably motivated player, armed with CREV can measure how close to GTO a strategy is, even in spots where actual GTO play is not known by employing a game theory concept called an Epsilon Equilibrium.  Epsilon equilibrium let us measure exactly how near to GTO strategies are and is a standard game theoretic technique that is used to compare the quality of various strategies.

See my latest videos below to learn more about how to compute epsilon equilibrium and why they are important.  This will also be a major topic in my upcoming Cardrunners video on Multistreet Theory and Practice.






Monday, November 17, 2014

Improving your turn play with GTO -- Check raising vs leading on the turn

Today I'm going to get into a practical example of how to use GTO theory and GTORangeBuilder to directly improve your play in a common real world situation that many players struggle with.  Usually I tend to keep my blog posts more purely focused on theory, but I've gotten a number of requests for a more practical post that more directly mirrors what I work with my students on during coaching sessions.

For the actual analysis I decided a video demo would be the most instructive, see below.  You can browse the solution that is discussed in the video here: http://gtorangebuilder.com/#share