EGG Framework Document
1.2.0
EGG framework is an object-oriented framework for developing the application of EGG.
About EGG framework
Running EGG system
Example application: Synthesis of combinational logic circuits
This document outlines the devolopment of EGG application using EGG framework.
- Determine the design specification in terms of the following items:
- Type of nodes for representing circuit graphs,
- Evaluation function of the circuit graphs (individuals).
These two items are completely up to you. You must be able to represent a single solution to your problem in a single circuit graph. Two examples may help you build your circuit graph and evaluation function. - Execute generate.pl and make initial files for developing the application.
- Derive your own classes from the class templetes.
Override the following pure virtual functions.
- Create the nodes.
- Determine the fitness value of individuals.
- Load the target functionality.
- Get the fitness value of individuals.
Overload the following member function:
- Define your own operators by deriving your own classes from the following class templetes (if necessary).
EGG framework includes the basic operators in the above class templetes. For example, EGG framework includes two selection operators (Rourette wheel selection and Elitist selection). In many cases, you can use the built-in operators with little or no modification. If necessary, you can define your own operators that work with your problem definition.