Upload
internet
View
109
Download
1
Embed Size (px)
Citation preview
Representação de Conhecimento 1
ConhecimentoTermo abstracto usado para capturar a compreensão de um indivíduo num domínio específico.
área de conhecimento bem delimitada, focalizada.
Dados
InformaçãoEstruturada
Conhecimento
CompetênciaDecisão/Acção
Volume
Valor
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 2
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 3
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.Sangrador de
Combustível OK?
Sim Não
Há fugas de ar deadmissão ?
Verificar circuito dealimentação
Sim
Reparar fugas dear
Não
Descida derotação?
Sim
Reparar válvulamariposa
Teste deMariposa OK?
NãoSim
...
Não
Posição parafusoralenti OK?
Sim
Teste deCompressão
OK?
Sim Não
Não
...
...
Representação de Conhecimento 4
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.
ExemploFumar 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 5
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 regrasExemplo
Se o carro não pega E o sistema eléctrico está operacionalEntão usar regras relativas ao circuito de alimentação
Representação de Conhecimento 6
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”
ExemploPara 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 7
Conhecimento EstruturalDescreve 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
FissuraExcesso de ArExcesso de ÁguaGrande grau de Silicato Tricálcio no CimentoFactores ClimatéricosTemperatura Inconstante
ChochoMá vibraçãoFalta de Inertes FinosCofragem não estanqueExcesso de Inertes Grossos ....
Representação de Conhecimento 8
Tipos de Conhecimento
Conhecimento Procedimental
Conhecimento Declarativo
Metaconhecimento
Conhecimento Heurístico
Conhecimento Estrutural
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
Representação de Conhecimento 9
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ênciasSeparação explícita entre conhecimento e
algoritmospara aplicação do conhecimento Sistema Pericial = Conhecimento +
Inferência
Representação de Conhecimento 10
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 11
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 12
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 13
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 14
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)
Objecto Atributo Valorhas is
Representação de Conhecimento 15
Tripletos Objecto-Atributo-Valor (O-A-V) ExemploTripletos associados a um carro
carro-marca-opelcarro-modelo-astracarro-cilindrada-1400carro-nºportas-4carro-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. Exemplo
Previsão do tempo é de chuva com 60% de certeza (previsão- tempo-chuva – CF = 0.6)
Representação de Conhecimento 16
Listas de PropriedadesNo exemplo
carro-marca-opelcarro-modelo-astracarro-cilindrada-1400carro-nºportas-4carro-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 17
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 18
Relações de Classificação (IS-A)
Animal Selvagem
Animal
Animal DomésticoCanino Felino
Lobo Cão Gato Tigre
IS-A
IS-A
IS-A
IS-A
IS-A
IS-A
IS-A IS-A IS-A IS-A IS-A IS-A
Representação de Conhecimento 19
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.
Tampo
Mobiliário deCozinha
Assento
Mesa
Pernas da Cadeira
Cadeira
Encosto
IS-PART
IS-PART
IS-PART
IS-PART
Pernas da Mesa
IS-PART IS-PART
IS-PART
Representação de Conhecimento 20
Relações de Classificação (IS-A) e de Pertença (IS-PART)
Computador
teclado
Pentium 4
CPU
.......
IS-PART
IS-A
monitor
IS-PART IS-PART
....... .......
As relações IS-A e IS-PART podem ser combinadas na mesma representação.
Representação de Conhecimento 21
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 22
Redes Semânticas
IS-A
Pinguim
A r
A nim alA ve
A sas
C anárioA m are lus
Voo
A ndar
Black&W hiteIS-A
IS-A
IS-A
tem
deslocação
deslocação
IS-A
respira
Representação de Conhecimento 23
Modo de OperaçãoQuando 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 ?
Utilizador
deslocação
AveCanárioAmarelusdeslocação deslocação
Vôo
deslocação
vôovôovôo
Representação de Conhecimento 24
Inferência sobre Redes SemânticasPara 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).
Obj1 Obj2Relação
Representação de Conhecimento 25
Inferência sobre Redes SemânticasO 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 26
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 27
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 28
Exemplo
IS-A
Albatroz
diurna
AnimalAvePreto eBranco
Pinguimtweety
Vôo
115 cm
Alberto IS-A
IS-A
IS-A
cor deslocação
tamanho
IS-A
actividade
120 cm
tamanho
cor
deslocação
andar
Representação de Conhecimento 29
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 30
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 31
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 32
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 33
“Is a” SimplesO 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_paidefault slot_1 is valor_1 anddefault slot_2 is valor_2.
frame frame_filho is a frame_pai
default slot_3 is valor_3 anddefault slot_4 is valor_4.
Representação de Conhecimento 34
“Is a” MúltiploExemplo
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.
Mamífero
pele pelo
habitat terra
movimento anda,nada
Is a
Felino
cauda longa
pernas 4
Representação de Conhecimento 35
“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_paidefault slot_1 is valor_1 anddefault slot_2 is valor_2.
frame outro_framedefault slot_3 is valor_3 anddefault slot_4 is valor_4.
frame frame_filho is a frame_paidefault slot_5 is valor_5 anddefault slot_6 is valor_6 ; inherit slot_4 from
outro_frame.
Representação de Conhecimento 36
“Inherit” - Exemplo
Mamífero
pele pelo
habitat terra
movimento anda,nada
Pássaro
pele penas
habitat árvore
movimento voa
Pinguim
pele lisa
habitat terra
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 37
“do not inherit”Ausência de herança de slot(s) de frame(s) hierarquicamente superiores
frame frame_paidefault slot_1 is valor_1 anddefault slot_2 is valor_2.
frame frame_filho is a frame_paidefault slot_3 is valor_3 anddefault slot_4 is valor_4 ; do not inherit slot_2.
Do not inherit
frame_pai
slot_1 valor_1
slot_2 valor_2
frame_filho
slot_3 valor_3
slot_4 valor_4
Is a
Representação de Conhecimento 38
“do not Inherit” - Exemplo
Pássaro
pele penas
habitat árvore
movimento voa
Pinguim
pele lisa
habitat 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 39
Um slot como Frame
frame_1
slot_1
slot_2 valor_2
frame_2
slot_3 valor_3
slot_4 valor_4
O slot tem como valor por defeito o nome de um frame que pode depois ser acedido como tal
frame frame_1default slot_1 is frame_2 anddefault slot_2 is valor_2.
frame frame_2
default slot_3 is valor_3 anddefault slot_4 is valor_4.
Representação de Conhecimento 40
Exercício
Programadorcategoria prog
Is an Is a
Empregado
nome ''
morada ''
vencimento 0
Gestor de Projectocategoria gest_proj
Is aRelações Públicas
categoria rel_pub
num_pr 0
Projecto
identificacao ''
lista_prog nothing
sistema ''
linguagem ''
gestor ''
rel_pub ''
estado 'em construção'
Definir em termos de frames em LPA-flex a estrutura
Representação de Conhecimento 41
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 42
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
Cor Branco
Nº Asas
Voa
Actividade
2
Falso
Desc
TweetyNome do
Enquadramento
Propriedades
Classe Ave
Nº Asas
Voa
Actividade
2
Verd
Desc
AveNome doEnquadramento
Propriedades
Representação de Conhecimento 43
Definição de InstânciaAs 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 …] ] ] ].
Exemploinstance 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 44
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
question <nome_da questão> <Texto a apresentar
pela questão> ; input {number | name
| set}.
Representação de Conhecimento 45
Questões e Respostas - Exemplos
Questão de Menu
group tipos_hobbiesestudar, ler, praticar_desporto.
question tempos_livresO que faz nos seus tempos livres ? ;choose some of tipos_hobbies.
Questão de introdução
question int_numeroIntroduza um numero ;input number.
Representação de Conhecimento 46
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 47
Acções
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.
% Grupos
group animais mamifero, passaro, felino, pinguim.
% Questões
Question escolher_animalEscolha o animal;choose some of animais.
question introduzir_nomeIntroduza o nome;input name
Representação de Conhecimento 48
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 49
Programação gerida por dados
procedimentos geridos por dados
frames slots
launches
acesso actualização
antes depois
demonsconstraintswatchdogs
Representação de Conhecimento 50
LaunchProcedimento 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 51
LaunchSintaxe
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 … ] ].
Exemploframe empregado default sexo is masculino.
launch novo_empregadowhen Pessoa is a new empregadoand sexo of Pessoa is masculinothen questoes_sexo_masculino( Pessoa ).
instance pedro is an empregado.
Representação de Conhecimento 52
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 53
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 … ] ] ].
Exemploframe empregado
default sexo is masculino.
constraint tipo_sexowhen the sexo of Pessoa changes to Sand Pessoa is some empregadothen 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 54
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 55
DemonSintaxe
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 … ] ] ].
Exemploframe empregadodefault sexo is masculino.
demon qual_sexowhen the sexo of Pessoa changes from S1 to S2and Pessoa is some empregadoand S1 is different from S2then write(' A mudanca de sexo e'' pouco habitual!' ) and nl.
Representação de Conhecimento 56
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 57
WatchdogSintaxe
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 … ] ] ].
Exemploframe contadefault saldo is 0.
frame utilizadordefault nome is '' anddefault acesso is 0.
watchdog seguranca_de_contawhen the saldo of the Conta is requestedand Conta is some contathen check that the acesso of utilizador is above 99otherwise nl and write( 'Acesso negado ao utilizador ' ) andwrite( utilizador`s nome ).
Representação de Conhecimento 58
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 59
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 60
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 61
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 62
Forma GeralSe Antecedente Então Consequente1
Senão Consequente2
Ou
Se Condição1 E ... E CondiçãoNEntão Conclusão11 E ... E Conclusão 1MSenã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çãoNOU CondiçãoN1 E ....
Representação de Conhecimento 63
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
Então temperatura da água é muito alta
Regra 1b:Se SensorA tem valor <= 50
Senão temperatura da água é normal
Representação de Conhecimento 64
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
VantagemMais fácil o acompanhamento da inferência
Representação de Conhecimento 65
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 66
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 67
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 68
Regras vs. Triplos OAV
Regra 1a: Se SensorA tem valor > 50
Então temperatura da água é muito alta
Se EntãoObjecto Sensor A ÁguaAtributo tem valor temperaturaValor > 50 muito alta
Representação de Conhecimento 69
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 70
Pares Atributo/Valor vs. Triplos OAV
Se EntãoObjecto Classificação Admissão MestradoValor > 14 Sim
Objectos explícitos
Se classificação > 14 Então admitir ao Mestrado
• MelhorSe classificação do aluno > 14 Então Aluno Estado de Admissão Mestrado = Sim
Se EntãoObjecto Aluno AlunoAtributo Classificação Admissão MestradoValor > 14 Sim
Objectos implícitos
Representação de Conhecimento 71
Tipos de RegrasRelaçã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 72
Classificação das Regras quanto à IncertezaRegras de Validade absoluta
Regra da implicação usada na LógicaEx: mortal (X) SE humano (X)
má (ideia) SE
mau-humor (patrão) ANDpedir (patrão, aumento)
Regras de Validade Incerta
Regras com grau de certezaEx: Se Inflação Elevada
Então Taxas de Juro Elevadas FC=0,8
Regras com probabilidades associadas
Representação de Conhecimento 73
Regras VariáveisSe ?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 74
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 75
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 76
Principais Propriedades da Representação de Conhecimento com RegrasModularidade
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 77
Problemas das Representações por RegrasAve (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çãopor 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 78
Representação de Conhecimento com RegrasExemplo
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
janela
cozinha
WC hall
Representação de Conhecimento 79
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 80
LógicaLó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 ModalLógica Temporal
Representação de Conhecimento 81
LógicaEm Lógica os símbolos representam conhecimento e os operadores são aplicados aos símbolos para dar origem a raciocínios lógicos
Operador Símbolos Conjunção (AND) , , , .
Disjunção (OR) , , + Negação (NOT) ,
Implicação , Equivalência
Representação de Conhecimento 82
Lógica ProposicionalUsa 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 83
Lógica ProposicionalTabela de Verdade da Conjunção Tabela de Verdade da Negação
A B C = A B F F F F V F V F F V V V
A B C = A B F F F F V V V F V V V V
Tabela de Verdade da Disjunção Tabela de Verdade da Equivalência
A C = A F V V F
A B A B F F V F V F V F F V V V
Representação de Conhecimento 84
Lógica Proposicional
A B C = A B F F V F V V V F F V V V
Tabela de Verdade da Implicação AB ¬ A B
ExemploSE a bateria está em baixoENTÃO o carro não vai arrancar
Representação de Conhecimento 85
Algumas Equivalências na Lógica Proposicional
Nome da Propriedade
Equivalência
Idempotência A B A B A A F A A V
Propriedade Comutativa A B B A A B B A
Propriedade Distributiva A (B C) (A B) (A C) A (B C) (A B) (A C)
Propriedade Associativa A (B C) (A B) C A (B C) (A B) C
Absorção A (A B) A A (A B) A
DeMorgan (A B) A B (A B) A B
Representação de Conhecimento 86
Limitação da Lógica ProposicionalDificuldade 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 87
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)
ExemploEm 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 88
Símbolos da Lógica de Predicados Constantes - usadas para designar objectos ou propriedades dos predicadosEx. 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 propriedadesEx: 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 89
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 90
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ênciaSE p é verdadeiro
E ( p q) também é verdadeiro ENTÃO q é verdadeiro
Nova informação é inferida com base em informação conhecidausando regras e/ou implicações
“modus ponens”
Representação de Conhecimento 91
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
Mesa
A
D
B
C
E
Representação de Conhecimento 92
Exemplo - BlocosColocar 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 93
RaciocínioCapacidade 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 94
Mecanismos de Raciocínio
Dados Hipóteses
Evidências
Indução (do particular para o geral)
Dedução (do geral para o particular)
Abdução(gerando explicações)
Representação de Conhecimento 95
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
ExemploSE
objecto A maior que objecto BE
objecto B é maior que objecto CENTÃ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 96
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 97
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.
ExemploX [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 98
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 99
Modus PonensExemplo
1. Se temperatura > 38.2º então paciente tem febreE1 E2
2. Se paciente tem febre então prescrever 1 aspirinaE2 E3
Provar E3 assumindo que o paciente tem temperatura > 38.2º
Estado-0 Estado-1 Estado-2
1. E1 E2 1. E1 E2 1. E1 E2
• E2 E3 2. E2 E3 2. E2 E3
1. E1 3. E1 3. E1
4. E2 4. E2
5. E3
Representação de Conhecimento 100
Modus TollensSe 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 101
Princípio da ResoluçãoEstraté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
1. transformam-se os axiomas garantidamente verdadeiros na
forma clausal, usando os princípios da idempotência:
AB A B, A A F, A A V
2. de seguida junta-se A
3. se por aplicação da regra de resolução a situação na prova falha
4. conclui-se que A é falso e portanto A é verdadeiro
Representação de Conhecimento 102
Princípio da Resolução – Exercício
Exemplo1. 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 103
Resolução – Exercício Estado-0
1. E1 E2 E1 E2 2. E2 E3 E2 E3 3. E1 E1 E3
4. E3
Estado-1 Estado-2
..... ......
1. E1 E1 3. E1
2. E3 E1 E3 4. E3
3. 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 104
Resolução – Exercício Dados os axiomas
1. p2. ( p q ) r3. ( s t ) q4. t
Provar r 1º Converter para a Forma Clausal e acrescentar r
1. p2. p q r3. s q4. t q5. t6. r
Representação de Conhecimento 105
Resolução – Exercício
p q r r
p q p
q t q
t t
Representação de Conhecimento 106
UnificaçãoNa 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óriosenquanto 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.Por exemplo
homem (X) homem (Spot ) são contraditórios pois homem (X) e homem ( Spot ) podem ser unificados
Representação de Conhecimento 107
Representação de ConhecimentoExprima 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 108
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 109
Modus PonensProvar gato(Navalha)
Estado-0 1. gato(g) mamifero(g)2. mamifero(g) progenitor(p,g)3. gato(g) progenitor( g, f ) gato(f)4. gato ( Teco)5. progenitor ( Teco, Navalha)
Pelos Axiomas 3,4,5 e Teco/g, Navalha/ f
gato ( Teco) progenitor ( Teco, Navalha) gato ( Navalha)
6. gato ( Navalha)
Representação de Conhecimento 110
ResoluçãoProvar gato(Navalha)
Estado-0
1. gato(g) mamifero (g)
2. mamifero (g) progenitor( p, g)
3. gato(g) progenitor( g, f) gato(f)
4. gato ( Teco)
5. progenitor ( Teco, Navalha)
6. gato(Navalha)
Representação de Conhecimento 111
Resolução
gato( Navalha ) gato(g) progenitor( g, f ) gato(f)
Teco / g
gato(g) progenitor( g, Navalha ) gato ( Teco)
progenitor ( Teco, Navalha) progenitor ( Teco, Navalha)
Navalha / f
Representação de Conhecimento 112
Representação de ConhecimentoConsidere 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 113
ResoluçãoOs 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 114
ResoluçãoProvar come (Teco, peixe)
Resolução
Estado-0
1. gato(g) gosta (g, peixe)
2. gosta (g, c) come (g, c)
3. gato ( Teco)
4. come (Teco, peixe)
Representação de Conhecimento 115
ResoluçãoProvar 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 116
Representação de ConhecimentoRepresente 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 117
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 118
ResoluçãoProvar Dumbo come muito
come(Dumbo, muito)
Estado-01. animal (a,pesado) come (a, muito)2. elefante (a) animal (a, grande) 3. elefante (a) alimento (c, preferido)4. elefante (Dumbo)5. animal (a, grande) animal (a, pesado) 6. Alimento (amendoim)7. come (Dumbo, muito)
Representação de Conhecimento 119
ResoluçãoProvar 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)