The paper explores applications of genetic programming to co-evolution of morphology and low-level control. In most reasonably difficult tasks, facilitation provided by modularity has proved to be vital for successful...The paper explores applications of genetic programming to co-evolution of morphology and low-level control. In most reasonably difficult tasks, facilitation provided by modularity has proved to be vital for successful application of genetic programming. However, the need for sharing data among nodes in the syntactic tree becomes especially acute when evolving modular programs. It has been shown before that it may be beneficial that modules themselves be node-attached. The paper presents extensions to standard genetic programming (the so-called contexts and context blocks) that allow for straight-forward storage, retrieval, transfer, and modification of data stored in the context of a syntactic tree, and shared by multiple nodes. Framework is thus provided for both: data sharing and node-attached modules. Finally, using context blocks, a genetic algorithm has been embedded within genetic programming to evolve values of constants. In genetic programming evolution of constants has been a long-standing problem. The paper shows how context blocks can be utilized to provide a more granular and flexible approach to their evolution. As shown in previous works, node-attached modules perform favorably when compared with existing approaches. Concerning evolution of context block constants, it is shown here that they too perform favorably when compared with ephemeral constants.展开更多
文摘The paper explores applications of genetic programming to co-evolution of morphology and low-level control. In most reasonably difficult tasks, facilitation provided by modularity has proved to be vital for successful application of genetic programming. However, the need for sharing data among nodes in the syntactic tree becomes especially acute when evolving modular programs. It has been shown before that it may be beneficial that modules themselves be node-attached. The paper presents extensions to standard genetic programming (the so-called contexts and context blocks) that allow for straight-forward storage, retrieval, transfer, and modification of data stored in the context of a syntactic tree, and shared by multiple nodes. Framework is thus provided for both: data sharing and node-attached modules. Finally, using context blocks, a genetic algorithm has been embedded within genetic programming to evolve values of constants. In genetic programming evolution of constants has been a long-standing problem. The paper shows how context blocks can be utilized to provide a more granular and flexible approach to their evolution. As shown in previous works, node-attached modules perform favorably when compared with existing approaches. Concerning evolution of context block constants, it is shown here that they too perform favorably when compared with ephemeral constants.