Exemplo. Lógica de 1ª ordem. Lógica de 1ª ordem. Lógica de 1ª ordem



Documentos relacionados
Matemática Discreta - 03

Lógica Computacional. Argumentos válidos e sólidos. Métodos de Demonstração. Demonstrações formais. Regras de Inferência Igualdade

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Lógica Formal e Booleana. Cálculo Proposicional

Certificação da Qualidade dos Serviços Sociais. Procedimentos

1 Máquina URM, comandos e programas URM

43. Jogo do bingo com figuras

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

EXERCÍCIOS DE LÓGICA DE 1ª ORDEM

AULA 5 QUANTIFICADORES, PREDICADOS E VALIDADE

Ajuda ao SciEn-Produção O Artigo Científico da Pesquisa Experimental

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Modelo Cascata ou Clássico

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Algumas vantagens da Teoria das Descrições Definidas (Russel 1905)

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

5. Métodos ágeis de desenvolvimento de software

COMO SE PREPARA UMA REPORTAGEM i DICAS PARA PREPARAR UMA REPORTAGEM

Databases. Dependências Funcionais

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Feature-Driven Development

Aplicações de Combinatória e Geometria na Teoria dos Números

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Como elaborar um Plano de Negócios de Sucesso

Práticas de Programação em Lógica. José Romildo Malaquias

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

COMO PARTICIPAR EM UMA RODADA DE NEGÓCIOS: Sugestões para as comunidades e associações

Norma ISO Norma ISO Norma ISO 9004 SISTEMA DE GESTÃO DA QUALIDADE REQUISITOS FUNDAMENTOS E VOCABULÁRIO

Investigação experimental

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1

AS AUDITORIAS INTERNAS

Utilização do SOLVER do EXCEL

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

Avaliando o Cenário Político para Advocacia

Segurança e Higiene no Trabalho

ICC Introdução para JavaScript

QUANTIFICADORES. Existem frases declarativas que não há como decidir se são verdadeiras ou falsas. Por exemplo: (a) Ele é um campeão da Fórmula 1.

Orientação a Objetos

Observação das aulas Algumas indicações para observar as aulas

Gestão da Qualidade. Identificação e Quantificação de Indicadores de Desempenho nos SGQ :12 Natacha Pereira & Sibila Costa 1

Arquitetura de Rede de Computadores

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Informática II Cap. 3

Roteiro de Aula Prática

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Gestão dos Níveis de Serviço

Exercícios Teóricos Resolvidos

Dois eventos são disjuntos ou mutuamente exclusivos quando não tem elementos em comum. Isto é, A B = Φ

ARQUITECTURAS DE SOFTWARE

O consumo de conteúdos noticiosos dos estudantes de Ciências da Comunicação da Faculdade de Letras da Universidade do Porto

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos

DESENVOLVER E GERIR COMPETÊNCIAS EM CONTEXTO DE MUDANÇA (Publicado na Revista Hotéis de Portugal Julho/Agosto 2004)

GUIA DE REDAÇÃO PARA TRABALHO DE EM974

Álgebra Booleana. Introdução ao Computador 2010/01 Renan Manola

Lógica e Raciocínio. Decisão sob Risco Probabilidade. Universidade da Madeira.

5 Equacionando os problemas

MD Teoria dos Conjuntos 1

Planeamento da Produção

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

Parece claro que há uma, e uma só, conclusão a tirar destas proposições. Esa conclusão é:

Quadros Interactivos CLASUS

O que é o JavaScript?

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas

Linguagem algorítmica: Portugol

sistemas de informação nas organizações

CAP. I ERROS EM CÁLCULO NUMÉRICO

1. Motivação para o sucesso (Ânsia de trabalhar bem ou de se avaliar por uma norma de excelência)

GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1)

Sistemas de Apoio à Decisão

Representação do Conhecimento

24 O uso dos manuais de Matemática pelos alunos de 9.º ano

Engenharia Informática

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

