Quote:
Originally Posted by RustyBrooks
It's been a while since I had to deal with this, but as I recall, I basically assigned a percentage change to each hand in each person's range. Randomly assign person 1 a hand in his range by weight, then do the same for person 2. If person 2's pick is impossible due to card removal, then start over for the whole deal - you can not just re-deal person 2
Quote:
Originally Posted by whosnext
I programmed a range-vs-range equity calculator several years ago (probably like many others in this forum).
My idea was to run through all the "viable" deals which had a hand in each person's range (each deal gets prob 1/D where D is the total number of "viable" deals). The algorithm simply looped sequentially over each hand in each person's range, looping over all N players' ranges one at a time.
For OP's example above, there are three viable deals: {[As2s, 2h2c], [KhKd, 2s2h], [KhKd, 2h2c]}. So D=3 and each of those elements (deals) would have probability 1/3.
Since it is deals that are random, the use of 1/D seemed correct to me at the time. Now that I see this thread I wonder if that was correct and gave correct equities??
Yeah, using Rusty's "full discard and resample" method, I get:
#1
{As2s, 2s2h} = (0.25)
{As2s, 2c2h} = 0.25
{KdKh, 2s2h} = 0.25
{KdKh, 2c2h} = 0.25
#2
{As2s, 2s2h} = (0.25*0.25)
{As2s, 2c2h} = 0.25*0.25
{KdKh, 2s2h} = 0.25*0.25
{KdKh, 2c2h} = 0.25*0.25
#3
{As2s, 2s2h} = (0.25*0.25)
{As2s, 2c2h} = 0.25*0.25*0.25
{KdKh, 2s2h} = 0.25*0.25*0.25
{KdKh, 2c2h} = 0.25*0.25*0.25
.
.
.
{As2s, 2c2h} = 0.25 + 0.25^2 + 0.25^3 + ... = 1/3
{KdKh, 2s2h} = 0.25 + 0.25^2 + 0.25^3 + ... = 1/3
{KdKh, 2c2h} = 0.25 + 0.25^2 + 0.25^3 + ... = 1/3
No idea where the "2s2h 58% and 2c2h 42%" values come from, but I'm also questioning whether this method is correct (could it be something to do with "2h" being in each hand)?
BTW: The "full discard and resample" method is what PokerStove used for it's monte-carlo sim. See this old thread for a discussion about some of the different possibilities to use instead (afaik, none of them work properly though...):
http://archives1.twoplustwo.com/show...fpart=all&vc=1
and if you look at the bottom of the thread for the posts by Andrew Prock, his attempt to improve on the "full discard and resample" method, also ended up bugged and he had to revert to his code.
Juk