Poker-AI.org Poker AI and Botting Discussion Forum 2013-04-10T06:47:06+00:00 http://poker-ai.org/phpbb/feed.php?f=24&t=2444 2013-04-10T06:47:06+00:00 2013-04-10T06:47:06+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2444&p=3747#p3747 <![CDATA[Re: Modified Malmuth-Weizman algorithm]]> trojanrabbit wrote:

Are you thinking of this?

Tysen

YES! Thanks for that link.

Statistics: Posted by Coffee4tw — Wed Apr 10, 2013 6:47 am


]]>
2013-04-08T08:02:48+00:00 2013-04-08T08:02:48+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2444&p=3716#p3716 <![CDATA[Re: Modified Malmuth-Weizman algorithm]]> concretemixer wrote:

Okay, and any results in terms of ROI and profit?

Sorry, but I haven't any results with ROI or profit. I just saw that the small stacks have smaller equity than in MH or MW, and I believe the biggest problem with the ICM is the overvalue of the small stacks (and undervalue the big stacks, but this algorithm give just a little more equity for big stacks).

Someone can test it? I don't have the knowledge to simulate or calculate and compare equity models... :(

Statistics: Posted by morcos — Mon Apr 08, 2013 8:02 am


]]>
2013-04-08T05:53:26+00:00 2013-04-08T05:53:26+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2444&p=3713#p3713 <![CDATA[Re: Modified Malmuth-Weizman algorithm]]> morcos wrote:

concretemixer wrote:
morcos wrote:
With this little change we've got a better approch and results than the original MW and the classic ICM.

Can you tell how exactly did you measure and compare the results?


These are examples from the paper of Ben Roberts plus the modified Malmuth-Weitzman (MMW) method:

Okay, and any results in terms of ROI and profit?

Statistics: Posted by concretemixer — Mon Apr 08, 2013 5:53 am


]]>
2013-04-08T01:42:50+00:00 2013-04-08T01:42:50+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2444&p=3710#p3710 <![CDATA[Re: Modified Malmuth-Weizman algorithm]]> Coffee4tw wrote:

Speaking of improving ICM and Tysen aka trojanrabbit just showing up again on here, didn't you have a sick improvement that scaled really well? I can't remember exactly what it was now...

Are you thinking of this?

Tysen

Statistics: Posted by trojanrabbit — Mon Apr 08, 2013 1:42 am


]]>
2013-04-07T20:30:27+00:00 2013-04-07T20:30:27+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2444&p=3708#p3708 <![CDATA[Re: Modified Malmuth-Weizman algorithm]]> concretemixer wrote:

morcos wrote:
With this little change we've got a better approch and results than the original MW and the classic ICM.

Can you tell how exactly did you measure and compare the results?


These are examples from the paper of Ben Roberts plus the modified Malmuth-Weitzman (MMW) method:
Code:
Stacks   MH      Diff.   MMW      Diff.   BR      Diff.   "True equity"
2000      11,56      0,75   10,48      0,33   10,84      0,03   10,81
3000      16,47      0,48   16,23      0,24   16,09      0,10   15,99
4000      20,69      0,01   20,88      0,20   20,78      0,10   20,68
5000      24,18      0,45   24,64      0,01   24,60      0,03   24,63
6000      27,10      0,80   27,77      0,13   27,70      0,20   27,90
Total      100,00   2,49   100,00   0,91   100,01   0,46   100,01
(%)
                     
Stacks   MH      Diff.   MMW      Diff.   BR      Diff.   "True equity"
1000      83,3      1,2   83,2      1,1   82,1      0,0   82,1
1000      83,3      1,2   83,2      1,1   82,1      0,0   82,1
2000      133,3      2,5   133,6      2,2   135,7      0,1   135,8
Total      299,9      4,9   300,0      4,4   299,9      0,1   300,0
($)
                     
Stacks   MH      Diff.   MMW      Diff.   BR      Diff.   "True equity"
1000      19,1      2,5   19,0      2,4   15,5      1,1   16,6
9000      137,4      1,2   137,4      1,2   139,2      0,6   138,6
10000   143,5      1,3   143,7      1,1   145,3      0,5   144,8
Total      300,0      5,0   300,1      4,7   300,0      2,2   300,0
($)

