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

Post on 16-Apr-2015

110 views 0 download

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

Unidade VIIAlgoritmos 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.

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.

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

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

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)

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)

8

Exemplo:Máximo Global

Máximo Local

Mínimo Global

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

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”

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.

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

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

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

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

16

14%

49%

5%

31%

1. Introdução

1

2 3

4

0|100

0,14

0,63

0,63

Seleção por “Roleta”

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.

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)

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.

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

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”

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}

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)