### Optimal Strategy for Farkle Dice

In this post, I will discuss my findings in terms of an optimal strategy for Farkle, which is a dice game of chance. If you are unfamiliar with the game, I encourage you to skim the linked article so that you can better understand this blog post. All of my findings are based on sound mathematical methods and a computer program was used to determine the optimal strategy. Before I begin, let me first state the value of different dice rolls I assumed while developing the strategy.

Each 1: 100 points

Each 5: 50 points

3 1's: 1000 points

3 2's: 200 points

...

3 6's: 600 points

4 1's: 2000 points

...

4 6's 1200 points

5 1's 3000 points

...

5 6's 1800 points

Straight 1-6 1500 points

3 Pairs (e.g., 22 33 44): 750 points

Everything else is considered to be a Farkle (0 points).

There are many variants to Farkle, but I like to play by this set of rules.

The "game state" of Farkle roll can roughly be characterized by 2 values: the current score accumulated, and the number of dice left to roll. At any games state, the player has multiple options: she can end her turn, accepting her current score, or she can gamble her current score by rolling the remaining dice for a chance to score more points.

Intuitively, if the current score is high and there is only one or two dice to roll, it is too risky of a gamble to roll. On the other hand if the current score is low and there are at least four dice to roll, it is best to make the small gamble and keep rolling. I make this intuition precise in the table below. Each entry of the table contains the expected value of the state, which is how many points we can expect to make from that state on average,

For example, lets say I have 250 points and I am rolling 3 dice, it can be seen that the best option for me is to roll again (yielding an expected value of 293.4 which is better than 250). However, if I had 500 points rolling 3, banking the 500 points is the best play because the risk of Farkling is too high to wager the 500 points.

Note that not all entries are filled in in the table. This is because they are impossible states. (i.e., you can't have 50 points rolling 3).

Now let's consider a more complex situation. Let's say I just rolled the following 6 dice:

1 2 2 2 5 4

Clearly I have a lot of options, but which one is best? Let's use the table!

50 rolling 5 (5) - EV = 363.834

100 rolling 5 (1) - EV = 399.911

150 rolling 4 (1 5) - EV = 307.673

200 rolling 3 (2 2 2) - EV = 257.584

250 rolling 2 (2 2 2 5) - EV = 250

300 rolling 2 (2 2 2 1) - EV = 300

350 rolling 1 (2 2 2 1 5) - EV = 350

So the best option is to bank the 1 and roll the other 5 dice, resulting in an average of about 400 points. Using this same methodology, you can take any situation and determine the best possible play.

Each 1: 100 points

Each 5: 50 points

3 1's: 1000 points

3 2's: 200 points

...

3 6's: 600 points

4 1's: 2000 points

...

4 6's 1200 points

5 1's 3000 points

...

5 6's 1800 points

Straight 1-6 1500 points

3 Pairs (e.g., 22 33 44): 750 points

Everything else is considered to be a Farkle (0 points).

There are many variants to Farkle, but I like to play by this set of rules.

The "game state" of Farkle roll can roughly be characterized by 2 values: the current score accumulated, and the number of dice left to roll. At any games state, the player has multiple options: she can end her turn, accepting her current score, or she can gamble her current score by rolling the remaining dice for a chance to score more points.

Intuitively, if the current score is high and there is only one or two dice to roll, it is too risky of a gamble to roll. On the other hand if the current score is low and there are at least four dice to roll, it is best to make the small gamble and keep rolling. I make this intuition precise in the table below. Each entry of the table contains the expected value of the state, which is how many points we can expect to make from that state on average,

*assuming optimal play*. By optimal play, I mean the player always takes actions to maximize her expected score. This information has enough information to derive the optimal strategy.For example, lets say I have 250 points and I am rolling 3 dice, it can be seen that the best option for me is to roll again (yielding an expected value of 293.4 which is better than 250). However, if I had 500 points rolling 3, banking the 500 points is the best play because the risk of Farkling is too high to wager the 500 points.

Note that not all entries are filled in in the table. This is because they are impossible states. (i.e., you can't have 50 points rolling 3).

Now let's consider a more complex situation. Let's say I just rolled the following 6 dice:

1 2 2 2 5 4

Clearly I have a lot of options, but which one is best? Let's use the table!

50 rolling 5 (5) - EV = 363.834

100 rolling 5 (1) - EV = 399.911

150 rolling 4 (1 5) - EV = 307.673

200 rolling 3 (2 2 2) - EV = 257.584

250 rolling 2 (2 2 2 5) - EV = 250

300 rolling 2 (2 2 2 1) - EV = 300

350 rolling 1 (2 2 2 1 5) - EV = 350

So the best option is to bank the 1 and roll the other 5 dice, resulting in an average of about 400 points. Using this same methodology, you can take any situation and determine the best possible play.

Number of Dice | ||||||

Points | 1 | 2 | 3 | 4 | 5 | 6 |

0 | 548.858 | |||||

50 | 363.834 | |||||

100 | 274.776 | 399.911 | ||||

150 | 227.968 | 307.673 | ||||

200 | 221.706 | 257.584 | 343.8 | |||

250 | 274.669 | 250 | 293.4 | |||

300 | 300 | 300 | 329.228 | 802 | ||

350 | 350 | 350 | 596.22 | 846.014 | ||

400 | 400 | 400 | 400.947 | 498.2 | 638.291 | 890.036 |

450 | 450 | 450 | 450 | 540.176 | 680.368 | 934.065 |

500 | 500 | 500 | 500 | 582.157 | 722.453 | 978.099 |

550 | 550 | 550 | 550 | 624.144 | 764.545 | 1022.666 |

600 | 600 | 600 | 600 | 666.139 | 806.642 | 1067.891 |

650 | 650 | 650 | 650 | 708.139 | 849.953 | 1113.281 |

700 | 700 | 700 | 700 | 750.142 | 893.894 | 1158.674 |

750 | 750 | 750 | 750 | 792.147 | 937.847 | 1204.068 |

800 | 800 | 800 | 800 | 834.154 | 981.801 | 1249.464 |

850 | 850 | 850 | 850 | 876.162 | 1025.756 | 1295.174 |

900 | 900 | 900 | 900 | 918.17 | 1069.711 | 1341.411 |

950 | 950 | 950 | 950 | 960.178 | 1114.429 | 1387.917 |

1000 | 1000 | 1000 | 1000 | 1002.188 | 1160.198 | 1434.468 |

1050 | 1050 | 1050 | 1050 | 1050 | 1206.254 | 1481.147 |

If you're interested in seeing the extended table (up to 10000 points), or would like to understand the methods that I used to come up with this strategy, feel free to get in touch with me.

I am very interested in the methods you took to find the values printed in green and red.

ReplyDelete