Anda di halaman 1dari 34

Algoritmos Genticos

Inteligncia Artificial
Prof. Laurence Rodrigues do
Amaral
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Este material foi baseado nas


aulas de Computao Evolutiva
ministradas pela Profa. Gina Oliveira na UFU e
No material disponibilizado por Ricardo Linden

Introduo
Algoritmos Genticos (AGs) so mtodos
computacionais de busca baseados nos
mecanismos da evoluo natural e na gentica,
simulando a teoria da seleo natural de Darwin

Prof. Laurence Rodrigues do Amaral


UFG/Jata

Introduo
Computao Evolutiva
Procedimentos de busca e otimizao, em
que o espao de busca das solues de um
problema explorado a partir de uma
amostragem aleatria de seus pontos,
utilizando um mecanismo inspirado na
evoluo biolgica.
Estes pontos sofrem operaes, anlogas s
operaes genticas, de forma a guiar a
busca para regies mais promissoras desse
espao de solues.
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Introduo
Computao Evolutiva
Algoritmos Evolutivos (AEs)
Mtodos de busca estocsticos que modelam
fenmenos naturais:
Seleo natural
Herana gentica

Metfora
Seleo Natural
Busca em cada espcie pelas adaptaes
benficas.
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Introduo
Computao Evolutiva
Principais mtodos
Algoritmos Genticos
Programao Gentica
Estratgias Evolutivas
Programao Evolutiva

Prof. Laurence Rodrigues do Amaral


UFG/Jata

Algoritmos Genticos
AGs so mtodos computacionais de busca, baseados
nos mecanismos da evoluo natural e na gentica
natural.
Eles combinam a sobrevivncia do melhor adaptado
dentre estruturas formadas por sequncias de bits, com
uma troca de informao aleatria e estruturada para
formar um algoritmo computacional com algum faro
inovador da busca humana.
Apesar de no serem determinsticos, os AGs NO so
uma simples caminhada aleatria.
Eles exploram eficientemente informaes histricas
para especular novos pontos de busca com um aumento
esperado de performance
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Algoritmos Genticos
John Henry Holland
1929 Fort Wayne, Indiana - USA
Formao
Graduao em Fsica MIT
(1950)
Mestrado em Matemtica University of Michigan (1954)
PhD em Cincia da Computao University of Michigan (1959)
Leciona nos cursos de Psicologia,
Engenharia eltrica e Cincia da
computao da Universidade de
Michigan

Livro: Adaptation in Natural and


Artificial Systems - 1975
Prof. Laurence Rodrigues do Amaral
UFG/Jata

John Henry Holland


Na Universidade de Michigan
A partir de experincias com implementaes de
RNAs, Holland percebeu um ntido elo entre a
biologia e a computao
As mquinas podiam ser levadas a adaptar-se ao meio
ambiente, tais como os seres vivos.

Potencial da evoluo como mquina adaptativa: a


evoluo , tal como a aprendizagem, uma forma de
adaptao ao meio ambiente.
Processo de faz-lo era comear de baixo
A partir de uma situao de acaso e programar nas
mquinas mecanismos inspirados na natureza. Depois,
estes mecanismos seguiriam seu prprio curso.

Modelo matemtico do processo evolutivo


Algoritmo de busca com inspirao gentica.
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Algoritmos Genticos
David E. Goldberg
1953 Graduao (1975),
mestrado (1976) e Phd.
(1983) em Eng. Civil pela
University of Michigan
Foi orientado no Phd. por E.
Benjamin Wylie and John
Henry Holland
Professor na University of
Illinois
Livro: Genetic Algorithms in
Search, Optimization and
Machine Learning - 1989.
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Princpios dos AGs


AGs realizam uma busca no-determinista
baseada na abstrao do conceito de evoluo
Classificao
Os AGs fazem parte dos mtodos probabilsticos
de busca e otimizao
Obs: Um algoritmo probabilstico um algoritmo que
utiliza a probabilidade como parte de sua lgica.
Diferente dos algoritmos convencionais, um algoritmo
probabilstico, dada uma mesma sequncia de
entrada, no necessariamente leva a um mesmo
estado final.
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Algoritmos evolucionrios como


tcnicas de busca
Tcnicas de Busca

Aleatrias-Guiadas

Baseadas em Clculo

Algoritmos Evolucionrios

Estratgias Evolucionrias

Resfriamento Simulado

Algoritmos Genticos

Paralelos

