Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do...

23
Unidade VII Algoritmos Genéticos Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná UNIOESTE - 2000

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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)