You are on page 1of 27

Algoritmos Genéticos

Cecília Reis
cecilia@dee.isep.ipp.pt

GRIS
Programa

¾ Conceitos Básicos
¾ Introdução
¾ Funcionamento Geral de um AG
¾ Parametrização de um AG
¾ Avaliação e Aptidão
¾ Selecção
¾ Operadores de Cruzamento e de Mutação

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


Programa

¾ Caso Prático: Síntese de Circuitos


Combinatórios com Algoritmos Genéticos
¾ Introdução
¾ Algoritmo Genético
¾ Resultados da Simulação
¾ Comparação dos Resultados
¾ Análise da Escalabilidade

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


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.
MEEC 2003/2004 – 29 de Março de 2004 4
Conceitos Básicos:Introdução

Analogia com a Natureza

Evolução Natural Algoritmos Genéticos


Indivíduo Solução

Genótipo (cromossomas) Representação


Reprodução Sexual Operador de cruzamento
Mutação Operador de mutação
População Conjunto de soluções
Gerações Ciclos

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


Conceitos Básicos:Funcionamento

Gerar população inicial de indivíduos


Avaliar cada indivíduo
Enquanto o critério de paragem não for atendido
Seleccionar os indivíduos para reprodução
Fazer o cruzamento dos indivíduos
Fazer a mutação de alguns indivíduos
Avaliar os novos indivíduos
Fim

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


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.
MEEC 2003/2004 – 29 de Março de 2004 7
Conceitos Básicos:Parametrização
4. 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.
MEEC 2003/2004 – 29 de Março de 2004 8
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.

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


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.

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


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.
MEEC 2003/2004 – 29 de Março de 2004 11
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)

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


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

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


Caso Prático: Introdução

Síntese de Circuitos Combinatórios com


Algoritmos Genéticos

„ Os Circuitos são especificados pela respectiva


Tabela de Verdade
„ Podem ter Várias Entradas e Várias Saídas
„ O Objectivo é gerar um Circuito Funcional com o
menor grau de Complexidade

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


Caso Prático: Introdução

„ Definição do Problema
Gate Set Portas Lógicas
Gset 6 {AND,OR,XOR,NOT,NAND,NOR,WIRE}
Gset 4 {AND,OR,XOR,NOT,WIRE}
Gset 3 {AND,OR,XOR,WIRE}
Gset 2 {AND,XOR,WIRE}

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 da
sobrevivência do mais apto.
MEEC 2003/2004 – 29 de Março de 2004 15
Caso Prático: Introdução

„ Codificação do Circuito
Os circuitos são codificados como
uma matriz rectângular
A D G
(row × column = r × c) de células
B E H
lógicas.

0 … 26
C F I
Input Input Gate … Input Input Gate

A … I
Inputs Outputs

Chromosome

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


Caso Prático: Introdução

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

„ Foi implementado um Algoritmo


Elitista
MEEC 2003/2004 – 29 de Março de 2004 17
Caso Prático: Introdução

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

f10 = 2ni × no
f2 = f2 + 1 if gate type = wire

⎧ f1 , F < f10
F =⎨
⎩ f1 + f 2 , F ≥ f10

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


Caso Prático: Resultados da Simulação

„ 2-to-1 Multiplexer
13
Gset 6 Gset 4 Gset 3 Gset 2

12
Fitness Function ( F )

11

10
GA generated 2-to-1 Multiplexer circuit

9
10 100

Number of Generations (N )

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


Caso Prático: Resultados da Simulação

„ One-bit Full Adder


20
Gset 6 Gset 4 Gset 3 Gset 2
Fitness Function ( F )

19

18

GA generated One-bit Full Adder circuit

17
10 100

Number of Generations (N )

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


Caso Prático: Resultados da Simulação

„ Four-bit Parity Checker


26
Gset 6 Gset 4 Gset 3 Gset 2
25
Fitness Function ( F )

24

23

22
GA generated Four-bit Parity Checker circuit
21

20
10 100

Number of Generations (N )

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


Caso Prático: Resultados da Simulação

„ Two-bit Multiplier
73
A1
Gset 6 Gset 4 Gset 3 Gset 2 C3
B1
72
A0
Fitness Function ( F )

B0 C2
71

C1
70

C0
69

68
100 1000 10000 GA generated Two-bit Multiplier circuit
Number of Generations (N )

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


Caso Prático: Comparação dos Resultados

Para os quatro casos estudados:


¾ em termos da Média do número de gerações necessárias para
obter a solução Nav
¾ em termos da Média da função de Aptidão resultante Fav.
100.00

Average Fitness function (Fav)


10000.00
Average Number of Generations

2-to-1 multiplexer
1000.00
One-bit adder
(Nav)

100.00
Four-bit parity
checker
10.00
T wo-bit multiplier

1.00 10.00
Gset 6 Gset 4 Gset 3 Gset 2 Gset 6 Gset 4 Gset 3 Gset 2
Gate Sets Gate Sets

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


Caso Prático: Análise da Escalabilidade

„ Um problema sério que existe na Síntese


de Circuitos com Computação Evolutiva é
o problema de escala.
„ Este problema tem a ver com o rápido
crescimento do número de portas lógicas
à medida que o número de entradas do
circuito aumenta.

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


Caso Prático: Análise da Escalabilidade

„ Parity Checker Circuits

100 100

Nav Fav
10 10

6-bit
6-bit
4-bit
4-bit
1
2-bit 1
Gset 6 Gset 4 2-bit
Gset 3 Gset 2 Gset 6 Gset 4
Gset 3 Gset 2

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


Caso Prático: Análise da Escalabilidade

„ Full-adder Circuits

10000
100
1000
Nav
100 Fav
10
10

1 2-bit
1-bit
Gset 6 Gset 4 1
2-bit
Gset 3 Gset 2 1-bit
Gset 6 Gset 4 Gset 3 Gset 2

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


Contactos
GRIS – Group of Robotics and Intelligent Systems
Web Page: www.dee.isep.ipp.pt/~gris

GRIS

ISEP - Instituto Superior de Engenharia do Porto


Web Page: www.isep.ipp.pt

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

You might also like