Skip to content
Michael Fenton edited this page Jun 26, 2017 · 34 revisions

Welcome to the PonyGE2 wiki!

Below is an outline of the main topics detailed herein. If you feel anything in particular is missing or incorrectly described, please either raise a new issue on GitHub or email the developers directly. Contact details can be found in the introduction.

1.Introduction

  1. Requirements
  2. Running PonyGE2
  3. About PonyGE

2.Evolutionary Parameters

  1. Adding New Parameters

3.Grammars

  1. Recursion
  2. Writing Grammars
  3. Special Grammars: Expressions vs Code
    1. Expressions
    2. Code
  4. Variable Ranges in Grammars
  5. Grammar Files
  6. A Note on Unit Productions

4.Representation

  1. Linear Genome Representation
    1. Codon Size
    2. Genotype-to-Phenotype Mapping Process
    3. Many-to-One Mapping
    4. Wrapping
    5. Invalid Individuals
  2. Derivation Tree Representation
    1. Context-Aware "Intelligent" Operations

5.Bloat

  1. Max Tree Depth
  2. Max Tree Nodes
  3. Max Genome Length

6.Search Options

  1. Search Loop and Step
  2. Population Options
    1. Population Size
    2. Generations

7.Initialisation

  1. Genome
    1. Random
  2. Derivation Tree
    1. Random
    2. Ramped Half-Half
    3. Position Independent Grow (PI Grow)

8.Selection

  1. Tournament
  2. Truncation
  3. NSGA2

9.Variation

  1. Crossover
    1. Fixed Onepoint
    2. Fixed Twopoint
    3. Variable Onepoint
    4. Variable Twopoint
    5. Subtree
  2. Mutation
    1. Int Flip Per Codon
    2. Int Flip Per Ind
    3. Subtree
    4. Mutation Events

10.Evaluation

  1. Fitness Functions
    1. The Base Fitness Function Class
    2. The Fitness Function Template
    3. Default Fitness
    4. Fitness Maximisation/Minimisation
    5. Additional Functionality
    6. Error Metrics
    7. Datasets
    8. Targets
    9. Specifying Fitness Functions
  2. Multiple Objective Optimisation
    1. Specifying Multiple Fitness Functions
    2. Multi-Objective Fitness Function Implementation
    3. Multi-Objective Operators
    4. Multi-Objective Statistics
  3. Multicore Evaluation
  4. Caching
    1. Fitness Lookup
    2. Fitness Penalty
    3. Mutate Duplicates

11.Replacement

  1. Generational
  2. Steady State
  3. NSGA2

12.Example Problems

  1. String-match
  2. Regression
  3. Classification
  4. Pymax
  5. Integer sequence match
  6. Program synthesis
  7. Genetic Improvement of Regex Runtime Performance
  8. Adding New Problems

13.Seeding

  1. Seeding GE runs with Target Solutions
    1. Seeding Runs with a Single Target Solution
    2. Seeding Runs with One or More Target Solutions
    3. Initialisation
    4. Examples
  2. Re-creating PonyGE2 Runs

14.Scripts

  1. Basic Experiment Manager
  2. Post-Run Analysis
  3. GE LR Parser

15.References

Clone this wiki locally