Resoluo de Problemas por Meio de Resoluo de
Resolução de Problemas por Meio de Resolução de Restrições (Constraint Satisfaction Problems) Paulemir G. Campos 5/19/2021 MCI - Prof. Jacques Robin 1
Roteiro da Apresentação n n n CSP e Exemplos Busca por Backtracking para CSP Busca Local para CSP Estrutura do Problema e Decomposição do Problema Quadro Comparativo Bibliografia 5/19/2021 MCI - Prof. Jacques Robin 2
CSP e Exemplos 5/19/2021 MCI - Prof. Jacques Robin 3
Problema de Busca Padrão n n Estado é uma “black box” Representado por qualquer estrutura de dados com: – Sucessor – Heurística – e, Teste de Meta 5/19/2021 MCI - Prof. Jacques Robin 4
Constraint Satisfaction Problems n n 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 de propósito geral 5/19/2021 MCI - Prof. Jacques Robin 5
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 5/19/2021 MCI - Prof. Jacques Robin 6
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 } 5/19/2021 MCI - Prof. Jacques Robin 7
Grafo de Restrições Variável Restrição n Aumenta a velocidade de busca (Algoritmos CSP de propósito geral) Ex. : Tasmânia é um subproblema independente 5/19/2021 MCI - Prof. Jacques Robin 8
Variedade de CSPs n 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: Start. Job 1 + 5 Start. Job 3 Permite resolver restrições lineares frente a indecidibilidade não-linear 5/19/2021 MCI - Prof. Jacques Robin 9
Variedade de CSPs n 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 PL 5/19/2021 MCI - Prof. Jacques Robin 10
Tipos de Restrições n n n Unária (Ex. : SA verde ) Binária (Ex. : SA WA ) Ordem Maior (Três ou mais variáveis) • Ex. : Restrições entre colunas cryptarithmetic n Preferenciais (Problemas de Otimização) • Ex. : Vermelho é melhor do que verde, isto é, há uma função de custo nas atribuições. 5/19/2021 MCI - Prof. Jacques Robin 11
Cryptarithmetic n 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 n Formulação em CSP: – Variáveis: F, T, U, W, R, O, X 1, X 2, X 3 – 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. X 1 + W = U + 10. X 2 + T = O + 10. X 3 = F 5/19/2021 MCI - Prof. Jacques Robin 12
CSPs do Mundo Real n Problemas de Alocação • Ex. : Que professores com qual turma? n Problemas de Oferta de Disciplinas • Ex. : Que matéria será oferecida, quando e onde? n n Configuração de Hardware Agendamento de Transportadora (Geralmente usam variáveis de valores reais) 5/19/2021 MCI - Prof. Jacques Robin 13
Formulação Busca Padrão n n n 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. 5/19/2021 MCI - Prof. Jacques Robin 14
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!dn folhas na árvore 5/19/2021 MCI - Prof. Jacques Robin 15
Busca por Backtracking para CSP 5/19/2021 MCI - Prof. Jacques Robin 16
Características n Atribuição de Variáveis são Comutativas – Ex. : WA=vermelho Então NT=verde Então WA=vermelho n Só atribuição a uma variável simples por vez: –b=d – dn folhas na árvore de busca 5/19/2021 MCI - Prof. Jacques Robin 17
Definição n n n 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 5/19/2021 MCI - Prof. Jacques Robin 18
Problema de Colorir um Mapa 5/19/2021 MCI - Prof. Jacques Robin 19
Melhorando a Eficiência do Backtracking n 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? 5/19/2021 MCI - Prof. Jacques Robin 20
Que variável será atribuída a seguir? n A variável mais restringida (unária) – Escolha a variável com o menor número de valores legais (Minimum Remaining Values) 5/19/2021 MCI - Prof. Jacques Robin 21
Que variável será atribuída a seguir? n 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 5/19/2021 MCI - Prof. Jacques Robin 22
Em que ordem seus valores serão tentados? n 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 Obs. : Combinando essas heurísticas possivelmente resolveremos o problema n-queens com n=1000 5/19/2021 MCI - Prof. Jacques Robin SA = { } 23
Em que ordem seus valores serão tentados? n 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. 5/19/2021 MCI - Prof. Jacques Robin 24
Checagem para Frente Q WA V 5/19/2021 MCI - Prof. Jacques Robin 25
Propagando Restrições n n 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 5/19/2021 MCI - Prof. Jacques Robin 26
Pode-se detectar falhas inevitáveis cedo? n Consistência de Arco • Forma mais simples de propagação faz cada arco consistente X Y é consistente se somente se para cada valor x de X há algum y válido. 5/19/2021 MCI - Prof. Jacques Robin 27
Caminho mais simples Consistência do Arco Se SA = azul Então NWS = vermelho Q WA SA NWS Logo o arco de SA para NWS é consistente! 5/19/2021 MCI - Prof. Jacques Robin 28
Caminho menos simples Consistência do Arco Restrição: SA NWS Logo o arco de NWS para SA é INconsistente! 5/19/2021 MCI - Prof. Jacques Robin Q WA SA NWS Se NWS = azul Então SA = { } 29
Se SA = azul Então NWS = {vermelho} Consistência do Arco Se vermelho V={vermelho, verde, azul} Então V={verde, azul} Q WA SA NWS V Com a checagem da vizinhança de NWS, o arco de V para NWS tornou-se consistente! n Se X perde um valor, vizinhança de X precisa ser checada novamente 5/19/2021 MCI - Prof. Jacques Robin 30
Se azul SA={azul} Então SA={} Se Q = verde Então NT = {azul} NT Consistência do Arco Q 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! n n Pode ser usado como pré-processamento ou depois de cada atribuição. O(n 2 d 3) podem ser reduzido para O(n 2 d 2), porém não detecta todas as falhas em tempo polinomial. 5/19/2021 MCI - Prof. Jacques Robin 31
Busca Local para CSP 5/19/2021 MCI - Prof. Jacques Robin 32
Algoritmos Iterativos para CSPs n n 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 n Seleção de Variável • Qualquer com conflito aleatoriamente 5/19/2021 MCI - Prof. Jacques Robin 33
Algoritmos Iterativos para CSPs n 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 5/19/2021 MCI - Prof. Jacques Robin 34
Problema das 4 -Queens n Estados: 4 rainhas em 4 colunas (44 = 256) n Operador: Move rainha em coluna Teste de Meta: Nenhum ataque Avaliação: h(n) = nº de ataques n n 5/19/2021 MCI - Prof. Jacques Robin 35
Performance do Mínimo Conflito n 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) n 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 5/19/2021 MCI - Prof. Jacques Robin 36
Performance do Mínimo Conflito n Gráfico com Performance do Mínimo Conflito 5/19/2021 MCI - Prof. Jacques Robin 37
Estrutura do Problema e Decomposição do Problema 5/19/2021 MCI - Prof. Jacques Robin 38
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 5/19/2021 MCI - Prof. Jacques Robin 39
Podemos tirar vantagens da estrutura do problema? n 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 5/19/2021 MCI - Prof. Jacques Robin 40
CSP Estruturado em Árvore n n Teorema: “Se o grafo de restrições não tem laços, o CSP pode ser resolvido em O(nd 2)” Os CSPs gerais no pior caso é de O(d 2) 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. 5/19/2021 MCI - Prof. Jacques Robin 41
CSP Estruturado em Árvore n 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 Xj consistente com o valor atribuído a Xi * Onde Xi é o pai de Xj 5/19/2021 MCI - Prof. Jacques Robin 42
CSP Estruturado em Árvore A B C D E F 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 5/19/2021 MCI - Prof. Jacques Robin 43
CSP Quase Estruturado em Árvore n 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 5/19/2021 MCI - Prof. Jacques Robin 44
CSP Quase Estruturado em Árvore NT Q WA SA NWS V S = {SA = azul} n T Conjunto de corte de tamanho c: Tempo de execução é de O(dc. (n-c) d 2) (Grafo muito parecido com uma árvore muito rápido para c pequeno) 5/19/2021 MCI - Prof. Jacques Robin 45
Decomposição do Problema n 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 5/19/2021 MCI - Prof. Jacques Robin 46
Sub-Problema 1 NT Q Sub-Problema 2 NT SA WA SA Q SA Sub-Problema 3 NWS Sub-Problema 4 SA NWS T V Sub-Problema 5 5/19/2021 MCI - Prof. Jacques Robin 47
Quadro Comparativo Problema USA (4 -colors) n-Queens (2 < n < 50) Zebra (ex. 5. 13) Backtracking (>1. 000 K) (>40. 000 K) BT+MRV Forward Checking (>1. 000 K) FC+MRV Minimum Conflicts 2 K 60 64 13. 500 K (>40000 K) 817 K 4 K 3. 859 K 1 K 35 K 0. 5 K 2 K Random 1 415 K 3 K 26 K 2 K Not run Random 2 942 K 27 K 77 K 15 K Not run Obs. : Valores são números médios de checagem de consistência (> 5 execuções) 5/19/2021 MCI - Prof. Jacques Robin 48
Bibliografia n n Artificial Intelligence a Modern Approach (2 nd Edition), S. Russell & P. Norvig, 2002, Prentice-Hall, 137159 pp http: //aima. eecs. berkeley. edu/slidespdf/chapter 04 b. pdf 5/19/2021 MCI - Prof. Jacques Robin 49
- Slides: 49