Sei sulla pagina 1di 60

Algoritmos Genticos

Airton Bordin Junior


[airtonbjunior@gmail.com]

Mestrado em Cincia da Computao Inteligncia Computacional


Prof Dr Celso Gonalves Camilo Junior
Universidade Federal de Gois (UFG) - Instituto de Informtica - Abril/2017
Programao

Introduo

Inteligncia Computacional - Airton Bordin Junior


Heursticas e Metaheursticas
Algoritmos evolucionrios
Algoritmos genticos
Referncias

2
Introduo
Podemos classificar os problemas computacionais em 2 grupos [SALIBA, 2010]
Tratveis, tambm chamados de polinomiais
Podem ser resolvidos por algoritmos determinsticos.

Inteligncia Computacional - Airton Bordin Junior


Intratveis, ou no polinomiais
Sem algoritmo determinstico para resolver o problema em tempo hbil.

Polinomiais
Tratveis
Algoritmos determinsticos

No polinomiais
Intratveis Algoritmos no determinsticos
Soluo determinstica invivel
3
Introduo
[CAPPELLE, 2017]

Inteligncia Computacional - Airton Bordin Junior


4
Introduo

Inteligncia Computacional - Airton Bordin Junior


5
Heurstica
Impraticabilidadede encontrar/calcular a melhor
resposta para problemas no polinomiais;

Inteligncia Computacional - Airton Bordin Junior


Desafio:produzir, em tempo reduzido, solues
to prximas quanto possveis da soluo tima.

6
Metaheurstica
Propriedades e Estratgias que guiam o processo de busca;
caractersticas
das Explorao eficiente do espao de busca - solues timas ou

Inteligncia Computacional - Airton Bordin Junior


quase timas;
metaheursticas De simples procedimentos de busca local a complexos processos
[SALIBA, 2010]
de aprendizado;
Aproximados e usualmente no determinsticos;

Podem incorporar mecanismos para evitar ficar presos em reas


confinadas do espao de busca;
No so especficas para um determinado problema;

Podem usar um conhecimento especfico do problema na forma de


heursticas que so controladas por uma estratgia de nvel superior.
7
Algoritmos bio-inspirados
Algoritmos Genticos
Algoritmos Programao Gentica
Evoluo Gramatical
evolucionrios Estratgias Evolucionrias
Programao Evolucionria

Inteligncia Computacional - Airton Bordin Junior


[PAPPA, 2013]
Inteligncia Colnia de Formigas
Algoritmos coletiva Enxame de Partculas
bio-inspirados
MLP Multi-layer Perceptrons
RBF- Radio Basis Function Net
Redes Neurais SOM- Self-Organizing Maps
ARTMap

Sistemas Seleo Negativa


Expanso Clonal
Imunolgicos Redes

8
Algoritmos bio-inspirados
Algoritmos Genticos
Algoritmos Programao Gentica
Evoluo Gramatical
evolucionrios Estratgias Evolucionrias
Programao Evolucionria

Inteligncia Computacional - Airton Bordin Junior


[PAPPA, 2013]
Inteligncia Colnia de Formigas
Algoritmos coletiva Enxame de Partculas
bio-inspirados
MLP Multi-layer Perceptrons
RBF- Radio Basis Function Net
Redes Neurais SOM- Self-Organizing Maps
ARTMap

Sistemas Seleo Negativa


Expanso Clonal
Imunolgicos Redes

9
Algoritmos evolucionrios
Inspirados na teoria de evoluo de Darwin;
Evoluo: mudana das caractersticas

Inteligncia Computacional - Airton Bordin Junior


(genticas) de uma populao de uma gerao
para a prxima
Mutao dos genes;
Recombinao dos genes dos pais.
Algoritmos
evolucionrios

Inteligncia
coletiva
Algoritmos bio-
inspirados
Redes Neurais

Sistemas
Imunolgicos 10
Algoritmos evolucionrios
Evoluo
caracterizada basicamente por
um processo constitudo de 3 passos[VON ZUBEN, 2005]

