

Darts for Geeks: Statistician Cracks the Game’s Secrets - edw519
http://www.wired.com/magazine/2009/11/st_darts?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+wired%2Findex+%28Wired%3A+Index+3+%28Top+Stories+2%29%29&utm_content=My+Yahoo

======
rlpb
This is a great idea.

I think there is one catch, though. I think he's assuming that my accuracy is
the same around the target that I am aiming for, regardless of where it is.

I find that this is not the case. As a "below average" player, I am still much
better at hitting the triple 20, for example, then I am at the triple 19 -
even though the triple 19 is theoretically "easier". What throws me is that
the triple 19 is not centred across the board so lining up to it is more
difficult.

~~~
hugh_
It's pointed out in the comments on that article that left-right aiming is a
lot easier than up-down aiming, too, since left-right aiming depends only on
being able to line your arm up with the board, while up-down aiming requires
you to correctly calibrate your throwing speed.

------
carbocation
Is that the son of the machine learning expert Robert Tibshirani? All signs
point to 'yes'.

------
bham
I sort of did something similar for my Darts app for the iPhone, specifically
for defining the throw model for the "AI" player.

I found it easiest to simulate millions of random dart throws parameterized by
throw angle and velocity. I record the slot on the board (1-20, Bull) hit
given the launch angles and force of the throw. I let this "simulation" run
until I had 50 samples per board slot.

The simulation is run once ahead of time. The simulation results are bundled
with the app.

When it becomes the AI's turn, it picks a slot to aim at based on the game
variation and state of the game. Currently, it chooses rather poorly in
Cricket.

Then it picks a random sample from the sample pool recorded from the
aforementioned simulation. Based on the user-chosen competence level, it adds
a small, random amount of error to the angle and velocity associated with the
selected sample. Finally, the dart is launched using the calculated angles and
force.

While the app is Objective C, the offline simulation was written in Python.
The whole thing was a blast to write.

Here's an old video of gameplay:

<http://vimeo.com/2010432>

Skip ahead to around 1:10 to see the AI take its turn.

------
joshfinnie
Not sure there is that much statistical analysis needed. If you are bad at
darts aim for a high number that has high numbers around it (like 14). If you
are good or excellent at darts aim for the highest pointed areas (triple 20 or
triple 19).

From the heat maps, I would say that even the "above average" skill level
should still be shooting for the triple 20, but if the study said that it
makes the findings moot.

