A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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... Restrições: Portugal != Spain Spain != France France != Italy [2]

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 x 1 1 0

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

12 Montagem mapa Algoritmo (2) y x X

13 Montagem mapa Algoritmo (3) y x X Y

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

15 Montagem mapa No final y x 1 1 0

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) P1 P2 P3

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

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

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

21 Algoritmos Backtracking Search 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 } retorna falha }

23 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: Vermelha Verde Azul

24 Algoritmos Backtracking Search com MRV 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 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

26 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: Vermelha Verde Azul

27 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

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 Repetido n vezes

32 Testes Desempenho – Número iterações (mudanças de estado) – Número de pontos: – Cores 3 (Vermelho, Verde, Azul) 4 (Vermelho, Verde, Azul, Amarelo)

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

34 NPontos (seed) NCoresBT + MRV FC + MRV MC 10 (0) (0) (3) (0) (92) !! 50 (0) !!

35 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%20 Geometricas.ppt. Geometria Computacional Primitivas Geométricas (2002)


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google