Sie sind auf Seite 1von 58

Aula 09 – Prof.

Murilo Naldi
Na aula anterior...
 Vimos que alguns processos de busca
possuem como objetivo encontrar
soluções cada vez melhores para um
determinado problema
 Ou seja, sair de um determinado estado
em busca de um estado melhor
 Exemplos: algoritmos de subida de
encosta e têmpera simulada

2
Subida de encosta
 Consiste em mudar sempre para uma
solução melhor do que anterior,
segundo uma determinada heurística

3
Têmpera Simulada
 Escolhe o próximo estado aleatoriamente com
o objetivo de escapar de mínimos locais
 Utiliza um parâmetro de temperatura T

4
Algoritmos Evolutivos (AEs)
 Também aplicados em problemas de
busca por soluções melhores.
 Inspirado na “Teoria da Evolução” de
Charles Darwin.
 Na natureza todos os indivíduos dentro
de um ecossistema competem entre si
por recursos.

5
Algoritmos Evolutivos
 Indivíduos de uma espécie pouco aptos
possuem menor chance de gerar prole
 Essa descendência reduzida faz com
que suas características possuam uma
menor probabilidade de serem
propagadas
 O contrário ocorre com os indivíduos
mais aptos!

6
Legal, mas e daí?
 Imagine que um possível estado, ou
seja, uma solução para o problema
possa ser representado como um
indivíduo
 Nesse caso, um conjunto de soluções é
uma população
 A ideia é aplicar a seleção natural como
processo de busca por soluções
melhores

7
Visão Geral

8
Indivíduo
 Na natureza, as características dos
indivíduos são codificadas em genes
 Um conjunto específico de genes é
chamado de genótipo.
 O genótipo é a base do fenótipo, que é
a expressão das características físicas e
mentais codificadas pelos genes.

9
Indivíduo em um AE
 Genótipo é composto por um cromossomo,
ou seja, vetores de números:

Binários
Inteiros
Reais

 Fenótipo é a forma que o genótipo é


aplicado para solucionar o problema

10
Exemplo
 Considere o problema de produção da aula
anterior (só que um pouco mais desafiador).
 O lucro dado pelas quantidades x1, x2 e x3
de três determinados produtos, construídos
por segundo, é dado por uma função f(∙) em
centenas de reais.
 Exemplo:
i ={x1 = 4, x2 = 2, x3 = 7}, f(i) = 0,05
 ou seja, se produzo 4 unidades do produto 1, 2
do produto 2 e 7 do produto 3, tenho 5 reais de
lucro

11
Genótipo do exemplo
 Se i é uma possível solução do problema,
podemos codificar essa solução em um
genótipo, ou seja, em um cromossomo.
 Por exemplo, uma sequência de números
inteiros:

12
Fenótipo do exemplo
 O fenótipo está relacionado com o resultado
que a solução i, representada pelo genótipo ci,
consegue obter.
 Funções são utilizadas para medir quão bom
é um resultado.
 Quanto melhor o resultado, mais apta está a
solução.
 Por esse motivo, chamamos a função
utilizada para avaliar um indivíduo como
função de aptidão.

13
Exemplo
 Consideremos o indivíduo i ={x1 = 4, x2 = 2,
x3 = 7}. O resultado de se gerar produtos
nas quantidades especificadas por i é o
lucro f(i).
 Podemos então utilizar a função de lucro
para avaliar soluções/indivíduos e,
portanto, como função de aptidão
 A aptidão de i então será f(i) = 0,05

14
População
 Para aplicar seleção natural é preciso
que haja uma população, ou seja, um
conjunto de indivíduos
 Cada indivíduo representa uma solução
 É importante que haja diversidade entre
os indivíduos, especialmente no início
do algoritmo, para que a busca possa
ocorrer em diferentes locais do espaço
de soluções (estados).

15
População Inicial

16
População Inicial
 É a primeira população do AE

 Existem diversos métodos para a escolha


de indivíduos para a população inicial,
dentre eles:
Soluções de potencial conhecido
Soluções utilizadas anteriormente
Soluções aleatórias
Uma mistura das opções anteriores

17
Exemplo
 Considere os três estados a seguir, de forma
que cada um seja uma possível solução para o
problema de produção.

 Escolhidos aleatoriamente, essa será nossa


população inicial para o problema do lucro
18
Avaliação

