Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calculations of reactions to opponents' actions (call, fold) #212

Open
ShestakovPD opened this issue Nov 27, 2023 · 1 comment
Open

Calculations of reactions to opponents' actions (call, fold) #212

ShestakovPD opened this issue Nov 27, 2023 · 1 comment

Comments

@ShestakovPD
Copy link

This topic will discuss the issues of calculating the actions of opponents to make a decision on calling or folding a bet, to make changes to the strategy code. Reasoned criticism of all material and calculations is strongly encouraged.

@ShestakovPD
Copy link
Author

ShestakovPD commented Nov 27, 2023

Basic information on the topic:

Pot odds in poker are the ratio between the current pot size and the price of your call.
It's the reward versus risk ratio that poker is all about. Minimizing risk while maximizing reward.

For example, 3 to 1 (3:1);
The first (larger) number in the ratio is always the size of the pot (i.e. the reward),
and the number 1 is always the call amount (i.e. the risk). For example, 3 to 1.

The pot odds formula is as follows:
Pot Odds = Reward / Risk

If the pot odds are better (greater) than the probability of you winning the hand, then
your call has a positive expected value (+EV), and if the pot odds are lower,
than the odds of winning, then your game has a negative expectation (-EV). Eg,
If you get 5 to 1 pot odds to call and you flop a flush draw, then the call will be
have +EV because the odds of hitting a flush by the river are 1.86:1.

1/4 bank: 5:1
1/3 bet per pot: 4:1
1/2 bank: 3:1
3/4 bet per pot: 2.5:1
Bet pot: 2:1

Converting pot odds from ratio to percentage (essentially to equity)
[ risk ] / [ risk + reward ] *100%
3:1
[1/ (1+3) ]*100 = 0.25 * 100%=25%

You should then compare this value to the equity of your hand to see if you can continue to be profitable.

1:1 = 50%
2:1 = 33%
3:1 = 25%
4:1 = 20%
5:1 = 17%
6:1 = 14%
7:1 = 12.5%
8:1 = 10%

Bet sizing Required equity to call
(% of pot)
25%________ 16%
33%_________20%
50%_________25%
66%_________28%
75%_________30%
100%________33%
150%________37.50%
200%________40%

Situation:
Player1 CO
Hero BU 40% Equity
Pot size 50BB
Player1 BET 1/2 Pot 25BB
Hero Call ---> ????

  1. The player gives us the pot odds with his bet 3:1
    Bank+bet (50+25=75) / (bet size)=25

  2. Convert to percentages (essentially to equity bets)
    Converting pot odds from ratio to percentage
    [risk] / [risk+reward] *100%
    3:1 [1/ (1+3) ]100 = 0.25100%=25%
    For the current situation
    3:1 [ 25 / ( 25+75 ) ] * 100 = 0.25% * 100%= 25% ----> 25% equity
    (necessary for +EVcall) or hero must have more than >25% equity

  3. CALL
    Let's see how we stand against this ratio
    Hero has 40% equity in the hand on the current street and on this board we are facing a bet of 25% equity,
    this is CALL

Player1_equity_bet = 25% (bet equity!!! not absolute equity of opponent's range!!!)
if flop Hero_equity = 40% > Player1_equity : CALL

4.FOLD
Bank 50
If in a given pot Player1 bets 250% of the pot, that is 125BB
[125/(125+175)]*100%=41.66%

Player1_BET_equity= 41.66% (not the equity of the entire range!!!! but the equity of the bet)
if flop Hero_equity = 40% > Player1_BET_equity : CALL
else flop Hero_equity = 40% < Player1_BET_equity : FOLD

For coding
Basic input data:

Pot size before opponent's bet = BANK_start
Opponent's bet size to call = BET_OPP
Pot size after opponents bet = BANK_final (BANK_start + BET_OPP)
absolute Equity of the opponent - does not participate in calculations and when making a decision to call
absolute Equity HERO = HERO_EQ
BET_Equity = [ BET_OPP / ( BET_OPP+BANK_final ) ] * 100%

if flop Hero_EQ > BET_equity : CALL
else flop Hero_EQ < BET_equity : __absolute Equity OPP = True
transferred for calculation taking into account the opponent’s absolute equity
and FOLD if it does not meet the requirements for calling the opponent’s absolute equity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant