119
Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico . área de conhecimento bem delimitada, focalizada. D ados Inform ação Estruturada C onhecim ento C om petência D ecisão/Acção Volum e 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 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

Embed Size (px)

Citation preview

Page 1: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 2: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área 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

Page 3: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área 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

...

...

Page 4: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 5: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 6: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 7: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 8: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 9: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 10: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 11: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 12: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 13: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 14: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 15: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 16: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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,...].

Page 17: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 18: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 19: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 20: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 21: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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  

Page 22: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de 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

Page 23: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 24: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 25: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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ó

Page 26: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 27: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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 ?

Page 28: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 29: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 30: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 31: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

 

Page 32: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 33: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 34: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 35: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 36: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 37: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 38: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 39: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 40: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 41: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 42: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 43: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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 !

Page 44: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 45: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 46: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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 … ] ].

Page 47: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 48: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 49: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

Representação de Conhecimento 49

Programação gerida por dados

procedimentos geridos por dados

frames slots

launches

acesso actualização

antes depois

demonsconstraintswatchdogs

Page 50: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

 

Page 51: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 52: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 53: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 54: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 55: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 56: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 57: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 58: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 59: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 60: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 61: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 62: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 63: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 64: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 65: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 66: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 67: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 68: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 69: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 70: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 71: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 72: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 73: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 74: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 75: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 76: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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ê ?)

Page 77: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 78: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 79: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 80: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 81: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 82: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 83: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 84: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

 

Page 85: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 86: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 87: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 88: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 89: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 90: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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”

Page 91: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 92: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 93: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 94: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 95: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 96: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 97: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 98: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 99: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 100: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 101: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 102: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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.

Page 103: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 104: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 105: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

Representação de Conhecimento 105

Resolução – Exercício

p q r r

p q p

q t q

t t

Page 106: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 107: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 108: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 109: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 110: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 111: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 112: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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”

Page 113: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 114: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 115: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 116: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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

Page 117: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 118: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)

Page 119: Representação de Conhecimento 1 Conhecimento Termo abstracto usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento

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)