The Selfish Algorithm: Eduardo Hermo Reyes Joost J. Joosten
The Selfish Algorithm: Eduardo Hermo Reyes Joost J. Joosten
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
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.
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.