Complex systems: How to think like nature • Unintended consequences. • Emergence: what’s right and what’s wrong with reductionism. • Design: levels of abstraction/platforms. • Evolutionary processes, genetic algorithms, and entities as nature’s memes. • Wisdom of crowds: hierarchy, autonomy, commons, C2. • Externalizing thought • Feasibility ranges (vs. engineering margins) • Simulations: floor and noticing emergence. Computer Science vs. Engineering
Try it out File > Models Library > Biology > Evolution > Peppered Moths Click Open
Peppered moths model • At each time tick, a moth’s probability of survival—not being eaten by predators (not shown)—depends on • How close its color (1-9) is to the background color (0-8). • The “Selection” slider, which controls the impact of the environment. The higher the slider, the more important the environment. • Moths both reproduce and die (of old age). • They may mutate, i.e., have offspring of a different color. • Illustrates the nature of evolution. • Moth (and their colors) are rivals, not competitors. • Nature is not “red in tooth and claw” (in this model). • The moths and their colors don’t compete with each other directly. • Colors confer survival value (fitness) depending on the environment. • More like a race than a boxing match.
20 A C 9 24 7 12 B 13 12 4 12 D 14 E Traveling salesman problem (TSP) • Connect the cities with a path that • Starts and ends at the same city. • Includes all cities. • Includes no city twice. The obvious routes all include the sequence: ACED-54 (or its reverse). The question is where to put B: ABCED-55, ACBED-57, ACEBD-56.
20 A C 9 24 7 12 B 13 12 4 12 D 14 E Genetic algorithm • Create a population of possible paths. • AEBCD-59, ACBED-57, ADCBE-59, ACDEB-71, … • In this case there are only 4! = 24 possible routes. • Could examine them all. Usually that’s not possible. • A second exchange solves the problem. • ACBED-57 → ABCED-55 • Repeat • Select one or two tours as parents. • Better tours are more likely to be selected. • Generate offspring using genetic operators. • (Re)combine two tours: ACBED-57 & ADCBE → ACBED-57. • Exchange two cities: ACDEB-71 → ACBED-57 • Reverse a subtour: ACBED-57 → AEBCD-59 • Possibly mutate the result: ADCBE-59 → ACBDE-70