Problemas de Satisfação de Restrições



Documentos relacionados
IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

Problemas de Satisfação de Restrições

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 11 Problemas com Satisfação de Vínculos

Satisfação de Restrições. Capítulo 5 (disponível online)

Inteligência Artificial Prof. Marcos Quinet Pólo Universitário de Rio das Ostras PURO Universidade Federal Fluminense UFF

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Parte 2. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.

Conhecimento Incerto Redes de Crença

Problemas de Satisfação de Restrições

Análise e Complexidade de Algoritmos

Busca Heurística. Profa. Josiane M. P. Ferreira

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

MÉTODOS DE RESOLUÇÃO DE PROBLEMAS EM IA. Busca em espaço de estados. Estados e Operadores. Jogo dos 8. Sumário. Exemplo: jogo dos 8

RELAÇÕES BINÁRIAS Produto Cartesiano A X B

a 1 x a n x n = b,

5COP096 TeoriadaComputação

Dificuldades de Modelos de PNL. Onde está a solução ótima? Outro exemplo: Condição ótima Local vs. Global Quinta-feira, 25 de abril

Representação de Conhecimento Redes Semânticas e Frames

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

Guia de qualidade de cores

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

Resolução de problemas por meio de busca. Capítulo 3 Russell & Norvig Seções 3.1, 3.2 e 3.3

Problemas onde a busca da solução depende da avaliação de diversas combinações (ORDEM) dos elementos considerados

Sistemas Inteligentes Lista de Exercícios sobre Busca

Conhecimento Incerto Decisões Sobre Incerteza

7.Conclusão e Trabalhos Futuros

AULA 6 LÓGICA DOS CONJUNTOS

Pesquisa Operacional Programação em Redes

2. Método de Monte Carlo

Feature-Driven Development

Respostas dos Exercícios Cap. 2 Russell & Norvig

4 Segmentação Algoritmo proposto

Aula 20. Roteamento em Redes de Dados. Eytan Modiano MIT

CTC-17 Inteligência Artificial Problemas de Busca. Prof. Paulo André Castro

Manejo Florestal Sustentável: Dificuldade Computacional e Otimização de Processos

Resolução de Problemas

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

Métodos de Avaliação para Sites de Entretenimento. Fabricio Aparecido Breve Prof. Orientador Daniel Weller

Pointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T

PERGUNTAS & RESPOSTAS Diretrizes para Publicidade e Divulgação de Material Técnico de Fundos de Investimento. 1. OBJETO (Cap. I)

TÍTULO: COMPARAÇÃO ENTRE OS MÉTODOS DE BUSCA EM ESPAÇOS DE ESTADOS E O ALGORITMO DE DIJKSTRA

Uso de SAS/OR para diminuir o tempo de resposta com um melhor posicionamento de ambulâncias.

5 A Utilização da Técnica do Espaço Nulo e dos Atributos Baseados na Escolha de Coeficientes de Autocorrelações

Introdução Ao Marketing

Análise e Projeto de Algoritmos

Técnicas de Teste de Software

Linguagem Lógica Prolog

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

GARANTIA DA QUALIDADE DE SOFTWARE

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

GESTÃO de PROJECTOS. Gestor de Projectos Informáticos. Luís Manuel Borges Gouveia 1

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto

Matemática Discreta - 03

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

APLICAÇÃO DE MÉTODOS HEURÍSTICOS EM PROBLEMA DE ROTEIRIZAÇÃO DE VEICULOS

Inteligência Artificial. Metodologias de Busca

Objetos Estruturados Listas Recursão Exercícios. Inteligência Artificial

PLANOS DE CONTINGÊNCIAS

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

Sistemas de Representação e Raciocínio

Gerenciamento de projetos.

Jogos vs. Problemas de Procura

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

Tarefa Orientada 16 Vistas

6. Programação Inteira

INVESTIGAÇÃO OPERACIONAL EM AÇÃO

Processos de gerenciamento de projetos em um projeto

Programa de Formação Contínua em Matemática para Professores dos 1º e 2º Ciclos do Ensino Básico Tarefa: As roupas do Tomás

PLANEJAMENTO DA MANUFATURA

DISTRIBUIÇÕES DE PROBABILIDADE

Oficina: Trabalhando com o Material concreto: Escala Cuisenaire

Empresa de Pesquisa Energética (EPE) Analista de Projetos da Geração de Energia

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Inteligência de Enxame: ACO

PROBLEMAS FÁCEIS E DIFÍCEIS. Prof. André Vignatti DINF - UFPR

Teoria dos Grafos. Edson Prestes

ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS

Complexidade de Algoritmos. Edson Prestes

Utilizando o EXCEL Solver

EMENTAS DAS DISCIPLINAS

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

OTIMIZAÇÃO VETORIAL. Formulação do Problema

ISO/IEC 12207: Gerência de Configuração

PÓS GRADUAÇÃO EM CIÊNCIAS DE FLORESTAS TROPICAIS-PG-CFT INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA. 09/abril de 2014

COMO EXPLORAR OS BENEFÍCIOS DOS INDICADORES DE DESEMPENHO NA GESTÃO DE UM CSC. Lara Pessanha e Vanessa Saavedra

INSTITUTO TECNOLÓGICO

Lista 2 - Modelos determinísticos

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR

Trabalho de Implementação Jogo Reversi

Estruturas Discretas INF 1631

REDES BAYESIANAS. Palavras-chave: Redes bayesianas, Grafo, Estrutura de Dados, Inteligência artificial.

Transcrição:

Problemas de Satisfação de Restrições Texto base: Stuart Russel e Peter Norving - Inteligência Artificial David Poole, Alan Mackworth e Randy Goebel - Computational Intelligence A logical approach junho/2007

O que é um Problema de Satisfação de Restrição ( PSR)? Um PSR consiste 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 ou Uma função de avaliação que especifica o quão boa é um conjunto de atribuições de valores para variáveis Um estado do problema é definido por uma atribuição de valores a alguma ou a todas as variáveis Atribuições: Consistente ou válida: que não viola nehuma restrição Completa: todas as variáveis são atribuídas Solução: atribuição completa que satisfaz todas as restrições

Exemplo: coloração de Mapas Queremos colorir cada região do mapa abaixo com as cores vermelho, verde e azul Nenhuma região vizinha deve ter a mesma cor Austráli a Ocident al Territóri o do Norte Austráli a Meridio nal Queens land Nova Gales do Sul AO TN AM Q NGS V Victo ria T

Problema da coloração de mapas como um PSR Variáveis - Cada uma das regiões:ao, TN, Q, NGS, V, AM e T Domínio das variáveis: {vermelho, verde, azul} para todas Restrições: regiões vizinhas devem ter cores distintas Exemplo: combinações permissíveis para AO e TN {(vermelho, verde), (vermelho, azul), (verde, vermelho), (verde, azul), (azul, vermelho), (azul, verde)} Ou simplesmente AO TN

Características das restrições O conjunto de valores que a variável i pode assumir é chamado domínio D i que pode ser: discreto ex: fabricantes de uma peça de carro contínuo ex: peso das peças do carro Quanto à aridade, as restrições podem ser: Unárias (única variável)- ex: a Tasmânia não pode ser verde Binárias (duas variáveis) - ex.: 8-rainhas, coloração mapas N-árias - ex.: palavras cruzadas Quanto à natureza, as restrições podem ser: Absolutas (não podem ser violadas) ex: AO TN Preferenciais (devem ser satisfeitas quando possível) ex: problema de elaboração de horários

PSRs podem ser divididos em duas classes de principais de problemas Problemas de satisfatibilidade O objetivo é encontrar uma associação de valores para as variáveis que satisfaça algumas restrições Exemplos: Criptoaritmética, n-rainhas Problemas de otimização Cada associação de um valor para cada variável tem um custo O objetivo é encontrar uma associação com o menor custo (associação ótima)

Relacionamento com Busca O caminho até o objetivo não é importante, somente a solução Muitos algoritmos exploram a natureza multidimensional dos problemas Não existe um nó inicial pré-definido Frequentemente estes problemas são grandes, com centenas de variáveis Explorar sistematicamente o espaço de estados pode ser inviável Para problemas de otimização não existem nós objetivos bem definidos

Benefícios de se tratar um problema de busca como um PSR Representação de estados obedece um padrão definido Conjunto de variáveis com valores atribuídos Função sucessor e teste de objetivo podem ser definidos de forma genérica para todos os PSRs Heurísticas efetivas e genéricas podem ser desenvolvidas sem nenhum conhecimento sobre o domínio dos problemas A estrutura do grafo de restrições pode ser utilizada para reduzir a complexidade do problema

Exemplo de PSR para escalonamento de atividades Variáveis: A, B, C, D e E que representam o tempo de início das várias atividades Domínios: D A = D B = D C = D D = D E = {1, 2, 3, 4, 5} Restrições: (B 3) Λ (C 2) Λ (A B) Λ (B C) Λ (B D) Λ (C < D) Λ (A = D) Λ (E < A) Λ (E < B) Λ (E < C) Λ (E < D)

Algoritmos gerar-e-testar Gerar o espaço de associações D D = D V1 X D V2 X D V3 X... X D Vn Testar cada uma das associações com as restrições Exemplo: D = D A X D B X D C X D D X D E D = {1, 2, 3, 4, 5} X {1, 2, 3, 4, 5} X {1, 2, 3, 4, 5} X {1, 2, 3, 4, 5} X {1, 2, 3, 4, 5} D = {<1, 1, 1, 1, 1>, <1, 1, 1, 1, 2>, <1, 1, 1, 1, 3>,... <4, 4, 4, 4, 4>} Gerar e testar é sempre exponencial n variáveis com domínios de tamanho d e e restrições O(ed n ) testes

Algoritmos com retrocesso Explorar D sistematicamente Associar as variáveis aos seus valores em alguma ordem e avaliar as restrições que envolvem as variáveis já atribuídas Qualquer associação que não satisfaça as restrições pode ser podada Exemplo: A associar A=1 e B=1 viola a restrição A B, independente dos valores das outras variáveis

PSR como uma busca em grafo Ordenar as variáveis V 1, V 2,..., V n O nó inicial é uma associação vazia {} Um nó associa valores para as j primeiras variáveis Os vizinhos do nó {V 1 /v 1, V 2 /v 2,..., V j /v j } são todos os nós consistentes {V 1 /v 1, V 2 /v 2,..., V j /v j,v j+1 /v j+1 } para cada valor v j+1 no domínio de V j+1 O nó objetivo é um associação completa e válida (que satisfaz todas as restrições) Podemos resolver o problema usando busca em profundidade As soluções apareceram sempre no profundidade = ao número de variáveis envolvidas

Parte da árvore de busca gerada pela busca em profundidade Ordem das variáveis: AO, TN, Q, AM, NGS, V, T Ordem dos valores: RGB { } {AO=Vermelho} {AO=Verde} {AO=Azul} {AO=Vermelho, TN=Verde} {AO=Vermelho, TN=Azul} Exercício: Continue a árvore de busca para gerar uma resposta para o problema do mapa da Austrália {AO=Vermelho, TN=Verde, Q=Vermelho} {AO=Vermelho, TN=Verde, Q=Azul}

Ordenando variáveis e valores A idéia é tentar gerar uma falha logo no início da busca, podando os galhos que não terão sucesso Em que ordem testar as variáveis? Em ordem crescente do tamanho do domínio (heurística de variável mais restrita ou valores restantes mínimos) Em ordem decrescente pela quantidade de restrições que cada variável está envolvida (heurística de grau) Em que ordem testar os valores? Valores que restringem menos as atribuições futuras devem ser testados antes (heurística de valor menos restritivo) Eliminar dos domínios das variáveis seguintes os valores que não poderão mais serem utilizados devido às atribuições anteriores (verificação prévia)

Exemplo para o mapa da Austrália AM (5) TN (3) Q (3) NGS (3) AO (2) V(2) T (0) DOMÍNIO RGB RGB RGB RGB RGB RGB RGB AM = R R GB GB GB GB GB RGB TN = G G B GB B GB RGB Q = B B G B GB RGB NGS = G G B B RGB AO = B B B RGB V = B B RGB T = R R

Heurísticas Gerais para PSRs São independentes do domínio do problema Podemos encontrá-las resolvendo as seguintes questões: Que variável deve ser atribuída em seguida? Em que ordem os valores devem ser experimentados? Quais são as implicações das atribuições de variáveis atuais para as outras variáveis não atribuídas? Quando um caminho falha*, a busca pode evitar repetir esta falha em caminhos subseqüentes? * quando alcançamos um estado em que uma variável não tem nenhum valor válido

Algoritmos de consistência Idéia: podar os domínios tão logo quanto possível, antes de que seus valores sejam selecionados Uma variável é domínio consistente se nenhum valor do domínio é impossível por qualquer uma das restrições Exemplo DB = {1, 2, 3, 4} não é domínio consistente porque B=3 viola a restrição B 3

Consistência de arcos Uma rede de restrições tem nós correspondentes às variáveis e seus domínios associados Cada relação de restrição P(X, Y), corresponde aos arcos <X,Y> e <Y,X> Um arco <X,Y> é um arco consistente se para cada valor de X em D X, existe algum valor de Y em D y, para o qual a restrição P(X,Y) é satisfeita Uma rede é arco consistente se todos os seus arcos são arco consistentes

Uma rede de restrições para o problema de escalonamento de atividades A {1, 2, 3, 4} A B B {1, 2, 4} A = D B D E < A B C D {1, 2, 3, 4} C C < D {1, 3, 4} E < B E < D E {1, 2, 3, 4} E < C

Algoritmo de consistência de arcos AC-3 Se um arco <X,Y> não é arco consistente, todos os valore de X em D X para os quais não existe nenhum valor correspondente em D y podem ser apagados de D X para fazer <X,Y> arco consistente Os arcos são considerados um a um tornando cada um deles consistente Um arco <X,Y> necessita ser revisado se o domínio de Y for reduzido