DI - UFPE 1 Constraint Satisfaction Problems (CSP) nConceitos básicos nBusca cega simples e refinada nBusca heurística nCSP iterativo.

Slides:



Advertisements
Apresentações semelhantes
T I  C Módulo 2 Base de dados
Advertisements

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Inteligência Artificial
Inteligência Artificial
N Rainhas Descrição do Problema Satisfação de Restrições (CSP)
Matrizes especiais Matriz linha Matriz do tipo 1 x n, ou seja, com uma única linha. Por exemplo, a matriz A =[ ], do tipo 1 x 4. Matriz coluna.
Algoritmos Genéticos Problema das 8 Rainhas Algoritmo Genético
Problemas de fluxo numa rede
1 Domínios Finitos A eficiência das programas em domínios finitos (incluindo booleanos) podem ainda ser melhoradas pelo uso de Algoritmos de Propagação.
1 Optimização Na programação por restrições, há que considerar não apenas a satisfação de restrições mas também a optimização de uma função objectivo.
Ciclos, Vectores e Gráficos Simulação da Queda de Corpos II
2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005.
1 Conclusão DI/FCT/UNL 1º Semestre 2004/ Ciclos de Simulação A técnica usada no exemplo da queda livre pode ser utilizada para trajectórias a duas.
Busca em Profundidade Para encontrar um caminho de solução Sol, de um dado nó para algum nó objetivo Se N é um nó objetivo, então Sol=[N] Se há um nó N1.
Inteligência Artificial
PROBLEMA DE ROTEAMENTO DE VEíCULOS COM DIVISÃO DE ENTREGA
Árvores.
Estatística Básica Utilizando o Excel
Busca Tabu - Revisão Marcone Jamilson Freitas Souza
Busca Tabu Marcone Jamilson Freitas Souza Departamento de Computação
Busca Heurística - Informada
Busca Cega (Exaustiva)
Busca Heurística - Informada
- Conceitos e termos - Aplicações
A Teoria dos Determinantes
SISTEMAS LINEARES II Prof. Marlon.
Buscando Soluções Busca Heurística.
Indução Métodos de prova já vistos Excepções
INF 1771 – Inteligência Artificial
Busca Competitiva - MiniMax Jogo-da-Velha
Buscas em Grafos Prof. André Renato 1º Semestre/2012
Meta - heurísticas Prof. Aurora
Disciplina: Inteligência Artificial
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
Grafos Árvores Geradoras.
1 Introdução aos Agentes Inteligentes Flávia Barros.
Paradigma de Divisão e Conquista
Tema 4 André Martini Diniz Danilo Elias da Silva
Resolução de problemas por meio de busca
Busca com informação e exploração
DISCIPLINA TELETRANSMITIDA
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Introdução aos Agentes Inteligentes Busca Heurística (Informada)
Sistema de equações lineares
Mediana É um valor real que separa o rol em duas partes deixando à sua esquerda o mesmo número de elementos que a sua direita. Portanto, a mediana é um.
Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um dado pode ser qualquer.
ALGORITMOS E TECNICAS DE PROGRAMACAO II
PROGRAMAÇÃO MATEMÁTICA MÉTODO SIMPLEX
Resolução de Problemas de Busca
Exercícios SGBD - CESPE
Tópicos Avançados em Inteligência Artificial
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Técnicas de Busca Heurística Problemas da IA complexos demais para serem solucionados por técnicas diretas: criam-se técnicas de busca aprorpiados; chamados.
Tópicos em Sistemas Inteligentes
BCC 101 – Matemática Discreta I
SISTEMAS LINEARES Prof. Moacir.
Construção e Análise de Algoritmos
Busca Combinatorial e Métodos de Heurística
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
Satisfação de problemas restritos (CSP)
Resolução de Problemas de Busca
1 Introdução aos Agentes Inteligentes Resolução de Problemas de Busca Flávia Barros.
Principais Tópicos Introdução Métodos de busca Busca cega
Desenvolvimento de Sistemas Baseados em Conhecimento
Resolução de Problemas de Busca Agentes Baseados em Objetivo
Sistemas Inteligentes Busca Cega (Exaustiva)
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
CIn- UFPE 1 Resolução de Problemas. CIn- UFPE ? Agente solucionador de problemas O agente reativo Escolhe suas ações com base.
Transcrição da apresentação:

