Google App Engine - Artificial Chemistry Simulation

Quick Overview

This page contains a simple artificial chemistry simulation running on google app engine. Each colored grid cell represents an artificial chemical element. Lines are drawn between bonded elements. A collection of bonded elements represent a molecule. Over time, common molecules survive through out the life cycle of the simulation. The state of the simulation is stored in a database, each page refresh steps the simulation.


Click here to run the live simulation in your browser (Navigate to page with applet Version)

On Life and the Simulation

We show that basic rules can be used to produce complex behavior through simulated artificial chemical reactions. The chemical simulation exists on a fixed size two dimensional grid of cells. Each active cell is represented by an artificial atom element, these atoms may collide with other atoms to produce a chemical reaction. Strong chemical bonds will form if the chemical reaction is allowed by system. Clusters of strong bonded atoms form molecule strings. We show that self replicating molecule string patterns emerge from the artificial simulation. This analysis is based on Timothy Hutton's artificial chemistry model from Squirm3. It it is a basic model but a necessary step for analyzing and recreating similar natural systems. Self-replication and self-organization is fundamental to all biological life.

This simulation consists of an image servlet. Every time the user refreshes the page, the position and state of the chemicals in the grid are stored in database. When the right chemical elements come in contact with each other, a chemical reaction may form and the elements bond together. Over time common bonds start to form and those molecules survive through out the simulation.

The atom cell has a type of 'a', 'b', 'c', 'd', 'e', 'f'. Each atom has a state of '0'-'8'. Three chemical reactions typically occurred but eight were allowed. During a chemical reaction, x3 for atom one and y6 for atom two with an output x2. X and Y are variable substitutions for the atoms, 'a', 'b', 'c', 'd', 'e', 'f'.

On Life

All too often, we will hear, DNA is like a blueprint. Since most us don't normally work with architectural blueprints, let's come up with a another analogy. DNA is like a complex scientific employee handbook or field manual that is passed from employee to employee or task to task. In the case of the biological organism, the metaphorical 'employee' or contractor is a cell in company body vessel. The employee/DNA handbook is authored at the time of birth and you can't modify the handbook. Each cell contains DNA information or in this case ONE copy of the handbook with all the rules and regulations on how the cell should interact with the environment (our known Universe). Every cell in the human body references this handbook for all operations. Some cells read different parts of the very complex, very detailed handbook. When most of the cell employees of your body read the DNA employee handbook, they produce proteins.

And let's not forget that DNA is a molecule. A molecule is a collection of bonded atoms, a collection of elements, carbon, oxygen, hydrogen, nitrogen and phosphorus. Once that DNA, chemical handbook is passed from cell to cell, it cells the the cells how and when to produce proteins. The proteins in turn interact with the environment (the known universe). DNA information is vital to keep your cells alive. If the cells are alive, it allows your organism body to withstand the cruelties of the universe environment and every once in a while produce offspring body vessels.

At the heart of DNA replication and cell division is DNA information passed from cell to cell. So when cells divide, they pass along the DNA handbook. Replication happens at cell division and constant cell division is needed for an organism to survive. The employee handbook tells cells how to build proteins. Proteins are enzymes that interact with the environment and catalyze chemical reactions. Essentially, the DNA employee handbook is the chemical database store needed by each cell on how to build proteins. Proteins are collections of dumb chemicals where most of the vital chemical reactions will take place. There are about 300 different cell types in the human body. Cells in the digestive system divide the most. How long does a cell live before information is passed on? Red blood cells don't divide and live about 100-120 days.

-- Berlin Brown (berlin dot brown at / (4/16/2012)

Interesting Source

(Java Source) Image Servlet - Entry Point for the application
(Java Source) Building the Chemical Reactions
(Java Source) At Chemical Reaction
Full Source


[1] - Applet Source Code
[2] - Tim Hutton
[3] Evolvable Self-Replicating Molecules in an Artificial Chemistry Tim J. Hutton, Fall 2002, Vol. 8, No. 4, Pages 341-356 Posted Online March 11, 2006. (doi:10.1162/106454602321202417) at 2002 Massachusetts Institute of Technology

keywords: cellular automaton, dna, artificial chemistry, simulation, google app engine.