INE5633 Sistemas Inteligentes

Documentos relacionados
Inteligência Artificial - IA. Resolução de problemas por meio de busca

Inteligência Artificial

Inteligência Artificial

Inteligência Computacional

INTRODUÇÃO LINGUAGEM C

Introdução à Resolução de Problemas por meio de Busca

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula VI Busca Competitiva

Introdução 1. Um espaço de estados possíveis, incluindo um estado inicial e um estado final(objetivo): Introdução

Paradigma Simbólico. Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2)

Jogos. Geralmente o oponente tentará, na medida do possível, fazer o movimento menos benéfico para o adversário.

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega

I.2 Introdução a Teoria da Computação

Inteligência Artificial

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula I - Introdução

Resolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

Resolução de Problemas de Busca

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 5 Resolvendo Problemas

Linguagens recursivamente enumeráveis

Técnicas para Implementação de Jogos

Inteligência Artificial

Linguagens Formais e Autômatos P. Blauth Menezes

Resolução de Problemas. Hugo Barros

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação

Resolução de Problemas

Técnicas Inteligência Artificial

Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall.

BCC204 - Teoria dos Grafos

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Resolução de Problemas

Fundamentos de Programação

RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig)

Marcos Castilho. DInf/UFPR. 16 de maio de 2019

Resolução de Problemas. Resolução de Problemas. Primeiros problemas por computador: prova automática de teoremas e jogos.

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)

Linguaguens recursivamente enumeráveis e recursivas

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Técnicas de Programação

Inteligência Artificial. Conceitos Gerais

É neste ponto que entra o conceito de lógica de programação.

Resolução de problemas por meio de busca. Prof. Pedro Luiz Santos Serra

Fabrício Jailson Barth BandTec

Capítulo 9. Conclusão 184

Inteligência Artificial

Resolução de problemas por meio de busca. CAPÍTULO 3 - Russell

Resolução de problemas por meio de busca. Inteligência Artificial

SCC Introdução à Teoria da Computação

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.

Introdução ao Conceito de Algoritmo e Programação Estruturada

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

Algoritmos e Programação

USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio

Algoritmos e Programação

Aula 3: Algoritmos: Formalização e Construção

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

Algoritmos e Programação

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

Enunciados dos Exercícios Cap. 2 Russell & Norvig

Busca Competitiva. Inteligência Artificial. Até aqui... Jogos vs. busca. Decisões ótimas em jogos 9/22/2010

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.

Propriedades das Linguagens Livres do Contexto

Uma forma de classificação

PCC104 - Projeto e Análise de Algoritmos

Linguagens Livres de Contexto

SCC-5832 Teoria da Computação

INTELIGÊNCIA ARTIFICIAL 2008/09

Linguaguens recursivamente enumeráveis

Linguagem Universal. assim como a entrada ser processada por a. (b) A segunda fita de representa a fita de

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

Técnicas Inteligência Artificial

Sistemas Inteligentes Lista de Exercícios sobre Busca e Agentes Inteligentes

INTELIGÊNCIA ARTIFICIAL. Prof. Cedric Luiz de Carvalho

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

INTELIGÊNCIA ARTIFICIAL

CONCEITOS DE ALGORITMOS

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

Jogo de Damas. Alunos: Sávio Mendes de Figueiredo Sômulo Nogueira Mafra

Análise e projeto de sistemas

Fundamentos de Algoritmos (5175/31)

Linguagens Regulares. Prof. Daniel Oliveira

Métodos de Busca: Busca sem Informação. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Inteligência Artificial

Teoria da Computação

Lógica de Programação

Variáveis e Memória. Revisão. Conceitos. Operações sobre a memória

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Paradigmas de Linguagens de Programação. Linguagens de Programação Lógicas

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Fundamentos de Inteligência Artificial [5COP099]

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Projeto e Análise de Algoritmos. Prof. Ruy Luiz Milidiú

Complexidade de Algoritmos. Edson Prestes

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9.

Os problemas de IA empregam heurísticas, basicamente, em duas situações:

Algoritmo: Definição. Algoritmo. O que é Lógica? Lógica de Programação. Mas e a Lógica de Programação?

meio de busca Seções 3.1, 3.2 e 3.3

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 25

Conhecimento e Raciocínio Agente Lógicos Capítulo 7. Leliane Nunes de Barros

Transcrição:

INE5633 Sistemas Inteligentes Prof. A. G. Silva 20 de agosto de 2014 Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 1 / 32

Decidibilidade Objetivo: determinar se teoremas são completos e corretos, e se são demonstráveis ou não É necessário um processo determinístico que afirme quando uma palavra dada é um teorema ou não, em um número finito de passos É possível enumerar os teoremas, pois são obtidos aplicando as regras com os axiomas e outras palavras verdadeiras Porém, não há nenhum método para enumerar os que não são teoremas. Ou seja, não há nenhuma garantia que uma palavra pertença ou não ao sistema Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 2 / 32

Decidibilidade II Pode-se determinar se uma palavra é ou não um teorema com busca exaustiva. Porém, se não há decisão após um número finito de passos, não há como afirmar se a palavra não é teorema ou se o sistema é decidível ou não. Desta forma, a decidibilidade de uma palavra w em um sistema está relacionada ao fato da mesma ser alcançada ou demonstrada após um número finito de passos ou derivações no sistema Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 3 / 32

Interpretação I Os sistemas formais são construídos como modelos baseados em propriedades matemáticas Uma interpretação de um sistema formal é uma relação existente entre as palavras do sistema e uma semântica do mundo externo, a qual atribui um significado a todo símbolo do sistema, como uma correspondência 1 para 1 entre cada símbolo e algum objeto neste mundo externo O objeto pode então ser entendido no senso comum e, como tal, pode ser julgado como verdadeiro e falso Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 4 / 32

Interpretação II Baseado no estudo e construção de uma representação abstrata do mundo real (sistema formal) Tem se provado vários teoremas neste sistema, trabalhando somente com as propriedades abstratas Um sistema poderia ser um modelo para qualquer número de situações reais É possível voltar ao ponto de partida, interpretando estes teoremas abstratos em termos de objetos e propriedades do mundo real Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 5 / 32

Comentários I Não há nenhum motivo a priori que justifique por que uma declaração que é verdade no senso comum nem sempre pode ser provada como verdadeira em sua representação correspondente em um determinado sistema formal Isto é, o fato de uma declaração ser verdadeira não garante que pode ser provada Um determinada palavra pode ser um teorema ou não e sua interpretação pode ser julgada como sendo verdadeira ou falsa Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 6 / 32

Comentários II Relações possíveis (T é teorema e NT, não): No caso 1, a palavra é provável e sua interpretação é verdadeira No caso 2, a palavra é provável, mas sua interpretação, sendo falsa, é claramente sem interesse e este caso pode ser eliminado Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 7 / 32

Comentários III Para qualquer sistema formal, é necessário manter somente as interpretações para as quais todos os teoremas são verdadeiros e demonstráveis É demonstrável se, após um número finito de operações, houver conclusão sobre a pertinência ou não ao sistema (com a mesma conotação de decidibilidade) Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 8 / 32

Problemas Envolvam ações típicas de um ser humano como raciocinar, aprender, resolver problemas, entender conceitos,... (processo cognitivo) Naturalmente é confuso distinguir os limites de processos humanos e computacionais em alguns casos. Exemplo: uma máquina de calcular faz tarefas típicas de seres humanos, mas é um problema de IA? Alguns pontos que caracterizam um problema típico em IA: Não é algoritmizável, ou seja, não há formulação sob uma sequência rígida de passos a ser seguida É tipicamente simbólico Necessita de ferramentas apropriadas (facilidade em relação a linguagens de programação convencionais) Uma solução pode ser alcançada por varios caminhos distintos. Pode-se ter um conjunto de soluções Um grande número de estados gerados por uma complexidade de ordem exponencial O(x n ) (x > 2 e n > 2) Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 9 / 32

Definição de um problema I Na existência de um problema, é possível identificar os seguintes componentes: Um objetivo ou meta a ser alcançada (goal) Um conjunto de ações possíveis que impliquem em resultados alternativos e diferenciáveis para eventualmente produzir ou encontrar a meta desejada Uma situação inicial ou ponto de partida para que ações sejam executadas com o objetivo de alcançar uma meta Formalmente um problema pode ser representado pela seguinte tupla: Problema = ( I, O, C ) I : conjunto de expressões que representam o estado da situação inicial no domínio do problema O: conjunto de todas operações ou transformações que possam ser efetuadas sobre um dado estado qualquer, derivando um novo estado C: é a condição que deve satisfazer a expressão de término Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 10 / 32

Definição de um problema II Um encaminhamento de solução é o encadeamento de um estado de partida #i, ou uma situação inicial até um estado final ou objetivo Caso um sequência de operadores seja aplicada, a partir do estado inicial, e conduza a um estado terminal, então esta sequência bem sucedida de operadores conduz à uma solução do problema Considerando que os problemas pertinentes à IA não apresentam soluções algorítmicas ou, se existir, sua complexidade é impraticável em termos computacionais, uma alternativa é a de realizar buscas sobre os estados do problema Adicionalmente, alternativa heurísticas podem ser apresentadas como um esquema acelerador sobre os estados do problema Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 11 / 32

Definição de um problema II As heurísticas reportam um conhecimento expĺıcito que visa reduzir drasticamente a quantidade de estados do problema e, como isso, viabilizar uma implementação computacional De modo sitemático, com funções heurísticas ou não, realizar uma exploração sobre as instâncias que vão surgindo durante um processo de busca é um dos focos da IA Estudo de métodos que realizem busca cegas ou heurísticas sobre as situações dos problemas que levem a uma ou mais soluções Estas situações ou instâncias são comumente chamadas de estados A solução de um problema é uma caminho entre os estados inicial e um dos finais, sob um grafo de busca que é inerente ao problema solução Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 12 / 32

Conceitos de estado novo enfoque I O estado inicial: pelo qual geralmente o problema não é solucionado e no qual é possível agir para satisfazer o objetivo requerido Os operadores: definem como passar de um estado a outro Teste de sucesso: determina se o estado atual corresponde ao objetivo Função de custo: especifica o custo para cada passo em um caminho O estado inicial e os operadores definem o espaço da busca na árvore de conhecimento com a finalidade de se encontrar a solução desejada Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 13 / 32

Conceitos de estado novo enfoque II Exemplo: quebra-cabeça de 8 pedras Estado inicial: 5 4 6 1 8 7 3 2 Operadores: exprimem os estados que podem ser assumidos pela célula vazia Estado final do problema: objetivo a ser alcançado 1 2 3 8 4 7 6 5 Teste de sucesso: verifica se o estado atual corresponde ao estado final Custo: para cada passo dado na resolução do problema o custo é 1 Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 14 / 32

Conceitos de estado novo enfoque III Uma solução para um problema é um caminho desde o estado inicial até um estado objetivo A qualidade da solução é medida pela função de custo de caminho Uma solução ótima tem o menor custo de caminho entre todas as soluções Para que um problema possa ser resolvido, estes componentes devem ser expressos em uma terminologia claramente entendida para um potencial solucionador do problema (computador) Esta necessidade de descrever um problema em termos precisos (formalmente) possui um efeito colateral importante: Forçar o esboço do problema de forma clara e sem ambiguidades Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 15 / 32

Estado e espaço de estados I O estado enfatiza as condições dos valores de parâmetros nas quais o sistema se encontra Por exemplo, as peças sobre um tabuleiro de xadrez descrevem um estado sobre o andamento de uma partida Um estado em particular é o inicial, quando as peças de ambos jogadores estão alinhadas em posições regularmente definidas Um outro estado seria um caso em que um rei estivesse submetido a um ataque do tipo xeque O cheque, diferentemente do estado inicial, apresenta uma quantidade significativa de estados possíveis, não necessariamente representando o fim do jogo Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 16 / 32

Estado e espaço de estados II Em contextos mais simples (menor quantidade de celulas e número de peças) como o jogo da velha, é possível descrever sequência de operações sobre os estados que conduzam à vitória ou ao empate Ao conjunto de todos os estados que podem ser alcançados a partir do estado inicial, pela aplicação de operadores, denomina-se espaço de busca ou espaço de estados Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 17 / 32

Estado e espaço de estados III Uma solução do problema é descrita pelo caminho estabelecido entre uma sequência de estados, de um inicial a outro final, e seus operadores correntes. Ou seja: e i #i e i+1 e i+1 #j e i+2 e i+n #k Onde e i e e f são os estados inicial e final, e op 1, op 2,... op n, a sequência de operadores utilizada nesta transformação/transição entre estados e f Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 18 / 32

Estado e espaço de estados IV Um espaço de estados é determinado por uma sequência finita de operadores sob um árvore de busca Correspondência entre o problema codificado e a alcançabilidade de estados Interessante na análise do comportamento dinâmico Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 19 / 32

Árvores de buscas Apesar de um problema normalmente estabelecer um grafo de busca, utiliza-se, muitas vezes, na literatura, o termo árvore de busca Um novo estado (um nó) deve ser explorado sistematicamente e métodos de buscas em árvos são mais comuns que em grafos A manutenção de nós visitados e explorados, que se ramificam, é mais visível e tratável sob uma estrutura em árvore Todo grafo pode ser reduzido em uma árvore Na busca de solução de problemas, um estado em particular pode ser gerado a partir de varios outros e este gerar estados já produzidos anteriormente Ou seja, a presença de ciclos ou caminhos circulares na exploração é uma situação comum na resolução de problemas, porém indesejáveis: Não expressam uma evolução à solução do problema Ocupam memória desnecessariamente Não necessariamente expressam uma atividade recursiva, muitas vezes necessária à solução Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 20 / 32

Problemas em IA Problemas sem solução algorítmica conhecida são de IA Entende-se por algoritmo um sequência precisa, ordenada e finita de operações, executadas em um tempo aceitável Apesar do jogo de xadrez envolver uma quantidade finita de possiveis situações, examinar todas as estratégias de jogo é trabalho que pode levar anos (logo, não há algoritmo) Sob esta visão de limites de recursos, as características marcantes em problemas da IA simbólica são: Conhecimento expresso em símbolos: em contraste com o processamento numérico tradicional associado a computadores, na resolução de problemas em IA, os símbolos são expressos por meio de letras, palavras, sinais, desenhos e até mesmo, números Múltiplas escolhas: há ausência de um algoritmo que trate a situação ou estado corrente, levando a escolha/alternativas de muitos caminhos a uma ação correta. Estas escolhas, a partir de um estado, são análogas a um autômato não-determinístico. Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 21 / 32

Características I Problemas, em geral, apresentam características quanto a natureza de etapas em suas soluções. Por exemplo, problemas podem ser: Ignoráveis: no encaminhamento da solução não há mérito de custo (exemplo: demonstração de teorema) Recuperáveis: passos da busca podem ser desfeitos (exemplo: quebra-cabeça do 8); recuperar passos é voltar a trajetória no espaço de soluções ou retroceder (backtrack) Irrecuperáveis: contrário do anterior (exemplo: jogo de xadrez) Interação com o ambiente: Acesso completo: total conhecimento dos estados; determinação do próximo estado com exatidão; problema de estado único Acesso parcial: conhecimento total dos estados não é totalmente acessível; mecanismo que determine o melhor próximo estado a ser considerado, a fim de chegar ao estado final Ambiente previsível ou não: caso dos problemas contingentes (exemplo: jogos de cartas) Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 22 / 32

Características II Avaliação da solução: solução encontrada é absoluta se, ao iniciar a busca com condições iniciais diferentes, o resultado será o mesmo; caso contrário, ela é relativa. Tipo de solução: determinação do quão boa é uma solução; questões como se a solução percorreu o caminho ótimo, se o estado final encontrado satisfaz o conjunto de restrições, etc Função do conhecimento: quantidade de conhecimento requerida (exemplo 1: para o jogo da velha, não é necessário muito conhecimento) Interação com o ser humano: quantidade de informação para que seja entendida por um ser humano (exemplo: sistemas especialistas utilizados para auxílio a diagnósticos) Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 23 / 32

Metodologia proposta I A solução de um problema é análoga à busca por meio de um diagrama de espaço de estados A questão é como representar as transições Para um melhor entendimento, é preciso relembrar que os elementos básicos de um problema são: Um estado corrente As condições de contorno/restrições sobre os movimentos a partir de um estado qualquer. Reunem-se as pré-condições para que se possa legitimar um dado movimento Um novo estado, sucessor ou posterior Um conjunto de ações sobre a representação simbólica do problema Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 24 / 32

Metodologia proposta II Pode-se então formalizar a construção de uma regra que descreva um movimento entre dois estados A formalização por meio de um sistema de transcrição é poderosa e adaptada à uma representação tipica de regras de produção Nome da regra (parâmetros) :: Est. corrente {Condições} = Est. sucessor {Ações} Leitura da proposição: dado um estado corrente, que segue um conjunto de condições, este alcança um novo estado sucessor, executando um conjunto de ações Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 25 / 32

Método de resolução de problemas Após a formulação do problema como um sistema de produção, representando os operadores necessários, é necessário realizar testes da seguinte forma 1 Gerar uma solução possível 2 Testar se é realmente uma solução 3 Se não for uma solução, voltar à etapa 1 Esta estratégia é conhecida como algoritmo de busca gerar-e-testar (mais simples estratégia de busca existente) É aplicável se e somente se for possível limitar o espaço de busca necessário para se encontrar uma solução É um procedimento de busca em profundidade (soluções completas precisam ser geradas antes de serem testadas) Em sua forma mais sistemática, é simplesmente uma busca exaustiva do espaço do problema No caso de problemas simples, o método pode ser razoável Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 26 / 32

Exemplo: problema dos vasos I Considere dois vasos, cuja capacidade de um deles é de 4 litros (vaso A) e do outro é de 3 litros (vaso B) Na ausêcia de um medidor externo ou de uma marcação nos vasos, o objetivo é alcançar a quantidade final de 2 litros de um ĺıquido em um dos vasos (no vaso A ou no B) Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 27 / 32

Exemplo: problema dos vasos II Ações primitivas e permitidas: Encher, completamente, um dos vasos, A ou B (a presença de uma torneira é impĺıcita) Esvaziar ou despejar completamente para fora o ĺıquido de um dos vasos, A ou B Despejar o conteúdo de A em B, ou de B em A, podendo restar alguma quantidade de ĺıquido em um deles ou não Formalização em tupla para definir a quantidade de ĺıquido nos vasos A e B respectivamente Espaço de estados: (0,0), (4,0), (1,3), (0,3),... Estado inicial: (0,0) que é o nó de partida Estado final: (2,n) ou (n,2) que são os nós finais Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 28 / 32

Exemplo: problema dos vasos III Espaço de estados: Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 29 / 32

Exemplo: problema dos vasos IV Alguma regras possíveis: 1 Encher o vaso A (4 litros) :: [x, y] {x 4} = [4, y] {} 2 Encher o vaso B (3 litros) :: [x, y] {y 3} = [x, 3] {} 3 Despejar fora alguma água do vaso A (4 litros) :: [x, y] {x > 0} = [w, y] {w = x z} 4 Despejar fora alguma água do vaso B (3 litros) :: [x, y] {y > 0} = [x, w] {w = y z} Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 30 / 32

Exemplo: problema dos vasos V Alguma regras possíveis: 5 Esvaziar o vaso A (4 litros) :: [x, y] {x > 0} = [0, y] {} 6 Esvaziar o vaso B (3 litros) :: [x, y] {y > 0} = [x, 0] {} 7 Encher o vaso A usando B, sobrando água em B :: [x, y] {x + y > 4, y > 0} = [4, w] {w = y (4 x)} 8 Encher o vaso B usando A, sobrando água em A :: [x, y] {x + y > 3, x > 0} = [w, 3] {w = x (3 y)} Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 31 / 32

Exemplo: problema dos vasos VI Alguma regras possíveis: 9 Despejar o vaso B em A, sem sobras :: [x, y] {x + y 4, y > 0} = [w, 0] {w = x + y} 10 Despejar o vaso A em B, sem sobras :: [x, y] {x + y 3, x > 0} = [0, w] {w = x + y} Observações Regras 3 e 4 são impossíveis de ocorrer (primitivas devem ser do tipo tudo-ou-nada, ou seja, não se pode echer ou esvaziar um pouquinho ) Regras mais fortes, que também realizem ações de outras regras, podem ser definidas Algumas regras podem ser redundantes, contraditórias, desnecessárias, impossíveis Prof. A. G. Silva INE5633 Sistemas Inteligentes 20 de agosto de 2014 32 / 32