A graph-based evolutionary algorithm: Genetic Network Programming (GNP) and its extension using reinforcement learning

Shingo Mabu, Kotaro Hirasawa, Takayuki Furuzuki

Research output: Contribution to journalArticle

254 Citations (Scopus)


This paper proposes a graph-based evolutionary algorithm called Genetic Network Programming (GNP). Our goal is to develop GNP, which can deal with dynamic environments efficiently and effectively, based on the distinguished expression ability of the graph (network) structure. The characteristics of GNP are as follows. 1) GNP programs are composed of a number of nodes which execute simple judgment/processing, and these nodes are connected by directed links to each other. 2) The graph structure enables GNP to re-use nodes, thus the structure can be very compact. 3) The node transition of GNP is executed according to its node connections without any terminal nodes, thus the pst history of the node transition affects the current node to be used and this characteristic works as an implicit memory function. These structural characteristics are useful for dealing with dynamic environments. Furthermore, we propose an extended algorithm, "GNP with Reinforcement Learning (GNP-RL)" which combines evolution and reinforcement learning in order to create effective graph structures and obtain better results in dynamic environments. In this paper, we applied GNP to the problem of determining agents' behavior to evaluate its effectiveness. Tileworld was used as the simulation environment. The results show some advantages for GNP over conventional methods.

Original languageEnglish
Pages (from-to)369-398
Number of pages30
JournalEvolutionary Computation
Issue number3
Publication statusPublished - 2007 Sep



  • Agent
  • Evolutionary computation
  • Graph structure
  • Reinforcement learning
  • Tileworld

ASJC Scopus subject areas

  • Artificial Intelligence
  • Theoretical Computer Science
  • Computational Theory and Mathematics

Cite this