Inteligncia Computacional - Airton Bordin Junior


1. Reproduo com herana gentica;
2. Introduo de variao aleatria em
uma populao de indivduos;
3. Aplicao da seleo natural para a Algoritmos

produo da prxima gerao. evolucionrios

Inteligncia
coletiva
Algoritmos bio-
inspirados
Redes Neurais

Sistemas
Imunolgicos 11
Algoritmos genticos - Histrico
John Henry Holland, dcada de 1970;
Usando os postulados de Darwin, poderia

Inteligncia Computacional - Airton Bordin Junior


criar algoritmos que simulassem a dinmica
da evoluo e mecanismos da gentica;
Algoritmos capazes de manipular
cadeias de informaes (genes) de
forma a construir organismos
complexos e melhores adaptados
para resolver o problema de sua
existncia John Henry Holland
12
Algoritmos genticos - Histrico

Inteligncia Computacional - Airton Bordin Junior


Adaptation in Natural and
Artificial Systems 1975.

13
Algoritmos genticos - Histrico

Inteligncia Computacional - Airton Bordin Junior


David Goldberg - Aluno de
Holland;
Dcada de 1980;
Primeira aplicao industrial.

14
Algoritmos genticos - Histrico
Dcada de 1980 - General Electric inicia a
venda do primeiro produto baseado em
algoritmo gentico;

Inteligncia Computacional - Airton Bordin Junior


1989,Axcelis, lanou Evolver, primeiro
programa de AG commercial para
desktops.

New York Times 29/08/1990


15
Algoritmos genticos
Ramo dos Algoritmos
Evolucionrios;

Inteligncia Computacional - Airton Bordin Junior


Tcnica de busca baseada numa
metfora do processo biolgico de
evoluo natural;
Inspirados
no princpio Darwiniano
da evoluo das espcies e na
gentica.
Charles Darwin

16
Algoritmos genticos
Algoritmosprobabilsticos que fornecem
um mecanismo de busca paralela e
adaptativa baseado no princpio de

Inteligncia Computacional - Airton Bordin Junior


sobrevivncia dos mais aptos e na
reproduo.

17
Algoritmos genticos
Combinam a sobrevivncia entre os
melhores com uma forma estruturada de
troca de informao gentica entre dois

Inteligncia Computacional - Airton Bordin Junior


indivduos.

18
Reviso rpida Conceitos
Todo
indivduo biolgico formado por
uma ou mais clulas;

Inteligncia Computacional - Airton Bordin Junior


Dentro
de cada clula existe um conjunto
de cromossomos;
Cada
cromossomo consiste em sequncias
de DNA.

19
Reviso rpida Conceitos
Um cromossomo consiste de genes (blocos
de sequncias de DNA);

Inteligncia Computacional - Airton Bordin Junior


Cadagene tem uma posio prpria no
cromossomo chamada locus;
O conjunto completo de material gentico
(todos os cromossomos) o genoma.

20
Reviso rpida Conceitos
Conjunto especfico de genes no genoma o gentipo;
Gentipo a base do fentipo, que a expresso das

Inteligncia Computacional - Airton Bordin Junior


caractersticas codificadas pelos genes e modificadas
pelo ambiente;
A qualidade do indivduo (fitness) medida pelo seu
sucesso (sobrevivncia).

21
Reviso rpida Conceitos
Indivduos com uma melhor adequao do
seu fentipo ao meio ambiente (melhor

Inteligncia Computacional - Airton Bordin Junior


fitness) se reproduzem mais;
Dessa forma tm mais chances de passar
seus genes para a prxima gerao.

22
Reviso rpida Conceitos
Graas aos operadores genticos
(recombinao e mutao) os cromossomos
dos filhos no so exatamente iguais aos

Inteligncia Computacional - Airton Bordin Junior


dos pais;
Podemevoluir e se adaptar cada vez mais
ao meio ambiente que os cerca.

23
Algoritmos genticos
Principais Trabalham com uma codificao do conjunto de
diferenas com parmetros e no com os prprios parmetros;

Inteligncia Computacional - Airton Bordin Junior


