![Page 1: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/1.jpg)
1
Problemas Numéricos com Problemas Numéricos com Representação por Números Representação por Números
ReaisReais
Prof. Marco Aurélio C. Pacheco
![Page 2: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/2.jpg)
2
Algoritmos Genéticos Algoritmos Genéticos Otimização CombinatorialOtimização Combinatorial
São problemas onde a busca da solução depende da avaliação de diversas combinações (ORDEM) dos elementos considerados
– Problema do Caixeiro Viajante
– Problemas de Planejamento Industrial
– Problemas de Alocação de Recursos
– GrafosGrafos representam relações de precedência e representam relações de precedência e valores: valores: ColorirColorir, Particionar, Percorrer
![Page 3: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/3.jpg)
3
Problema de Colorir o GrafoProblema de Colorir o Grafo
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
Regras:– Colorir os nós do grafo de
modo a maximizar a soma total dos pesos.
– Pares de nós conectados por um arco não podem possuir a mesma cor
I-Ppeso
índice
![Page 4: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/4.jpg)
4
Algoritmo GulosoAlgoritmo Guloso
Considera apenas uma das possíveis soluções, colorindo os nós em ordem decrescente de peso.
Nós em ordem decrescente de peso:(9, 7, 8, 4, 2, 6, 5, 1, 3)
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
![Page 5: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/5.jpg)
5
Algoritmo GulosoAlgoritmo Guloso
Considera apenas uma das possíveis soluções, colorindo os nós em ordem decrescente de peso.
Nós em ordem decrescente de peso:(9, 7, 8, 4, 2, 6, 5, 1, 3)
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
![Page 6: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/6.jpg)
6
Algoritmo GulosoAlgoritmo Guloso
Considera apenas uma das possíveis soluções, colorindo os nós em ordem decrescente de peso.
Nós em ordem decrescente de peso:(9, 7, 8, 4, 2, 6, 5, 1, 3)
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
Solução Ótima p/ 1 cor:(9, 4, 2) Pi = 32
![Page 7: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/7.jpg)
7
Algoritmo GulosoAlgoritmo Guloso
Considera apenas uma das possíveis soluções, colorindo os nós em ordem decrescente de peso.
Nós em ordem decrescente de peso:(9, 7, 8, 4, 2, 6, 5, 1, 3)
Solução Ótima p/ 2 cores:(9, 4, 2) e ( 7, 6, 5)
Pi = 32 + 26
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
![Page 8: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/8.jpg)
8
Aplicando o Algoritmo GulosoAplicando o Algoritmo Guloso
2-8
7-15
1-12
3-14
4-135-9
6-10
Nós em ordem decrescente de peso:(7, 3, 4, 1, 6, 5, 2)
![Page 9: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/9.jpg)
9
Aplicando o Algoritmo GulosoAplicando o Algoritmo Guloso
2-8
7-15
1-12
3-14
4-135-9
6-10
Nós em ordem decrescente de peso:(7, 3, 4, 1, 6, 5, 2)
Algoritmo Guloso começa e para no nó 77
![Page 10: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/10.jpg)
10
Aplicando o Algoritmo GulosoAplicando o Algoritmo Guloso
2-8
7-15
1-12
3-14
4-135-9
6-10
Nós em ordem decrescente de peso:(7, 3, 4, 1, 6, 5, 2)
Soluções Ótimas:– 1 cor: (1, 5, 3)
– 2 cores: (2, 4, 6)
![Page 11: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/11.jpg)
11
Características do ProblemaCaracterísticas do Problema
A modificação dos pesos, número de cores e arcos, altera radicalmente a solução do problema.
Estratégias como o algoritmo guloso não funcionam bem para todos os problemas de colorir o grafo.
Heurísticas (Ex: avaliar número de arcos ou pesos de nós vizinhos antes colorir um nó) podem não ser eficientes para grandes espaços de busca.
Algoritmos Genéticos oferecem uma solução (sub-ótima ou ótima) para qualquer problema de colorir o grafo.
![Page 12: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/12.jpg)
12
Componentes de um Algoritmo GenéticoComponentes de um Algoritmo Genético
1. Problema1. Problema2. 2. RepresentaçãoRepresentação3. Decodificação3. Decodificação4. Avaliação4. Avaliação5. Operadores5. Operadores6. Técnicas6. Técnicas7. Parâmetros7. Parâmetros
![Page 13: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/13.jpg)
13
Tentando a Representação Tentando a Representação BináriaBinária
Cada nó do grafo é representado por um campo (gene) no cromossoma:Símbolo do Campo Cor do nó
Podemos usar a representação binária. Para apenas 1 cor :0 não colorido 1 colorido
Cromossoma 0 1 0 1 1 0 0 0 1 Nó 1 2 3 4 5 6 7 8 9
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
![Page 14: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/14.jpg)
14
Avaliando Representação Avaliando Representação BináriaBinária
C é um cromossoma ILEGAL ILEGAL. Inicialização, crossover e mutação vão gerar soluções
ilegais. Seria necessário um módulo reparador de cromossomas
ou eliminá-los. Além disso, representação binária permite soluções
sub-ótimas: C 0 1 0 1 0 0 0 0 0
Nó 1 2 3 4 5 6 7 8 9
C ainda poderia ter o nó 6, ou 8 ou 9 colorido e ser legal.
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
![Page 15: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/15.jpg)
15
Representação Baseada em Representação Baseada em OrdemOrdem
Algoritmo Guloso representa solução por lista ordenada GA Híbrido Técnicas de GA + Algoritmo Guloso Algoritmo Guloso:
– Cria uma lista de nós (ordem decrescente de peso)
– Constrói a solução: atribui ao próximo nó da lista uma cor legal
Algoritmo Genético – Cria uma lista (nós em ordem qualquer)
– Constrói a solução: atribui ao próximo nó da lista uma cor legal
![Page 16: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/16.jpg)
16
ExemploExemplo
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
Cromossoma = listaC1 (9, 7, 8, 4, 2, 6, 5, 1, 3)
C2 (2, 3, 7, 4, 9, 6, 5, 1, 8)
C3 (4, 5, 1, 2, 9, 6, 8, 7, 3)
![Page 17: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/17.jpg)
17
ExemploExemplo
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
Cromossoma = listaC1 (9, 7, 8, 4, 2, 6, 5, 1, 3)
C2 (2, 3, 7, 4, 9, 6, 5, 1, 8)
C3 (4, 5, 1, 2, 9, 6, 8, 7, 3)
![Page 18: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/18.jpg)
18
ExemploExemplo
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
Cromossoma = listaC1 (9, 7, 8, 4, 2, 6, 5, 1, 3)
C2 (2, 3, 7, 4, 9, 6, 5, 1, 8)
C3 (4, 5, 1, 2, 9, 6, 8, 7, 3)
![Page 19: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/19.jpg)
19
ExemploExemplo
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
Cromossoma = listaC1 (9, 7, 8, 4, 2, 6, 5, 1, 3)
C2 (2, 3, 7, 4, 9, 6, 5, 1, 8)
C3 (4, 5, 1, 2, 9, 6, 8, 7, 3)
![Page 20: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/20.jpg)
20
ExemploExemplo
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
Cromossoma = listaC1 (9, 7, 8, 4, 2, 6, 5, 1, 3)
C2 (2, 3, 7, 4, 9, 6, 5, 1, 8)
C3 (4, 5, 1, 2, 9, 6, 8, 7, 3)
![Page 21: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/21.jpg)
21
ExemploExemplo
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
Cromossoma = listaC1 (9, 7, 8, 4, 2, 6, 5, 1, 3)
C2 (2, 3, 7, 4, 9, 6, 5, 1, 8)
C3 (4, 5, 1, 2, 9, 6, 8, 7, 3)
C1 C2 C3 resultam na solução ótima p/ 1 cor:(9, 4, 2) Pi = 32
Informação codificada é a ordem relativa dos nósordem relativa dos nós
![Page 22: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/22.jpg)
22
Operadores GenéticosOperadores Genéticos
Testando o Crossover de 1 ponto:
P1 (9, 7, 8, 4, 2, 6, 5, 1, 3)
P2 (2, 6, 7, 4, 9, 3, 5, 1, 8)
F1 (9, 7, 88,, 4, 2, 3, 5, 1, 88)
F2 (2, 66, 7, 4, 9, 66, 5, 1, 3)
Descendentes são cromossomas ilegais: nós repetidos e ausência de determinados nós.
Crossover e mutação devem garantir uma lista válida de todos os nós
![Page 23: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/23.jpg)
23
Modelagem do Algoritmo GenéticoModelagem do Algoritmo Genético
1. 1. ProblemaProblema• Problema de Colorir o Grafo Problema de Colorir o Grafo
2. Representação2. Representação• Permutação dos índices dos nósPermutação dos índices dos nós
3. Decodificação3. Decodificação• Da esquerda para direita, atribui uma cor válida ao próximo nóDa esquerda para direita, atribui uma cor válida ao próximo nó
4. Avaliação4. Avaliação• Pi
5. Operadores5. Operadores• Crossover Uniforme Baseado em Ordem Crossover Uniforme Baseado em Ordem Mutação por EmbaralhamentoMutação por Embaralhamento
![Page 24: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/24.jpg)
24
Crossover Uniforme Baseado Crossover Uniforme Baseado em Ordemem Ordem
Recombina ordem e posição dos genes
Dados dos genitores P1 e P2,, criar descendente F1; Gere um padrão de bits do comprimento dos genitores; Preencha F1, copiando o genitor P1 nas posições em que o
padrão é igual a “1”; Faça uma lista dos elementos de P1 associados com os bits
“0” do padrão; Permute estes elementos de modo que eles apareçam na
mesma ordem em que aparecem em P2 ;
Preencha as lacunas de F1 com os elementos ordenados no passo anterior;
![Page 25: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/25.jpg)
25
ExemploExemplo
1 2 3 4 5 6 7 88 6 4 2 7 5 3 1
0 1 1 0 1 1 0 0
P1
P2
Padrão
- 2 3 - 5 6 - -8 - - 2 - - 3 1
F1
F2
8 2 3 4 5 6 7 18 4 5 2 6 7 3 1
F1
F2
Elementos de P1 associados a “0”: 1, 4, 7, 8. Ordenados segundo P2 : 8, 4, 7, 1
Elementos de P2 associados a “1”: 6, 4, 7, 5. Ordenados segundo P1 : 4, 5, 6, 7
![Page 26: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/26.jpg)
26
Mutação por EmbaralhamentoMutação por Embaralhamento
Seleciona aleatoriamente uma sub-lista do cromossoma Embaralha sub-lista
1 2 3 4 5 6 7 8 9
1 2 3 6 4 8 7 5 9
![Page 27: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/27.jpg)
27
Módulo de Avaliação
Função de Avaliação: Avaliador do problema de
colorir o grafo Pi
Módulo de População
Técnica de Representação: Lista de nós
Técnica Inicialização da População: Permutação aleatória
Técnica Eliminação da População: Elimina o último
Técnica de Reprodução: Steady State s/ duplicados
Gap Testar de 5 em 5
Técnica de Seleção de Genitores: Roleta
Técnica de Aptidão: Normalização Linear (100 a 1)
Técnica de Parametrização: Interpolar taxa de incremento (0,2 a
1,2)
Population Size: 100
Total de Indivíduos: 4000 Módulo de Reprodução
Técnica de Seleção de Operadores: Roleta
Operadores: Crossover Uniforme Baseado em
Ordem
Mutação por Embaralhamento
Técnica de Parametrização: Interpolar Pesos dos Operadores
de (60 40) a (30 70)
GA6-1
![Page 28: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/28.jpg)
28
Problema de Colorir o GrafoProblema de Colorir o Grafo
Grafo com 100 nós 100! permutações diferentes 3 cores possíveis Listagem descreve o grafo através de:
(índice_n, peso, (lista de nós conectados))(1 62 (20 58 74 82))
(2 183 (6 12 20 28 29 32 51 53 70 79 84 94))
(3 247 (1 18 24 33 50 88 92))
....................
...........
(99 254 (29 52 53 67 75 80 84 89))
(100 145 (15 20 22 29 34 44 60 87))
![Page 29: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/29.jpg)
29
Busca AleatóriaBusca Aleatória
Muitas vezes não temos como comparar os resultados obtidos por um GA.
Nestes casos, podemos usar a busca aleatória como base de comparação.
Gera-se uma curva média de desempenho para a busca aleatória com o mesmo número de tentativas que o GA.
Um GA com desempenhando abaixo da busca exaustiva deve provavelmente conter erros de modelagem e/ou programação.
![Page 30: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/30.jpg)
30
Busca AleatóriaBusca Aleatóriaprocedure busca_aleatória
begin
t = 0 ; primeira geração
inicializa P(t) ; população inicial aleatória
avalia P(t) ; calcula f(i) p/ cada indivíduo
salva_melhor de P(t) ; salva melhor indivíduo
while (not total_indivíduos) do
begin
t = t + 1 ; próxima geração
inicializa P(t) ; população aleatória
avalia P(t) ; calcula f(i) p/ cada indivíduo
compara_melhor P(t) com melhor P(t-1)
salva_melhor
end
end
![Page 31: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/31.jpg)
31
![Page 32: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/32.jpg)
32
Resultados do GA 6-1Resultados do GA 6-1
GA 6-1 é em média 7,4% melhor que a busca aleatória
após 4000 tentativas:
– média GA 6-1= 1030010300; média busca aleatória=96009600
GA 6-1 é em média 7,4% melhor que a Algoritmo Guloso:
– máximo do Alg. Guloso= 95909590
GA 6-2 com pop_size=1200 e total_indivíduos=10000
encontrou avaliação=1059410594
![Page 33: 1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco](https://reader036.vdocuments.pub/reader036/viewer/2022070311/552fc12a497959413d8ce78b/html5/thumbnails/33.jpg)
33
ConclusõesConclusões
Representação baseada em ordem ocorre na maioria dos problemas reais que envolvem planejamento
Representação estabelece ordem de alocação Lista ordenada não corresponde diretamente a um grafo
colorido
Decodificador transforma cromossoma em solução e permite implementar regras restritivas do problema sem alterar o GA
Lista SoluçãoDecodificador