Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Ia psr, Notas de aula de Informática

Aula de IA.

Tipologia: Notas de aula

Antes de 2010

Compartilhado em 01/12/2009

ygor-dos-santos-luz-3
ygor-dos-santos-luz-3 🇧🇷

4.7

(3)

55 documentos

1 / 6

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
1
Problemas de Satisfação de
Restrições (PSR)
Conceitos básicos
Busca cega simples e refinada
Busca heurística
PSR iterativo
2
Constraint Satisfaction Problems (PSR)
Um Problema de Satisfação de Restrições
tipo de problema que impõe propriedades
estruturais adicionais à solução a ser encontrada
uma demanda mais refinada do que na busca
clássica
ex. ir de Conquista à Ilhéus com no máximo 1
tanque de gasolina e 4 horas de viagem
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 - valores que essas
variáveis podem assumir.
3
PSR: Formulação
Estados:
definidos pelos valores possíveis das variáveis
Estado inicial:
nenhuma variável instanciada ainda
Operadores:
atribuem valores (instanciação) às variáveis (uma
variável por vez)
Teste de término:
verificar se todas as variáveis estão instanciadas
obedecendo as restrições do problema
Solução:
conjunto dos valores das variáveis instanciadas
Custo de caminho:
número de passos de atribuição
4
PSR: características das restrições
O conjunto de valores que a variável ipode assumir é
chamado domínio Di
O domínio pode ser discreto (fabricantes de uma peça do
carro) ou contínuo (peso das peças do carro)
Quanto à aridade, as restrições podem ser
unárias (sobre uma única variável)
binárias (sobre duas variáveis) - ex. 8-rainhas
n-árias - ex. palavras cruzadas
a restrição unária é um sub-conjunto do domínio, enquanto
que a n-ária é um produto cartesiano dos domínios
Quanto à natureza, as restrições podem ser
absolutas (não podem ser violadas)
preferenciais (devem ser satisfeitas quando possível)
Ex.: horário de aulas
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Ia psr e outras Notas de aula em PDF para Informática, somente na Docsity!

Problemas de Satisfação de

Restrições (PSR)

 Conceitos básicos

 Busca cega simples e refinada

 Busca heurística

 PSR iterativo

