A blueprint for a self replicating machine


December 26, 2016 by Michael Thudén

 We study the properties of a 2-dimensionel “blueprint” and show that this  geometrical binary model can do addition , express Boolean functions (corresponding to subsets in binary-trees), and be used as a memory. The system also has the ability to be used as a binary coordinate system, meaning that arithmetic, Boolean function and memory can be expressed in a plane or space context regarding different positions.
The system can then be expanded into a three dimensional Boolean sphere using the 2-dimensional “mother”-system as blueprint. The surface and the internal subsystem of the sphere inherent the same properties as the 2-blueprint (expressing Boolean functions, doing arithmetic, being used as a memory and a discrete  coordinate system).
We end with showing that the 3D Boolean sphere can replicate it self using the 2 dimensional “mother” system as a blueprint. The “newborn” Boolean spheres can assemble structures using the discrete coordinate system on the surface of the spheres.

1 Binary geometric representation in two dimensions

Lets start with a circle divided in half. Let the upper half of the circle get the value 0 and lower half the value 1. denote this circle shell 1.

Construct a new circle with a radius that’s larger then shell 1 radius And let this constitute the new border. Extend the diagonal in shell 1 to to the new circle. Take the midpoint on arc containing the cell in shell 1 with value 0 and draw a normal from shell 1 to the new circle. Do the same with the cell in shell 1 with value 1. Fill the the new spaces so that every second space will be filled with a 0 respectively 1. Start at the common diagonal on the right side with a 0 and continue counterclockwise as shown below. Denote the new area shell 2.

We denote a filled area as a sub-cell


Continue in the same manner to construct a third shell as shown below:


Lets consider a system with N shells. When a N all shell that are filled we denote this as a N completed cell-system or a full shell-system.

Definition: A radial combination is a compilation of the value of the cells in respectively shell that a radial beam give when it goes trough the system to a n:th sub-cell.

Example: Below is a system with 5 shells and (0,0,0,1,1) is a radial combination


 Theorem 1:

Every cell in a N cell system has a unambiguous radial combination

Proof: We need to prove that a arbitrary cell in a N full-shell cellsystem can be described by an unambiguous radial combination existing of P bits of 0 and/or 1 This is true for N=1 and N=2. Assume that it´s valid for the shell N=M. We shall then prove that it’s also valid for the shell (M+1). Let C be a arbitrary cell in M. C can then be described unambiguously with a radial combination according to the assumption above. The cell C will border to two cells in (M+1) and both these cells differs from each other (one cell will have value 1 and the other 0) and thus can they also be described unambiguously by a radial combination. But C was a arbitrary cell in M and hence all cells in (M+1) can be described unambiguously by radial combinations.

In the N:th shell there will be 2^N cells that can be unambiguously described by radial combinations with P bits of 0 or/ and 1. The number of combinations that N bits of 1 and/or 0 can describe is also 2^N bits. Hence all radial combinations in a N-fullshell is a list of all combinations.

Boolean functions

Lets consider the radial combinations i the picture below. Let the inner circle in a N full-shell system be a Boolean function and let the remaining shells be variables to this function, where shell 2 represent variable 1 etc. Every Boolean function with N-1 variables can then be described by radial combinations whithin this N full-shell system.

E.g. the Boolean function AND can be described with two variables within a 3-fullshell cell system.


Hence: The picture above is an alternative geometric way of describing a truth table for an AND function (see below):


The paths that are not represented must then be the NAND function as shown below.


Corresponding representation for the OR and NOR-function can also be shown.

Below is an example of a function with 3 variables and its corresponding truth table. The E mark`s the entrance. The fourth shell represent A,, the the third shell B and the second shell C. The function F is represented in the first shell (inner circle) and form radial combinations with the variables.




Integer representation an arithmetic

Let there be a N-fullshell cellular system and let the last shell (N) represent the two integers (2^0)*n where n is either 0 or 1 depending on the value of the cell. Let the cells in the N-1 shell represent the two integers (2^1)*n where n is either 0 or 1 depending on the value in the specific cell. Do the same for every shell down to the first shell. The M shell will then represent the two integers (2^(N-M)*n) (we avoid the philosophical discussion if 0 is an integer or not). 

The figure below illustrates a 6-fullshell cellular system. The integer they represent is shown to the left


Theorem: A radial combination to a cell in the N shell in a N full-shell cellular system describe unambiguous an integer between 0 and (2^N)-1


According to the proof in chapter one can every cell in a shell be unambiguous described by a radial combination. The

lowest integer that can be described is when all n=0 , as shown below:

((2^0)*0) +((2^1)*0) +……+ ((2^(P-2))*0) +((2^(N-1))*0)=0

The largest integer that can be described is when all n=1 as shown below:

((2^0)*1)+ ((2^1)*1) +……..+ (2^(P-2))*1)+ (2^(P-1))*1=(2^N)-1

Between 0 and (2^N)-1 there exist (2^N)-2 integers. There exists P^2 possible ways to describe integers binary by radial combinations in the N-shell system. But all radial combinations are unambiguous and thus must all integers between 0 and (2^N)-1 be described.

Observe that this is valid even if we switch the order and let the first shell represent (2^0)*n and then increase the exponent by one until we reach the N-shell (which then will represent the integers (2^(N-1))*n.

Case 1:

The radial combination will increase the integer number by 1 for every step anti-clockwise i the N:th shell. we denote


Case two:


All even integers between 0 and 2^N-1 will be located on the half that border to the inner circles 0. All uneven integers between 0 and 2^N-1 will be located on the half that border to the inner circles 1.

Addition is then just a simple mechanical process, for example:

Addition of 27 and 31 (27+31=58)


Step 1 The two integers representation in the first shell give the sum (2^0)*1+(2^0)*1=(2^1 )*1+(2^0)*0 . But (2^1 )*1 is represented in the second shell and a memory mark G is placed in a cell with value 1 in the second shell.. A T is marked in the 0 cell in the first shell indicating the sum representation in this shell.


Step 2: The sum of the two integers representation in shell 2 is added with the memory mark G in this shell: (2^1)*1+(2^1)*1 +(2^1)*1=(2^2 )*1+(2^1)*1 (2^2 )*1 is located in the third shell and a memory mark G is placed in a cell with a 1 in shell 3. The remainder (2^1)*1 is located in shell 2 and a mark T is placed in a 1 cell in shell 2 bordering to the T in shell 1


Step 3: The sum of the two integers representation in shell 3 is added with the memory mark G in this shell: (2^2)*1+(2^2)*1 +(2^2)*0=(2^3 )*1+(2^2)*0 (2^3 )*1 is located in the fourth shell and a memory mark G is placed in a cell with a 1 in shell 4. The remainder (2^2)*0 is located in shell 3 and a mark T is placed in a 0 cell in shell 3 bordering to the T in shell 2.


Step 4: Analogous to previous step


Step 5: Analogous to previous step


Step 6: The radial combination to the the last T is the answer

It’s convenient to arrange the sub-cells according to the Morse-Thue sequence when you perform subtraction. Finding the first compliment then becomes trivial – as well as adding 1 to get the second compliment.


It´s possible to store binary information in the N-cellsystem. One is shown below. Following the curve that starts at T you can write down the radial combinations in cells where loops residents and let it form a memory.


The figure above can be seen as a memory for 11100110001000100111110110001110000100011000010100.

Coordinate system

We start with establishing external och internal discrete coordinate system dimension.

If we consider a dot outside the system the radial “way out” from the system in direction towards the dot can be seen as a approximate statement for the direction of the dot. The distance to the dot can be described as a multiple of r(N) were r(N) is the radius for the N:th circle. In the case below the notation (0,0,0,1), r(N )*q were q är a real number>1 would be a approximate description (polar similar) for the position of the dot.


The precision will of course be more exact if additional shells are added.


An internal coordinate system

You can also describe “compartments” within the “cell”. For instance: the radial combination (1,1,0,1) describes the location for the compartment that the dot below residents in:


Lets color all “compartments” (sub cells)  in order to make it more visual when we expand the system to three dimensions. Lets say that all compartments with value 0 are colored in black and all compartments with value 1 are colored white:


Three dimensional cellular coordinate system.

The procedure i quite simple – the flat 2 dimensional “mother” system N will be used as at blueprint from which two offspring’s with one less shell N-1 are replicated and pulled out on both sides of the “mother” coordinate system. The offspring’s N-1  are then used as a blueprint for the next offspring’s N-2 and so on. The animation below illustrate the process. I put some depth to the 2-dimemsional planes to make it more visual

The 3d model below shows the general idea (I’ve removed the ones and zeros in order to make it less cluttered). You can rotate and zoom with your mouse.

We then put the resulting three-dimensional system into a sphere and study the surface area and the internal compartmentalization of the sphere. We arrange the sphere so that the “mothers-system” and its offspring’s tangent the sphere – as illustrated below.


A line can be drawn so that it goes through the center of the  mother-system and it’s offspring’s . he line will exit both sides of the sphere. We denotes these two points as the poles of the sphere.


Consider the k:th offspring on both sides of the mother-system. Denote the left offspring as k-left and the right  k-right. Every cell in k-left will then have a corresponding parallel sub-cell in k-right. In the example below all offspring’s except N=2 left and right are excluded to illustrate the symmetry. The mother system lies in the middle. A cell in left subsystem (N=2) for example (0,1) will have a parallel corresponding cell in the right offspring ( and in all offspring’s that are hidden between)


We continue our development of the coordinate system in 3D.

The sphere can be divided into ((2*N)-1) slices by using the mother-system and the offspring as cutting edges. The figures below illustrates a system with N=5. The second half of the sphere is treated in the same manner. Figure 1-2 Shows how the mother-system and half the offspring’s cuts into a half sphere Figure 3 Shows he resulting slices of the half sphere.


Take the mother-system and let the normal’s from the (N-1) form longitudes to the poles of the sphere: Use then the same method for the two half spheres. that was used in forming the plane coordinate system . But instead of taking away the radius for every shell you take away every second part of the longitudes down to the offspring with only one shell starting from the mother-system.

Every slice can the be divided into sectors that are equally large in respective slice. Mark all sectors that border to a 0 in respective slice with red color and mark all sectors that borders to 1 with white colors (Se figures below).



We can assemble the slices into a sphere and investigate the properties of the sphere’s surface sectors.

If we study the sphere in a view perpendicular to the poles we see that that both half’s of the sphere have the same representation as a N:shell plane coordinate system but wrapped around the two half spheres.


Picture above – the sphere seem from one of it’s poles


We denote the sphere as a binary sphere and denote every area that has value 0 or 1 on the spheres surface as surface sectors. It is possible to decide in which surface sector a point is situated starting from one of the binary spheres poles (left or right) and writing down the unambiguous radial combination to that surface sector.

In the figure bellow the point Q is situated on the binary spheres left half in surface sector (0,0,1) from the left pole.


The point Q-left also have a mirror point Q-right on the right half of the sphere. In the figure below the two points have the same radial combination (0,0,1) but starting from different pole.


Inside the binary sphere there will be “rooms” that can be described by unambiguous radial combinations.


Let’s remove the mother “blue print” system and some of it’s offspring’s to get a less cluttered picture.

We denote these rooms binary spheres rooms. To describe a binary spheres room we need to know which subsystem it belongs to and how deep into sphere the room resident. Hence this require two radial combinations =coordinates.

By symmetry its also evident that that a binary sphere room in the left half sphere must have corresponding mirror-room in the right half sphere The two mirror twin rooms (the green “rooms” above) is located in the third offspring at (0,0) on both half spheres.

Division of a binary sphere

We have already showed that the binary sphere is left-right symmetrical were the mother system constitute a equatorial plane from which the offspring’s can be derived. It’s possible to make a division resulting into two binary spheres in much the same manner. Let the mother system split into two mother systems so that the right mother system is attached to all offspring’s on the right side and the left mother system is attached to all offspring’s to the left. We then have two symmetrical half’s. The left binary sphere half can now expand an offspring from it’s mother system to the right and the right binary sphere half can now expand an offspring from its mother system to the left.And so on. The symmetry is shown in 3D below.

The surface sectors of the binary sphere can be created simultaneously with the expansion of the 2 dimensional offspring’s, as shown below.

We see that a totally symmetrical binary sphere division start from the mother system’s equatorial plane. The discrete coordinate system on surface of the sphere can the be used as “anchor points” – as shown in the picture below where   The binary spheres 2 and 3 are attached to middle binary sphere at (1,1,0) on both left and right side forming a bilateral symmetry (if you cut the formation in the middle you will get two parts that mirror each other).


I will discuss bilateral symmetries and other similarities with real cells that can be simulated by binary spheres in the next blog (note that I use the word simulate – I don’t claim that this is the way cells are constructed)


8 thoughts on “A blueprint for a self replicating machine

  1. kao says:

    Jag begriper absolut ingenting av detta, men vill passa på att önska dej en god fortsättning.
    (Är det en avhandling, eller vad? 🙂 )

    // Kao

    Liked by 1 person

  2. Farfar says:

    Inte för att jag begriper vad det är du har konstruerat, men det ser spännande ut, som allt nyskapat. Vid en snabb blick fick jag för mig att det var nån sorts evighetsmaskin, men såna finns väl inte? Eller:)


    • Nä ingen evighetsmaskin. Boolska sfärer skulle kunna reproducera sig själv och använda sitt eget koordinatsystem för att “häkta på” varandra i olika former. Den skulle vara beroende av energi som kommer utifrån som den “slukar” – den skulle inte själv skapa någon energi.

      Problemet, som jag ser det, med Cellular Automata (CA, såsom t.ex Conways “game of life”) är att de inte kan bära information inom sig, att de inte har något logiskt sätt att bearbeta informationen på inom själva cellerna, och att de saknar ett eget koordinatsystem. De CA som konstruerats är beroende av att något högre väsen (programmeraren och datorn) skapar ett koordinatsystem och tolkar informationen. Tanken med en Boolsk sfär är att det skulle kunna skötas av sfären själv, dvs den skulle vara autonom.


  3. Farfar says:

    Jag känner en person som gillar klura på liknande problem, så jag skickar en länk till honom. Vem vet vad det kan leda till:)


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: