There are limitations to the level of poker expertise achievable by humans. You can’t just study game theory optimal solutions and hope the strategy “sinks in.” Studying and trying to memorize lines in exact scenarios in a big stack, big bet, complex game tree is a futile task. So much is counter-intuitive and you are memorizing countless strings of two-digit integer percentages or fractions which repeat due to the rules of the bet and raise sizes of the game tree it was built on (i.e. bet 2/3 of the pot 2/3 of the time or raise 3/4 pot 1/2 of the time or fold 10% of the time, call 66%, raise 24%). It is way outside of the bounds of capabilities of even the best human memories.
RTA Beginnings
Real-time assistance began about twenty years ago alongside online poker. Static basic pre-flop charts were printed out from book recommendations, put next to your laptop, and this was and still is permitted “real-time assistance.” Then charts such as Jennifear’s chart were created which is a push-fold MTT chart for different stack sizes. While simple pre-flop charts are allowed to be referenced during play, this and others were deemed too complex and even today are still not permitted to use during play.
But who’s to say that Jennifear’s chart is not memorizable? It’s absolutely memorizable with practice. Just divide it into many tiny memorization projects and look for patterns to help with the memorization (i.e. the push ranges gradually increase and decrease in a step-like fashion).
So if I have the above “chart” open while playing, I’m using RTA which is arguably the most serious offense in game integrity. If one memorizes it or at least most of it, are they in the clear with regards to game integrity?
Yes.
More RTA Dilemmas
A similar problem arises within the micro-stack hyper three-handed jackpot tournaments many sites run at very high stakes and not coincidentally, high rake. The game tree is complex for sure but within a few minutes everyone has ~10bb stacks and most of the solutions are just a more accurate solution than Jennifear presented many years ago. Specifically, instead of “definite” plays to make, there is a mixture of actions to take a certain percentage of the time which is much closer to game-theory optimal strategy.
For example, when in big blind three-handed, and small blind open raises, a large portion of the 169 hands will be folded with the top of the folding range three-betting a certain percentage of the time. It’s a lot more to memorize than Jennifear’s charts with all the blocks. However, we are just attaching percentages (or fractions) to certain actions, and there are only three positions compared to Jennifear’s eight. It’s generally a min-raise, push/fold three-bet solution.
Every once in a while there is a flop decision to make but often we are priced in or the solution is very intuitive to humans. These percentages can become ingrained over time or they can be memorized over the course of a month or two. You can use mnemonics, number and card memory systems such as Harry Lorraine’s, or the classic memory trick of looking at something until you know it well enough to recall it (rote memorization). Have a new chart on your phone home screen each week to help you commit it to memory. It’s a lot but even if one doesn’t know it perfect, they’ll know it enough so that using an RTA is indistinguishable from not.
Why is this game format viable? With 6-8%+ rake per player and tournaments over so quickly, the margins are often higher than sports book and casino verticals. It is my opinion that the GTO solution in this format will approximately break-even against an 8% rake unless you are consistently playing players who are new to poker. Currently, the market is saturated with players who simply have great memories (that they worked hard to develop to comply with game integrity) or good enough memories to use RTA and prove if tested that they can play without it. It is probably the most popular format for casual poker players. However, they are invariably enticed by low stakes (to hit a big jackpot multiplier) rather than actually trying to beat the format which would attract higher stakes new players. The lowest stakes of course have the highest rakes.
Big Data and Big Bet RTAs
At the highest levels, Game Integrity is Big Data. This is especially due to pot-limit Omaha and the complexities of solving game trees of this format. PLO is so complicated that it currently can not be solved without an abstraction technique such as “bucketing” in which groups of statically similar pre and post-flop situations are grouped together to simplify game trees and reduce computational power needed. MonkerSolver, arguably the best solver on the market, can solve NL and PLO for ε-Nash equilibrium which for all intents and purposes is game-theory optimal. It can handle any number of players from two to ten, any stack sizes, multiway on every street, factor in rake and antes, any bet sizing including limit betting structure, 0/8 for Omaha, ICM calculations, and that just scratches the surface.
MonkerSolver requires a license which anyone can purchase, but can not be run on most laptops since the standard laptops these days have about 8GB RAM. MonkerSolver likes closer to 512GB RAM (or at least 256GB RAM). One would have to rent a server out for around $3K/yr or figure out a way to get more RAM on your home machine.
Bucketing
Every PLO player does bucketing in one form or another. For example, I can not focus on the 16,432 starting hands since that would be ridiculous. In my opinion, there are only ten hands in PLO:
Pairs that deserve their own bucket
AAxx
KKxx
13 nut-out wrap producers
456x-QKAx
356x-JKAx
346x-JQAx
17 out wrap producers
256x-9QKx
246x-9JKx
236x-9TKx
Double suited hands not of the above structures
All other hands
Introduction to JavaScript
JavaScript is the universal front-end language which in conjunction with HTML and CSS allows you to see what you are seeing right now. When you click on anything and the page you are on “disappears” and a new page “re-appears”, you just witnessed JavaScript in action. A clickable function was executed setting the display of your current page to “none” and the next HTML page is brought up. The “page” in the case of RTAs will likely be an extensive chart with colorful pie graphs thanks to the styling of CSS.
JavaScript is the easiest way to create an RTA forest. Think about how many posts there are on Two Plus Two with no slowdown or lag despite millions of static HTML pages and users. That’s because the data is so lightweight compared to something like a storing a movie. Basically, everything becomes a “button” that you can click with your non-dominant hand to drill up or down the branches of your game trees.
Here’s an example of a game tree drill down.
Position
10 starting hands buckets
10 buckets within each bucket narrowing down the closest starting hand dealt
First-in vs. facing a raise
Mixed pre-flop solutions displayed in colorful pie graph clickable button form
10 flop buckets
10 buckets within each bucket narrowing down how hard we hit the flop
Mixed solutions displayed to possible flop reactions
13 buckets of turn ranks that can hit
Flush drill downs
Etc
Call Branch
The “call” branch is arguably the most common and profitable PLO heads-up scenario. It involves our opponent calling rather than three-betting our pre-flop raise. Then, on the flop and the turn, there is always a check rather than a donk-bet and a call rather than a check-raise. This is a very common HU PLO branch we all end up in regardless of our position or level of skill.
Let’s start with 2256 in position heads-up PLO with 100bb effective stacks. It’s hard to find a spot to play ducks in PLO but here’s a great spot with potential for a 16-card wrap. Plus it’s 6th on my “bucket” list.
This hand is a fold if it’s a rainbow. Why? I solved it in MonkerSolver and it’s a fold 100%.
Double-suited is a full 3x raise 100% of the time. Why? See above.
Anything else is a full raise 90% of the time and a fold 10%.
It should be noted that 100% of re-raises (three-bets) should be called and no four-bets are in the solution. Don’t forget to fold it pre-flop in position 10% of the time or else everything moving forward gets messed up. You will need a random number generator.
Math.ceil(Math.random () * 100)
Copy above, then press F12 or control+shift+I (command+option+ I for Mac) and paste it in the “console” box and hit enter. This is a JavaScript function which will give a random integer from 1-100. Ultimately, it will be executed on every page of every branch and displayed in whatever color and cute font of our choice.
Flop J34 (2 suits)
Villain checks by design. We hit a 16-out wrap with 10 nut-outs and this is a strong hit for sure but we should definitely bet 2/3 of pot 100% of time if we have any flush draw or blocker to a flush. If no flush draw or flush blockers, bet 2/3 of the pot 3/4 of time and check it back 1/4 of the time. Unless, of course, we want to play real poker and not use real time assistance.
Turn is the Ace
Bet pot 2/3 of the time and bet 1/2 pot 1/3 of the time. If we have a flush draw or blocker, increase the pot bet % similar to a heat index.
Turn is the Deuce
If we are in a flush-drought without even blockers, we will check 3/4 of the time and bet 2/3 of the pot 1/4 of the time.
If we have a flush blocker, we will check 9/10 of the time and bet 2/3 of the pot 1/10 of the time.
If we have a flush draw, we check it back 100%.
Ok, so not only can I access the above branch in real-time, I can access it off-line. I left out the sub-branches where the GTO strategy changes on the turn after a flop-check back, in addition to the sub-branches where a flush comes in and we either have it or not. This is one part of a call branch on one tree in an ever expanding forest. Bucketing and adjusting for the “wind” will allow trees to be able to be applicable to many situations. For example, with the above scenario you have to be able to adjust if the flop is K34 or 934 but we don’t have to design a new branch. 4478 will also have adjustments compared to 2256 that can be made on the fly. 77TJ is different as 7’s can spike a nut top set so we will have to create that branch to access in real time. 256T probably does not need a new branch since it hits similar as well.
Next month, I will expand on these ultra-dangerous big bet RTAs, explain why I have an RTA but do not play, discuss mitigation strategies one can use as a player, and offer solutions to this problem that unfortunately does not seem to be going away.