November 5, 2019
For today
Read Chapter 11 and do the reading quiz
Watch the second video on free will
Organize teams and start a project proposal
Today
Virtual class. See instructions below.
For next time:
Turn in the Chapter 10 notebook
Turn in your project proposal (due Thursday so I can read them before class)
Optional reading: This article discussion a recent discussion of E.O. Wilson's new book on evolution. From Why Evolution is True.
Part of my reason for this chapter is that the kerfuffle around evolution makes it harder to understand what I think it actually a simple idea:
1) If you start with biological evolution on earth (BEE), many religious people feel threatened.
2) Even among people who don't feel threatened, it might seem as if you have to pick sides.
But you don't have to be an atheist to understand evolution.
I conjecture that seeing evolution in simulation helps, partly by avoiding the allergic reaction, and partly by sidestepping biological complexities that aren't necessary.
I suggest a three-step process to get people to "believe" in evolution:
1) Using simulation to see the mechanism is action, and realize that evolution is just a consequence of certain conditions.
2) See that those conditions exist in nature, and that evolution has happened and is happening in BEE.
3) See that evolution is sufficient to explain increasing complexity of life on earth, increasing diversity through speciation, and ongoing changes in existing populations.
To me, that's a sufficient kind of "believe in evolution".
Boids
Boids! What is a murmuration?
Run Boids7.py, which should grab your browser, open a window, and show a spiffy animation.
You might have to install VPython:
conda install -c vpython vpython
Exercises
1) Run my implementation of the boid algorithm and experiment with different parameters. What happens if you “turn off” one of the behaviors by setting the weight to 0?
2) To generate more bird-like behavior, Flake suggests adding a fourth behavior to maintain a clear line of sight; in other words, if there is another bird directly ahead, the boid should move away laterally. What effect do you expect this rule to have on the behavior of the flock? Implement it and see.
Several times this semester I have mentioned that some matrix transformations in Numpy are implemented in constant time by creating new "Views".
1) If you git pull from upstream, you will find this notebook in ThinkComplexity2/examples. Or you can download it from GitHub.
2) Read through the notebook, run the code, and do the exercises.
Game theory is "the study of mathematical models of conflict and cooperation between intelligent rational decision-makers". Game theory is mainly used in economics, political science, and psychology, as well as logic, computer science and biology.[1] Originally, it addressed zero-sum games, in which one person's gains result in losses for the other participants. Today, game theory applies to a wide range of behavioral relations, and is now an umbrella term for the science of logical decision making in humans, animals, and computers.
What does this have to do with complexity science?
We can put games on a one-through-many spectrum like the one at the beginning of the semester. Complexity science is applicable to game theory (and vice versa) when:
Many players (but not so many that aggregation works)
Diverse players
Local interactions (on grids or networks)
Imperfect information (or noise)
This video explains it.
One question raised by the video: why do people cooperate, at all, in the non-iterated version?
Economists are like the Grinch at 1:55 of this video:
Chapter 12 explores this question.