Analyseer pokerhanden met Python en implementeer eenvoudig statistische concepten zoals combinaties, permutaties, (on)afhankelijke gebeurtenissen en verwachtingswaarde.
In het eerste deel van deze tutorial leerde je verschillende concepten kennen, waaronder onafhankelijke en afhankelijke gebeurtenissen, permutaties en combinaties, meerdere gebeurtenissen, verwachtingswaarden, en hoe je die allemaal berekent. Nu ga je die concepten toepassen op echte pokerhanden die ik tijdens mijn carrière heb gespeeld. Onderweg leer je veel meer over het concept verwachtingswaarde en hoe je het gebruikt om optimale beslissingen te nemen.
Eerst krijg je een korte introductie tot No Limit Texas Hold’em zodat je alle domeinkennis hebt die je nodig hebt om de tutorial te voltooien;
Vervolgens maak je kennis met een paar tools die in de casestudies van de pokerhanden worden gebruikt.
Nadat je deze twee inleidende secties hebt doorlopen, kijk je van dichterbij naar een concept dat je al in de eerste tutorial zag: de verwachtingswaarde.
Tot slot ga je door pokerhanden heen: Pocket tienen versus preflop raise, Pocket achten versus preflop raise, en Flop check-raise semi-bluff.
Een introductie tot No Limit Texas Hold’em
Voordat je begint, is wat achtergrondinformatie handig. Het spel dat in de casestudies van dit artikel wordt behandeld, is No Limit Texas Hold’em. Texas Hold’em, gespeeld met een standaard spel van 52 kaarten, is de populairste van alle pokervarianten. Elke speler probeert de beste vijfkaarthand te maken door zijn twee kaarten te combineren met de vijf gemeenschappelijke kaarten die tijdens de hand worden gedeeld.
De speler links van de dealerbutton begint de actie en het spel verloopt met de klok mee rond de tafel. De inzet begint meestal wanneer de speler links van de dealerbutton de small blind post en de volgende speler links de big blind. Er zijn meerdere inzetrondes: preflop, flop, turn en river.
Hier zijn een paar termen die je moet kennen:
Button - De Button is een ronde schijf die na elke hand met de klok mee rond de tafel wordt doorgegeven. In een homegame deelt degene met de Button de kaarten en gaat de eerste kaart naar de speler links van hem of haar. In een casino geeft de Button aan wie de dealer zou zijn, maar de daadwerkelijke dealer wordt door het casino verzorgd.
Blinds - De Blinds zijn verplichte inzetten door de twee spelers links van de Button. Ze heten “Blinds” omdat die twee spelers blind inzetten: ze moeten inzetten voordat ze hun kaarten zien.
Streets - Elke ronde waarin kaarten worden gedeeld, wordt een street genoemd.
Pre-flop - Dit is de eerste inzetronde. Elke speler krijgt twee kaarten en de blinds starten de inzet. Er zijn nog geen gemeenschappelijke kaarten gedeeld.
Flop - Dit is de tweede inzetronde. Er worden drie gemeenschappelijke kaarten open in het midden van de tafel gedeeld, gevolgd door een inzetronde.
Turn - In deze ronde wordt één gemeenschappelijke kaart gedeeld, gevolgd door de derde inzetronde.
River - De laatste gemeenschappelijke kaart wordt gedeeld, gevolgd door de laatste inzetronde.
Showdown - Nadat de River is gedeeld en alle inzetactie is afgerond, laten de overgebleven spelers hun kaarten zien om te bepalen wie de beste hand heeft.
Check - Als het de beurt is aan een speler en er in die inzetronde nog niet is ingezet, kan de speler checken, wat betekent dat hij niet inzet en de beurt naar de volgende speler laat gaan.
Bet of raise - Betten of raisen betekent de inzet in een inzetronde verhogen. De eerste speler die in een ronde geld in de pot stopt, doet een bet. Als een andere speler die inzet in die ronde verhoogt, doet hij of zij een raise.
Call - Als het de beurt is aan een speler en er al is ingezet in die ronde, kan de speler de vorige inzet evenaren; dat heet een call.
Fold - Als het de beurt is aan een speler en er al is ingezet in die ronde, kan de speler opgeven en folden. Deze speler doet niet meer mee aan de hand en verliest al het geld dat hij al in de pot heeft gestopt.
Als je nog nooit hebt gespeeld of niet bekend bent met pokerterminologie, kun je hier klikken voor een beknopte maar gedetailleerde uitleg.
Tools voor pokerkansen
Telkens wanneer ik tijdens het spelen in een onduidelijke situatie terechtkwam, markeerde ik de hand om die later te bekijken. Na mijn pokersessie bekeek ik de gemarkeerde handen terug. Ik werkte ze wiskundig uit, zodat ik beter wist wat ik in de toekomst in vergelijkbare situaties moest doen.
De handen in deze tutorial zijn gedownload en opgeslagen in een PostgreSQL-database door Hold’em Manager, software die in Deel I werd genoemd. Hold’em Manager berekent statistieken uit deze handgeschiedenissen voor elke tegenstander tegen wie je speelt. De data wordt tijdens het spelen in realtime geüpdatet en weergegeven.
Ik heb drie handen uit mijn pokercarrière gekozen. Je gaat statistieken gebruiken over mijn tegenstanders die ik destijds beschikbaar had, deductief redeneren, en een tool die een equity calculator wordt genoemd, om aannames te maken over de kans om de hand te winnen voor elke haalbare optie.
Let op: een equity calculator wordt gebruikt om de kans op het winnen van een hand te bepalen op basis van een door jou aangegeven situatie. Je voert je eigen kaarten in, de gemeenschappelijke kaarten (indien van toepassing) en het bereik van handen waarvan je aanneemt dat je tegenstander ze heeft. De calculator geeft een kans om de hand te winnen als de resterende kaarten worden gedeeld.
Verwachtingswaarde: een nadere blik
Voordat we aan de analyse van de eerste hand beginnen, heb je een beter begrip van de verwachtingswaarde nodig. In Deel I leerde je hoe je je verwachtingswaarde berekent voor het winnen van een pot van \$100 met 75% kans om te winnen. Er waren maar twee mogelijkheden:
Winst \$100
Winst \$0
Met behulp van de formule ExpectedValue=TotalValue×Probability berekende je dat de verwachtingswaarde \$100 * .75 oftewel \$75 zou zijn.
Vaak heb je echter geen zo rechttoe rechtaan berekening en zijn er meer dan twee mogelijke uitkomsten. Om de verwachtingswaarde te bepalen, moet je het gewogen gemiddelde van elke mogelijke uitkomst vinden, waarbij elke uitkomst wordt gewogen met zijn respectieve kans van voorkomen.
Daarom kan de vergelijking hierboven beter zo worden weergegeven:
$Expected Value = (100 * .75) + (0 * .25)$
$Expected Value = \$75$
En wat als er een derde mogelijke uitkomst was in bovenstaande situatie?
Bekijk de volgende situatie, waarin je 50 procent kans hebt om \$100 te winnen, 25% kans om \$25 te winnen en nog eens 25% kans om helemaal niets te winnen:
Winst \$100 (50%)
Winst \$25 (25%)
Winst \$0 (25%)
Dan ziet de berekening van je verwachtingswaarde er als volgt uit:
Nu is het tijd om toe te passen wat je hebt geleerd op een paar scenario’s die ik aan de pokertafel ben tegengekomen.
Pocket tienen versus preflop raise
Let op: Bij het bespreken van pokerhanden is het gebruikelijk om je tegenstander Villain te noemen en de speler die wordt beoordeeld Hero. De speler die je gaat bekijken is ‘GamingFoSho’, mijn gebruikersnaam op de pokersites waar ik speelde.
Hand 1 Overzicht
Hero (GamingFoSho) heeft een paar tienen en zet \$0,85. Hij heeft nog \$20,95 over. De tegenstander, Villain, raiset naar \$2,50 en heeft nog \$30,35 over.
In pokertermen heet dit een 3-bet. De small blind en big blind doen de eerste inzet, en Hero verhoogde die inzet, wat de tweede inzet was. Er zit momenteel \$3,70 in de pot. Callen is geen goede optie om redenen die buiten de scope van deze blogpost vallen om volledig uit te leggen.
Let op: in het algemeen is passief pokeren niet winstgevend en agressief pokeren wel. Callen is passief en betten of raisen is agressief. Er zijn andere factoren in de pokerstrategie, zoals positie, die aangeven dat callen hier een slechte optie is, maar die vergen veel uitleg.
Hero moet kiezen tussen raisen met het plan om all-in te gaan en al zijn overgebleven chips in te zetten, of folden. Folden kost niets, dus je analyseert de verwachtingswaarde van all-in gaan. In deze situatie zou ik klein reraisen om Villain te verleiden tot een all-in bluff, maar de berekening moet worden gedaan alsof ik all-in ga, aangezien dat het plan is.
Hero riskeert \$20,95 als hij all-in gaat en verliest. All-in gaan betekent al je geld in de pot stoppen. Hero heeft nog \$20,95, dus all-in gaan riskeert \$20,95. Hero wint \$23 als hij all-in gaat en wint. Er zit momenteel \$3,70 in de pot. Hero zette \$0,85 en Villain raisete naar \$2,50. Hero moet \$1,65 van de resterende \$20,95 toevoegen om Villains raise te evenaren, waardoor Hero \$19,30 overhoudt. Dit betekent dat Hero nog eens \$19,30 kan winnen bovenop de \$3,70 die al in de pot zit, voor in totaal \$23,00. Aangezien er momenteel \$3,70 in de pot zit, wint Hero \$3,70 als Villain foldt.
Hand1_AllIn_Loses =-20.95
Hand1_AllIn_Winnings =23
Hand1_Fold_Winnings =3.7Mogelijk gemaakt door
Hand 1 Relevante statistieken
Poker is een spel van deductief redeneren op basis van onvolledige informatie. In Hold’em Manager kan ik handen die ik in het verleden heb gespeeld terugkijken en de statistieken zien die ik had op het moment dat de hand werd gespeeld. Hieronder staan screenshots van enkele statistieken die ik op dat moment over deze tegenstander had.
De cijfers staan voor een specifieke situatie, zoals preflop betten vanaf de Button. Meestal staan er twee cijfers. Het cijfer links geeft het percentage pogingen weer waarin Villain in een specifieke situatie een specifieke zet deed. Het cijfer tussen haakjes rechts geeft het aantal pogingen weer tot 99 pogingen. Als er geen getal tussen haakjes staat, is het aantal pogingen 100 of meer.
Ik had 392 handen tegen deze tegenstander gespeeld en ik heb de statistieken gemarkeerd die relevant zijn voor deze hand:
Villain zit op de Button, de positie direct rechts van de small en big blind. Over het geheel genomen 3-bet Villain 7,4% (27 pogingen) vanuit deze positie;
Hero zit in de Cut-off, de positie direct rechts van de Button. Tegen de Cut-off 3-bet Villain 12,5% (16 pogingen);
Als Villain op de Button zit tegen een preflop-raise vanuit de Cut-off, 3-bet Villain 25% (4 pogingen);
Als Villain preflop 3-bet en vervolgens een raise krijgt, foldt hij 50% van de tijd (2 pogingen).
Let op: Hoe heb ik bepaald dat deze 4 punten belangrijk waren? Hero zat in de Cut-off en Villain 3-bette vanaf de Button. Ik wil statistieken zien van wat Villain in eerdere handen in soortgelijke situaties heeft gedaan. Hoe vaak 3-bet Villain vanaf de Button of tegen een speler in de Cut-off? Hoe vaak foldt Villain een 3-bet tegen een raise? De bovenstaande statistieken gaven het beste antwoord op die vragen.
Hand 1 Aannames
Gebaseerd op de bovenstaande statistieken maak ik de volgende, onderbouwde aannames:
Villain raiset naar 2,50 met ongeveer (~) 13–15% van het bereik aan mogelijke starthanden;
Villain foldt ~25% van de tijd tegen een reraise en gaat ~75% van de tijd all-in;
Villain reraiset all-in met een ~10% range, wat in de onderstaande afbeelding is weergegeven.
De geel gemarkeerde handen vertegenwoordigen Villains veronderstelde range, die uit 128 combinaties bestaat (9,7% van de steekproefgrootte).
Als je je afvraagt waarom A5s en A2s in de range zitten: dat zijn Villains blufhanden.
Let op: De afbeelding hieronder vertegenwoordigt de steekproefgrootte van alle mogelijke combinaties van starthanden in Texas Hold’em, in totaal 1326 combinaties, zoals je zag in het eerste deel van deze tutorialreeks.
AA = Aas Aas, KK = Koning Koning, enz.
AKo = Aas Koning offsuit, ATo = Aas Tien offsuit, enz.
AKs = Aas Koning suited, ATs = Aas Tien suited, J8s = Boer Acht suited, enz.
Hand 1 Analyse
Nu je Villains range hebt, moet je bepalen hoe groot de kans is dat Hero's hand wint tegen Villains veronderstelde range als beiden all-in gaan. Je kunt Hero's hand (10h10s) en Villains range in een equity calculator stoppen om de kans te bepalen dat Hero wint. De equity calculator simuleert 10h10s tegen Villains veronderstelde range duizenden keren en bepaalt dat Hero ongeveer 53,77% van de tijd wint.
Nu kun je variabelen maken voor EstFoldPercent en Equity, en vervolgens je functie AllinExpectedValue() maken.
defAllinExpectedValue(AllIn_Loses, AllIn_Winnings, Fold_Winnings, Fold_Percent, Equity):
FoldEV =(Fold_Percent * Fold_Winnings)
AllinEV =(1- Fold_Percent)*((AllIn_Winnings * Equity)+(AllIn_Loses *(1- Equity)))
AllinExpectedValue = FoldEV + AllinEV
if AllinExpectedValue >0:return'Raise!', AllinExpectedValue
else:return'Fold!', AllinExpectedValue
Mogelijk gemaakt door
Vul nu de variabelen van Hand 1 in de functie AllinExpectedValue en print je resultaten:
Hand1_Decision, Hand1_EV = AllinExpectedValue(Hand1_AllIn_Loses, Hand1_AllIn_Winnings, Hand1_Fold_Winnings, Hand1_Fold_Percent, Hand1_Equity)print(Hand1_Decision)print(Hand1_EV)Mogelijk gemaakt door
Hero wint de hand met een set (drie dezelfde) tienen en verslaat een paar koningen.
Pocket achten versus preflop raise
Hand 2 Overzicht
In deze situatie zet Hero (GamingFoSho) \$1,10 en heeft nog \$28,58 over. Villain daarentegen raiset naar \$3,80 en heeft nog \$10,66 over. Er zit momenteel \$5,40 in de pot. Dit is een vergelijkbare situatie als de vorige hand. Wederom is callen geen goede optie. Folden kost niets, dus je moet bepalen of all-in raisen een positieve verwachtingswaarde heeft.
Als Hero all-in gaat, riskeert hij \$13,36 aangezien Villain nog \$10,66 over heeft en \$2,70 heeft ge-raiset. Hero wint \$16,06 als hij all-in gaat en de hand wint (Villain heeft nog \$10,66 over en er zit momenteel \$5,40 in de pot) en wint \$5,40 als hij all-in gaat en Villain foldt.
Hand2_AllIn_Loses =-13.36
Hand2_AllIn_Winnings =16.06
Hand2_Fold_Winnings =5.40Mogelijk gemaakt door
Hand 2 Relevante statistieken
Villain zit in de small blind. Vanuit deze positie 3-bet Villain 7,2% (100+ pogingen);
Hero zit in de Cut-off, en tegen de Cut-off 3-bet Villain 7,9% (89 pogingen);
Villain foldt 25% tegen een 4-bet (8 pogingen);
Villain 3-bet in totaal 4% (100+ pogingen), maar tegen Hero slechts 1% (98 pogingen). Dit is een groot waarschuwingssignaal en duidt op een zeer sterke hand;
Villain 3-bet uit positie tegen de Cut-off 9,8% (51 pogingen). Uit positie betekent dat Villain als eerste aan de beurt is in latere inzetrondes en Hero als tweede.
Villain foldt 0% tegen een 4-bet wanneer hij uit positie is (5 pogingen). Nog een groot waarschuwingssignaal.
Hand 2 Aannames
Gebaseerd op de bovenstaande statistieken maak ik de volgende aannames:
In vergelijking met de meeste tegenstanders 3-bet Villain ~8–10% van de tijd, maar hij lijkt 4 keer zo vaak te 3-betten tegen andere tegenstanders dan tegen Hero. Dit plaatst Villains range op ~3%.
Villain heeft in deze situatie nog niet gefold tegen een 4-bet, dus op z’n hoogst foldt Villain 10% van de tijd.
Villain callt met een ~2,7% range, wat in de onderstaande afbeelding is weergegeven.
De geel gemarkeerde handen vertegenwoordigen Villains veronderstelde range, die uit 34 van de 1326 mogelijke starthandcombinaties bestaat (2,6%).
Hand 2 Analyse
Opnieuw gebruik ik een equity calculator om Hero’s equity te bepalen. In dit geval heeft Hero’s hand 35,84% equity tegen Villains range.
Nu kun je variabelen maken voor EstFoldPercent en Equity.
Vul nu de variabelen voor deze hand in de functie AllinExpectedValue en print de resultaten.
Hand2_Decision, Hand2_EV = AllinExpectedValue(Hand2_AllIn_Loses, Hand2_AllIn_Winnings, Hand2_Fold_Winnings, Hand2_Fold_Percent, Hand2_Equity)print(Hand2_Decision)print(Hand2_EV)Mogelijk gemaakt door
Hero wint de hand met een set achten tegen twee paren, azen en koningen. Dit was een gelukstreffer voortkomend uit een beslissing die op de lange termijn geld zou kosten. De optimale zet hier is folden.
Flop check-raise semi-bluff
Hand 3 Overzicht
Deze hand is op de flop en Hero (GamingFoSho) is als eerste aan de beurt en checkt. Hij heeft \$25,08. Villain bet \$1,06 en heeft nog \$25,37 over. Er zit momenteel \$2,66 in de pot.
Ook hier is callen geen goede optie, en folden kost niets. Hero moet beslissen of raisen in deze situatie, een zogeheten semi-bluff, een positieve verwachtingswaarde heeft. Een semi-bluff is wanneer je raiset met een draw, in dit geval een flushdraw. Hero heeft nog geen gemaakte hand, want hij heeft op dit moment alleen aas-high, maar hij heeft vier harten en heeft nog maar één nodig voor een flush, wat een sterke hand is. Net als bij de eerste hand is de beste speelwijze bij een raise om klein te raisen en Villain de kans te geven te bluffen. Als Hero gewoon all-in zou gaan, zou Villain waarschijnlijk een hand als koning harten/boer harten folden.
Hero riskeert \$25,08 als hij all-in gaat. Hero wint \$26,68 als hij all-in gaat en de hand wint. Villain bette \$1,06, dus Hero moet dat bedrag evenaren vanuit de resterende \$25,08, waardoor Hero \$24,02 overhoudt. Dit betekent dat Hero nog eens \$24,02 kan winnen bovenop de \$2,66 die momenteel in de pot zit, voor in totaal \$26,68. Hero wint \$2,66 als Villain foldt.
Hand3_AllIn_Loses =-25.08
Hand3_AllIn_Winnings =26.68
Hand3_Fold_Winnings =2.66Mogelijk gemaakt door
Hand 3 Relevante statistieken
Preflop raisete Villain, en vanuit Middle Position raiset Villain 9% (100+ pogingen);
Op de flop checkt Hero, en Villain (die preflop raisete) bet opnieuw. Dit heet een continuation bet (C-bet). Villain c-bet 100% (12 pogingen);
Hero doet een check-raise tegen Villain en wanneer hij met een check-raise wordt geconfronteerd, foldt Villain 67% (3 pogingen);
Hand 3 Aannames
Villains prefloprange is ~9–10%, en ziet er zo uit:
De geel gemarkeerde handen vertegenwoordigen Villains range, die uit 128 van de 1326 mogelijke starthandcombinaties bestaat (9,7%);
Na 100% te c-betten, foldt Villain ~67% van de tijd tegen Hero’s check-raise, waardoor ~35–45 combinaties overblijven in Villains range. Villains range ziet er zo uit:
Deze range bestaat uit 35 combinaties en omvat de sterkste handen uit Villains prefloprange.
Sommige handen hebben verschillende tinten geel. Daar zijn een paar redenen voor:
Card removal - Pocket azen (AA) heeft normaal zes combinaties (ruiten/klaveren, harten/klaveren, schoppen/klaveren, harten/ruiten, schoppen/ruiten, schoppen/harten), maar Hero heeft de aas harten. Villain kan dan alleen drie combinaties pocket azen hebben (ruiten/klaveren, schoppen/klaveren, schoppen/ruiten).
Flushdraws - Er zijn vier combinaties koning/boer suited (ruiten, harten, schoppen en klaveren), maar Villain zou slechts met één van die combos (harten) all-in gaan.
Hand 3 Analyse
Opnieuw vul ik Hero’s hand en Villains range in de equity calculator in, dit keer met ook de 3 flopkaarten. De equity calculator geeft aan dat Hero in deze situatie 43,58% wint.
Nu kun je je variabelen maken voor EstFoldPercent en Equity.
Vul nu de variabelen van Hand 3 in de functie AllinExpectedValue en print de resultaten:
Hand3_Decision, Hand3_EV = AllinExpectedValue(Hand3_AllIn_Loses, Hand3_AllIn_Winnings, Hand3_Fold_Winnings, Hand3_Fold_Percent, Hand3_Equity)print(Hand3_Decision)print(Hand3_EV)Mogelijk gemaakt door
Hero wint met een aas-high flush en verslaat Villains paar tienen.
Conclusie
Gefeliciteerd, je hebt deze tutorial over kansrekening met Python voltooid! Nadat je in het eerste deel van deze reeks over kansrekening en statistiek de kernbegrippen hebt geleerd, waaronder onafhankelijke/afhankelijke gebeurtenissen, permutaties en combinaties, meerdere gebeurtenissen, verwachtingswaarden en hoe je die berekent, heb je die concepten toegepast op praktijksituaties aan de pokertafel.
In deze tutorial kreeg je een veel dieper begrip van de verwachtingswaarde en gebruikte je dit concept om optimale beslissingen aan de pokertafel te nemen. Het is een uiterst nuttig concept om in gedachten te houden bij elke zakelijke of financiële beslissing, dus probeer de volgende keer dat je voor zo’n beslissing staat je opties te kwantificeren in termen van verwachtingswaarde.
In het eerste deel van deze tutorial leerde je verschillende concepten kennen, waaronder onafhankelijke en afhankelijke gebeurtenissen, permutaties en combinaties, meerdere gebeurtenissen, verwachtingswaarden, en hoe je die allemaal berekent. Nu ga je die concepten toepassen op echte pokerhanden die ik tijdens mijn carrière heb gespeeld. Onderweg leer je veel meer over het concept verwachtingswaarde en hoe je het gebruikt om optimale beslissingen te nemen.
Een introductie tot No Limit Texas Hold’em
Voordat je begint, is wat achtergrondinformatie handig. Het spel dat in de casestudies van dit artikel wordt behandeld, is No Limit Texas Hold’em. Texas Hold’em, gespeeld met een standaard spel van 52 kaarten, is de populairste van alle pokervarianten. Elke speler probeert de beste vijfkaarthand te maken door zijn twee kaarten te combineren met de vijf gemeenschappelijke kaarten die tijdens de hand worden gedeeld.
De speler links van de dealerbutton begint de actie en het spel verloopt met de klok mee rond de tafel. De inzet begint meestal wanneer de speler links van de dealerbutton de small blind post en de volgende speler links de big blind. Er zijn meerdere inzetrondes: preflop, flop, turn en river.
Hier zijn een paar termen die je moet kennen:
Als je nog nooit hebt gespeeld of niet bekend bent met pokerterminologie, kun je hier klikken voor een beknopte maar gedetailleerde uitleg.
Tools voor pokerkansen
Telkens wanneer ik tijdens het spelen in een onduidelijke situatie terechtkwam, markeerde ik de hand om die later te bekijken. Na mijn pokersessie bekeek ik de gemarkeerde handen terug. Ik werkte ze wiskundig uit, zodat ik beter wist wat ik in de toekomst in vergelijkbare situaties moest doen.
De handen in deze tutorial zijn gedownload en opgeslagen in een PostgreSQL-database door Hold’em Manager, software die in Deel I werd genoemd. Hold’em Manager berekent statistieken uit deze handgeschiedenissen voor elke tegenstander tegen wie je speelt. De data wordt tijdens het spelen in realtime geüpdatet en weergegeven.
Ik heb drie handen uit mijn pokercarrière gekozen. Je gaat statistieken gebruiken over mijn tegenstanders die ik destijds beschikbaar had, deductief redeneren, en een tool die een equity calculator wordt genoemd, om aannames te maken over de kans om de hand te winnen voor elke haalbare optie.
Let op: een equity calculator wordt gebruikt om de kans op het winnen van een hand te bepalen op basis van een door jou aangegeven situatie. Je voert je eigen kaarten in, de gemeenschappelijke kaarten (indien van toepassing) en het bereik van handen waarvan je aanneemt dat je tegenstander ze heeft. De calculator geeft een kans om de hand te winnen als de resterende kaarten worden gedeeld.
Verwachtingswaarde: een nadere blik
Voordat we aan de analyse van de eerste hand beginnen, heb je een beter begrip van de verwachtingswaarde nodig. In Deel I leerde je hoe je je verwachtingswaarde berekent voor het winnen van een pot van \$100 met 75% kans om te winnen. Er waren maar twee mogelijkheden:
Met behulp van de formule
ExpectedValue=TotalValue×Probabilityberekende je dat de verwachtingswaarde \$100 * .75 oftewel \$75 zou zijn.Vaak heb je echter geen zo rechttoe rechtaan berekening en zijn er meer dan twee mogelijke uitkomsten. Om de verwachtingswaarde te bepalen, moet je het gewogen gemiddelde van elke mogelijke uitkomst vinden, waarbij elke uitkomst wordt gewogen met zijn respectieve kans van voorkomen.
Daarom kan de vergelijking hierboven beter zo worden weergegeven:
En wat als er een derde mogelijke uitkomst was in bovenstaande situatie?
Bekijk de volgende situatie, waarin je 50 procent kans hebt om \$100 te winnen, 25% kans om \$25 te winnen en nog eens 25% kans om helemaal niets te winnen:
Dan ziet de berekening van je verwachtingswaarde er als volgt uit:
Nu is het tijd om toe te passen wat je hebt geleerd op een paar scenario’s die ik aan de pokertafel ben tegengekomen.
Pocket tienen versus preflop raise
Let op: Bij het bespreken van pokerhanden is het gebruikelijk om je tegenstander Villain te noemen en de speler die wordt beoordeeld Hero. De speler die je gaat bekijken is ‘GamingFoSho’, mijn gebruikersnaam op de pokersites waar ik speelde.
Hand 1 Overzicht
Hero (GamingFoSho) heeft een paar tienen en zet \$0,85. Hij heeft nog \$20,95 over. De tegenstander, Villain, raiset naar \$2,50 en heeft nog \$30,35 over.
In pokertermen heet dit een 3-bet. De small blind en big blind doen de eerste inzet, en Hero verhoogde die inzet, wat de tweede inzet was. Er zit momenteel \$3,70 in de pot. Callen is geen goede optie om redenen die buiten de scope van deze blogpost vallen om volledig uit te leggen.
Let op: in het algemeen is passief pokeren niet winstgevend en agressief pokeren wel. Callen is passief en betten of raisen is agressief. Er zijn andere factoren in de pokerstrategie, zoals positie, die aangeven dat callen hier een slechte optie is, maar die vergen veel uitleg.
Hero moet kiezen tussen raisen met het plan om all-in te gaan en al zijn overgebleven chips in te zetten, of folden. Folden kost niets, dus je analyseert de verwachtingswaarde van all-in gaan. In deze situatie zou ik klein reraisen om Villain te verleiden tot een all-in bluff, maar de berekening moet worden gedaan alsof ik all-in ga, aangezien dat het plan is.
Hero riskeert \$20,95 als hij all-in gaat en verliest. All-in gaan betekent al je geld in de pot stoppen. Hero heeft nog \$20,95, dus all-in gaan riskeert \$20,95. Hero wint \$23 als hij all-in gaat en wint. Er zit momenteel \$3,70 in de pot. Hero zette \$0,85 en Villain raisete naar \$2,50. Hero moet \$1,65 van de resterende \$20,95 toevoegen om Villains raise te evenaren, waardoor Hero \$19,30 overhoudt. Dit betekent dat Hero nog eens \$19,30 kan winnen bovenop de \$3,70 die al in de pot zit, voor in totaal \$23,00. Aangezien er momenteel \$3,70 in de pot zit, wint Hero \$3,70 als Villain foldt.
Hand 1 Relevante statistieken
Poker is een spel van deductief redeneren op basis van onvolledige informatie. In Hold’em Manager kan ik handen die ik in het verleden heb gespeeld terugkijken en de statistieken zien die ik had op het moment dat de hand werd gespeeld. Hieronder staan screenshots van enkele statistieken die ik op dat moment over deze tegenstander had.
De cijfers staan voor een specifieke situatie, zoals preflop betten vanaf de Button. Meestal staan er twee cijfers. Het cijfer links geeft het percentage pogingen weer waarin Villain in een specifieke situatie een specifieke zet deed. Het cijfer tussen haakjes rechts geeft het aantal pogingen weer tot 99 pogingen. Als er geen getal tussen haakjes staat, is het aantal pogingen 100 of meer.
Ik had 392 handen tegen deze tegenstander gespeeld en ik heb de statistieken gemarkeerd die relevant zijn voor deze hand:
Let op: Hoe heb ik bepaald dat deze 4 punten belangrijk waren? Hero zat in de Cut-off en Villain 3-bette vanaf de Button. Ik wil statistieken zien van wat Villain in eerdere handen in soortgelijke situaties heeft gedaan. Hoe vaak 3-bet Villain vanaf de Button of tegen een speler in de Cut-off? Hoe vaak foldt Villain een 3-bet tegen een raise? De bovenstaande statistieken gaven het beste antwoord op die vragen.
Hand 1 Aannames
Gebaseerd op de bovenstaande statistieken maak ik de volgende, onderbouwde aannames:
Let op: De afbeelding hieronder vertegenwoordigt de steekproefgrootte van alle mogelijke combinaties van starthanden in Texas Hold’em, in totaal 1326 combinaties, zoals je zag in het eerste deel van deze tutorialreeks.
Hand 1 Analyse
Nu je Villains range hebt, moet je bepalen hoe groot de kans is dat Hero's hand wint tegen Villains veronderstelde range als beiden all-in gaan. Je kunt Hero's hand (10h10s) en Villains range in een equity calculator stoppen om de kans te bepalen dat Hero wint. De equity calculator simuleert 10h10s tegen Villains veronderstelde range duizenden keren en bepaalt dat Hero ongeveer 53,77% van de tijd wint.
Nu kun je variabelen maken voor
EstFoldPercentenEquity, en vervolgens je functieAllinExpectedValue()maken.Nu is het een eenvoudige berekening. Je moet een functie bouwen die de volgende vergelijking weergeeft:
$FoldEV = (FoldPercent * FoldWinnings)$
$AllinEV = (1 - FoldPercent) * ((AllInWinnings * Equity) + (AllInLoses * (1 - Equity)))$
$AllinExpectedValue = FoldEV + AllinEV$
Vul nu de variabelen van Hand 1 in de functie
AllinExpectedValueen print je resultaten:Hand 1 Resultaten
Hero wint de hand met een set (drie dezelfde) tienen en verslaat een paar koningen.
Pocket achten versus preflop raise
Hand 2 Overzicht
In deze situatie zet Hero (GamingFoSho) \$1,10 en heeft nog \$28,58 over. Villain daarentegen raiset naar \$3,80 en heeft nog \$10,66 over. Er zit momenteel \$5,40 in de pot. Dit is een vergelijkbare situatie als de vorige hand. Wederom is callen geen goede optie. Folden kost niets, dus je moet bepalen of all-in raisen een positieve verwachtingswaarde heeft.
Als Hero all-in gaat, riskeert hij \$13,36 aangezien Villain nog \$10,66 over heeft en \$2,70 heeft ge-raiset. Hero wint \$16,06 als hij all-in gaat en de hand wint (Villain heeft nog \$10,66 over en er zit momenteel \$5,40 in de pot) en wint \$5,40 als hij all-in gaat en Villain foldt.
Hand 2 Relevante statistieken
Hand 2 Aannames
Gebaseerd op de bovenstaande statistieken maak ik de volgende aannames:
Hand 2 Analyse
Opnieuw gebruik ik een equity calculator om Hero’s equity te bepalen. In dit geval heeft Hero’s hand 35,84% equity tegen Villains range.
Nu kun je variabelen maken voor
EstFoldPercentenEquity.Vul nu de variabelen voor deze hand in de functie
AllinExpectedValueen print de resultaten.Hand 2 Resultaten
Hero wint de hand met een set achten tegen twee paren, azen en koningen. Dit was een gelukstreffer voortkomend uit een beslissing die op de lange termijn geld zou kosten. De optimale zet hier is folden.
Flop check-raise semi-bluff
Hand 3 Overzicht
Deze hand is op de flop en Hero (GamingFoSho) is als eerste aan de beurt en checkt. Hij heeft \$25,08. Villain bet \$1,06 en heeft nog \$25,37 over. Er zit momenteel \$2,66 in de pot.
Ook hier is callen geen goede optie, en folden kost niets. Hero moet beslissen of raisen in deze situatie, een zogeheten semi-bluff, een positieve verwachtingswaarde heeft. Een semi-bluff is wanneer je raiset met een draw, in dit geval een flushdraw.
Hero heeft nog geen gemaakte hand, want hij heeft op dit moment alleen aas-high, maar hij heeft vier harten en heeft nog maar één nodig voor een flush, wat een sterke hand is. Net als bij de eerste hand is de beste speelwijze bij een raise om klein te raisen en Villain de kans te geven te bluffen. Als Hero gewoon all-in zou gaan, zou Villain waarschijnlijk een hand als koning harten/boer harten folden.
Hero riskeert \$25,08 als hij all-in gaat. Hero wint \$26,68 als hij all-in gaat en de hand wint. Villain bette \$1,06, dus Hero moet dat bedrag evenaren vanuit de resterende \$25,08, waardoor Hero \$24,02 overhoudt. Dit betekent dat Hero nog eens \$24,02 kan winnen bovenop de \$2,66 die momenteel in de pot zit, voor in totaal \$26,68. Hero wint \$2,66 als Villain foldt.
Hand 3 Relevante statistieken
Hand 3 Aannames
Sommige handen hebben verschillende tinten geel. Daar zijn een paar redenen voor:
Hand 3 Analyse
Opnieuw vul ik Hero’s hand en Villains range in de equity calculator in, dit keer met ook de 3 flopkaarten. De equity calculator geeft aan dat Hero in deze situatie 43,58% wint.
Nu kun je je variabelen maken voor
EstFoldPercentenEquity.Vul nu de variabelen van Hand 3 in de functie
AllinExpectedValueen print de resultaten:Hand 3 Resultaten
Hero wint met een aas-high flush en verslaat Villains paar tienen.
Conclusie
Gefeliciteerd, je hebt deze tutorial over kansrekening met Python voltooid! Nadat je in het eerste deel van deze reeks over kansrekening en statistiek de kernbegrippen hebt geleerd, waaronder onafhankelijke/afhankelijke gebeurtenissen, permutaties en combinaties, meerdere gebeurtenissen, verwachtingswaarden en hoe je die berekent, heb je die concepten toegepast op praktijksituaties aan de pokertafel.
In deze tutorial kreeg je een veel dieper begrip van de verwachtingswaarde en gebruikte je dit concept om optimale beslissingen aan de pokertafel te nemen. Het is een uiterst nuttig concept om in gedachten te houden bij elke zakelijke of financiële beslissing, dus probeer de volgende keer dat je voor zo’n beslissing staat je opties te kwantificeren in termen van verwachtingswaarde.