The poker world’s computer-related attention has been on the “Brains vs. Bot” match between the No Limit Hold’em Heads Up artificial intelligence program Libratus and four hapless human challengers named Dong Kim, Jimmy Chou, Daniel McAulay and Jason Les, but over at Advanced Poker Training, they’ve unveiled a little something of their own.
APT associated themselves with last year’s WSOP Main Event Champion Qui Nguyen back before the final table started, running simulations for PokerNews that predicted him winning the bracelet more than any of the other players (26 of 100 simulations), and providing him with on-the-rail advice during the final table as well as simulator training in the weeks before.
They ran a sale on a subscription during Thanksgiving week, and I signed up (always eager to improve my game). I’ve been planning to do a review of their training program (which I still intend to do, but the short version is, I think it’s well worth the price to see if it works for you) but this week they unleashed the QuiNguyen bot in their Final Table Trainer, and I wanted to give a little sample.
The Final Table Trainer is just what it sounds like, a single, nine-person table where you can select the level of skill of the other opponents (Nguyen only shows up in the Hardest level), whick of the two dozen or so advisors you want to use (and whether you want them to always be looking over your shoulder or only when you ask), and relative stack size. I was using Daylian Cain, which is a real name of a Yale professor of management and marketing—I don’t know how many there can be—and the prof’s Twitter account uses the same image APT has in their list of named players, but he’s described in his advisor bio as a “Deep Thinking. Loose Aggressive” player who charges as much as $1,600/hr. for poker coaching. So I figure I’m doing good right off the bat. At least if I take his advice.
So here’s the situation at the very beginning of the trainer. I have 300K at 5K/10K/1K. 30bb. I start in middle position. Action folds to me. Daylian’s advice is covering a player to my left with 24bb and the Mike Caro bot with 34bb. The small blind has only 9bb and ends up picking up the pot.
I raise my A♦8♦ to 3x (a little less than Daylian suggests, but then I think he’s more of a cash player). Jonathan Little calls from the small blind, then leads out for 18K—only 20% of the pot—on a flop of 2♥9♦J♣—and I fold.
Hand seven is a pair of sevens on the button. Doug Hull raises from under the gun and I call, along with Caro in the big blind. Hull opens for 30K on the T♦J♠2♣ flop and I fold (which is also Daylian’s suggestion).
Hand 14 I get 8♦T♦ in middle position with an unopened pot (the button is on Svetlana in Seat 9) and Daylian’s advice is to raise to 33K. I only have 22bb, though and though I’d typically play this deeper, I balk, and fold. Ditto for A♣7♣ on the next hand.
Hand 17 is my first run-in with Nguyen, but I’m fine with that because I have aces. I start with just over 20bb in the cutoff, action folds to Nguyen, who raises to 21K. I make a bet of about 1.5 times the pot and everyone folds.
I have threes and fours on the next two hands with unopened pots. Daylian suggested a fold with the former and raise with the latter, but I fold them both. On hand 29, I get the treys again. Nguyen opens for 23K and Daylian suggests a three-bet, but I fold. Four hands later it’s deuces under the gun plus one. Daylian says to open, but I don’t, with just 21bb and blinds coming up.
I open up with jacks in hand 36, and the big blind reraises to 84K. I shove (against advice), and Svetlana folds, which puts me back where I started.
My next hand, both Daylian and I agree that J♣9♣ can be raised to 30K, which gets through with no more action.
Daylian and I get along great until hand 60, folding pairs of fives and ragged aces, until I get The Butcher in the small blind. Calle Yang (“Tight, Aggressive Pro”) has gone all in for 11bb from late position and the only player after me (“Randy Malone”) has less than half my stack. A loss drops me down to 14bb, but I can’t lose more than that. I call against orders. Yang has Q♦9♠ and the board runs out Q♣8♣J♥8♠4♣ giving us both queens and eights with a jack so we chop.
I pick up K♥8♥ on the next hand (blinds are up to 7,500/15,000/1,500) and make what the program labels as a questionable fold to a 33K raise from Nguyen on the button. Daylian, at least, thinks I did the right thing.
Hand 66 I fold A♦3♦ in early position instead of opening to 51K (~20% of my stack). We’re still nine-handed, I have 16bb and there are four stacks with 6–10bb still to act behind me. No thank you.
I make a 3x raise in middle position with K♠J♠. Everyone’s still in, two short stacks have managed to chip up, and if you look to my right, you can see that the Qui Nguyen bot has the lead by nearly 150K. I take the blinds and antes. I get fours the next hand and again elect to fold rather than raise (Daylian’s suggestion.
Hand 77, Malone on my left shoves 100K and Yang re-shoves from the button for 122K. Both Yang and I fold our blinds (I have 5♦3♥. I don’t get to see theiir cards in the replay, but Yang wins. Six hands later, Old Man Caro is wiped out by Svetlana.
I fold my way down to 10bb by Hand 96 when I pick up a pair of tens. I’m the short stack on the seven-handed table and I open-shove from the cutoff despite advice to bet a third of my stack. Nobody calls and I’m still below my starting stack.
I have T♠A♥ on the next hand when the Nguyen-bot raises to 38K (627K behind). I shove for 189K (which the program labels “Interesting Bet — Preflop,” and pick up the pot.
I get a “Questionable Fold — Preflop” with a pair of fives on the button facing a raise to 32K from Yang on Hand 152. My Daylian says “Call” but my finger says “Fold.”
I shove T♥K♣ as second-to-act a few hands later where Daylian says the only thing to do is fold. But it works.
Hand 107. I’m on the button with 255K and A♦K♠. Little’s bot raises to 32K from the cutoff. He has 470K, second only to Nguyen (with 682K), and I push back. The advice is to raise to 93K, but I push my whole stack in (only 15bb or so) and get a fold.
Four hands later and it’s a suited ace. Here I just call the raise from Yang to 36K (advice is to fold) and get a flop if 5♣9♦4♣. Yang bets 44K and I fold.
On the big blind three hands on and Yang raises the button to 36K. I call with K♥8♥ and we see the flop of Q♣7♦A♠. I check and fold to Yang’s c-bet.
Action folds to me in the cutoff with Q♦8♦ and I shove 13bb. The button and small blind have more than I do but I have the big blind covered by three or four blinds. Daylian only recommends a raise.
I shove with A♦K♠ under-the-gun plus one on hand 119 and get folds all around. Nguyen is still in the lead (661K) but Yang’s taken 2nd (581K), with Little in third (442K).
Hand 123 is another “Interesting Bet — Preflop” (I do like how they don’t just say: “Bad.” Yang opens to 46K with the blinds at 10K/20K/2K, and I shove T♠A♥. I only have half Yang’s chips but the 3-bet gets a fold.
But I fold 4♥A♦ on the next hand even though the pot’s unopened and I’m in a later position than Yang. Why? Because I don’t plan on folding if I raise.
It’s hand 127 and I open to 60K under-the-gun with T♠T♥ and 250K behind. Everyone folds.
Hand 131 I open shove with 6♦6♠ in the cutoff and pick up the pot.
Hand 133 and I open to 60K with 9♠J♠. Daylian says 70K but I try to keep it simple. Folds around and I’m at 400K.
Hand 142 and I get A♦2♦ in the big blind. Everyone folds to Nguyen, and the bot raises to 48K. I call (agreeing with Daylian). The flop comes down 4♣Q♥J♥. Nguyen bets 46K and I fold with 304K left. Fourth of seven with all the smaller stacks in a line on my left (and the bigger stacks in a line on my right).
I ignore Daylian’s advice to raise T♣J♠ from the cutoff and fold hand 145. I shove A♥4♥ under-the-gun on Qui Nguyen’s big blind!. Ace-high like a boss!
I do not fold Q♥K♣ on hand 159 when Jonathan LIttle opens under-the-gun to 42K. No! I shove and everyone bows to my poker might!
Yang (still in second place to Nguyen with Little well behind) opens her button to 44K on my big blind with A♣J♦. I have less than 14bb and shove to pick up the pot.
182 hands in and I’m down to 11bb at 12.5K/25K/2.5K. I fold a pair of fours against advice to raise. Five hands later, it’s J♠Q♦ and I open with a shove to 11bb for a win.
I fold J♥K♦ from the small blind to a shove by one of the small stacks, then a pair of sixes on the button to another all in (and a call). I ignore advice to open for 3.5x (from a 9BB stack)with 7♦A♣ and shove instead. Yang calls with K♦Q♦ from the big blind, catching a Q♥ on the turn but losing when I get A♠ on the river. The double up puts me in a close third (with Nguyen still in the lead).
I fold J♥8♥ under-the-gun on the next hand, then Doug Hull is all in with the shortest stack (less than 5bb) on my big blind. Yang calls.
My advisor says to fold here. I feel that Yang’s is sheerly a position call, and Yang-bot has 14bb behind if it folds. I’ve got one of the strongest hands in Hold’em. I shove instead. Yang folds, the board runs out 2♠2♣Q♥Q♠6♠ and I become chip leader with six players remaining.
K♠7♠ in an unraised pot two hands later is advised as a raise, but I fold. Meanwhile, Nguyen has doubled up Little, who’s not in second place about 160K behind me.
Little moves up as I fold a series of hands, until hand 205, when he opens under-the-gun for a little over 2x and I push it from 58K to 140K with A♥Q♥ on the button. I have top pair/top kicker on the Q♠7♥5♥ flop—as well as the nut flush draw—and over-shove for my remaining 531K. Little-bot folds.
Q♣7♣ on the next hand, I fold against advice. Q♣T♣ on hand 207 and I open for 75K. Yang calls. The flop isn’t as quite as good as it was two hands ago, but 7♣5♣[6g] is reasonable. Yang checks from the big blind and I bet another 75K (less than the 120K recommended). Yang folds, and is now down under 12bb.
A♠A♣ on the next hand and I open for 75K. Everyone folds. Hand 208 and I am the first player to one million chips with Little the closest at half my stack and just six players remaining (including me).
I raise A♥T♠ in the next round as second-to-act, then Q♦9♦ under-the-gun. I fold a big blind 3♥A♠ to a raise and 3-bet, then 6♣5♣ in the small blind to a 60K open. Fold K♥J♣ on the button. with a Little open and Nguyen 3-bet.
My next big blind, both the short(est) stacks shove and I have A♠J♣ with no other players left to act. The program labels this as a “Questionable Call”, but with 800K and the chip lead even if I lose, I have to disagree. Even Daylian said to fold. And maybe they were right. as Lebedeva under the gun makes a set of deuces on the flop. Villegas has queens, but an ace on the turn eliminates him, and I pick up a side pot of 52K, though Lebedeva snaps up into the tight competition between second, third, and fourth place (less than 1bb separating the three of them).
On the button, I have T♥A♥ and 3-bet Yang to 250K (more than the 188K suggested), The flop is fantastic: 2♥8♥J♥, and the nut flush.
Yang bets 220K, leaving only 24K behind and I just call. A♦ on the turn, Yang puts in the last chips, I call with the nuts, and the river brings the 8♠ making a full house for Yang’s 2♦2♠. I really don’t see any way of avoiding that result; I’ve got the nuts on the flop and Yang’s committed with the set. The loss knocks me back to 366K (14bb) and fourth place on the table. Yang takes over the lead.
My next hand is 7♦4♦ and Kayllian suggests a raise to 83K. I fold. ON hand 230, I get an “Interesting Bet — Preflop” note. I’m in the big blind with T♦J♠. Under-the-gun opens to 55K. Nguyen calls from the small blind. I squeeze for 308K, less than either of the other two players, but for a significant portion of their stacks. I get two folds and move up close to third.
The Little-bot shoves on hand 231 and I go against advice to shove a pair of sizes from the small blind. Little has 7♣A♠ and misses the 9♠4♥2♥9♥3♥ board. I almost get a straight flush. Down to four, but more importantly, I’m in second place.
Q♥Q♣ on the next hand and Nguyen opens to 63K. I go a bit beyond the recommendation and put in almost half my stack for a 325K 3-bet. Everyone folds and I have over 800K again. I raise to 75K with A♦5♦ on the next hand and take the blinds and antes.
Nguyen raises my big blind (4♥3♠) and I fold. Yang opens to 63K on my small and I fold 8♣A♠: there’s going to be a lot of this coming up.
Nguyen-bot raises under-the-gun and I 3-bet him again to 265K, with A♣Q♠. This time he calls, the flop is K♠6♠7♥, he checks to me and I bet 300K (with just 247K behind). He only has 259K and calls with A♥J♦, then gets lucky as the turn is 7♠ and river is 6♦. We split the pot.
I fold T♣9♠ (advice is to raise to 85K), then squeeze over a 63K raise from Lebdeva and call from Nguyen. I have both of them covered, and they both fold. The win puts me back in the lead by all of 20K.
I raise the small blind to 90K as the blind level goes up to 15K/30K/3K, Lebedeva folds the big blind and I’m back to a million.
Waylian recommends a fold of my A♥7♣ under the gun, but I raise to 90K. Lebedeva—the current short stack—shoves 232K and everyone folds.
Yang opens to 66K next, and I 3-bet with A♣J♠. Yang folds. I stay pretty quiet for a while, drifting down from 1 million to 850K as Yang chips up over a million. I open to 90K when Yang and Nguyen fold to me small blind, and take Lebedeva’s big.
Nguyen makes another under-the-gun open on hand 256. I 3-bet with 9♦K♦ (advice is to call) and take it down pre-flop.
On our next blinds, Nguyen opens for 75K into my A♠K♦ and I raise to 300K, more than half his stack. That wins.
9♠9♥ on the button. I open to 90K (with Lebedeva and Yang in the small and big blind, respectively). Lebedeva shoves (196K), Yang folds, and I call). It’s a race against Lebedeva’s J♠K♣ but the cards go all around with 7♠8♦Q♦A♠2♠. It’s me (1.29M), Yang (931K), and Nguyen (485K) after hand 260.
At this point, I’m mostly going to let these guys beat up on each other. I don’t care which one I get heads-up with so long as I get heads-up. But I do call a button raise to 63K from Yang on my big blind, with 9♥Q♦ (that’s also the advice). I check call 60K (against advice) on the flop of 3♥3♦4♠, then check fold to a bet on the K♦ turn.
Yang’s up to 1.2M ten hands later, I’m at 1M, and Nguyen’s holding steadish at 444K. I raise to 90K from the small blind with J♣8♣. Yang calls and I bet another 90K when the flop is 2♥8♠3♠. Yang folds.
90K as a raise from the button with K♠A♥ on hand 272 wins. On the next hand, Yang raises the button and Nguyen strikes with an all in from the small blind to win.
After Nguyen folds his button a couple hands later, Waylian advises a raise to 102K for my small blind hand of 9♣4♦. I’m just not doing that here against the other large chip stack. I fold. I do raise A♣8♦ in the same position two orbits later. Yang calls. The flop is 5♥J♣Q♦. Waylian wants a c-bet of 117K, but I check, followed by Yang. 2♠ on the turn and I check again (this time with approval). Yang checks. We both check the 5♣ on the river, Yang shows 9♣7♠ and I take it with an ace kicker for the pair on the board.
I get A♦K♥ and raise a small blind for a win. Meanwhile, the stacks have evened out somewhat. Nguyen is in third, but he’s pushed his way up to 765K. Yang has 837K, and I’m in the upper 900Ks.
On hand 285, Nguyen raises to 69K and I call from the big blind with A♥7♠. I call 60K on the 3♥3♦Q♣ flop and 78K more on the 6♣ turn, but balk at the 150K river (J♥) bet of 150K.
Nguyen calls from the small blind as the chip leader on hand 288. I check and the flop is 3♣9♥9♣. 8♣ on the turn, 2♣ on the river and both checked. I win the hand with the deuces. Nguyen had [td5h].
Nguyen raises to 75K from the small blind on hand 291. I re-raise to 180K with A♥5♦ in the big blind. He has just over 1M remaining (I have 727K behind)> The flop is K♣J♥8♥ and he continues with a bet of 150K. I fold.
The next hand I call his button raise of 66K from the small blind with T♣8♣. Yang folds. The flop is 8♦9♣K♣ and I bet 90K. Nguyen calls.]2♥ on the turn and I bet 150K. Nguyen folds. The win puts me back in second place.
I raise a small blind to 150K with black sizes and Yang folds.
Blinds are up to 20K/40K/4K when Yang raises from the button to 100K. Nguyen folds and I reraise to 320K with T♠T♣ in the big blind. Yang has 516K behind and folds. On a button, I open to 120K with Q♠A♣ and get folds. There hasn’t been a hand go to a flop for anyone for a while. I get a walk the next hand. Yang’s far behind with 445K. At 1.06M, I’m close to Nguyen’s 1.2M.
I fold a button 5♦7♦ despite advice. Similarly, Waylian suggests a raise to 136K in the small blind with 4♠K♣ and I ignore him. I do raise A♦J♥ to 120K on the button. Nguyen calls, the flop is 8♣6♥7♦ and I just let him have it when he bets 110K.
Yang shoves for 425K on hand 309. Nguyen folds, and I decide to take a shot at the knockout here with a call (Waylian says: Fold). It’s for slightly more than half my stack (less if you consider that I’m already in for the big blind. Yang has 3♣A♥, I catch a ten on the flop, Yang has a gutshot wheel draw on the turn, and then catches the ace on the river. Back to the basement.
A couple of hands later, K♥A♣ on the button and I shove for less than 10bb. Nobody calls.
I make the program mad by folding deuces in the small blind to a Nguyen button raise for a quarter of my stack, then shove K♠7♠ on my own button. Yang calls from the small blind with 8♦8♥ but I get the king on the river and get back into second place, leaving Yang with only 7bb.
Yang shoves the next hand with K♦7♠ on the button. I have Q♥K♠ in the big blind, the board runs out 3♣K♣6♥A♦8♥ and this time there’s no chop. I win the hand and go heads-up with the Qui Nguyen bot.
Nguyen-bot has almost 60% of the chips, but I have the advantage of being human. The first contest of the heads-up is hand 323 (from the start of the final table). Nguyen raises from the button to 84K. I call with 3♣K♥. I have an open-ended straight draw on the flop of J♣Q♣T♥, I check, Nguyen bets and I shove. Nguyen folds, I fold a couple of ragged jacks, then raise 3♠A♣ from the small blind only to have Nguyen call. The flop is garbage for me 9♠5♦9♥, but when Nguyen checks I shove and he folds.
I raise K♣5♠ and Nguyen calls (by this point, I’ve pulled ahead of him by 150K). I have top pair on a board of 2♣4♣5♦ and shove. He folds.
Two hands later I call his opening raise to 92K with 7♥J♦. The flop is 6♦6♣2♣ and I check fold to his bet.
I limp from the button with J♣8♦. Nguyen checks. The flop is 5♥9♠9♦ and we both check. On the Q♦ turn, Nguyen bets 40K. I call. 8♣ on the river makes my two pair, Nguyen checks and shows J♦7♦. I take the pot.
Nguyen raises the button to 88K, my advisor says call but I 3-bet to 256K and Nguyen-bot folds. I have 1.57M and our positions have reversed since the beginning of the heads-up match.
I open to 160K with 9♠K♦ (about half again what is recommended) and Nguyen calls. The flop is T♦J♠6♠, he bets 136K and even with an over card and gut-shot straight draw, I fold to wait for a better spot.
Nguyen opens to 88K and I shove with 4♥4♦. Not recommended. After my pre-flop fold on the next hand, he folds to my A♣Q♥. I’ve got about a 300K (7bb) advantage in a 67bb world.
Hand 338 I’m on the button and open black tens to 100K. Nguyen calls, the flop is 2♥J♠3♦ and I shove. Nguyen folds.
I shove on him the next hand with J♥7♥ when he opens for 100K, and he folds, then I open-shove with 6♥A♥ from the button. I’m up 1.7M to 1M.
Nguyen folds his button on the next hand, then I raise 3♦3♠ the next hand and get another fold.
He raises a hand and I fold, then I bet 120K on the button with 6♠6♥. That’s also the advice Waylian gives, but the analyzer rates it as a “Questionable Bet — Preflop.” The Nguyen-bot 3-bets to 364K. Against advice, I shove, and Nguyen calls with Q♠Q♦. I double him up and he’s ahead 5:2.
I shove 7♣9♣ (advice is to call) over Nguyen’s 88K raise on the next hand. He folds. I shove A♦T♠ and he folds. He raises my big blind while I’m holding 2♠T♣ and I fold. 9♠J♥ is an open-shove. He calls with A♣6♥, my nine pairs on the flop, and I retake the lead on hand 348.
I fold 3♦6♠ to a raise, then shove K♥4♦. Nguyen-bot calls with 7♥A♦ and it’s all over on the river.
Of course, this is not the same as actually playing against Qui Nguyen, and it doesn’t have the stress and environmental factors of a live game with $8.5M up top. I got lucky on my last two hands, winning my all-in with a 43% hand and knocking out Nguyen with only a 36% chance.
Still, I went into the heads-up with the Nguyen-bot with a plan to force the simulation of a high-variance player into high-variance situations.
I hope to do an in-depth review of APT at some point soon, but here’s a little bit about what I could learn from this particular matchup.
I’m particularly fond of this chart, which is produced for each APT session. I’m not necessarily a favorite going into a hand, but in more than half of the hands I played to the turn, I improved my equity (not the case for every one of my sessions on APT). On this particular tournament, I got an overall rating of 115 on APT’s “Poker IQ,” with 160 as the max and 100 as the mean average. And I did better (adjusted for luck) than 83% of the other players on the site (though I will point out that falls 2% short of even the 15% payout field of a WSOP event). The chart produced for each session includes ratings for your performance on each street, as well as standard session stats like VPIP and CBET%, situations where you or an opponent raised (with playback links), hands where you won or lost the most, hands you’ve tagged, and hands the analyzer rates aas questionable or interesting. You can view a sample report here.