**CGP - Constrained Genetic Programming**

You are visitor number

CGP uses GP [Koza] to evolve programs (or trees in general). It
extends GP by allowing syntactic and sematical constraints on function
calls (the constraints can be weighted rather than strict), plus function
overloading. In future releases, evolution of representation (i.e., constraints),
ADFs, and recursive functions are planned.Partly supported by UMRB and NASA NAG 9-847. |

*Developed b*y: Cezary
Z. Janikow and Scott DeWeese.

CGP is roughly described in:

**Cezary Z. Janikow.** *"A
Methodology for Processing Problem Constraints in Genetic Programming",
*Computers and Mathematics with Applications, Vol. 32, No. 8, pp. 97-113,
1996.

- Implementation based on lilg-gp 1.02
- CGP2.1 provides only a replacement for the kernel of lil-gp 1.02
- lil-gp1.02 can also be downloaded from http://www.cs.umsl.edu/~janikow/cgp-lilgp/lilgp1.02.tar
- Key Features
- All features of lil-gp 1.02 are intact except as noted below and except ADFs
- Constraints
- can be provided interactively
- can be defined in a constraint file
- can be weighted (for relevant importance)
- can be skipped to run in lil-gp mode
- Overloaded functions
- functions can be overloaded

(e.g., 'plus arg1 arg2' can be overloaded to produce int when taking integers and to produce float when at least one arg is float) - overloaded instances can be weighted as

(e.g., 'plus arg1 arg2' can be made more likely to produce integers if possible) - New parameters
- for additional control of initialization and mutation/crossover
- New operators
- 'collapse' as crossover but on a single parent
- Changes to lil-gp 1.02
- resets index members for fset functions
- sorting method was changed
- Download replacement kernel CGP2.1
- Download postscript User's Manual for CGP2.1

- Evolving representation (by evolving constraints and weights)
- Extending CGP to ADFs
- Extending CGP to, and adding, recursive functions

- Email cjanikow@ola.cs.umsl.edu with any questions, comments, or suggestions

*Last Modified: 9/18/97 by Cezary Z. Janikow*