Post on 12-Jun-2015
GRIS
Algoritmos Genéticos
Cecília Reiscecilia@dee.isep.ipp.pt
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
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
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.
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
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
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.
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.
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.
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.
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.
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)
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
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
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.
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.
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
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<⎧
= ⎨ + ≥⎩
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
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
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
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
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.
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.
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
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
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