Skip to content
James McDermott edited this page Oct 28, 2021 · 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 raise a new issue on GitHub.

1.Introduction

  1. Requirements
  2. Running PonyGE2
  3. About PonyGE

2.Evolutionary Parameters

  1. Setting Parameters
    1. The Parameters Dictionary
    2. Parameters Files
    3. Command-Line Arguments
    4. Order of Setting Parameters
    5. Path Specification
  2. Adding New Parameters

3.Grammars

  1. Recursion
  2. Writing Grammars
  3. Special Grammars: Expressions vs Code
    1. Expressions
    2. Code
  4. Calling predefined functions in Grammars
  5. Variable Ranges in Grammars
  6. Grammar Files
  7. 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
    1. Search Loop
    2. Step
  2. Population Options
    1. Population Size
    2. Generations
  3. Hill Climbing
  4. Distributed Search
    1. Distributed Search Loop
    2. Distributed Step
    3. Agents

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. Example Problems
    2. Specifying Multiple Fitness Functions
    3. Multi-Objective Fitness Function Implementation
    4. Multi-Objective Operators
    5. 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. Program synthesis
  6. Genetic Improvement of Regex Runtime Performance
  7. Multiple Objective Optimisation
  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
    1. Post-Run Analysis
  2. GE LR Parser
  3. Grammar Analyser

15.References

Clone this wiki locally