GAPopulation* GateCircuit::createPopulation() { GA1DArrayGenome<GENOME_ITEM_TYPE> g(pGlobals->settings->gateCircuit.genomeSize, getEvaluator()); setGACallbacks(&g); GAPopulation * population = new GAPopulation(g, pGlobals->settings->ga.popupationSize); return population; }
GAGenome* GateCircuit::createGenome(bool setCallbacks) { GA1DArrayGenome<GENOME_ITEM_TYPE> *g = new GA1DArrayGenome<GENOME_ITEM_TYPE>(pGlobals->settings->gateCircuit.genomeSize, getEvaluator()); if (setCallbacks){ setGACallbacks(g); } return g; }
GAPopulation* PolynomialCircuit::createPopulation() { int numVariables = PolynomialCircuit::getNumVariables(); int numPolynomials = PolynomialCircuit::getNumPolynomials(); unsigned int termSize = Term::getTermSize(numVariables); // Length of one term in terms of POLY_GENOME_ITEM_TYPE. GA2DArrayGenome<POLY_GENOME_ITEM_TYPE> g( numPolynomials, 1 + termSize * pGlobals->settings->polyCircuit.genomeInitMaxTerms, // number of terms N + N terms. this->getEvaluator()); setGACallbacks(&g); GAPopulation * population = new GAPopulation(g, pGlobals->settings->ga.popupationSize); return population; }
GAGenome* PolynomialCircuit::createGenome(bool setCallbacks) { // Has to compute genome dimensions. int numVariables = PolynomialCircuit::getNumVariables(); int numPolynomials = PolynomialCircuit::getNumPolynomials(); unsigned int termSize = Term::getTermSize(numVariables); // Length of one term in terms of POLY_GENOME_ITEM_TYPE. GA2DArrayGenome<POLY_GENOME_ITEM_TYPE> * g = new GA2DArrayGenome<POLY_GENOME_ITEM_TYPE>( numPolynomials, 1 + termSize * pGlobals->settings->polyCircuit.genomeInitMaxTerms, // number of terms N + N terms. this->getEvaluator()); if (setCallbacks){ setGACallbacks(g); } return g; }