Constraint Satisfaction Problems (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

  • ex. ir de Conquista à Ilhéus com no máximo 1

tanque de gasolina e 4 horas de viagem

 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 - valores que essas

variáveis podem assumir.

3

PSR: Formulação

 Estados:

  • definidos pelos valores possíveis das variáveis

 Estado inicial:

  • nenhuma variável instanciada ainda

 Operadores:

  • atribuem valores (instanciação) às variáveis (uma

variável por vez)

 Teste de término:

  • verificar se todas as variáveis estão instanciadas

obedecendo as restrições do problema

 Solução:

  • conjunto dos valores das variáveis instanciadas

 Custo de caminho:

  • número de passos de atribuição

4

PSR: características das restrições

 O conjunto de valores que a variável i pode assumir é

chamado domínio Di

  • O domínio pode ser discreto (fabricantes de uma peça do carro) ou contínuo (peso das peças do carro)

 Quanto à aridade, as restrições podem ser

  • unárias (sobre uma única variável)
  • binárias (sobre duas variáveis) - ex. 8-rainhas
  • n-árias - ex. palavras cruzadas
  • a restrição unária é um sub-conjunto do domínio, enquanto que a n-ária é um produto cartesiano dos domínios

 Quanto à natureza, as restrições podem ser

  • absolutas (não podem ser violadas)
  • preferenciais (devem ser satisfeitas quando possível)
    • Ex.: horário de aulas

Exemplo

 Problema das 8-rainhas

  • variáveis: localização das rainhas
  • 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

Busca cega para PSR

 Funcionamento

  • estado inicial: variáveis sem atribuição
  • aplica operador: instancia uma variável
  • teste de parada: todas variáveis instanciadas sem violações

 Análise

  • pode ser implementada com busca em profundidade limitada ( l = número de variáveis)
  • é completa
  • fator de expansão: ∑i |Di|
  • o teste de parada é decomposto em um conjunto de restrições sobre as variáveis

7 Exemplo de coloração de mapas grafo de restrições

A B

C

D

E

F

A

B

C

D

F

E

8

Simulação passo a passo... A= verde B = verde C= verde D=verde E=verde F=verde (falha c/ C, E, D) F=vermelho E (falha c/ C,A,B) E=vermelho (falha c/ F) E=azul C (falha c/ A) ... Muito dispendioso

A B

C

D

E

F

Exemplo: coloração de mapas busca cega em profundidade

variáveis: A,B,C,D,E,F

domínio: {verde,vermelho,azul}

restrições : A ≠ B; A ≠ C; A ≠ E; B ≠

E; B ≠ F; C ≠ E; C ≠ F; D

≠ F; E ≠ F

Refinamentos

 Verificação prévia ( forward checking )

  • idéia : olhar para frente para detectar situações insolúveis

 Algoritmo:

  • Após cada atribuição, elimina do domínio das variáveis não instanciadas os valores incompatíveis com as atribuições feitas até agora.
  • Se um domínio torna-se vazio, backtrack imediatamente.

 É bem mais eficiente!

Propagação de restrições

 Forward checking é um caso particular de verificação

de arco-consistência

  • um estado é arco-consistente se o valor de cada variável é consistente com as restrições sobre esta variável
  • arco-consistência é obtida por sucessivas eliminações de valores inconsistentes

 Propagação de restrições ( constraint propagation )

  • uma conseqüência da verificação de arco-consistência
  • quando um valor é eliminado, outros podem se tornar inconsistentes e terem que ser eliminados também
  • é como uma onda que se propaga: as escolhas ficam cada vez mais restritas

15

Passo a passo... Variáveis = A, B, C, D, E, F Domínios ={vermelho,verde,azul} A=vermelho => B, C, E ={verde,azul} (variáveis c/ restrições c/ A) => D, F ={vermelho,verde,azul} B=verde => E = {azul}, F = {vermelho, azul} (variáveis c/ restrições c/ B) => C ={verde,azul}, D ={vermelho,verde,azul} C = verde => E ={azul}, F = {vermelho, azul} (restrições c/ C) => D = {vermelho,verde,azul} D=vermelho, E=azul, F= ??

Backtracking F e D !! D=verde, E=azul, F=vermelho

Propagação de restrições Exemplo: coloração de mapas

A B

C

D

E

F

A B

C

D

E

F

16 Heurísticas para PSR

 Tenta reduzir o fator de expansão do espaço de estados

 Onde pode entrar uma heurística?

  • Ordenando a escolha da variável a instanciar
  • Ordenando a escolha do valor a ser associado a uma variável

 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) variáveis: A,B,C,D,E,F domínio: Da=Db...=Df={verde,vermelho, azul} 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^1 : E, F, ...resto E = verde Candidatas: F, ...resto F = vermelho Candidatos: A, B, C, D A= vermelho Candidatos: B, C, D B= azul Candidatos: C, D C= azul D = verde

SEM BACKTRACK!!

(^1) em ordem de prioridade

Coloração de mapas: variável mais restringida (variável que pode assumir menos valores) variáveis: A,B,C,D,E,F domínio: Da=Db...=Df={verde,vermelho, azul} 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 = verde Candidatas: B, C, E, ... B = vermelho Candidatos: E, F, ... E=azul Candidatos: C, F, D C=vermelho Candidatos: F, D F=verde D = azul ou vermelho

SEM BACKTRACK!!

19

Começando com A = verde B = vermelho C=??? vermelho é melhor do que azul

Coloração de mapas: valor menos restritivo (valor que deixa mais liberdade)

A B

C

D

E

F

variáveis: A,B,C,D,E,F domínio: Da=Db...=Df={verde,vermelho,azul} restrições : A ≠ B; A ≠ C; A ≠ E; B ≠ E; B ≠ F; C ≠ E; C ≠ F; D ≠ F; E ≠ F

PSR iterativo

 PSR pode ser resolvido iterativamente

  1. instancia aleatoriamente todas variáveis
  2. aplica operadores para trocar os valores e então diminuir número de restrições não satisfeitas (min-conflicts).

 Heurística de reparos

  • repara inconsistências

 Min-conflict resolve 8 rainhas em menos de 50 passos!!!

Número de ataques