Curso de Graduação em Administração. Administração da Produção e Operações I

Projecto de Programação MEEC /2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores

Universidade do Minho Licenciatura em Engenharia Informática

Linguagem Lógica Prolog

Banco de Dados Microsoft Access: Criar tabelas

Voluntário em Pesquisa: informe-se para decidir! Qual documento garante que os meus direitos serão respeitados?

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Citação e Indiscernibilidade de Idênticos. Citação e indiscernibilidade de idênticos

Sessão 2 UFCD 0804 Algoritmos

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

A Gestão, os Sistemas de Informação e a Informação nas Organizações

Objetivos da aula. Definição de Consultoria 1. Processos Gerenciais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Começo por apresentar uma breve definição para projecto e para gestão de projectos respectivamente.

Lógica Indutiva. Aula 4. Prof. André Martins

academia portuguesa de seguros

Dadas a base e a altura de um triangulo, determinar sua área.

INSTRUÇÕES DE PREENCHIMENTO. Por favor leia atentamente este documento antes de começar o seu processo de candidatura.

Lição 1 - Criação de campos calculados em consultas

Ferramenta de Testagem IECL Orientações para o Aluno (PT)

Transcrição:

Lógica de 1ª ordem O mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros objectos. Entre os vários objectos existem relações. Quando numa relação existe apenas um valor para uma dada entrada esta é designada por função. 1 Exemplo Objectos : pessoas, casas, números, teorias, cores, jogos de futebol, séculos... Relações : irmão de, maior que, dentro, parte de, tem a cor, ocorreu depois de, possui... Propriedades : vermelho, redondo, primo... Funções : pai de, melhor amigo... 2 Lógica de 1ª ordem Lógica de 1ª ordem A lógica de primeira ordem permite expressar factos acerca de todos os objectos no universo. Isto permite-nos representar leis gerais ou regras tais como Nas caves adjacentes ao WUMPUS ouvem-se ruídos. A lógica de primeira ordem tem frases tal como a lógica proposicional, mas também tem termos que representam objectos. 3 4

Sintaxe da lógica de 1ª ordem FraseAtómica? Frase? FraseAtómica Frase Conector Frase Quantificador Variavel,... Frase Frase (Frase) Predicado(Termo,...) Termo = Termo Termo? Função(Termo,...) Constante Variável Sintaxe da lógica de 1ª ordem Conector? Quantificador? Constante? A X 1 Joaquim... Variável? a x s... Predicado? Antes TemCor EstaChover... Função? Mae BracoEsquerdoDo... 5 6 Constantes Cada constante refere-se a um e um só objecto. Nem todos os objectos necessitam de nomes. Alguns objectos têm mais de um nome. Predicados Referem-se a relações. As relações mantêm-se (hold) ou falham em manter-se. Num dado modelo, uma relação é definida por um conjunto de tuplos de objectos que a satisfazem. Um tuplo é uma colecção de objectos organizados numa dada ordem que são escritos entre < >. Relação entre dois irmãos é definida por : { <João, Ricardo>, <Ricardo, João> } 7 8

Termos Um termo é uma expressão lógica que se refere a um objecto. Símbolos constantes são termos. Ex : Um termo que é em simultâneo uma função : BI(João) Podemos raciocinar sobre os BI sem nunca definir o que é um BI. Se dissermos que o João é Português e que todos os Portugueses têm BI, poderemos deduzir que o João tem um BI. Frases atómicas Afirmam factos Irmão(Ricardo, João) Casado(Pai(Ricardo), Mãe(João)) Usualmente P(x, y) tem o significado de x é P de (com) y. 9 10 Frases complexas Podemos usar conexões lógicas para construir frases mais complicadas (da mesma forma que na lógica proposicional) Exemplos : Irmão(Ricardo, João) Irmão(João, Ricardo) MaisVelho(João, 30) MaisNovo(João, 30) MaisVelho(João, 30) MaisNovo(João, 30) Irmão(Ricardo, Ana) Quantificador Universal x Gato(x) Mamífero(x) Gato(Garfield) Mamífero(Garfield) Gato(Felix) Mamífero(Felix) Gato(João) Mamífero(João) Gato(Ricardo) Mamífero(Ricardo) 11 12