Statistics: Posted by morcos — Sun Apr 07, 2013 8:30 pm


]]>
2013-04-07T18:11:48+00:00 2013-04-07T18:11:48+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2444&p=3701#p3701 <![CDATA[Re: Modified Malmuth-Weizman algorithm]]> morcos wrote:

With this little change we've got a better approch and results than the original MW and the classic ICM.

Can you tell how exactly did you measure and compare the results?

Statistics: Posted by concretemixer — Sun Apr 07, 2013 6:11 pm


]]>
2013-04-07T09:51:36+00:00 2013-04-07T09:51:36+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2444&p=3697#p3697 <![CDATA[Re: Modified Malmuth-Weizman algorithm]]> Coffee4tw wrote:

Speaking of improving ICM and Tysen aka trojanrabbit just showing up again on here, didn't you have a sick improvement that scaled really well? I can't remember exactly what it was now...

Ben Roberts did an improvement: http://www.poker-ai.org/archive/www.pokerai.org/pf3/viewtopic39f7.html?f=64&t=4415

But the problem with that method is, it is very computing expensive.

My method is somewhere in the middle of MH and Ben Roberts' method. It is the same speed of classic ICM for a place, but because of the need to calculate every places this is slower than ICM.

Statistics: Posted by morcos — Sun Apr 07, 2013 9:51 am


]]>
2013-04-07T05:40:40+00:00 2013-04-07T05:40:40+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2444&p=3695#p3695 <![CDATA[Re: Modified Malmuth-Weizman algorithm]]> Statistics: Posted by Coffee4tw — Sun Apr 07, 2013 5:40 am


]]>
2013-04-05T11:15:17+00:00 2013-04-05T11:15:17+00:00 http://poker-ai.org/phpbb/viewtopic.php?t=2444&p=3682#p3682 <![CDATA[Modified Malmuth-Weizman algorithm]]>
I modified the Malmuth-Weizman formula a little bit. Every player has a probability of next elimination by inversely proportion to his stack. If a player eliminated instead of reallocates his chips evenly amongst the remaining players, reallocates his chips proportionaly amongst the remaining players.

With this little change we've got a better approch and results than the original MW and the classic ICM.

The only problem with this method is that is very slow, beacuse we need to calculate every players elemination from 10 to 0 players (in a full SNG for example).

Here is my code:
Code:
template<typename T>
void SetEquitiesByICM2(T equities[NCHAIRS], double stacks_new[NCHAIRS], double prs[NCHAIRS], double pr_total, unsigned int place) {
  for (unsigned int playerchair = 0; playerchair < NCHAIRS; ++playerchair)
    if (stacks_new[playerchair] > 0) {
      double d = stacks_new[playerchair];
      stacks_new[playerchair] = 0;
      double equities_new[NCHAIRS] = {0};
      SetEquitiesByICM2(equities_new, stacks_new, prs, pr_total - prs[playerchair], place - 1);
      stacks_new[playerchair] = d;
      double pr = prs[playerchair] / pr_total;
      equities[playerchair] += (T)(prizes[place] * pr);
      for (unsigned int i = 0; i < NCHAIRS; ++i)
        if ((i != playerchair) && (stacks_new[i] > 0))
          equities[i] += (T)(equities_new[i] * pr);
    }
}

template<typename T>
void SetEquitiesByICM2(T equities[NCHAIRS], double stacks_new[NCHAIRS]) {
  unsigned int place = 0;
  double pr_total = 0;
  double prs[NCHAIRS] = {0};
  for (unsigned int playerchair = 0; playerchair < NCHAIRS; ++playerchair)
    if (stacks_new[playerchair] > 0) {
      prs[playerchair] = 1.0 / stacks_new[playerchair];
      pr_total += prs[playerchair];
      ++place;
    }
  memset(equities, 0, sizeof(T) * NCHAIRS);
  SetEquitiesByICM2(equities, stacks_new, prs, pr_total, place - 1);
}


Please help me to speed up this algorithm.

Thank you.

Bye,
morcos

Statistics: Posted by morcos — Fri Apr 05, 2013 11:15 am


]]>