Dawkins Weasel 1.2.0
Dawkins Weasel is a NetLogo model that illustrates the principle of cumulative selection. Inspired by Richard Dawkins’s thought experiment in The Blind Watchmaker (1986), the model contrasts random change with selection that preserves partial improvements.
The model evolves a string of characters toward a user-defined target phrase, allowing users to explore how mutation rate, number of offspring, and the presence or absence of selection affect the speed and likelihood of convergence. It was created for use in biology classrooms to support instruction on evolutionary mechanisms and common misconceptions about randomness and selection.
Release Notes
What’s new in this release
- Major documentation update: The Info tab and ODD protocol have been substantially revised to clearly and explicitly frame the model as an illustration of cumulative selection, using Dawkins’s original terminology and intent. Explanations of all parameters and processes have been expanded for instructional clarity.
- Code refactoring for clarity (no behavior change): Internal control flow has been refactored to improve readability and maintainability, including clearer separation between per-generation stepping and stopping conditions. The underlying evolutionary mechanism and outcomes are unchanged.
- Improved run summary: When the target phrase is reached, the final summary now reports all relevant simulation settings, including: target phrase, mutation rate, offspring per generation, whether selection was on or off.
- NetLogo 6 and NetLogo 7 support: This release includes both a .nlogo (NetLogo 6) and .nlogox (NetLogo 7) version of the model. The two files are behavior-identical; the file extension indicates the intended NetLogo version.
What did not change
- The Dawkins Weasel mechanism and pedagogical intent
- Output behavior (generation-by-generation log plus final summary)
- Suitability for introductory and upper-level evolution instruction