CS423/523: Complex Adaptive Systems
Course Information
Professor: Melanie Moses
Email: melaniem@cs.unm.edu
Website: https://moseslab.cs.unm.edu
Office: Farris Engineering Center Room 3340
Office Hours: Tu 10:45-11:45am after class in CTLB
Wed 1:00-2:00pm, Farris 3340
Teaching Assistant: Akil Andrews
Email: akilandrews@unm.edu
Office: Farris Engineering Center Room 3320
Office Hours: Tue & Thu 12:30 - 2:00pm
Piazza site for the class: CS523 Piazza Forum.
A link to the Spring 2019 UNM calender UNM Calender
Course Description
A graduate-level introduction to selected topics in complex adaptive systems focusing on computational tools to simulate and measure complexity, and analysis of biological and social complex adaptive systems. Topics include definitions of complexity, cellular automata, evolution and genetic algorithms, dynamical systems, scaling and fractals, ant colony algorithms and swarm intelligence.
Matlab
While not required, Matlab is available for programming work in this class. Instructions for downloading and installing your own free copy of MATLAB, provided by the university, are at the IT support page for MATLAB. You will need to login with your UNM user name and password (not your CS one). Problems installing MATLAB should be referred to the helpful UNM IT Support group.
Python
For python users there is a library that produces high-quality plots similar to matlab called matplotlib. Further information and installation instructions may be found here Matplotlib.
Textbook
We don't have a textbook for this course, but we'll use as a guide Complexity, A Guided Tour. Each week we'll read journal articles to explore concepts from the book in more technical and intellectual depth.
Title: Complexity: A Guided Tour Author: Melanie Mitchel Publisher: Oxford University Press Paperback (2011): ISBN-10: 0199798109 ISBN-13: 978-0199798100 or, Hardcover (2009): ISBN-10: 0195124413 ISBN-13: 978-0195124415 |
Course Topics and Reading list
Introduction
Tuesday, January 15th: General overview of the class
Read the following by Thursday, January 17th
- Mitchell, M. Complexity: A Guided Tour, Chapter 1, 2009
- Mitchell, M. Complexity: A Guided Tour, Chapter 2, 2009
- Flake, G. The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation, Chapter 10, 2000
Read the following by Tuesday, January 22nd
- Mitchell, M. Complexity: A Guided Tour, Chapter 3, 2009
- Mitchell, M. Complexity: A Guided Tour, Chapter 4, 2009
- Lizier, J. IDT: an information-theoretic toolkit for studying the dynamics of complex systems, 2014
-Read through section 2.1 and follow the instructions to download the toolkit in section 3.1
-Link to toolkit download: Version 1.4 zip file.
--To install the kit, after download in the top folder there is a readme.txt file that explains it.
--For the autoanalyzer (which is what you will be using), there is a readme.pdf file that explains it in the demos/AutoAnalyzer folder.
--Note: You will need Java installed to run the JIDT program.
Read the following by Thursday, January 24th
- Walker, S. Evolutionary Transitions and Top-Down Causation, 2012 **Discussion Paper**
----Student presentation review form. You will need to sign in to your google account.
----Presentation slides
Read the following by Tuesday, January 29th
- Mitchell, M. Complexity: A Guided Tour, Chapter 5, 2009
- Mitchell, M. Complexity: A Guided Tour, Chapter 6, 2009
- Does evolutionary theory need a rethink?, 2014
- Hughes, A. The Central Dogma and Basic Transcription, 2003
Evolution and Genetic Algorithms
Read the following by Thursday, January 31st
- Mitchell, M. Complexity: A Guided Tour, Chapter 7, 2009
- Gell-Mann, M. What is Complexity?, Complexity, Vol 1, no. 1, 1995
- Kolmogorov Complexity – A Primer, 2012 (optional)
Next Friday, Feb 1: Last day to drop without a 'W' and tuition costs!
Read the following by Tuesday, February 5th
- Mitchell, M. Complexity: A Guided Tour, Chapter 8, 2009
- Mitchell, M. Complexity: A Guided Tour, Chapter 9, 2009
- GA Matlab example
- Forrest, S. Genetic Algorithms: Principles of Natural Selection Applied to Computation, 1993 **Discussion Paper*
----Student presentation review form. You will need to sign in to your google account.
----Presentation slides
Read the following by Thursday, February 7th
- Software Mutual Robustness **Discussion Paper**
----Student presentation review form. You will need to sign in to your google account.
----Presentation slides - The role of robustness in phenotypic adaptation and innovation, 2012 **Discussion Paper**
----Student presentation review form. You will need to sign in to your google account.
----Presentation slides
Cellular Automata
Read the following by Tuesday, February 12th
- Mitchell, M. Complexity: A Guided Tour, Chapter 10, 2009
- Mitchell, M. Complexity: A Guided Tour, Chapter 11, 2009
Read the following by Thursday, February 14th
Read the following by Tuesday, February 19th
- Mitchell, M. Complexity: A Guided Tour, Chapter 12, 2009
Read the following by Thursday, February 21st
- Mitchell, M. Complexity: A Guided Tour, Chapter 13, 2009
Swarm Robotics
Read the following by Tuesday, February 26th
- Marshall, J. On Optimal Decision-Making in Brains and Social Insect Colonies, 2009 **Discussion Paper**
----Student presentation review form. You will need to sign in to your google account.
----Presentation slides
Read the following by Thursday, February 28th
- Hecker, J. Beyond pheromones: evolving error-tolerant, flexible, and scalable ant-inspired robot swarms, 2015 **Discussion Paper**
----Student presentation review form. You will need to sign in to your google account.
----Presentation slides
Natural and Computational Immunology
Read the following by Tuesday, March 5th
- Read 1st pages before handout
- Readings from handout
- Smith, D. Mapping the Antigenic and Genetic Evolution of Influenza Virus, 2004 **Discussion Paper**
----Student presentation review form. You will need to sign in to your google account.
----Presentation slides - Review Mitchell chapter 12, particularly the section "Information Processing in these systems
Read the following by Thursday, March 7th
- TBD
Spring Break March 10th - March 17th!
Midterm Exam
- Midterm Review, March 19th
--Midterm Example - Midterm, March 21st
Modeling and the Prisoner's Dilemma
Read the following by Tuesday, March 26th
- Mitchell, M. Complexity: A Guided Tour, Chapter 14, 2009
- Press, W. Iterated Prisoner’s Dilemma Contains Strategies that Dominate any Evolutionary Opponent, 2012 **Discussion Paper**
----Student presentation review form. You will need to sign in to your google account. - Stewart, A. Extortion and cooperation in the Prisoner’s Dilemma, 2012 **Discussion Paper**
----Student presentation review form. You will need to sign in to your google account. - Edge, On "Iterated Prisoner's Dilemma Contains Strategies that Dominate any Evolutionary Opponent", 2015 (optional)
Thursday, March 28th: No Class
- Project 2 due, turn in code and paper electronically
Networks, Scaling and Fractals
Read the following by Tuesday, April 2nd
- Mitchell, M. Complexity: A Guided Tour, Chapter 15, 2009
- Mitchell, M. Complexity: A Guided Tour, Chapter 16, 2009
- Barabasi, A. Emergence of Scaling in Random Networks, 1999
Read the following by Thursday, April 4th
- Mitchell, M. Complexity: A Guided Tour, Chapter 17, 2009
- West, G. Life's Universal Scaling Laws, 2004
Read the following by Tuesday, April 9th
- **Final Project proposals due**
- Moses, M. Energy and time determine scaling in biological and computer designs, 2016 **Discussion Paper**
----Student presentation review form. You will need to sign in to your google account.
Read the following by Thursday, April 11th
Friday, Apr 12: Last Day to drop without Dean's permission and use LoboWeb!
Brains, Neural Nets, and Analogies
Read the following by Tuesday, April 16th
- Risi, S. A Unified Approach to Evolving Plasticity and Neural Geometry, 2012 **Discussion Paper**
----Student presentation review form. You will need to sign in to your google account.
----Presentation slides - Hausknecht, M. HyperNEAT-GGP: A HyperNEAT-based Atari General Game Player, 2012 (optional)
Read the following by Thursday, April 18th
- Dumas, G. Inter-Brain Synchronization during Social Interaction, 2010 **Discussion Paper**
----Student presentation review form. You will need to sign in to your google account.
----Presentation slides - Quanta, Scientists Discover Exotic New Patterns of Synchronization, 2019 (optional)
Complexity Revisited
Read the following by Tuesday, April 23rd
- Mitchell, M. Complexity: A Guided Tour, Chapter 18, 2009
- Mitchell, M. Complexity: A Guided Tour, Chapter 19, 2009
- Dehaene, S. Toward a computational theory of conscious processing, 2013
Read the following by Thursday, April 25th
- No class work on final projects
Final Projects
Presentations and submissions:
- April 30th, Student Presentations (~7 mins long and 2 min question/answer afterward)
- May 2nd, Student Presentations (~7 mins long and 2 min question/answer afterward)
- May 3rd 5:00pm, Hard copy of paper due in BCLab FEC 3300, code and paper .pdf using project submission link below
- Student project presenations sign up form
- Place a copy of your presentation slides in this Google Drive folder
Assignment Information
Graduate students must present a paper from the papers listed as **Discussion Paper**. The presentation should be ~15mins long.
Sign up for a paper by following the link below, max of 3 students per paper.
For each project in this class you will submit an electronic version and a printed version. The electronic copy will consist of the following files: a pdf document containing your report, any data files you used, source code for your project, and a README.txt file (example). The readme file will contain a description of the files you are submitting, instructions on how to compile and run your project code, and a list of group members (Full Name) submitting the project.
We must be able to compile and run your programs on the CS Linux computers. If we cannot run your code using the instructions in your readme file on the CS machines you will receive zero points for the project.
- The code should have a clear comment block at the top of each file with team members names
- Note: While it is acceptable to use code from resources beyond your group credit MUST be given to the original author. Modifications to the original author's code should also be clearly delineated by a comment block explaining if it was a modification or addition to original code.
- A core dump or seg fault will get a zero
The printed copy will be a printout of your report (no source code, no data files, etc). Make sure the names of all group members are printed at the top of the report. You may divide up work on the assignments between group members but all group members will receive the same grade. Therefore it is in your interest to make sure you have reviewed and agree with the solutions your groupmates produce.
- To help with grammar, you may want to install Grammarly on your computer: Grammarly.
How to Submit your Projects
Turn in one copy of the printed report per group during class on the day the assignment is due.
Only one person per group should turn in a digital copy
- Create a folder named Project # (where # is the number of the project 1, 2 or 3)
- Place the pdf (not word or laTex change to PDF) report in the folder
- Create a subfolder of your Project folder called Data
- Place all your data files in this folder
- Create another subfolder of your Project folder called Code
- Place all your code files in this folder as well as the Readme.txt file.
-Note 1: If your code is importing data from the Data folder, make sure your code references the correct path.
-Note 2: Do not include the compiled code, the grader will compile the code using the CS machines. - Compress your project folder (zip, tar, gzip)
- Follow this link and fill out the form to submit the file, only the submitter's name is required on the submission form (but everyone's name is required in the files): CS523 File Submission Form
NOTE: Changes to Google's Script Apps may require you to approve the use of this form, all it does is upload the file you selected, it is safe to use.
Other considerations
Before creating figures for your documents, take a look at these suggestions for making nice informative figures.
Ten Simple Rules for Better Figures