Welcome, Guest. Please login or register.
May 20, 2019, 09:29:07 PM
Home Help Login Register
News:

Shanky Technologies Poker Bot Support Forum  |  General Category  |  Gambling Theory (Moderator: sngbot)  |  Topic: Effective Stacksize 0 Members and 1 Guest are viewing this topic.
Pages: [1] Print
Author Topic: Effective Stacksize  (Read 8077 times)
superbot
Experienced Botter
*****

Karma: 16
Posts: 368



« on: August 22, 2015, 03:12:40 PM »

Hi Guys

I often see different ways of defining effective stacksizes.
So to make a long story short:

The effective stack size is the size of the smallest stack when two players are in a pot.

That's it. No equations, no tricky theory.


So if we stick to that use MaxStillToActStackSize as
effective stacksize instead of StackSize when StackSize
is bigger and use StackSize when StackSize is smaller.
« Last Edit: August 22, 2015, 04:06:13 PM by superbot » Logged

superbot
Often in error - never in doubt
Egor
Forum Admin
Extreme Botter
*****

Karma: 347
Posts: 32763



WWW
« Reply #1 on: August 22, 2015, 06:54:59 PM »

The problem is the bot doesn't know the stacksize of a specific live opponent, unless the opponent pushes (then we know opponentisallin and amounttocall). It only knows the snapshot of stack sizes at the table before any cards are dealt, and which ones have not yet acted on the first orbit.
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
superbot
Experienced Botter
*****

Karma: 16
Posts: 368



« Reply #2 on: August 22, 2015, 07:42:29 PM »

@Egor

Now you confuse me. Do you mean that we can't rely on
MaxStillToActStackSize ?

If you mean that the stacksize is before the hand but
otherwise correct, I can live with that. I can also accept
that it's only players left at first orbit.
Logged

superbot
Often in error - never in doubt
Egor
Forum Admin
Extreme Botter
*****

Karma: 347
Posts: 32763



WWW
« Reply #3 on: August 22, 2015, 07:58:20 PM »

MaxStilltoActStacksize works as described. Make sure you understand how it is described.

It is pretty much useless post-flop unless you started in the small blind and everyone folded, or are playing heads up.
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
superbot
Experienced Botter
*****

Karma: 16
Posts: 368



« Reply #4 on: August 22, 2015, 10:07:13 PM »

Ok. Thanks for the information ! thumbsup
Logged

superbot
Often in error - never in doubt
bardon
Confident Newbie
**

Karma: 6
Posts: 85


« Reply #5 on: August 24, 2015, 03:04:14 AM »

The problem is the bot doesn't know the stacksize of a specific live opponent, unless the opponent pushes (then we know opponentisallin and amounttocall). It only knows the snapshot of stack sizes at the table before any cards are dealt, and which ones have not yet acted on the first orbit.




OpponentIsAllIn in the first orbit is only valid if you're in bb, in the second orbit only if Opponents = 1
Logged
bardon
Confident Newbie
**

Karma: 6
Posts: 85


« Reply #6 on: August 24, 2015, 03:11:16 AM »

Hi Guys

I often see different ways of defining effective stacksizes.
So to make a long story short:

The effective stack size is the size of the smallest stack when two players are in a pot.

That's it. No equations, no tricky theory.


So if we stick to that use MaxStillToActStackSize as
effective stacksize instead of StackSize when StackSize
is bigger and use StackSize when StackSize is smaller.

try these commands are for cash, I think they are an example of what you wrote

// user stack//

when  StackSize <= 25 user_push
when  StackSize > 25 and StackSize <= 50 user_sss
when  StackSize > 50 and StackSize <= 80 user_mss
when  StackSize > 80 user_bss

// user stack converted//

when  (user_bss or user_mss or user_sss) and Raises = 0 and Calls = 0 and maxstilltoactstacksize <= 25 user_push
when  (user_bss or user_mss) and Raises = 0 and Calls = 0 and maxstilltoactstacksize <= 50 and not (user_push) user_sss
when  (user_bss) and Raises = 0 and Calls = 0 and maxstilltoactstacksize <= 80 and not (user_push or user_sss) user_mss

when  (user_bss or user_mss or user_sss) and maxopponentstacksize <= 25 user_push
when  (user_bss or user_mss) and maxopponentstacksize <= 50 and not (user_push) user_sss
when  (user_bss) and maxopponentstacksize <= 80 and not (user_push or user_sss) user_mss
Logged
Egor
Forum Admin
Extreme Botter
*****

