Vous êtes sur la page 1sur 42

Introduo Inteligencia

Computacional
Algortmo Gentico
Professora: Evelyn Oliveira
Email: evelyn1.oliveira@gmail.com

SUMRIO

Introduo
Funo de aptido
Seleo
Elitismo
Esquemas de reproduo
Operadores genticos
Aplicaes

INTRODUO
Resoluo de problemas baseado em evoluo
Darwiniana:
Quanto melhor um indivduo se adaptar ao seu meio ambiente,
maior ser sua chance de sobreviver e gerar descendentes

John Holland nos anos 60

Objetivo no era resolver problemas especficos


Desenvolver maneiras para que os mecanismos de adaptao
natural fossem importados para o sistemas de computao

CARACTERSTICAS

Os AGs so sistemas que se baseiam em:

Aptido: que utilizada para avaliar as solues


produzidas, associando a cada um a delas um a nota
Operadores Genticos:

Busca Multiderecional

CARACTERSTICAS

Solucionar problemas de otimizao e estimativa


de parmetros

Veis estocsticos

Baseado em probabilidade

Evoluir uma populao natural para uma nova


populao

Seleo Natural
Operadores inspirados na gentica

Crossover e mutao

REPRESENTAO

Cromossomo

Conjunto de Genes
0

10

23

85

20

OPERADORES GENTICOS

Crossover:

O novo indivduo criado a partir do cromossomo pai


e do cromossomo me

Mutao:

Modifica aleatoriamente algum gene do cromossomo

ASPECTOS FUNDAMENTAIS

Codificao Gentica
Procedimento para criar a soluo inicial
Funo para aptido
Operadores Genticos
Parmetros a serem utilizados durante o processo
de mutao e crossover

REPRESENTAO DOS
INDIVDUOS

Definir a maneira de estabelecer uma ponte


entre o mundo real e o espao de soluo dos
AGs
Fentipo: Soluo particular do problema
Gentipo: Sua representao no espao de busca
dos AGs
Codificao: Fentipo
Decodificao: Gentipo

Gentipo
Fentipo

CODIFICAO BINRIA

a mais usada, devido a sua simplicidade


Cromossomo uma cadeia de 0s ou 1s
0

CODIFICAO REAL

Exemplo:
10

15.6

20.6

Vantagem

No h necessidade de uma funo de decodificao

CICLO DE UM ALGORITMO
GENTICO

CICLO DE UM ALGORITMO
GENTICO

POPULAO INICIAL

Geralmente gerada aleatoriamente

Cada um indivduo representa uma possvel soluo


para o problema

FUNO DE APTIDO

Aptido do indivduo geralmente determinada pelo


clculo da funo objetivo (depende das
especificaes do projeto)
Para calcular a aptido de um indivduo, primeiramente
feito a sua decodificao.
Essa decodificao fornecer parmetros para a
computao da aptido.

FUNO DE APTIDO

Como exemplo, considere o seguinte problema:


min f(x) = (x 9)2, com x N

Considerando uma codificao binria, calcularamos a


aptido do indivduo x = 101010001 da seguinte
maneira:
decod(x)=1x28+0x27+1x26+0x25+1x24+0x23+0x22+0x21++1x20=337

FUNO DE APTIDO

Da:
aptidao_x = (337 9)2 = 107584
Podemos ver claramente que a soluo para esse
problema de otimizao (aptidao_x = 0) x = 9 ou,
utilizando a representao binria x = 000001001.

SELEO

Nos algoritmos genticos a seleo usada para


escolher indivduos mais aptos a sobreviver durante o
processo evolutivo.
Existem vrias formas de seleo, entre elas temos a
seleo proporcional aptido ou roleta e a seleo
por torneio

SELEO PROPORCIONAL APTIDO


OU SELEO POR ROLETA

A probabilidade de um indivduo i ser escolhido como


pai proporcional sua aptido e pode ser obtida
pela expresso:

Onde ai a aptido do indivduo i e Sa a soma das


aptides de todos os indivduos da populao.

EXEMPLO DE ALGORITMO PARA ESSE


PROCESSO DE SELEO:

1) Ordenar todos os indivduos em ordem crescente,


tal que aptidao_i >= aptidao_j, para todo i < j.
2) Obtenha a soma das aptides, Sa, de toda
populao.
3) Escolha um nmero aleatrio n entre 0 e Sa.
4) Retorne o primeiro elemento da populao, cuja
soma das aptides dos elementos at ele, inclusive,
maior ou igual a n.

PROBLEMAS NESSE TIPO DE


SELEO:

Convergncia Prematura, isto , indivduos que so


muito melhores que os demais dominam a populao
rapidamente.
E, quando os valores de aptido so muito parecidos,
quase no existe presso de seleo, pois as partes
da roleta referentes a cada indivduos possuem
praticamente o mesmo tamanho. Assim, a seleo
praticamente uniformemente aleatria.

SELEO POR ROLETA

A seleo proporcional aptido tipo um


sorteio realizado com o uso de uma roleta, em
que a rea de cada indivduo est associada a
sua aptido

