Friday, December 27, 2019

Simulating Self-Replicating Molecules

My web site Fourier Life explains how I developed a system to detect self-replicating patterns by searching many different rule sets in particular cellular automata systems. These patterns are a collection of cells that turn into either two or four copies of themselves. None of the patterns were engineered--they were all discovered as naturally occurring phenomena within the particular set of rules in the cellular automata.

The rules determine how the patterns evolve and the patterns determine if it will self-replicate when the rules are applied. I don't see any reason why this system couldn't be extended to atoms and molecules to explain the origin of life. But I'd like to demonstrate this idea.

I want to make a system where:
  • shapes such as circles represent molecules
  • the shapes will randomly bump into other shapes and connect
  • certain combinations of shapes will break some connections
Here's a brief comparison of the two systems:


Fourier Life Bump Life
System    Cellular Automata    2D Brownian Motion
Rule Codes    Set in world    Set in shapes
Beginning State    Random cells    Random vectors

In Fourier Life, I didn't see self-replicating patterns until I got to a certain complexity that seemed to be correlated with the number of possible rules. In cellular automata, the rules determine if a cell lives, dies or is born. For Bump Life, I think the rules should determine if a bond is made, broken or remains. The shape could have different regions that have a different color or state. The shape should also contain the rules for what happens when it bumps into other shapes. Every time step in a cellular automata should correspond to a bump in Bump Life.

When the shape bumps into another shape, each shape should read it's code and current state (what other connections exist) and then:
a) connect to new shape
b) break an existing connection
c) do nothing (just bounce apart)

To get interesting interactions between the shapes, the shape should have at least three areas it could connect to. The maximum number of areas would be six. Each of the three areas could have four states: not connected (0) or connected to another shape in one of the three areas (1, 2 or 3). So each shape has a total of 3^4 states, or 81 states. This seems like too many states.

A simple two-shape system seems capable of self-replication:
1) O bumps O --> PP
2) O bumps PP --> PQP
3) O bumps PQP --> PQQP
4) QQ is set to break apart --> PP  +  PP

This uses 3 states (O = no connections, P = 1 connection, Q = 2 connections).

Need only 3 rules for bumps (Q cannot bump):
OO connect, OP connect, PP bounce

Need only 3 rules for breaks (O is not connected):
PP stick, PQ stick, QQ break

This system only has 2^6 = 64 possible rules. This seems like a simple system to begin with and study.

A shape with three connections would have four states (O, P, Q, R), need 6 rules for bumps, need 6 rules for breaks, and have 2^12 = 4096 possible rules.

By extension, I believe a shape with four connections would have five states, need 10 rules for bumps, need 10 rules for breaks, and have 2^20 = 1,048,576 possible rules.

A shape with five connections would also be possible, have 15 rules for bumps & breaks, and have 2^30 = 1,073,741,824 possible rules.

These systems seem reasonable to program, but can I use the Fourier Transform to detect self-replicating creatures? I suppose I could test it with the very simple two-connection system above.

No comments:

Post a Comment