Karma: 347
Posts: 32763



WWW
« Reply #7 on: August 24, 2015, 03:24:43 AM »

Quote
OpponentIsAllIn in the first orbit is only valid if you're in bb, in the second orbit only if Opponents = 1

Not correct at all. Opponentisallin is true at any time in the hand if an opponent has gone all-in.
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
bardon
Confident Newbie
**

Karma: 6
Posts: 85


« Reply #8 on: August 24, 2015, 10:41:41 AM »

I'm not sure I understood this command.
opponentsisallin and true only if Opponents = 1
in these sitazione it is true or false?

1.when botslastaction = none and calls = 1 and raises   = 1 and opponentisallin and amountocall <= 50

2.when botslastaction = raise and callssincelastraise = 1and raisessincelasplay = 1 and opponentsisallin and amonttocall <= 50

I think that in these situations the command opponentisallin not good because the Opponents> 1
what do you think about it?
Logged
superbot
Experienced Botter
*****

Karma: 16
Posts: 368



« Reply #9 on: August 24, 2015, 02:27:11 PM »

OpponentIsAllIn can be true even if there are more Opponents
than 1. Please read the PPL User Guide.
Logged

superbot
Often in error - never in doubt
superbot
Experienced Botter
*****

Karma: 16
Posts: 368



« Reply #10 on: August 24, 2015, 02:42:21 PM »

try these commands are for cash, I think they are an example of what you wrote

// user stack//

when  StackSize <= 25 user_push
when  StackSize > 25 and StackSize <= 50 user_sss
when  StackSize > 50 and StackSize <= 80 user_mss
when  StackSize > 80 user_bss

// user stack converted//

when  (user_bss or user_mss or user_sss) and Raises = 0 and Calls = 0 and maxstilltoactstacksize <= 25 user_push
when  (user_bss or user_mss) and Raises = 0 and Calls = 0 and maxstilltoactstacksize <= 50 and not (user_push) user_sss
when  (user_bss) and Raises = 0 and Calls = 0 and maxstilltoactstacksize <= 80 and not (user_push or user_sss) user_mss

when  (user_bss or user_mss or user_sss) and maxopponentstacksize <= 25 user_push
when  (user_bss or user_mss) and maxopponentstacksize <= 50 and not (user_push) user_sss
when  (user_bss) and maxopponentstacksize <= 80 and not (user_push or user_sss) user_mss

No. Effective Stacksize is all about the difference between
your stacksize and another players stacksize. See my
first post.

// Define Effective Stack
When MaxStillToActStackSize >= 100% StackSize UserEFStack // StackSize = Effective Stack
When MaxStillToActStackSize < 100% StackSize UserEFMax  // MaxStillToActStackSize = Effective Stack

Then use the uservariables to define the correct play.
« Last Edit: August 25, 2015, 02:42:32 PM by superbot » Logged

superbot
Often in error - never in doubt
bardon
Confident Newbie
**

Karma: 6
Posts: 85


« Reply #11 on: August 27, 2015, 09:48:14 AM »


your first post from the right definition of the effective stack.
Your user are wrong.

// Define Effective Stack
When MaxStillToActStackSize >= 100% StackSize UserEFStack // StackSize = Effective Stack

ex.1
utg 100bb fold
hj   200bb call
co    50bb fold
bu(hero) 500bb raise
sb    1000 bb fold
bb    1000 bb fold

according to your user stacksize the actual is 500, instead the real effective stack is 200
//////////////////////
ex.2
When MaxStillToActStackSize < 100% StackSize UserEFMax  // MaxStillToActStackSize = Effective Stack

utg 100bb fold
hj   200bb call
co    50bb fold
bu(hero) 500bb raise
sb     50 bb fold
bb     50 bb fold


according to your user stacksize the actual is 50, instead the real effective stack is 200
you can't correct play with this user.

I can do other examples but the substance is that these users do not work

the effective stacks can not be calculated because the bot does not value the stack of the players.
the least worst way you can use is what I wrote in my post, is not perfect,It is partial, but when it comes into operation the values are correct. but it is the best you can do,


Logged
ykcip75
Experienced Botter
*****

Karma: 51
Posts: 351


Shanky Bonus Bots Rock!


« Reply #12 on: August 28, 2015, 02:03:19 PM »

This is not how to do the Effective StackSize.

1) You only do it in heads-up because in any other case it's a complete non-sense especially if someone has already put something in the pot.

2)  You do it preflop.

3) You assign a specific amount to it

