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
© Copyright 2026 Paperzz