Welcome to Artificial-Chemistries.org
Artificial-Chemistries.org is the website accompanying the book
"Artificial Chemistries" by Wolfgang Banzhaf and Lidia Yamamoto, MIT Press, 2015, 571 pages.
It contains PyCellChemistry,
a software tool for the design and
development of Artificial Chemistries and for the exploration of
their behavior, including pre-programmed and hands-on examples.
It will also hold news, resources, updates, and eventual corrections to the book, as these arise.
- What are artificial chemistries?
- Why are they important?
- Table of contents
- Source code download
- Online documentation
September 2015: version 2.0 is out with reaction-diffusion as an example of spatial AC.
What are Artificial Chemistries?
Artificial Chemistries (ACs)
are man-made virtual or physical systems where objects are transformed in interactions, like molecules in chemical reactions. The field of Artificial Chemistries started as spin-off of Artificial Life, motivated by a desire to pinpoint and understand the emergent phenomena driving the transition from nonliving to living matter, and to create new forms of synthetic life from the bottom up, in vitro or in silico.
An artificial chemistry is defined by a tuple (S,R,A) where S is the set of possible molecular species in the system, R is the set of possible chemical reactions among them, and A is an algorithm that simulates the dynamics of the molecular interactions, such as motions, collisions, and state transformations in reactions.
Why are Artificial Chemistries important?
Aside from sastisfying our curiosity and looking at fundamental phenomena related to the origins of life, artificial chemistries have numerous practical applications. People have applied ACs successfully to a wide range of domains, including:
This is only the top of the iceberg. We believe that artificial chemistries are just starting to show their true potential. We hope that our book and software package will help bringing more beginners to the field, who will contribute with fresh ideas and novel applications.
- real chemistry
- modelling of biological systems
- search and optimization algorithms
- chemical and molecular computing in vitro and in vivo
- parallel and distributed computing in silico
- adaptive controllers for autonomous robots
- nuclear physics
- economy models
- models of social interactions
- models of language dynamics
- artificial music composition
Artificial Chemistries Book
Table of Contents
- Part I: Foundations
- Chapter 1: Introduction
- Chapter 2: Basic Concepts of Artificial Chemistries
- Chapter 3: The Matrix Chemistry as an Example
- Chapter 4: Computing Chemical Reactions
- Part II: Life and Evolution
- Chapter 5: The Chemistry of Life
- Chapter 6: The Essence of Life
- Chapter 7: Evolution
- Chapter 8: Complexity and Open-Ended Evolution
- Part III: Approaches to Artificial Chemistries
- Chapter 9: Rewriting Systems
- Chapter 10: Automata and Machines
- Chapter 11: Bio-inspired Artificial Chemistries
- Part IV: Order Construction
- Chapter 12: The Structure of Organizations
- Chapter 13: The Dynamics of Organizations
- Chapter 14: Self-Organization and Emergent Phenomena
- Chapter 15: Constructive Dynamical Systems
- Part V: Applications
- Chapter 16: Applications of Artificial Chemistries
- Chapter 17: Computing with Artificial Chemistries
- Chapter 18: Modeling Biological Systems
- Chapter 19: Wet Artificial Chemistries
- Chapter 20: Beyond Chemistry and Biology
- Part VI: Conclusions
- Chapter 21: Summary and Perspectives
Artificial Chemistry resources:
- A few other AC software packages:
- Introduction to Python:
- Python for biologists:
- Extensive collections of Python learning resources:
- Mathematical support:
- NumPy: a numeric package including vectors, matrices, random number generators, and many other functions.
- SciPy: a comprehensive collection of mathematical packages for Python, including NumPy, Matplotlib, and others.
- Implementing binary strings in Python:
- Python regular expressions:
- Graphics support:
- Python Matplotlib, a plotting package for Python
- Overview of Graphical User Interface (GUI) support in Python:
- Pymunk: a 2D physics engine in Python
- VPython: 3D graphics and animations in Python
Last updated: September 19, 2016 by Wolfgang Banzhaf