Quantificador Universal x Gato(x) Mamífero(x) Gato(Garfield) Mamífero(Garfield) Gato(Felix) Mamífero(Felix) Gato(João) Mamífero(João) Gato(Ricardo) Mamífero(Ricardo) Variáveis Como convenção todas as variáveis começam por minúsculas e todas as constantes por uma letra maiúscula. Uma variável é um termo por si só. Um termo sem varáveis é chamado um termo base (ground term). 13 14 Quantificador Existencial x Irmão(x, Garfield) Gato(x) Quantificador Existencial x Irmão(x, Garfield) Gato(x) (Irmão(Garfield, Garfield) Gato(Garfield)) (Irmão(Felix, Garfield) Gato(Felix)) (Irmão(João, Garfield) Gato(João)) (Irmão(Ricardo, Garfield) Gato(Ricardo)) 15 (Irmão(Garfield, Garfield) Gato(Garfield)) (Irmão(Felix, Garfield) Gato(Felix)) (Irmão(João, Garfield) Gato(João)) (Irmão(Ricardo, Garfield) Gato(Ricardo)) 16

Quantificadores de quantificadores x,y Pai(x, y) Filho(y, x) x,y é equivalente a x y Toda a gente gosta de alguém: x y Gosta(x, y) Existe alguém de quem toda a gente gosta: y x Gosta(x, y) A ordem em que os quantificadores aparecem é muito importante. Quantificadores de quantificadores x Gato(x) ( x Irmão(Ricardo, x)) é idêntico a x Gato(x) ( z Irmão(Ricardo, z)) 17 18 Relações entre e Relações entre e x Gosta(x, Exame) x Gosta(x, Gelado) é equivalente a é equivalente a x Gosta(x, Exame) x Gosta(x, Gelado) 19 20

Regras de Morgan x P x P x P x P x P x P x P x P P Q (P Q) (P Q) P Q P Q ( P Q) P Q ( P Q) Relações entre e Na verdade não necessitamos de e de em simultâneo, da mesma forma que não necessitamos de e. Mas o uso dos dois aumenta a clareza e facilidade de leitura. 21 22 Igualdade Pai(João) = Henrique Para dizermos que o Garfield tem pelo menos dois irmãos, fazemos: x, y Irmão(Garfield, x) Irmão(Garfield, y) (x = y) Nalguns livros (x = y) é substituído por x y Lógicas de ordem mais elevada O nome lógica de 1ª ordem deriva do facto de podermos quantificar apenas sobre os objectos (as entidades de 1ª ordem que existem no mundo). Em lógicas de ordem mais elevada, podemos quantificar também sobre relações ou funções. 23 24

Lógicas de ordem mais elevada Numa lógica de maior ordem podemos por exemplo dizer que dois objectos são iguais se e só se todas as suas propriedades são equivalentes : x, y (x = y) ( p p(x) p(y)) Lógicas de ordem mais elevada Poderíamos também dizer que duas funções são iguais se têm o mesmo valor para todos os argumentos : f, g (f = g) ( x f(x) g(x)) Lógicas de maior ordem têm mais poder de expressividade. No entanto ainda existem poucos conhecimentos sobre a forma de raciocinar de forma efectiva sobre as frases destas lógicas. 25 26!!x Rei(x) equivale a x Rei(x) y Rei(y) x = y Claro que se soubessemos de ínicio que havia apenas um reipoderiamos definir! Claro que se soubessemos de ínicio que havia apenas um reipoderiamos definir uma constante Rei emvez de utilizarmos o predicado Rei(x) Um exemplo mais complexo seria : p País(p)!x Dirigente(x, p) 27 28

