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

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

Prof. Frederico Brito Fernandes Problemas de Satisfação de Restrições Constraint Satisfaction Problems (CSP) CONTEÚDO (1) CSP (Coloração.

Apresentações semelhantes


Apresentação em tema: "Prof. Frederico Brito Fernandes Problemas de Satisfação de Restrições Constraint Satisfaction Problems (CSP) CONTEÚDO (1) CSP (Coloração."— Transcrição da apresentação:

1 Prof. Frederico Brito Fernandes Problemas de Satisfação de Restrições Constraint Satisfaction Problems (CSP) CONTEÚDO (1) CSP (Coloração de Mapas) (2) Exercício (3) Problema Real: Alocação de Disciplinas Disciplina : Inteligência Artificial

2 Professor: Frederico Brito Fernandes 2/21 Disciplina: Inteligência Artificial Roteiro da aula de CSP (1)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 A B C D E F

3 Professor: Frederico Brito Fernandes 3/21 Disciplina: Inteligência Artificial (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 Professor: Frederico Brito Fernandes 4/21 Disciplina: Inteligência Artificial (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 Professor: Frederico Brito Fernandes 5/21 Disciplina: Inteligência Artificial (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 Professor: Frederico Brito Fernandes 6/21 Disciplina: Inteligência Artificial (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 Professor: Frederico Brito Fernandes 7/21 Disciplina: Inteligência Artificial 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 (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

8 Professor: Frederico Brito Fernandes 8/21 Disciplina: Inteligência Artificial (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 Professor: Frederico Brito Fernandes 9/21 Disciplina: Inteligência Artificial Simulação passo a passo... A= verde B = verde (falha c/ A) B=vermelho C=verde (falha c/ A) C= vermelho D=verde E= verde (falha c/ A) E= vermelho (falha c/ B e C) E= azul F=verde (falha c/ D) F=vermelho (falha c/ C) F = azul (falha c/ E) F backtracking E backtracking D=vermelho E=verde (falha c/ A) E= vermelho (falha c/ B) E= azul F=verde A B C D E F (1) CSP- Exemplo: coloração de mapas 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

10 Professor: Frederico Brito Fernandes 10/21 Disciplina: Inteligência Artificial Mas poderia ser mais complicado começando por vermelho... A=vermelho B=verde C=azul D=vermelho E= ?? Backtracking D=verde E=?? Backtracking D=azul E=?? Backtracking D= ?? Backtracking C = verde D = verde E = azul F=vermelho A B C D E F 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 (1) CSP- Exemplo: coloração de mapas

11 Professor: Frederico Brito Fernandes 11/21 Disciplina: Inteligência Artificial (1) CSP - Backtracking não basta... Problema do backtracking: –Após atribuir um valor a uma variável -> solução impossível Ex.: A=vermelho, B=verde e C=azul. Soluções –Verificação de arco-consistência (forward checking) –Propagação de restrições

12 Professor: Frederico Brito Fernandes 12/21 Disciplina: Inteligência Artificial (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 Professor: Frederico Brito Fernandes 13/21 Disciplina: Inteligência Artificial (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 Professor: Frederico Brito Fernandes 14/21 Disciplina: Inteligência Artificial Passo a passo... 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 A B C D E F 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 (1) CSP - Propagação de restrições

15 Professor: Frederico Brito Fernandes 15/21 Disciplina: Inteligência Artificial 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 (1) CSP - Heurísticas para CSP

16 Professor: Frederico Brito Fernandes 16/21 Disciplina: Inteligência Artificial (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: 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(4), F(4),...resto(3) E = verde Candidatas 2 : F,...resto F = vermelho Candidatos 3 : A, B, C, D A= vermelho Candidato 4 : B, C, D B= azul Candidatos 5 : C, D C= azul D = verde SEM BACKTRACK!! 1 em ordem de prioridade

17 Professor: Frederico Brito Fernandes 17/21 Disciplina: Inteligência Artificial (1) CSP - Variável mais restringida (variável que pode assumir menos valores) A B C D E F A B C D E F Candidatas 1 : todas A={v,v,a},B={v,v,a},C={v,v,a},... A = verde Candidatas 2 : B={v,a}, C={v,a}, E={v,a}, D={v,v,a}, F={v,v,a} B = vermelho Candidatos 3 : E={a}, C={v,a}, F={v,a}, D={v,v,a} E=azul Candidatos 4 : C={v}, F={v}, D={v,v,a} C=vermelho Candidatos 5 : F={v}, D={v,v,a} F=verde Candidatos 6 : D={v,a} D = azul ou vermelho SEM BACKTRACK!! 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

18 Professor: Frederico Brito Fernandes 18/21 Disciplina: Inteligência Artificial Começando com A = verde B = vermelho C=??? vermelho é melhor do que azul (1) CSP - 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

19 Professor: Frederico Brito Fernandes 19/21 Disciplina: Inteligência Artificial (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 Professor: Frederico Brito Fernandes 20/21 Disciplina: Inteligência Artificial (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 Professor: Frederico Brito Fernandes 21/21 Disciplina: Inteligência Artificial (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 (d 1 _a, d 1 _b, d 2 _a, d 2 _b); –Fechine leciona d 1 _a e d 2 _a, e Nilton leciona d 1 _b, d 2 _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.


Carregar ppt "Prof. Frederico Brito Fernandes Problemas de Satisfação de Restrições Constraint Satisfaction Problems (CSP) CONTEÚDO (1) CSP (Coloração."

Apresentações semelhantes


Anúncios Google