projects

If you're interested in any of my side-projects, you can find some of them on github at . Here is a selection:

Experiments in evolution dynamics and game theory.

An evolutionary spatial game theory lab in Mathematica, inspired by research at Harvard's PED . Esgt makes it easy to set up lattice models of competing agents that copy their neighbors strategies in accordance with fitness. One can set up any payoff scheme and selection mechanism and watch the resulting dynamics. The typical games are very easy to do: prisoner's dilemma, snowdrift, and rock-paper-scissors are all one-liners. It's even possible to get the Ising model out quite easily. More interesting results can be had by turning on mutation of more complex strategies -- for example one can see what happens if agents probabilistically decide to co-operate or defect in a PD-style game where the probability is subject to mutation.

Experiments in evolutionary dynamics and artificial intelligence.

A virtual world populated by neural-network-controlled agents in C++ and Qt, inspired by Tom Ray's . In floatworld , each agent is controlled by a 3-layer recurrent neural network with inputs for world vision and agent health, and outputs for reproduction, co-operation and competition, and movement. Agents must harvest energy in order to survive and reproduce, and unlike most genetic algorithms, agent evolution is driven by purely natural selection without any explicit fitness function -- an idea harking back to Dawkin's complaints about open-endedness at the early artificial life conferences. floatworld agents can be seen to efficiently hunt for food, co-operate in 'scavenging parties', hunt one another, and learn how to use simple objects (ala Skinner boxes ).