Image Image Image




Post new topic Reply to topic  [ 5 posts ] 
Author Message
 Post subject: Question about oppPercentage method in icm class
PostPosted: Mon Oct 05, 2009 10:09 pm 
Offline
Junior member
User avatar

Posts: 23
Favourite Bot: none
Hi all
I keep on testing the icm class and i'm looking at the oppPercentage method.
The goal of the method is clear for me, and the way it is structured is also clear...but I have doubts about the results.
I went on to test the method with the following data on input:

Quote:
int myIndex = 0;
int oppIndex = 1;
double calledBefore = 0;
int[] myHand ={11, 11}; pocket pair of kings
double [][] playerDataCall = {
{1455, 200, 15,0,0,0,0,0},
{3470, 100, 30,0,0,0,0,0},
{4010, 0, 25,0,0,0,0,0},
{2330, 0, 10,0,0,0,0,0},
{680, 0, 10,0,0,0,0,0},
{1555, 0, 10,0,0,0,0,0},
{0, 0, 0,0,0,0,0,0},
{0, 0, 0,0,0,0,0,0},
{0, 0, 0,0,0,0,0,0},
{0, 0, 0,0,0,0,0,0}};


and I get the following result : myWin% = 0,6775 and opponent%= 0,3225

...but if i look at pokerstove and try to figure how KK compares to Top30%, the result is myWin% = 0,77322 which is quite different :oops:

So what ? Where is the problem ?


Top
 Profile E-mail  
 
 Post subject: Re: Question about oppPercentage method in icm class
PostPosted: Tue Oct 06, 2009 1:26 pm 
Offline
Junior member
User avatar

Posts: 23
Favourite Bot: none
Actually, I don't understand the following calculation:

Quote:
for (int i = 0; i < 51; i++) {
for (int a = i + 1; a < 52; a++) {
total++;
if (playerData[oppIndex][CALLRANGE] >= handValues[i][a] && (myHand[0] != i && myHand[0] != a && myHand[1] != i && myHand[1] != a)) {
lkm++;
// suited
if (i / 13 == a / 13) {
if (i > a)
oppHandIndex = indexArray[i % 13][a % 13];
else
oppHandIndex = indexArray[a % 13][i % 13];
}
// offsuit
else {
if (i % 13 > a % 13)
oppHandIndex = indexArray[a % 13][i % 13];
else
oppHandIndex = indexArray[i % 13][a % 13];
}

myWinPercent += evs[myHandIndex][oppHandIndex];
oppWinPercent += evs[oppHandIndex][myHandIndex];
}
if (myHand[0] == i || myHand[0] == a || myHand[1] == i || myHand[1] == a)
crash++;
}


...and the date in handValues array. Can someone explain (or give link reference) how this array works ?


Top
 Profile E-mail  
 
 Post subject: Re: Question about oppPercentage method in icm class
PostPosted: Tue Oct 06, 2009 10:14 pm 
Offline
Junior member
User avatar

Posts: 23
Favourite Bot: none
Well, i keep on testing with the same data as before ;)

Quote:
int myIndex = 0;
int oppIndex = 1;
double calledBefore = 0;
int[] myHand ={11, 11}; pocket pair of kings
double [][] playerDataCall = {
{1455, 200, 15,0,0,0,0,0},
{3470, 100, 30,0,0,0,0,0},
{4010, 0, 25,0,0,0,0,0},
{2330, 0, 10,0,0,0,0,0},
{680, 0, 10,0,0,0,0,0},
{1555, 0, 10,0,0,0,0,0},
{0, 0, 0,0,0,0,0,0},
{0, 0, 0,0,0,0,0,0},
{0, 0, 0,0,0,0,0,0},
{0, 0, 0,0,0,0,0,0}};


and i have the following results (the result given in my first post was wrong):

method oppPercentages:
playerData[oppIndex][HOLDPERC]: 0.29411764705882354
playerData[oppIndex][CALLPERC]: 0.29411764705882354
playerData[oppIndex][WINPERC]: 0.7646226799291101


method myWinPercentage:
myWinPercentage: 0.7646226799291101

I think there are 2 problems:

The first one is that the result of myWinPercentage is near but not the same as the one given by Pokerstove
Quote:
3,565,016,928 games 3.008 secs 1,185,178,500 games/sec

Board:
Dead:

equity win tie pots won pots tied
Hand 0: 77.322% 76.93% 00.39% 2742609864 13941288.00 { KK }
Hand 1: 22.678% 22.29% 00.39% 794524488 13941288.00 { 55+, A2s+, K5s+, Q7s+, J8s+, T8s+, 98s, A7o+, A5o, K9o+, Q9o+, J9o+, T9o }


Not a big difference (0.9%) but it's not the same !

The second one is that i think there is a mistake in playerData[oppIndex][WINPERC] because it has the same value that myWinPercentage ! I think it should be 1-0.7646226799291101=0.2353773200708899. Am I wrong ?

Hope this post will be of interest to someone.


Top
 Profile E-mail  
 
 Post subject: Re: Question about oppPercentage method in icm class
PostPosted: Fri Oct 16, 2009 5:22 pm 
Offline
Junior member
User avatar

Posts: 21
Favourite Bot: R2-D2
Quote:
Not a big difference (0.9%) but it's not the same !


AA vs 40% (SNGEGT 85,92%;PokerProTools 84.84%)
22 vs 25% (SNGEGT 44,27%;PokerProTools 43.81%)

maybe SNGEGT uses different handranking...
BTW where can i find SNGEGT's handIndices? I only know 0 = AA and 168 =22.

p.s.:im not sure but as i can remeber the author of SNGEGT wrote once to this forum.(i cant find that post) is he still around?


Top
 Profile E-mail  
 
 Post subject: Re: Question about oppPercentage method in icm class
PostPosted: Tue Oct 20, 2009 8:22 pm 
Offline
Junior member
User avatar

Posts: 23
Favourite Bot: none
Dinky Island wrote:
Quote:
Not a big difference (0.9%) but it's not the same !


AA vs 40% (SNGEGT 85,92%;PokerProTools 84.84%)
22 vs 25% (SNGEGT 44,27%;PokerProTools 43.81%)

maybe SNGEGT uses different handranking...


I think you're right when you say that it's all about a difference in hand ranking.

Dinky Island wrote:
BTW where can i find SNGEGT's handIndices? I only know 0 = AA and 168 =22.


Here is what I've understood by testing the icm class:

myHand is an array of 2 integers, both of which representing a player's card:
2 equals 0, 3 equals 1,..., K equals 11 and A equals 12.
If the hand is suited, we just have the values above with the first figure greater than the second one (ex: A4s = (12,2). myHandIndex will be an odd number (ex A4s = 19).
If the hand is offsuit, we have to take one of the 2 cards and add 13 so that the second number will be greater than the first one (ex: A4o = (12,15). myHandIndex will be an even number (ex A4o = 20).
If the hand is a pocket pair, we have to add 13 to the second figure (ex: KK = (11,24). myHandIndex will be an odd number (ex KK = 25).

And now about indexArray:

This table gives us the number of a particular hand(myHandIndex).
Eg: AA is 0, AKs is 1, AKo is 2, KK is 25, A4o is 20, 76s is 134, 22 is 168.
Then myHandIndex is used to retrieve pourcentage of victory preflop against opponentHandIndex in the evs matrix.

Hope this will help 8-)


Top
 Profile E-mail  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: