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

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

Tema 4 André Martini Diniz Danilo Elias da Silva

Apresentações semelhantes


Apresentação em tema: "Tema 4 André Martini Diniz Danilo Elias da Silva"— Transcrição da apresentação:

1 Tema 4 André Martini Diniz Danilo Elias da Silva
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 Testes Resultados
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 Testes Resultados
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 Testes Resultados
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

11 Montagem mapa Algoritmo (1) y x 1

12 Montagem mapa Algoritmo (2) y x 1 X

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

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

15 Montagem mapa No final y x 1

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

19 Agenda Introdução Problema Implementação Testes Resultados
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 A = V B = V A = V B = V A = 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 A = V A = V C = 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
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 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 Testes Resultados
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 Testes Resultados
Montagem mapa Algoritmos Testes Resultados

34 Resultados NPontos (seed) NCores BT + MRV FC MC 10 (0) 3 24 13 4 2 20
(3) 48 47 29 9 2182 65 40 33 8 50 (92) 3912 158 80 90 !! 168 161 89

35 Bibliografia S. Russel e P. Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall, Upper Saddle River, USA. 2nd. Edition, (2003). 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)


Carregar ppt "Tema 4 André Martini Diniz Danilo Elias da Silva"

Apresentações semelhantes


Anúncios Google