Evolvable Machines: An EvoDevo Approach Gunnar Tufte 1

i
17
Evolvable Machines: An EvoDevo Approach
Gunnar Tufte
The Norwegian University of Science and Technology
Department of Computer and Information Science
Sem Selandsvei 7-9, 7491 Trondheim, Norway
([email protected])
Abstract
In this paper ongoing work on artificial developmental systems toward
evolution of computational machines is presented. Developmental systems
show promising features in the domain of scalability and adaptation. As such,
two examples demonstrating scalability and adaptation are presented. The
general goal of the work presented plays a part toward an understanding of the
interplay between evolution, development and environment toward evolvable
machines. Further, the artificial organisms considered are all implemented in
hardware, i.e. true machines.
1 Introduction
Artificial development takes it’s inspiration from the processes of biological development [1]. The process of mapping genetic information in the genotype to a phenotype
that express structure, behaviour and functions [2]. In nature this is the processes making
a zygote (fertilised egg) develop to a multicellular organism. In biological development,
an initial unit — a cell, holds the complete building plan (DNA) for the organism. It is
important to note that this plan is generative — it describes how to build the system, not
what the system will look like. Units have internal state, can communicate locally, can
move, divide or die. Groups of units may also exhibit group-wise behaviour. Information
carried in the ever evolving genome is the information that passes from generation to generation. This evolved genetic information is contained within a cell that serves as both the
constructor and construct of the phenotype.
The motivation for moving towards developmental system is multitudinous ranging
from early work on self-reproduction [3], to more recent attempts in overcoming
limitations in Evolutionary Computation (EC), e.g. scaling and complexity [4] or towards
a desire to include properties inherent in living organisms that may be favourable for
artificial systems, e.g. robustness [5] or adaptation [6].
The general goal, of which the works presented play a part, is toward an understanding
of the interplay between evolution, development and environment for artificial organisms
with a capability of complex computation. Further, the high computational effort, due to
the massive parallel operation, there is a need for a hardware experimental platform. As
such all artificial organisms considered are realisable in hardware, either today’s silicon
This paper was presented at NAIS-2009; see http://events.idi.ntnu.no/nais2009/.
i
i
i
i
18
G. Tufte
technology or in some further technology. At present time reconfigurable devices, or more
specific Field Programmable Gate Arrays (FPGAs), is the hardware technology in which
the artificial organisms develop and function. However, the authors view on hardware is
not restricted to today’s available technology; hardware can be anything from transistors
to living cells.
As the motivation and goal is toward computational machines, there is a need for
defining what kind of machine that is targeted. Functionality of an organism, or machine,
is an interpretation of the organism’s topology. Traditionally, in today’s technology, i.e.
an electronic circuits, topology may be viewed as an interconnection of components with
defined inputs and outputs. The circuit’s functionality can be found by tracing the inputs
to the outputs through the intermediate gates. Developmental model results that follow
this interpretation may be found in [7, 8].
In this work the topologies targeted are architectures based on Cellular Automata
(CA) originating from von Neumann [3]. von Neumann’s Self-Reproducing Automata
is in itself close to artificial development [9], cells with a finite number of states that
can produce self-replicating structures, i.e. an expanding cellular structure. Herein the
developmental phenotypes are based on a cellular computational machine [10]. A nonuniform CA is developed, i.e. the structure/form, emerges out of a set of developmental
rules capable of cellular growth, differentiation and cell death. The developmental rules
are evolved using a Genetic Algorithm (GA), a principle inspired by Darwin [11].
In the remaining of this paper the basic principles for evolution, development and
environment in relation to machines are outlined in Section 2. The computational
principles and development model used herein are presented in Section 3. In Section 4
examples of scalability and adaptation in relation to evolvable-developmental machines
are presented. The reconfigurable hardware platform necessary for experiments is briefly
discussed in Section 5. Finally Section 6 concludes the presented work. It should be
noted that the model, examples and principles are only briefly presented to show the main
principles of the ongoing work. For a complete description references must be consulted.
2 Evolution, Development and Environment
Evolution
The difference in the way information in the genome is treated in developmental mappings
compared to direct mapping approaches influence on the evolvability [12]. The fact that
the information in the genome is relatively small and the information content in the
phenotype is large implies that the genotype space is much smaller then the phenotype
space. Even though, as shown in Section 4, a genome can be the origin of several
phenotypes along the development path and that external information can be included
in the gene regulation, the phenotypic space that a given genome size and mapping model
can explore is usually given to be larger then the genotype space. Further the intermediate
phenotypes along the developmental path together with the property of having a system
with an ever working developmental process influence on how and when evaluation is
to be carried out, i.e. influence on the fitness landscape. The process of regulation, e.g.
herein gene regulation, imply neutrality. Parts of the genome is not expressed in the
phenotype hence there exists more then one genotype describing a given phenotype. As
such, introducing artificial developmental mappings strongly influence the evolvability of
the system [13] by changing the focus of evolution from the content of the genotype to an
interplay between genome, environment and the emerging phenotype [14].
i
i
i
i
19
Evolvable Machines: An EvoDevo Approach
Development
Artificial developmental mapping include various techniques and methods ranging from
rewriting systems, e.g. L-Systems [15], to cellular approaches, where the genome is
present and processed autonomously in every cell [16]. Further, the information available
to the mapping process can be varied from systems depending only on the genotype and
an axiom [17], to systems including environmental information where exploitation of this
information form the phenotypic structure and behaviour together with the information
carried in the genome [18].
In a system including a developmental mapping the role of the genome is radically
changed from a system where the genome is considered a description, e.g. a blueprint, to
a system where the genome may be viewed as information on how to build the system.
That is, the genome contains information that is exploited in the generative process of
development. The processing of the genome may be based on gene regulation [19].
Each development step, or stage in the mapping, produces a candidate phenotype which
emerges during development. Gene regulation implies that different parts of the genome
are expressed in different cells at different times cued in context with the environment
and the emerging phenotype. Further, this implies that the genome size may not reflect
the size or complexity of the phenotype. As such a developmental approach opens for
systems that can generate very large scale repetitive structures [20], or even structure of
arbitrary size [21].
Environment
In Figure 1 three different ways of treating an environment in artificial developmental
systems are presented. Figure 1(a) shows a system that does not include an environment.
In this approach an Evolutionary Algorithm (EA) is used to evolve genomes that are
mapped from genotype to phenotype taking the information in the genome and possible
intermediate phenotypic properties into the mapping process. The phenotype that is
produced by the mapping process is evaluated by a fitness function. In the illustration
the double arrow between the mapping process and the emerging organism (phenotype)
shows that there is a possibility for the mapping process to exploit information from the
emerging phenotype. In this system the phenotype is given by the information in the
genome and the mechanisms in the mapping processes, a totally deterministic system.
If the system in Figure 1(b) is considered. An environment is explicitly included. The
organism develops within an environment and the fitness evaluation is based on the
organism’s performance in the environment present. As such, the feedback of fitness
depends on the environment. In this system the fitness is connected to the organism and
the environment. The system depends not only on the genome and the developmental
mechanisms, the environment influence on the evolutionary path of the system.
EA Genom
EA Genom
Mapping
Fitness
Emerging
Organism
(a) No environmental influence.
Mapping
Fitness
Emerging
External
Organism
Environment
(b) Evolutionary environmental
influence.
EA Genom
Mapping
Fitness
Emerging
Organism
External
Environment
(c) Evolutionary and developmental environmental influence.
Figure 1: Possible environmental influence on artificial EvoDevo systems.
i
i
i
i
20
G. Tufte
In the last system illustrated in Figure 1(c) environmental information is available to
the mapping and can influence on the outcome of the developmental process. Illustrated
by the extra arrow. This implies that the emergent phenotype is a product of the
genome, the emergent phenotype and the environment. Further, the fitness feedback
is based on a phenotype that depends on specific environmental conditions. As such,
the phenotype here can change structure and/or function depending on environmental
conditions. Further, the double arrow between organism and environment in Figure 1(b)
and 1(c) indicate that there can exist a mutual dependency between an organism and it’s
environment, i.e. mutual perturbatory channels [22].
3 Emergence of Structure and Behaviour
The system described in this section and used in the examples in Section 4 is as a
whole close to an Evolutionary Developmental (EvoDevo) approach —see e.g. [23, 24].
This implies a developmental system with a possibility to include information from
the environment, intermediate structures and behaviour in addition to the genetic
information carried in the genome. The details of the system are only discussed in
brief. For a complete description of the system —see [6] (developmental model) and [25]
(evolutionary algorithm).
Developmental Model
The development model is based on cellular development. This implies that the genome
is present and processed autonomously in every cell. In the model, the cell also contains
the functional building blocks. Figure 2(a) illustrates the basic unit of the developmental
system — the cell. The cell is divided into three parts: the genome, development process
and the functional components of the cell.
The genome consists of a set of rules. Rules are restricted to expressions consisting of
the type and state of the target cell and the types and state of the cells in its von Neumann
neighbourhood. There are two types of rules i.e. change and growth rules. Cellular growth
is a mechanism to expand the organism.
Result
Active?
Action
Condition
Active?
Type
state
Active?
Type
state
Active?
Type
state
Active?
Type
state
Active?
Type
state
N
W
C
E
S
(a) Components of the cell.
(b) Gene regulation for a single rule.
Figure 2: The basic cell and a rule showing the gene regulation.
Differentiation changes a cell’s type i.e. its functionality. The result part of a change
rule give the type the target cell is going to be changed into. Cell death is a result of a
change rule changing a cell type into empty whilst the state information is kept. As such, a
i
i
i
i
21
Evolvable Machines: An EvoDevo Approach
cell can be killed off, but the state information in the cell is still available to neighbouring
cells.
Each rule, shown in Fig. 2(b), consists of a result and a condition. The conditional part
provides information about the cell itself (type and state) and each of the neighbouring
cells. State information provides a way to include information relating to the functionality
of the organism at a given point in time as well as information about the external
environment — the empty cells in the environment also have state information. As such,
a cell is represented in the condition of a rule by two genes representing its type and its
state. However, a target cell is only represented by one gene: it’s type for change rules or
growth direction for growth rules. The state of cell may be 0, 1 or Don’t Care (DC).
The functional components of the cell consist of a look-up table (LUT) defining
functionality and a flip-flop as a memory element. The output value is synchronously
updated and sent to all its four neighbours and as a feedback to itself. Available cell types
were based on Sippers universal non-uniform CA [10] and threshold elements [26]. For
further details on LUT definitions see [6].
One update of the cell’s type under the execution of the development process is termed
a development step (DS). A development step is thus a synchronous update of all cells in
the cellular array. The update of the cell’s functional components i.e. one clock pulse on
the flip-flop, is termed a state step (SS). A development step is thus made up of a number
of state steps. An example of execution of developmental and state steps for the model
can be seen in Figure. 3.
Organisms intermidiate phenotypic structures
DS = 6
SS_0
DS = 7
SS_1
SS_99
SS_0
DS = 99
SS_1
SS_0
SS_1
Dynamic behaviour of organism
Time
Figure 3: Snapshot of the development of phenotypic structure (top) and the
corresponding emergent behaviour (bottom) shown as space-time pattern.
In Figure. 3 an example of the development of the non-uniform CA structure is shown.
The structure/form, emerges out of a set of developmental rules capable of cellular growth,
differentiation and cell death. The developmental rules are evolved using a Genetic
Algorithm (GA).
The example in Figure. 3 illustrates development of a cellular machine and it’s
behaviour. The phenotype is an emerging non-uniform Cellular Automata (top), each
colour represents a CA cell with a given function. White cells are considered empty.
Development of the structure goes through steps, development steps, where the structure
is formed by growth (expanding the number of cells) and differentiation (changing the
update function, i.e. LUT, of a given cell). The dashed lines indicate that there exists
i
i
i
i
22
G. Tufte
events that are not shown in the figure, e.g. the phenotypic structure between DS 8 and
DS 98 are not shown. The behaviour of the system in Figure. 3 (bottom) is the state space
produced from an initial state executed by the developing non-uniform CA. The space
time plots for the behaviour consists of 100 state steps for each development step. This
implies that there exist 10 000 stat plots describing the behaviour of the system. It is
important to note that in this system behaviour exists from the first cell throughout the
life-time of the organism. This opens for a adaptive system that can respond to externally
enforced changes.
4 Examples: Scaling and Adaptation
In order to highlight some principles from ongoing work the developmental model
presented in Section 3 is applied to two examples. The examples target scalability and
adaptivity. The model presented targets organisms that structurally can be seen as a
non-uniform cellular automaton that emerges as a product of development. Similar, the
functionality can be seen as the result of running the developing cellular machine. As
such, the developing organism is the phenotypic cellular structure, shown at the top of
Figure 3, and the functionality of the system is the dynamic behaviour of the organism,
shown at the bottom of Figur 3.
The application chosen in these examples is a sequential counter where counting is
based on the state information of the entire cellular space and the sequential operation
of the functional components of the cells. The application thus places a requirement
on the tuning of the development genome (by evolution) and the emerging phenotype
(by development) for such sequential digital circuit behaviour. A counting sequence is
defined in the cellular array as the number of logical ”1”s in the cellular array increasing
by one for each state step. As such, the functionality only concern the global count of
cells outputting a logical ”1”, i.e. an emergent global property out of local interactions of
the functional components of the cells.
The fitness function for achieving this counter behaviour is based on the best counter
sequence obtained at each developmental step, i.e. a lifetime evaluation. As such, the total
fitness is the sum of the longest counter sequence found on each developmental step.
In all the examples presented the developmental process is allocated 100 development
steps. At each development step 100 state steps is executed. As such the counter sequence
is a product of the dynamic behaviour caused by the state steps at each development step.
The size of the genotype in all examples was set to 32 rules. Here the specific example
results are selected from a larger collection of experimental results. For all details on the
results and setups see [27, 18, 6].
Scaling
Taking inspiration from nature into artificial developmental systems may be motivated by
a desire to include inherent properties of biological systems, here scaling. A generative
process can generate very large scale repetitive structures [20]. Gene regulation opens
for a genome size that may not reflect size or complexity of the developed phenotype.
A developmental system can create structure of arbitrary size for problems that can be
solved by increasing the number of repeated structures.
Scaling for any system, biological or artificial, is a question of resources. As such,
there is a question of what resources those are available to the system. To be able to
deal with such questions knowledge of what domain the resource scaling fit in with is
i
i
i
i
23
Evolvable Machines: An EvoDevo Approach
necessary. Giving two different, however not independent, resource domains for scaling.
First, scaling of mapping external factors. This domain includes number of generations,
population size, genome size and other factors relating directly to the EA. The second
domain relates to scaling in relation to the development process itself e.g. phenotype size,
cellular actions and information processing. The latter is the example presented to show
how scaling of phenotypic size can influence on scaling in the functional domain.
Evolved 8x8:
Evolved 16x16:
Evolved 32x32:
(a) 8 x 8 Genome re-developed
at different cellular array size.
(b) 16 x 16 Genome redeveloped at different cellular
array size.
(c) 32 x 32 Genome redeveloped at different cellular
array size.
Figure 4: The structural composition of re-developed phenotypes for the evolved genomes
if re-developed in a cellular array of 8 x 8, 16 x 16 and 32 x 32 cells. The original evolved
structure for each genome is marked as Evolved.
As an example of scaling phenotypic size and function, Figure 4 illustrates how three
different genomes, each evolved for a given phenotypic cellular size, can be redeveloped
if the phenotypic size is changed. The shown resulting structures in Figure 4 illustrates
the phenotype structure (the cellular machine) at development step 100 for each of the
genomes re-developed at different phenotypic scales. The resulting developed structures
for the 8 x 8 genome, shown in Figure 4(a), and the 32 x 32 genome, shown in Figure 4(c),
illustrates how these genomes can be developed at different phenotypic scales.
In Figure 5 the resulting functional performance of the scaling of phenotypic resources
are shown. The fitness results for each of the three genomes at different phenotypic scales
are presented as a bar graph. The bar graph show that the functionality of the organism
for genomes evolved for cellular arrays of 32 x 32 and 16 x 16 cells are scalable. That
is, the fitness of the developed organism scales with the available phenotypic resources
independently of the cellular array size used in the evolution of the genome. The genome
evolved for a cellular array of 8 x 8 does not share the property of such scaling. However,
the 8 x 8 genome scales up the performance with increased number of available cells
i
i
i
i
24
G. Tufte
140
Fitness
120
Genome evolved for 8x8
Genome evolved for 16x16
Genome evolved for 32x32
100
80
60
40
20
0
8x8 cells
16x16 cells
32x32 cells
Phenotypic resources
Figure 5: Re-development and re-evaluation of the chosen developmental genomes at
different phenotypic scales.
relative to the performance on an 8 x 8 array of which it was evolved for.
In the example given scaling is illustrated by evolved genomes that can be developed
to organisms at different scale. Figure 4 clearly show how a single genome can be
developed to organisms of different structural size. In addition the resulting fitness results
in Figure 5 show that it is not only structural size that scales. A single evolved genome
can exploit the available size property to achieve increast functionality, i.e. fitness.
Adaptation by Plasticity
Developmental adaptation is highly connected to plasticity, the ability for an individual
to respond to environmental conditions. Such response may materialise in form of
individuals that can develop different structural and/or behavioural properties based on
environmental conditions, i.e. phenotypic plasticity [28]. In an artificial developmental
system plasticity gives a single genome several possible developmental paths. Witch
path an organism follows is given by the specific environmental conditions present
during development. Further, due to the possibility to have an active developmental
process throughout the lifetime of an individual fluctuations in the environment can
cue reorganisation of structure and behaviour through gene activation as to be able to
operate [6].
Adaptation by plasticity may also be viewed in a context of self-organizing systems.
In contrast to robustness making a system capable of returning to the same state after
perturbations plasticity in a system allow the system to leave its state and there after move
to a different state whilst maintaining it’s operation.
Figure 6(a) show the developmental paths, i.e. trajectories, for a genome developed
in ten different random environments, indicated in the figure. The different nodes
in the graph are the unique phenotypic structure emerging during development. This
representation of the developmental history clearly show influence by environmental
information. The ten initial environmental conditions can take different paths to different
phenotypic structures. In addition the developmental trajectory contain loops at several
point indicating that the structure is unchanged for more then one developmental step.
Such loops are broken if the state information, i.e. behaviour, changes to express a change
in the phenotype by development.
The result of the approach can be seen in Figure 6(b) showing the fitness of the
different developmental paths. The black bar shows the fitness value obtained in an
evolutionary run. The ten next grey bars show the fitness obtained if the evolved genome
was re-developed in ten new random generated environments. Here a single genome
i
i
i
i
25
Evolvable Machines: An EvoDevo Approach
3500
Evolved
RND test set
3000
2500
2000
1500
1000
500
0
Pajek
(a) Developmental trajectory for a system
including external information in the mapping process. Initial environments indicated
by the circles.
0
2
4
6
8
10
(b) Fitness of a genome evolved in a set of
ten random environment exposed to and redeveloped in ten new random environments.
Figure 6: Developmental trajectories and resulting fitness for phenotype structures
developed in different environments. The plot in Figure 6(a) is generated by PAJEK [29].
is capable of developing to functional phenotypes in all but one of the new random
environments it is exposed to. If the phenotypic structure is examined, the presented result
is obtained by a process that develops different phenotypic structures, show as different
developmental paths in Figure 6(a), depending on environmental traits. However, even
here the EvoDevo system does not achieve a result that is equally fit in all environments.
This is caused by an evolved dependency on specific combinations of environmental
traits. However the results show that the system is capable of adapting it’s structure to
the presented environment, i.e. adaptation by plasticity.
5 Artificial Development and Hardware
Realising cellular architectures in artificial medias such as silicon technology is motivated
by features of the hardware not available elsewhere e.g. massive parallelism, [30, 31].
However, physical resources in hardware are limited and, as such, these resources must
be carefully utilised to exploit the hardware to the maximum advantage of the goal
sought [32]. In the work herein the goal is to explore behavioural properties of a cellular
architecture using development.
In a cellular array of cells where the genome, development process and functional
units are included in each cell, a VLSI [33] or FPGA implementation [34] are possible
approaches to development of cell based developmental circuits. Another approach is to
simplify each cell, in keeping with the properties of cellular architectures, by removing the
genome and development process from the cell itself [32] thus increasing the parallelism
available in the CA grid. The principle of a common genome is still retained as all the
cells development actions are controlled by the same shared genome even if it is not stored
in every cell.
Figure 7 illustrates the implementation with a centralised genome and development
process. The fixed partition consists of a communication module (COM) for external
communication. The CTRL module manages the other modules. The different Cell types,
i
i
i
i
26
G. Tufte
Fixed partition
COM
CTRL
Reconfigurable partition
Fitness
Sblock
definition
CONFIG ReadBack
BRAM 0
BRAM 1
Rule
Memory
Development
Process
FPGA
Figure 7: Development process integrated on-chip together with an Sblock array.
i.e. LUT definitions are stored in the Sblock definition module. The genome is stored in
the Rule Memory. The Development Process updates the emerging phenotype based on
the properties of the emerging phenotype and the genome. CONFIG is the interface to
update the phenotype in the reconfigurable partition of the FPGA. The ReadBack module
can be used to collect information from the phenotype. The emerging phenotype develops
in the reconfigurable partition. Each circle include the functional components of the cell
shown in Figure 2(a). The Fitness module can be used to implement hardware fitness
functions. A detailed description of the hardware can be found in [32].
6 Conclusion
Despite the fact that ideas of artificial development have been around for almost half a
century [3, 35, 16] the field is still young and unexplored. There are promising works
in areas as scalability and adaptation, as described herein. Furthermore the areas of
complexity and scalability toward large complex systems have shown to be areas where
artificial development is a most prominent player. Further there is an increased interest
often motivated by an urge toward new mediums changing today’s view on a machine’s
components, architecture and computation [36]. As such new machines may require a
drastic reconsideration of how we as human designers can design and construct such
machines. A change toward design by EvoDevo systems seems a promising direction.
References
[1] L. Wolpert. Principles of Development, Second edition. Oxford University Press, 2002.
[2] B. K. Hall. Unlocking the black box between genotype and phenotype: Cell condensations
as morphogenetic (modular) units. Biology and Philosophy, 18(2):219–247, 2003.
[3] J. von Neumann. Theory of Self-Reproducing Automata. University of Illinois Press, Urbana,
IL, USA, 1966., 1966.
[4] H. Kitano. Designing neural networks using genetic algorithms with graph generation
systems. Complex Systems, 4(4):461–476, 1990.
[5] J. F. Miller. Evolving a self-repairing, self-regulating, french flag organism. In Genetic
and Evolutionary Computation (GECCO 2004), Lecture Notes in Computer Science, pages
129–139. Springer, 2004.
i
i
i
i
Evolvable Machines: An EvoDevo Approach
27
[6] G. Tufte. Evolution, development and environment toward adaptation through phenotypic
plasticity and exploitation of external information. In S. Bullock, J. Noble, R. Watson,
and M. A. Bedau, editors, Artificial Life XI: Proceedings of the Eleventh International
Conference on the Simulation and Synthesis of Living Systems, pages 624–631. MIT Press,
Cambridge, MA, 2008.
[7] J. F. Miller and P. Thomson. A developmental method for growing graphs and circuits. In
5th International Conference on Evolvable Systems (ICES03), Lecture Notes in Computer
Science, pages 93–104. Springer, 2003.
[8] T. G. W. Gordon and P. J. Bentley. Towards development in evolvable hardware. In the 2002
NASA/DOD Conference on Evolvable Hardware (EH02), pages 241 –250, 2002.
[9] Moshe Sipper, Gianluca Tempesti, Daniel Mange, and Eduardo. Sanchez. Von neumann’s
legacy: Special issue on self-replication. Artificial Life, 4(3), 1998.
[10] M. Sipper. Evolution of Parallel Cellular Machines The Cellular Programming Approach.
Springer-Verlag, 1997.
[11] C. Darwin. On the Origin of Species by Means of Natural Selection. John Murray, London,
1859.
[12] M. Kirschner and J. Gerhart. Evolvability. Proceedings of the National Academy of Sciences
of the United States of America, 95(15):8420–8427, July 1998.
[13] Simon Harding and Wolfgang Banzhaf. Organic Computing, chapter Artificial Development,
pages 201 – 220. Springer Verlag, 2008.
[14] Tim Taylor. On self-reproduction and evolvability. In European Conference on Artificial
Life, pages 94–103. Springer-Verlag, Berlin, 1999.
[15] Aristid Lindenmayer. Developmental Systems without Cellular Interactions, their Languages
and Grammars. Journal of Theoretical Biology, 1971.
[16] R. Laing and M. Arbib. Automata theory and development ii. Engineering, college of technical reports, The University of Michigan, 1971.
[17] P. J. Bentley and S. Kumar. Three ways to grow designs: A comparison of embryogenies
for an evolutionary design problem. In Genetic and Evolutionary Computation Conference
(GECCO ’99), pages 35–43, 1999.
[18] G. Tufte and P. C. Haddow. Extending artificial development: Exploiting environmental
information for the achievement of phenotypic plasticity. In 7th International Conference on
Evolvable Systems (ICES07), Lecture Notes in Computer Science, pages 297–308. Springer,
2007.
[19] M. Lantin and F. Fracchia. Generalized context-sensative cell systems. In Proceedings of
Information Processing in Cells and Tissues, University of Liverpool, pages 42–54, 1995.
[20] H. Kitano. Building complex systems using development process: An engineering approach.
In Evolvable Systems: from Biology to Hardware, ICES, Lecture Notes in Computer Science,
pages 218–229. Springer, 1998.
[21] L. Sekanina and M. Bidlo. Evolutionary design of arbitrarily large sorting networks using
development. Genetic Programming and Evolvable Machines, 6(3):319–347, 2005.
i
i
i
i
28
G. Tufte
[22] T. Quick, K. Dautenhahn, C. L. Nehaniv, and G. Roberts. On bots and bacteria: Ontology
independent embodiment. In ECAL ’99: Proceedings of the 5th European Conference on
Advances in Artificial Life, pages 339–343, London, UK, 1999. Springer-Verlag.
[23] J. S. Robert. Embryology, Epigenesis and Evolution: Taking Development Seriously.
Cambridge Studies in Philosophy and Biology. Cambridge University Press, 2004.
[24] B. K. Hall, R. D. Pearson, and G. B. Müller. Environment, development, and Evolution
Toward a Synthesis. The Vienna Series in Theoretical Biology. MIT-Press, 2004.
[25] G. Tufte. Cellular development: A search for functionality. In Congress on Evolutionary
Computation(CEC2006), pages 2669–2676. IEEE, 2006.
[26] V. Beiu, J. M. Yang, L. Quintana, and M. J. Avedillo. Vlsi implementations of threshold
logic-a comprehensive survey. IEEE Transactions on Neural Networks, 14(5):1217–1243,
September 2003.
[27] G. Tufte and P. C. Haddow. Achieving environmental tolerance through the initiation and
exploitation of external information. In Congress on Evolutionary Computation(CEC2007).
IEEE, 2007.
[28] M. J. West-Eberhard. Developmental Plasticity and Evolution. Oxford University Press,
2003.
[29] V. Batagelj and A. Mrvar.
Pajek
program for large network analysis.
http://vlado.fmf.uni-lj.si/pub/networks/pajek/, 1991.
[30] M. Sipper, M. Goeke, D. Mange, A. Stauffer, E. Sanchez, and M. Tomassini. The firefly
machine: Online evolware. In Proc. of 1997 International Conference on Evolutionary
Computation (CEC97), pages 181–186. IEEE, 1997.
[31] G. Tufte and P. C. Haddow. Identification of functionality during development on a virtual
sblock fpga. In Congress on Evolutionary Computation(CEC2003), pages 731–738. IEEE,
2003.
[32] G. Tufte and P.C. Haddow. Biologically-inspired: A rule-based self-reconfiguration of a
virtex chip. In 4th International Conference on Computational Science 2004 (ICCS 2004),
Lecture Notes in Computer Science, pages 1249–1256. Springer, 2004.
[33] D. Mange, E. Sanchez, A. Stauffer, G. Tempesti, P. Marchal, and C. Piruet. Embryonics:
A new methodology for designing field-programmable gate array with self-repair and selfreplicating properties. IEEE Transactions on Very Large Scale Integration (VLSI) Systems,
6(3):387–399, September 1998.
[34] D. Mange, S. Moshe, A Stauffer, and G. Tempesti. Towards robust integrated circuits: The
embryonics approach. Proceedings of the IEEE, 88(4):516–543, April 2000.
[35] E. F. Codd. Cellular Automata. Association for computing machinery, Inc. Monograph
series. Academic Press, New York, 1968.
[36] J.F. Miller and K. Downing. Evolution in materio: Looking beyond the silicon box. In 2002
NASA/DOD Conference on Evolvable Hardware, pages 167–176. IEEE Computer Society
Press, 2002.
i
i
i