mtodos
tradicionais Trabalham com uma populao e no com um
nico ponto;

Utilizam informaes de custo ou recompensa e


no derivadas ou outro conhecimento auxiliar;

Utilizam regras de transio probabilsticas e no


determinsticas.
24
Algoritmos genticos
Paralelo: mantm uma populao de solues que
podem ser avaliadas simultaneamente;
caractersticas

Inteligncia Computacional - Airton Bordin Junior


Global: AGs no usam somente informaes locais, logo
Algumas

no necessariamente ficam presos em mximos locais;


No totalmente aleatrio: usam informaes da populao atual
para determinar o prximo estado de busca;

No afetados por descontinuidades: no usam informaes de


derivadas nem necessitam informaes de seu entorno;

Funes: Lidam com funes discretas e contnuas.


25
Algoritmos genticos
Requisitos implementao de um AG

Inteligncia Computacional - Airton Bordin Junior


Representao das possveis solues do
problema no formato de cdigo gentico;
Populao inicial com diversidade suficiente;
Mtodo para medir a qualidade da soluo;
Critrio de escolha das solues que continuam;
Procedimento para introduzir algumas
alteraes peridicas na populo.
26
Algoritmos genticos

Retorna
soluo

Inteligncia Computacional - Airton Bordin Junior


Sim

Inicializao
Clculo Critrio
da Seleo Reproduo Mutao
aptido parada?
populao

27
Algoritmos genticos

Retorna
soluo Operadores genticos

Inteligncia Computacional - Airton Bordin Junior


Sim

Inicializao
Clculo Critrio
da Seleo Reproduo Mutao
aptido parada?
populao

28
Inicializao da populao
Ponto de partida: representao do
problema;

Inteligncia Computacional - Airton Bordin Junior


Definio da estrutura do cromossomo;
Depende do tipo de problema a ser tratado;
Exemplos
Vetor de bits;
Vetor de nmeros (inteiros, reais);
Permutao de smbolos, etc.

29
Inicializao da populao
Exemplo: representao em bits
Gentipo Fentipo

Inteligncia Computacional - Airton Bordin Junior


00101011 = 43

11101011 = 235
Varivel

00101100 = 44
Gene
Cromossomo

30
Inicializao da populao
Alguns cuidados na representao Exemplo:

Inteligncia Computacional - Airton Bordin Junior


0111 = 7

Distncia de Hamming = 4
1000 = 8

Uma pequena modificao de bits (mutao)


deveria resultar em uma pequena mudana;
Neste caso, 4 bits deveriam ser modificados para
uma pequena variao no resultado.
31
Inicializao da populao
Geralmente a inicializao da populao feita
de forma randmica;
Cada indivduo gerado uma possvel soluo

Inteligncia Computacional - Airton Bordin Junior


para o problema.
Exemplo: populao de 9 indivduos gerada randomicamente

111111 101010 000111

110110 100110 010100

100001 100000 110000

32
Inicializao da populao
Dentre as formas de codificao, podemos citar
Binria (demonstrada);
Permutao;

Inteligncia Computacional - Airton Bordin Junior


Codificao direta de valores;
rvore.

110110

ADECBF

1.7 2 4.3 9.2 10

33
Clculo aptido
Determinada atravs da funo objetivo;
Depende do problema a ser tratado;
Mede o quo prximo um indivduo est da

Inteligncia Computacional - Airton Bordin Junior


soluo desejada;
A funo deve ser escolhida cuidadosamente e
embutir o mximo de conhecimento sobre o
problema a ser resolvido.

34
Clculo aptido
Exemplo: encontrar o mximo da funo f(x) =
em um intervalo;
A funo de aptido, caso o problema seja

Inteligncia Computacional - Airton Bordin Junior


codificado em bits, consiste em converter o
nmero e elevar ao quadrado
Maiores valores tem maior aptido para o
resultado, nesse caso.

A 010100
Para o problema do mximo da funo, o
indivduo B (110110) tem mais aptido (fitness).
B 110110

