Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ......

52
Exemplo de Aplicação de Algoritmos Genéticos Prof. Juan Moisés Mauricio Villanueva [email protected] cear.ufpb.br/juan

Transcript of Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ......

Page 1: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

Exemplo de Aplicação de Algoritmos Genéticos

Prof. Juan Moisés Mauricio Villanueva

[email protected]

cear.ufpb.br/juan

Page 2: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

2

Estrutura do Algoritmo Genético

Algoritmo genéticoInicio

t = 0inicializar P(t)avaliar P(t)while (não cumpre a condição) fazer

t = t + 1selecionar P(t) de P(t-1)reprodução P(t)avaliar P(t)

fimfim

Page 3: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

3

Estrutura do Algoritmo Genético

• Componentes do AG:

– Representação/Codificação dos indivíduos

– População inicial

– Função de avaliação (fitness)

– Operador de Seleção

– Reprodução- operadores genéticos• Cruzamento• Mutação

Page 4: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

4

1. Representação de Indivíduos

• Cada indivíduo “cromossoma” representa um candidato potencial do problema

• Os indivíduos são codificados usando números binários de tamanho fixo.

Indivíduo 1001010101001

“B” bits

Page 5: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

5

2. População Inicial

• A população inicial é um conjunto de indivíduos gerados aleatoriamente.

População = P(t)

“B” bits

“L” indivíduos

Page 6: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

6

3. Seleção

• Consiste em escolher alguns indivíduos da população para criar descendentes.

• o objetivo da seleção consiste em privilegiar os indivíduos melhor adaptados, para criar descendentes.

População=

População Selecionada

Page 7: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

7

4. Operadores Genéticos

• O processo de reprodução gerará novos indivíduos da população selecionada.

• Os operadores genéticos representam uma fonte de diversidade e variabilidade

– Cruzamento– Mutação

Page 8: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

8

4. Operadores Genéticos

• Cruzamento– Combina dois indivíduos intercambiando suas informações genéticas– A probabilidade do cruzamento se denomina taxa de cruzamento que

varia entre 0,5 a 1.

Pais Filhos

Page 9: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

9

4. Operadores Genéticos

• Mutação– Introduze novas combinações genéticas nos indivíduos.

– A probabilidade de mutação se denominada taxa de mutação que usualmente são valores pequenos 0.01, 0.02

Page 10: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

10

Exemplo de Implementação do AG

• Minimizar a Função f=x2 para -10x10

-10 -8 -6 -4 -2 0 2 4 6 8 100

10

20

30

40

50

60

70

80

90

100

x

f=x2

Mínimo

Page 11: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

11

Exemplo de Implementação do AG

• Em problemas de Optimização, minimizar uma função f, é equivalente a maximizar uma função do tipo:

• Em que: C é uma constante

min ( ) max{ ( )}f x C f x

Page 12: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

12

Usando AG para resolver o problema

Algoritmo genéticoInicio

t = 0inicializar P(t)avaliar P(t)while (não cumpre a condição) fazer

t = t + 1selecionar P(t) de P(t-1)reprodução P(t)avaliar P(t)

fimfim

Page 13: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

13

AG para Problemas de Optimização

• Inicialmente se deve identificar:

1. O intervalo de variação da variável x

2. Construir a função de fitness:

2max{ } max{ }C f C x

a x b

2fitness C x

Page 14: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

14

AG para Problemas de Optimização

3. Se deve definir a precisão com a qual será representada a variável x:

2log 10 1Nb a Bits

N=Precisão das casas decimais

Número de Bits

Indivíduo x: 1001010101001

“B” bits

Page 15: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

15

AG para Problemas de Optimização

4. O mapeamento da representação Binaria a Decimal é dada por:

(10101...001).2 1Bits

b ax a decimal

Representação Binaria

Representação Decimal

Page 16: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

16

Representação dos Indivíduos

• Para uma precisão de 3 casas decimais N =3,

14.28

15

Bits

B

[101010011100101]Indivíduo “B=15” bits

Page 17: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

17

População Inicial

• Conjunto de Indivíduos criados Aleatoriamente

1 101010011100101

2 001010101010000

... ...

010101000111101

Individuo

IndividuoP

Individuo L

“B=15” bits

“L” indivíduos

Page 18: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

18

População Inicial

• Para uma população inicial de tamanho L=10:

População Representação Binaria

Indivíduos Representação Decimal

Page 19: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

19

Avaliação (fitness)

• Cada indivíduo terá associada sua função de fitness:

1 1

2 2

... ...

Individuo fitness

Individuo fitnessP fitness

Individuo L fitness L

Função de Fitness

2( ) ifitness i C x

Page 20: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

20

Avaliação (fitness)

2( ) 100 ifitness i x Indivíduo: x

Page 21: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

21

Seleção

( )Prob( )

fitness ii

F

1

( )L

i

F fitness i

Probabilidade de Seleção

Page 22: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

22

Seleção

651,9697F ( )Prob( )

fitness ii

F

Page 23: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

23

Seleção

Probabilidade Acumulada

Probabilidade Seleção

Page 24: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

24

Seleção

• Gera-se “L” números aleatórios

Page 25: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

25

Seleção

• Gera-se “L” números aleatórios

Page 26: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

26

Seleção

• Gera-se “L” números aleatórios

Page 27: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

27

Seleção

• Gera-se “L” números aleatórios

Page 28: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

28

Seleção

• Gera-se “L” números aleatórios

Page 29: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

