0% found this document useful (0 votes)
41 views

The Selfish Algorithm: Eduardo Hermo Reyes Joost J. Joosten

The document summarizes a proposed experiment to test the principle of Generalized Natural Selection (GNS) using cellular automata (CA). GNS states that in nature, more computationally sophisticated processes are more likely to persist than less sophisticated processes, given sufficient resources. The experiment models two growing structures, one more complex, interacting on a 1D tape with limited resources. The CA uses rules where structures survive contact randomly. Preliminary findings show the more complex structure sometimes maintains complexity while taking over resources, or the simpler structure increases in complexity. Further simulations are planned to more rigorously test how complexity changes when structures interact.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

The Selfish Algorithm: Eduardo Hermo Reyes Joost J. Joosten

The document summarizes a proposed experiment to test the principle of Generalized Natural Selection (GNS) using cellular automata (CA). GNS states that in nature, more computationally sophisticated processes are more likely to persist than less sophisticated processes, given sufficient resources. The experiment models two growing structures, one more complex, interacting on a 1D tape with limited resources. The CA uses rules where structures survive contact randomly. Preliminary findings show the more complex structure sometimes maintains complexity while taking over resources, or the simpler structure increases in complexity. Further simulations are planned to more rigorously test how complexity changes when structures interact.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

The Selfish Algorithm

Eduardo Hermo Reyes Joost J. Joosten


arXiv:1411.2378v1 [cs.CC] 10 Nov 2014

Department of Logic, History and Philosophy of Science


University of Barcelona
Barcelona, Spain
[email protected] [email protected]
October 21, 2018

Abstract
The principle of Generalized Natural Selection (GNS) states that in
nature, computational processes of high computational sophistication are
more likely to maintain/abide than processes of lower computational so-
phistication provided that sufficiently many resources are around to sus-
tain the processes. In this paper we give a concrete set-up how to test
GNS in a weak sense. In particular, we work in the setting of Cellular
Automata and see how GNS can manifest itself in this setting.

1 Introduction
One can perceive various physical processes in general and biological ones in
particular as computational systems (see for example [1]). By doing so, various
notions and techniques of computer science become relevant and applicable in
biological systems and vice versa.
In [4] and [5] Joosten investigates these complexity notions to reflect on the
direction of evolution in terms of complexity. A driving principle of Generalized
Natural Selection (GNS) is proposed. GNS states that in nature, computational
processes of high computational sophistication are more likely to maintain/abide
than processes of lower computational sophistication provided that sufficiently
many resources are around to sustain the processes.
A main ingredient of the argument is an analogy of Dawkins paradigm of
the Selfish Gene ([2]) which in our setting could be called The Selfish Algorithm
as long as we do not interpret our analogy too strictly. In this paper we choose
to model processes in nature by the parallel computing paradigm of Cellular
Automata (CA) and study how GNS can be investigated in this setting. We
present a methodology and some very preliminary results. As such the paper
can be seen as a research roadmap to further investigations.

1
2 A first implementation
We want to design an experiment that captures, in a computer simulation,
what happens when two different structures grow while both accessing a locally
limited set of resources, and in particular when at least one of the structures
presents some significant level of complexity. So, for this purpose we have
chosen a one-dimensional cellular automaton (CA), with radius 1 and three
colors, white, grey and black which we denote by 0,1, and 2 respectively.
Our CA works with a one-dimensional tape of discrete cells, where each cell
can be of any of these three colors, and time evolution is modeled with discrete
time steps. This way, we start by fixing an initial condition telling what cell is
of what color. Our CA will use a rule that stipulates how to compute the color
of a particular cell at a next time step depending on its current color and the
color of its two direct neighbors. This way, the color of each cell will evolve over
time.
More formally, we can label our tape-cells by . . . x−2 , x−1 , x0 , x1 , x2 . . .. A
tape-configuration is thus a map c : {xi | i ∈ Z} → {0, 1, 2}. We will denote
the tape configuration at time t (t ∈ N) by . . . ct (x−2 ), ct (x−1 ), ct (x0 ), ct (x1 ) . . ..
Thus, a CA with three colors in general is just a look-up table of 27 (3 × 3 × 3)
rules telling you the value ct+1 (xn ) depending on the triple
hct (xn−1 ), ct (xn ), ct (xn+1 )i.
The main idea of this experiment is that black cells will correspond to a
structure that follows some growing rule, grey cells correspond to a different
structure that grows following another rule and white cells can be interpreted
as a set of limited resources that black and grey cells use for their propagation.
Thus, we shall restrict our attention to CAs with three colors which can be
seen as composed by three CAs with two colors: one that determines the relation
between white cells and black cells and fixes the growing of the black organism,
the analogous for the grey organism and one that tells us what happens when
cells of the different organisms contact in the same neighborhood.
In particular we have that ct+1 (xn ) should, be either white or black in case
none of ct (xn−1 ), ct (xn ) and ct (xn+1 ) is grey. Likewise, ct+1 (xn ) should, be
either white or grey in case none of ct (xn−1 ), ct (xn ) and ct (xn+1 ) is black.
Admittedly one can argue that the correspondence between CAs and mod-
els of an organism leads way to discussion as to the ontological nature of what
exactly is the organism. In this paper we will not enter this discussion since
the paper is a mere first exploration of what happens when complex behavior
interacts with less complex behavior, or with behavior of a different type of
complexity. So, deliberately we shall be rather vague as to the exact correspon-
dence between black cells on the one hand and organisms or models of attributes
thereof on the other hand.
Our CA model will be of such nature that from the contact between both
colors only one of them survives or both disappear. This means that there
are only three possible solutions to what happens when cells of both organisms
contact in the same neighborhood: grey survives, black survives or there only
remains a white cell.