Prof. Laurence Rodrigues do Amaral


UFG/Jata

Enumerativas

Seqenciais

Programao Gentica

AGs
Populaes de indivduos so criados e submetidos aos
operadores genticos:
Seleo
Recombinao (crossover)
Mutao.

Estes operadores utilizam uma caracterizao da


qualidade de cada indivduo como soluo do problema
em questo chamada de avaliao
Geram um processo de evoluo natural destes
indivduos
Eventualmente gerar um indivduo que caracterizar
uma boa soluo (talvez at a melhor possvel) para o
nosso problema.
Prof. Laurence Rodrigues do Amaral
UFG/Jata

AGs
AGs no so mtodos de "hill climbing", logo
eles no ficaro estagnados simplesmente pelo
fato de terem encontrado um mximo local.
Eles se parecem com a evoluo natural, que s
por que encontrou um indivduo que
instantaneamente o melhor de um certo grupo
no pra de procurar outros indivduos ainda
melhores.
Na evoluo natural isto tambm decorre de
circunstncias que mudam de um momento
para outro.
Prof. Laurence Rodrigues do Amaral
UFG/Jata

AGs
A evoluo natural no um processo dirigido
obteno da soluo tima.
O processo simplesmente consiste em fazer
competir uma srie de indivduos e pelo
processo de sobrevivncia do mais apto, os
melhores indivduos tendem a sobreviver.
Um AG tem o mesmo comportamento que a
evoluo natural: a competio entre os
indivduos que determina as solues obtidas.
Prof. Laurence Rodrigues do Amaral
UFG/Jata

AGs
Assim como na natureza, a informao deve ser
codificada nos cromossomos (ou genomas)
A reproduo, que no caso dos AGs,
equivalente reproduo sexuada, se
encarregar de fazer com que a populao
evolua.
A mutao cria diversidade, mudando
aleatoriamente genes dentro de indivduos.
A reproduo e a mutao so aplicadas em
indivduos selecionados dentro da nossa
populao.
Prof. Laurence Rodrigues do Amaral
UFG/Jata

AGs - Terminologia
Nos sistemas naturais um ou mais
cromossomos se combinam para formar as
caractersticas genticas bsicas do indivduo
em questo.
Na rea dos AGs, os termos cromossomo e
indivduo so intercambiveis, sendo usados de
forma razoavelmente aleatria neste texto.
Como a representao binria dominante em
vrios dos textos bsicos da rea, muitas vezes
pode-se escrever string (de bits) significando o
mesmo que cromossomo
Prof. Laurence Rodrigues do Amaral
UFG/Jata

AGs - Terminologia
Linguagem natural

AG

cromossomo
gene

indivduo, string, cromossomo,


rvore
caracterstica

alelo

valor

locus

posio

gentipo

estrutura

fentipo

conjunto de parmetros

Prof. Laurence Rodrigues do Amaral


UFG/Jata

AGs - Caractersticas
AGs trabalham com uma grande populao de pontos,
sendo uma heurstica de busca no espao de solues.
Um AG diferencia-se dos esquemas enumerativos pelo
fato de no procurar em todos os pontos possveis, mas
sim em um (qui pequeno) subconjunto destes pontos.
AGs diferenciam-se de esquemas aleatrios por serem
uma busca que utiliza informao pertinente ao
problema e no trabalham com caminhadas aleatrias
(random walks) pelo espao de solues.
AGs trabalham com uma forma codificada dos
parmetros a serem otimizados e no com os
parmetros propriamente ditos .
Prof. Laurence Rodrigues do Amaral
UFG/Jata

AGs
Conceitos Importantes
Indivduo
Cada ponto no espao de busca do
problema, representado no sistema por uma
estrutura representando seu cromossomo,
uma cadeia de smbolos de tamanho fixo ou
varivel.

Prof. Laurence Rodrigues do Amaral


UFG/Jata

Indivduo
Representao binria
1 0 0 1 1 1 0 0

Representao mista

Prof. Laurence Rodrigues do Amaral


UFG/Jata

AGs
Conceitos Importantes
Aptido: os indivduos na populao
corrente so avaliados atravs de uma
medida de desempenho que indica o quo
prximo um indivduo est de ser a
soluo do problema.
1 0 0 1 1 1 0 0

Prof. Laurence Rodrigues do Amaral


UFG/Jata

=> Aptido = 4

