Sunteți pe pagina 1din 39

Memetic Algorithm Using Local Search

BitClimber

Tiago do Carmo Nogueira

Profa. Dra. Juliana Saragiotto Silva


Metodologia Cientfica
Especializacao em Redes e Computacao Distribuda
Instituto Federal de Mato Grosso

26 de Agosto de 2017
Sumario

1 Introducao

2 Algoritmo Memetico - Comparacoes


Algoritmos
Variaveis de Entrada

3 Experimentos
Dados de Teste

4 Conclusoes
Memetic Algorithm Using Local Search BitClimber
Introducao

Introducao

Introducao 1/37
Memetic Algorithm Using Local Search BitClimber
Introducao

Introducao

Algoritmos Memeticos

Algoritmos memeticos tem elementos de Meta-heursticas e


Inteligencia Computacional;
Embora os algoritmos memeticos tenham princpios de
Algoritmos Evolutivos, eles podem nao ser estritamente
considerados uma tecnica evolutiva;
Algoritmos memeticos tem semelhancas funcionais com
Algoritmos Evolutivos de Baldwinian, Algoritmos Evolutivos
de Lamarckian, Algoritmos Evolutivos Hbridos e Algoritmos
Culturais (Brownlee, 2011).

Introducao 2/37
Memetic Algorithm Using Local Search BitClimber
Introducao

Introducao

Inspiracao

Algoritmos memeticos sao inspirados pela interacao entre a


evolucao genetica e evolucao memetica;
O Darwinismo Universal e a generalizacao dos genes alem dos
sistemas biologicos a qualquer sistema em que as unidades
discretas de informacao possam ser herdadas e serem
submetidas a forcas evolutivas de selecao e variacao;

Introducao 3/37
Memetic Algorithm Using Local Search BitClimber
Introducao

Introducao

Inspiracao

A palavra meme deu origem a denominacao memetico,


introduzida por R. Dawkins;
E usado para se referir a um pedaco de informacao cultural
discreto, sugerindo a interacao da evolucao genetica e cultural;
Exemplos de memes sao melodias, ideias, frases de efeito,
modas de roupa, modos de fabricacao de panelas ou de arcos
de edifcio. Da mesma maneira que genes se propagam na
piscina de genes saltando de corpo em corpo por espermas ou
ovos, assim memes se propagam na piscina de memes
saltando de cerebro em cerebro mediante um processo que, no
sentido amplo da palavra, pode ser chamado de imitacao.

Introducao 4/37
Memetic Algorithm Using Local Search BitClimber
Introducao

Introducao

Metafora
A informacao cultural e compartilhada entre os indivduos, se
espalhando pela populacao como memes em relacao a sua
aptidao ou a aptidao dos memes transmitindo para os
indivduos;
Coletivamente, a interacao do genotipo e o memeotipo
fortalecem a aptidao da populacao no ambiente.

Introducao 5/37
Memetic Algorithm Using Local Search BitClimber
Introducao

Introducao

Estrategia

O objetivo da estrategia de processamento de informacao e


explorar uma tecnica de pesquisa global de base populacional
para localizar amplamente boas areas do espaco de busca,
combinados com o uso repetido de uma heurstica de busca
local;
Idealmente, os algoritmos memeticos abracam a dualidade da
evolucao genetica e cultural, permitindo a transmissao,
selecao, heranca e variacao dos memes, assim como dos genes.

Introducao 6/37
Memetic Algorithm Using Local Search BitClimber
Introducao

Introducao

Motivacoes

Problemas complexos podem ser decompostos em


subproblemas, os quais podem ser resolvidos com metodos
apropriados para cada um deles;
Pode-se obter melhores resultados quando se possui
conhecimentos especficos sobre o problema;
Algoritmos evolutivos nao sao bons para encontrar a solucao
otima dos problemas, visto que a sua evolucao se da de
maneira estocastica.

Introducao 7/37
Memetic Algorithm Using Local Search BitClimber
Introducao

Introducao

Motivacoes

Deste modo, pode-se melhorar o algoritmo incorporando um


passo de busca local;
A combinacao de algoritmos evolutivos com tecnicas de busca
local que atuam dentro do laco de execucao dos AEs ou
entregam conhecimento especfico para algumas instancias
dos problemas, sao chamados de Algoritmos Memeticos.

Introducao 8/37
Memetic Algorithm Using Local Search BitClimber
Introducao

Introducao

Figure: Fluxograma do Algoritmo Genetico.

Introducao 9/37
Memetic Algorithm Using Local Search BitClimber
Introducao

Introducao

Figure: Fluxograma do Algoritmo Memetico.

Introducao 10/37
Memetic Algorithm Using Local Search BitClimber
Introducao

Introducao

