The Solution to Darts? Summary

Read the longer version of this page at:  The Solution to Darts?

This is an example of a problem that I did not quit thinking about until it was solved.

When I was a child, my father and I played darts against each other in fantasy dart leagues with fictional teams and players.  Darts also served as my introduction to programming, beginning with Lotus 1-2-3 macros that I wrote to automate record-keeping for these leagues.

As a kid, I always wondered where I should aim my darts to maximize my chances of winning the game.  Over twenty years later, I decided to answer this question.

For Part 1 of this project, I demonstrate a mathematical solution to several target optimization problems of increasing complexity for the game of darts.  For Part 2, I tracked over 30,000 of my dart throws to test and adapt the mathematical solution for an actual human darts player.

The mathematical solution for Part 1 is dependent on a model of a player’s dart throwing.  A bivariate normal distribution (the bell curve with two variables, for a dart’s x and y coordinates) can be used for this model, which is also a reasonable approximation of a human’s dart throwing:

A model of a theoretical dart player’s throwing while aiming at the bullseye, based on a bivariate normal distribution with an x and y standard deviation of 17 mm. The legend shows that an individual throw has about a 50% chance of landing at any specific point in the red ring compared to the center of the bullseye.

Starting with the simplest target optimization problem of maximizing expected score, this model can be used to predict a dart player’s expected score while aiming at each target on the dartboard.  We can then sweep the dartboard to produce a “heatmap” that shows the player’s relative scoring average while aiming at every target on the dartboard: 

The “X” shows the optimal scoring target for the darts player whose throwing is represented by the model above. This player should average 19.74 points per throw while aiming at this target, which lies within the triple 19.

The key to finding the target that maximizes win percentage, as opposed to score, is to map every score on the dartboard to a win percentage. Calculating this win percentage depends on the rules of the game, and in most situations requires a model and strategy for the opposing darts player. Assuming perfect information, a complete win optimization strategy for the simple Hi-Score variant of darts can be built by mapping the scores to win percentages and then sweeping the dartboard for each of about 5000 situations. An optimal strategy for the more complex 501 variant played in today’s competitive darts requires millions of times the calculations as maximizing expected score. See: A Mathematical Solution to Darts for details about the algorithms used to calculate these strategies.  

While Part 1 effectively solves the game of darts for a computer simulation, my goal was to solve it for a human being, whose dart throwing is unlikely to be accurately represented by a single model that looks like a perfect circle.  

My original plan was to build a statistical model of my dart throwing that could be substituted for the formulas used to simulate dart throws in Part 1.  I changed this plan because after tracking 30,000 of my dart throws, it became apparent that my mathematical solution, using any statistical model, could not significantly improve my darts game.  As a human, my dart throwing isn’t the same while aiming at every target on the dartboard, and as a human, I can’t aim at every specific point on the dartboard that the solution suggests without a visual cue.  

However, I did notice that while aiming at the small circular bullseye in the center of the board, my dart throwing was significantly more accurate and circular in distribution, like a computer program’s:

The location of 12,000 of my dart throws while aiming at the triple 20 (blue), triple 19 (green), triple 14 (black) and bullseye (red).  Notice how the red dots are less spread out than the others. 

Models of my dart throwing computed from the above dart throws. Notice how the bottom right model is the smallest and most circular, demonstrating that I was more accurate when aiming at the bullseye compared to the other targets.

My scoring average would increase by about 6% if I could throw as accurately at the other three targets as I did while aiming at the bullseye.

This gave me the idea for a pair of dartboard targeting goggles that would recognize the dartboard and overlay a visually optimized, possibly circular target based on the situation of the game and a (now useful) statistical model of my dart throwing. These goggles would allow me to aim at the precise points on the dartboard that the mathematical solution recommends. More importantly, by optimizing the shape of the visual target, these goggles could improve the accuracy of my dart throwing and could be adapted to improve my targeting and accuracy for other aim and throw or shoot activities.

A fictional pair of dartboard goggles, a way to adapt the mathematical solution to darts for a human.  

In the end, it took me over 30,000 dart throws to realize that this silly idea I had for “dartboard goggles” after about 500 throws is actually a far better solution to darts for a human than any amount of statistical modeling could be on its own.  But the solution really came from something I suspected as a kid playing darts with my father:  that a human doesn’t see the dartboard the same way that a computer program does.  And for a human, the solution to darts is to see the dartboard more like a computer program, and then the mathematically solution could be applied effectively.  

Read the longer version of this page at The Solution to Darts?