Boa noite amigos,
entrei em um projeto de algoritmo genético na semana passada e comecei a desenvolver tudo do início!
pela rápida introdução que tive do assunto eu já criei algumas classes. Porém como ainda estou no 3º período de Ciência da computação estou um pouco imaturo, inexperiente... e por isso estou "imendando" partes de códigos que estou achando na net e tentando entender o que acontece.
Gostaria de saber se posso contar com a ajuda de vocês para sanar algumas de minhas dúvidas (dúvidas bobas :oops: ).
O objetivo inicial do projeto é que nós (alunos) possamos aprender a essência da coisa.. hehe
eis o código: Classe Gene ->import java.util.Random;
public class Gene {
private byte valor;
public byte getValor() {
return valor;
}
/*
* Cria um gene aleatoriamente
*/
public Gene() {
Random rand = new Random();
this.valor = (byte) rand.nextInt(2);
}
}
public class CriaCromossomo {
private final int TAMANHO_DO_CROMOSSOMO = 4;
Gene[] genes;
public CriaCromossomo() {
genes = new Gene[TAMANHO_DO_CROMOSSOMO];
initCromossomo();
}
private void initCromossomo() {
for (int i = 0; i < TAMANHO_DO_CROMOSSOMO; i++) {
genes[i] = new Gene();
}
}
public Gene[] getGenes() {
return genes;
}
public int getTAMANHO_DO_CROMOSSOMO() {
return TAMANHO_DO_CROMOSSOMO;
}
/*
* Insere valores no CriaCromossomo
*/
public void mostraCromossomo() {
for (int i = 0; i < TAMANHO_DO_CROMOSSOMO; i++) {
System.out.print(genes[i].getValor());
}
System.out.println();
}
private int fitness = 0;
public int calcFitness() {
for (int i = 0; i < TAMANHO_DO_CROMOSSOMO; i++) {
if (genes[i].getValor() == 1) {
fitness++;
}
}
return fitness;
}
}
public class Cromossomo {
CriaCromossomo c = new CriaCromossomo();
int fitness = c.calcFitness();
public CriaCromossomo getC() {
return c;
}
public int getFitness() {
return fitness;
}
}
Se não for pedir demais, gostaria de ajuda no código já existente e na criação da população, crossover, etc. :wink:
Desde já agradeço! =)
Abraços
