00 · Problem background
From a CS212 checkout exercise to a probability model.
This project began with Peter Norvig's Udacity CS212 final-exam material on darts. The supplied problem defined the board's numbered sections, single, double, and triple targets, the two bullseyes, and the 501 requirement that the final dart be a double.
The initial programming task was to find a shortest checkout of one to three darts for a requested total. The historical project carries that target vocabulary forward into the more interesting question explored here: how imperfect accuracy changes the best place to aim.
01 · The problem
Perfect aim is the wrong assumption.
A dartboard's nominal scores tempt a player to aim at the highest-value region. Real throws spread around the intended target, however, and neighboring misses have very different consequences. The project asks which target is best after that uncertainty is represented.
02 · Methodology
Turn misses into a distribution.
- Model the board
Represent the numbered sectors and the single, double, triple, outer-bull, and inner-bull scoring regions.
- Describe inaccuracy
Assign probability to the intended region and to plausible neighboring outcomes instead of treating every throw as exact.
- Score every outcome
Combine each possible landing region with its score and probability.
- Compare targets
Calculate expected scores across candidate targets and identify how recommendations change as accuracy changes.
03 · Solution structure
Separate the board, the player, and the decision.
The legacy implementation contains a substantial model for checkout choices, miss distributions, expected scores, and target recommendations. It also includes embedded explanation and assertion-based checks, making the reasoning more recoverable than the lack of a formal README first suggests.
Board model
Encodes targets and the scores produced by neighboring regions.
Accuracy model
Maps intended throws to a spread of possible actual outcomes.
Decision rule
Ranks choices using expected value and goal-specific constraints.
Verification boundary: the exercise origin is now confirmed as Peter Norvig's Udacity CS212 final exam. This prototype summarizes the personal implementation but does not claim independent numerical validation, and the two historical variants still need a canonical-version comparison.
04 · Lessons
Optimization depends on the error model.
- The highest nominal value is not always the best decision.Expected value incorporates both payoff and likelihood.
- A useful model exposes its assumptions.Accuracy, miss direction, and the player's goal determine the recommendation.
- Assertions preserve reasoning.Even legacy checks can serve as anchors while the model is modernized.
- Visualization would improve understanding.A board heat map can make the probability distribution tangible.
05 · Demonstration concept
Make the tradeoff visible.
A future interactive version would pair an accuracy control with a dartboard heat map and a ranked expected-score table. Phase 3 deliberately shows the visual direction without translating or exposing the historical source code.