Professional Documents
Culture Documents
ALGORITMOS
ALGORITMOS GENÉTICOS
GENÉTICOS
Introdução
Introdução
Inteligência Artificial
Evolução
• Teorias evolutivas
– Lamarckismo
– Darwinismo
– Neodarwinismo
Inteligência Artificial
Lamark
• Cientista francês, afirmou em seu
livro, Filosofia Zoológica (1809)
– Indivíduos podem se modificar ao
longo do tempo
• Em resposta a necessidades
relacionadas ao seu ambiente
• Coelhos poderiam ter orelhas curtas
para melhor ouvir a aproximação dos
predadores
– Para melhor ouvir a aproximação, precisavam
movimentar constantemente as orelhas
Inteligência Artificial
Lamark
• Princípios fundamentais do Lamarckismo
– Lei do uso e desuso
• Estruturas muito utilizadas teriam tendência a se
desenvolver
• Enquanto as pouco utilizadas teriam tendência a se
atrofiar
– Lei da herança das características adquiridas
• As mudanças no organismo, devido ao uso/desuso,
seriam transmitidas aos seus descendentes
Inteligência Artificial
Lamark
• Princípios fundamentais do
Lamarckismo
– O desenvolvimento da genética esclareceu
os mecanismos de herança biológica
• Características adquiridas durante a vida
(uso/desuso) não são transferidas
– Ex.: Filhos de halterofilistas não nascem mais
fortes que filhos de cientistas
– Seu trabalho não teve o reconhecimento
da comunidade científica da época
Inteligência Artificial
Darwin
• De volta da viagem em torno do mundo,
publica em 1859, o livro “A Origem das
Espécies”
– Propôs a teoria de seleção natural
• Indivíduos são selecionados pelo ambiente
– Luta pela sobrevivência
» Indivíduos mais aptos têm maiores chances de
gerar descendentes
» Indivíduos pouco adaptados seriam extintos
– Existe um ancestral comum a todas as
espécies
• Que evoluíram a partir deste ancestral
Inteligência Artificial
Darwin
• Teoria de seleção natural não foi muito
bem aceita pela comunidade científica
da época
– Modelo de evolução (seleção natural) foi
aceito
– Mas Darwin não explicou como a adaptação
ocorria
• Necessário para entender a seleção natural
– Faltava responder às perguntas:
• Qual a origem da variabilidade e diversidade das
características presentes nas espécies?
• Como tais características eram transmitidas no
decorrer das gerações?
Inteligência Artificial
Mendel
• Johnann Mendel
– Monge em Brno, República Checa
– Recebeu uma pequena área no monastério
para realizar experimentos com ervilhas
• Propôs, em 1865, conceito da
hereditariedade
– Complementava os estudos de Darwin
Inteligência Artificial
Mendel
• Conceito da hereditariedade
– Explicava como as características
de um indivíduo poderiam ser
transmitidas aos seus descendentes
– Aceito (redescoberto) apenas em
1920
– Mendel faleceu em 1884
Inteligência Artificial
Mendel
Inteligência Artificial
Introdução
• Computação Evolutiva
• Técnicas computacionais para
resolução de problemas baseados em:
Genética
Teoria da evolução natural
• Pesquisas tiveram início na década
de 50
• Independentemente a partir de
cerca de 10 grupos em um período
de 15 anos
Inteligência Artificial
Algoritmos Evolutivos
Inteligência Artificial
Outras Abordagem
• Ant Algoritmo – utiliza lo
comportamento de las formigas
para a solucion del problema.
• Programacion Evolucionaria-
enfatiza o desenvolvimento de
modelos do ambiente.
• Programacion Genética – la
representacion de los individuos es
representados como árvores.
Inteligência Artificial
Algoritmo Genético
Principais Estudos:
• Décadas de 50 e 60
• Na década de 70 foram introduzidos
formalmente por Holland e posteriormente por
Goldberg
Tradicionalmente, têm sido aplicados na busca de
soluções em problemas de otimização
Inteligência Artificial
Terminologia
Terminologia
Descrição Geral
Ambiente
Descrição Geral
Ambiente
Representação Genética
Operador de Seleção
Método da Roleta:
Cada indivíduo está relacionado a um setor da roleta. A
área do setor é proporcional ao valor da função objetivo
Inteligência Artificial
Operador de Seleção
No. Indivíduo Cromossomo f(x)=x2 Probabilidade Acumulado Intervalo
1 13 01101 169 0,144 0,144 [0,000; 0,144]
2 24 11000 576 0,492 0,636 ]0,144; 0,636]
3 8 01000 64 0,055 0,691 ]0,636; 0,691]
4 19 10011 361 0,309 1,000 ]0,691; 1,000]
14,4%
30,9% 1
4
3 22
5,5%
49,2%
Inteligência Artificial
Operadores Genéticos
Crossover : Deve
Deveter
teralta
alta
Ponto de corte probabilidade
probabilidade( 1)
(1)
Pai # 2 1 1 0 0 0 Filho # 2 1 1 0 0 1
Inteligência Artificial
Operadores Genéticos
Mutação:
Mutação
0 1 1 0 1 0 0 1 0 1
Deve
Deveter
terbaixa
baixa
probabilidade
probabilidade(<<1)
(<<1)
Inteligência Artificial
Operador de Substituição
Diagrama
de um
Algoritmo
Genético
Inteligência Artificial
Problema
Achar o ponto máximo da função abaixo dentro do
intervalo:
Dica
Representar o cromossomo por uma cadeia de bits
(por exemplo 22 bits):
s1 = 1000101110110101000111
b10
Use a equação: x = min + (max-min)
222 - 1
Exemplo: 2288967
x1 = -1,0 + (2,0 + 1,0) = 0,637197
2 -1
22
Inteligência Artificial
População Inicial
...
...
...
...
30 1111101100000001010111 1,94147 -0,87216 0,00000 30,00000
Inteligência Artificial
Seleção
População Intermediária:
Alocação dos cromossomos pais
Probabilidade de Seleção:
Procedimento Prático:
Gera-se um número r aleatório no intervalo [0,30]
Cromossomo selecionado é o primeiro que possui
aptidão acumulada maior que r
Inteligência Artificial
Seleção
...
...
...
...
...
...
O procedimento é repetido até preencher a população
intermediária com N cromossomos
Inteligência Artificial
Crossover
Crossover :
Deve
Deveter
teralta
altaprobabilidade
probabilidade Ponto de corte
(60%
(60% a90%)
a 90%)
Pai # 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1
Pai # 2 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1
Filho # 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1
Filho # 2 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1
Inteligência Artificial
Mutação
Mutação:
Deve
Deveter
terbaixa
baixa
probabilidade
probabilidade (0,1%aa5%)
(0,1% 5%)
Antes
Filho # 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1
Filho # 2 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1
Depois
Filho # 1 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1
Filho # 2 0 1 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1
Inteligência Artificial
...
...
...
4 0000110011111010010110 0000010000100100110001 3
27 0000010000100100110001 0000110011101010010110 3
...
...
...
...
Desempenho
3
2,8
Função Objetivo
2,6
AG com elitismo
2,4 AG sem elitismo
2,2
5 10 15 20 25
Geração
Inteligência Artificial
Crossover de n-Pontos
Crossover de 1 ponto:
Pai # 2 1 1 0 0 0 Filho # 2 1 1 0 0 1
Crossover de 2 pontos:
Pai # 2 1 1 0 0 0 Filho # 2 1 1 1 0 0
Inteligência Artificial
Representação Real
mãe = (m1, m2, ..., mL) pai = (p1, p2, ..., pL)
Representação Real
Representação:
mãe = (m1, m2, ..., mL) pai = (p1, p2, ..., pL)
filho = (a1, a2, ..., aL)
Representação Real
Maximizar:
Com:
Representação Real
Mutação Randômica:
Substituição de um gene por um número escolhido
aleatoriamente no intervalo permitido pelo problema
Mutação Creep:
Adiciona ao gene um pequeno número aleatório
obtido de uma distribuição normal
Exemplo:
Início São Paulo Rio de Belo Brasília Salvador
Início Janeiro Horizonte
São Paulo 429 586 1015 1954
Rio de Janeiro 429 434 1145 1720
Belo Horizonte 586 434 716 1354
Brasília 1015 1145 716 1529
Salvador 1954 1720 1354 1529
Inteligência Artificial
Para
Paraapenas
apenas10
10cidades,
cidades,10!
10!==33628
628800
800
Inteligência Artificial
Possível Representação
B
A C
D
G E
Cromossomo: A B C D F E G
Inteligência Artificial
Problema de Roteamento de
Veículos
Uma frota de veículos deve
atender um conjunto de
clientes. Os veículos podem
partir de um ou mais
depósitos e devem regressar
ao depósito de origem ao
final da jornada. Cada veículo
possui uma capacidade fixa.
Cada cliente possui uma
demanda conhecida que
deve ser satisfeita por um
único veículo em apenas uma
viagem. Cada viagem possui
um custo
Cliente Depósito
Inteligência Artificial
Possível Representação
Exercício
Implemente um algoritmo genético para achar o ponto
máximo da função
no intervalo
Boas Referências