Operador de busca local

A introducao de um ou mais operadores de busca local resulta


na transmissao de informacoes memeticas;
Portanto, a introducao de uma busca local em um AG, resulta
em um AM;
Os operadores de busca local podem ser executados com
diferentes probabilidades, de forma a nao executarem de
maneira igual em todas as geracoes.

Introducao 11/37
Memetic Algorithm Using Local Search BitClimber
Introducao

Pseudo Codigo

Introducao 12/37
Memetic Algorithm Using Local Search BitClimber
Algoritmo Memetico - Comparacoes

Algoritmo Memetico - Comparacoes

Algoritmo Memetico - Comparacoes 13/37


Memetic Algorithm Using Local Search BitClimber
Algoritmo Memetico - Comparacoes
Algoritmos

Variaveis de Entrada

Variaveis e Valores
Algoritmo Evolutivo: Algoritmo Genetico;
Selecao de Pais: Metodo de Torneio Binario;
Algoritmo de Busca Local: BitClimber.

Algoritmo Memetico - Comparacoes 14/37


Memetic Algorithm Using Local Search BitClimber
Algoritmo Memetico - Comparacoes
Variaveis de Entrada

Variaveis de Entrada

Variaveis e Valores
Geracoes: 50;
Populacao: 100;
Crossover: 98%;
Mutacao: 1/QtdVar 16;
QtdVar = 1 - Mutacao: 6,25%;
QtdVar = 2 - Mutacao: 3,13%;
QtdVar = 3 - Mutacao: 2,08%;
Geracoes AM: 50;
Probabilidade AM: 50%;
Rodadas de execucao do codigo: 25;

Algoritmo Memetico - Comparacoes 15/37


Memetic Algorithm Using Local Search BitClimber
Experimentos

Experimentos

Experimentos 16/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Funcoes Utilizadas Para os Testes

Parabola:
y = x2
Sujeito a 5 xi 5. O mnimo global esta localizado em
f (x) = 0.
Vazo:
f (x, y ) = x 4 + y 4 + x 3 + y 3 + x2 + yr + x 1 + y 1
Com mnimos globais de 0 em (x, y ) = (0, 0)

Experimentos 17/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Funcoes Utilizadas Para os Testes

Easom:
f (x1 , x2 ) = cos(x1 )cos(x2 )exp((x1 )2 (x2 )2 )
Com mnimo global f (x) = 1 e obtido para (x1 , x2 ) = (, ).
Rosenbrock:
PD1 2 2 2
i=1 [100(xi+1 xi ) + (xi 1) ]
Sujeito a 30 xi 30. O mnimo global esta localizado em
x = f (1, ..., 1), f (x) = 0.

Experimentos 18/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Funcoes Utilizadas Para os Testes

Eggholder:
= m1
P p
f (x) p i=1 [(xi+1 + 47)sin |x1+1 + xi /2 + 47|
-xi sin |xi (xi + 1 + 47)|]
Sujeito a 512 xi 512. O mnimo global esta localizado em
x = f (512, 404.2319). f (x ) 959.64..

Experimentos 19/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

10 8 Custo Computacional (AG)


10

Avaliao (fitness) 7

0
0 0.5 1 1.5 2 2.5 3
Calculo da quantidade de fitness 10 7

10 8 Custo Computacional (AM)


12

10

8
Avaliao (fitness)

0
0 1 2 3 4 5 6 7 8
Calculo da quantidade de fitness 10 7

Figure: Comparacao da avaliacao do AG e do AM (Vazo).


Experimentos 20/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Figure: Comparacao da avaliacao do AG e do AM (Vazo).

Experimentos 21/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Histograma AG versus AM
1
AG
0.9 AM

0.8

0.7
Avaliao (fitness)

0.6

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25 30
F(x, y)

25
ghist.AG
ghist.AM

20
Avaliao (fitness)

15

10

0
0 5 10 15 20 25 30 35 40 45 50
Geraes por Rodadas (steps)

Figure: Comparacao da avaliacao do AG e do AM (Vazo).

Experimentos 22/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Custo Computacional (AG)


250

200
Avaliao (fitness)

150

100

50

0
0 0.5 1 1.5 2 2.5 3
Calculo da quantidade de fitness 10 7

Custo Computacional (AM)


250

200
Avaliao (fitness)

150

100

50

0
0 1 2 3 4 5 6 7 8
Calculo da quantidade de fitness 10 7

Figure: Comparacao da avaliacao do AG e do AM (Parabola).

Experimentos 23/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Figure: Comparacao da avaliacao do AG e do AM (Parabola).

Experimentos 24/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

108 Histograma AG versus AM


2
AG
1.8 AM

1.6

1.4
Avaliao (fitness)

1.2

