Elsevier

Applied Soft Computing

Volume 11, Issue 4, June 2011, Pages 3618-3624
Applied Soft Computing

Efficient program generation by evolving graph structures with multi-start nodes

https://doi.org/10.1016/j.asoc.2011.01.033Get rights and content

Abstract

Automatic program generation is one of the applicable fields of evolutionary computation, and Genetic Programming (GP) is the typical method for this field. On the other hand, Genetic Network Programming (GNP) has been proposed as an extended algorithm of GP in terms of gene structures. GNP is a graph-based evolutionary algorithm and applied to automatic program generation in this paper. GNP has directed graph structures which have some features inherently, for example, re-usability of nodes and the small number of nodes. These features contribute to creating complicated programs with compact structures and never cause bloat. In this paper, the extended algorithm of GNP is proposed, which can create plural programs simultaneously in one individual by using multi-start nodes. In addition, GNP can evolve the programs in one individual considering the fitness and also its standard deviation in order to evolve the plural programs efficiently. In the simulations, Even-n-Parity problem and Mirror Symmetry problem are used for the performance evaluation, and the results show that the proposed method outperforms the standard GNP with single start node.

Introduction

Studies on evolutionary computation and their application to complex problems have been successfully conducted over a period of many years. One of the research fields of evolutionary computation is automatic program generation such as generating boolean functions. Genetic Programming (GP) [1], [2], Cartesian GP [3] and other learning techniques such as neural networks [4], [5] have been successfully applied to this field.

Genetic Network Programming (GNP) has been proposed as one of the evolutionary computations and mainly applied to dynamic problems [6], [7]. GNP programs are represented by directed graph structures, which have some inherent features such as re-usability of nodes and the fixed number of nodes. For example, the re-usability of nodes works as Automatically Defined Functions (ADFs) in GP, and the fixed number of nodes never causes bloat of the programs. In addition, GNP has been combined with reinforcement learning [8] in order to enhance its learning ability and applied to some applications [9], [10].

On the other hand, GNP was applied to static problems [11] by using explicit memory mechanism, where the expressions generated by processing nodes are stored in the memory. In this paper, to enhance the expression ability of the standard GNP and generate programs efficiently by making use of the inherently equipped features of the graph structures, multi-start nodes are introduced and plural programs are evolved simultaneously in one individual. Basically, GP creates one program (tree structure) by one individual, but GNP can creates plural programs efficiently even if the number of nodes is small. In addition, GNP can evolve the programs considering the fitness and its standard deviation in the selection phase.

In the simulations, Even-n-Parity problem and Mirror Symmetry problem are used for the performance evaluation, and the results show that the proposed method can find the better solutions efficiently.

This paper is organized as follows. In the next section, the proposed method is explained in detail. Section 3 describes the simulations and their results, and some conclusions are given in Section 4.

Section snippets

Genetic Network Programming with multi-start nodes

First, a program structure of GNP with memory and multi-start nodes is introduced, then how to construct programs and evolve them is explained in detail considering the fitness and its standard deviation.

Simulation

In this section, the performance of the proposed method is evaluated comparing with the standard GNP with single start node (SGNP), where two benchmark problems are used; one is Even-n-Parity problem and the other is Mirror Symmetry problem. Even-n-Parity function is a boolean function which returns 1 when the number of 1 in the n input values is odd, otherwise 0. Mirror Symmetry function returns 1 when the input pattern is symmetric, e.g., 101, 1001, …, otherwise 0.

Conclusions

In this paper, GNP with multi-start nodes has been proposed and its search ability for solutions are evaluated. Multi-start nodes implement their own node transitions and create programs, so many expressions can be created by one individual. In addition, each node transition can share some parts/nodes of the individual, so the search for solutions is effectively carried out. In addition, the standard deviation of the fitness values is considered to evolve programs efficiently.

From the

References (11)

  • R. Setiono

    On the solution of the parity problem by a single hidden layer feedforward neural network

    Neurocomputing

    (1997)
  • J.R. Koza

    Genetic Programming on the Programming of Computers by Means of Natural Selection

    (1992)
  • J.R. Koza

    Genetic Programming II, Automatic Discovery of Reusable Programs

    (1994)
  • S. Harding et al.

    Self modifying Cartesian genetic programming: Parity

  • D.G. Stock et al.

    How to solve the N-bit-parity problem with two hidden units

    Neural Networks

    (1992)
There are more references available in the full text version of this article.

Cited by (0)

View full text