Poker-AI.org Poker AI and Botting Discussion Forum 2013-09-30T02:53:53+00:00 http://poker-ai.org/phpbb/feed.php?f=24&t=2534 2013-09-30T00:51:38+00:00 2013-09-30T00:51:38+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2534&p=5025#p5025 <![CDATA[Re: Bucketing]]> It's a bit like the best of both worlds (perfect and imperfect recall).

Statistics: Posted by cantina — Mon Sep 30, 2013 12:51 am


]]>
2013-09-30T00:18:19+00:00 2013-09-30T00:18:19+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2534&p=5024#p5024 <![CDATA[Re: Bucketing]]> Nasher wrote:

Another idea, along the same lines...

In the example above, we project forward from the flop, determining the possible win/tie/loss distribution on the turn/river. However, the problem with using LUTs, from the river we can't determine how our hand evolved to it's current state. For example, if the flop came Ac As Ad, then 2s on the turn and 3d on the river, it would be the same river board but a strategically different hand had we flopped As 2s 3d, then turned/rivered Ac Ad. To deal with this (while maintaining the same sized river LUT), we can project backwards, looking at the possible distributions that lead to our current river hand. So, at any given round, we're projecting forwards and backwards in time, in the same hisogramatical fashion mentioned above. We can then perform stat descriptives on the histograms and cluster these hands into buckets that engender some sense of the complete game.

From the river, I have about 47 attributes per hand -- a big clustering problem, but not infeasible. That's about 2.5 billion pieces of data.


i haven't entirely figured out what you're doing, but how is this different from recalling our buckets on previous streets?

Statistics: Posted by somehomelessguy — Mon Sep 30, 2013 12:18 am


]]>
2013-09-30T02:53:53+00:00 2013-09-29T04:42:55+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2534&p=5020#p5020 <![CDATA[Re: Bucketing]]>
In the example above, we project forward from the flop, determining the possible win/tie/loss distribution on the turn/river. However, the problem with using LUTs, from the river we can't determine how our hand evolved to it's current state. For example, if the flop came Ac As Ad, then 2s on the turn and 3d on the river, it would be the same river board but a strategically different hand had we flopped As 2s 3d, then turned/rivered Ac Ad. To deal with this (while maintaining the same sized river LUT), we can project backwards, looking at the possible distributions that lead to our current river hand. So, at any given round, we're projecting forwards and backwards in time, in the same histogramatical fashion mentioned above. We can then perform stat descriptives on the histograms and cluster these hands into buckets that engender some sense of the complete game.

From the river, I have about 47 attributes per hand -- a big clustering problem, but not infeasible. That's about 2.5 billion pieces of data.

Statistics: Posted by cantina — Sun Sep 29, 2013 4:42 am


]]>
2013-09-22T20:11:05+00:00 2013-09-22T20:11:05+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2534&p=4982#p4982 <![CDATA[Re: Bucketing]]> Statistics: Posted by cantina — Sun Sep 22, 2013 8:11 pm


]]>
2013-09-22T10:18:34+00:00 2013-09-22T10:18:34+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2534&p=4980#p4980 <![CDATA[Re: Bucketing]]> Hipp wrote:

There is only 1755 different flop boards. I don't know how you get 22k ?


There are 22100 = C(52,3) distinct flops and 1755 isomorphic flops.

Statistics: Posted by nemesis17 — Sun Sep 22, 2013 10:18 am


]]>
2013-09-22T05:21:42+00:00 2013-09-22T05:21:42+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2534&p=4979#p4979 <![CDATA[Re: Bucketing]]> Statistics: Posted by Hipp — Sun Sep 22, 2013 5:21 am


]]>
2013-09-18T02:49:14+00:00 2013-09-18T02:49:14+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2534&p=4958#p4958 <![CDATA[Re: Bucketing]]>
I think the neo poker guys did something like this for their HUL bot that won the 2013 ACPC. The above metrics reduced the number of flop boards from about 22k to 2.2k, just by removing duplicates, no clustering. They probably reduced the game size significantly in this fashion while retaining statistical relevance to the real, unabstracted game.

Statistics: Posted by cantina — Wed Sep 18, 2013 2:49 am


]]>
2013-09-17T13:10:36+00:00 2013-09-17T13:10:36+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2534&p=4953#p4953 <![CDATA[Re: Bucketing]]> Statistics: Posted by proud2bBot — Tue Sep 17, 2013 1:10 pm


]]>
2013-07-26T02:21:20+00:00 2013-07-26T02:21:20+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2534&p=4530#p4530 <![CDATA[Re: Bucketing]]> Statistics: Posted by cantina — Fri Jul 26, 2013 2:21 am


]]>
2013-07-22T12:25:24+00:00 2013-07-22T12:25:24+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2534&p=4512#p4512 <![CDATA[Re: Bucketing]]> Statistics: Posted by Hipp — Mon Jul 22, 2013 12:25 pm


]]>
2013-07-21T14:43:28+00:00 2013-07-21T14:43:28+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2534&p=4507#p4507 <![CDATA[Bucketing]]>
For example, from the flop, we roll out each turn, creating three histograms versus all op pockets. Then we calculate something like Skewness and Kurtosis for each histogram, giving us an idea of how the data within those histograms is distributed (stored in just 6 variables). We do the same for each river too. Including the current, normalized flop ahead/tied/behind, that's a total of 15 variables per hand from the flop, which describes the entire distribution of hands at each round, instead of just the hand strength on the river like with KHE and KHO.

Code:
for each turn ...
{
  for each op_pocket ...
  {
    if (myev > opev) ahead_count += 1;
    ...
  }
  ahead_histogram[(ahead_count / total) * size] += 1;
  ...
}

a_kurtosis = kurtosis(ahead_histogram);
a_ skewness = skewness(ahead_histogram);
...

Statistics: Posted by cantina — Sun Jul 21, 2013 2:43 pm


]]>