Sunteți pe pagina 1din 27

Inteligência Artificial

6. Agentes Adaptativos

Mundo das lagartas

 Numa folha vivem 4 lagartas…

© 2005 E. Costa, 2007 A. Silva

1
Algumas regras

 As lagartas vivem de geração em geração


 Em cada nova geração os filhos substituem os
pais na folha
 Em cada geração o pássaro que vive na
árvore come duas lagartas
 Come aquelas que consegue ver melhor
 O pássaro vê muito bem o vermelho, mais ou
menos o azul e quase não consegue ver o
verde
 As duas lagartas que sobrem
reproduzem-se por recombinação…
© 2005 E. Costa, 2007 A. Silva

Avaliação
 Dando 0 pontos às bolas vermelhas, 1 às
azuis e 3 às verdes temos (média 10.75):

11

10

13

© 2005 E. Costa, 2007 A. Silva

2
Selecção “natural”
 O pássaro garante que os mais aptos a
esconderem-se são os que sobrevivem…

11

13

© 2005 E. Costa, 2007 A. Silva

Recombinação
 As lagartas sobreviventes reproduzem-se
por recombinação, a partir de um ponto
aleatório

© 2005 E. Costa, 2007 A. Silva

3
Geração 2
 Avaliando a nova população de lagartas
temos (média 12):

15

16

© 2005 E. Costa, 2007 A. Silva

Selecção e recombinação
 Reprodução das duas melhores lagartas,
a partir de um ponto aleatório

© 2005 E. Costa, 2007 A. Silva

4
Geração 3
 Avaliando a nova população de lagartas
temos (média 15.5):

18

13

13

18

© 2005 E. Costa, 2007 A. Silva

E mais uma vez…


 Reprodução das duas melhores lagartas,
a partir de um ponto aleatório

© 2005 E. Costa, 2007 A. Silva

5
Geração 4
 Avaliando a nova população de lagartas
temos (média 15.5):

15

21

15

21

© 2005 E. Costa, 2007 A. Silva

Geração 5
 A partir desta geração todas as lagartas
serão totalmente verdes…

21

21

21

21

© 2005 E. Costa, 2007 A. Silva

6
Adaptação por selecção “natural”
 A população de agentes adaptou-se às
regras do ambiente, melhorando o seu
desempenho

Adaptação

© 2005 E. Costa, 2007 A. Silva

A metáfora biológica

 Evolução via selecção natural (Darwin)


 Sobrevivem os mais aptos (fittest )

 Operadores genéticos (Mendel)


 Recombinação (crossover )
 Mutação (mutation )

 Algoritmos Evolucionários
 Procura (estocástica) adaptativa global
relativamente a uma função objectivo
© 2005 E. Costa, 2007 A. Silva

7
Arquitectura

 Do ambiente: vives ou morres…


Ambiente
Agente

Evolução

percepção acção

Decisão

 Evolução: ao nível da espécie


 Aprendizagem: ao nível do indivíduo
© 2005 E. Costa, 2007 A. Silva

Significado

 Procura estocástica guiada por uma


função objectivo

f(x) Algumas gerações depois

Selecção, reprodução com variação

População inicial (aleatória)

© 2005 E. Costa, 2007 A. Silva

8
Terminologia

 Ecosistemas
 População
 Indivíduo
 Organismo
 Células
 Cromossoma
 ADN
 Gene
 Alelo
 Locus
© 2005 E. Costa, 2007 A. Silva

Funcionamento

© 2005 E. Costa, 2007 A. Silva

9
Algoritmo clássico

função AlgoritmoGenético_Clássico(problema): solução


1. Gera população inicial
2. Enquanto não_terminar faz
2.1 Avalia população
2.2 Selecciona progenitores para reprodução de
acordo com o mérito
2.3 Gera filhos por aplicação do operador de recombinação
2.4 Aplica o operador de mutação aos filhos
2.5 Substitui a geração anterior pelos filhos
fim_de_enquanto
3. Devolve o melhor filho da população final

© 2005 E. Costa, 2007 A. Silva

Elementos básicos

 Elementos básicos de um Algoritmo


Evolucionário:
 Representação
 Método de selecção dos progenitores e dos
sobreviventes
 Operadores de variação
 Função de avaliação
 Características da população
 Tamanho
 Geração inicial

© 2005 E. Costa, 2007 A. Silva

10
Exemplo de AG tradicional

 Queremos encontrar o máximo da


seguinte função: f (x) = x*sin(10π *x)+1.0
x∈ −1..2
3 2.85
2.5

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

0,18 0,49 0,62 0,73 0,82 0,89 0,98


0,34 0,95 1

© 2005 E. Costa, 2007 A. Silva

Operadores

 Recombinação - Prob [0.6 - 0.8]


11101001000 um ponto 11101010101
00001010101 00001001000
 Mutação – Prob. [0.01- 0.1]
 mudança de um alelo de um gene num
cromossoma
A

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

Clássico 000 001 010 011 100 101 110 111

