1 / 35

Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas

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.

cain-henry
Télécharger la présentation

Utilização de CSP para montagem e resolução de problemas que envolvem coloração de mapas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Agenda • Introdução • Problema • Implementação • Montagem mapa • Algoritmos • Testes • Resultados

  3. Introdução • Coloração de mapas [2]

  4. Introdução • Problema CSP • Variáveis • Domínio • Restrições • Algoritmos

  5. Introdução • Modelagem • Variáveis (cores): • Portugal • Spain • France • Italy • Switzerland • Luxembourg • ... [2] • Restrições: • Portugal != Spain • Spain != France • France != Italy

  6. Agenda • Introdução • Problema • Implementação • Montagem mapa • Algoritmos • Testes • Resultados

  7. Problema • Exercício 5.7 • Para coloração de mapas: • Montar o mapa (algoritmo fornecido) • Montar tabela (nPontos máximo)

  8. Agenda • Introdução • Problema • Implementação • Montagem mapa • Algoritmos • Testes • Resultados

  9. 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ão invalida conexão x a y; }

  10. Montagem mapa • Algoritmo (1) y 1 0 1 x

  11. Montagem mapa • Algoritmo (1) y 1 0 1 x

  12. Montagem mapa • Algoritmo (2) y X 1 0 1 x

  13. Montagem mapa • Algoritmo (3) y X 1 Y 0 1 x

  14. Montagem mapa • Algoritmo (4) y • 2 segmentos não se cruzam: • Primitivas Geométricas[3] • Produto vetorial 1 0 1 x

  15. Montagem mapa • No final y 1 0 1 x

  16. Montagem mapa • Descoberta das variáveis

  17. Montagem mapa • Variáveis • Varrer conexões entre pontos • Achar padrão P1 -> P2 -> P3 • Se achar: • Achou nova variável (triângulo) P2 P1 P3

  18. Montagem mapa • Restrições • Entre triângulos • Uma aresta (2 pontos) • A != B P1 A B P2

  19. Agenda • Introdução • Problema • Implementação • Montagem mapa • Algoritmos • Testes • Resultados

  20. Algoritmos • Backtracking Search • Utiliza busca em profundidade com retrocesso • Algoritmo recursivo B Cores: Vermelha Verde Azul C D A

  21. Algoritmos • Backtracking Search A = V A = V B = V A =V B = V C = V Erro! A = V B = V C = V A = V B = V C = V D = V

  22. Algoritmos • Backtracking Search • funçã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ções • variável = Seleciona uma variável sem valor • das variáveis do problema-CSP • para 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 resultado • remove {variável = valor} de atribuições • } • } • retornafalha • }

  23. Algoritmos • Backtracking Search com MRV (MinimumRemainigValues) • 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 B Cores: Vermelha Verde Azul C D A

  24. Algoritmos • Backtracking Search com MRV A= V A = V C = V Erro! A = V C = V A =V C = V B = V A = V C = V B = V D = V

  25. Algoritmos • ForwardChecking • 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

  26. Algoritmos • ForwardChecking • A = V; B = {V, V, A}, C = {V, A}, D = {V, V, A} • B = V; C = {V, A}, D = {V, V, A} • C = V; D = {V, A} • D = V B Cores: Vermelha Verde Azul C D A

  27. Algoritmos • ForwardChecking com MRV • Combina a heurística MRV com o forwardchecking • Seleciona primeiramente a variável com menos valores legais, tornando o fowardchecking mais “inteligente”

  28. 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

  29. Algoritmos • Min-Conflicts • funçã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-CSP • para 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 • }

  30. Agenda • Introdução • Problema • Implementação • Montagem mapa • Algoritmos • Testes • Resultados

  31. Testes • N máximo Repetido n vezes

  32. 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)

  33. Agenda • Introdução • Problema • Implementação • Montagem mapa • Algoritmos • Testes • Resultados

  34. Resultados

  35. Bibliografia • S. Russel e P. Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall, Upper Saddle River, USA. 2nd. Edition, (2003). • http://www.ctl.ua.edu/math103/mapcolor/mapcolor.htm. Map Coloring Work. • C. Esperança e P. R. Cavalcante : orion.lcg.ufrj.br/gc/download/Primitivas%20Geometricas.ppt. Geometria Computacional Primitivas Geométricas (2002)

More Related