A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Satisfação de problemas restritos (CSP)

Apresentações semelhantes


Apresentação em tema: "Satisfação de problemas restritos (CSP)"— Transcrição da apresentação:

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

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

3 CSP Problema de busca padrão: CSP:
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.

4 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)

5 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.

6 Retome o problema com 8 rainhas
Variáveis: ?? Domínio: ?? Restrições: ??

7 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.

8 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:

9 Mundo real com CSP Problemas atribuídos: Problemas com calendários:
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.

10 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!

11 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.

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

13 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: 40% 50% 60% 63,33% 53,33%

14 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: Ordem de atribuição é irrelevante, portanto, muitos caminhos são equivalentes. As missões adicionadas não podem corrigir uma restrição violada.

15 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: Ordem de atribuição é irrelevante, portanto, muitos caminhos são equivalentes. As missões adicionadas não podem corrigir uma restrição violada.

16 Busca por backtracking
Usa busca em profundidade, mas: Fixar a ordem de atribuição. (pode ser feito em função SUCCESSORS). Verificar se há violações de restrição. A violação de restrição de verificação pode ser implementada de duas maneiras: Modificar SUCCESSORS para permitir valores únicos que são permitidos, dado os valores já atribuídos, ou. 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.

17 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.

18

19

20

21 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.

22 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.

23 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.

24 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.

25 Funcionários presentes
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: 18 12 26 30 20 Dias da semana Funcionários presentes 216 204 228 240 180

26 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 = ). O mesmo parece ser verdadeiro para qualquer CSP gerado aleatoriamente, exceto num intervalo estreito da relação.

27 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.

28 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:

29 Algoritmo Ordena os nós em largura iniciando por qualquer nó.
Para j = n até 1, aplicar FILTER(Vi, Vj) quando Vi é parente de Vj. Para j = 1 até n, escolher um valor válido para Vj dado o calor do parente.

30 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 é: RECO. ROBE. SECO. SEBO. SOBE.


Carregar ppt "Satisfação de problemas restritos (CSP)"

Apresentações semelhantes


Anúncios Google