Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmos Genticos
Algoritmos Evolutivos
Computao Evolutiva
Inteligncia Artificial
1
Inteligncia Artificial
(DARWIN, 1859)
Inteligncia Artificial
2
Inteligncia Artificial
Algoritmos Evolutivos
1975: Jonh Holland: Idealizou os algoritmos genticos
A evoluo biolgica
uma busca paralela em um enorme espao de problema
solues desejadas = organismos mais adaptados
Inteligncia Artificial
Idia:
indivduo = soluo
provoca mudana nos indivduos por intermdio de mutao
e reproduo
seleciona indivduos mais adaptados atravs de sucessivas
geraes
A aptido de cada indivduo medida pela funo de
aptido (fitness function)
3
Inteligncia Artificial
Inteligncia Artificial
Esquema Geral
Calcule a aptido de
cada organismo
Encontrou a
Soluo tima ou uma
soluo boa ?
Reproduza e mate
organismos
Aplique mutao
4
Inteligncia Artificial
Conceitos Bsicos
manipulam uma populao de indivduos.
Inteligncia Artificial
Um individuo um Cromossomo
5
Inteligncia Artificial
Inteligncia Artificial
6
Inteligncia Artificial
Inteligncia Artificial
Reproduo/recombinao
Funo: combinar e/ou perpetuar material gentico dos indivduos mais
adaptados
Tipos:
assexuada (=duplicao) ou sexuada (crossover)
Observao: Existe uma taxa de crossover que controla a quantidade
de reproduo que ser feita
7
Inteligncia Artificial
Reproduo (2)
Quanto mais estruturada a representao mais
difcil de definir o cruzamento
Inteligncia Artificial
Mutao
Objetivo: gerar diversidade (p/ escapar de timos locais)
Tipos:
generativa
destrutiva
swap
swap de seqncia
Observao: Existe uma taxa de mutao que diminui com o tempo
(ex. % da populao selecionada) para garantir convergncia
Generativa
Destrutiva
Swap
Swap de Seq.
8
Inteligncia Artificial
Reproduo e Mutao
Inteligncia Artificial
Chances de seleo so
proporcionais
aptido f (i )
N
f (i)
i 1
9
Inteligncia Artificial
Mtodo da Roleta
Encontre a soma da aptido AT de todos os indivduos
N
da populao: AT
f (i)
i 1
f (i) r
i 1
Exemplo: r = 30
Cromossoma 1 2 3 4 5 6 7 8 9 10
Aptido 8 2 17 7 2 12 11 7 3 7
f (i)
i 1
8 10 27 34 36 48 59 66 69 76
Inteligncia Artificial
Critrios de parada
Definir um Nmero Mximo de geraes
10
Inteligncia Artificial
Convergncia Prematura
O que a Convergncia Prematura ?
O sistema no apresenta mais nenhuma melhora e ainda est longe da
situao ideal. No apresenta mais diversidade da populao
O que pode causar a Convergncia Prematura ?
Vrios indivduos iguais (pouca diversidade)
Um super-individuo que monopoliza o mtodo da roleta
Uma baixa taxa de mutao e/ou reproduo
O que podemos fazer para evitar ?
Mexer na funo de aptido (fitness) !!!!!
Existem tcnicas que minimizam a criao de super-indivduos e que
aumentam a presso seletiva sobre os melhores. So elas:
Windowing (janelamento)
Normalizao Linear (NL)
Sharing
Inteligncia Artificial
Janelamento e Sharing
Windowing (Janelamento):
Obtenha a avaliao mnima da populao
Desconte-a da aptido de cada indivduo
A idia subtrair uma constante das f(i)
Ai f (i) Amin
Sharing:
Diminiu o escore (aptido) dos indivduos mais semelhantes.
A idia diminuir a influncia de muitos indivduos iguais
11
Inteligncia Artificial
Normalizao Linear
Normalizao Linear
Ordene todos os N indivduos em ordem descrescente de avaliao (i =1
menos apto)
Crie aptides partindo de um valor mnimo e crescendo linearmente at
o valor mximo para cada um dos N individuos.
(max min)
Ai min (i 1)
N 1
Inteligncia Artificial
Comparativo
Exemplo Comparativo:
Rank 6 5 4 3 2 1
Aptido 200 9 8 7 4 1
Windowing 199 8 7 6 3 0
NL (incremento 10) 51 41 31 21 11 1
NL (incremento 20) 101 81 61 41 21 1
12
Inteligncia Artificial
Inteligncia Artificial
Um exemplo simples
O problema do Caixeiro Viajante:
13
Inteligncia Artificial
Representao
Iremos considerar um modo simples de
representao:
- Lista ordenada de cidades visitadas
- Cada cidade ser representada por um nmero
1) So Paulo 3) SBCampo 5) Diadema 7) Guarulhos
2) Campinas 4) Sto Andr 6) Osasco 8) SCSul
CityList1 (3 5 7 2 1 6 4 8)
CityList2 (2 5 7 6 8 1 3 4)
Inteligncia Artificial
Definindo o Crossover
Iremos usar um Crossover de reproduo de ponto duplo
Pai1 (3 5 7 2 1 6 4 8)
Pai2 (2 5 7 6 8 1 3 4)
Filho (2 5 7 2 1 6 3 4)
14
Inteligncia Artificial
Definindo a Mutao
Mutao envolve reordenao de lista:
* *
Antes: (5 8 7 2 1 6 3 4)
Depois: (5 8 6 2 1 7 3 4)
Inteligncia Artificial
Exemplo: 30 Cidades
120
100
80
60
y
40
20
0
0 10 20 30 40 50 60 70 80 90 100
x
15
Inteligncia Artificial
120
100
80
y
60
40
20
0
0 10 20 30 40 50 60 70 80 90 100
x
Inteligncia Artificial
Soluo parcial (Distncia = 800)
120
100
80
60
y
40
20
0
0 10 20 30 40 50 60 70 80 90 100
x
16
Inteligncia Artificial
120
100
80
y
60
40
20
0
0 10 20 30 40 50 60 70 80 90 100
x
Inteligncia Artificial
Soluo tima (Distncia = 420)
120
100
80
y
60
40
20
0
0 10 20 30 40 50 60 70 80 90 100
x
94
17
Inteligncia Artificial
1800
1600
1400
1200
Distance
1000
800
600
400
200
0 Best
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
Worst
Generations (1000) Average
Inteligncia Artificial
Balano
Vantagens
Simples (vrias representaes, 1 algoritmo) e pouco
sensvel a pequenas variaes
Vasto campo de aplicaes (inclusive em Redes
Neurais)
Ainda custa caro mas pode ser paralelizado facilmente
Desvantagens
Como o mtodo basicamente numrico nem sempre
fcil introduzir conhecimento do domnio
Se no for paralelizado, pode demorar muito tempo
para achar uma soluo
18
Inteligncia Artificial
Exemplos de aplicaes
Roteamento de Telecomunicaes
Planejamento dos Jogos Olmpicos
Avaliao de Crdito e Anlise de Risco
Particionamento de circuitos
Jogos
Problemas de Otimizao em geral
Entre outros
Inteligncia Artificial
19
Inteligncia Artificial
Inteligncia Artificial
20