1. Problema das 8 Rainhas 2. Algoritmo Genético 3. AG aplicado nas 8 rainhas 4. Exercício: Coloração de Mapas - Aula 8 Sii1 Aula9 AlgoritmosGeneticos

18 

Full text

(1)

Prof. Frederico Brito Fernandes

asper@fredbf.com

Algoritmos

Genéticos

1. Problema das 8 Rainhas

2. Algoritmo Genético

3. AG aplicado nas 8

rainhas

(2)

Objetivo: colocar 8 rainhas no tabuleiro, de forma que

elas não se ataquem

7

4

1

2

3

5

6

8

Idéia 1

: colocar uma rainha

em cada coluna

(3)

Objetivo: colocar 8 rainhas no tabuleiro, de forma que

elas não se ataquem

6

5

4

3

2

1

7

8

Idéia 1

: colocar uma rainha

em cada coluna

Idéia 2

: tentar livrar a

rainha

1

de ataque

Impossível!

(4)

Objetivo: colocar 8 rainhas no tabuleiro, de forma que

elas não se ataquem

Idéia 1

: colocar uma rainha

em cada coluna

Idéia 2

: tentar livrar a

rainha

1

de ataque

Impossível!

Retroceder (

estado raiz

)

Idéia 3

: tentar livrar a rainha

2 do ataque das anteriores

Técnica conhecida como

relaxamento do problema

(heurística)

6

5

4

3

2

1

7

8

(5)

Objetivo: colocar 8 rainhas no tabuleiro, de forma que

elas não se ataquem

6

5

4

3

2

1

7

8

Idéia 1

: colocar uma rainha

em cada coluna

Idéia 2

: tentar livrar a

rainha

1

de ataque

Impossível!

Retroceder (

estado raiz

)

Idéia 3

: tentar livrar a rainha

2 do ataque das anteriores

Técnica conhecida como

relaxamento do problema

(heurística)

Idéia 4

: repetir para o resto

(6)

       

Espaço de estados muito grande e heurística fraca

Qual desses estados é o melhor? (

maior nº de pares de rainhas que

não se atacam

)

               

23

24

26

A

B

D

Função do melhor estado (

função fitness

): tenta encontrar

um estado mais próximo do final

F(A) = 23

F(B) = 24

F(C) = 21

F(D) = 26

       

21

C

(7)

E se cruzássemos os melhores estados? (B e D)

B

D

(8)

E se cruzássemos os melhores estados? (B e D)

D

B

F(

Filho(BD)

) = 56 (máximo, estado ótimo)

Filho(BD)

(9)

Publicados inicialmente em 1975 pelo professor Jonh

Holland, da Universidade de Michigam

OBJETIVO

São algoritmos de busca e otimização baseados em

mecanismos de seleção natural e estruturas genéticas

TERMINOLOGIA

Indivíduo ou Cromossomo

Estado

População

Conjunto de estados

Seleção

Escolha probabilística de alguns estados

Pareamento

Estados são distribuídos em pares (pais)

Crossover

Pais são mesclados para gerar filhos

Mutação

Algum bit do filho é modificado

(10)

(1)

Definição de um indivíduo

(2)

Geração aleatória

da população

(3)Seleção

(4) Pareamento

(5) Crossover

(6) Mutação

(7)

Nova

População

Simulação do Algoritmo Genético

Função Objetivo

(11)

(1)

Definição de um indivíduo

(2)

Geração aleatória

da população

(3)Seleção

(4) Pareamento

(5) Crossover

(6) Mutação

(7)

Nova

População

Simulação do Algoritmo Genético

        Função Objetivo

Definição de um indivíduo

7 6 5 4 3 2 1 0

A

(1)

• O indivíduo (ou cromossomo) deve ser codificado em uma string de tamanho fixo e um conjunto finito de gene

Ex:

Gene={B,C} Tam = 8

A

=

7 5 2 0

4 6 1 3

Ex

1

:

Gene={0,..,7} Tam=8

A

= 111 101 010 000

100 110 001 011

Ex

2

:

Gene={0,1} Tam=8

B C C B C C B B

(12)

(1)

Definição de um indivíduo

(2)

Geração aleatória

da população

(3)Seleção

(4) Pareamento

(5) Crossover

(6) Mutação

(7)

Nova

População

Simulação do Algoritmo Genético

Função Objetivo

Geração da População

(2)

• Devemos produzir um conjunto de indivíduos de forma aleatória

Ex:

Por motivos didáticos, essa é a representação dos estados do slide 7 dessa

apresentação

A =

B =

C =

D =

7 2 0 5 3 1 5 0

7 5 2 0 4 6 1 3

6 4 1 3 5 7 0 3

6 4 0 6 1 7 0 5

A =

B =

C =

D =

111 010 000 101 011 001 101 000

111 101 010 000 100 110 001 011 110 100 001 011 101 111 000 011 110 100 000 110 001 111 000 101

Cuidado ao gerar uma população que

só tenha 0’s ou 1’s

Solução: gerar metade da população e depois pegar essa metade, inverter os bits para gerar a segunda metade (processo de diversificação)

(13)

(1)

Definição de um indivíduo

(2)

Geração aleatória

da população

(3)Seleção

(4) Pareamento

(5) Crossover

(6) Mutação

(7)

Nova

População

Simulação do Algoritmo Genético

Função Objetivo

Seleção

(3)

(a) Função Objetivo (~%)

F(A) = 23

24,4%

F(B) = 24

25,5%

F(C) = 21

22,3%

F(D) = 26

27,7%

(b) Seleção

A 24%

B 26% C

22% D 28%

Escolhidos:

A, D, B, A

Duas abordagens:

(1) Seleção Probabilística Simples: um ponteiro (2) Amostragem Universal Estocástica: n ponteiros

(14)

(1)

Definição de um indivíduo

(2)

Geração aleatória

da população

(3)Seleção

(4) Pareamento

(5) Crossover

(6) Mutação

(7)

Nova

População

Simulação do Algoritmo Genético

Função Objetivo

Pareamento

(4)

• Os indivíduos escolhidos são dispostos aleatoriamente dois a dois, para se reproduzirem

A =

B =

A =

D =

111 010 000 101 011 001 101 000

111 101 010 000 100 110 001 011 110 100 001 011 101 111 000 011

111 010 000 101 011 001 101 000

• Observe que o indivíduo C não foi escolhido no processo de SELEÇÃO anterior

(15)

(1)

Definição de um indivíduo

(2)

Geração aleatória

da população

(3)Seleção

(4) Pareamento

(5) Crossover

(6) Mutação

(7)

Nova

População

Simulação do Algoritmo Genético

Função Objetivo

Crossover

(5)

• Processo pelo qual os filhos gerados possuem partes do cromossomo dos pais

 Em geral, um filho tem 50% dos cromossomos de cada pai

A =

B =

A =

D =

111 010 000 101 011 001 101 000

111 101 010 000 100 110 001 011 110 100 001 011 101 111 000 011

111 010 000 101 011 001 101 000 111 010 000 101 101 111 000 011 110 100 001 011 011 001 101 000

AB

1

=

AB

2

=

AD

1

=

AD

2

=

111 101 010 000 011 001 101 000 111 010 000 101 100 110 001 011

• Espera-se que os filhos gerados tenham maior capacidade de adaptação ao ambiente (melhor Função Objetivo)

(16)

(1)

Definição de um indivíduo

(2)

Geração aleatória

da população

(3)Seleção

(4) Pareamento

(5) Crossover

(6) Mutação

(7)

Nova

População

Simulação do Algoritmo Genético

Função Objetivo

Mutação

(6)

• Processo pelo qual os bits dos filhos (em pequena probabilidade) são invertidos

• Objetivos:

• Acelerar a busca

• Recuperar parte do código genético perdido

111 010 000 101 101 111 000 011 110 100 001 011 011 001 101 000

AB

1

=

AB

2

=

AD

1

=

AD

2

=

111 101 010 000 011 001 101 000 111 010 000 101 100 110 001 011 110 100 001 011 111 001 101 000

AB

2

=

(17)

(1)

Definição de um indivíduo

(2)

Geração aleatória

da população

(3)Seleção

(4) Pareamento

(5) Crossover

(6) Mutação

(7)

Nova

População

Simulação do Algoritmo Genético

Função Objetivo

Nova População

(7)

• Uma nova população é gerada

111 010 000 101 101 111 000 011 110 100 001 011 111 001 101 000

AB

1

=

AB

2

=

AD

1

=

AD

2

=

111 101 010 000 011 001 101 000 111 010 000 101 100 110 001 011

• Verifica-se se o indivíduo de maior adaptabilidade possível se encontra, ou seja, que possua a Função Objetivo máxima

• Caso contrário, continua-se executando o ciclo até um determinado número de voltas

(18)

Conclusões

Outros processos de seleção: Elitismo

Empregado com Redes Neurais, para selecionar a

topologia ideal

Útil quando empregado em um problema com um

grande espaço de soluções

Figure

Updating...

References

Updating...

Download now (18 pages)