Representação de Conhecimento

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

Lógica de Predicados e Representação de Conhecimento
Programação em Java Prof. Maurício Braga
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
A busca das mulheres para alcançar seu espaço dentro das organizações
Rational Unified Process
Lógica Matemática e Computacional 7 – Introdução à Programação Lógica
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Elsa Carvalho 163 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Teoria dos Modelos.
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.
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Curso de ADMINISTRAÇÃO
Resolução de problemas
Introdução à Programação Lógica
Resolução.
Técnicas de Representação de Conhecimento
EXPRESSÕES ARITMÉTICAS
BCC 101– Matemática Discreta
INTRODUÇÃO À PROGRAMAÇÃO
FUNÇÃO MODULAR.
Aula 4 Nomes, Vinculações, Tipos e Escopos
Lógica e lógica de programação
DEDUÇÃO NO CÁLCULO PROPOSICIONAL
Programação e Sistemas de Informação
Mecânica dos Sólidos não Linear
Indução Métodos de prova já vistos Excepções
Lógica de Primeira Ordem -3
Fases do desenvolvimento de software UML
Classes e objetos P. O. O. Prof. Grace.
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
UML - Unified Modeling Language
Inteligência Artificial
Conceitos Básicos.
Renda até 2 SM.
Prolog Programação Lógica Ícaro A. Souza.
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
UML - Unified Modeling Language
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Comunicação Inclusiva Acessibilidade e Programação Web
PROCESSOS PRINCIPAIS Alunos - Grau de Satisfação 4971 avaliações * Questões que entraram em vigor em 2011 ** N.A. = Não Aplicável Versão: 07/02/2012 INDICADORES.
Conhecimento Científico Noutros conhecimentos...
Estrutura de dados, pseudocódigo
Funcionários - Grau de Satisfação 2096 avaliações
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
1/40 COMANDO DA 11ª REGIÃO MILITAR PALESTRA AOS MILITARES DA RESERVA, REFORMADOS E PENSIONISTAS - Mar 06 -
CLASSIFICAÇÃO DE FILMES
Projeto Medindo minha escola.
Lógicas e Inferência para IA
Semântica de Linguagens de Programação
SÉRIES ESTATÍSTICAS.
Projeto de Banco de Dados
Sistemas Especialistas
Sistemas Inteligentes
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Programação Orientada à Objetos
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Olhe fixamente para a Bruxa Nariguda
Sistemas Baseados em Conhecimento
Como Programar? Dicas para começar a programar bem
Máquina de Turing Universal
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
3ª PESQUISA DE REMUNERAÇÃO
Equipe Bárbara Régis Lissa Lourenço Lucas Hakim Ricardo Spada Coordenador: Gabriel Pascutti.
Introdução a Algoritmos
INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA Profa. Joseluce de Farias Cunha
Unified Modeling Language Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Nov/2010.
Fundamentos de linguagens de programação
Sistemas Baseados em Conhecimento Prof. Cláudio M. N. A. Pereira.
Transcrição da apresentação:

Representação de Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico.  área de conhecimento bem delimitada, focalizada. Existem várias teorias que explicam como se organiza o conhecimento humano na resolução de problemas – Vários Tipos de Conhecimento Representação de Conhecimento Representação de Conhecimento

Representação de Conhecimento Tipos de Conhecimento Conhecimento Procedimental Conhecimento Declarativo Meta-Conhecimento Conhecimento Heurístico Conhecimento Estrutural Representação do Conhecimento Método usado na codificação do conhecimento contido na Base de Conhecimento do Sistema Pericial Não existe uma representação única ideal para todos os tipos de conhecimento Representação de Conhecimento

Conhecimento Procedimental Descreve como um problema é resolvido ou como agir perante uma dada situação (como fazer). Regras, estratégias, agendas e procedimentos são representações típicas para este tipo de conhecimento. Representação de Conhecimento Representação de Conhecimento

Conhecimento Declarativo Descreve o que é conhecido acerca de um determinado problema. Inclui declarações (statements) que são assumidas como verdadeiras ou falsas e que descrevem um objecto ou conceito. Corresponde a uma representação descritiva. Exemplo Fumar pode provocar cancro no pulmão.   Conhecimento Declarativo é mais transparente – mais facilmente entendido, mais fácil de manter Representações procedimentais são mais eficientes, mas mais difíceis de manter Representação de Conhecimento

Representação de Conhecimento Meta-Conhecimento Conhecimento acerca do próprio conhecimento. é usado para aceder a conhecimento mais orientado para resolver determinado problema Aumenta a eficiência de resolução do problema dirigindo o raciocínio para o subconjunto de conhecimento mais adequado Representado através de meta-regras – regras que descrevem como usar outras regras Exemplo Se o carro não pega E o sistema eléctrico está operacional Então usar regras relativas ao circuito de alimentação Representação de Conhecimento

Conhecimento Heurístico Reflecte o conhecimento obtido com toda a experiência que se detém ao lidar com um determinado tipo de problema É obtido pela experiência prévia na resolução de um grande número de problemas de uma determinada especialidade, é essencialmente empírico Muitas vezes assume o aspecto de regras de bom senso ou de “Rules of Thumb” Exemplo Para elaborar horários considerando salas devemos começar com as salas que impõem mais restrições; Numa máquina de pintura fazer as mudanças de tintas sempre das mais claras para as mais escuras. Representação de Conhecimento

Conhecimento Estrutural Descreve a estruturação do conhecimento, ou seja, o modelo mental que o perito tem na resolução de um determinado tipo de problema. Pode indicar conceitos e sub-conceitos na estruturação do conhecimento.  Exemplo com as anomalias no Betão   Tipos de Anomalias no Betão Fissura Excesso de Ar Excesso de Água Grande grau de Silicato Tricálcio no Cimento Factores Climatéricos Temperatura Inconstante Chocho Má vibração Falta de Inertes Finos Cofragem não estanque Excesso de Inertes Grossos .... Representação de Conhecimento

Representação de Conhecimento Tipos de Conhecimento Regras Estratégias Agendas Procedimentos Conceitos Objectos Factos Conhecimento acerca de outros tipos de conhecimento e como usá-lo Regras de bom-senso Conjuntos de Regras Relações entre Conceitos Relações entre Objectos Conhecimento Procedimental Conhecimento Declarativo Metaconhecimento Conhecimento Heurístico Conhecimento Estrutural Representação de Conhecimento

Conhecimento do Perito não e geralmente baseado em definições claras nem em algoritmos precisos é composto por teorias de carácter geral, mas também por regras de dedo, estratégias e truques aprendidos com a experiência ...  heurísticas ... utilizadas para simplificar a resolução de problemas, para identificar situações comuns é muito dependente do domínio pode estar continuamente sujeito a mudança  Consequências Separação explícita entre conhecimento e algoritmos para aplicação do conhecimento Sistema Pericial = Conhecimento + Inferência Representação de Conhecimento

Níveis de Conhecimento Conhecimento Superficial faz uma descrição básica (superficial) do conhecimento Exemplo SE o depósito de gasolina está vazio ENTÃO o carro não irá funcionar é muito limitado, por exemplo, explicar a alguém os fenómenos que se passam não traz valor acrescentado por ser demasiadamente genérico e básico é um tipo de conhecimento que tira relações causa-efeito - “caixa preta” (no sentido de não se observar o interior dos sistemas) Representação de Conhecimento

Níveis de Conhecimento Conhecimento Profundo considera a estrutura causal e interna de um sistema e contempla a interacção entre os componentes desse sistema É mais difícil de adquirir, representar e validar A representação com redes semânticas ou enquadramentos (frames) é a mais adequada. Representação de Conhecimento

Representação do Conhecimento Necessário formalismos: Utilizáveis em computador Com forma próxima da do conhecimento do perito Que facilitem as operações de recolha, organização, manutenção, validação .... .... transparentes Representação de Conhecimento

Representação do Conhecimento Alguns formalismos de representação do conhecimento mais vocacionados para o desenvolvimento de Sistemas Periciais : Tripletos Objecto-Atributo-Valor e Listas de Propriedades Relações de Classificação e Pertença (IS-A e IS-PART) Redes Semânticas Enquadramentos (Frames) Guiões Regras Lógica Representação de Conhecimento

Tripletos Objecto-Atributo-Valor (O-A-V) Caracterizam os valores de determinados atributos de um dado objecto O objecto pode ser uma entidade física (carro) ou uma entidade conceptual (empréstimo) Representação de Conhecimento

Tripletos Objecto-Atributo-Valor (O-A-V) Exemplo Tripletos associados a um carro carro-marca-opel carro-modelo-astra carro-cilindrada-1400 carro-nºportas-4 carro-côr-verde ... Os tripletos podem vir afectados de valores numéricos que expressam a certeza, ou incerteza, que se tem no conhecimento em causa. Previsão do tempo é de chuva com 60% de certeza (previsão- tempo-chuva – CF = 0.6) Representação de Conhecimento

Listas de Propriedades No exemplo carro-marca-opel carro-modelo-astra carro-cilindrada-1400 carro-nºportas-4 carro-côr-verde ... O nome do objecto aparece muitas vezes, visto que temos muitos atributos para o mesmo objecto. Nessas situações podemos usar listas de propriedades, nas quais para um dado objecto temos uma lista de pares atributo‑valor. Lista de propriedades para o carro:  carro-[marca-opel, modelo-astra, cilindrada-1400, nºportas-4, côr-verde,...]. Representação de Conhecimento

Representação de Conhecimento Limitações Os tripletos e as listas de propriedades têm limitações quando se pretende representar conhecimento declarativo sobre atributos de objectos que estejam em modificação. Nessas situações o conhecimento é dinâmico e temos que modificar o valor de um atributo.   Exemplo tripletos dinâmicos que se referem ao estado de um disjuntor (aberto ou fechado) e ao modo de operação de uma linha (manual ou automático):   disjuntor_D - estado-aberto. linha_L - modo_operação - manual. Representação de Conhecimento

Relações de Classificação (IS-A) Representação de Conhecimento

Relações de Pertença (IS-PART) As relações de pertença (IS-PART) organizam o conhecimento através da composição ou decomposição de componentes. Representação de Conhecimento

Relações de Classificação (IS-A) e de Pertença (IS-PART) As relações IS-A e IS-PART podem ser combinadas na mesma representação. Representação de Conhecimento

Representação de Conhecimento Redes Semânticas São um método de representação do conhecimento através de um grafo directo composto por nós e arcos Os nós representam objectos (físicos ou abstractos), as suas propriedades e valores Os arcos representam relações entre os nós As relações IS-A e IS-PART são vulgarmente usadas como etiquetas dos arcos, podem ser usadas outras etiquetas à nossa escolha (tem, desloca-se, respira, etc) que capturam conhecimento   Representação de Conhecimento

Representação de Conhecimento Redes Semânticas Representação de Conhecimento

Representação de Conhecimento Modo de Operação Quando se coloca uma questão a um Nó, este procura nos seus arcos locais por uma etiqueta que coincida com a questão se não existir procura a resposta via as suas ligações IS_A, ou seja, passa a questão até um Nó que contenha um arco com a resposta. deslocação Amarelus ? Representação de Conhecimento

Inferência sobre Redes Semânticas Para descrever o processo de inferência nas Redes Semânticas vamos usar lógica: Cada ligação É traduzido para relação (Obj1,Obj2) Deslocação Amarelus ? Is_a (Amarelus,Canário). Is_a (Canário, Ave). deslocação(Ave,Voo). Representação de Conhecimento

Inferência sobre Redes Semânticas O tratamento de excepções no mecanismo de herança faz-se impondo uma restrição ao mecanismo de herança  algo dito explicitamente sobrepõe-se aos factos herdados deslocação Black&White? Is_a (Black&White,Pinguim). deslocação(Pinguim,andar). Is_a (Pinguim, Ave). Is_a (Ave,animal). respira(Ave,Ar).  herda todas as características da superclasse excepto aquelas explícitas no próprio Nó Representação de Conhecimento

Características Redes Semânticas simplicidade de representação - devido às características de herança Amarelus herda todas as propriedades de Aves as Redes Semânticas estão na origem da Programação Orientada a Objectos   permitem uma redução no tempo de pesquisa, visto que os nós estão directamente ligados aos nós vizinhos com interesse Desvantagens:  podem permitir inferências inválidas não têm uma norma de interpretação - a interpretação depende dos programas que a manipulam. Representação de Conhecimento

