Problemas de Satisfa ção de Restrições 03/05/2012 cap5.pdf · obtendo ganhos na busca pela...
-
Upload
nguyenhuong -
Category
Documents
-
view
220 -
download
0
Transcript of Problemas de Satisfa ção de Restrições 03/05/2012 cap5.pdf · obtendo ganhos na busca pela...
Problemas de SatisfaProblemas de Satisfaçção de ão de RestriRestriççõesões
03/05/201203/05/2012
Prof.Prof.aa Claudia Brandelero RizziClaudia Brandelero Rizzi
[email protected][email protected]
Universidade Estadual do Oeste do ParanUniversidade Estadual do Oeste do Paranáá
Curso de Bacharelado em Ciência da ComputaCurso de Bacharelado em Ciência da Computaççãoão
Roteiro
� Problemas de Satisfação de Restrições (cap. 5
Russell e Norvig)
� Busca com retrocesso
� Heurísticas para PSR
� Aplicações e exemplo
Problema de Satisfação de Restrições (PSR)� Um Problema de Satisfação de Restrições
� tipo de problema que impõe propriedades estruturais
adicionais à solução a ser encontrada
� há uma demanda mais refinada do que na busca
clássica
� Ex1. ir de Foz ao litoral com no máximo 2 tanques de
combustível e 10 horas de viagem
� Ex2. ir da Unioeste até a Rodoviária sem passar em nenhum
local com fiscalização eletrônica e passando no menor
número possível de semáforos.
Problema de Satisfação de Restrições (PSR)� Podem ser definidos algoritmos de busca que
tiram proveito da estrutura de dados.
� Utilizam heurísticas de uso geral em vez de
heurísticas específicas do problema – geralmente
considerando previamente as consequências do
atendimento a uma restrição.
� No problema de coloração de mapas, por exemplo:
pintar primeiro no mapa a cidade mais restritiva
(aquela tem maior número de conexões com outras).
Problema de Satisfação de Restrições (PSR)Um PSR consiste em:
� Um conjunto de variáveis que podem assumir
valores dentro de um dado domínio.
� Um conjunto de restrições que especificam
propriedades da solução, ou seja, valores que
essas variáveis podem assumir.
Problema de Satisfação de Restrições (PSR) - definições� Estado do problema:
� definidos pelos valores atribuídos para as variáveis
� Atribuição consistente ou válida
� Atribuição que não viola nenhuma restrição
� Estado inicial:
� Todas as variável são não-atribuídas
� Operadores:
� atribuem valores (instanciação) às variáveis (uma
variável por vez)
� Função sucessor:
� Um valor pode ser atribuído a qualquer variável
não-atribuída, desde que ela não entre em conflito
com variáveis atribuídas anteriormente
Problema de Satisfação de
Restrições (PSR)- definições� Teste objetivo:
� A atribuição corrente é aceitável
� Teste de término:
� verifica se todas as variáveis estão instanciadas
obedecendo as restrições do problema
� Solução:
� Atribuição completa que satisfaz a todas as
restrições
� Custo de caminho:
� O custo do caminho do estado inicial até o final.
Problema de Satisfação de Restrições (PSR)
� O conjunto de valores que a variável i pode
assumir é chamado domínio Di
� O domínio pode ser
� discreto (domínio finito): ex: coloração de mapas, 8
rainhas - valores finitos.
� contínuo (domínio infinito): casos em que não é
possível descrever todas as variáveis; ex: a data de
entrega de um trabalho, que pode se modificar
assumindo infinitas datas.
Problema de Satisfação de Restrições (PSR)
� Quanto à aridade, as restrições podem ser:
� Unárias: restringe o valor de uma única variável –
ex.cor verde
� Binárias: relaciona duas variáveis - ex. 8-rainhas
� n-árias: relaciona várias variáveis - ex. palavras
cruzadas
� Quanto à natureza, as restrições podem ser
� Absolutas: não podem ser violadas
� Preferenciais: devem ser satisfeitas quando possível
Problema de Satisfação de Restrições (PSR) - exemplo
� Problema das 8-rainhas
� variáveis: R1, R2, ..., R8.
� valores: possíveis posições do tabuleiro
� restrição binária: duas rainhas não podem estar na
mesma coluna, linha ou diagonal
� solução: valores para os quais a restrição é satisfeita
PSR: Busca com retrocesso
Características
� A expressão busca com retrocesso
(backtrack) é utilizada para indicar uma busca
em profundidade que escolhe valores para uma
variável de cada vez e que efetua o retrocesso
quando uma variável não tem valores válidos
restantes a serem atribuídos.
Problema de Satisfação de Restrições (PSR)
variáveis: A,B,C,D,E,Fdomínio: {red,green, blue}restrições: A ≠ B; A ≠ C; A ≠ E; B ≠ E; B ≠
F; C ≠ E; C ≠ F; D ≠ F; E ≠ F
A B
C
D
E
F
Problema de Satisfação de Restrições (PSR)
variáveis: A,B,C,D,E,Fdomínio: {red,green, blue}restrições: A ≠ B; A ≠ C; A ≠ E; B ≠ E; B ≠
F; C ≠ E; C ≠ F; D ≠ F; E ≠ F
A= red A= green A= blue
A= red
B=green
A= red
B=blue
A= red
B=green
C=blue
Restrição E
backtrack
A B
C
D
E
F
Problema de Satisfação de Restrições (PSR)
variáveis: A,B,C,D,E,Fdomínio: {red,green, blue}restrições: A ≠ B; A ≠ C; A ≠ E; B ≠ E; B ≠
F; C ≠ E; C ≠ F; D ≠ F; E ≠ F
A B
C
D
E
F
A B
C
D
E
F
Passo a passo de outro caso... Variáveis = A, B, C, D, E, FDomínios ={red,green,blue}
A=red
=> B, C, E ={green,blue} (variáveis c/ restrições c/ A)
=> D, F ={red,green,blue}
B=green
=> E = {blue}, F = {red, blue} (variáveis c/ restrições c/ B)
=> C ={green,blue}, D ={red,green,blue}
C = green
=> E ={blue}, F = {red, blue} (rest.c/ C)
=> D = {red,green,blue}
D=red, E=blue, F=??
Backtracking F e D!!
D=green, E=blue, F=red
Propagação de restriçõesExemplo: coloração de mapas
A B
C
D
E
F
Busca com retrocesso para PSR
Melhorias???
� Métodos gerais podem ser melhorados,
obtendo ganhos na busca pela solução
� Que variável poderá ser atribuída a seguir?
� Em que ordem seus valores serão tentados?
� Pode-se detectar falhas inevitáveis
antecipadamente?
Busca com retrocesso para PSR
Melhorias???
� Tentar reduzir o fator de expansão do
espaço de estados
� Como uma heurística pode ser utilizada?
� Ordenando a escolha da variável a instanciar
� Ordenando a escolha do valor a ser associado
a uma variável
Busca com retrocesso para PSR
Melhorias???
� Existem 3 heurísticas para isto...
� variável mais restritiva: variável envolvida no
maior número de restrições é preferida
� variável mais restringida: variável que pode
assumir menos valores é preferida
� valor menos restritivo: valor que deixa mais
liberdade para futuras escolhas
Variável mais restritiva(Variável envolvida no maior número de restrições E=5, F=4...)
variáveis: A,B,C,D,E,Fdomínio: Da=Db...=Df={green,red,blue}restrições: A ≠ B; A ≠ C; A ≠ E; B ≠ E;
B ≠ F; C ≠ E; C ≠ F; D ≠ F; E ≠ F
A B
C
D
E
F
A B
C
D
E
F
Candidatas em ordem de prioridade: E, F, ...resto
E = green
Candidatas: F, ...resto
F = red
Candidatos: A, B, C, D
A= red
Candidatos: B, C, DB= blue
Candidatos: C, DC= blueD = green
SEM BACKTRACK!!
variável mais restringida(variável que pode assumir menos valores)
variáveis: A,B,C,D,E,Fdomínio:Da=Db...=Df={green,red,blue}restrições: A ≠ B; A ≠ C; A ≠ E; B ≠ E;
B ≠ F; C ≠ E; C ≠ F; D ≠ F; E ≠ F
A B
C
D
E
F
A B
C
D
E
F
Candidatas: todas
A=green
Candidatas: B, C, E
B=red
Candidatos: E, F
E=blue
Candidatos: C, F, DC=red
Candidatos: F, DF=green
D=blue ou red
SEM BACKTRACK!!
Começando com
A = green
B = redC=??? red é melhor do queblue
valor menos restritivo(valor que deixa mais liberdade)
A B
C
D
E
F
variáveis: A,B,C,D,E,Fdomínio: Da=Db...=Df={green,red,blue}restrições: A ≠ B; A ≠ C; A ≠ E; B ≠ E; B ≠
F; C ≠ E; C ≠ F; D ≠ F; E ≠ F
CSP iterativo
� CSP pode ser resolvido iterativamente
1) instancia aleatoriamente todas variáveis
2) aplica operadores para trocar os valores e então
diminuir o número de restrições não satisfeitas.
Problema de Satisfação de Restrições (PSR)
PSR aplicado a problemas reais
� Importância prática, sobretudo em tarefas de
� criação (design)
� agendamento (scheduling)
� onde várias soluções existem e é mais fácil dizer o que
não se quer...
� Ex.: O prof. X não pode dar aulas na quarta a tarde
� Ex.: A disciplina Y não pode bater com a disciplina Z
� Estado atual
� Aplicações industriais
� Número crescente de artigos nas principais conferências
Problema de Satisfação de Restrições (PSR)
Exemplo
� 8 Rainhas – trabalho acadêmico
disponibilizado na página.
Referências
� RICH, ELAINE, KNIGHT, KEVIN, 1993.
Inteligência Artificial. São Paulo: McGrw-Hill
� RUSSEL, S.; NORVIG, P.; 1995. Inteligência
Artificial. 3. ed. Rio de Janeiro: Campus, 2003.
� RABUSKE, R. Inteligência Artificial.
Florianópolis: Editora da UFSC, 1995.
� GUDWIN, R. Representação e solução de
problemas. São Paulo: Unicamp, sd. (lâminas)
� Lâminas de UFPE