1 / 49

Problemas de Satisfação de Restrições ( Constraint Satisfaction Problems )

UPE – Caruaru – Sistemas de Informação Disciplina: Inteligência Artificial Prof.: Paulemir G. Campos. Problemas de Satisfação de Restrições ( Constraint Satisfaction Problems ). Roteiro da Aula. CSP e Exemplos Busca por Backtracking para CSP Busca Local para CSP

Download Presentation

Problemas de Satisfação de Restrições ( Constraint Satisfaction Problems )

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. UPE – Caruaru – Sistemas de InformaçãoDisciplina: Inteligência ArtificialProf.: Paulemir G. Campos Problemas de Satisfação de Restrições (Constraint Satisfaction Problems) IA - Prof. Paulemir Campos

  2. Roteiro da Aula • CSP e Exemplos • Busca por Backtracking para CSP • Busca Local para CSP • Estrutura do Problema e Decomposição do Problema • Quadro Comparativo • Bibliografia IA - Prof. Paulemir Campos

  3. CSP e Exemplos IA - Prof. Paulemir Campos

  4. Problema de Busca Padrão • Estado é uma “black box” • Representado por qualquer estrutura de dados com: • Sucessor • Heurística • e, Teste de Meta IA - Prof. Paulemir Campos

  5. Constraint Satisfaction Problems • Estado é definido por variáveis Xi com valores num domínio Di • Teste de Meta é um conjunto de restrições sobre os valores das variáveis • Exemplo simples de uma Linguagem de Representação Formal • Uso de algoritmos e heurísticas depropósito geral IA - Prof. Paulemir Campos

  6. Problema de Colorir um Mapa • Variáveis: WA, NT, Q, NSW, V, SA, T • Domínio: Di = { vermelho, verde, azul } • Restrições: Regiões vizinhas devem ter cores diferentes IA - Prof. Paulemir Campos

  7. Problema de Colorir um Mapa • Soluções: São atribuições que satisfazem todas as restrições • Ex.: { WA=vermelho, NT=verde, Q=vermelho, NSW=verde, Victoria=vermelho, SA=azul, T=verde } IA - Prof. Paulemir Campos

  8. Grafo de Restrições Variável Restrição • Aumenta a velocidade de busca (Algoritmos CSP de propósito geral) • Ex.: Tasmânia é um subproblema independente IA - Prof. Paulemir Campos

  9. Variedade de CSPs • Variáveis Discretas • Domínios Finitos: d O(dn) • Ex.: CSP Booleanos, inclusive Satisfabilidade Booleana (NP-Completo) • Domínios Infinitos (Inteiros, strings, etc.) • Ex.: Agendamento de Trabalhos Variáveis : dias de start / end de cada job Linguagem de Restrições: StartJob1 + 5 StartJob3 Permite resolver restrições lineares frente a indecidibilidade não-linear IA - Prof. Paulemir Campos

  10. Variedade de CSPs • Variáveis Contínuas • Ex.: Tempo de start / end para as observações do Telescópio Hubble • Resolve restrições lineares em tempo polinomial por métodos de Programação Linear (PL) IA - Prof. Paulemir Campos

  11. Tipos de Restrições • Unária (Ex.: SA  verde ) • Binária (Ex.: SA  WA ) • Ordem Maior (Três ou mais variáveis) • Ex.: Restrições entre colunas cryptarithmetic • Preferenciais (Problemas de Otimização) • Ex.: Vermelho é melhor do que verde, isto é, há uma função de custo nas atribuições. IA - Prof. Paulemir Campos

  12. Cryptarithmetic • Problema • Associar a cada letra, um dígito diferente tal que substituindo as letras pelos seus dígitos associados a adição esteja aritmeticamente correta • Formulação em CSP: • Variáveis: F, T, U, W, R, O, X1, X2, X3 • Domínio: { 0,1,2,3,4,5,6,7,8,9 } • Restrições: alldiff (F,T,U,W,R,O) • O + O = R + 10 . X1 X1 + W + W = U + 10 . X2 • X2 + T + T = O + 10 . X3 X3 = F IA - Prof. Paulemir Campos

  13. CSPs do Mundo Real • Problemas de Alocação • Ex.: Que professores com qual turma? • Problemas de Oferta de Disciplinas • Ex.: Que matéria será oferecida,quando e onde? • Configuração de Hardware • Agendamento de Transportadora (Geralmente usam variáveis de valores reais) IA - Prof. Paulemir Campos

  14. Formulação Busca Padrão • Estados são definidos pelos valores atribuídos • Estado Inicial: Atribuição vazia, { } • Função Sucessor: Atribui um valor a uma variável vazia, sem violar as restrições • Teste de Meta: Atingiu a atribuição completa • Caminho de Custo: Um valor constante para todo passo. IA - Prof. Paulemir Campos

  15. Formulação Busca Padrão 1) Idêntico para todos os CSPs 2) Toda solução aparece em profundidade n com n variáveis (Uso de depth-first search) 3) Caminho é irrelevante, assim, pode ser usada Formulação de Estado Completo 4) Fator de ramificação b decresce com profundidade no nó da árvore de busca 5) Se cardinalidade maior dos domínios = d Então fator de ramificação a profundidade l, é b = (n - l)d Conseqüentemente há n!dnfolhas na árvore IA - Prof. Paulemir Campos

  16. Busca por Backtrackingpara CSP IA - Prof. Paulemir Campos

  17. Características • Atribuição de Variáveis são Comutativas • Ex.: WA=vermelho Então NT=verde NT=verde Então WA=vermelho • Só atribuição a uma variável simples por vez: • b = d • dn folhas na árvore de busca IA - Prof. Paulemir Campos

  18. Definição • Busca primeiro por profundidade (depth-first search) para CSPs com atribuição de variáveis simples. • É um algoritmo uniformizado básico para CSPs • Pode resolver n-queens para n 25 IA - Prof. Paulemir Campos

  19. Problema de Colorir um Mapa IA - Prof. Paulemir Campos

  20. Melhorando a Eficiência do Backtracking • Métodos de propósito geral podem obter imensos ganhos em velocidade • Que variável poderá ser atribuída a seguir? • Em que ordem seus valores serão tentados? • Pode-se detectar falhas inevitáveis cedo? • Podemos tirar vantagens da estrutura do problema? IA - Prof. Paulemir Campos

  21. Que variável será atribuída a seguir? • A variável mais restringida (unária) • Escolha a variável com o menor número de valores legais (Minimum Remaining Values) IA - Prof. Paulemir Campos

  22. Que variável será atribuída a seguir? • A variável com mais restrições (binária) • Escolha a variável com o maior número de restrições das variáveis restantes IA - Prof. Paulemir Campos

  23. Em que ordem seus valores serão tentados? • O valor com menos restrições • Escolha o valor que provoque o menor número de restrições possíveis nas variáveis restantes SA = azul SA = { } Obs.: Combinando essas heurísticas possivelmente resolveremos o problema n-queens com n=1000 IA - Prof. Paulemir Campos

  24. Em que ordem seus valores serão tentados? • Checagem para Frente (Forward Checking) • Idéia: Manter a trilha de valores legais restantes para as variáveis não atribuídas. • Busca termina quando qualquer variável tem nenhum valor legal. IA - Prof. Paulemir Campos

  25. Checagem para Frente Q WA V IA - Prof. Paulemir Campos

  26. Propagando Restrições • Checagem para frente propaga informações de atribuições para variáveis vazias. • Porém, não provê detecção antecipada de todas as falhas. Restrição: NT  SA IA - Prof. Paulemir Campos

  27. Pode-se detectar falhas inevitáveis cedo? • Consistência de Arco • Forma mais simples de propagaçãofaz cada arco consistente X  Y é consistente se somente se para cada valor x de X há algum y válido. IA - Prof. Paulemir Campos

  28. Consistência do Arco Caminho mais simples Q Se SA = azul Então NSW = vermelho WA SA NSW Logo o arco de SA para NSW é consistente! IA - Prof. Paulemir Campos

  29. Consistência do Arco Caminho menos simples Restrição: SA NSW Q WA SA NSW Se NSW = azul Então SA = { } Logo o arco de NSW para SA é INconsistente! IA - Prof. Paulemir Campos

  30. Se SA = azul Então NSW = {vermelho} Consistência do Arco Q Se vermelho  V={vermelho, verde,azul} Então V={verde,azul} WA SA NSW • Se X perde um valor, vizinhança de X precisa ser checada novamente V Com a checagem da vizinhança de NSW, o arco de V para NSW tornou-se consistente! IA - Prof. Paulemir Campos

  31. Se Q = verde Então NT = {azul} Se azul  SA={azul} Então SA={} NT Q Consistência do Arco WA SA Restrição: SA NT Com a checagem da vizinhança de NT, consegue-se detectar mais cedo (que checagem para frente) um futuro arco INconsistente! • Pode ser usado como pré-processamento ou depois de cada atribuição. • O(n2d3) podem ser reduzido para O(n2d2), porém não detecta todas as falhas em tempo polinomial. IA - Prof. Paulemir Campos

  32. Busca Local para CSP IA - Prof. Paulemir Campos

  33. Algoritmos Iterativos para CSPs • Hill-climbing e simulated annealing trabalham com estados “completos” • Aplicando-os aos CSPs • Permite estados com restrições insatisfeitas • Operadores reatribui valores às variáveis • Seleção de Variável • Qualquer com conflito aleatoriamente IA - Prof. Paulemir Campos

  34. Algoritmos Iterativos para CSPs • Seleção pela Heurística do Mínimo Conflito (Min-Conflicts Heuristic) • Escolha do valor que viole o menor número de restrições possível Ex.: Hill-climb com h(n) = nº total de violações IA - Prof. Paulemir Campos

  35. Problema das 4-Queens • Estados: 4 rainhas em 4 colunas (44 = 256) • Operador: Move rainha em coluna • Teste de Meta: Nenhum ataque • Avaliação: h(n) = nº de ataques IA - Prof. Paulemir Campos

  36. Performance do Mínimo Conflito • Estado Inicial Aleatório • Pode resolver o problema das n-queens em tempo quase sempre constante para um n arbitrário com alta probabilidade (n=10.000.000) • Qualquer CSP gerado aleatoriamente • O mesmo aparenta ser verdade, exceto na faixa estreita de razão R, conforme abaixo. nº de restrições R = nº de variáveis IA - Prof. Paulemir Campos

  37. Performance do Mínimo Conflito • Gráfico com Performance do Mínimo Conflito IA - Prof. Paulemir Campos

  38. Estrutura do Problema e Decomposição do Problema IA - Prof. Paulemir Campos

  39. Podemos tirar vantagens da estrutura do problema? • Tasmânia e o território principal da Austrália são Sub-problemas Independentes • Identificados pelo Grafo de Restrições: Componentes Conectados IA - Prof. Paulemir Campos

  40. Podemos tirar vantagens da estrutura do problema? • Suponha que cada sub-problema tenha c variáveis fora as n totais. O custo da solução de pior caso é n / c.dc, linear em n. Ex.: n=80, d=2, c=20 Problema Completo: 280 = 4 bilhões de anos** Sub-Problemas: 4. 220 = 0.4 segundos** ** Com taxa de 10 milhões de nós/segundo IA - Prof. Paulemir Campos

  41. CSP Estruturado em Árvore • Teorema: “Se o grafo de restrições não tem laços, o CSP pode ser resolvido em O(nd2)” • Os CSPs gerais no pior caso é de O(d2) • Aplicável a raciocínio lógico e probabilístico • Idéia: De um grafo de restrições construir uma árvore que represente o CSP. IA - Prof. Paulemir Campos

  42. CSP Estruturado em Árvore • Algoritmo para Construção da Árvore 1) Escolha qualquer variável para a raiz da árvore e ordene-as da raiz até as folhas 2) Para j de n decrescendo até 2, aplique a Consistência do Arco em (Xi,Xj)*, removendo valores do Domínio[Xi] caso necessário 3) Para j de 1 até n, atribua qualquer valor a Xjconsistente com o valor atribuído a Xi * Onde Xi é o pai de Xj IA - Prof. Paulemir Campos

  43. CSP Estruturado em Árvore Domínio = { vermelho, verde, azul } Restrição = Os nós folhas e os nós pai com cores distintas 1) Raiz: A; Variáveis Ordenadas = { A, B, C, D, E, F} 2) Aplicar a Consistência de Arco das folhas para a raiz, removendo inconsistência do nó pai 3) Atribuir a partir da raiz valores consistentes às folhas A A B B C C D D E E F F IA - Prof. Paulemir Campos

  44. CSP Quase Estruturado em Árvore • Passos para a sua obtenção: 1) Escolha uma ou mais variáveis de modo que o grafo de restrições torne-se uma árvore com a poda dessa(s) variável(is)* 2) Para cada atribuição possível ao conjunto de corte S que satisfaz todas as suas restrições faça: • 2.1 Remova do domínio das variáveis restantes qualquer valor que seja inconsistente com a atribuição para S, e • 2.2 Se o CSP resultante tem uma solução, então retorne-a junto com a atribuição para S * As variáveis removidas do grafo constituem o conjunto de corte S IA - Prof. Paulemir Campos

  45. CSP Quase Estruturado em Árvore NT • Conjunto de corte de tamanho c: Tempo de execução é deO(dc.(n-c) d2) (Grafo muito parecido com uma árvore   muito rápido para c pequeno) Q WA SA NSW V S = {SA = azul} T IA - Prof. Paulemir Campos

  46. Decomposição do Problema • Metodologia de Decomposição da Árvore 1) Cada variável do problema original deve aparecer em pelo menos um sub-problema 2) Se duas variáveis são conectadas por uma restrição no problema original, deverão estar juntas num ou mais sub-problema 3)Se uma variável aparece em mais de um sub-problema na árvore, ela deverá estar em cada sub-problema ao longo do caminho que os interliga IA - Prof. Paulemir Campos

  47. Sub-Problema 1 NT Sub-Problema 2 Q NT SA WA SA Q Sub-Problema 3 SA NSW Sub-Problema 4 SA NSW T V Sub-Problema 5 IA - Prof. Paulemir Campos

  48. Quadro Comparativo Obs.: Valores são números médios de checagem de consistência (> 5 execuções) IA - Prof. Paulemir Campos

  49. Bibliografia • Artificial Intelligence a Modern Approach (2nd Edition), S. Russell & P. Norvig, 2002, Prentice-Hall, 137-159pp • Russel, S. e Norvig, P. Inteligência Artificial. Tradução de: “Artificial Intelligence: A Modern Approach”, 2 ed. Editora Campus, 2004. (Capítulo 5) • http://aima.eecs.berkeley.edu/slides-pdf/chapter05.pdf IA - Prof. Paulemir Campos

More Related