19
Avaliação
 Todas os indivíduos gerados em um AE
devem ser avaliados
 Afinal, é necessário saber quão apto é
cada indivíduo
 Uma vez avaliados, os indivíduos
podem ser comparados entre si
 Essencial para aplicar seleção natural

20
Exemplo
 Vamos supor que a função que calcula o
lucro seja esta a seguir:

2
x 1 −2 x 1 x 2 + x 2 x 3
f ( i )= 3
x3 + x1

 Logo, podemos calcular a aptidão de cada


indivíduo da nossa população por meio
dessa função!

21
Exemplo
 Calculando a aptidão de cada indivíduo
temos que:

 Veja que a primeira solução resulta em um


lucro maior e a última em prejuízo
22
Seleção

23
Seleção
 Depois que avaliamos todos os indivíduos
da população, devemos gerar uma nova
população

 Para isso, é preciso selecionar indivíduos


baseados em sua aptidão

 Os genes dos indivíduos mais aptos


possuem maior probabilidade de seleção.
24
Seleção Proporcional
 Este tipo de seleção é proporcional a
aptidão dos indivíduos da população
 A probabilidade de seleção de um indivíduo
de uma população de tamanho |P| é igual à:

f (ci )
pi = | P|

 f (c )
j 1
j

25
Seleção Proporcional
 Podemos comparar a seleção
proporcional como uma roleta em que a
fatia correspondente a cada indivíduo
segue pi
 Conceitualmente, uma probabilidade é
dada por um valor positivo entre 0 e 1
 Por esse motivos, os valores devem ser
tratados antes de serem usados

26
Exemplo
 Voltemos para as aptidões dos
cromossomos f(c1)= 0,0310, f(c2)= 0,0179
e f(c3)= -0,0081
 Não podemos ter probabilidades
negativas e queremos dar chance a todos
 Uma possibilidade consiste em normalizar
os dados para um novo intervalo de
valores

27
Normalização
 Consiste em transportar dados que estão
em um intervalo para o outro mantendo a
mesma proporção entre eles
 Para normalizar um número x que está no
intervalo [menor1,maior1] para o intervalo
[menor2,maior2] usamos:

maior2  menor2
n( x) = ( x  menor1 )   menor2
maior1  menor1
28
Exemplo
 Vamos normalizar os valores das
aptidões do intervalo [-0,0081, 0,0310]
para o intervalo [1,10] por exemplo

29
Exemplo
 Agora podemos calcular as probabilidades
de selecionar cada indivíduo da população

30
Seleção Determinística
 Método de Torneio
Primeiramente, os indivíduos são
sorteados aleatoriamente e comparados
entre si
Em seguida, é selecionado o indivíduo
que possui maior
aptidão dentre os
dois comparados

31
Seleção Determinística
 (μ,φ) : Os μ melhores indivíduos são
selecionados para gerar φ descendentes.

 (μ+φ) : Os μ melhores indivíduos são


selecionados para gerar φ descendentes.
Adicionalmente, os indivíduos
selecionados também são copiados para
a próxima geração

32
Operadores Genéticos

33
Operadores Genéticos
 Operadores genéticos são responsáveis
pela modificação dos cromossomos ao
longo das gerações
 São os responsáveis pela busca de
novas soluções
 Podem ser guiados ou não
 Quando guiados, utilizam algum tipo de
heurística que influência (guia) a forma
como são utilizados

34
Operadores Genéticos
 Vamos estudar dois tipos de
operadores genéticos:
Cruzamento ou recombinação

Mutação

35
Cruzamento
 Os indivíduos selecionados são cruzados
dois a dois
 O cruzamento ou recombinação combina
características dos indivíduos selecionados
para gerar novos indivíduos
 A ideia é obter indivíduos melhores
 Algoritmos evolutivos que possuem
cruzamento são chamados de algoritmos
genéticos

36
Cruzamento
 Os indivíduos selecionados são
chamados de progenitores
 Os indivíduos gerados são chamados
de descendentes
 O cruzamento mais simples consiste
em trocar os cromossomos de um par
de progenitores em um determinado
ponto

37
Exemplo
 Sejam os cromossomos c1 e c2 selecionados
para cruzamento

 Em um determinado ponto (aleatório ou não) os


cromossomos de c1 e c2 são trocados para dar
origem a c4 e c5
38
Cruzamento e busca
 Cruzar soluções tem como objetivo gerar