35
Seleo
Tentativade simular o mecanismo de seleo
natural que atua sobre as espcies biolgicas;

Inteligncia Computacional - Airton Bordin Junior


Os pais mais capazes geram mais filhos
Porm, os menos aptos tambm podem gerar
descendentes.

36
Seleo
Privilegiar indivduos com funo de
avaliao alta, sem desprezar completamente
aqueles com funo de avaliao

Inteligncia Computacional - Airton Bordin Junior


extremamente baixa
At indivduos com pssima avaliao podem
ter caractersticas genticas que sejam
favorveis criao de um "super indivduo.

37
Seleo
Mtodo comum: Roleta (Roulette Whell);
Probabilidadede seleo de um cromossomo

Inteligncia Computacional - Airton Bordin Junior


diretamente proporcional sua aptido.

Cromossomo Funo x 2 % roleta

000001 1 1.6%
000011 9 14.5%
000100 16 25.8%
000110 36 58%

38
"000001" "000011" "000100" "000110"
Seleo
Outras formas utilizadas para a seleo
Dizimizao
Ordena os cromossomos de acordo com o seu valor

Inteligncia Computacional - Airton Bordin Junior


de aptido e remove um nmero fixo de
indivduos que possuem baixo valor de aptido;
Dentre os sobreviventes, escolhem-se os pais de
forma aleatria.
111011
110011
001101
000111
000011
000001 39
Seleo
Outras formas utilizadas para a seleo
Dizimizao
Ordena os cromossomos de acordo com o seu valor

Inteligncia Computacional - Airton Bordin Junior


de aptido e remove um nmero fixo de
indivduos que possuem baixo valor de aptido;
Dentre os sobreviventes, escolhem-se os pais de
forma aleatria.
111011
110011 Escolhe randomicamente
entre os indivduos que
001101
sobraram (lista ordenada)
000111
Indivduos com baixa 000011
aptido removidos
(nesse caso, n=2) 000001 40
Seleo
Outras formas utilizadas para a seleo
Torneio
Escolhe-se n (geralmente 2) indivduos

Inteligncia Computacional - Airton Bordin Junior


aleatoriamente;
O melhor selecionado;
No proporcional a aptido.
000101
110011
100110
101011
000011
101010 41
Seleo
Outras formas utilizadas para a seleo
Torneio
Escolhe-se n (geralmente 2) indivduos

Inteligncia Computacional - Airton Bordin Junior


aleatoriamente;
O melhor selecionado;
No proporcional a aptido.
000101 Indivduos selecionados
110011 aleatriamente

100110 110011
101011 000011
000011
101010 42
Seleo
Outras formas utilizadas para a seleo
Torneio
Escolhe-se n (geralmente 2) indivduos

Inteligncia Computacional - Airton Bordin Junior


aleatoriamente;
O melhor selecionado;
No proporcional a aptido.
000101 Indivduos selecionados
110011 aleatriamente Melhor indivduo to
torneio
100110 110011
110011
101011 000011
000011
101010 43
Cruzamento
Troca de segmentos entre pares de
cromossomos selecionados para originar os
novos indivduos da gerao seguinte;

Inteligncia Computacional - Airton Bordin Junior


Propagar as caractersticas positivas dos
indivduos mais aptos da populao por meio
da troca de segmentos de informaes entre os
mesmos, originando novos indivduos.

44
Cruzamento
Operador gentico predominante;
Aplicadocom taxa de probabilidade maior que

Inteligncia Computacional - Airton Bordin Junior


a taxa de mutao;
Tipos de cruzamento muito utilizados:
Cruzamento de ponto nico;
Cruzamento de ponto duplo;
Cruzamento de pontos aleatrios.

45
Cruzamento
Cadaindivduo com n genes possui n-1 pontos
de corte;

Inteligncia Computacional - Airton Bordin Junior


Em um indivduo com codificao binria,
cada bit um gene.

Gene Gene Gene ... ... ... ... ...

...

Pontos de corte
46
Cruzamento
Ponto nico Um ponto escolhido e, partir
desse ponto, as informaes genticas dos pais
sero trocadas.

