Documente Academic
Documente Profesional
Documente Cultură
6. Agentes Adaptativos
1
Algumas regras
Avaliação
Dando 0 pontos às bolas vermelhas, 1 às
azuis e 3 às verdes temos (média 10.75):
11
10
13
2
Selecção “natural”
O pássaro garante que os mais aptos a
esconderem-se são os que sobrevivem…
11
13
Recombinação
As lagartas sobreviventes reproduzem-se
por recombinação, a partir de um ponto
aleatório
3
Geração 2
Avaliando a nova população de lagartas
temos (média 12):
15
16
Selecção e recombinação
Reprodução das duas melhores lagartas,
a partir de um ponto aleatório
4
Geração 3
Avaliando a nova população de lagartas
temos (média 15.5):
18
13
13
18
5
Geração 4
Avaliando a nova população de lagartas
temos (média 15.5):
15
21
15
21
Geração 5
A partir desta geração todas as lagartas
serão totalmente verdes…
21
21
21
21
6
Adaptação por selecção “natural”
A população de agentes adaptou-se às
regras do ambiente, melhorando o seu
desempenho
Adaptação
A metáfora biológica
Algoritmos Evolucionários
Procura (estocástica) adaptativa global
relativamente a uma função objectivo
© 2005 E. Costa, 2007 A. Silva
7
Arquitectura
Evolução
percepção acção
Decisão
Significado
8
Terminologia
Ecosistemas
População
Indivíduo
Organismo
Células
Cromossoma
ADN
Gene
Alelo
Locus
© 2005 E. Costa, 2007 A. Silva
Funcionamento
9
Algoritmo clássico
Elementos básicos
10
Exemplo de AG tradicional
1.5
0.5
-0.5
-1
-1 -0.5 0 0.5 1 1.5 2
x
1.85 © 2005 E. Costa, 2007 A. Silva
Escolhas
Representação
binária, comprimento fixo
precisão 6 casas decimais
dividir o intervalo -1 a 2 em 3*106
são precisos 22 bits
221 < 3000000 <= 222
Selecção: proporcional ao desempenho
desempenho = f(x)
Operadores Genéticos
recombinação de um ponto (0.25)
mutação simples (0.01)
Critério Paragem: nº gerações (150)
Geracional
© 2005 E. Costa, 2007 A. Silva
11
Selecção proporcional ao desempenho
1
Método da roleta
2
3
4
5
6
7
8
9
10
NÚMERO do
indivíduo 1 2 3 4 5 6 7 8 9 10
Função de Mérito
=f(x) 2.0 1.8 1.6 1.4 1.2 1.0 0.8 0.6 0.4 0.2
Prob. de Selecção
∑f (xi)
f(xi)/∑ 0.18 0.16 0.15 0.13 0.11 0.09 0.07 0.06 0.03 0.02
1 2 3 4 5 6 7 8 9 10
Operadores
B
© 2005 E. Costa, 2007 A. Silva
12
Simulação
http://ai.bpa.arizona.edu/~mramsey/ga.html
Média
2,9
2,85
2,8
2,75
2,7 Média
2,65
2,6
2,55
2,5
2,45
1 14 27 40 53 66 79 92 105 118 131 144
© 2005 E. Costa, 2007 A. Silva
Variantes - representação
Binárias
Código de Gray
Número 0 1 2 3 4 5 6 7
001 011
101 111
010
000
100 110
© 2005 E. Costa, 2007 A. Silva
13
Variantes - representação
Inteiros
Caminhos de um robot em 2D {0,1,2,3} =
{norte, sul, este, oeste}
Reais
Quando os valores vêm de uma distribuição
contínua em vez de discreta
Permutações
Ordem
Problemas de Escalonamento + Caixeiro
Viajante
A representação deve ser natural
Implicação para
Avaliação
Operadores
© 2005 E. Costa, 2007 A. Silva
Variantes - mutação
14
Variantes - mutação
1 2 5 3 4 6 7
por baralhamento 1 2 3 4 5 6 7
1 5 4 2 3 6 7
Por inversão 1 5 4 3 2 6 7
Variantes - recombinação
15
Variantes - recombinação
“do meio”
Completar guiado
9 3 2 4 5 6 7 1 8
pelo “meio”
Baseada na ordem
Dois pontos de corte
Copiar a parte “do meio”
Completar respeitando a ordem
Variantes - selecção
Proporcional à qualidade
Implementação com roleta
1 ponteiro rodado n vezes
Amostragem universal estocástica
n ponteiros rodados n vezes
Por ordem
Indivíduos ordenados, proporcional à posição
Por torneio
Escolhem-se 2 indivíduos n vezes
O melhor passa com uma probabilidade k (e.g
0.75), senão passa o pior
16
Variantes – nova geração
Geracional
A geração anterior é totalmente substituída
pelos descendentes
Baseado na qualidade
Os filhos só substituem os pais se forem
melhores
Estado estável
Apenas uma parte da população é substituída
Elitismo
Variante em que alguns dos melhores
indivíduos são preservados para a próxima
geração
© 2005 E. Costa, 2007 A. Silva
Exemplo complexo
3’ 5’
17
Dogma central
Proteínas
Proteína
Molécula
Sequência de
Aminoácidos
Responsáveis por
estruturas e
actividades num
organismo
• Cabelo, músculos,
enzimas digestivas,
anticorpos
Aminoácido
sequência de 3
nucleótidos (codão)
Código Genético
18
Aminoácido
Existem 20…
Alanina
Proteína
MAVLD
Ligação peptídica
N C
Amino Carboxil
19
Problemas
Alinhamento de
Sequências
DNA, RNA,
aminoácidos
Estrutura 3D de
proteínas
Da sequência
Estrutura 3D (
Função)
Abordagem
Algoritmos
Evolucionários
© 2005 E. Costa, 2007 A. Silva
Alinhamento de sequências
O problema
Princípio: duas sequências relacionadas têm
um antepassado comum, em resultado do
processo evolutivo. Dizem-se homólogas.
Determinar semelhanças entre sequências
passa por alinhá-las
As operações a usar
Substituição (de resíduos, por exemplo)
Eliminação
Inserção
Possibilidade de buracos (gaps)
20
Alinhamento de sequências
Alinhamentos possíveis:
X: TACCAGT__ X: TACCAGT__
Y: C_CC_GTAA Y: __CCCGTAA
Qual é o melhor??
SAGA
Um algoritmo genético para o problema do
alinhamento múltiplo de sequências (RNA e
proteínas)
1. Criar (aleatoriamente) Pop(0)
2. Avaliar Pop(n)
3. Se estabilizada então terminar
4. Selecciona os indivíduos a substituir
5. Calcula o número de descendentes esperados
6. Selecciona os pais a partir de Pop(n)
7. Selecciona um operador
8. Gera os filhos
9. Guarda em Pop(n+1) ou deita fora o novo filho
10. Repete a partir de 6. até Pop(n+1) estar completa
11. N N +1
12. Vai para 2.
21
Alguns detalhes do SAGA
WGKVN---VDEVGGEAL-
WDKVNEEE---VGGEAL-
WGKVG—AHAGEYGAEAL
WSKVGGHA--GEYGAEAL
2: Avaliação
Por contagem das discrepâncias entre todos
os pares de sequências.
Igual 0
Diferente +k
Buraco n*k
N −1 N
X = ∑∑ Wi , j * custo( X i , X j )
i =1 j = i
3: Terminar
Se não evolui nas últimas 100 gerações
22
Alguns detalhes do SAGA
Programação genética
Representação Exemplo
Árvores Terminais, T={x,y,2}
Funções,
F={+,*,cos,√}
Modelização:
Uma árvore possível:
população = conjunto
de programas +
indivíduo = programa cos
cromossoma =
√
“conjunto” de genes x +
gene = termo
∗ y
alelos = árvores
sintacticamente x 2
correctas
© 2005 E. Costa, 2007 A. Silva
23
Programação genética
Mérito
relação entre saída do programa e o valor
esperado para uma dada entrada
número de casos “correctos”
Selecção
elitista
inicialmente apenas geracional
10% dos melhores transita
90% restantes escolhidos proporcionalmente
ao desempenho
Mutação
Não era usada (normalmente)
© 2005 E. Costa, 2007 A. Silva
Programação genética
Recombinação
um ponto de corte
+ +
sin
sin Λ √
x +
x 2
+
Λ y
x y
x 2
+
sin
+ √
sin Λ x +
x x 2 Λ y
2 +
x y
© 2005 E. Costa, 2007 A. Silva
24
Programação genética
Mutação
+
sin Λ +
x 2 + sin Λ
x y x 2 6
Exercício
O problema da mochila
Uma mochila de capacidade limitada K
Conjunto de objectos com um peso Pi e um valor Vi
Queremos maximizar o valor dos objectos colocados na
mochila, garantindo que a soma dos pesos não passa K
25
Exercício
Exercício
Defina uma função de avaliação
adequada ao problema.
A qualidade de uma solução corresponde ao
valor total transportado na mochila
f(x)=Σxi.vi
No caso da solução 1 0 1 1 0 0 teríamos
f(x)=10+20+10=50
Mas o peso é 35 o que quer dizer que a
solução não é válida!
Temos que juntar as duas coisas:
f(x)=Σxi.vi-(Σxi.pi-K)=50-(35-30)=45
Penalização
© 2005 E. Costa, 2007 A. Silva
26
Exercício
0 1 1 1 0 1
0 1 0 1 1 0
1 0 0 0 0 1
27