0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7
F(x, y) 10-8

10-8
5.5
ghist.AG
5 ghist.AM

4.5

4
Avaliao (fitness)

3.5

2.5

1.5

0.5
0 5 10 15 20 25 30 35 40 45 50
Geraes por Rodadas (steps)

Figure: Comparacao da avaliacao do AG e do AM (Parabola).

Experimentos 25/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Custo Computacional (AG)


0.02

-0.02

-0.04
Avaliao (fitness)

-0.06

-0.08

-0.1

-0.12

-0.14
0 0.5 1 1.5 2 2.5 3
Calculo da quantidade de fitness 10 7

Custo Computacional (AM)


0.02

-0.02

-0.04
Avaliao (fitness)

-0.06

-0.08

-0.1

-0.12

-0.14
0 1 2 3 4 5 6 7 8
Calculo da quantidade de fitness 10 7

Figure: Comparacao da avaliacao do AG e do AM (Easom).


Experimentos 26/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Figure: Comparacao da avaliacao do AG e do AM (Easom).


Experimentos 27/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Histograma AG versus AM
12
AG
AM

10

8
Avaliao (fitness)

0
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
F(x, y)

0
ghist.AG
ghist.AM
-0.02

-0.04
Avaliao (fitness)

-0.06

-0.08

-0.1

-0.12

-0.14
0 5 10 15 20 25 30 35 40 45 50
Geraes por Rodadas (steps)

Figure: Comparacao da avaliacao do AG e do AM (Easom).


Experimentos 28/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

10 9 Custo Computacional (AG)


7

Avaliao (fitness)
4

0
0 0.5 1 1.5 2 2.5 3
Calculo da quantidade de fitness 10 7

10 9 Custo Computacional (AM)


7

5
Avaliao (fitness)

0
0 1 2 3 4 5 6 7 8
Calculo da quantidade de fitness 10 7

Figure: Comparacao da avaliacao do AG e do AM (Rosenbrock).


Experimentos 29/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Figure: Comparacao da avaliacao do AG e do AM (Rosenbrock).


Experimentos 30/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Histograma AG versus AM
1.4
AG
AM
1.2

1
Avaliao (fitness)

0.8

0.6

0.4

0.2

0
-0.5 0 0.5 1 1.5 2 2.5
F(x, y)

2.5
ghist.AG
ghist.AM

2
Avaliao (fitness)

1.5

0.5

0
0 5 10 15 20 25 30 35 40 45 50
Geraes por Rodadas (steps)

Figure: Comparacao da avaliacao do AG e do AM (Rosenbrock).


Experimentos 31/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Custo Computacional (AG)


3000

2000

1000
Avaliao (fitness)

-1000

-2000

-3000
0 0.5 1 1.5 2 2.5 3
Calculo da quantidade de fitness 10 7

Custo Computacional (AM)


3000

2000

1000
Avaliao (fitness)

-1000

-2000

-3000
0 1 2 3 4 5 6 7 8
Calculo da quantidade de fitness 10 7

Figure: Comparacao da avaliacao do AG e do AM (Egg Holder).


Experimentos 32/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Figure: Comparacao da avaliacao do AG e do AM (Egg Holder).


Experimentos 33/37
Memetic Algorithm Using Local Search BitClimber
Experimentos
Dados de Teste

Histograma AG versus AM
0.25
AG
AM

0.2

0.15
Fitness

0.1

0.05

0
-2850 -2800 -2750 -2700 -2650 -2600
F(x, y)

-2640
ghist.AG
-2660 ghist.AM

-2680

-2700
Avaliao (fitness)

-2720

-2740

-2760

-2780

-2800

-2820

-2840
0 5 10 15 20 25 30 35 40 45 50
Geraes por Rodadas (steps)

Figure: Comparacao da avaliacao do AG e do AM (Egg Holder).


Experimentos 34/37
Memetic Algorithm Using Local Search BitClimber
Conclusoes

Conclusoes

Conclusoes 35/37
Memetic Algorithm Using Local Search BitClimber
Conclusoes

Conclusoes

Conclusoes sobre os Algoritmos Memeticos

Maior esforco computacional que os Algoritmos Geneticos;


Fornecem melhores resultados;
Convergem mais rapido para o resultado.

Conclusoes 36/37
Memetic Algorithm Using Local Search BitClimber
Bibliografia
Bibliografia de referencia

Bibliografia I

Brownlee, Jason.
Clever Algorithms: Nature-Inspired Programming Recipes.
Jason Brownlee, 2011.
Neri, Ferrante e Cotta, Carlos.
Memetic algorithms and memetic computing optimization: A
literature review.
Swarm and Evolutionary Computation, 2012.

Bibliografia 37/37

S-ar putea să vă placă și