algoritmos genéticos

27
GRIS Algoritmos Genéticos Cecília Reis [email protected]

Upload: ceciliareis

Post on 12-Jun-2015

326 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Algoritmos Genéticos

GRIS

Algoritmos Genéticos

Cecília [email protected]

Page 2: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 2

Programa

Conceitos BásicosIntroduçãoFuncionamento Geral de um AGParametrização de um AGAvaliação e AptidãoSelecçãoOperadores de Cruzamento e de Mutação

Page 3: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 3

Programa

Caso Prático: Síntese de Circuitos Combinatórios com Algoritmos Genéticos

IntroduçãoAlgoritmo GenéticoResultados da SimulaçãoComparação dos ResultadosAnálise da Escalabilidade

Page 4: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 4

Conceitos Básicos:Introdução

Baseiam-se na teoria da evolução natural das espécies;Cada solução para um problema é entendida como um indivíduo de uma população;Os indivíduos são representados por cromossomas;As populações vão evoluindo com base na reprodução, admitindo-se que ocasionalmente possam sugir mutações;O processo repete-se até se chegar a um indivíduo (solução) que apresente as características mínimas pretendidas ou até que um limite temporal imponha o fim do algoritmo.

Page 5: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 5

Conceitos Básicos:Introdução

CiclosGerações

Conjunto de soluçõesPopulação

Operador de mutaçãoMutação

Operador de cruzamentoReprodução Sexual

RepresentaçãoGenótipo (cromossomas)

SoluçãoIndivíduo

Algoritmos GenéticosEvolução Natural

Analogia com a Natureza

Page 6: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 6

Conceitos Básicos:Funcionamento

Gerar população inicial de indivíduosGerar população inicial de indivíduos

Avaliar cada indivíduoAvaliar cada indivíduo

Enquanto o critério de paragem não for atendidoEnquanto o critério de paragem não for atendido

Seleccionar os indivíduos para reproduçãoSeleccionar os indivíduos para reprodução

Fazer o cruzamento dos indivíduosFazer o cruzamento dos indivíduos

Fazer a mutação de alguns indivíduosFazer a mutação de alguns indivíduos

Avaliar os novos indivíduosAvaliar os novos indivíduos

FimFim

Page 7: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 7

Conceitos Básicos:Parametrização

1. Tamanho da População

Condiciona a qualidade da solução obtida e o tempo de processamento.

2. Taxa de Cruzamento

Define a probabilidade com a qual 2 indivíduos da população serão cruzados para gerar nova descendência.

3. Taxa de Mutação

Introduz um factor adicioal de diversidade na população.

Page 8: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 8

Conceitos Básicos:Parametrização4. Taxa de Substituição

Define a percentagem de população que será substituída em cada transição de gerações.

5. Critérios de Paragem

Quando se atinge uma solução com um determinado valor de aptidão;

Quando se atinge um determinado limite temporal;

Quando se atinge um determinado número de gerações.

Page 9: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 9

Conceitos Básicos:Avaliação e Aptidão

O valor de aptidão de cada indivíduo (ou solução) é calculado através de uma função de avaliação que considera a representação escolhida. Esta função, que efectua a avaliação de modo a atribuir um valor de aptidão às potenciais soluções, precisa de ser definida para cada problema que se pretende solucionar.

Dado um cromossoma, a função de avaliação deve retornar um valor numérico que espelhe o seu mérito, enquanto solução para o problema em questão.

Page 10: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 10

Conceitos Básicos:Selecção

A fase de selecção consiste na escolha dos n indivíduos para posterior reprodução.

Ao longo dos anos foram propostos e estudados diversos operadores de selecção, dos quais destaca-se o Método da Roleta e o Método de Selecção por Torneios.

Os operadores de selecção podem ser complementados através do uso de mecanismos de elitismo que garantem que um conjunto de indivíduos que apreentam os melhores valores de adaptação estarão presentes na geração seguinte.

Page 11: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 11

Conceitos Básicos:Cruzamento e Mutação

Operador de Cruzamento

Dois indivíduos progenitores são escolhidos de entre os indivíduos da população através de um método de selecção bem definido.

O operador de cruzamento produz geralmente os dois descendentes pela escolha de um ou mais pontos de corte nos cromossomas dos progenitores e depois efectua a mistura das partes resultantes para gerar cada um dos cromossomas dos descendentes.

Alternativamente, os descendentes podem ser gerados através de máscaras que indicam se o gene de cada posição deve ser tomado de um dos progenitores ou do outro.

Page 12: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 12

Conceitos Básicos:Cruzamento e Mutação

Operador de Cruzamento

Há portanto 3 alternativas básicas de cruzamento:

a) Cruzamento num ponto de corte

b) Cruzamento em dois pontos de corte

c) Cruzamento uniforme (com máscara)

Page 13: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 13

Conceitos Básicos:Cruzamento e Mutação

Operador de Mutação

Tem o objectivo de trazer de volta para a população os genes perdidos durante o processo de selecção, de modo a que possam ser testados num novo contexto. Serve ainda para proporcionar novos genes que não estavam originalmente na população inicial.

Geralmente, a mutação é efectuada em apenas 1 gene, embora possa ser feita sobre mais genes. Na posição escolhida aleatoriamente o gene do cromossoma é substituído por um outro gene viável para aquela posição

Page 14: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 14

Caso Prático: Introdução

Os Circuitos são especificados pela respectiva Tabela de VerdadePodem ter Várias Entradas e Várias SaídasO Objectivo é gerar um Circuito Funcional com o menor grau de Complexidade

Síntese de Circuitos Combinatórios com Algoritmos Genéticos

Page 15: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 15

Caso Prático: Introdução

Definição do Problema

{AND,XOR,WIRE}Gset 2{AND,OR,XOR,WIRE}Gset 3

{AND,OR,XOR,NOT,WIRE}Gset 4{AND,OR,XOR,NOT,NAND,NOR,WIRE}Gset 6

Portas LógicasGate Set

Para cada gate set o AG procura o espaço de soluções através da simulação de evolução, utilizando a técnica dasobrevivência do mais apto.

Page 16: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 16

Caso Prático: Introdução

Codificação do Circuito

A

B

C

D

E

F

G

H

I

Inputs Outputs

0 … 26

Input Input Gate … Input Input Gate

A … I

Chromosome

Os circuitos são codificados como uma matriz rectângular(row × column = r × c) de células lógicas.

Page 17: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 17

Caso Prático: Introdução

Os Operadores GenéticosPopulação Inicial: P = 3000Taxa de Cruzamento: CR = 95%Taxa de Mutação: MR = 5%

Foi implementado um AlgoritmoElitista

Page 18: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 18

Caso Prático: Introdução

A função de Aptidão (fitness function) F

f2 = f2 + 1 if gate type = wire

f10 = 2ni × no

1 10

1 2 10

,,

f F fF

f f F f<⎧

= ⎨ + ≥⎩

Page 19: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 19

Caso Prático: Resultados da Simulação

2-to-1 Multiplexer

9

10

11

12

13

10 1 00

Number of Generations (N )

Fitn

ess F

unct

ion

(F

)

Gset 6 Gset 4 Gset 3 Gset 2

GA generated 2-to-1 Multiplexer circuit

Page 20: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 20

Caso Prático: Resultados da Simulação

One-bit Full Adder

17

18

19

20

1 0 1 0 0

Number of Generations (N )

Fitn

ess F

unct

ion

(F

)

Gset 6 Gset 4 Gset 3 Gset 2

GA generated One-bit Full Adder circuit

Page 21: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 21

Caso Prático: Resultados da Simulação

Four-bit Parity Checker

20

21

22

23

24

25

26

1 0 1 0 0

Number of Generations (N )

Fitn

ess F

unct

ion

(F

)

Gset 6 Gset 4 Gset 3 Gset 2

GA generated Four-bit Parity Checker circuit

Page 22: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 22

Caso Prático: Resultados da Simulação

Two-bit Multiplier

68

69

70

71

72

73

100 10 00 100 00

Number of Generations (N )

Fitn

ess F

unct

ion

(F)

Gset 6 Gset 4 Gset 3 Gset 2A1

B1

A0

B0

C3

C2

C1

C0

GA generated Two-bit Multiplier circuit

Page 23: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 23

Caso Prático: Comparação dos Resultados

10.00

100.00

Gset 6 Gset 4 Gset 3 Gset 2

Gate SetsA

vera

ge F

itnes

s fun

ctio

n (F

av)

1.00

10.00

100.00

1000.00

10000.00

Gset 6 Gset 4 Gset 3 Gset 2

Gate Sets

Ave

rage

Num

ber o

f Gen

erat

ions

(N

av)

2-to-1 multiplexer

One-bit adder

Four-bit paritychecker

Two-bit multiplier

Para os quatro casos estudados:em termos da Média do número de gerações necessárias para

obter a solução Navem termos da Média da função de Aptidão resultante Fav.

Page 24: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 24

Caso Prático: Análise da Escalabilidade

Um problema sério que existe na Síntesede Circuitos com Computação Evolutiva éo problema de escala. Este problema tem a ver com o rápidocrescimento do número de portas lógicasà medida que o número de entradas do circuito aumenta.

Page 25: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 25

Caso Prático: Análise da Escalabilidade

Parity Checker Circuits

Gset 6 Gset 4 Gset 3 Gset 22-bit

4-bit

6-bit

1

10

100

Fav

Gset 6 Gset 4 Gset 3 Gset 2

2-bit

4-bit

6-bit

1

10

100

Nav

Page 26: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 26

Caso Prático: Análise da Escalabilidade

Full-adder Circuits

Gset 6 Gset 4 Gset 3 Gset 2

1-bit2-bit1

10

100

1000

10000

Nav

Gset 6 Gset 4 Gset 3 Gset 2

1-bit2-bit1

10

100

Fav

Page 27: Algoritmos Genéticos

MEEC 2003/2004 – 29 de Março de 2004 27

Contactos

GRIS

GRIS – Group of Robotics and Intelligent Systems

Web Page: www.dee.isep.ipp.pt/~gris

ISEP - Instituto Superior de Engenharia do Porto

Web Page: www.isep.ipp.pt