Escolar Documentos
Profissional Documentos
Cultura Documentos
ALGORITMO Genético
ALUMNOS:
IZAGUIRRE BARBARAN; ROMEL CARLOFCURSO:
DOCENTE:
FREDDY RONALD HUAPAYA CONDORI
CICLO:
5TO
2020-2
ALGORITMO GENÉTICO
IMPLEMENTACIÓN
//programa:busqueda_lineal.c
/*Detalle: Algoritmo Genético.*/
/*Programador: Romel Carlof IZAGUIRRE BARBARAN
Fecha: 08/01/2020
VERSION: 1.0*/
//
Algoritmo
s
Genéticos
-
Problema
#include <iostream>
#include <vector>
#include <stdlib.h>
#include <time.h>
using namespace std;
// população
vector<vector<int> > populacao;
void inicializaPopulacao()
{
for(int i = 0; i < tam_pop; i++)
{
vector<int> individuo;
void mostrarPopulacao()
{
for(int i = 0; i < tam_pop; i++)
{
for(int j = 0; j < tam_genes; j++)
cout << populacao[i][j] << " ";
cout << endl;
}
}
// realiza o cruzamento
void cruzamento(int indice_pai1, int indice_pai2, vector<int>&
filho)
{
// escolhe um ponto aleatoriamente no intervalo [0,
tam_genes - 1]
int ponto = rand() % tam_genes;
return indice_melhor;
}
inicializaPopulacao();
//mostrarPopulacao();
vector<int> filho;
int score_pai =
obterPontuacao(populacao[indice_pai1]);
int score_filho = obterPontuacao(filho);
/*
se a pontuação (score) do filho
for melhor do
que o pai1, então substitui o pai
1 pelo filho
*/
if(score_filho > score_pai)
{
// faz a cópia dos genes do filho
para o pai
for(int k = 0; k < tam_genes; k+
+)
populacao[indice_pai1][k]
= filho[k];
}
}
}
cout << "Geracao " << i + 1 << endl;
cout << "Melhor: ";
return 0;
}