Memetic Algorithm Using Local Search BitClimber Tiago do Carmo Nogueira Profa. Dra. Juliana Saragiotto Silva Metodolo Meto dologia gia Cient Cien t´ıfica Especializa¸c˜ c˜ ao ao em Redes Rede s e Computa¸ Comp uta¸c˜ ao Distribu´ıda Instituto Federal de Mato Grosso
26 de Agosto de 2017
Sum´ ario
1 Introdu¸c˜ ao 2 Alg Algoritm oritmoo Mem´ Me m´etico eti co - Comp Compara¸ ara¸c˜ coes o˜es
Algoritmos Vari´avei aveiss de Entr Entrad adaa 3 Experimentos
Dados de Teste 4 Conclus˜ oes oes
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Introdu¸c˜ ao
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Introdu¸c˜ ao Algori Al goritm tmos os Me Mem´ m´ eticos etic os Algoritm Algori tmos os mem´ mem´etic eticos os tˆem em elem elemen ento toss de Me Meta ta-h -heu eurr´ısti ıstica cass e Inteli Inteligˆ gˆencia encia Computa Comp utacio cional nal;; Embora Emb ora os algoritm alg oritmos os mem´eticos eticos tenham tenham princ´ princ´ıpios ıpi os de Algoritmos Evolutivos, eles podem po dem n˜ao ao ser estritamente considerado consi deradoss uma t´ecnica ecnic a evolutiva; evolut iva; Algoritm Algori tmos os mem´ mem´etic eticos os tˆem em seme semelh lhan an¸cas c¸as funcionais com Algoritmos Evolutivos de Baldwinian, Algoritmos Evolutivos de Lamarckian, Lamarcki an, Algoritmos Algoritmo s Evolutivos Evoluti vos H´ıbridos e Algoritmos Algoritmo s Culturais (Brownlee, 2011).
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Introdu¸c˜ ao
Inspira¸c˜ ao Alg oritmos Algoritm os mem´eticos eticos s˜ao ao inspir inspirado adoss pela intera int era¸c˜ c¸˜ao entr en tree a evolu¸c˜ c˜ao ge gen´ n´etica e evol vo luc¸˜ao mem´etica; O Darwinismo Darwinism o Universal Univer sal ´e a generaliza gener aliza¸c˜ c¸˜ao ao dos dos ge gene ness al´ al´em em dos do s sistemas biol´ ogicos ogicos `a qualquer sistema em que as unidades discretas de informa¸c˜ c˜ao ao possam pos sam ser herdadas herda das e serem submetidas a for¸cas cas evolutivas de sele¸c˜ c˜ao ao e var varia¸ iac¸˜ao;
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Introdu¸c˜ ao Inspira¸c˜ ao A palavra ”meme” deu origem `a denomina¸c˜ao mem´etico, introduzida por R. Dawkins; ´ usado para se referir a um peda¸co E co de informa¸c˜ c˜ao cult cu ltur ural al discreto, sugerindo a intera¸c˜ c˜ao ao da evol ev olu¸ u¸c˜ c˜ao ao ge gen´ n´etica ti ca e cul cu ltura tu ral;l; “Exemplos de memes s˜ ao ao melodias, ideias, frases de efeito, modas de roupa, modos de fabrica¸c˜ c˜ ao ao de panelas panela s ou de arcos de edif´ edif´ıcio. 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 salta ndo de c´ erebro erebro em c´ erebro erebro mediante mediant e um processo process o que, no sentido amplo da palavra, pode ser chamado de imita¸ c˜ ao”.
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Introdu¸c˜ ao
Met´ afor ora a A informa¸c˜ c˜ao ao cult cultur ural al ´e co compar mparti tilh lhad adaa entr entree os indi indivv´ıduo ıduos, s, se espalhando pela popula¸c˜ c˜ao ao como como memes meme s em rela¸ rel a¸c˜ao `a sua aptid˜ao ao ou a aptid˜ao ao dos memes transmitind trans mitindo o para os indiv´ıduos; Coletivamente, a intera¸c˜ c˜ao ao do ge gen notipo o´tipo e o meme´otipo otipo fortalecem fortalec em a aptid˜ao ao da popula¸ pop ula¸c˜ c˜ao ao no ambi ambien ente te..
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Introdu¸c˜ ao
Estrat´egia O objetivo da estrat´egia egia de processamento de informa¸ c˜ao ´e explorar explorar uma t´ ecnica ecnica de pesquisa global de base populacional para localizar amplamente boas ´areas areas do espa¸co co de busca, combinados com o uso repetido de uma heur´ heur´ıstica de busca local; Idealmente, Ideal mente, os algoritmos mem´eticos etico s abra¸cam cam a dualidade da evolu¸c˜ c˜ao ao ge gen´ n´etic eticaa e cult cultur ural al,, permi ermiti tind ndo o a tran transmi smiss˜ ss˜ao, ao, sele¸c˜ c˜ao, heranca c¸a e varia¸c˜ c˜ao ao dos memes, assim como dos genes.
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Introdu¸c˜ ao
Motiva¸c˜ coes ˜ Problemas complexos podem ser decompostos em subproblemas, os quais podem po dem ser resolvidos com m´ etodos etodos apropriados para cada um deles; Pode-se obter melhores resultados quando se possui conhecimento conhec imentoss espec esp ec´´ıficos sobre o problema; Algoritmos Algoritmo s evolutivos evolut ivos n˜ao ao s˜ao ao bons bo ns para encontrar encon trar a solu¸c˜ao ´otima dos problemas, visto que a sua evolu¸c˜ao se d´a de otima mane maneir iraa esto estoc´ c´asti astica ca..
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Introdu¸c˜ ao
Motiva¸c˜ coes ˜ Deste modo, pode-se melhorar o algoritmo incorporando um passo de busca local; A combina¸c˜ c˜ao ao de algoritm algoritmos os evoluti evol utivos vos com t´ecnica ecnicass de busca busca local que atuam dentro do la¸co co de execu¸c˜ c˜ao ao dos dos AEs AEs ou entreg entregam am conhec conhecime imento nto espec esp ec´´ıfico ıfic o para alguma algumass instˆ instˆancias ancias dos problema probl emas, s, s˜ao ao chamad cha mados os de Alg Algoritm oritmos os Mem´eticos eticos..
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Introdu¸c˜ ao
Figure: Flu Figure: Fluxogra xograma ma do Algoritmo Algoritm o Gen´etico. etico .
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Introdu¸c˜ ao
Figure: Flu Figure: Fluxogra xograma ma do Algoritmo Algoritm o Mem´etico. etico.
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Introdu¸c˜ ao
Operador de busca local A introdu¸c˜ cao ˜ao de um ou mais operadores de busca local resulta na transm tra nsmiss˜ iss˜ao ao de informa¸ inf orma¸c˜ coes o˜es mem´ mem´etic eticas as;; Portanto, a introdu¸c˜ cao ˜ao 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 n˜ao ao executarem de maneira igual em todas as gera¸c˜ c˜oes. oes.
Memetic Algorithm Using Local Search BitClimber Introdu¸c˜ ao
Pseudo C´ odigo odigo
Memetic Algorithm Using Local Search BitClimber Algoritmo Mem´ etico - Compara¸c˜ etico coes o ˜es
Algorit Alg oritmo mo Mem´etic etico o - Compara Compara¸¸c˜ coes o ˜es
Memetic Algorithm Using Local Search BitClimber Algoritmo Mem´ etico - Compara¸c˜ etico coes o ˜es Algoritmos
Vari´avei aveiss de Entr Entrad ada a
Vari´ Vari ´ av eiss e Val avei Valore ores s Algoritmo Evolutivo: Evolut ivo: Algoritmo Gen´etico; etico ; Sele¸c˜ c˜ao ao de Pais: Pai s: M´eto et odo de Tornei orneio o Bi Bin´ n´ario ar io;; Algoritmo de Busca Local: BitClimber.
Memetic Algorithm Using Local Search BitClimber Algoritmo Mem´ etico - Compara¸c˜ etico coes o ˜es Vari´aveis avei s de Entr Entrada ada
Vari´avei aveiss de Entr Entrad ada a Vari´ Vari ´ av eiss e Val avei Valore ores s Gera¸c˜ c˜oes: oes: 50; Popula¸c˜ c˜ao: 10 1000; Crossover: 98%; Muta¸c˜ao: 1/QtdVar ∗ 16; c˜ao: ao : 6,25 6, 25%; %; QtdVar = 1 - Muta¸c˜ c˜ao: ao : 3,13 3, 13%; %; QtdVar = 2 - Muta¸c˜ c˜ao: ao : 2,08 2, 08%; %; QtdVar = 3 - Muta¸c˜
Gera¸c˜ c˜oes oes AM: 50; Probabilidade AM: 50%; Rodadas de execu¸c˜ao do codigo: o´digo: 25;
Memetic Algorithm Using Local Search BitClimber Experimentos
Experimentos
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
Fun¸c˜ coes o ˜es Utilizadas Para os Testes
Par Par´ ab ola: y = x 2
Sujeito a −5 ≤ x i i ≤ 5. O m´ınimo ınimo glo global bal est´a lo local caliza izado do em f (x ) = 0. Vazo: f (x , y ) = x 4 + y 4 + x 3 + y 3 + x 2 + yr + x 1 + y 1
Com m´ınimos globais globai s de 0 em (x , y ) = (0, (0, 0)
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
Fun¸c˜ coes o ˜es Utilizadas Para os Testes
Easom: f (x 1 , x 2 ) = −cos (x 1 )cos (x 2 )exp (−(x 1 − π )2 − (x 2 − π )2 )
Com Com m´ınim ın imo o glob global al f (x ) = −1 ´e obti obtido do para para (x 1 , x 2 ) = (π, π). π ). Rosenbrock: D 1 [100(x i i +1 − x i 2 )2 + (x i i − 1)2 ] i =1 −
Sujeito a −30 ≤ x i i ≤ 30. O m´ınimo ıni mo glo global bal est´a lo local caliza izado do em (1, ..., 1), f (x ∗) = 0. x ∗ = f (1,
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
Fun¸c˜ coes o ˜es Utilizadas Para os Testes
Eggholder: m 1 = i =1 [−(x i i +1 + 47)sin |x 1+1 47|| f (x ) 1+1 + x i i /2 + 47 -xi sin |xi − (x i + + 1 + 47)| 47)|] −
Sujeito a 512 ≤ x i i ≤ 512. O m´ınimo ınimo global glob al est´a lo local caliza izado do em x = f (512, (512, 404 404..2319). f (x ) ≈ 959 959..64 64... ∗
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
10
×
10
Custo Computacional (AG)
8
9 8 7 ) s s e n t i f ( o ã ç a i l a v A
6 5 4 3 2 1 0 0
0.5
1
1.5
2
2.5
3
Calculo da quantidade de fitness
12
×
10
×
10
7
×
10
7
Custo Computacional (AM)
8
10
) s s e n t i f ( o ã ç a i l a v A
8
6
4
2
0 0
1
2
3
4
Calculo da quantidade de fitness
5
6
7
8
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval av alia ia¸c˜ c¸˜ao ao do AG e do AM (Vazo).
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval av alia ia¸c˜ c¸˜ao ao do AG e do AM (Vazo).
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
Histograma AG versus AM
1
AG AM
0.9 0.8 0.7
) s s e0.6 n t i f ( o0.5 ã ç a i l 0.4 a v A
0.3 0.2 0.1 0 0
5
10
15
20
25
30
F(x, y)
25 ghist.AG ghist.AM
20
) s s e15 n t i f ( o ã ç a i l a10 v A
5
0 0
5
10
15
20
25
30
35
40
45
50
Gerações por Rodadas (steps)
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval av alia ia¸c˜ c¸˜ao ao do AG e do AM (Vazo).
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
Custo Computacional (AG)
250
200
) s s 150 e n t i f ( o ã ç a i l 100 a v A
50
0 0
0.5
1
1.5
2
2.5
3
Calculo da quantidade de fitness
×
10
7
×
10
7
Custo Computacional (AM)
250
200
) s s 150 e n t i f ( o ã ç a i l 100 a v A
50
0 0
1
2
3
4
Calculo da quantidade de fitness
5
6
7
8
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval av alia ia¸c˜ c¸˜ao ao do AG e do AM (Par´abol ab ola) a)..
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval av alia ia¸c˜ c¸˜ao ao do AG e do AM (Par´abol ab ola) a)..
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
2
×
Histograma AG versus AM
108
AG AM
1.8 1.6
) s s e n t i f (
o ã ç a i l a v A
1.4 1.2 1 0.8 0.6 0.4 0.2 0 0
1
2
3
4
5
6
7
F(x, y)
5.5
×
×
10-8
10-8 ghist.AG ghist.AM
5 4.5 4
) s s e3.5 n t i f ( o 3 ã ç a i l a2.5 v A
2 1.5 1 0.5 0
5
10
15
20
25
30
35
40
45
50
Gerações por Rodadas (steps)
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval av alia ia¸c˜ c¸˜ao ao do AG e do AM (Par´abol ab ola) a)..
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste Custo Computacional (AG)
0.02
0
-0.02
) -0.04 s s e n t i f (
-0.06
o ã ç a i l a v -0.08 A
-0.1
-0.12
-0.14 0
0.5
1
1.5
2
2.5
3
Calculo da quantidade de fitness
×
10
7
×
10
7
Custo Computacional (AM)
0.02
0
-0.02
) -0.04 s s e n t i f (
-0.06
o ã ç a i l a v -0.08 A
-0.1
-0.12
-0.14 0
1
2
3
4
Calculo da quantidade de fitness
5
6
7
8
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval avalia ia¸c˜ c¸˜ao do AG e do AM (Easom).
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval avalia ia¸c˜ c¸˜ao do AG e do AM (Easom).
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste Histograma AG versus AM
12
AG AM
10
) s s e n t i f (
o ã ç a i l a v A
8
6
4
2
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 ) s s e n-0.06 t i f ( o ã ç a i l -0.08 a v A
-0.1
-0.12
-0.14 0
5
10
15
20
25
30
35
40
45
50
Gerações por Rodadas (steps)
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval avalia ia¸c˜ c¸˜ao do AG e do AM (Easom).
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
7
×
10
Custo Computacional (AG)
9
6
5 ) s s e 4 n t i f ( o ã ç a i l 3 a v A
2
1
0 0
0.5
1
1.5
2
2.5
3
Calculo da quantidade de fitness
7
×
10
×
10
7
×
10
7
Custo Computacional (AM)
9
6
5 ) s s e 4 n t i f ( o ã ç a 3 i l a v A
2
1
0 0
1
2
3
4
Calculo da quantidade de fitness
5
6
7
8
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval av alia iac˜ c˜ao ao do AG e do AM (Ro (Rosenbro brock).
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval av alia iac˜ c˜ao ao do AG e do AM (Ro (Rosenbro brock).
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste Histograma AG versus AM
1.4
AG AM
1.2
1 ) s s e n0.8 t i f ( o ã ç a i 0.6 l a v A
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
) s s1.5 e n t i f ( o ã ç a i l a v A
1
0.5
0 0
5
10
15
20
25
30
35
40
45
50
Gerações por Rodadas (steps)
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval av alia iac˜ c˜ao ao do AG e do AM (Ro (Rosenbro brock).
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste Custo Computacional (AG)
3000
2000
1000 ) s s e n t i f ( o ã ç a i l a v A
0
-1000
-2000
-3000 0
0.5
1
1.5
2
2.5
3
Calculo da quantidade de fitness
×
10
7
×
10
7
Custo Computacional (AM)
3000
2000
1000 ) s s e n t i f ( o ã ç a i l a v A
0
-1000
-2000
-3000 0
1
2
3
4
Calculo da quantidade de fitness
5
6
7
8
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval avalia ia¸c˜ c¸˜ao ao do AG e do AM (Eg (Egg Hold older).
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval avalia ia¸c˜ c¸˜ao ao do AG e do AM (Eg (Egg Hold older).
Memetic Algorithm Using Local Search BitClimber Experimentos Dados de Teste Histograma AG versus AM
0.25
AG AM
0.2
0.15 s s e n t i F
0.1
0.05
0 -2850
-2800
-2750
-2700
-2650
-2600
F(x, y)
-2640 ghist.AG ghist.AM
-2660 -2680 -2700 ) s s -2720 e n t i f ( o-2740 ã ç a i l a-2760 v A
-2780 -2800 -2820 -2840 0
5
10
15
20
25
30
35
40
45
50
Gerações por Rodadas (steps)
Figure: Compara¸ Figure: Compara¸c˜ c˜ao ao da aval avalia ia¸c˜ c¸˜ao ao do AG e do AM (Eg (Egg Hold older).
Memetic Algorithm Using Local Search BitClimber Conclus˜ oes oes
Conclus˜ oes oes
Memetic Algorithm Using Local Search BitClimber Conclus˜ oes oes
Conclus˜ oes oes
Conclus˜ oes sobre os Algoritmo Algoritmoss Mem´ eticos eticos Maior esfor¸co co computacion comput acional al que os Algoritmos Algoritmo s Gen´eticos; eticos ; Fornecem melhores resultados; Convergem Conver gem mais r´apido apido para o resultado. resul tado.
Memetic Algorithm Using Local Search BitClimber Bibliografia Bibliografia Bibliogr afia de referˆencia encia
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.