ThinkComplexityAllen B. DowneyProf of Computer ScienceOlin CollegeGoogle Visiting Scientist2009-10tinyurl.com/tc0523
The Olin Challenge● Re-invent the CS curriculum for an innovative eng program.● Easy: engineering major + CS minor.● Hard: breadth, depth, coherence and rigor in 5 classes. NOPE!
One solutionDowney and Stein, "Designing a small-footprint curriculum incomputer science," FIE 2006.
One problem● Who forgot to pack the data structures?● My adviser is not mad, just very, very disappointed.
Whats wrong with data structures?● No context.● No motivation.● Just one damn sort algorithm after another.
v0.1 (2005)● Taught Computational Modeling.● Started with popular non- fiction.● Ended with "the ultra-secret point of this class."
v0.5 (2008) ● More Python. ● More data structures. ● More philosophy of science. ● Ended with "the ultra-secret point of this class."
v0.9 (2011)● Wrote the book.● Taught the class.● Students worked on case studies.● Recruited a program committee.● Edited like mad.● Published!
And finally... ● ...wrote Chapter 1: The ultra-secret point of this class.
My thesis We are in the middle of a quiet revolution in science. ● What we mean by "science." ● Whats considered a good theory. ● Whats considered a good model.
The complexity revolutionEquation-based → simulation-basedAnalysis → computationContinuous → discreteLinear → non-linearDeterministic → stochasticAbstract → detailedOne, two → manyHomogeneous → composite
Celestial mechanicsWhy are planetary orbitselliptical? ● Universal Gravitation. ● Differential equation. ● QED!Most people find this kindof explanation satisfying.
Racial segregationSchellings agent-based model. ● Agents are happy with a few similar neighbors. ● Otherwise they move. Spot the accessibility issue with this image!
Satisfying? On the one hand: ● Appeal to universal natural law, ● mathematical virtuosity, ● predictive power, ● and Proofiness™! On the other: ● Highly abstract (not realistic), ● No math, just playing with computers. ● What kind of work do these models do?Newton is not impressed.
What do models do?● Predict, Explain, Design.
Schellings model● Counterexample to the assumption that a racist outcome implies racist agents.● Example of an emergent property.
Six degreesStanley Milgram: two of the most (in)famous experiments: ● Obedience to Authority, ● Small World experiment.
Too many models?Watts and Strogatz: Small world graphSocial networks are small because they include both strongly-connected clusters and "weak ties" that connect clusters.Barabási and Albert: Scale free networkSocial networks are small because they include nodes withhigh degree that act as hubs, and those hubs grow, over time,due to preferential attachment.
Thomas KuhnMost famous for Structure of Scientific Revolutions.Later "Objectivity, Value Judgment, and Theory Choice." Ultimately responsible for this sort of thing.
Getting to PhilosophyQuoth xkcd: If you take any [Wikipedia] article, click onthe first link [...], and then repeat, you will eventually endup at “Philosophy”
Philosophy of ScienceTopics in ThinkComplexity: ● Theory choice. ● Demarcation problem and falsifiability. ● Realism and instrumentalism. ● Holism and reductionism.
Back to...... the ultra-secret point of this book.
New kind of scienceEquation-based → simulation-basedAnalysis → computationContinuous → discreteLinear → non-linearDeterministic → stochasticAbstract → detailedOne, two → manyHomogeneous → composite
New kind of model?Predictive → explanatory.Realism → instrumentalism.Reductionism → holism.
New kind of engineeringCentralized→ decentralized.Isolation → interaction.One-to-many → many-to-many.Top-down → bottom-up.Analysis → computation.Design → search.
New kind of thinking → many-valued logic.Aristotelian logicFrequentist probability → Bayesianism.Objective → subjective.Physical law → theory → model.Determinism → indeterminism.
Read it! ● Complexity science. ● Philosophy of science. ● Analysis of algorithms? ● Intermediate Python? ● Case studies!
Case studies ● Ant trails. ● Slime molds. ● Distribution of wealth in Sugarscape. ● Epidemiology in social networks. ● Knots in Wikipedia. ● The norms game. ● Evolution of virtual creatures.You can write one, too: thinkcomplex.com/case_studies/
Whats next?Think Python ● OReilly, July 2012Think Sync?Think Linear?
Free BooksMore free books at Green Tea Press.Read, contribute, translate,modify, copy, distribute.
Data StructuresComplexity lends itself to data structures. ● Graphs and graph algorithms. ● Cellular automata and matrices. ● Agent-based models and ... everything.