29

Seleção

• Gera-se “L” números aleatórios

Page 30: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

30

Seleção

• Gera-se “L” números aleatórios

Page 31: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

31

Seleção

• Gera-se “L” números aleatórios

Page 32: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

32

Seleção

• Gera-se “L” números aleatórios

Page 33: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

33

Seleção

• Gera-se “L” números aleatórios

Page 34: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

34

Seleção

• Gera-se “L” números aleatórios

Page 35: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

35

Seleção

FitnessIndivíduos Selecionados

Índice dos indivíduos selecionados

Page 36: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

36

Seleção

Codificação dos Indivíduos Selecionados

Indivíduos Selecionados

Page 37: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

37

Operador de Cruzamento

• Se define uma probabilidade de cruzamento Pc=0.7

• Em seguida, se realiza a geração de 10 números aleatórios (r)

• Finalmente, se verifica que posições (índices) atendem a condição rPc, caso satisfeita a condição o individuo poderá ser usado na operação de cruzamento (neste caso os índices 2, 3, 4, 5, 6, 9, 10).

Par selecionado para cruzamento

Par selecionado para cruzamento

Par selecionado para cruzamento

Cumpre a condição, mas não tem parao cruzamento, portanto é descartado

Índice

Page 38: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

38

Operador de Cruzamento

• Selecionando o primeiro par para cruzamento, com índices das linhas 2 e 3

Page 39: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

39

Operador de Cruzamento

• Determinar aleatoriamente o ponto de cruzamento. Neste caso deverá ser gerado um número aleatório interior no intervalo de 1 a 14.

• Para o ponto de cruzamento igual a 5

Ponto de Cruzamento aleatório

Page 40: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

40

Operador de Cruzamento

• Após o cruzamento as linhas com índices 2 e 3 intercambiaram informações por meio da troca de bits

Ponto de Cruzamento aleatório

1 2 3 4 5

Page 41: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

41

Operador de Cruzamento

• Este procedimento será repetido para os pares com linhas (4, 5) e (6, 9)• Finalmente tem-se uma nova população modificada com o operador de

cruzamento.

Page 42: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

42

Operador de Mutação

• Se define uma probabilidade de mutação Pm=0.01• Em seguida, se realiza a geração uma matriz de 10x15 contendo números

aleatórios (r). Este tamanho corresponde ao tamanho da matriz binaria da população P.

• Em seguida, para cada número aleatório se verifica se cumpre a condição rPm, caso satisfeita a condição, o elemento da matriz P é permutado de 0 para 1 ou vice-versa.

Os elementos da matriz r, com índices (5,13) e (9,13) sofrerão mutação

Page 43: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

43

Operador de Mutação

Mutação

Page 44: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

Processo de Evolução para 1 geração

44

População Inicial

Seleção Cruzamento Mutação

Indivíduos

fitness

Page 45: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

Comparação do melhor indivíduo na população inicial com o melhor indivíduo após a mutação

45

População Inicial

Seleção Cruzamento Mutação

Indivíduos

fitness

Melhorsolução

Melhorsolução

Neste passo não é

necessário avaliar o fitness

Page 46: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

Elitismo: Substituição do melhor pelo pior

46

População Inicial

Mutação

Indivíduos

fitness

Melhorsolução

Melhorsolução

Piorsolução

Elitismo

Page 47: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

Elitismo: Substituição do melhor pelo pior

47

População Inicial

ElitismoMutação

Indivíduos

fitness

Melhorsolução

Melhorsolução

Piorsolução

Elitismo

Page 48: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

Elitismo: Substituição do melhor pelo pior

48

População Inicial

Atualização da Populaçãocom melhores indivíduosMutação

Indivíduos

fitness

Melhorsolução

Melhorsolução

Piorsolução

Elitismo

Geração t+1

Page 49: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

49

Processo de Evolução vs #Gerações• Para 40 Gerações:

Solução: x= -9.1556e-04 y=f(x) = 8.3824e-07 fitness=100

Page 50: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

50

Processo de Evolução vs #Gerações• Para 40 Gerações:

Solução: x= 3.0519e-04 y=f(x) = 9.3138-08 fitness=100

0 5 10 15 20 25 30 35 40

Número de Gerações

97

97.5

98

98.5

99

99.5

100

100.5

101

Ava

liaçã

o do

fitn

ess

Page 51: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

51

Conclusões e Observações

• O processo de evolução de um AG realiza a busca em um espaço desoluções potenciais para o problema (População).

• Os AGs são mais robustos, devido a que existe uma direção ótimano processo de busca da solução.

• Os AGs mantem populações de soluções potenciais intercambiandoinformações.

• Os AGs não garantem uma solução GLOBAL, entretanto a soluçãoobtida pode se encontrar próxima da global (solução local).

Page 52: Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] · 3,QGLYLGXR/ ª º ª º « » « » ... Microsoft PowerPoint - Aula 2c - Exemplo de AG.ppt [Modo de Compatibilidade] Author:

52

Conclusões e Observações

• A velocidade de convergência do AGs dependerá dos parâmetros deconfiguração, tais como: Tamanho da população, probabilidade decruzamento Pc, probabilidade de mutação Pm, e operação deelitismo.

• Para sair de um estagio de estagnação poderia se implementar umoperador de mutação com probabilidade Pm aumentando emfunção ao número de gerações.

• Observa-se que para cada nova execução do AGs a solução obtidatem variações assim como sua curva de convergência.