Representação de Conhecimento Exemplo Uma ave é um animal. A maneira normal de movimentação das aves é voar. Uma ave está activa durante o dia. Um albatroz é uma ave. Uma albatroz é preto e branco. O tamanho normal do albatroz é 115 cm. O Alberto é um albatroz. O tamanho do Alberto é 120 cm. Um pinguim é uma ave. Um pinguim é branco e preto. A maneira normal de movimentação dos pinguins é andar. O Tweety é um pinguim. Questões: Qual o método de movimentação do Alberto ? Qual o método de movimentação do Tweety ? Representação de Conhecimento

Representação de Conhecimento Exemplo Representação de Conhecimento

Enquadramentos (Frames) Introduzido em 1975 por Marvin Minsky Permitem representar conhecimento de um conceito ou objecto Um enquadramento é uma versão enriquecida de um registo ou de um objecto: Propriedades Herança: características, comportamentos É possível criar Instâncias dos Enquadramentos  Adequados para sistemas complexos, de larga escala, envolvendo valores por defeito e quantidades elevadas de dados conhecidos a-priori Representação de Conhecimento

Frames - Campos Identificador Slots são representados em gavetas (slots) correspondem aos atributos Cada slot tem identificação valor que toma por defeito (quando nenhum valor foi ainda atribuído) valor actual (espaço onde são guardadas as alterações ao atributo) Nome do frame Nome do slot 1 Valor por defeito - slot 1 Valor actual slot 1 Nome do slot 2 Valor por defeito - slot 2 Valor actual slot 2 Representação de Conhecimento

Definição de Frames em LPA Flex frame <nome_do_frame> [{is a|is an|is a kind of} <frame_pai>] [,<outro_frame_pai>,…] [;] [ [ default <slot> {is|is a|are} <valor> ] [ and default <outro_slot> {is|is a|are} <outro_valor> [and … ] ] [;] [ inherit <slot> from <nome_do_frame_herda> [ and do not inherit <slot> [ and …] ] ] ]. nome_do_frame é o nome do frame (atómico) frame_pai, outro_frame_pai e nome_do_frame_herda são nomes de frames (com o mesmo formato) definidos noutro local slot e outro_slot são identificações dos slots pertencentes ao frame nome_do_frame. valor e outro_valor são valores por defeito que os slots tomam respectivamente.   Representação de Conhecimento

Representação de Conhecimento Relações entre Frames Permitem implementar características de herança entre Frames Tipos de Relações “is a” ou “is an” : relação de dependência hierárquica entre frames “inherit” : herança de slot(s) de frames que não estão na mesma linha de hierarquia “do not inherit” : ausência de herança de slot(s) de frame(s) hierarquicamente superiores um slot ser ele mesmo um frame Representação de Conhecimento

Representação de Conhecimento “Is a” Simples O frame_filho herda todos os slots de frame_pai frame_pai slot_1 valor_1 slot_2 valor_2 frame_filho slot_3 valor_3 slot_4 valor_4 Is a frame frame_pai default slot_1 is valor_1 and default slot_2 is valor_2.   frame frame_filho is a frame_pai default slot_3 is valor_3 and default slot_4 is valor_4. Representação de Conhecimento

Representação de Conhecimento “Is a” Múltiplo Exemplo Mamífero pele pelo habitat terra movimento anda,nada Is a Felino cauda longa pernas 4 frame mamifero default pele is pelo and default habitat is terra and default movimento are {anda,nada}. frame felino is a mamifero default cauda is longa and default pernas are 4. Representação de Conhecimento

Representação de Conhecimento “Inherit” Herança de slot(s) de frames que não estão na mesma linha de hierarquia frame_pai slot_1 valor_1 slot_2 valor_2 frame_filho slot_5 valor_5 slot_6 valor_6 Is a outro_frame slot_3 valor_3 slot_4 valor_4 inherit frame frame_pai default slot_1 is valor_1 and default slot_2 is valor_2.   frame outro_frame default slot_3 is valor_3 and default slot_4 is valor_4. frame frame_filho is a frame_pai default slot_5 is valor_5 and default slot_6 is valor_6 ; inherit slot_4 from outro_frame. Representação de Conhecimento

Representação de Conhecimento “Inherit” - Exemplo Mamífero pele pelo habitat terra movimento anda,nada Pássaro penas árvore voa Pinguim lisa Is a inherit frame passaro .... frame mamifero ...... frame pinguim is a passaro default pele is lisa and default habitat is terra ; inherit movimento from mamifero. Representação de Conhecimento

Representação de Conhecimento “do not inherit” Ausência de herança de slot(s) de frame(s) hierarquicamente superiores frame_pai slot_1 valor_1 slot_2 valor_2 frame_filho slot_3 valor_3 slot_4 valor_4 Is a frame frame_pai default slot_1 is valor_1 and default slot_2 is valor_2.   frame frame_filho is a frame_pai default slot_3 is valor_3 and default slot_4 is valor_4 ; do not inherit slot_2. Do not inherit Representação de Conhecimento

“do not Inherit” - Exemplo Pássaro pele penas habitat árvore movimento voa Pinguim lisa terra Is a Do not inherit frame passaro default pele is penas default habitat is arvore and default movimento is voa; frame pinguim is a passaro default pele is lisa and default habitat is terra ; do not inherit movimento. Representação de Conhecimento

Representação de Conhecimento Um slot como Frame O slot tem como valor por defeito o nome de um frame que pode depois ser acedido como tal frame_1 slot_1 slot_2 valor_2 frame_2 slot_3 valor_3 slot_4 valor_4 frame frame_1 default slot_1 is frame_2 and default slot_2 is valor_2.   frame frame_2 default slot_3 is valor_3 and default slot_4 is valor_4. Representação de Conhecimento

Representação de Conhecimento Exercício Definir em termos de frames em LPA-flex a estrutura Programador categoria prog Is an Is a Empregado nome '' morada vencimento Gestor de Projecto gest_proj Relações Públicas rel_pub num_pr Projecto identificacao lista_prog nothing sistema linguagem gestor estado 'em construção' Representação de Conhecimento

Representação de Conhecimento frame empregado default nome is '' and default morada is '' and default vencimento is 0. frame programador is an empregado default categoria is prog. frame 'gestor de projecto' is an empregado default categoria is gest_proj. frame 'relacoes publicas' is an empregado default categoria is rel_pub and default num_pr is 0. frame projecto default identificacao is '' and default lista_prog is nothing and default sistema is '' and default linguagem is '' and default gestor is '' and default rel_pub is '' and default estado is 'em construcao'. Representação de Conhecimento