Gray 000 001 011 010 110 111 101 100

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

 Mutação com probabilidade pm


 Representação binária: muda alelo
 Representação com inteiros
 Mudança aleatória
 Alteração controlada
 Representação com reais
 Adição de um valor a um ou mais alelos
 Distribuição uniforme
 Distribuição normal

© 2005 E. Costa, 2007 A. Silva

14
Variantes - mutação

 Mutação para permutações


 por troca
 por deslocamento 1 2 3 4 5 6 7

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

© 2005 E. Costa, 2007 A. Silva

Variantes - recombinação

 Para representações binárias ou inteiros


 Um ponto de corte
 N-pontos de corte
 Uniforme
 Para representações baseadas em reais
 Recombinação discreta
 zi = xi ou yi
 Outras…

© 2005 E. Costa, 2007 A. Silva

15
Variantes - recombinação

 Recombinação para permutações


 PMX
 Dois pontos de corte 1 2 3 4 5 6 7 8 9
aleatórios
 Copiar a parte 9 3 7 8 2 6 5 1 4

“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

© 2005 E. Costa, 2007 A. Silva

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

© 2005 E. Costa, 2007 A. Silva

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

 ADN (ácido deoxi-


5’
ribonucleico) 3’
 Nucleóticos
 Fosfato
 Açúcar
 Base

3’ 5’

© 2005 E. Costa, 2007 A. Silva

17
Dogma central

DNA  RNA  Proteína

© 2005 E. Costa, 2007 A. Silva

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

© 2005 E. Costa, 2007 A. Silva

18
Aminoácido

 Existem 20…

Alanina

© 2005 E. Costa, 2007 A. Silva

Proteína

 MAVLD

Ligação peptídica

Met Ala Val Leu Asp

NH2 CO-NH CO-NH CO-NH CO-NH COOH

N C

Amino Carboxil

© 2005 E. Costa, 2007 A. Silva

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)

© 2005 E. Costa, 2007 A. Silva

20
Alinhamento de sequências

 Exemplo (com Nucleótidos)


 X: TACCAGT
 Y: CCCGTAA

 Alinhamentos possíveis:

X: TACCAGT__ X: TACCAGT__
Y: C_CC_GTAA Y: __CCCGTAA

 Qual é o melhor??

© 2005 E. Costa, 2007 A. Silva

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.

© 2005 E. Costa, 2007 A. Silva

21
Alguns detalhes do SAGA

 Representação: um indivíduo é uma matriz,


sendo cada linha uma sequência

WGKVN---VDEVGGEAL-
WDKVNEEE---VGGEAL-
WGKVG—AHAGEYGAEAL
WSKVGGHA--GEYGAEAL

 1: População inicial de 100 indivíduos


 Comprimento menor de metade do comprimento das
sequências a alinhar
 Buracos apenas no final
 Inicialmente todas têm o mesmo comprimento

© 2005 E. Costa, 2007 A. Silva

Alguns detalhes do SAGA

 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

© 2005 E. Costa, 2007 A. Silva

22
Alguns detalhes do SAGA

 4, 5, 6: Selecção e Avaliação dos Filhos


Esperados (FE)
 Proporcional ao seu valor de discrepância
 7: Selecciona um operador entre 22 (!!!)
 Cruzamento de um ponto (guarda apenas o
melhor filho)
 Inserção de buracos (posição, tamanho)
 8, 9: Aplica operador e determina se é
retido na nova população (não são
admitidas duplicações)

© 2005 E. Costa, 2007 A. Silva

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

 População inicial (ramped half-and half)


 Dmax = profundidade máxima da árvore
 Método completo: todos os ramos têm comprimento
Dmax
 Método de crescimento: elementos são escolhidos
estocásticamente de entre os elementos de F ou de T

© 2005 E. Costa, 2007 A. Silva

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

 Neste caso particular temos uma mochila


com capacidade k=30 e 6 objectos:
V={10, 50, 20, 10, 40, 10}
P={20, 10, 10, 05, 10, 15}

© 2005 E. Costa, 2007 A. Silva

25
Exercício

 Como poderemos representar uma


solução (indivíduo) para o problema de
maneira a resolvê-lo utilizando um ag?
 Uma solução deve codificar a informação
necessária para resolver o problema
 Neste caso precisamos de saber quais os objectos a
carregar na mochila
 Para tal basta um vector de seis bits, em que cada
bit representa se o objecto vai na mochila (1) ou
não (0)
 Por exemplo na solução seguinte levamos o objecto
1,3 e 4:
1 0 1 1 0 0

© 2005 E. Costa, 2007 A. Silva

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

 Simule uma primeira iteração do


problema utilizando
 Recombinação de um ponto
 Mutação simples
 Selecção por torneio
 Partindo da seguinte população inicial:
1 0 1 1 0 0

0 1 1 1 0 1

0 1 0 1 1 0

1 0 0 0 0 1

© 2005 E. Costa, 2007 A. Silva

27

S-ar putea să vă placă și