AGs
Conceitos Importantes
Nova populao: Baseado nestas
avaliaes, solues candidatas so
formadas, utilizando-se quatro operadores
genticos:
Seleo
Crossover
Mutao
Reinsero
Prof. Laurence Rodrigues do Amaral
UFG/Jata

I1 1 1 0
I2 1 0 1
I3 1 0 0
I4 1 1 0
I5 1 0 1

0
1
1
1
1

1
1
1
1
1

0
1
0
1
1

0
0
0
1
0

0
1
0
0
0

AGs
Conceitos Importantes
Seleo:
Selecionar quais pais sero selecionados
para o crossover (reproduo)
Roleta (roulette)
I1 1 1 0
I2 1 1 1
I3 0 0 0
I4 1 1 1

0
1
1
0

1
1
1
0

0
1
0
0

0
0
0
1

Prof. Laurence Rodrigues do Amaral


UFG/Jata

0
1
0
0

Seleo

Truncamento
Ranking
Amostragem Universal Estocstica
Torneio Estocstico

Prof. Laurence Rodrigues do Amaral


UFG/Jata

Crossover

Prof. Laurence Rodrigues do Amaral


UFG/Jata

Crossover
P1 1 1 0 0 1 0 0 0
P4 1 1 1 0 0 1 1 0
PC = 4 (sorteado)

P1 1 1 0 0 1 0 0 0
P4 1 1 1 0 0 1 1 0
P1

P4

F1 1 1 0 0 0 1 1 0
F2 1 1 1 0 1 0 0 0
Prof. Laurence Rodrigues do Amaral
UFG/Jata

P4

P1

Mutao
Taxa de mutao
I4 1 1 1 0 0 0 1 0
Sorteio do gene = 6

I4 1 1 1 0 0 1 1 0

Prof. Laurence Rodrigues do Amaral


UFG/Jata

Reinsero
Elitismo
Onde somente o melhor indivduo da
populao pai sobrevive

Melhores Pais e Filhos


Onde se misturam pais e filhos e os N
melhores sobrevivem

Prof. Laurence Rodrigues do Amaral


UFG/Jata

Geraes: o processo
se repete por vrias
iteraes at que se
atinja uma condio
de trmino

Prof. Laurence Rodrigues do Amaral


UFG/Jata

Aplicao
Construda pelos alunos do grupo de
Inteligncia Artificial da UFG/Jata,
coordenado pelo Prof. Laurence R. do
Amaral
Alcy Pereita Dutra Filho
Andre Bevilaqua
Fabricio Alves Rodrigues
Reslley Gabriel Oliveira Silva
Thamer Horbylon Nascimento
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Aplicao
Indivduo:
Cadeia de uns e zeros
Tamanho do indivduo: 1.000 genes

Funo de avaliao ou aptido: soma os valores de


uns do indivduo
Melhor indivduo: aquele que possuir o maior nmero
de uns
Tamanho da populao: 20 indivduos
Seleo: Roleta e Torneio Estocstico
Crossover: 1 ponto de corte
Mutao: 30%
Reinsero: Melhores pais e filhos
Nmero de geraes: 25.000
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Concluses
AG uma tcnica de busca com as seguintes
caractersticas positivas, que fazem com que
eles devam ser considerados:

Paralela
Global
No totalmente aleatrio
No afetada por descontinuidades na funo ou em
suas derivadas
Capaz de lidar com funes discretas e contnuas
Boas tcnicas para atacar problemas de busca com
espaos de busca intratavelmente grandes, que no
podem ser resolvidos por tcnicas tradicionais.
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Concluses
Se voc tem um algoritmo com tempo de
execuo longo o suficiente para soluo de um
problema, ento no h nenhuma necessidade
de se usar um algoritmo evolucionrio.
Sempre d prioridade aos algoritmos exatos
Os algoritmos evolucionrios entram em cena
para resolver aqueles problemas cujos
algoritmos so extraordinariamente lentos
(problemas NP-completos) ou incapazes de
obter soluo (como por exemplo, problemas de
maximizao de funes multi-modais).
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Concluses
Algoritmos genticos so bons para abordar
espaos de buscas grandes (potencialmente
imensos) e naveg-los, procurando por
combinaes timas de coisas, solues que
talvez no fossem encontradas em uma busca
mesmo que esta durasse o tempo de toda uma
vida"
- Salvatore Mangano (Computer Design, Maio
1995)
Prof. Laurence Rodrigues do Amaral
UFG/Jata

Anda mungkin juga menyukai