Representação de Conhecimento Instância de um Frame é um elemento do conjunto que o frame representa, ou uma particularização da classe podem ser vistas como frames cujos slots estão restringidos apenas ao valor actual as instâncias, contrariamente aos frames, só podem ter um pai é possível introduzir novos atributos a instâncias Frame Instância Representação de Conhecimento

Definição de Instância As instâncias podem ser definidas: no programa em execução (através de acções) Definição no programa instance <nome_da_instancia> [ is a | is an | is a kind of | is an instance of <nome_do_frame> ] [;] [ [ <slot> is|is a|are <valor> ] [ and <outro_slot> is|is a|are <outro_valor> [and … ] ] [;] [ inherit <slot> from <nome_do_frame_herda> [ and do not inherit <slot> [ and …] ] ] ]. Exemplo instance Tweety is a passaro; movimento are {voa, nada}; cor is branco&preto. Cada vez que se tenha de criar uma nova instância é necessário: acrescentar a instância ao programa reinicia-lo  ineficiente ! Representação de Conhecimento

Representação de Conhecimento Questões e Respostas Permitem a comunicação entre o LPA Flex e o utilizador Tipos de questões Questões de menu question <nome_da questão> <Texto a apresentar pela questão> ; choose {one | some} of <grupo_de_escolha>. Questões de introdução input {number | name | set}. Representação de Conhecimento

Questões e Respostas - Exemplos Questão de Menu group tipos_hobbies estudar, ler, praticar_desporto.   question tempos_livres O que faz nos seus tempos livres ? ; choose some of tipos_hobbies. Questão de introdução question int_numero Introduza um numero ; input number. Representação de Conhecimento

Representação de Conhecimento Acções São uma colecção de directivas para execução correspondem aos predicados em PROLOG (sintaxe diferente) só existe uma definição possível para cada acção uma acção pode ter um número arbitrário de argumentos são úteis para aceder ou mostrar valores de slots, criar instâncias Sintaxe    action <nome_da_acção> do <directiva_1> [ and <directiva_2> [ and … ] ]. Representação de Conhecimento

Representação de Conhecimento Acções % Grupos group animais mamifero, passaro, felino, pinguim. % Questões Question escolher_animal Escolha o animal; choose some of animais. question introduzir_nome Introduza o nome; input name Acção para criar uma instância em execução de qualquer tipo de animal action cria_animal (TipoAnimal , NomeAnimal ) do ask escolher_animal and check that TipoAnimal is escolher_animal and ask introduzir_nome and check that NomeAnimal is introduzir_nome and NomeAnimal is a new TipoAnimal. Representação de Conhecimento

Programação gerida por dados Associados aos Frames existem procedimentos que são activados sempre que são realizadas operações de actualização, acesso ou criação de uma instância do Frame. Tipos de procedimentos geridos por dados: Launches Constraints Demons Watchdogs Representação de Conhecimento

Programação gerida por dados procedimentos geridos por dados frames slots launches acesso actualização antes depois demons constraints watchdogs Representação de Conhecimento

Representação de Conhecimento Launch Procedimento gerido por dados invocado sempre que uma nova instância de um qualquer frame é criada. Quando uma nova instância é criada, todas as launches existentes são verificadas e aquelas cujas condições se verifiquem são executadas. É composto por três partes distintas: Contexto: teste para verificação de uma condição (qual o frame de que foi criada a instância) Teste: um teste de condições para verificar se o launch deve actuar Acção: uma série de comandos a serem executados se todas as condições forem satisfeitas.   Representação de Conhecimento

Representação de Conhecimento Launch Sintaxe launch <nome_da_launch> when [the] <{valor | variável}> is a new < nome_do_frame > [ and <condiçao> [and …] ] then <acção_1> [ and <acção_2> [ and … ] ]. Exemplo frame empregado default sexo is masculino.   launch novo_empregado when Pessoa is a new empregado and sexo of Pessoa is masculino then questoes_sexo_masculino( Pessoa ). instance pedro is an empregado. Representação de Conhecimento

Representação de Conhecimento Constraint Uma restrição é algo que afecta um slot individualmente é implementada de forma a que restrinja a alteração ao conteúdo do slot da forma desejada é activada sempre que um determinado slot esteja prestes a ser alterado, sendo invocada imediatamente antes do conteúdo do slot ser realmente alterado, para validar a alteração É composto por três partes distintas: Contexto: teste para verificação de uma condição (qual o slot a ser restringido) Teste: um teste de condições para verificar se a restrição deve actuar Erro: uma série de comandos a serem executados se as restrições não forem satisfeitas. Representação de Conhecimento

Representação de Conhecimento Constraint Sintaxe constraint <nome_da_restrição> when [the] <slot > [ of < nome_do_frame> ] changes to <{valor|variável}> [ and <condiçao> [and …] ] then check [that] <verificação_1> [ and < verificação _2> [ and … ] ] [ otherwise <acção_1> [ and <acção_2> [ and … ] ] ]. Exemplo frame empregado default sexo is masculino.   constraint tipo_sexo when the sexo of Pessoa changes to S and Pessoa is some empregado then check that S is included in {masculino, feminino} otherwise nl and write(' Nao e'' possivel' ) and nl. instance pedro is an empregado. Representação de Conhecimento

Representação de Conhecimento Demon é invocada sempre que existe alteração a um determinado valor de um qualquer atributo, É executada imediatamente depois da alteração ter acontecido não restringe a alteração, existe apenas para invocar uma acção depois da alteração ocorrer É composta por três partes distintas: Contexto: teste para verificação de uma condição (qual o slot a provocar acções ) Teste: um teste de condições Acção: uma série de comandos a serem executados se as restrições não forem satisfeitas. Representação de Conhecimento

Representação de Conhecimento Demon Sintaxe demon <nome_da_demon> when [the] <slot> [ of < nome_do_frame> ] [changes from <{valor|variável}> ] to {valor|variável}> [ and <condiçao> [and …] ] then <acção_1> [ and <acção_2> [ and … ] ] ]. Exemplo frame empregado default sexo is masculino.   demon qual_sexo when the sexo of Pessoa changes from S1 to S2 and Pessoa is some empregado and S1 is different from S2 then write(' A mudanca de sexo e'' pouco habitual!' ) and nl. Representação de Conhecimento

