TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Algoritmo Genético

Por:   •  26/5/2016  •  Projeto de pesquisa  •  2.999 Palavras (12 Páginas)  •  280 Visualizações

Página 1 de 12

Nome: Isabel dos Santos Cardoso.

RA: B74971-7.

Curso: Ciência da Computação.

Disciplina: IA.

Semestre: 4º Semestre.

public class ExRainhas {

private static int Totalrainhas = 8;

private static Random = new Random();

private static boolean Erro = false;

private static int MaiorIteracoes = 0;

private static int finalIteracoes = 0;

public static void main(String[] args) {

}

// Comeca com populacao fixo de 10 elementos

Set populacao = new HashSet();

criaPopulacao(populacao);

double mutacaoP = 0.10;

int totaliteracoes = 400000;

String elementoMelhor = null;

boolean Solucionado = false;

int melhorAceitacao = 0;

int i = 0;

int counter = 0;

for (i = 0; i < totaliteracoes; i++) {

elementoMelhor = GeneticoAlg(populacao, mutacaoP,

melhorAceitacao);

int aceitaAlg = aceitacao(elementoMelhor);

if (aceitaAlg > melhorAceitacao) {

mutacaoP = 0.10;

counter = 0;

println("novo aceitacao = " + aceitaAlg);

melhorAceitacao = aceitaAlg;

if (aceitaAlg == MAX_aceitacao) {

Solucionado = true;

break;

}

} else {

counter++;

if (counter > 1000) {

mutacaoP = 0.30;

} else if (counter > 2000) {

mutacaoP = 0.50;

} else if (counter > 5000) {

populacao.clear();

criaPopulacao(populacao);

mutacaoP = 0.10;

melhorAceitacao = -1;

}

}

}

if (Solucionado) {

println("Para melhor solucao " + i + " iteracoes");

println("REsolvido em =" + elementoMelhor);

println("Status de aceitacao =" + aceitacao(elementoMelhor));

} else {

System.out.println("Para elementos apos " "não há solucção"+ i

+ " iteracoes");

System.out.println("Melhor Elemento =" + elementoMelhor);

System.out.println("Status de aceitacao =" + melhoraceitacao(elementoMelhor));

Erro = true;

}

finalIteracoes += i;

if (i > MaiorIteracoes)

totaliteracoes = i;

}

private static void criarPopulacao(Set populacao) {

while (populacao.size() < 10) {

String elementoI = gerarIndividuo(8);

println("Elemento =" + elementoI);

populacao.add(elementoI);

}

}

//Mantem a melhor populacao e devolve o melhor elemento

private static String GeneticoAlg(Set populacao,

double mutacaoP, int aceitaNew) {

String melhor = null;

...

Baixar como (para membros premium)  txt (8.2 Kb)   pdf (75.5 Kb)   docx (15.2 Kb)  
Continuar por mais 11 páginas »
Disponível apenas no TrabalhosGratuitos.com