Problemas de Satisfa - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Problemas de Satisfa

Description:

Problemas de Satisfa o de Restri es Constraint Satisfaction Problems (CSP) Disciplina: Intelig ncia Artificial CONTE DO (1) CSP (Colora o de Mapas) – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 22
Provided by: WSE1154
Category:

less

Transcript and Presenter's Notes

Title: Problemas de Satisfa


1
Problemas de Satisfação de RestriçõesConstraint
Satisfaction Problems (CSP)
Disciplina Inteligência Artificial
CONTEÚDO (1) CSP (Coloração de Mapas) (2)
Exercício (3) Problema Real Alocação de
Disciplinas
2
Roteiro da aula de CSP
  • Mini-problema Coloração do Mapa com CSP
  • Objetivo
  • Colorir o mapa com o mínimo de cores
  • Dois blocos adjacentes não podem ter cores iguais
  • (2) Exercício de compreensão passagem de
    moto-taxi
  • Objetivo
  • Fazer o pagamento da corrida de moto-taxi usando
    5 moedas
  • Uma moeda de 50 centavos ou duas de 25c são
    obrigatórias
  • (3) Problema real alocação de disciplinas
  • Objetivo
  • Fazer a alocação das disciplinas de um curso
  • Variáveis possíveis professores, disciplinas,
    períodos, laboratórios, salas com data show,
    professores com restrições de horários, etc

3
(1) Satisfação de Restrições (CSP)
  • Um Problema de Satisfação de Restrições
  • Constraint Satisfaction Problems (CSP)
  • 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 Recife à Cajazeiras com no máximo 3
    tanques de gasolina e 7 horas de viagem
  • Um CSP consistem 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.

4
(1) CSP 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

5
(1) CSP 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) - ex. B ? azul
  • binárias (sobre duas variáveis) - ex. B ? C
  • 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)

6
(1) CSP - Busca cega
  • 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
(1) CSP-Exemplo coloração de mapas
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
Simulação passo a passo... A verde B verde C
verde Dverde Everde Fverde (falha c/ C, E,
D) Fvermelho E (falha c/ C,A,B) Evermelho
(falha c/ F) Eazul C (falha c/ A) ... Muito
dispendioso
8
(1) CSP - Backtracking na busca cega
  • Problema da busca em profundidade
  • perda de tempo pois continua mesmo que uma
    restrição já tenha sido violada (não se pode mais
    redimir o erro)
  • Solução Backtracking
  • depois de realizar uma atribuição, verifica se
    restrições não são violadas
  • caso haja violação ? backtrack

9
(1) CSP-Exemplo coloração de mapas
Simulação passo a passo... A verde B verde
(falha c/ A) Bvermelho Cverde (falha c/ A) C
vermelho Dverde E verde (falha c/ A) E
vermelho (falha c/ B e C) E azul Fverde (falha
c/ D) Fvermelho (falha c/ C) F azul (falha c/
E) F backtracking E backtracking Dvermelho Everd
e (falha c/ A) E vermelho (falha c/ B) E
azul Fverde
variáveis A,B,C,D,E,F domínio
DaDb...Dfverde,vermelho,azul restrições A
? B A ? C A ? E B ? E B ? F C ? E C ? F D
? F E ? F
10
(1) CSP-Exemplo coloração de mapas
Mas poderia ser mais complicado começando por
vermelho... Avermelho Bverde Cazul Dvermelho E
?? Backtracking Dverde E?? Backtracking Dazul
E?? Backtracking D ?? Backtracking C
verde D verde E azul Fvermelho
variáveis A,B,C,D,E,F domínio
DaDb...Dfverde,vermelho,azul restrições A
? B A ? C A ? E B ? E B ? F C ? E C ? F D
? F E ? F
11
(1) CSP - Backtracking não basta...
  • Problema do backtracking
  • Após atribuir um valor a uma variável -gt solução
    impossível
  • Ex. Avermelho, Bverde e Cazul.
  • Soluções
  • Verificação de arco-consistência (forward
    checking)
  • Propagação de restrições

12
(1) CSP - 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!

13
(1) CSP - 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

14
(1) CSP - Propagação de restrições
variáveis A,B,C,D,E,F domínio
DaDb...Dfverde,vermelho,azul restrições A
? B A ? C A ? E B ? E B ? F C ? E C ? F D
? F E ? F
Passo a passo... Avermelho gt B, C,
E verde,azul (variáveis c/ restrições c/ A)
gt D, F vermelho,verde,azul Bverde gt
E azul, F vermelho, azul (variáveis c/
restrições c/ B) gt C verde,azul, D
vermelho,verde,azul C verde gt E
azul, F vermelho, azul (restrições c/ C)
gt D vermelho,verde,azul Dvermelho, Eazul,
F?? Backtracking F e D!! Dverde, Eazul,
Fvermelho
15
(1) CSP - Heurísticas para CSP
  • 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

16
(1) CSP - Variável mais restritiva (variável
envolvida no maior número de restrições)
variáveis A,B,C,D,E,F domínio
DaDb...Dfverde,vermelho,azul restrições A
? B A ? C A ? E B ? E B ? F C ? E C ? F D
? F E ? F
Candidatas1 E(4), F(4), ...resto(3) E
verde Candidatas2 F, ...resto F
vermelho Candidatos3 A, B, C, D A
vermelho Candidato4 B, C, D B
azul Candidatos5 C, D C azul D verde SEM
BACKTRACK!!
1 em ordem de prioridade
17
(1) CSP - Variável mais restringida(variável que
pode assumir menos valores)
variáveis A,B,C,D,E,F domínio
DaDb...Dfverde,vermelho,azul restrições A
? B A ? C A ? E B ? E B ? F C ? E C ? F D
? F E ? F
Candidatas1 todas Av,v,a,Bv,v,a,Cv,v,a,
... A verde Candidatas2 Bv,a, Cv,a,
Ev,a, Dv,v,a, Fv,v,a B
vermelho Candidatos3 Ea, Cv,a, Fv,a,
Dv,v,a Eazul Candidatos4 Cv, Fv,
Dv,v,a Cvermelho Candidatos5 Fv,
Dv,v,a Fverde Candidatos6 Dv,a D azul
ou vermelho SEM BACKTRACK!!
18
(1) CSP - Valor menos restritivo?(valor que
deixa mais liberdade)
variáveis A,B,C,D,E,F domínio
DaDb...Dfverde,vermelho,azul restrições A
? B A ? C A ? E B ? E B ? F C ? E C ? F D
? F E ? F
B
A
Começando com A verde B vermelho C???
vermelho é melhor do que azul
C
E
D
F
19
(1) CSP - Conclusão
  • Grande 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...
  • Estado atual
  • Grandes aplicações industriais
  • Número crescente de artigos nas principais
    conferências
  • Observação
  • a sigla CSP também é usada para falar de
    Constraint Satisfaction Programming, que é um
    paradigma de programação

20
(2) Exercício
  • Eu preciso pagar a minha passagem de moto-taxi,
    que custa 91 centavos. Para pagá-la, eu devo
    utilizar 5 moedas. O cobrador quer que eu lhe dê
    uma moeda de 25 centavos ou duas de 10 centavos.
    Represente isso como um problema de satisfação de
    restrições e mostre como as heurísticas de
    propagação de restrições (forward-checking),
    variável mais restrita eu variável mais
    restringente agilizam a resolução. Admita que
    você possui um número infinito de cada moeda.

21
(3) Problema real Alocação de Disc.
  • Objetivo
  • Todo coordenador tem a cansativa tarefa de montar
    os horários das disciplinas a cada semestre.
  • Formule uma solução para esse problema
  • usando CSP, lembrando que você deve estabelecer
    (1)Variáveis (2) Domínio e (3) Regras.
  • a lógica de programação usada (independente de
    linguagem).
  • Admita que a faculdade têm apenas
  • dois períodos (P1 e P2)
  • dois professores (Fechine e Nilton)
  • duas disciplinas por período (d1_a, d1_b, d2_a,
    d2_b)
  • Fechine leciona d1_a e d2_a, e Nilton leciona
    d1_b, d2_b
  • duas noites de aula por semana, com duas aulas
    por noite
  • Fechine não pode ensinar no primeiro horário da
    segunda
  • não é permitido que uma mesma disciplina tenha
    duas aulas por noite.
Write a Comment
User Comments (0)
About PowerShow.com