Outras notações Domínio Um domínio é uma secção do mundo sobre a qual desejamos expressar algum conhecimento. Antes de nos debruçarmos outra vez sobre o mundo do WUMPUS vamos debruçar-nos sobre problemas com domínios mais simples. 29 30 Domínio familiar Predicados unários: Homem, Mulher Funções : Pai, Mãe Predicados binários: UmDosPais, Irmão, Irmã, UmDosIrmãos, Filho, Filha, UmDosFilhos, Esposo, Esposa, Casado, Avó, Avô, Neto, Primo, Tio, Tia m, c Mãe(c) = m Mulher(m) UmDosPais(m, c) m, h Esposo(h, m) Homem(h) Casado(h, m) x Homem(x) Mulher(x) p, f UmDosPais(p, f) = m UmDosFilhos(f, p) x Homem(x) Mulher(x) a, n Avô(a, n) p Pai(a, p) Pai(p, n) x, y UmDosIrmãos(x, y) (x y) p UmDosPais(p, x) UmDosPais(p, y) 31

Axiomas As frases iniciais da base de conhecimentos são designadas por axiomas. Como é que sabemos se escrevemos axiomas suficientes para especificar o domínio? Uma das formas é identificar os predicados básicos, através dos quais os outros possam ser definidos. No caso do domínio familiar UmDosFilhos, Casado, Homem e Mulher são candidatos razoáveis a predicados básicos. Axiomas Importa também considerar o problema da convergência. Teremos axiomas a mais? Ex: Será que necessitamos de um axioma do tipo: x, y UmDosIrmãos(x, y) UmDosIrmãos(y, x) Neste caso, por exemplo não necessitamos, a partir de UmDosIrmãos(João, Ricardo) podemos inferir que: p UmDosPais (p, João) UmDosPais(p, Ricardo) A partir daí podemos inferir que: UmDosIrmãos(Ricardo, João) 33 34 Axiomas independentes Um axioma independente é uma axioma que não pode ser derivado de todos os outros axiomas. Axiomas independentes A base de conhecimentos normalmente para além do conjunto mínimo de axiomas independentes, contém ainda usualmente axiomas redundantes, com o objectivo de aumentar a eficiência do processo de prova. 35 36

O domínio dos conjuntos Constantes ConjuntoVazio Predicados Membro, SubConjunto, Conjunto Funções Intercessão, Reunião, Adiciona O domínio dos conjuntos Os únicos conjuntos que existem são os vazios e aqueles que se obtêm ao adicionar elementos a outros conjuntos c Conjunto(c) (c = ConjuntoVazio) ( x, c 2 Conjunto(c 2 ) c = Adiciona(x, c 2 )) 37 38 O domínio dos conjuntos x, c Adiciona(x, c) = ConjuntoVazio x, c Membro(x, c) c = Adiciona(x, c) x, c Membro(x, c) ( y, c 2 c = Adiciona(y, c 2 ) (x=y c Membro(x, c 2 )) O domínio dos conjuntos c 1, c 2 SubConjunto(c 1, c 2 ) x Membro(x, c 1 ) Membro(x, c 2 ) c 1, c 2 (c 1 = c 2 ) (SubConjunto(c 1, c 2 ) SubConjunto(c 2, c 1 )) 39 40

O domínio dos conjuntos x, c 1, c 2 Membro(x, Intercessão(c 1, c 2 )) Membro(x, c 1 ) Membro(x, c 2 ) x, c 1, c 2 Membro(x, Reunião(c 1, c 2 )) Membro(x, c 1 ) Membro(x, c 2 ) Questionar a base de conhecimentos TELL(KB, ( m, c Mãe(c) = m Mulher(m) UmDosPais(m, c)) TELL(KB, (Mulher(Ana) UmDosPais(Ana, João) UmDosPais(João, Carla)) ASK(KB, Avô(Ana, Carla)) 41 42 Questionar a base de conhecimentos Pode dizer-me as horas? Sim. Uma base de conhecimentos é mais cooperativa. Quando fazemos uma questão que é quantificada existencialmente, tal como : ASK(KB, x Filha(x, João)) Questionar a base de conhecimentos Dependendo da implementação do ASK, poderiamos, no caso do João ter mais filhas, receber uma mensagem com todas as suas filhas. Recebemos uma mensagem dizendo que a Carla é filha do João. 43 44

Agente baseado numa base de conhecimentos Mundo WUMPUS function AgenteKB(percepção) returns acção static : KB, uma base de conhecimentos t, um contador inicialmente a zero, que indica o tempo TELL(KB, CriaFraseAPartirPercepcao(percepção, t)) acção ASK(KB, CriaPerguntaAccao(t)) TELL(KB, CriaFraseAPartirAcção(Acção, t)) t t + 1 return acção Percepções : Percepção([Ruído, Brisa, Brilho, nada, nada], 5) Acções : Virar(Direita), Virar(Esquerda), IrFrente, Disparar, Apanhar, Largar, Subir Para determinar a melhor acção, fazemos uma pergunta do tipo : ASK(KB, a Acção(a, 5)) 45 46 Agente de Reflexos r, b, c, g, t Percepção([r, b, Brilho, c, g], t) Acção(Apanhar, t) Agente de Reflexos r, b, c, g, t Percepção([r, b, Brilho, c, g], t) OuroPresente(t) b, o, c, g, t Percepção([Ruído, b, o, c, g], t) Barulho(t) r, o, c, g, t Percepção([r, Brisa, o, c, g], t) Vento(t) 47 48

Agente de Reflexos t OuroPresente(t) Acção(Apanhar, t) Modelo Interno Qualquer sistema que toma decisões com base nas suas percepções anteriores pode ser alterado de forma a usar um conjunto de frases sobre o estado do mundo actual, desde que essas frases sejam alteradas à medida que cada nova percepção é recebida e à medida que cada acção é tomada. 49 50 Cálculo situacional O cálculo situacional é o nome dado a uma forma particular de descrever na lógica de 1ª ordem a mudança. Concebe o mundo como sendo constituído por uma sequência de situações. As situações são geradas a partir de situações anteriores por via de acções. 51 Cálculo situacional Para lidarmos com a mudança em cada relação ou propriedade que muda ao longo do tempo é adicionado um argumento que especifica a situação. Por convenção o argumento que especifica a situação é sempre o último e as situações são representadas por S i. 52

Cálculo situacional Ex: Em vez de termos EstaEm(Agente, Posição), passamos a ter EstaEm(Agente, Posição, S i ). Poderemos assim ter frase do tipo : EstaEm(Agente, [1, 1], S 0 ) EstaEm(Agente, [1, 2], S 1 ) Cálculo situacional A função Resultado(Acção, Situação) é utilizada para identificar a situação resultante da aplicação de uma dada acção numa dada situação (original). 53 54 Frente Virar(Direita) S 0 S 1 S 1 S 2 Resultado(Frente, S 0 ) = S 1 Resultado(Virar(Direita), S 1 ) = S 2

Cálculo situacional As acções são especificadas através dos seus efeitos. Isto é, especificamos as propriedades das situações que resultam da tomada de uma acção. Axiomas de efeito Transportável(Ouro) s OuroPresente(s) EstaPresente(Ouro, s) x, s EstaPresente(x, s) Transportável(x) Carregar(x, Resultado(Apanhar, s)) x, s Carregar(x, Resultado(Largar, s)) 57 58 Axiomas de janela temporal (frame) x, s, a Carregar(x, s) a Largar Carregar(x, Resultado(a, s)) x, s, a Carregar(x, s) (a Apanhar (EstaPresente(x, s) Transportável(x))) Carregar(x, Resultado(a, s)) Descrição completa de como o mundo evolui em resposta às acções do agente = Axiomas de efeito + Axiomas de janela temporal (frame) 59

Axiomas de sucessor do estado <X é Verdadeiro> (<Uma acção que torna X verdade> (<X já era verdade <Não houve uma acção que tornou X falso>) Axiomas de sucessor do estado x, s, a Carregar(x, Resultado(a,s)) [(a = Apanhar EstaPresente(x, s) Transportável(x)) (Carregar(x, s) a Largar)] 61 62 Axiomas de sucessor do estado São necessários para cada predicado que pode mudar ao longo do tempo. Deve listar todas as formas em que o predicado se pode tornar verdadeiro e todas as formas em que se pode tornar falso. Mundo do WUMPUS No mundo do WUMPUS a localização actual do agente é talvez uma das coisas mais importantes com que nos devemos preocupar. A localização não pode ser percebida directamente, mas o agente necessita de se lembrar onde esteve e o que viu. 63 64

Mundo do WUMPUS Isso permite-lhe deduzir onde está o WUMPUS e onde estão os poços de forma a ter a certeza que faz uma exploração completa. Localização no mundo do WUMPUS Posição do agente : EstaEm(Agente, [1, 1], S 0 ) Orientação do agente (ângulo (em graus) em relação ao eixo x) : Orientação(Agente, S 0 ) = 0 65 66 Localização no mundo do WUMPUS Posição do agente se este for em frente: x, y PosicaoFrente ([x, y], 0) = [x+1, y] x, y PosicaoFrente ([x, y], 90) = [x, y+1] x, y PosicaoFrente ([x, y], 180) = [x-1, y] x, y PosicaoFrente ([x, y], 270) = [x, y-1] a, p, s EstaEm (a, p, s) PosicaoFrenteAgente (p, s) = PosicaoFrente (p, Orientação(a, s) Localização no mundo do WUMPUS Adjacência: Paredes : p 1, p 2 Adjacente(p 1, p 2 ) a p 1 = PosicaoFrente(p 2, a) x, y Parede([x, y]) (x = 0 x = 5 y = 0 y = 5) 67 68

Axioma de sucessor do estado da localização x, p, a, s EstaEm(x, p, Resultado(a, s)) [(a = IrFrente p = PosicaoFrenteAgente(x, s) Parede(p)) (EstaEm(x, p, s) (a IrFrente Parede(PosicaoFrenteAgente(x, s)))] Axioma de sucessor do estado da orientação x, o, a, s Orientação(x, Resultado(a, s)) = o [(a = Rodar(Direita) o = Mod(Orientação(x, s))-90, 360)) (a = Rodar(Esquerda) o = Mod(Orientação(x, s))+90, 360)) (a Rodar(Esquerda) a Rodar(Direita) Orientação(x, s) = o)] 69 70 Dedução das propriedades escondidas do mundo p, s EstaEm(Agente, p, s) Barulho(s) Barulhenta(p) p, s EstaEm(Agente, p, s) Vento(s) Ventoso(p) 71 Dedução das propriedades escondidas do mundo Depois de descobrir os locai barulhentos e ventosos (e, muito importante, os locais não barulhentos e não ventosos) o agente pode deduzir a localização do WUMPUS e dos poços. Pode ainda deduzir quais as localizações que são seguras e utilizar essa informação para recolher o ouro. 72

Regras de sincronismo Os axiomas que capturam a informação necessária para essas deduções são chamados regras de sincronismo. Existem dois tipos de regras de sincronismo: Causais; Diagnóstico. Regras causais p 1, p 2, s EstaEm(WUMPUS, p 1, s) Adjacente(p 1, p 2 ) Barulhenta(p 2 ) p 1, p 2, s EstaEm(poço, p 1, s) Adjacente(p 1, p 2 ) Ventoso(p 2 ) Os sistemas que raciocinam com base em regras causais são chamados sistemas de raciocínio baseados em modelos. 73 74 Regras de diagnóstico Inferem a presença de propriedades escondidas directamente da informação contida nas percepções. p, s EstaEm(Agente, p, s) Barulho(s) Barulhenta(p) p, s EstaEm(Agente, p, s) Vento(s) Ventoso(p) Regras de diagnóstico Para deduzir a presença de WUMPUS uma regra de diagnóstico pode apenas tirar conclusões fracas. p 1, s Barulhenta(p 1 ) ( p 2 EstaEm(WUMPUS, p 2, s) (p 1 = p 2 Adjacente(p 1, p 2 ))) 75 76

Regras de diagnóstico Embora pareça que as regras de diagnóstico disponibilizam a informação desejada mais directamente, é muito difícil de assegurar que a partir da informação disponível se derivem as conclusões mais fortes disponíveis. p 1, p 2, s EstaEm(Agente, p 1, s) Barulho(s) Vento(s) Adjacente(p 1, p 2 ) Segura(p 2 ) Sistemas de raciocínio baseados em modelos Mas mesmo quando existe vento ou barulho uma dada cave pode ser segura p, s ( EstaEm(WUMPUS, p, s) Poço(p)) Seguro(p) 77 78 Regras Regra geral é boa ideia explorar as caves indo para quadrados seguros, mas não quando existe uma percepção de brilho. Neste caso deveríamos parar de explorar e apanhar o ouro. Assim as nossas regras de exploração deveriam mencionar o brilho. Regras Ao faze-lo as nossas regras deixavam de ser modulares. Uma regra não é modular se alterações nas crenças do agente acerca de certos aspectos do mundo requerem alterações nas regras relacionadas com outros aspectos. 79 80

Regras modulares É mais modular separar os factos acerca das acções dos factos acerca dos objectivos. Desta forma o agente pode ser reprogramado, simplesmente dizendo-lhe para atingir outro objectivo. Objectivos Os objectivos descrevem o quão desejável é um dado estado independentemente de como estes são obtidos. Escala das acções para o mundo do WUMPUS: Óptima Boa Média Arriscada 81 82 Escala das acções a, s Óptima(a, s) Acção(a, s) a, s Boa(a, s) ( b Óptima(b, s)) Acção(a, s) a, s Media(a, s) ( b Boa(b, s) Óptimo(b, s)) Acção(a, s) a, s Arriscada(a, s) ( b Media(b, s) Boa(b, s) Óptimo(b, s)) Acção(a, s) Objectivos Depois de apanhar o ouro é desejável que o agente deduza que o seu objectivo passa a ser ir para a localização [1,1]. s Carregar(Ouro, s) ObjectivoIrPara([1,1], s) 83 84

Objectivos A presença de um objectivo explicito permite ao nosso agente definir uma sequência de acções que lhe permitem atingir o objectivo. Existem várias maneiras de determinar essa sequência : Inferência; Procura; Planeamento. Engenharia do conhecimento O processo de criação de uma base de conhecimentos é designado por Engenharia do Conhecimento. Um engenheiro do conhecimento é alguém que investiga um domínio em particular, determina quais os conceitos importantes nesse domínio e cria uma representação formal dos objectos e relações do domínio. 85 86 Aquisição do conhecimento Levada a cabo antes e/ou durante a criação da representação formal. Entrevistas a peritos. Base de conhecimentos Deve ser clara e correcta. As relações importantes devem ser definidas e os detalhes irrelevantes retirados. Por vezes podemos fazer simplificações sacrificando alguma precisão de forma a ganhar clareza e legibilidade (trade-off). 87 88

Engenheiro do conhecimento Deve perceber o suficiente do domínio em questão para representar os objectos importantes e as suas relações. Deve perceber o suficiente da linguagem de representação de modo a codificar os factos de forma correcta. Deve perceber o suficiente sobre a forma em como o motor de inferência está implementado, de forma a que as questões sejam respondidas num tempo razoável. Metodologia para desenvolver uma base de conhecimentos Decidir sobre o que falar; Decidir sobre o vocabulário de predicados, funções e constantes; Codificar o conhecimento geral acerca do domínio (axiomas); Codificar uma descrição de uma instância especifica do problema. Obter respostas, questionando a base de conhecimentos, através do motor de inferência. 89 90 91