Cromossomo 1
Cromossomo 2
Cromossomo 3
Cromossomo 4
Cromossomo 5
Cromossomo 6
Cromossomo 7
Cromossomo 8

SELEO POR POSIO

Somente a posio do elemento dentro de uma lista


ordenada (rank) utilizada.
O primeiro colocado no rank tem maior chance de
reproduo
um tipo de seleo no tem analogia na biologia

ELITISMO

Aps uma gerao de indivduos ser totalmente


substituda por outra, corre-se o risco de se perder os
melhores indivduos.
Para que isso no acontece, uma porcentagem dos
melhores indivduos da populao anterior pode ser
mantida.
Esta tcnica conhecida como elitismo.

ESQUEMA DE REPRODUO

Existem na literatura vrios esquemas de reproduo


usados em AG, os dois mais comuns so:
Esquema de reproduo Geracional e
Esquema de Reproduo Steady-state.

ESQUEMA DE REPRODUO
GERACIONAL

A populao substituda completamente ao final de


cada gerao.
A desvantagem desse mtodo a possibilidade de
perda de bons indivduos.
Para evitar que isso acontea, o elitismo pode ser
usado.

PROCEDIMENTO AG GERACIONAL
procedimento AG Geracional
Inicialize a populao P aleatoriamente
Avalie os indivduos de P
enquanto Critrio de parada no satisfeito faa
enquanto P' estiver incompleta faa
Selecione 2 pais em P
Aplique recombinao com probabilidade pc
Aplique mutao com probabilidade pm
Insira os novos indivduos em P'
fim enquanto
Avalie os indivduos de P'
Aplique elitismo (opcional)
P P'
fim enquanto
fim procedimento

ESQUEMA DE REPRODUO STEADYSTATE

Somente um indivduo gerado a cada vez.


Cada novo indivduo criado avaliado e inserido na
populao de acordo com uma poltica de insero,
que pode ser por exemplo: inserir o novo indivduo no
lugar do pior indivduo da populao; ou inserir o
indivduo na populao se sua aptido for maior que a
mdia das aptides de toda a populao

PROCEDIMENTO AG STEADY-STATE
procedimento AG Steady-state
Inicialize a populao P aleatoriamente
Avalie os indivduos de P
enquanto Critrio de parada no satisfeito faa
Selecione 2 pais em P
Aplique recombinao com probabilidade pc
Aplique mutao com probabilidade pm
Avalie o(s) novo(s) indivduo(s)
Insira o(s) novo(s) indivduo(s) em P segundo a
poltica de insero
fim enquanto
fim procedimento

OPERADORES GENTICOS

O que so?

Operaes que mudam a codificao gentica de


uma gerao para a prxima.
So responsveis pela ampla explorao do espao
de busca.
Estendem a busca at um resultado satisfatrio
So divididos geralmente entre:

Crossover
Mutao

OPERADORES BINRIOS

Crossover de um ponto

Escolha um ponto de corte


Corte e troque dois fragmentos localizados
na direita

OPERADORES BINRIOS

Crossover de dois pontos

So escolhidos 2 pontos de corte


Troca material gentico entre os pais

OPERADORES BINRIOS

Crossover uniforme

Utilizao de uma mscara ,de mesmo


tamanho com os individuos, escolhida
aleatoriamente para dezignar os bits que
sero trocados pelos pais.

MUTAO NA CODIFICAO
BINRIA.

Utilizada aps a aplicao dos


operadores de crossover
Introduz diversidade gentica na
populao
Implementada pela troca de um bit em
um indivduo.
Se o bit for 1 ele passa a ser 0 e viceversa
Cada bit modificado com uma
probabilidade P

APLICAO QUEBRA CABEA

MODELAGEM - GENE

Gene: uma possvel troca de pea

Gene:11

MODELAGEM - CROMOSSOMO

Cromossomo: um conjunto de trocas

Cromossomo:C1{}
21, 29, 36, 41,44

FUNO DE APTIDO

A aptido do indivduo calculada considerado a


distncia de cada pea sua posio correta

Possvelsoluo
C1{12,30,50}

Nmerodemovimentos:1 +1+2
Fitness:1004=96

POPULAO DE INDIVDUOS

Uma populao possui um conjunto de indivduos

C1={21,50,7,6,8}
C2={7,9,8,9,0}

...
Cn={1,8,19,9,37}

OPERADORES GENTICOS

Crossover de um ponto

C1{}
C2{}
17, 19, 49, 10, 28
12, 5, 17, 26, 38
C3{}

C4{}

OPERADORES GENTICOS

Mutao

C2{25,1,47,,10}
C1{25,1,47,,10}
13
39

REFERNCIAS

OLIVEIRA, R. S. Ajuste automtico de modelos


celulares apoiado por algoritmos genticos.
Agosto 2008. Tese Universidade Federa de Juiz
de Fora
GRIFFITHS, A. Introduo gentica. Guanabara
Koogan, 1998.
BONIN et al., Heursticas para resoluo de
problemas NP-Completo no domnio de jogos.
2007.