Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do...
Transcript of Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do...
![Page 1: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/1.jpg)
Unidade VIIAlgoritmos Genéticos
Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná
UNIOESTE - 2000
![Page 2: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/2.jpg)
2
1. Introdução
• 1.1 O que são Algoritmos Genéticos?– São algoritmos de busca baseados no
mecanismo de seleção natural e genética.– Utilizam a representação das soluções através
de cadeias de bits (strings), que são modeladas à maneira das cadeias de DNA dos seres vivos orgânicos.
– Foram desenvolvidos por John Holland na Universidade de Michigan.
![Page 3: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/3.jpg)
3
1. Introdução
• 1.2 Objetivos do algoritmo original proposto por Holland– Criar uma abstração para explicar
rigorosamente o processo adaptativo dos sistemas naturais
– Projetar sistemas de software artificial que conservassem os mecanismos mais importantes dos sistemas naturais.
![Page 4: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/4.jpg)
4
1. Introdução
• Principais características dos sistemas biológicos:
• Auto-reparo
• Auto-orientação
• Reprodução
• Aprendizado
• Evolução
– Obs: Estas características nem sempre encontram-se presentes nos sistemas artificiais
![Page 5: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/5.jpg)
5
1. Introdução
• 1.3 Algoritmos Genéticos X algoritmos tradicionais de Otimização e Busca– Métodos de busca:
• Matemáticos (calculus-based)
• Enumerativos
• Randômicos
![Page 6: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/6.jpg)
6
1. Introdução
– Métodos Matemáticos: Estão divididos em duas classes principais:
• Métodos indiretos– buscam extremos locais pela solução de sistemas de
equações usualmente lineares, partindo da assertiva de que os extremos encontram-se no ponto onde o gradiente da função tem valor zero
• Métodos diretos– Realizam a busca caminhando sobre a função na direção
apontada pelo gradiente local (hill climbing - subida de encosta)
![Page 7: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/7.jpg)
7
1. Introdução
– Características dos Métodos Matemáticos:• São de escopo local: O ponto ótimo deve estar
localizado na vizinhança do ponto corrente.
• São dependentes da existência de derivadas (gradiente)
![Page 8: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/8.jpg)
8
Exemplo:Máximo Global
Máximo Local
Mínimo Global
![Page 9: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/9.jpg)
9
1. Introdução
• Métodos Enumerativos– Existe uma grande variedade de métodos
enumerativos– Sua estratégia geral é:
• Dado um espaço de busca finito ou um espaço de busca infinito discretizado, procurar pelos valores da função objetivo em todos os pontos do espaço.
– Tem aplicabilidade apenas em espaços de busca reduzidos
![Page 10: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/10.jpg)
10
1. Introdução
– Otimização• A Otimização busca melhorar a performance em
direção a algum ponto (ou pontos) ótimo(s)
• Esta definição pode ser dividida em:– 1) Melhoramento da performance de alguma abordagem
– 2) Localização do “Ponto Ótimo”
![Page 11: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/11.jpg)
11
1. Introdução– Diferenças entre Algoritmos Genéticos e métodos
Tradicionais• GA´s trabalham com uma codificação do conjunto de
parâmetros, não com os próprios parâmetros
• GA´s realizam a busca sobre uma população de pontos, não sobre um único ponto
• GA´s utilizam a informação do resultado da função objetivo, não derivadas ou qualquer outro conhecimento auxiliar
• GA´s usam regras de transição probabilísticas, não regras determinísticas.
![Page 12: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/12.jpg)
12
1. Introdução
• 1.4.Exemplo de um Algoritmo Genético simples– População Inicial: Strings de 5 bits
• 01101 f(x) = x2 >> 132 = 169
• 11000 f(x) = x2 >> 242 = 576
• 01000 f(x) = x2 >> 82 = 64
• 10011 f(x) = x2 >> 192 = 361
![Page 13: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/13.jpg)
13
1. IntroduçãoOperadores aplicáveis
Seleção: Versão artificial do mecanismo de seleção natural de Charles Darwin: princípio da “sobrevivência dos mais fortes (adaptados)”Cruzamento: Versão artificial do mecanismo de reprodução biológica, em que criaturas da mesma espécie acasalam-se e dão origem à uma nova criaturaMutação: Versão artificial do fenômeno de alteração do código genético que ocorre nos seres vivos
![Page 14: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/14.jpg)
14
1. Introdução
Nº String Fitness % do total
1 01101 169 14,4
2 11000 576 49,2
3 01000 64 5,5
4 10011 361 30,9
Total ----- 1170 100,0
![Page 15: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/15.jpg)
15
1. Introdução
– Implementação do mecanismo de seleção (Selection):
• Seleção aleatória através do algoritmo chamado “Roleta”
– Este mecanísmo consiste em dividir o intervalo [0, fitness_total] em regiões baseadas na porcentagem de cada fitness individual
![Page 16: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/16.jpg)
16
14%
49%
5%
31%
1. Introdução
1
2 3
4
0|100
0,14
0,63
0,63
Seleção por “Roleta”
![Page 17: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/17.jpg)
17
1. Introdução
– Implementação do Mecanismo de Cruzamento (Cross Over):
• Após a seleção aleatória dos pares, uma posição aleatória de “corte”, dentro da string de bits é selecionada, e o cruzamento é efetuado, gerando dois novos indivíduos.
![Page 18: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/18.jpg)
18
1. Introdução
A = 0 1 1 0 1B = 1 1 0 0 0
A1 = 0 1 1 0 0B1 = 1 1 0 0 1
Pai
Mãe
Filho 1
Filho 2
Indice de corte = 3
Cruzamento (Cross Over)
![Page 19: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/19.jpg)
19
1. Introdução
– Implementação do Mecanismo de Mutação (Mutation)
• Após o cruzamento, os filhos podem sofrer alterações no seu código genético, chamadas de mutações.
• Estas podem ocorrer em um ou mais alelos (bits), de acordo com uma probabilidade pré-estabelecida.
– Em virtude da probabilidade de mutação ser, geralmente baixa nos seres vivos, ela desempenha um papel secundário na evolução das espécies.
![Page 20: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/20.jpg)
20
1. IntroduçãoA1 = 0 1 1 0 0 Cromossomo
Original
Prob. de mutação = 1% = 0,01
A1 = 0 1 0 0 0
I = 1, M = rand() =0,3Sem mutação
I = 1, M = rand() = 0,5Sem mutação
I = 1, M = rand() = 0,002Mutação
I = 1, M = rand() = 0,2Sem mutação
I = 1, M = rand() = 0,45Sem mutação
Após Mutação
![Page 21: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/21.jpg)
21
1. Introdução
• 1.5 Padrões (templates) de Similaridade (Schematas)– Schemas: Padrões de similaridade que
descrevem um subconjunto de strings que são similares em certas posições.
• Exemplo:– Seja o alfabeto dos cromossomos = {0,1}
– Adiciona-se mais um símbolo (*) à este alfabeto = {0,1,*}, onde * é um simbolo “don´t care”
![Page 22: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/22.jpg)
22
1. Introdução
• Seja então a seguinte população:
• {01110,01111,11110,11111}– Schema 1: ****0
– Strings: {01110,11110}
– schema 2: ***1*
– Strings: {01110,01111,11110,1111}
– Schema 3: {**0*1}
– Strings: {}
– Schema 4: {*1*10}
– Strings: {01110,11110}
![Page 23: Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000.](https://reader034.fdocuments.net/reader034/viewer/2022051413/552fc0f8497959413d8b4b53/html5/thumbnails/23.jpg)
23
1. IntroduçãoVocabulário
Genética Natural Genética Artificial
Cromossomos StringsGenótipo (conjunto de Cromossomos
de um indivíduo)Estruturas (conjuntos de strings)
Fenótipo (organismo formado pelainteração da carga genética com o
meio ambiente)
Decodificação da estrutura em umconjunto de parâmetros que formam
uma solução em particularGenes (elementos que compõem os
cromossomos, são formados porsequências de DNA)
Parte de uma string que codifica umdeterminado parâmetro
Alelos (proteínas que compõem o DNA) Cada um dos bits que compõem aString de uma estrutura
Meio-Ambiente Função Objetivo (Fitness)