org.processmining.mining.geneticmining.geneticoperations
Class FineGranularityCrossover

java.lang.Object
  extended by org.processmining.mining.geneticmining.geneticoperations.FineGranularityCrossover
All Implemented Interfaces:
Crossover

public class FineGranularityCrossover
extends java.lang.Object
implements Crossover

Title: Fine Granularity Crossover

Description: This class does crossover over the subsets of the input/output sets.

Copyright: Copyright (c) 2004

Company: TU/e

Version:
1.0
Author:
Ana Karla A. de Medeiros.

Constructor Summary
FineGranularityCrossover(java.util.Random generator)
           
 
Method Summary
 HeuristicsNet[] doCrossover(HeuristicsNet[] population)
          Do crossover over the input and output sets of two individuals in the population.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FineGranularityCrossover

public FineGranularityCrossover(java.util.Random generator)
Method Detail

doCrossover

public HeuristicsNet[] doCrossover(HeuristicsNet[] population)
Do crossover over the input and output sets of two individuals in the population. This crossover works as follows:
(This procedure is done for both input and output set)
- Select a random point at the input set of x (x is an individual).
- Select a random point at the input set of x'.
- Do crossover for the input sets.
- If the subsets have common elements, randomly choose if these subsets are going to be merged or if the common elements are going to be removed from the subset that wasn't transferred during the crossover. - Check for dangling arcs and correct them.

Specified by:
doCrossover in interface Crossover
Parameters:
population - has the two individuals to crossover
Returns:
array with the two offsprings that the crossover produced. If population size is less than two, no crossover is done and the population itself is returned.