Inteligncia Computacional - Airton Bordin Junior


A 000101
Pais
selecionados
B 110011

47
Cruzamento
Ponto nico Um ponto escolhido e, partir
desse ponto, as informaes genticas dos pais
sero trocadas.

Inteligncia Computacional - Airton Bordin Junior


Ponto de corte
(aleatrio)
A B

A 000101 000111
Pais Novos filhos
selecionados gerados
B 110011 110001
B A

48
Cruzamento
Pontoduplo Dois pontos so escolhidos e as
informaes genticas dos pais sero trocadas.

Inteligncia Computacional - Airton Bordin Junior


Pontos de cortes
(aleatrios)
A B A

A 000101 010001
Pais Novos filhos
selecionados gerados
B 110011 100111
B A B

49
Cruzamento
Pontosaleatrios Usa uma mscara de bits
bit 0 pega gene de um dos pais e bit 1 o
contrrio.

Inteligncia Computacional - Airton Bordin Junior


Mscara 010111
AB A B

A 000101 010011
Pais Novos filhos
selecionados gerados
B 110011 100101
BAB A

50
Mutao
Modificaes em determinadas propriedades
genticas de forma aleatria;

Inteligncia Computacional - Airton Bordin Junior


Introduo e manuteno da diversidade
gentica da populao;
Assimcomo na natureza, deve acometer uma
pequena parcela da populao
Probabilidade de 0,1% a 5% na maior parte dos
casos.

51
Mutao
Probabilidade do operador de um dos
parmetros do algoritmo gentico que pode
alterar o resultado do mesmo

Inteligncia Computacional - Airton Bordin Junior


Caso a probabilidade seja elevada, os indivduos
gerados sero pouco semelhantes aos pais.
Podemos citar: mutao aleatria e por troca.

52
Mutao
Mutao
aleatria

Indivduo A
000101

Inteligncia Computacional - Airton Bordin Junior


53
Mutao
Mutao aleatria
Ponto de
mutao

Inteligncia Computacional - Airton Bordin Junior


Indivduo A 000101

54
Mutao
Mutao aleatria
Ponto de
mutao

Inteligncia Computacional - Airton Bordin Junior


Indivduo A 000101

Indivduo A mutado 000001

55
Mutao
Mutao
por troca

Indivduo A
000101

Inteligncia Computacional - Airton Bordin Junior


56
Mutao
Mutao por troca
Pontos de troca

Inteligncia Computacional - Airton Bordin Junior


Indivduo A 000101

57
Mutao
Mutao por troca
Pontos de troca

Inteligncia Computacional - Airton Bordin Junior


Indivduo A 000101

Indivduo A mutado 100001

58
Parmetros Importantes

Tamanho da populao;

Inteligncia Computacional - Airton Bordin Junior


Taxa de cruzamento;
Taxa de mutao;
Intervalo de gerao.

59
Referncias
LUCAS, D.C. Algoritmos Genticos: Uma PARREIRAS, R. O. Algoritmos Evolucionrios e
Introduo Tcnicas de Tomada de Deciso em Anlise
Multicritrio
CARVALHO, A. P. L. Algoritmos Genticos
MANOEL, H. P. Algoritmos Genticos
ROSA, T. O.; LUZ, H. S. Conceitos Bsicos de

Inteligncia Computacional - Airton Bordin Junior

Algoritmos Genticos: Teoria e Prtica ZUBEN, F. V. Representao e Operadores


Evolutivos
PACHECO, M. A. C. Algoritmos Genticos:
Princpios E Aplicaes

NETO, S. P Computao Evolutiva: Desvendando


os Algoritmos Genticos

MIRANDA, M. N. Algoritmos Genticos:


Fundamentos e Aplicaes

CRUZ, A. J. O. Algoritmos Genticos

LIMA, E. S. Algoritmos Genticos

MONO, A. C. B. L. Uma Abordagem


Evolucionria para o Teste de Instrues SELECT
SQL com o uso da Anlise de Mutantes

60

Potrebbero piacerti anche