智游城

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4266|回复: 5
打印 上一主题 下一主题

ICM算法(Java版本)

[复制链接]
跳转到指定楼层
1#
Howard 发表于 2011-1-8 00:49:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1.   /**
  2.     * \param payouts Payout structure, e.g.: new double[]{0.5,0.3,0.2}
  3.     * \param stacks Player stacks
  4.     * \param player Index of selected player in the stack-array
  5.     * \returns ICM equity for selected player
  6.     */
  7.    public static  double  getEquity ( double []  payouts,  double []  stacks,  int  player )
  8.    {
  9.      double  total =  0 ;
  10.      for  ( int  i =  0 ; i < stacks.length; i++ )
  11.        total += stacks [ i ] ;
  12.      return  getEquity ( payouts, stacks.clone () , total, player,  0 ) ;
  13.    }

  14.    //Recursive method doing the actual calculation.
  15.    private static  double  getEquity ( double []  payouts,  double []  stacks,  double  total,  int  player,  int  depth )
  16.    {
  17.      double  eq = stacks [ player ]  / total * payouts [ depth ] ;

  18.      if ( depth +  1  < payouts.length )
  19.        for  ( int  i =  0 ; i < stacks.length; i++ )
  20.          if  ( i != player && stacks [ i ]  >  0.0 ) {
  21.            double  c = stacks [ i ] ;
  22.            stacks [ i ]  =  0.0 ;
  23.            eq += getEquity ( payouts, stacks, total - c, player, depth +  1 )  * c / total;
  24.            stacks [ i ]  = c;
  25.          }
  26.    
  27.      return  eq;
  28.    }
复制代码
来源: http://www.holdemresources.net/hr/sngs/icm/icmjava.html

Bean是Java高手,一定懂的。我还在慢慢琢磨
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1
2#
pokerbean 发表于 2011-1-8 02:58:32 | 只看该作者
晕!火花真有钻研精神,我可不想读code。
3#
luckypanda 发表于 2011-1-8 08:44:59 | 只看该作者
对我来说就是天书。
4#
greatsunkai 发表于 2011-1-9 22:22:52 | 只看该作者
仅适用于单桌SNG吧,看奖金分布是0.5 0.3 0.2的。这个用excel也能很快算出来
5#
 楼主| Howard 发表于 2011-1-10 21:52:56 | 只看该作者
仅适用于单桌SNG吧,看奖金分布是0.5 0.3 0.2的。这个用excel也能很快算出来
greatsunkai 发表于 2011-1-9 22:22



    不仅仅适用于单桌SNG,多桌一样好使。代码注释中出现了 0.5  0.3  0.2 是作者举的例子而已。
6#
fafafafefe 发表于 2011-1-11 02:12:45 | 只看该作者
多桌要到差不多final table的时候ICM才显得比较重要
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|智游城论坛

GMT+8, 2024-11-24 14:35 , Processed in 0.042988 second(s), 8 queries , Redis On.

Powered by Discuz! X3.2

© 2001-2012 Comsenz Inc.

返回顶部