DI - UFPE 1 Constraint Satisfaction Problems (CSP) nConceitos básicos nBusca cega simples e refinada nBusca heurística nCSP iterativo

DI - UFPE 2 Constraint Satisfaction Problems (CSP) nUm Problema de Satisfação de Restrições tipo de problema que impõe propriedades estruturais adicionais à solução a ser encontrada há uma demanda mais refinada do que na busca clássica –ex. ir de Recife à Cajazeiras com no máximo 3 tanques de gasolina e 7 horas de viagem nUm CSP consistem em: um conjunto de variáveis que podem assumir valores dentro de um dado domínio um conjunto de restrições que especificam propriedades da solução - valores que essas variáveis podem assumir.

DI - UFPE 3 CSP: Formulação nEstados: definidos pelos valores possíveis das variáveis nEstado inicial: nenhuma variável instanciada ainda nOperadores: atribuem valores (instanciação) às variáveis (uma variável por vez) nTeste de término: verificar se todas as variáveis estão instanciadas obedecendo as restrições do problema nSolução: conjunto dos valores das variáveis instanciadas nCusto de caminho: número de passos de atribuição

DI - UFPE 4 CSP: características das restrições nO conjunto de valores que a variável i pode assumir é chamado domínio Di O domínio pode ser discreto (fabricantes de uma peça do carro) ou contínuo (peso das peças do carro) nQuanto à aridade, as restrições podem ser unárias (sobre uma única variável) binárias (sobre duas variáveis) - ex. 8-rainhas n-árias - ex. palavras cruzadas a restrição unária é um sub-conjunto do domínio, enquanto que a n-ária é um produto cartesiano dos domínios nQuanto à natureza, as restrições podem ser absolutas (não podem ser violadas) preferenciais (devem ser satisfeitas quando possível)

DI - UFPE 5 Exemplo nProblema das 8-rainhas variáveis: localização das rainhas valores: possíveis posições do tabuleiro restrição binária: duas rainhas não podem estar na mesma coluna, linha ou diagonal solução: valores para os quais a restrição é satisfeita

DI - UFPE 6 Busca cega para CSP nFuncionamento estado inicial: variáveis sem atribuição aplica operador: instancia uma variável teste de parada: todas variáveis instanciadas sem violações nAnálise pode ser implementada com busca em profundidade limitada ( l = número de variáveis) é completa fator de expansão: i |Di| o teste de parada é decomposto em um conjunto de restrições sobre as variáveis

DI - UFPE 7 Simulação passo a passo... A= green B = green C= green D=green E=green F=green (falha c/ C, E, D) F=red E (falha c/ C,A,B) E=red (falha c/ F) E=blue C (falha c/ A)... Muito dispendioso A B C D E F Exemplo: coloração de mapas variáveis: A,B,C,D,E,F domínio: {green,red,blue} restrições: A B; A C; A E; B E; B F; C E; C F; D F; E F

DI - UFPE 8 Backtracking na busca cega nProblema da busca em profundidade perda de tempo pois continua mesmo que uma restrição já tenha sido violada (não se pode mais redimir o erro) nSolução: Backtracking depois de realizar uma atribuição, verifica se restrições não são violadas caso haja violação backtrack

DI - UFPE 9 Simulação passo a passo... A= green B = green (falha c/ A) B=red C=green (falha c/ A) C= red D=green E= green (falha c/ A) E= red (falha c/ B e C) E= blue F=green (falha c/ D) F=red (falha c/ C) F = blue (falha c/ E) F backtracking E backtracking D=red E=green (falha c/ A) E= red (falha c/ B) E= blue F=green A B C D E F Exemplo: coloração de mapas variáveis: A,B,C,D,E,F domínio: Da=Db...=Df={green,red,blue} restrições: A B; A C; A E; B E; B F; C E; C F; D F; E F A B C D E F

DI - UFPE 10 Mas poderia ser mais complicado começando por red... A=red B=green C=blue D=red E= ?? Backtracking D=green E=?? Backtracking D=blue E=?? Backtracking D= ?? Backtracking C = green D = green E = blue F=red Exemplo: coloração de mapas A B C D E F A B C D E F variáveis: A,B,C,D,E,F domínio: Da=Db...=Df={green,red,blue} restrições: A B; A C; A E; B E; B F; C E; C F; D F; E F

