utilização de csp para montagem e resolução de problemas que envolvem coloração de mapas
DESCRIPTION
Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas. Tema 4 André Martini Diniz Danilo Elias da Silva. Agenda. Introdução Problema Implementação Montagem mapa Algoritmos Testes Resultados. Introdução. Coloração de mapas. [2]. Introdução. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/1.jpg)
Utilização de CSP para montagem e resolução de problemas que envolvem
coloração de mapas
Tema 4André Martini DinizDanilo Elias da Silva
![Page 2: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/2.jpg)
Agenda
• Introdução• Problema• Implementação– Montagem mapa– Algoritmos
• Testes• Resultados
![Page 3: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/3.jpg)
Introdução
• Coloração de mapas
[2]
![Page 4: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/4.jpg)
Introdução
• Problema CSP– Variáveis• Domínio
– Restrições
• Algoritmos
![Page 5: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/5.jpg)
Introdução
• Modelagem
Variáveis (cores):
• Portugal• Spain• France• Italy• Switzerland• Luxembourg• ...
Restrições:
• Portugal != Spain• Spain != France• France != Italy
[2]
![Page 6: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/6.jpg)
Agenda
• Introdução• Problema• Implementação– Montagem mapa– Algoritmos
• Testes• Resultados
![Page 7: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/7.jpg)
Problema
• Exercício 5.7
• Para coloração de mapas:– Montar o mapa (algoritmo fornecido)– Montar tabela (nPontos máximo)
![Page 8: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/8.jpg)
Agenda
• Introdução• Problema• Implementação– Montagem mapa– Algoritmos
• Testes• Resultados
![Page 9: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/9.jpg)
Montagem mapa
• Algoritmo
(1) Gerar n pontos aleatórios no quadrado unitário;enquanto(sem conexões possíveis){
(2) x = ponto aleatório;(3) y = ponto mais próximo e conectável a x;se (x não conectado a y E conexão não cruza com outras
conexões)(4) conecta x a y;senãoinvalida conexão x a y;
}
![Page 10: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/10.jpg)
Montagem mapa• Algoritmo (1)
y
x
1
10
![Page 11: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/11.jpg)
Montagem mapa• Algoritmo (1)
y
x
1
10
![Page 12: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/12.jpg)
Montagem mapa• Algoritmo (2)
y
x
1
10
X
![Page 13: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/13.jpg)
Montagem mapa• Algoritmo (3)
y
x
1
10
X
Y
![Page 14: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/14.jpg)
Montagem mapa• Algoritmo (4)
y
x
1
10
2 segmentos não se cruzam:
• Primitivas Geométricas[3]• Produto vetorial
![Page 15: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/15.jpg)
Montagem mapa• No final
y
x
1
10
![Page 16: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/16.jpg)
Montagem mapa• Descoberta das variáveis
![Page 17: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/17.jpg)
Montagem mapa• Variáveis– Varrer conexões entre pontos– Achar padrão P1 -> P2 -> P3– Se achar:• Achou nova variável (triângulo)
P1
P2
P3
![Page 18: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/18.jpg)
Montagem mapa• Restrições– Entre triângulos• Uma aresta (2 pontos)
• A != B
P1
P2
A
B
![Page 19: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/19.jpg)
Agenda
• Introdução• Problema• Implementação– Montagem mapa– Algoritmos
• Testes• Resultados
![Page 20: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/20.jpg)
Algoritmos
• Backtracking Search– Utiliza busca em profundidade com retrocesso– Algoritmo recursivo
A
B
C
D
Cores:VermelhaVerdeAzul
![Page 21: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/21.jpg)
Algoritmos
• Backtracking Search
A = V
A = VB = V
A = VB = VC = VErro!
A = VB = VC = V
A = VB = VC = VD = V
![Page 22: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/22.jpg)
Algoritmos
• Backtracking Searchfunção RECURSIVE-BACKTRACKING (atribuições, problema-CSP) retorna a solução, ou uma falha{
se (as atribuições estão completas) então retorna as atribuiçõesvariável = Seleciona uma variável sem valor
das variáveis do problema-CSPpara cada valor presente no domínio de valores do problema-CSP faça:{
se o valor é consistente para atribuir à variável segundo as restrições do problema-CSP
{adiciona {variável = valor} à atribuições resultado = RECURSIVE-BACKTRACKING (atribuições, problema-CSP)se resultado != falha então retorna resultadoremove {variável = valor} de atribuições
}}retorna falha
}
![Page 23: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/23.jpg)
Algoritmos
• Backtracking Search com MRV (Minimum Remainig Values)– Utiliza heurística MRV para “ordenar” a seleção de
variáveis– Variáveis com menor número de valores legais
possíveis são selecionadas primeiro
A
B
C
D
Cores:VermelhaVerdeAzul
![Page 24: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/24.jpg)
Algoritmos
• Backtracking Search com MRV
A= V
A = VC = VErro!
A = VC = V
A = VC = VB = V
A = VC = VB = VD = V
![Page 25: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/25.jpg)
Algoritmos
• Forward Checking– Utiliza as restrições entre as variáveis para
antecipar falhas– A cada atribuição de valor a uma variável, elimina
esse valor das possibilidades das variáveis “vizinhas”
– Se um domínio de possibilidades fica vazio retrocede imediatamente
![Page 26: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/26.jpg)
Algoritmos
• Forward Checking
(1)A = V; B = {V, V, A}, C = {V, A}, D = {V, V, A}(2)B = V; C = {V, A}, D = {V, V, A}(3)C = V; D = {V, A}(4)D = V
A
B
C
D
Cores:VermelhaVerdeAzul
![Page 27: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/27.jpg)
Algoritmos
• Forward Checking com MRV– Combina a heurística MRV com o forward
checking– Seleciona primeiramente a variável com menos
valores legais, tornando o foward checking mais “inteligente”
![Page 28: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/28.jpg)
Algoritmos
• Min-Conflicts– Utiliza princípios de busca local– Gera uma solução aleatória e tenta melhorá-la– Para cada iteração muda os valores das variáveis
buscando minimizar os conflitos– Pode ficar “preso” em um mínimo local
![Page 29: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/29.jpg)
Algoritmos
• Min-Conflictsfunção Min-Conflicts (num-iterações, problema-CSP) retorna a solução, ou uma falha{
solução-atual = uma atribuição completa e aleatória do problema-CSPpara um número de iterações < num-iterações faça:{
se (solução-atual é uma solução completa) retorna solução-atual calcula conflitos de todos os estados vizinhos;aplica mudança com menor número mínimo de conflitos;
}retorna falha
}
![Page 30: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/30.jpg)
Agenda
• Introdução• Problema• Implementação– Montagem mapa– Algoritmos
• Testes• Resultados
![Page 31: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/31.jpg)
Testes
• N máximo
Repetido nvezes
![Page 32: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/32.jpg)
Testes
• Desempenho– Número iterações (mudanças de estado)– Número de pontos:• 10• 20• 50
– Cores• 3 (Vermelho, Verde, Azul)• 4 (Vermelho, Verde, Azul, Amarelo)
![Page 33: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/33.jpg)
Agenda
• Introdução• Problema• Implementação– Montagem mapa– Algoritmos
• Testes• Resultados
![Page 34: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/34.jpg)
Resultados
NPontos(seed) NCores BT
BT+
MRVFC
FC+
MRVMC
10 (0) 3 24 24 13 13 4
10 (0) 4 24 24 13 13 2
20(3) 3 48 47 29 29 9
20(0) 4 2182 65 40 33 8
50(92) 3 3912 158 80 90 !!
50(0) 4 168 161 89 89 !!
![Page 35: Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas](https://reader036.vdocuments.site/reader036/viewer/2022062314/56813350550346895d9a5cb1/html5/thumbnails/35.jpg)
Bibliografia
1. S. Russel e P. Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall, Upper Saddle River, USA. 2nd. Edition, (2003).
2. http://www.ctl.ua.edu/math103/mapcolor/mapcolor.htm. Map Coloring Work.
3. C. Esperança e P. R. Cavalcante : orion.lcg.ufrj.br/gc/download/Primitivas%20Geometricas.ppt. Geometria Computacional Primitivas Geométricas (2002)