Representação de Conhecimento Watchdog implementam restrições de acesso aos valores dos atributos sempre que um valor de um determinado atributo é pedido, e imediatamente antes deste ser fornecido, verificam automaticamente as condições de acesso baseiam o seu funcionamento em condições que permitem ou não a disponibilização de informação. É composto por três partes distintas: Contexto: teste para verificação de uma condição (qual o slot a ter restrições de acesso ) Teste: um teste de condições para verificar se a restrição deve actuar Erro: uma série de comandos a serem executados se restrições não forem satisfeitas. Representação de Conhecimento

Representação de Conhecimento Watchdog Sintaxe watchdog <nome_do_watchdog> when [the] <slot > [ of < nome_do_frame> ] is requested [ and <condiçao> [and …] ] then check [that] <verificação_1> [ and < verificação _2> [ and … ] ] [ otherwise <acção_1> [ and <acção_2> [ and … ] ] ]. Exemplo frame conta default saldo is 0.   frame utilizador default nome is '' and default acesso is 0. watchdog seguranca_de_conta when the saldo of the Conta is requested and Conta is some conta then check that the acesso of utilizador is above 99 otherwise nl and write( 'Acesso negado ao utilizador ' ) and write( utilizador`s nome ). Representação de Conhecimento

Representação de Conhecimento Frames facilitam o processamento orientado pelas expectativas, através do uso de procedimentos geridos por dados, ficam num estado de espera até serem realmente necessários permitem uma boa organização do conhecimento são auto-guiáveis, ou seja, eles são capazes, por si só, de determinar quando devem ser aplicados, se não forem aplicáveis podem sugerir outros Enquadramentos que o sejam. permitem guardar valores dinâmicos Desvantagens são pouco adequados a novas situações a explicitação de conhecimento heurístico, comum em regras, é complexa Representação de Conhecimento

Representação de Conhecimento Guiões (Scripts) Especificam uma sequência estereotipada de acontecimentos que normalmente acontecem e que se seguem para representar conhecimento procedimental. Contêm um conjunto de “slots” dos seguintes tipos:  Condições de entrada – que devem ser atendidas para que os eventos descritos no guião possam ocorrer Resultados – que irão ser verdadeiros após a ocorrência dos eventos descritos no guião Objectos – representando objectos envolvidos nos eventos do guião Participantes – representando entidades que estão envolvidas nos eventos do guião Cenas – sequências de eventos que ocorrem São adequados: para os casos em que temos sequências tipificadas (por exemplo, as fases da análise de um incidente) para descrever planos que devem ser seguidos (por exemplo, os tratamentos a seguir para a cura de uma doença). Representação de Conhecimento

Representação de Conhecimento Guiões (Scripts) Participantes: cliente, empregado, dono,... Objectos: mesa, cadeira, refeição, .... Condições de entrada: cliente com apetite e dinheiro, mesa/vaga disponível,... Condições de saída: cliente satisfeito, cliente com menos dinheiro, dono com mais dinheiro,... Cena 1: cliente entra no restaurante, aguarda por lugar, senta-se Cena 2: cliente chama empregado, pede menu, escolhe,... .... Cena N: cliente chama empregado, pede conta, paga, sai. Representação de Conhecimento

Representação de Conhecimento Regras Modelo psicológico do comportamento humano (regras de produção): Estímulos Acções É uma forma de conhecimento procedimental  associa informação dada com alguma acção Neste modelo, um processador cognitivo tenta disparar as regras activadas pelos estímulos adequados  É o papel do motor de inferência Representação de Conhecimento

Forma Geral Condição1 E ... E CondiçãoN OU CondiçãoN1 E .... Se Antecedente Então Consequente1 Senão Consequente2 Ou Se Condição1 E ... E CondiçãoN Então Conclusão11 E ... E Conclusão 1M Senão Conclusão21 E ... E Conclusão 2M As condições do antecedente podem também estar ligadas por OU: Condição1 E ... E CondiçãoN OU CondiçãoN1 E .... Representação de Conhecimento

Representação de Conhecimento Forma Geral Regra1 Se SensorA tem valor > 50 Então temperatura da água é muito alta Senão temperatura da água é normal Alternativa (de mais fácil validação): Regra 1a: Se SensorA tem valor > 50 Regra 1b: Se SensorA tem valor <= 50 Representação de Conhecimento

Antecedentes Disjuntivos Se A = x OU B = y Então C = k Pode converter-se em Se A = x Então C = k Se B = y Então C = k Vantagem Mais fácil o acompanhamento da inferência Representação de Conhecimento

Representação de Conhecimento Forma Geral Formato das regras regra Identificador : se LHS então RHS1 Exemplo Regra r1: SE Bot_1=actuado E Bot_2=actuado ENTÃO Sistema_A=activado LHS RHS Representação de Conhecimento

Representação de Conhecimento Regras   LHS (Left-Handed Side) contempla as condições que terão que ser atendidas para que a regra seja aplicável pode envolver a conjunção, disjunção e negação de termos os termos podem ser factos básicos ou termos gerados pelas conclusões de outras regras - hipóteses ou conclusões intermédias Representação de Conhecimento

Representação de Conhecimento Regras RHS (Right-Handed Side) corresponde às conclusões ou acções que se podem obter caso as condições sejam verdadeiras alguns sistemas só permitem uma conclusão por regra (Cláusulas de Horn) outros permitem mais do que uma conclusão as conclusões podem ser intermédias, se entrarem no LHS de outras regras (também recebendo o nome de hipóteses) ou conclusões definitivas Representação de Conhecimento

Representação de Conhecimento Regras vs. Triplos OAV Regra 1a: Se SensorA tem valor > 50 Então temperatura da água é muito alta Representação de Conhecimento

Representação de Conhecimento Regras vs. Triplos OAV As condições e as conclusões serão genericamente designadas por átomos Os átomos podem ser: Triplos Objecto|Atributo|Valor Pares Atributo/Valor (objectos implícitos) Representação de Conhecimento

Pares Atributo/Valor vs. Triplos OAV Se classificação > 14 Então admitir ao Mestrado Melhor Se classificação do aluno > 14 Então Aluno Estado de Admissão Mestrado = Sim Objectos implícitos Objectos explícitos Representação de Conhecimento

Representação de Conhecimento Tipos de Regras Relação Recomendação Se bateria descarregada Se o automóvel não arranca Então o automóvel não arrancará Então arranjar cabos Orientação Heurística Se o automóvel não arranca Se o automóvel não arranca E sistema de alimentação = Ok E carro modelo Ford, 1975 Então verificar sistema eléctrico Então Verificar Circuito de Alimentação Estratégia Se o automóvel não arranca Então 1º verificar sistema de alimentação em seguida o sistema eléctrico Representação de Conhecimento

Classificação das Regras quanto à Incerteza Regras de Validade absoluta Regra da implicação usada na Lógica Ex: mortal (X) SE humano (X) má (ideia) SE mau-humor (patrão) AND pedir (patrão, aumento) Regras de Validade Incerta Regras com grau de certeza Ex: Se Inflação Elevada Então Taxas de Juro Elevadas FC=0,8 Regras com probabilidades associadas Representação de Conhecimento

Representação de Conhecimento Regras Variáveis Se ?X é Empregado E ?X Idade > 65 Então ?X pode reformar-se. O motor de inferência processa a memória de trabalho de modo a encontrar factos que verifiquem ambas as condições João é Empregado. João Idade = 75. Maria é Empregado. Maria Idade = 35. João pode reformar-se. Representação de Conhecimento

Regras Causais vs. Regras de Diagnóstico Uma regra de Produção numa Base de Conhecimento pode estar em uma das seguintes formas: Causas influenciam a verosimilhança de sintomas (efeitos), ou Sintomas observados afectam a verosimilhança de todas as suas causas Regras Causais R1 SE torniquete funcionou ENTÃO relva húmida (FC) R2 SE choveu ENTÃO relva húmida (FC) Regra Tipo Diagnóstico R3 SE relva húmida ENTÃO choveu (FC) Representação de Conhecimento

Regras Causais vs. Regras de Diagnóstico A mistura numa mesma Base de Conhecimentos dos dois tipos de Regras (que aliás representam conhecimento verdadeiro) pode ser desastrosa. No exemplo anterior: A aplicação da Regra R1 seguida de R3  levaria a concluir que choveu porque o torniquete funcionou As Bases de Conhecimento devem ser consistentes e incorporar regras apenas um dos tipos de regras São preferíveis Regras do tipo Causal porque assim representa-se o modelo teórico de causa a efeito. Bases de Conhecimento com Regras Causais são ditas Baseadas em Modelos Representação de Conhecimento

Principais Propriedades da Representação de Conhecimento com Regras Modularidade Cada regra define uma pequena parte do conhecimento relativamente independente das outras regras Incrementalidade Novas regras podem ser acrescentadas à Base de Conhecimento de maneira relativamente independente Possibilidade de Modificação Regras podem ser modificadas de maneira relativamente independnte Transparência Permite explicações de raciocínio (questões Como ? E Porquê ?) Representação de Conhecimento

Problemas das Representações por Regras Ave (X)  Deslocação ( X, Voar) Não está correctamente correcta porque existem excepções Uma possível solução é a introdução de excepções e o uso da negação por falha Ave (X) E ¬pinguim(X) E ¬avestruz(X)  Deslocação( X, Voar)  Isto torna difícil gerir todas as excepções Tratamento de excepções através de regras: tem a desvantagem de implicar não só acrescentar novas regras (ex. sobre aves que não voam) como também modificar outras regras (regras gerais que descrevem as aves) Representação de Conhecimento

Representação de Conhecimento com Regras Exemplo Base de Conhecimento para análise de um problema de inundação num andar Conceptualização Sintomas possíveis cozinha Ok / Com água, hall Ok / Com água, WC Ok / Com água Outros parâmetros janela aberta/fechada, choveu/não choveu Causas (diagnósticos) possíveis choveu fuga de água na cozinha / no WC Representação de Conhecimento

Relacionamento dos sintomas com as causas R1: Se hall com água E cozinha Ok Então fuga de água no WC R2: Se hall com água E WC Ok Então problema na cozinha R3: Se janela da cozinha fechada ou não choveu Então não entrou água de fora R4: Se não entrou água de fora E problema na cozinha Então fuga de água na cozinha Representação de Conhecimento

Representação de Conhecimento Lógica Lógica - forma de representação de conhecimento mais usada ao nível de computação. Exemplo Na compreensão de texto em Língua Natural é usual transformar frases em representações em lógica Lógicas mais usuais: Lógica Proposicional Lógica de Predicados (ou Cálculo de Predicados) Outras Lógicas: Lógica Modal Lógica Temporal Representação de Conhecimento

Representação de Conhecimento Lógica Em Lógica os símbolos representam conhecimento e os operadores são aplicados aos símbolos para dar origem a raciocínios lógicos Representação de Conhecimento

Representação de Conhecimento Lógica Proposicional Usa proposições para a representação do conhecimento e raciocínio sobre esse mesmo conhecimento. Exemplo Representar através de A a proposição que indica: hoje está a chover  A = hoje está a chover. Se quisermos provar a verdade da proposição hoje está a chover É necessário provar a verdade da variável A. Representação de Conhecimento

Representação de Conhecimento Lógica Proposicional Tabela de Verdade da Conjunção Tabela de Verdade da Negação Tabela de Verdade da Disjunção Tabela de Verdade da Equivalência Representação de Conhecimento

Representação de Conhecimento Lógica Proposicional Tabela de Verdade da Implicação AB  ¬ A  B Exemplo SE a bateria está em baixo ENTÃO o carro não vai arrancar   Representação de Conhecimento

Algumas Equivalências na Lógica Proposicional Representação de Conhecimento

Limitação da Lógica Proposicional Dificuldade em expressar conhecimento que necessite de quantificadores (todos, alguns). Exemplo “todos os seres humanos são mortais” e sabendo que “alguém é um ser humano” inferir que esse “alguém é mortal” C [ser_humano(C)  mortal(C)] Representação de Conhecimento

Representação de Conhecimento Lógica de Predicados Baseada no trabalho de Gottfried Frege Opera com predicados e argumentos As frases estabelecem relações entre objectos - pessoas, entidades físicas, conceitos Os predicados têm a ver com as relações Os argumentos têm a ver com os objectos Inclui os quantificadores: universal ( - qualquer) e existencial ( - existe) Exemplo Em vez de representar uma proposição através de um simbolo P = Portugal é um país europeu fica(portugal, europa)  predicado Representação de Conhecimento

Símbolos da Lógica de Predicados Constantes - usadas para designar objectos ou propriedades dos predicados Ex. temperatura, maria, ... Predicados - dividem-se em duas partes: o predicado (asserção acerca do objecto) e o argumento (representa o(s) objectos(s) da proposição) Ex: gosta (joão, maria) Variáveis – usadas para representar classes gerais de objectos ou propriedades Ex: gosta (X, Y) Funções - permitem relacionar entidades de um conjunto com um elemento único de um outro conjunto. Ex: pai (joão) = antónio mãe (joana) = maria amigos(pai (joão), mãe (joana)) = amigos (antónio, maria) Estes símbolos são manipulados usando os operadores da Lógica Proposicional Representação de Conhecimento

Representação de Frases em Lógica de Predicados Todas as crianças gostam de gelados C [criança(C)  gosta(C, gelado)] Há um oceano que banha Portugal O [oceano(O)  banha(O,portugal)] Algumas aves migram A [ave(A)  migra(A)] Representação de Conhecimento

Raciocínio usando a Lógica de Predicados Requer a capacidade de inferir conclusões a partir dos factos disponíveis Através do uso dos operadores do Cálculo de Predicados Inferência SE p é verdadeiro E ( p  q) também é verdadeiro ENTÃO q é verdadeiro Nova informação é inferida com base em informação conhecida usando regras e/ou implicações “modus ponens” Representação de Conhecimento

Representação de Conhecimento Exemplo Objectos cubo(a) cubo(b) cubo(d) triângulo(c) esfera(e) pega(pega) mesa(mesa) Relações em_cima(a, mesa) em_cima(b, mesa) em_cima(e, mesa) em_cima(d, a) em_cima(c, b) estado(pega,livre) Escrever as implicações que permitam colocar um bloco em cima do outro verificar se um bloco está livre verificar que blocos estão por debaixo Representação de Conhecimento

Representação de Conhecimento Exemplo - Blocos Colocar um bloco em cima do outro Condições: Pega tem de segurar bloco a colocar em cima Tem de haver pelo menos um bloco livre para se colocar bloco em cima X Y [ pega_segura(X)  livre(Y)  coloca_em_cima(X, Y) ] verificar se um bloco está livre X (  Y em_cima(Y,X)  livre(X) ) verificar que blocos estão por debaixo X Y ( em_cima(Y,X)  em_baixo (X,Y) ) Representação de Conhecimento

Representação de Conhecimento Raciocínio Capacidade humana em trabalhar com conhecimento, factos e estratégias de resolução de problemas por forma a obter conclusões Entender como os humanos raciocínam como trabalham com a informação relativa a um dado problema Permite delinear o processo de inferência num Sistema Pericial Representação de Conhecimento

Mecanismos de Raciocínio Representação de Conhecimento Representação de Conhecimento

Representação de Conhecimento Raciocínio Dedutivo Modo de raciocinar através do qual se parte de um princípio conhecido em direcção a um princípio desconhecido Do geral para o específico De uma premissa para uma conclusão lógica Exemplo SE objecto A maior que objecto B E objecto B é maior que objecto C ENTÃO objecto A também é maior que objecto C Lógica de Predicados   A B C [maior(A,B)  maior(B,C)  maior(A,C)] Representação de Conhecimento

Representação de Conhecimento Raciocínio Indutivo A Indução é definida como o modo de raciocinar a partir de factos particulares na direcção de uma conclusão geral.   Exemplo   P(a) é verdadeiro P(b) é verdadeiro Então, por indução, concluímos que X P(X) é verdadeiro O Raciocínio Indutivo está na base das Técnicas de Aprendizagem usadas em Descoberta de Conhecimento a partir de grandes Bases de dados, Ex: Traçar o perfil de clientes Representação de Conhecimento

Representação de Conhecimento Raciocínio Abdutivo Observamos algo como sendo verdadeiro e conjecturamos sobre o que pode ter levado a essa observação Tipo de raciocínio usado geralmente na produção de explicações Não garante que se chegue a conclusões verdadeiras se A B é verdadeiro e B é verdadeiro então A também será possivelmente verdadeiro Tal conclusão será sustentada no histórico anterior ou apenas no senso comum. Exemplo X [nada(X)  molhado(X)]   Com base neste conhecimento e usando raciocínio abdutivo se nos aparecer alguém molhado vamos admitir que esse alguém esteve a nadar Representação de Conhecimento

Representação de Conhecimento Modus Ponens É a base do raciocínio dedutivo Se p é verdadeiro e ( p  q) também é verdadeiro então q é verdadeiro Exemplo “se alguém está a nadar então está molhado”. X [nada(X)  molhado(X)] p = nada(X) e q = molhado(X) Se soubermos que X está a nadar e sabendo que quem nada se molha então podemos, pelo “modus ponens”, concluir que X está molhado. Representação de Conhecimento

Representação de Conhecimento Modus Ponens Exemplo 1. Se temperatura > 38.2º então paciente tem febre E1  E2 2. Se paciente tem febre então prescrever 1 aspirina E2  E3 Provar E3 assumindo que o paciente tem temperatura > 38.2º Estado-0 Estado-1 Estado-2 E1  E2 1. E1  E2 1. E1  E2 E2  E3 2. E2  E3 2. E2  E3 E1 3. E1 3. E1 4. E2 4. E2 5. E3 Representação de Conhecimento

Representação de Conhecimento Modus Tollens Se a declaração se (p  q) é verdadeiro e q é falso então podemos inferir que p é falsa.   O “modus tollens” é a base do raciocínio baseado em regras. Exemplo “se alguém está a nadar então está molhado”. X [nada(X)  molhado(X)] p = nada(X) e q = molhado(X) Se soubermos que X não está molhado então podemos inferir que X não está a nadar. Representação de Conhecimento

Princípio da Resolução Estratégia de inferência com a qual se tenta provar que a negação do objectivo O não é Verdadeiro – Prova por Refutação. Prova Automática de Teoremas baseada no Princípio da Resolução: Para provar A transformam-se os axiomas garantidamente verdadeiros na forma clausal, usando os princípios da idempotência: AB  A  B, A A  F, A A  V de seguida junta-se A se por aplicação da regra de resolução a situação na prova falha conclui-se que A é falso e portanto A é verdadeiro Representação de Conhecimento

Princípio da Resolução – Exercício Exemplo 1. Se temperatura > 38.2º então paciente tem febre E1  E2   E1  E2 2. Se paciente tem febre então prescrever 1 aspirina E2  E3   E2  E3 Pretende-se provar E3, (ou seja, prescrever 1 aspirina) de acordo com o Princípio da Resolução assumimos  E3 e acrescentamos este facto à lista de axiomas. Representação de Conhecimento

Representação de Conhecimento Resolução – Exercício Estado-0  E1  E2  E1  E2  E2  E3  E2  E3 E1  E1  E3  E3 Estado-1 Estado-2 ..... ...... E1 E1 3. E1  E3  E1  E3 4.  E3  E1  E3 E3 5.  E1  E3 6. E3 Axiomas 4 e 6 revelam uma contradição, pelo que,  E3 é falso e portanto E3 é verdadeiro Representação de Conhecimento

Representação de Conhecimento Resolução – Exercício Dados os axiomas 1. p 2. ( p  q )  r 3. ( s  t )  q 4. t Provar  r 1º Converter para a Forma Clausal e acrescentar  r 2.  p   q  r 3.  s  q 4.  t  q 5. t 6.  r Representação de Conhecimento

Representação de Conhecimento Resolução – Exercício Representação de Conhecimento

Representação de Conhecimento Unificação Na Lógica Proposicional é simples verificar se dois literais não podem ser verdadeiros simultaneamente, pois L e L são contraditórios Na Lógica de Predicados este processo de “matching” dos axiomas é mais complicado uma vez que podem conter variáveis. Por exemplo homem(João)   homem (João) são contraditórios enquanto que homem(João)   homem ( Spot ) não são É então necessário um mecanismo de identificação (matching) ou de unificação que irá tentar instanciar possíveis valores para as variáveis com base nos axiomas existentes. homem (X)   homem (Spot ) são contraditórios pois homem (X) e homem ( Spot ) podem ser unificados Representação de Conhecimento

Representação de Conhecimento Exprima as seguintes frases usando a Lógica de Predicados de 1ª ordem Os gatos são mamíferos Todo o mamífero tem um progenitor O filho de um gato é um gato Teco é um gato Teco é progenitor do Navalha Prove que Navalha é um gato, pela regra de: Modus ponens Princípio da Resolução Representação de Conhecimento

Definição doa Axiomas através da Lógica de Predicados de 1ª ordem Os gatos são mamíferos g [ gato(g)  mamifero(g) ] Todo o mamífero tem um progenitor g p [ mamifero(g)  progenitor(p,g) ] O filho de um gato é um gato g [ gato(g)  progenitor( g, f )  gato(f) ] Teco é um gato gato (Teco) Teco é progenitor do Navalha progenitor ( Teco, Navalha) Representação de Conhecimento

Modus Ponens Provar  gato(Navalha) Estado-0 gato(g)  mamifero(g) mamifero(g)  progenitor(p,g) gato(g)  progenitor( g, f )  gato(f) gato ( Teco) progenitor ( Teco, Navalha) Pelos Axiomas 3,4,5 e Teco/g, Navalha/ f gato ( Teco)  progenitor ( Teco, Navalha)  gato ( Navalha) gato ( Navalha) Representação de Conhecimento

Resolução Provar  gato(Navalha) Estado-0 gato ( Teco)  gato(g)  mamifero (g)  mamifero (g)  progenitor( p, g)  gato(g)   progenitor( g, f)  gato(f) gato ( Teco) progenitor ( Teco, Navalha) gato(Navalha) Representação de Conhecimento

Representação de Conhecimento Resolução Ø gato( Navalha ) gato(g) Ú progenitor( g, f ) gato(f) Teco / g progenitor( g, Navalha ) gato ( Teco) progenitor ( Teco, Navalha) Navalha / f Representação de Conhecimento

Representação de Conhecimento Considere o seguinte texto: “ Os gatos gostam de peixe. Os gatos comem tudo do que gostam. Teco é um gato” Exprima as frases em Lógica de Predicados de 1ª ordem. Usando a regra de resolução prove por refutação, com base no conhecimento anterior que “o Teco come peixe” Representação de Conhecimento

Representação de Conhecimento Resolução Os gatos gostam de peixe g [ gato(g)  gosta (g, peixe) ] Os gatos comem tudo do que gostam g [ gosta (g, c)  come (g, c) ] Teco é um gato gato ( Teco) Provar  come (Teco, peixe) Representação de Conhecimento

Representação de Conhecimento Resolução Provar  come (Teco, peixe) Resolução Estado-0  gato(g)  gosta (g, peixe)  gosta (g, c)  come (g, c) gato ( Teco) come (Teco, peixe) Representação de Conhecimento

Representação de Conhecimento Resolução Provar  come (Teco, peixe) Resolução come (Teco, peixe)  gosta (g, c)  come (g, c)  gosta (Teco, peixe)  gato(g)  gosta (g, peixe)  gato ( Teco) gato (Teco) Representação de Conhecimento

Representação de Conhecimento Represente as afirmações seguintes usando lógica de predicados de 1ª ordem Um animal pesado come muito Os elefantes são animais grandes Todos os elefantes têm um alimento preferido Dumbo é um elefante Todos os animais grandes são pesados O amendoim é um alimento Provar  Dumbo come muito Representação de Conhecimento

Definição doa Axiomas através da Lógica de Predicados de 1ª ordem a [ animal (a, pesado)  come(a,muito) ] a [ elefante(a)  animal (a, grande) ] a c [elefante(a)  alimento (c, preferido) ] elefante (Dumbo) a [ animal (a, grande)  animal (a, pesado) ] alimento (amendoim) Representação de Conhecimento

Representação de Conhecimento Resolução Provar  Dumbo come muito come(Dumbo, muito) Estado-0  animal (a,pesado)  come (a, muito)  elefante (a)  animal (a, grande)  elefante (a)  alimento (c, preferido) elefante (Dumbo)  animal (a, grande)  animal (a, pesado) Alimento (amendoim) come (Dumbo, muito) Representação de Conhecimento

Representação de Conhecimento Resolução Provar  come(Dumbo, muito) 8 1 come (Dumbo, muito)  animal (a,pesado)  come (a, muito) 5  animal(Dumbo, pesado)  animal (a, grande)  animal (a, pesado) 2  animal (Dumbo, grande)  elefante (a)  animal (a, grande) 4  elefante (Dumbo) elefante (Dumbo) Representação de Conhecimento