DI - UFPE 11 Backtracking não basta... nProblema do backtracking: não adianta mexer na 7a. rainha para poder posicionar a última. O problema é mais em cima... O backtrack tem que ser de mais de um passo nSoluções Verificação de arco-consistência (forward checking) Propagação de restrições

DI - UFPE 12 Refinamentos nVerificação prévia (forward checking) idéia: olhar para frente para detectar situações insolúveis –ex. no restaurante self-service ou na boite nAlgoritmo: Após cada atribuição, elimina do domínio das variáveis não instanciadas os valores incompatíveis com as atribuições feitas até agora. Se um domínio torna-se vazio, backtrack imediatamente. nÉ bem mais eficiente!

DI - UFPE 13 Propagação de restrições nForward checking é um caso particular de verificação de arco-consistência um estado é arco-consistente se o valor de cada variável é consistente com as restrições sobre esta variável arco-consistência é obtida por sucessivas eliminações de valores inconsistentes nPropagação de restrições (constraint propagation) uma conseqüência da verificação de arco-consistência quando um valor é eliminado, outros podem se tornar inconsistentes e terem que ser eliminados também é como uma onda que se propaga: as escolhas ficam cada vez mais restritas

DI - UFPE 14 Passo a passo... Variáveis = A, B, C, D, E, F Domínios ={red,green,blue} A=red => B, C, E ={green,blue} (variáveis c/ restrições c/ A) => D, F ={red,green,blue} B=green => E = {blue}, F = {red, blue} (variáveis c/ restrições c/ B) => C ={green,blue}, D ={red,green,blue} C = green => E ={blue}, F = {red, blue} (restrições c/ C) => D = {red,green,blue} D=red, E=blue, F=?? Backtracking F e D!! D=green, E=blue, F=red Propagação de restrições Exemplo: coloração de mapas A B C D E F A B C D E F

DI - UFPE 15 Heurísticas para CSP nTenta reduzir o fator de expansão do espaço de estados nOnde pode entrar uma heurística? Ordenando a escolha da variável a instanciar Ordenando a escolha do valor a ser associado a uma variável nExistem 3 heurísticas para isto... variável mais restritiva: variável envolvida no maior número de restrições é preferida Variável mais restringida: variável que pode assumir menos valores é preferida valor menos restritivo: valor que deixa mais liberdade para futuras escolhas

DI - UFPE 16 Variável mais restritiva (variável envolvida no maior número de restrições ) variáveis: A,B,C,D,E,F domínio: Da=Db...=Df={green,red,blue} restrições: A B; A C; A E; B E; B F; C E; C F; D F; E F A B C D E F A B C D E F Candidatas 1 : E, F,...resto E = green Candidatas: F,...resto F = red Candidatos: A, B, C, D A= red Candidatos: B, C, D B= blue Candidatos: C, D C= blue D = green SEM BACKTRACK!! 1 em ordem de prioridade

DI - UFPE 17 Coloração de mapas: variável mais restringida ( variável que pode assumir menos valores ) variáveis: A,B,C,D,E,F domínio: Da=Db...=Df={green,red,blue} restrições: A B; A C; A E; B E; B F; C E; C F; D F; E F A B C D E F A B C D E F Candidatas: todas A = green Candidatas: B, C, E,... B = red Candidatos: E, F,... E=blue Candidatos: C, F, D C=red Candidatos: F, D F=green D = blue ou red SEM BACKTRACK!!

DI - UFPE 18 Começando com A = green B = red C=??? red é melhor do que blue Coloração de mapas: valor menos restritivo ( valor que deixa mais liberdade ) A B C D E F variáveis: A,B,C,D,E,F domínio: Da=Db...=Df={green,red,blue} restrições: A B; A C; A E; B E; B F; C E; C F; D F; E F

CSP iterativo nCSP pode ser resolvido iterativamente 1) instancia aleatoriamente todas variáveis 2) aplica operadores para trocar os valores e então diminuir número de restrições não satisfeitas (min-conflicts). nHeurística de reparos repara inconsistências n Min-conflict resolve 8 rainhas em menos de 50 passos!!! Número de ataques

DI - UFPE 20 CSP nGrande importância prática, sobretudo em tarefas de criação (design) agendamento (scheduling) onde várias soluções existem e é mais fácil dizer o que não se quer... nEstado atual Grandes aplicações industriais $$$$ Número crescente de artigos nas principais conferências nObservação: a sigla CSP também é usada para falar de Constraint Satisfaction Programming, que é um paradigma de programação