n - pgc-upe

Propaganda
UPE – Caruaru – Sistemas de Informação
Disciplina: Inteligência Artificial
Prof.: Paulemir G. Campos
Problemas de Satisfação de
Restrições
(Constraint Satisfaction Problems)
31/05/2017
IA - Prof. Paulemir Campos
1
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
31/05/2017
IA - Prof. Paulemir Campos
2
CSP e Exemplos
31/05/2017
IA - Prof. Paulemir Campos
3
Problema de Busca Padrão


Estado é uma “black box”
Representado por qualquer estrutura de
dados com:
– Sucessor
– Heurística
– e, Teste de Meta
31/05/2017
IA - Prof. Paulemir Campos
4
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 de
propósito geral
31/05/2017
IA - Prof. Paulemir Campos
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
31/05/2017
IA - Prof. Paulemir Campos
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 }
31/05/2017
IA - Prof. Paulemir Campos
7
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
31/05/2017
IA - Prof. Paulemir Campos
8
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
31/05/2017
IA - Prof. Paulemir Campos
9
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)
31/05/2017
IA - Prof. Paulemir Campos
10
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.
31/05/2017
IA - Prof. Paulemir Campos
11
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
31/05/2017
IA - Prof. Paulemir Campos
12
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)
31/05/2017
IA - Prof. Paulemir Campos
13
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.
31/05/2017
IA - Prof. Paulemir Campos
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
31/05/2017
IA - Prof. Paulemir Campos
15
Busca por Backtracking
para CSP
31/05/2017
IA - Prof. Paulemir Campos
16
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
31/05/2017
IA - Prof. Paulemir Campos
17
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
31/05/2017
IA - Prof. Paulemir Campos
18
Problema de Colorir um Mapa
31/05/2017
IA - Prof. Paulemir Campos
19
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?
31/05/2017
IA - Prof. Paulemir Campos
20
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)
31/05/2017
IA - Prof. Paulemir Campos
21
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
31/05/2017
IA - Prof. Paulemir Campos
22
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
Obs.: Combinando essas heurísticas possivelmente
resolveremos o problema n-queens com n=1000
31/05/2017
IA - Prof. Paulemir Campos
SA = { }
23
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.
31/05/2017
IA - Prof. Paulemir Campos
24
Checagem para Frente
Q
WA
V
31/05/2017
IA - Prof. Paulemir Campos
25
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
31/05/2017
IA - Prof. Paulemir Campos
26
Pode-se detectar falhas
inevitáveis cedo?

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.
31/05/2017
IA - Prof. Paulemir Campos
27
Caminho
mais simples
Consistência do Arco
Q
Se
SA = azul
Então NSW = vermelho
WA
SA
NSW
Logo o arco de SA para NSW é consistente!
31/05/2017
IA - Prof. Paulemir Campos
28
Caminho
menos simples
Consistência do Arco
Restrição:
SA  NSW
Logo o arco
de NSW para SA
é INconsistente!
31/05/2017
IA - Prof. Paulemir Campos
Q
WA
SA
NSW
Se
NSW = azul
Então
SA = { }
29
Se
SA = azul
Então NSW = {vermelho}
Consistência
do Arco
Se vermelho  V={vermelho, verde,azul}
Então V={verde,azul}
Q
WA
SA
NSW
V
Com a checagem da vizinhança de NSW,
o arco de V para NSW tornou-se consistente!

Se X perde um valor, vizinhança de X precisa ser
checada novamente
31/05/2017
IA - Prof. Paulemir Campos
30
Se azul  SA={azul}
Então SA={}
Se
Q = verde
Então NT = {azul}
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.
31/05/2017
IA - Prof. Paulemir Campos
31
Busca Local para CSP
31/05/2017
IA - Prof. Paulemir Campos
32
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
31/05/2017
IA - Prof. Paulemir Campos
33
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
31/05/2017
IA - Prof. Paulemir Campos
34
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
31/05/2017
IA - Prof. Paulemir Campos
35
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
31/05/2017
IA - Prof. Paulemir Campos
36
Performance do Mínimo Conflito

Gráfico com Performance do Mínimo
Conflito
31/05/2017
IA - Prof. Paulemir Campos
37
Estrutura do Problema e
Decomposição do Problema
31/05/2017
IA - Prof. Paulemir Campos
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
31/05/2017
IA - Prof. Paulemir Campos
39
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
31/05/2017
IA - Prof. Paulemir Campos
40
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.
31/05/2017
IA - Prof. Paulemir Campos
41
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 Xj
consistente com o valor atribuído a Xi
* Onde Xi é o pai de Xj
31/05/2017
IA - Prof. Paulemir Campos
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
31/05/2017
IA - Prof. Paulemir Campos
43
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
31/05/2017
IA - Prof. Paulemir Campos
44
CSP Quase Estruturado
em Árvore
NT
Q
WA
SA
NSW
V
S = {SA = azul}
T
 Conjunto de corte de tamanho c:
Tempo de execução é de O(dc.(n-c) d2)
(Grafo muito parecido com uma árvore 
 muito rápido para c pequeno)
31/05/2017
IA - Prof. Paulemir Campos
45
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
31/05/2017
IA - Prof. Paulemir Campos
46
Sub-Problema 1
NT
Q
Sub-Problema 2
NT
SA
WA
SA
Q
SA
Sub-Problema 3
NSW
Sub-Problema 4
SA
NSW
T
V
Sub-Problema 5
31/05/2017
IA - Prof. Paulemir Campos
47
Quadro Comparativo
Problema
USA
(4-colors)
n-Queens
(3 < n < 50)
Zebra
(ex. 5.13)
Backtracking
(>1.000K)
(>40.000K)
BT+MRV
Forward
Checking
(>1.000K)
FC+MRV
Minimum
Conflicts
2K
60
64
13.500K (>40000K)
817K
4K
3.859K
1K
35K
0.5K
2K
Random 1
415K
3K
26K
2K
Not run
Random 2
942K
27K
77K
15K
Not run
Obs.: Valores são números médios de checagem de consistência (> 5 execuções)
31/05/2017
IA - Prof. Paulemir Campos
48
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/slidespdf/chapter05.pdf
31/05/2017
IA - Prof. Paulemir Campos
49
Download