View Single Post
  #8  
Old 07-21-2005, 12:50 PM
microbet microbet is offline
Senior Member
 
Join Date: Jan 2005
Location: Southern California
Posts: 1,360
Default Re: ICM, because I don\'t have a degree in mathematics...

[ QUOTE ]
sub icm {
my ($s_a, $total, $data) = (shift, 0, []);
$total += $_ foreach (@$s_a);
$data->[$_] = { stack => $s_a->[$_], 0 => $s_a->[$_] / $total }
foreach (0 .. $#$s_a);
foreach my $i (0 .. $#$s_a) {
next unless ($s_a->[$i] > 0);
my $temp = $total - $s_a->[$i];
foreach my $j (0 .. $#$s_a) {
next unless ($j != $i);
$data->[$j]->{1} += $s_a->[$j] / $temp * $data->[$i]->{0};} }
foreach my $i (0 .. $#$s_a) {
next unless ($s_a->[$i] > 0);
foreach my $j (0 .. $#$s_a) {
next unless ($j != $i && $s_a->[$j] > 0);
my $temp = $total - $s_a->[$i] - $s_a->[$j];
foreach my $k (0 .. $#$s_a) {
next unless ($k != $i && $k != $j);
$data->[$k]->{2} += $s_a->[$k] / $temp
* $data->[$i]->{0} * $s_a->[$j]
/ ($temp + $s_a->[$j]); } } }
$_->{ev} = .5 * $_->{0} + .3 * $_->{1} + .2 * $_->{2} foreach (@$data);
return $data;
}

[/ QUOTE ]

Ugg.
Reply With Quote