Thursday, January 13, 2011

Darts


Over break I went out with a buddy of mine and played some darts. This got me to thinking, where exactly should someone aim in order to get the largest expected number of points?

Now, obviously when you are playing a game like Cricket, where you should aim is fairly obvious, you are trying to hit particular numbers on the board, but in the most popular darts game -501, for most of the game you are just trying to accumulate points. So, where should you shoot on the board to get the most points? Well, something that I didn't quite realize before I started this adventure is that while the double bullseye in the center is worth 50 points, the triple 20 is worth more: 60 points.

For the uninitiated, in games like 501 you score points based on where the dart falls. The center is the bullseye, where the inner most circle is worth 50 and the ring around it is worth 25, after that you score depending on which of the pie slice things you fall in, the points being the number on the slice. The little ring around the outside is worth double points, and the little ring at about half the board radius is worth triple points.

So perhaps the triple 20 is where you should be aiming all the time. But you'll notice that to the left and right of the 20 section are low numbers 1 and 5. So you might suspect that if you can't throw all that accurately, you'll be paying a price for shooting at the triple 20.

The Model

In order to answer a question like that, we need to develop a model for dart throwing. In this case, I thought it was safe to assume that dart throws are normally distributed about the place you aim, with some sigma determined by your skill level.

To the left is an example of what normally-distributed dart throws look like when the aim is at the center, and with a 1 inch standard deviation in the throws. The dashed line marks a one inch ring to give a sense of how scattered darts can be from 1 standard deviation.

Results

So, off I went, having drawn a dart board (to regulation) in Gimp, and coloring each section in gray scale according to its point values, I used python to perform all of the necessary computations (using primarily the ndimage package in scipy). The result can be seen below.


This image shows the optimal position on the board to aim for as a function of how good of a player you are. The rings denote the sigmas, and the dots the center point to aim for. The colorscale gives a quantitative measure of the sigma, in inches.

As you can see, the best players should (and do according to youtube) aim for the triple 20, since they are good enough to hit it most of the time, but once you're throw is at about a 1 inch sigma, you should be aiming for the triple 19 in the bottom left. As you can see on the numbered board at the top, the triple 19 is buffered on either side by the 3 and the 7, which are both 2 points above the 20 section's neighbors (1 and 5). So as you might expect if you have a reasonable chance of hitting the sections to either side, the triple 19 offers a higher expected score in the long run.

The other limit we can understand is the limit of really bad throws. If you have a nontrivial chance of missing the board altogether, then obviously you should just aim for the center of the board, in the hopes that you at least hit the thing.

But interestingly, in between the track that the optimal aiming point takes is a little interesting. It tends to the center (as we should expect), but it takes a curvy sort of root along the bottom left quadrant of the board. Neat.

Heat Maps

In order to get a little better of a feel for why the track takes the path it does, I decided to look at the heat maps for the expected score at every location on the board for a set of given sigmas. So, in the images below, the colors above the board indicate the relative score expected if you aimed at that point.

Above is for a quarter inch sigma throw [Click to zoom]. Notice that the triple 20 is the place to hit, as expected.

Above is a half inch sigma throw. The triple 20 is still in the lead, but not by a whole lot. You can really see how if your aim is as good as a half inch sigma, you can really still see the triple spots as true features.

Above is a 1 inch sigma throw. Now the lower left hand quadrant has taken over as the optimal place to throw. Notice that both the triple 16 and triple 19 make decent targets. The triple 14 also makes a showing, due probably to its large neighbors.

Above is a 1.5" sigma. The triple 20 is nearly gone as a place of interest on the board, since we are no longer good enough to really capitalize on it. The lower left hand portion of the board is the place to be. We've really sort of lost any distinct features of the triple spots, and now are just looking at quadrants of the board as a whole. Our aim seems to tend to center a bit, as we are now in a little danger of falling off the board.


At 2" sigma, we can really only hope to aim left-of-center.


At 2.5" sigma, we really just want to hit the board.

Lesson


So, now I know, personally, I really just ought to aim just left of center.

