|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectec.BreedingSource
ec.BreedingPipeline
ec.gp.GPBreedingPipeline
ec.gp.sasc.SASCCrossover
public class SASCCrossover
Essa classe é responsável por operacionalizar o crossover segundo o método SSSC
Field Summary | |
---|---|
double |
alpha
Parâmetro alpha, que pode ser utilizado tanto para o método SSSC quanto para o método SSAC |
double |
beta
Parâmetro beta, utilizado no método SSSC |
boolean |
crossRoot
Indica se é permitida a seleção do nó raiz para o crossover |
static int |
INDS_PRODUCED
|
int |
maxChildren
Número máximo de filhos que podem ser gerados por determinado indivíduo |
int |
maxDepth
Altura máxima que as árvores podem atingir após o crossover |
GPNodeSelector |
nodeselect1
Determina como o nó do primeiro reprodutor será selecionado |
GPNodeSelector |
nodeselect2
Determina como o nó do segundo reprodutor será selecionado |
static int |
NUM_SOURCES
|
int |
numTries
Número máximo de tentativas de seleção do nó, antes da desistência |
static String |
P_ALPHA
|
static String |
P_BETA
|
static String |
P_CROSS_ROOT
|
static String |
P_CROSSOVER
|
static String |
P_GEN_START_META_CONTROLE
|
static String |
P_GEN_START_MULTIPOP
|
static String |
P_MAX_CHILDREN
|
static String |
P_MAXDEPTH
|
static String |
P_NUM_TRIES
|
static String |
P_TOSS
|
GPIndividual[] |
parents
Variável para armazenamento temporário dos indivíduos selecionados para combinação |
int |
startGenerationMetaControle
Geração para início do procedimento de meta-controle |
int |
startGenerationMultiPop
Geração para início do procedimento do crossover multi-populacional, ou período "global" |
boolean |
tossSecondParent
Indica se o segundo filho gerado pelo crossover deve ser descartado |
int |
tree1
Indica se a primeira árvore é fixa. |
int |
tree2
Indica se a segunda árvore é fixa. |
Fields inherited from class ec.gp.GPBreedingPipeline |
---|
P_NODESELECTOR, P_TREE, TREE_UNFIXED |
Fields inherited from class ec.BreedingPipeline |
---|
DYNAMIC_SOURCES, mybase, P_NUMSOURCES, P_SOURCE, sources, V_SAME |
Fields inherited from class ec.BreedingSource |
---|
CHECKBOUNDARY, DEFAULT_PRODUCED, NO_PROBABILITY, P_PROB, probability, UNUSED |
Constructor Summary | |
---|---|
SASCCrossover()
Construtor da classe |
Method Summary | |
---|---|
Object |
clone()
Método para clonagem do objeto |
Parameter |
defaultBase()
Retorna a base que pode ser utilizada diretamente para parametrização do node selector |
Parameter |
defaultSSSCBase()
|
int |
numSources()
Número de fontes para o crossover. |
int |
produce(int min,
int max,
int start,
int subpopulation,
Individual[] inds,
EvolutionState state,
int thread)
É este o método que de fato opera o crossover, gerando um ou dois novos indivíduos |
void |
setup(EvolutionState state,
Parameter base)
Método para a configuração do objeto |
int |
typicalIndsProduced()
Returna 2 se tossSecondParent=false, e 1 caso contrário |
boolean |
verifyPoints(GPInitializer initializer,
GPNode inner1,
GPNode inner2)
Este método faz uma verificação prévia dos dois nós selecionados para o crossover, a fim de assegurar que não há restrições a esse cruzamento |
Methods inherited from class ec.gp.GPBreedingPipeline |
---|
produces |
Methods inherited from class ec.BreedingPipeline |
---|
finishProducing, individualReplaced, maxChildProduction, minChildProduction, preparePipeline, prepareToProduce, sourcesAreProperForm |
Methods inherited from class ec.BreedingSource |
---|
getProbability, pickRandom, setProbability, setupProbabilities |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String P_NUM_TRIES
public static final String P_MAXDEPTH
public static final String P_CROSSOVER
public static final String P_ALPHA
public static final String P_BETA
public static final String P_TOSS
public static final String P_CROSS_ROOT
public static final String P_MAX_CHILDREN
public static final int INDS_PRODUCED
public static final int NUM_SOURCES
public static final String P_GEN_START_META_CONTROLE
public static final String P_GEN_START_MULTIPOP
public int startGenerationMetaControle
public int startGenerationMultiPop
public GPNodeSelector nodeselect1
public GPNodeSelector nodeselect2
public int tree1
public int tree2
public int numTries
public int maxDepth
public boolean tossSecondParent
public boolean crossRoot
public double alpha
public double beta
public int maxChildren
public GPIndividual[] parents
Constructor Detail |
---|
public SASCCrossover()
Method Detail |
---|
public Parameter defaultBase()
public int numSources()
numSources
in class BreedingPipeline
public Object clone()
clone
in interface Prototype
clone
in class BreedingPipeline
public Parameter defaultSSSCBase()
public void setup(EvolutionState state, Parameter base)
setup
in interface Prototype
setup
in interface Setup
setup
in class BreedingPipeline
state
- Objeto EvolutionState que guarda as informações sobre a evolução do processobase
- Base de parametrização auxiliar. Se esse parâmetro for enviado com valor "database" por exemplo, qualquer parâmetro desta classe
poderá ser obtida no arquivo de parâmetros através da keyword "gp.database.public int typicalIndsProduced()
typicalIndsProduced
in class BreedingPipeline
public final boolean verifyPoints(GPInitializer initializer, GPNode inner1, GPNode inner2)
initializer
- inner1
- nó selecionado no primeiro reprodutorinner2
- nó selecionado no segundo reprodutor
public int produce(int min, int max, int start, int subpopulation, Individual[] inds, EvolutionState state, int thread)
produce
in class BreedingSource
min
- número mínimo de indivíduos a gerarmax
- número máximo de indivíduos a gerarstart
- subpopulation
- subpopulação à qual pertencerá o primeiro indivíduo, e onde serão alocados os filhosinds
- array com os indivíduos da subpopulação que está sofrendo o crossoverstate
- objeto EvolutionState, que resume o estágio do processo evolutivoparâmetro
- para processamento multi-thread, não utilizado neste caso
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |