Disciplina: Inteligência Artificial

Slides:



Advertisements
Apresentações semelhantes
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Advertisements

AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Inteligência Artificial
Inteligência Artificial
N Rainhas Descrição do Problema Satisfação de Restrições (CSP)
MÁQUINAS UNIVERSAIS Fabrício Dias
Busca Otimizada Subida da Encosta (Hill Climbing)
Redes Neurais Artificiais (RNA): Estudo de Caso
Redes Neurais Artificiais (RNA): Perceptron
Prática de Alg. Genéticos
Busca com Informação Busca com informação Busca Gulosa Busca A*
Prof. Frederico Brito Fernandes Prática de Algoritmos Genéticos CONTEÚDO (1) Definição do Problema (2) Modelando com AG (3) Sua parte...
Algoritmos Genéticos Problema das 8 Rainhas Algoritmo Genético
Tópicos de Lógica Proposicional
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.
Ciclos, Vectores e Gráficos Simulação da Queda de Corpos II
1 Conclusão DI/FCT/UNL 1º Semestre 2004/ Ciclos de Simulação A técnica usada no exemplo da queda livre pode ser utilizada para trajectórias a duas.
Resolução de problemas
Introdução à Linguagem Prolog
Inteligência Artificial I
Inteligência Artificial
Estatística Básica Utilizando o Excel
Busca Tabu - Revisão Marcone Jamilson Freitas Souza
Busca Tabu Marcone Jamilson Freitas Souza Departamento de Computação
Busca Heurística - Informada
DI - UFPE 1 Constraint Satisfaction Problems (CSP) nConceitos básicos nBusca cega simples e refinada nBusca heurística nCSP iterativo.
Busca Cega (Exaustiva)
Polinômios Prof. Marlon.
EQUAÇÕES POLINOMIAIS Prof. Marlon.
SISTEMAS LINEARES II Prof. Marlon.
Capítulo 3 - Russell e Norvig
Buscando Soluções Busca Heurística.
Inteligência Artificial
Indução Métodos de prova já vistos Excepções
Linguagem de 1ª ordem da teoria de conjuntos
Estrutura de decisão e repetição em JAVA
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
Busca Competitiva - MiniMax Jogo-da-Velha
Indexação de Arquivos Página de rosto.
Monitoria GDI Aula Prática
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
1 Introdução aos Agentes Inteligentes Flávia Barros.
Programação de Computadores I Apresentação da Disciplina Prof. André Renato 2º Semestre / 2012.
Tema 4 André Martini Diniz Danilo Elias da Silva
Resolução de problemas por meio de busca
Estrutura de dados, pseudocódigo
Funções e suas propriedades
Arquitetura de computadores
Busca com informação e exploração
DISCIPLINA TELETRANSMITIDA
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Introdução aos Agentes Inteligentes Busca Heurística (Informada)
PROGRAMAÇÃO MATEMÁTICA MÉTODO SIMPLEX
Tópicos Avançados em Inteligência Artificial
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Como Programar? Dicas para começar a programar bem
Tópicos em Sistemas Inteligentes
Construção e Análise de Algoritmos
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
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.
Satisfação de problemas restritos (CSP)
Resolução de Problemas de Busca

Aula 12 COLORAÇÃO DE GRAFOS
Desenvolvimento de Sistemas Baseados em Conhecimento
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.
DSI – Desenvolvimento de Sistemas Inteligentes
Transcrição da apresentação:

Disciplina: Inteligência Artificial Problemas de Satisfação de Restrições Constraint 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

Roteiro da aula de CSP Mini-problema: Coloração do Mapa com CSP F 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 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 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

(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.

(1) CSP: Formulação Estados: Estado inicial: Operadores: 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

(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)

(1) CSP - Busca cega Funcionamento Análise 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

(1) CSP-Exemplo: coloração de mapas 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 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 A B C D E F

(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

(1) CSP-Exemplo: coloração de mapas 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) F=verde 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

(1) CSP-Exemplo: coloração de mapas 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 D= ?? Backtracking C = verde D = verde E = azul F=vermelho 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

(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

(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!

(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

(1) CSP - Propagação 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 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

(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

(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 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!! A B C D E F A B C D E F 1 em ordem de prioridade

(1) CSP - 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 Candidatas1: todas A={v,v,a},B={v,v,a},C={v,v,a},... A = verde Candidatas2: B={v,a}, C={v,a}, E={v,a}, D={v,v,a}, F={v,v,a} B = vermelho Candidatos3: E={a}, C={v,a}, F={v,a}, D={v,v,a} E=azul Candidatos4: C={v}, F={v}, D={v,v,a} C=vermelho Candidatos5: F={v}, D={v,v,a} F=verde Candidatos6: D={v,a} D = azul ou vermelho SEM BACKTRACK!! A B C D E F A B C D E F

(1) CSP - Valor menos restritivo? (valor que deixa mais liberdade) 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 B A Começando com A = verde B = vermelho C=??? vermelho é melhor do que azul C E F D

(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

(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.

(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.