29 comments:

  1. Nice post - your sigma-map is already hanging besides the dart board in our lab ;)

    ReplyDelete
  2. Pretty cool analysis. It comes close to matching my real-life strategy. When I feel "on" I aim at the triple 20. If I'm not doing well on that, I move to the triple 19. And if I'm throwing absolutely terrible, I aim at the border between triple 14 and triple 11.

    One thing this doesn't take into account is that your spray area often isn't a circle. Since different things determine your vertical error (release timing, power of throw) and horizontal error (angle of arm), often you'll have an elliptical distribution. Often my vertical error is greater than my horizontal one, which is why aiming at the 14/11 triple can be a good strategy (I think?).

    Also, your error distribution can also be a function of where you aim. A short guy on my team is much better throwing at the triple 19 than the triple 20. But that's just down to knowing yourself and your strengths - it'd be pretty complicated to add that variable into the model.

    Anyway, cool stuff.

    ReplyDelete
  3. Make the optimal position map with a few more colored circles, make a high-res version, print it on some glossy posters, and throw those up on the Virtuosi Store!

    ReplyDelete
  4. ...and I thought a Gaussian blur was just an image smoothing technique!

    ReplyDelete
  5. If you had done this two years ago, you could've gotten a JRSS A article out of it!

    See http://www-stat.stanford.edu/~ryantibs/darts/.

    ReplyDelete
  6. Wow.. What an excellent post this is. Totally enjoyed reading it.

    ReplyDelete
  7. Could you potentially post this code to github or something? I'm trying to learn numpy/scipy and this could be cool to look at.

    Regardless cool post.

    ReplyDelete
  8. Hey Anonymous,

    super sloppy code I used is uploaded here. Don't mind the sloppy.

    ReplyDelete
  9. Badass. Science and programming prevails! Now to test with varying levels of BAC... ;)

    ReplyDelete
  10. So to calculate my personal optimal aiming point, I need to throw a lot of darts aiming at the same point, record all the hit locations, and from that I should be able to figure out my sigma. How do you start from an aiming coordinate and a set of hit coordinates, and work backwards to a sigma value?

    ReplyDelete
  11. This is an excellent post, and it really does a good job of explaining a counterintuitive concept about 501. However, there is one thing to consider here that is not mentioned, and worth exploring: the double and triple rings of numbers like 14 and 13 -- that is those numbers on the left and right sides of the board -- are easier to hit than, say, those of the 20s or 19s, which are at the top and bottom. This is because the nature of the throw is a vertical action (no one throws side arm). The more vertical parts of the ring are significantly easier to hit than the more horizontal parts. This can be observed in any dart league, where players must "double in" to begin the game. In doubling in, if a player is playing it safe, he shoots for the left side or the right side, not the top or bottom (even though 20 and 19 have the highest numerical value). So in considering the ratios on the map, I would try to account for that aspect of the percentages. Because a sigma around the triple 14 or triple 13 has a greater likelihood of being hit when aimed at, it should have a greater value on the map.

    ReplyDelete
  12. mhprater

    Several people have mentioned that they believe that human throws are not adequately modeled with Gaussian distributions on the board. I'm starting to believe them. Me and my buddies are thinking about digging a little deeper, taking data and seeing if we could come up with a more accurate model of throws for a follow up. If we carry through it'll show up on this blog, so stay tuned.

    ReplyDelete
  13. Fit your data to an elliptical Gaussian distribution. I suspect it will be inclined a bit from the vertical, which gives you the opportunity to analyze the difference in strategy between right and left handed throwers.

    ReplyDelete
  14. Have you considered the effects of ethanol concentration in the thrower? From personal experience I've found them to be non-trivial.

    ReplyDelete
  15. If you want your ex-girlfriend or ex-boyfriend to come crawling back to you on their knees (even if they're dating somebody else now) you must watch this video
    right away...

    (VIDEO) Have your ex CRAWLING back to you...?

    ReplyDelete
  16. i love dart and it brings fun to my family. tks great article

    ReplyDelete
  17. Thank you for these posts and links, I hope this will come in handy.

    ReplyDelete
  18. Great and useful article. Creating content regularly is very tough. Your points are motivated me to move on.

    ReplyDelete
  19. It consists of two or more paragraphs that deliberate ideas and arguments with illustrations or examples. These paragraphs must be linked together in order to connect those ideas. Three layers of essay writing

    ReplyDelete
  20. So far, I found this website very professional for assignment writing. I took Assignment Help from them for my Science homework. I am really happy with the experience and I will recommend this website to you guys if you need quality writing services for your project.
    I had to complete my English assignment and I was worried because my assignment was not ready. I took the help from google but still fail to write. Then, I took Assignment Help Online from greatassignmenthelp and I was amazed by the work I received. Their expert provided me the instant support and helped me in my assignment. Thank you guys for your assignment help and support.

    ReplyDelete
  21. Nepal Tour Package :- Great blog! It provides you ideas about Nepal Tour. You can know important tips how to choose Nepal Tour Packages. Thanks for sharing this nice blog.

    ReplyDelete
  22. If you missed your assignment submission date and you need your assignment to be done in 24 hours then don’t worry just take support from assignment help online service to complete your task on time. Assignment Help

    ReplyDelete
  23. There is always some online assignment help which provides the best solutions and helps to understand the structure of exam pattern to get good marks in the exam.Law Assignment Help
    Accounting Assignment Help
    Finance Assignment Help

    ReplyDelete
  24. Thanks for this post, Student’s life appearance simple till you alter between your daily plan and an out sized burden of assignments. In such associate offensive condition, get a Programming Help is the nice choice to catch this dense schedule. Programming Assignment Help writing aid services involve a team of prime informative programmers and retired professors. They grow your confidence that your entire educational object is obtaining and completed with top of the grade researched and genuine contents. you may get a totally 100% correct and status content that may rise your graph and credibility in your college.
    Programming Help
    Programming Homework Help
    Programming Assignment Help
    Online Programming Help

    ReplyDelete
  25. Livewebtutors aims at providing the students with a one stop solution for all the academic related issues. The company has Livewebtutors is an online Assignment Help and assignment writing service offering expert assignment help. Hire Australian assignment writing experts.
    visit now:- nursing assignment help

    ReplyDelete
  26. Hire online essay writers in Toronto for taking help in your assignment with experts that are available on essay writers Toronto.

    ReplyDelete
  27. For nursing students, it gets a bit difficult to collect everything and prepare perfect assignments. That is why we at Online Assignment Expert aims at providing effective nursing assignment help by experts relating to the same domain. Not just sticking to a single domain, we have extended our academic services to marketing by delivering supreme quality marketing assignment help services at pocket friendly prices.

    Finding assistance is easy with Online Assignment Expert. So, contact us by mailing us at contact@onlineassignmentexpert

    ReplyDelete