novas soluções que possuem características
dos progenitores

39
Mutação
 Modifica parte do cromossomo
(aleatoriamente ou por heurística), de modo
a gerar uma nova característica no indivíduo
que não foi recebida de seus progenitores
 Objetiva gera soluções inéditas
 A taxa de mutação é o parâmetro que define
a probabilidade de um cromossomo sofrer
mutação

40
Exemplo
 Considere que o descendente c4 foi
selecionado para a mutação
 Parte do seu cromossomo foi alterada
aleatoriamente para gerar uma
característica nova

41
Mutação e busca
 Aplicar mutação é equivalente a fazer a
busca evolutiva “saltar” para outro ponto
no espaço do soluções

42
Elitismo
 Os operadores de cruzamento e mutação
alteram os indivíduos de uma população
para outra
 Essa alteração nem sempre melhora a
população
 Por isso, é interessante manter um
conjunto com o(s) melhor(es) indivíduo(s)
de uma população para outra
 Essa prática é chamada elitismo

43
Nova População

44
Nova População
 Depois que os indivíduos da população
anterior são selecionados e os
operadores evolutivos são aplicados,
uma nova geração é formada
 A partir da nova população, todo o
processo é aplicado novamente
 Cada ciclo completo do AE é chamado
de geração

45
Critérios de parada
 Em algum ponto da execução do AE é
preciso que ele pare
 Não há regra estabelecida para todos os
casos
 Exemplos:
Convergência da população
Número máximo de gerações
Limite de gerações sem melhora

46
Convergência da população
 Mesmo com um bom operador de mutação,
com o passar das gerações, determinadas
características avaliadas como as mais
aptas tendem a dominar a população
 Esse processo é chamado de
convergência da população
 Uma população converge quando há pouca
diversidade entre seus indivíduos
 Parar o AE quando isso ocorre é uma
prática comum
47
Número máximo de gerações
 O AE termina quando um determinado
número de gerações for alcançado
 Esse número deve ser pré-estabelecido
com cuidado
 Se subestimado, o AE pode terminar antes
de encontrar boas soluções
 Se superestimado, o tempo de execução
poderá ser alto e o AE pode executar
muitas gerações sem melhora

48
Limite de gerações sem melhora
 Consiste em impor ao AE um limite de
gerações das quais não haja aumento da
maior aptidão encontrada entre os
indivíduos das populações
 Assim como o número máximo de
gerações, esse limite também deve ser
estabelecido com cautela
 Entretanto, esse limite possui maior relação
com a convergência da população do que o
critério anterior

49
População Final

50
População Final
 A população final é o resultado do AE
 Se elitismo foi aplicado, é nela que estará a
melhor solução encontrada
 Caso contrário, é recomendado armazenar
o indivíduo mais apto fora das populações
 A população final pode ser analisada por
um especialista do domínio, de forma à
permitir a seleção de alguns de seus
indivíduos

51
Funcionamento do AE
 Para permitir uma visualização do
funcionamento do AE, considere a
função a seguir
 Duas variáveis são combinadas

52
Funcionamento do AE
 Considere o seguinte
corte, em que as regiões
mais altas estão
coloridas em tons de
vermelhos e as mais
baixas em tons de azul
 O objetivo é encontrar os
picos mais altos (maiores
valores)

53
Exemplo: População Inicial
 Inicialmente, os indivíduos
representam soluções
distantes, sorteadas no
espaço de busca
 Cada um será avaliado e
as características dos mais
aptos terão maior chance
de serem mantidas nas
gerações futuras

54
Exemplo: Otimização
 Com o passar das
gerações, os indivíduos
se aproximam cada vez
mais dos pontos mais
altos, a medida que
aptidão da população
vai se aprimorando

55
Exemplo: População Final
 É esperado que nas
populações finais os
indivíduos representem
as melhores soluções
ou, ao menos, soluções
próximas das melhores

56
Agradecimentos

 Parte do material utilizado nesta aula foi


cedido pelo professor André C.P.L.F. de
Carvalho e, por esse motivo, o crédito
deste material é dele

82
Bibliografia
 LINDEN, R. Algoritmos Genéticos.
Brasport. 2008

 RUSSEL, S. and NORVIG, P.


Inteligência Artificial: uma abordagem
moderna. Editora Campus, 2003

83

Das könnte Ihnen auch gefallen