Skip to content

Códigos referentes à algumas simulações de Inteligência Computacional.

Notifications You must be signed in to change notification settings

sousaellen/GA-Genetic-Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algoritmo Genético

O objetivo é encontrar o máximo da função f(x,y) = |xsen(ypi/4) + ysen(xp/4)| com Algoritmo Genético.

Descrição:

Cada indivíduo da população é um vetor binário de 20 bits,em que os 10 primeiros representam x e os restantes representam y. As variáveis x e y pertencem ao intervalo entre 0 e 20.

Implementação:

Para implementar o GA foram definidos o número de indivíduos e épocas (estes facilmente modificados). Para exemplificar vamos considerar neste documento 100 épocas e 500 indivíduos.

Inicialmente, na primeira época, a população de indivíduos é gerada aleatoriamente na forma binária. Estes são convertidos para seu valor decimal e adequados a formulação do problema. Em todas as épocas, a função de avaliação que atribui as notas dos indivíduos é o valor da função objetivo (FO) quando estes são aplicados. De acordo com as notas, os mesmos são alocados em uma roleta para a escolha. Os indivíduos são selecionados para se tornarem pais, e fazem cruzamento aos pares, gerando os filhos através do crossover de um ponto. Sendo este ponto de corte escolhido de forma aleatória. E em seguida, o melhor individuo é escolhido para cada época.

Na janela de comandos do MATLAB é gerado uma lista com todos os indivíduos escolhidos para cada época. Além do gráfico que mostra o progresso do algoritmo em relação à FO em cada época, também é ilustrado o valor alcançado ao fim do período de 100 épocas.

Podemos perceber que o algoritmo converge para a solução que maximiza a FO, dentro dos limites adotados no problema.

About

Códigos referentes à algumas simulações de Inteligência Computacional.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages