Satisfação de problemas restritos (CSP)

Slides:



Advertisements
Apresentações semelhantes
Inteligência Artificial
Advertisements

Inteligência Artificial
Inteligência Artificial
N Rainhas Descrição do Problema Satisfação de Restrições (CSP)
Busca Otimizada Subida da Encosta (Hill Climbing)
1 Domínios Finitos A eficiência das programas em domínios finitos (incluindo booleanos) podem ainda ser melhoradas pelo uso de Algoritmos de Propagação.
Problemas de Forma Não-padrão
Introdução à Linguagem Prolog
Busca em Profundidade Para encontrar um caminho de solução Sol, de um dado nó para algum nó objetivo Se N é um nó objetivo, então Sol=[N] Se há um nó N1.
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Busca informada (heurística) Parte 2
Agentes Resolvedores de problemas II. SI Tipos de Busca Desinformada Busca em Largura (ou extensão) Busca por Custo Uniforme Busca em Profundidade.
1 Inventando Funções Heurísticas Como escolher uma boa função heurística h? h depende de cada problema particular. h deve ser admissível não superestimar.
Tutorial de exercícios Estatística Básica Utilizando o Excel Delamaro e Marins 2a. Aula - Estatística Descritiva.
Busca Online Alexandra Barros Geber Ramalho. Busca Offine x Busca Online Busca Offline (ou planejamento clássico) –Computa a solução (do estado inicial.
DI - UFPE 1 Constraint Satisfaction Problems (CSP) nConceitos básicos nBusca cega simples e refinada nBusca heurística nCSP iterativo.
Busca Cega (Exaustiva)
Inventando Funções Heurísticas
- Conceitos e termos - Aplicações
WAR STORY Stripping Triangulations Luciana Oliveira e Silva
Solução de problemas por meio de busca
Capítulo 3 - Russell e Norvig
Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Buscas em Grafos Prof. André Renato 1º Semestre/2012
Informática Teórica Engenharia da Computação
Meta - heurísticas Prof. Aurora
Disciplina: Inteligência Artificial
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
FACENS – Engenharia da Computação Inteligência Artificial Busca.
Informática Teórica Engenharia da Computação
1 Introdução aos Agentes Inteligentes Flávia Barros.
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Tema 4 André Martini Diniz Danilo Elias da Silva
Resolução de problemas por meio de busca
Propriedades da Integral Definidas
Busca com informação e exploração
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Introdução aos Agentes Inteligentes Algoritmos de Melhorias Iterativas (Otimização) Flávia Barros.
ALGORITMOS E TECNICAS DE PROGRAMACAO II
Computação Gráfica – Visibilidade
Algoritmos de Busca Local
Tópicos Avançados em Inteligência Artificial
Inteligência Artificial
Técnicas de Busca Heurística Problemas da IA complexos demais para serem solucionados por técnicas diretas: criam-se técnicas de busca aprorpiados; chamados.
Tópicos em Sistemas Inteligentes
Construção e Análise de Algoritmos
Inteligência Artificial
PUCC 1 Tópicos em Sistemas Inteligentes. PUCC 2 Agenda - Aula 03 Buscas Agentes que Planejam.
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
Resolução de Problemas de Busca
1 Introdução aos Agentes Inteligentes Resolução de Problemas de Busca Flávia Barros.
REVISÃO Prof. Mário Dantas
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Problemas de Forma Não-Padrão

GERENCIAMENTO DE PROJETOS
Aula 12 COLORAÇÃO DE GRAFOS
Resolução de Problemas Sistemas de Produção Prof. Cláudio M. N. A. Pereira.
Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega
Busca em Espaço de Estados
Desenvolvimento de Sistemas Baseados em Conhecimento
Metodologia da Pesquisa em Ensino de Ciências I
Algoritmo de Transportes Objecto de Aprendizagem Manuel Pina MarquesDEIG
Cálculo Apresentação de Limite Elano Diniz.
Sistemas Inteligentes Busca Cega (Exaustiva)
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Comportamento Assintótico
Transcrição da apresentação:

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.

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.

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)

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.

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

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.

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:

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.

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!

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.

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

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%

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.

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.

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.

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.

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.

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.

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.

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.

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 2ª 216 3ª 204 4ª 228 5ª 240 6ª 180

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.

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.

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:

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.

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.