0
$\begingroup$

Genetic programming uses either trees (in case of classical GP) or acyclic graphs (CGP and in a certain sense LGP), to represent evolved programs (phenotypes).

Is there any reason, why cyclic graphs aren't used?

$\endgroup$
1
$\begingroup$

Perhaps one reason is that constraints (perhaps somewhat arbitrary ones) would have to be imposed on what it means to interpret a program represented in this fashion.

However, recent work with CGP has actually explored the addition of cycles: Recurrent CGP

$\endgroup$
0
$\begingroup$

It's true that little research has been done on cyclic graph-based GP, but both:

specifically noted the ability of these representations to handle cyclic graphs.

There are also other less well-known papers (but anyway very interesting) that describe cyclic representations and various recombination operators:

Two problems with cyclic GP are:

  • evaluation is often performed in an iterated flip-flop fashion and is time consuming;
  • memory requirements are greater because in tree-based individuals partial results aren't reused and so can be discarded after first use.

Approaches to speed up cyclic GP are described in Strategies to Minimise the Total Run Time of Cyclic Graph Based Genetic Programming with GPUs by T.E. Lewis and G.D. Magoulas (2009).

As noted by NietzscheanAI there is a renewed interest about this topic.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.