# 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*.

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 - 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.*

GA Matlab example

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.* - 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.*

#### 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

Read the following by Thursday, February 28th

- Hecker, J. Beyond pheromones: evolving error-tolerant, ﬂexible, and scalable ant-inspired robot swarms, 2015
***Discussion Paper***

#### 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*** - 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 - Edwards, B. Strategic aspects of cyberattack, attribution, and blame, 2017

Read the following by Thursday, March 28th

- Press, W. Iterated Prisoner’s Dilemma Contains Strategies that Dominate any Evolutionary Opponent, 2012
- Stewart, A. Extortion and cooperation in the Prisoner’s Dilemma, 2012
***Discussion Paper*** - Edge, On "Iterated Prisoner's Dilemma Contains Strategies that Dominate any Evolutionary Opponent", 2015 (optional)

#### 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

Read the following by Thursday, April 11th

- TBD

**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

- Caudell, T., An Autonomous Distal Reward Learning Architecture for Embodied Agents, 2012
- Rilling K., The neurobiology of social decision-making, 2008
***Discussion Paper***

Read the following by Thursday, April 18th

- TBD

#### Complexity Revisited

Read the following by Tuesday, April 23rd

- Mitchell, M.
*Complexity: A Guided Tour*, Chapter 19, 2009 - Toward a computational theory of conscious processing

#### Student Presentations (~8 mins long and 2 min question/answer afterward)

- April 25th
- April 30th
- May 2nd

## 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