|
JavaGenes, NASA Ames. Written largely by Al Globus | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgov.nasa.javaGenes.core.ChildMaker
gov.nasa.javaGenes.graph.TwoVertexGraphCrossover
implements the crossover operator described in "JavaGenes: Evolving Graphs with Crossover," Al Globus, Sean Atsatt, John Lawton, and Todd Wipke and found at http://www.nas.nasa.gov/~globus/papers/JavaGenes/paper.html
Field Summary |
Fields inherited from class gov.nasa.javaGenes.core.ChildMaker |
cumulative, forEvolution, last |
Constructor Summary | |
TwoVertexGraphCrossover()
|
Method Summary | |
Evolvable[] |
crossover(Graph father,
Graph mother)
Mate |
protected Vertex[] |
getVerticesForDivision(Graph graph)
|
boolean |
isRequired(BrokenEdge edge)
is it essential that is broken edge be satisfied during crossover. |
Evolvable[] |
makeChildren(Evolvable[] parents)
Defaults to mutation, any subclass wanting more than one parent must over-ride. |
int |
numberOfParents()
|
abstract void |
processInitialBrokenEdge(Graph graph,
BrokenEdge b1,
BrokenGraph second)
find and connect a second broken edge |
BrokenGraph[] |
randomDivision(Graph g)
Randomly rip a copy of this in two. |
Graph |
randomMerge(BrokenGraph gg1,
BrokenGraph gg2)
merge two BrokenGraph objects and return the resulting graph. |
Methods inherited from class gov.nasa.javaGenes.core.ChildMaker |
checkLastResults, checkResults, clearLast, getAndClearLastTabSeparatedResults, getFitnessFunctionNames, getLastTabSeparatedResults, headerFragment, makeChildren, mutate, neverUsed, proportionDown, results, setFitnessFunction, setFitnessFunctionNames, subClassMeasures, tabSeparatedResults, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public TwoVertexGraphCrossover()
Method Detail |
public int numberOfParents()
numberOfParents
in class ChildMaker
public Evolvable[] makeChildren(Evolvable[] parents)
ChildMaker
makeChildren
in class ChildMaker
parents
- the evolvables from which children will be created. By convention, the parents are not modified.
public Evolvable[] crossover(Graph father, Graph mother)
randomDivision(gov.nasa.javaGenes.graph.Graph)
,
BrokenGraph
,
randomMerge(gov.nasa.javaGenes.graph.BrokenGraph, gov.nasa.javaGenes.graph.BrokenGraph)
public BrokenGraph[] randomDivision(Graph g)
protected Vertex[] getVerticesForDivision(Graph graph)
public Graph randomMerge(BrokenGraph gg1, BrokenGraph gg2)
public abstract void processInitialBrokenEdge(Graph graph, BrokenEdge b1, BrokenGraph second)
graph
- graph being createdb1
- the first broken edge to be connectedsecond
- graph from which the second broken edge must comepublic boolean isRequired(BrokenEdge edge)
|
JavaGenes, NASA Ames. Written largely by Al Globus | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |