Independent Chip Model

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In poker, the Independent Chip Model (ICM), also known as the Malmuth–Harville method,[1] is a mathematical model that approximates a player's overall equity in an incomplete tournament. David Harville first developed the model in a 1973 paper on horse racing;[2] in 1987, Mason Malmuth independently rediscovered it for poker.[3] In the ICM, all players have comparable skill, so that current stack sizes entirely determine the probability distribution for a player's final ranking. The model then approximates this probability distribution and computes expected prize money.[4][5]

Poker players often use the term ICM to mean a simulator that helps a player strategize a tournament. An ICM can be applied to answer specific questions, such as:[6][7]

  • The range of hands that a player can move all in with, considering the play so far
  • The range of hands that a player can call another player's all in with or move all in over the top; and which course of action is optimal, considering the remaining opponent stacks
  • When discussing a deal, how much money each player should get

Such simulators rarely use an unmodified Malmuth-Harville model. In addition to the payout structure, a Malmuth-Harville ICM calculator would also require the chip counts of all players as input,[8] which may not always be available. The Malmuth-Harville model also gives poor estimates for unlikely events, and is computationally intractable with many players.

Model

[edit | edit source]

The original ICM model operates as follows:

  • Every player's chance of finishing 1st is proportional to the player's chip count.[9]
  • Otherwise, if player k finishes 1st, then player i finishes 2nd with probability [Xi=2Xk=1]=xi1xk
  • Likewise, if players m1, ..., mj-1 finish (respectively) 1st, ..., (j-1)st, then player i finishes jth with probability [Xi=jXmz=z(1z<j)]=xi1z=1j1xmz
  • The joint distribution of the players' final rankings is then the product of these conditional probabilities.
  • The expected payout is the payoff-weighted sum of these joint probabilities across all n! possible rankings of the n players.

For example, suppose players A, B, and C have (respectively) 50%, 30%, and 20% of the tournament chips. The 1st-place payout is 70 units and the 2nd-place payout 30 units. Then [A=1,B=2,C=3]=0.50.310.5=0.3[A=1,C=2,B=3]=0.50.210.5=0.2[B=1,A=2,C=3]=0.30.510.30.21[B=1,A=3,C=2]=0.30.210.30.09[C=1,A=2,B=3]=0.20.510.20.13[C=1,A=3,B=2]=0.20.310.20.08ICM(A)=70(0.3+0.2)+30(0.21+0.13)4590%ICM(B)=70(0.21+0.09)+30(0.3+0.08)32110%ICM(C)=70(0.13+0.08)+30(0.2+0.09)22110%where the percentages describe a player's expected payout relative to their current stack.

Comparison to gambler's ruin

[edit | edit source]

Because the ICM ignores player skill, the classical gambler's ruin problem also models the omitted poker games, but more precisely. Harville-Malmuth's formulas only coincide with gambler's-ruin estimates in the 2-player case.[9] With 3 or more players, they give misleading probabilities, but adequately approximate the expected payout.[10]

File:3PlayersIcmFem.png
The FEM mesh for 3 players and 4 chips.

For example, suppose very few players (e.g. 3 or 4). In this case, the finite-element method (FEM) suffices to solve the gambler's ruin exactly.[11][12] Extremal cases are as follows:

3 players; 200 chips; $50/30/20 payout
Current stacks Data type P[A finishes ...] Equity
A B C 1st 2nd 3rd
25 87 88 ICM 0.125 0.1944 0.6806 $25.69
FEM 0.125 0.1584 0.7166 $25.33
|ICM-FEM| 0 0.0360 0.0360 $0.36
|ICM-FEM|/FEM 0% 22.73% 5.02% 1.42%
21 89 90 ICM 0.105 0.1701 0.7249 $24.85
FEM 0.105 0.1346 0.7604 $24.50
|ICM-FEM| 0 0.0355 0.0355 $0.35
|ICM-FEM|/FEM 0% 26.37% 4.67% 1.43%
198 1 1 ICM 0.99 0.009950 0.000050 $49.80
FEM 0.99 0.009999 0.000001 $49.80
|ICM-FEM| 0 0.000049 0.000049 $0
|ICM-FEM|/FEM 0% 0.49% 4900% 0%

The 25/87/88 game state gives the largest absolute difference between an ICM and FEM probability (0.0360) and the largest tournament equity difference ($0.36). However, the relative equity difference is small: only 1.42%. The largest relative difference is only slightly larger (1.43%), corresponding to a 21/89/90 game. The 198/1/1 game state gives the largest relative probability difference (4900%), but only for an extremely unlikely event.

Results in the 4-player case are analogous.

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Further reading

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). Harrington discusses the ICM on pages 108–122.
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).