ex : when (StackSize < 20 or MinOpponentStackSize < 20) .... // Effective Stacksize below 20
Logged
superbot
Experienced Botter
*****

Karma: 16
Posts: 368



« Reply #13 on: August 31, 2015, 02:36:46 PM »

This is not how to do the Effective StackSize.

1) You only do it in heads-up because in any other case it's a complete non-sense especially if someone has already put something in the pot.

2)  You do it preflop.

3) You assign a specific amount to it

ex : when (StackSize < 20 or MinOpponentStackSize < 20) .... // Effective Stacksize below 20

First of: In principle I agree.

But in tournaments it's important not to focus too much
on the bots own stacksize. Say you have a table like this:

Hijack:              2000  fold
Cut Off:            2000   fold
Button:            1500   fold
Small Blind:      1500  Hero
Big Blind:            200

Blinds:                100/50

In this case you have 15 BB and how many hands would
most of the profiles push???  Right, too few!!
So in this case you are much better of using 2BB as Effec-
tive StackSize. If you calculate the above with Holdem
Resourses Calculator you get:

86.7%, 22+ 9x+ 82s+ 84o+ 73s+ 74o+ 63s+ 65o 53s+ 43s

Logged

superbot
Often in error - never in doubt
ykcip75
Experienced Botter
*****

Karma: 51
Posts: 351


Shanky Bonus Bots Rock!


« Reply #14 on: August 31, 2015, 06:53:47 PM »

First of: In principle I agree.

But in tournaments it's important not to focus too much
on the bots own stacksize. Say you have a table like this:

Hijack:              2000  fold
Cut Off:            2000   fold
Button:            1500   fold
Small Blind:      1500  Hero
Big Blind:            200

Blinds:                100/50

In this case you have 15 BB and how many hands would
most of the profiles push???  Right, too few!!
So in this case you are much better of using 2BB as Effec-
tive StackSize. If you calculate the above with Holdem
Resourses Calculator you get:

86.7%, 22+ 9x+ 82s+ 84o+ 73s+ 74o+ 63s+ 65o 53s+ 43s



HoldemRessources calculator ranges is only right in STTs, that means in your MTT your ranges are only right in the final table if you have correctly set the pricepool according to your MTT. If there are still other tables left it's very difficult to find the Range for a specific situation.

If you use the calculator for the MTTs maybe you can do something like this if this is not the final table you put the structure to 1.
That means the winner of table takes all because the chipleader will be in the money and will win the tournament.
And then use the real payout structure when you reach the final table to calculate your ranges. If you know your tournament you can identify the final table using the BigBlindSize variable (Freezouts Only).

Personally in your situation with 15 BB alone in small blind with the bigblind whatever his stack I push any two cards.

explanation :

1) It's the best spot to steal blinds

2) My M is 10 and the next blind level is going to be 100/200 or maybe 75/150 in between maybe with antes
    my fold equity is going down.

3) I have lost the ability to raise with big cards and small pairs etc...

The Best thing to do in that situation if you can afford to wait and your normal strategy is to fold then fold, if you can't push.
Logged
superbot
Experienced Botter
*****

Karma: 16
Posts: 368



« Reply #15 on: August 31, 2015, 10:38:35 PM »

@ykcip75

You take this way too serious. The example could be STT SNG
right. My point is that if you code the bot only from the bots
stacksize you are left not knowing why your profile is loosing!
Logged

superbot
Often in error - never in doubt
ykcip75
Experienced Botter
*****

Karma: 51
Posts: 351


Shanky Bonus Bots Rock!


« Reply #16 on: September 01, 2015, 09:58:12 AM »

@ykcip75

You take this way too serious. The example could be STT SNG
right. My point is that if you code the bot only from the bots
stacksize you are left not knowing why your profile is loosing!

You're right in fact when you said tournaments I thought you were only talking about MTT. I totally agree in SNG you must also focus on the opponents stacksize avoid the big stack if you are in a good cash position and push-steal the small stacks.
The push I stated before is totally wrong in SNG. But In MTT since your goal is get all the chips involved in that tournament focus a lot more in your stack.
Logged
superbot
Experienced Botter
*****

Karma: 16
Posts: 368



« Reply #17 on: September 01, 2015, 02:18:29 PM »

Ok. Nice little chat we got there. Guess we have rounded
it up  thumbsup
Logged

superbot
Often in error - never in doubt
Pages: [1] Print 
Shanky Technologies Poker Bot Support Forum  |  General Category  |  Gambling Theory (Moderator: sngbot)  |  Topic: Effective Stacksize
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!