Artificial Life with Cognitive Science

Computer Science core course, European Credit Transfer System: 5 ECTS credits.

Lab summary

Presenter: Konrad Miazga.

The following simulation environments are presented in the lab (~1h each): mcell/ddlab, starlogo/netlogo, framsticks, repast, einstein (not anymore), and others. Selected topics are discussed (spiking neurons, Artificial Chemistries, genetic regulatory networks, biologically inspired robotics, Lotka-Volterra equations, neural morphogenesis, etc.).

Finally, students design and perform an artificial life experiment in software or hardware (individual assignments), and write a report.

Lecture outline (script)

1   Artificial Life – introduction
 1.1   Definition, methodology, goals
 1.2   Artificial life vs. artificial initelligence
 1.3   What life is and what it is not: definitions of life
 1.4   Research interests and applications
2   Single-solution neighborhood search
3   Evolutionary algorithms
 3.1   Classification
 3.2   Genetic algorithms
  3.2.1   Parameters and evaluation
  3.2.2   Selection
  3.2.3   Scaling
  3.2.4   Crossover
  3.2.5   Mutation
  3.2.6   Other operators and techniques
  3.2.7   Summary of GA parameters
  3.2.8   Schema theorem
  3.2.9   Deceptive problems and the “No Free Lunch” theorem
  3.2.10   Messy genetic algorithm
  3.2.11   Hierarchical genetic algorithm
  3.2.12   Empirical and theoretical evaluation of a GA
  3.2.13   Nature-inspired techniques
 3.3   Evolutionary strategies
 3.4   Differential evolution
 3.5   Evolutionary programming
  3.5.1   Floating point representation
  3.5.2   Embryogeny
  3.5.3   Crossover and global convexity
 3.6   Genetic programming
  3.6.1   Symbolic regression
 3.7   Classifier systems (CFS/GBML)
  3.7.1   Input and output interfaces
  3.7.2   Main cycle
  3.7.3   Learning Classifier Systems (LCS)
  3.7.4   The Bucket Brigade algorithm
  3.7.5   Rule discovery
  3.7.6   Summary
 3.8   Other techniques in EA
  3.8.1   Multiple objectives
  3.8.2   Incorporating knowledge
  3.8.3   Constraints
  3.8.4   Sample applications
 3.9   Parallel EA
 3.10   Summary of evolutionary optimization
 3.11   Co-evolutionary architectures
  3.11.1   Cooperative
  3.11.2   Competitive
 3.12   Bibliography and resources
4   Other optimization techniques
 4.1   Swarm intelligence and ant colony optimization (AA, ACO)
 4.2   Particle Swarm Optimization (PSO)
 4.3   Artificial Immune Systems (AIS)
 4.4   Artificial Bee Colony (ABC) algorithms
 4.5   Gravitational search algorithms (GSA) i Charged System Search (CSS)
 4.6   Fireflies, cuckoos, and krill herds (GSO, FA, CS, KH)
5   Unconventional computational environments
 5.1   Molecular computing, DNA computation
 5.2   Quantum computing
 5.3   Membrane computing
6   Remaining aspects of artificial life
 6.1   Evolution
  6.1.1   Why evolution?
  6.1.2   Theories
  6.1.3   Directed vs. undirected
  6.1.4   Discussion
  6.1.5   Evolution and Artificial Life
 6.2   Emergence in Boids
 6.3   Spatio-temporal dynamics in Cellular Automata
 6.4   Spontaneous (and open-ended) evolution in Tierra
 6.5   Directed (guided) evolution
  6.5.1   Karl Sims – virtual creatures
  6.5.2   Co-evolution of Pursuit and Evasion
  6.5.3   Evolutionary design
  6.5.4   Robotics: robot control with layers
  6.5.5   Building brains
  6.5.6   Building brains and bodies
 6.6   Contemporary physics simulations
 6.7   Agent and environment
  6.7.1   Complex Adaptive Systems (CAS), Multi-Agent Systems (MAS)
  6.7.2   Lotka–Volterra equations
  6.7.3   Sensor evolution
  6.7.4   Embodiment and how to measure it
  6.7.5   Levels of autonomy
 6.8   Formal descriptions of an evolving system
  6.8.1   von Neumann machines
  6.8.2   Pieces of an evolutionary algorithm as functions
 6.9   Elements of game theory and evolutionary games
  6.9.1   Basic terms and concepts
  6.9.2   Models
  6.9.3   Strategies of social behaviors and social dilemmas
 6.10   Models of biological life – selected examples
  6.10.1   Herrnstein's matching law
  6.10.2   Evolution of nervous systems
  6.10.3   Altruism and the Hamilton's rule
  6.10.4   Study of sexual signals and the handicap principle
  6.10.5   Analysis of social learning
  6.10.6   Dynamics of gene expression
  6.10.7   Heuristics in feeding offspring
  6.10.8   Evolution of communication and languages
  6.10.9   Biologically inspired collective robotics
 6.11   Frontiers of knowledge
 6.12   Bibliography and resources
7   Experimental environment – Framsticks (lab software)
 7.1   General information
 7.2   Visualization
 7.3   Physics and simulation
 7.4   Model and genetics
 7.5   Experiment definitions
 7.6   Scripting
 7.7   Sample experiments
  7.7.1   Comparison of genetic encodings
  7.7.2   Measuring similarity
  7.7.3   Measuring symmetry
  7.7.4   Fuzzy control
  7.7.5   Sensor evolution, vector eye and visual-motor coordination
  7.7.6   Minds: NN semantics and representations
  7.7.7   Synthetic evolutionary psychology, advanced experiments
  7.7.8   Emergence and self-organization