Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José...

30
Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho

Transcript of Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José...

Page 1: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Satisfação de problemas restritos

(CSP)Inteligência Artificial

Prof. Esp. Cristiano José Cecanho

Page 2: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Conteúdo

• Exemplos CSP.• Busca geral aplicada a CSP.• Backtracking.• Checagem do próximo.• Heurística para CSP.

Page 3: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

CSP

• Problema de busca padrão:– Estado é uma “caixa-preta” – qualquer estrutura de dados antiga que

suporta teste de objetivo, avaliação e sucessor.

• CSP: – Estado é definido por variáveis Vi com valores para domínios Di.

– O teste de objetivo é configurado pela especificação da restrições avaliáveis por valores semi-configurados por variáveis.

• Um simples exemplo de uma representação de forma normal.• Permite que algoritmos de uso geral com mais poder do que

os algoritmos de busca padrão.

Page 4: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Exemplo: jogo com 4 rainhas

• Assuma uma rainha por coluna. Qual linha será alocada para cada uma?– Variáveis: Q1, Q2, Q3, Q4.

– Domínio: Di = {1, 2, 3, 4}.

– Restrições: • Qi ≠ Qj (não pode ser a mesma linha).

• |Qi – Qj| ≠ |i – j| (ou diagonal igual).

– Transpor cada restrição em um conjunto de valores permitidos para suas variáveis.

– Valores para (Q1, Q2) são (1, 3) (1, 4) (2, 4) (3, 1) (4, 1) (4, 2)

Page 5: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Grafo de restrições

• CSP binário: cada restrição relata mais de duas variáveis.

• Grafo de restrições: nós são variáveis, os arcos mostram restrições.

Page 6: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Retome o problema com 8 rainhas

Variáveis: ??Domínio: ??Restrições: ??

Page 7: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Um exemplo de cripto aritmética

• Variáveis:– DEMNORSY

• Domíno:– {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

• Restrições:– M ≠ 0, S ≠ 0 (restrições unárias).– Y = D + E ou Y = D + E – 10, etc.– D ≠ E, D ≠ M, D ≠ N, etc.

Page 8: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Exemplo: Colorir mapa

• Colorir um mapa para que nenhum país adjacente tenha a mesma cor.

• Variáveis: – Países Ci

• Domínio:– {Vermelho, Azul, Verde}

• Restrições:– C1 ≠ C2, C1 ≠ C5, etc.

• Grafo de restrições:

Page 9: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Mundo real com CSP

• Problemas atribuídos:– Quem ensina que classe.

• Problemas com calendários:– Qual classe é oferecida, quando e onde?

• Configuração de hardware.• Planilhas.• Programação de transporte.• Programação de fábrica.• Planta baixa.• Obs: observar que muitos problemas do mundo real envolvem variáveis

de valor real.

Page 10: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Aplicando a busca padrão

• Vamos começar com a abordagem direta, muda, de forma a corrigi-lo.

• Estados são definidos pelos valores atribuídos até agora.

• Estado inicial: todas as variáveis não são atribuídas.• Operadores: atribuir um valor a uma variável não

atribuída.• Teste objetivo: todas as variáveis atribuídas, sem

restrições violadas.• Note que isto é similar a todos CSP!

Page 11: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Implementação

• O CSP estado mantém o controle de quais variáveis têm valores até o momento, cada variável tem um domínio e um valor atual.

• Restrições podem ser representadas:– Explicitamente: como valores permitidos, ou– Implicitamente: por uma função que testa para satisfação da

restrição.

Page 12: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Busca padrão aplicada a colorização de mapas

Page 13: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Exercício• A figura abaixo mostra um retângulo formado por 40 ladrilhos

retangulares iguais de três tipos: ladrilhos brancos, ladrilhos cinza e ladrilhos metade branco e metade cinza. Com esses ladrilhos foi formada a letra M.

• A porcentagem da superfície do retângulo que é branca é igual a:a) 40%b) 50%c) 60%d) 63,33%e) 53,33%

Page 14: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Complexidade de aproximação muda

• Máximo de profundidade do espaço m = ??• Profundidade do estado solução d = ??• Algoritmo de busca para uso ??• Fator de ramificação b = ??

• Este pode ser realmente melhorado, notando o seguinte:1. Ordem de atribuição é irrelevante, portanto, muitos

caminhos são equivalentes.2. As missões adicionadas não podem corrigir uma restrição

violada.

Page 15: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Complexidade de aproximação muda

• Máximo de profundidade do espaço m = ?? n (número de variáveis).

• Profundidade do estado solução d = ?? n (todas as variáveis são atribuídas).

• Algoritmo de busca para uso ?? Busca em profundidade.• Fator de ramificação b = ??

• Este pode ser realmente melhorado, notando o seguinte:1. Ordem de atribuição é irrelevante, portanto, muitos caminhos são