2
It is easy to check that there are exactly 12 possible neighborhoods (three ad-
jacent cells) so that at least one black and at least one grey cell occur1 . In these
cases , the values for the rule are assigned randomly so we do not interfere when
both structures come in contact, giving priority to one over the other. This way,
given any mixed neighborhood N = hct (xj−1 ), ct (xj ), ct (xj+1 )i, ct+1 (xj ) = r
where r is a random integer between 0 and 2. Since values are assigned ran-
domly, we can expect that given N = hct (xj−1 ), ct (xj ), ct (xj+1 )i and M =
hct (xi−1 ), ct (xi ), ct (xi+1 )i, two different mixed neighborhoods, ct+1 (xj ) and ct+1 (xi )
might be different. For example, consider the neighborhood h2, 2, 1i and suppose
that in this case, black cell survives, this does not mean that in the rest of the
mixed neighborhoods, black cell survives, not even in similar cases as h2, 1, 2i
or h1, 2, 2i2 . Also, notice that there is one special neighborhood, h0, 0, 0i where
all elements are white cells. For this case, we restrict the rule to return 0.

3 Interacting CAs: some preliminary findings


The authors are preparing a large simulation where interacting CAs are studied
using the above methodology. Here, we report on some preliminary findings. As
such we mention that we often see that the complexity of the resulting pattern
indeed gets changed. Either we see that the more simple structure survives
but increases its complexity or that the more complex structure survives while
maintaining its complexity.
Following Wolfram code, in the first two figures we can see respectively, Rules
90 and 110 running alone with just one black cell at the initial state. Rule 90
exhibits a nested pattern, while Rule 110 has a higher complexity. Moreover,
Rule 110 it’s known to be Turing complete.

1 Fromnow on, we refer to this kind of neighborhoods as mixed neighborhoods.


2 This
way, we are not considering totalistic rules that are the ones that depend only on
the average color of the cells in a neighborhood.

3
In the following figures we can see two different interaction between these
cellular automata. In the first one, Rule 90 changes its behavior to a more com-
plex one, generating a random substructure. Also, we can see that eventually
Rule 110 disappears. In the second one, Rule 110 maintains its complexity and
gains ground to Rule 90.

In forthcoming simulations an exhaustive experiment for interactions be-


tween all one-dimensional, two-colors, radius 1 CAs is planned. In this experi-
ment, the complexity needs to be quantified, either by some entropy measure, or
using some classification method. Moreover, the sensitivity for initial conditions
needs to be taken into account by taking large samples.

References
[1] Calude, C. S., and Paun, G., “Computing with Cells and Atoms: An Intro-
duction to Quantum, DNA and Membrane Computing”, CRC Press, 2000.
[2] Dawkins, R., “The Selfish Gene”, Oxford University Press. ISBN 0-19-
286092-5, 1976.
[3] Hermo Reyes, E. and Joosten, J. J., Competing Cellular Automata from the
Wolfram Demonstrations Project.
http://demonstrations.wolfram.com/CompetingCellularAutomata
[4] Joosten, J. J., On the Necessity of Complexity. In “Irreducibility and Com-
putational Equivalence: 10 Years After the Publication of Wolfram’s A New
Kind of Science”, H. Zenil, editor, pages 11-24, 2013.

[5] Joosten, J. J., Complexity fits the fittest. In “Emergence, Complexity and
Computation in Nature”. Springer Verlag, I. Zelinka, A. Sanayei, H. Zenil
H., O. E. Rossler, editors, ISBN 978-3-319-00253-8, 2013.

4
[6] Paun G., Rozenberg G. and Salomaa, A., “DNA Computing: New Comput-
ing Paradigms”. Springer, 2010.
[7] Wolfram S., “A New Kind of Science”; Wolfram Media, 2002.
[8] Zenil, H. and Villarreal-Zapata, E., Asymptotic Behaviour and Ratios of
Complexity in Cellular Automata Rule Spaces. Journal of Bifurcation and
Chaos, 23(9), 2013.

You might also like