New algorithm to calculate ICM for large tournaments

New algorithm to calculate ICM for large tournaments

I think I’ve discovered a new algorithm to accurately calculate ICM equities for large numbers of people. I’ve done some searching and wasn’t able to find any evidence that this has been used before, so I think I’m the first. If someone else has come up with this before, then my apologies…

First, why is this important? Traditional ICM calculations require you to do a number of calculations proportional to the factorial (n!) of the number of players remaining in a tournament. This is why you never see ICM calculators that can handle more than 10 players – it can take hours to calculate for 15 people and days to years to calculate more than that. My new algorithm can produce very accurate numbers in less than a minute, even if you have over 50 players.

Software developers may find this useful and do what was previously considered impossible, perhaps incorporating some concepts around the bubble factor from Kill Everyone. I will personally be doing some research of my own now that this door is opened.

This algorithm works on the principle of ICM where you imagine that all of the chips in the tournament are randomly given numbers and each player’s place in the tournament is based on their highest scoring chip. However we can use some math tricks to make the calculations easier. If each chip is given a random number between 0 and 1, and we have n chips, then the probability that all of our chips will score x or less will be x^n. We can also scale things so that we can work with smaller stacks since fractional chips are okay in this formula. This has the advantage that we only have to generate 1 random number for each player rather than 1 number for each chip.

Here is the algorithm:

Given n players
Given stack sizes S = S1, S2, … Sn
Given prizes Z = Z1, Z2, … Zn
Get normalized stack sizes Q = Q1, Q2, …Qn by dividing S by average stack

Simulate 1 tournament:
For each player i, generate a “place” for each player (Pi) by generating a random number between 0 and 1 and raising it to the power of 1/Qi. Pi = rand ^ (1.0 / Qi)
Sort players by their place P – higher is better
Award prizes Z according to P

Repeat for as many tournaments as desired and calculate the average prize value for each player. The error will be proportional to 1/sqrt(iterations) so the more iterations you run, the more accurate it will be.

I’ve tested this out and compared them to traditional ICM calculations and they converge to the same numbers.

Tysen

14 September 2011 at 04:07 AM
Reply...

5 Replies


Earlier posts are available on our legacy forum HERE

Can anyone share a (bug free) Excell implementation of this algorithm?


People don't realize it, but this is probably the most legendary post ever made on 2+2 poker theory.


by tombos21 k

People don't realize it, but this is probably the most legendary post ever made on 2+2 poker theory.

Yeah I was thinking that too. Before it was basically impossible to do ICM calculations with many players remaining.

This idea revolutionized how poker players study ICM.


I have one question- does ICM theory takes into account our tourney live, I mean winning an all-in doesn't make us win a tourney and it seems, that we should narrow our ranges because of that? In general which factors ICM theory counts besides chips distribution and which not yet? I personally know about one obvious factor, which should have an impact to our decisions, but ICM model absolutely ignores it, which is actually hilarious.


does ICM theory takes into account our tourney live, I mean winning an all-in doesn't make us win a tourney

ICM looks at stacks in a vacuum and calculates how likely each player is to place 1st, 2nd, 3rd and so on.


Once you know the projected finish distributions, you just multiply it by the prize for each place to get the ICM value.


In general which factors ICM theory counts besides chips distribution and which not yet?

Just chip distribution. The main shortcomings of ICM are:

  • ICM slightly underestimates the chip leaders’ advantage. The big stack can win more than their fair share because they have a risk premium advantage against the mid stacks.
  • ICM assumes all players are equally skilled. In reality, we’d expect the more skilled players to win a larger percentage of the time, relative to their stack.

Stuff that is factored into solves and/or future game simulation ICM models:

  • Villain's strategy
  • Current and future positions of players
  • Blinds increasing in the future

ICM has some shortcomings, but it's still the best formula we have for predicting tournament equities. There are more sophisticated models, but it's almost impossible to calculate large MTT fields with those models. (Swales/Roberts/Etc).

Reply...