equivalentes.2. As missões adicionadas não podem corrigir uma restrição violada.

Page 16: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Busca por backtracking

• Usa busca em profundidade, mas:1. Fixar a ordem de atribuição.

(pode ser feito em função SUCCESSORS).

2. Verificar se há violações de restrição.

• A violação de restrição de verificação pode ser implementada de duas maneiras:1. Modificar SUCCESSORS para permitir valores únicos que são

permitidos, dado os valores já atribuídos, ou.2. Conferir restrições que são satisfeitas antes de expandir um estado.

• Busca Backtracking é o algoritmo básico para um CSP desinformado.

• Pode resolver n-rainhas para n = 15.

Page 17: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Verificação para frente

• Ideia: acompanhar os valores restante legais para as variáveis não atribuídas, Terminar a pesquisa quando qualquer variável não tem valores legais:

• Coloração de mapa simplificado:

• Pode resolver n-rainhas até n = 30.

Page 18: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.
Page 19: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.
Page 20: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.
Page 21: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Heurísticas para CSP• Mai decisões inteligentes em:

– Qual o valor a ser escolhido para cada variável.– Qual variável para atribuir ao próximo.

• Dado C1 = Vermelho, C2 = Verde, escolher C3 = ??

• Dado C1 = Vermelho, C2 = Verde, qual o próximo ??

• Pode resolver n-rainhas para n = 100.

Page 22: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Heurísticas para CSP• Mai decisões inteligentes em:

– Qual o valor a ser escolhido para cada variável.– Qual variável para atribuir ao próximo.

• Dado C1 = Vermelho, C2 = Verde, escolher C3 = ??– C3 = Verde: menor restrição de valor.

• Dado C1 = Vermelho, C2 = Verde, qual o próximo ??– C5 : maior restrição de calor.

• Pode resolver n-rainhas para n = 1000.

Page 23: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Algoritmos iterativos para CSP

• Hill-climbing, simula reaver, tipicamente trabalha com estados completos, todas as variáveis são permitidas.

• Para aplicar CSP:– Todos os estados com restrições insatisfeitas;– operadores realocam os valores das variáveis.

• Seleção de variáveis: randomicamente seleciona qualquer variável em conflito.

• Heurísticas de min-conflicts:– Escolhe o valor que viola a restrição menor.– Hill-climbing com h(n) = número total de restrições violadas.

Page 24: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Exemplo: 4 - rainhas

• Estado: 4 rainhas em 4 colunas (44 = 256 estados).

• Operadores: mover a rainha para uma coluna.• Objetivo teste: não pode atacar.• Avaliação: h(n) = número de ataques.

Page 25: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Exercício

• A tabela mostra o número de funcionários de uma empresa presentes ao trabalho durante os cinco dias de uma semana.

• Na quinta-feira não houve faltas. A média diária de faltas de funcionários, nessa semana, foi aproximadamente:

a) 18b) 12c) 26d) 30e) 20

Dias da semana Funcionários presentes

2ª 216

3ª 204

4ª 228

5ª 240

6ª 180

Page 26: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Performance de min-conflicts

• Dado um estado inicial aleatório, pode resolver n-rainhas em tempo quase constante para n arbitrário com alta probabilidade (n = 10.000.00).

• O mesmo parece ser verdadeiro para qualquer CSP gerado aleatoriamente, exceto num intervalo estreito da relação.

Page 27: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Estrutura de árvore com CSP

• Teorema: se o gráfico não tem restrição de loops, o CSP pode ser resolvido em O (n | D | 2) tempo.

• Comparado com o CSP geral, o tempo de pior caso é O (| D | n).

• Esta propriedade também se aplica ao raciocínio lógico e probabilístico: como exemplo importante da relação entre restrições sintáticas e complexidade de raciocínio.

Page 28: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Algoritmo com estrutura de árvore CSP

• Passo básico chamado de filtragem:

• FILTER(Vi, Vj)

– Remove valores de Vi que são inconsistentes com todos os valores de Vj.

• Exemplo de filtragem:

Page 29: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Algoritmo

1. Ordena os nós em largura iniciando por qualquer nó.

2. Para j = n até 1, aplicar FILTER(Vi, Vj) quando Vi é parente de Vj.

3. Para j = 1 até n, escolher um valor válido para Vj dado o calor do parente.

Page 30: Satisfação de problemas restritos (CSP) Inteligência Artificial Prof. Esp. Cristiano José Cecanho.

Exercícios• Observe que cada um dos dois primeiros pares de palavras abaixo, a palavra

da direita foi formada a partir da palavra da esquerda, utilizando-se um mesmo critério.

• DIANA –ANDA• CRATERA – ARCA• BROCHES – ?

• Com base nesse critério, a palavra que substitui corretamente o ponto de interrogação é:

a) RECO.b) ROBE.c) SECO.d) SEBO.e) SOBE.