Você está na página 1de 8

Informtica

UFRGS

Prof. Paulo Martins Engel

Representao do conhecimento por redes


semnticas

Inteligncia Artificial

Representao de conhecimento
Redes Semnticas
Frames

Uma rede semntica uma forma grfica de representao de


conhecimento, onde os objetos, conceitos ou situaes no domnio so
representados por um conjunto de ns conectados entre si atravs de um
conjunto de arcos, que representam as relaes entre os ns.
Dois tipos de ns:
ns rotulados por relaes, correspondendo a categorias ou
propriedades.
Ns rotulados por objetos do domnio
Trs tipos de arcos:
Arcos de subconjuntos (_um)
Arcos de pertinncia em conjuntos (instncia)
Arcos de funes

Prof. Paulo Martins Engel

Informtica
UFRGS

Prof. Paulo Martins Engel

Informtica
UFRGS

Mecanismo de raciocnio de redes semnticas

Representao do conhecimento por redes semnticas

Representando uma taxonomia:


tem
ave

asas

_um
come
ave_de_rapina

Prof. Paulo Martins Engel

carne

_um

guia

instncia

Flecha

Uma rede semntica permite raciocnio no-monotnico.


O raciocnio com lgica ordinria monotnico porque se acrescentarmos
novos axiomas a um sistema lgico no diminumos o conjunto de
teoremas que podem ser provados.
Entretanto, h muitos exemplos de raciocnio de senso comum que so no
monotnicos.
Freqentemente fazemos inferncias por default - desde que nada diga o
contrrio assumimos como verdade.
Entretanto, se verificado novo conhecimento contraditrio, ns devemos
invalidar a inferncia default.
Nas redes semnticas, o mecanismo de cancelamento de herana prov os
meios para resolver contradies.
Na lgica clssica, isto mais custoso, envolvendo novos predicados e
informaes de entrada.

Informtica
UFRGS

Prof. Paulo Martins Engel

Informtica
UFRGS

Algoritmo: Herana de Atributos

Representao do conhecimento por redes semnticas

Uma rede semntica d suporte herana de atributos ao longo de ligaes


-um e instncia.
40cm

envergadura

Para recuperar um valor V de um atributo A de uma instncia O de um


objeto:
1. Encontre O na base de conhecimento.
2. Se houver a um valor para o atributo A, retorne esse valor.
3. Seno, verificar se h um valor para a relao instncia.
Em caso negativo, retorne insucesso.
4. Caso contrrio, ir para o n que corresponde quele valor e
procurar um valor para o atributo A.
Se encontrar, retorne o valor.
5. Caso contrrio, execute os passos a seguir at no haver
mais valor para a relao -um ou at encontrar uma
resposta:
(a) Encontrar o valor da relao -um e ir para aquele n.
(b) Verificar se h um valor para o atributo A. Se houver, retorne-o.

tem
ave

asas

_um
vo

locomoo

80cm

come
ave_de_rapina

carne
_um

_um
envergadura
guia

falco

instncia
Eagle_club

criador

instncia

Flecha

Falco

criador

Prof. Paulo Martins Engel

Falcon_club

Informtica
UFRGS

Prof. Paulo Martins Engel

envergadura

Prof. Paulo Martins Engel

Expresse o conhecimento representado pela rede semntica do


exemplo anterior, utilizando um conjunto de predicados.
Resolva os conflitos entre valores de atributos atravs de
predicados compostos com restries.

tem
ave

Informtica
UFRGS

Representando uma RS por predicados

(1) criador(Falco) ?
(2) envergadura(Flecha) ?
(3) envergadura(Falco) ?
(4) come(Flecha) ?

40cm

asas

_um
vo

locomoo

80cm

come
ave_de_rapina

_um
envergadura
guia
instncia

Eagle_club

criador

Flecha

carne
_um
falco
instncia
Falco

criador

Falcon_club

Informtica
UFRGS

Prof. Paulo Martins Engel


40cm

envergadura

Informtica
UFRGS

Prof. Paulo Martins Engel

tem
ave

40cm

asas

envergadura

_um
vo

locomoo

ave_de_rapina
_um

80cm

guia

instncia
Eagle_club

criador

instncia(Flecha, guia)
instncia(Falco, falco)
_um(x, guia) instncia(x, guia)
_um(x, falco) instncia(x, falco)
criador(Flecha, Eagle_club)
criador(Falco, Falcon_club)

tem(x, asas) _um(x, ave)

Flecha

vo

carne

locomoo

asas
come

ave_de_rapina

_um

_um
80cm

falco

envergadura

Falco

criador

guia

instncia

instncia
Eagle_club

Falcon_club

envergadura(x, 80) _um(x, guia) ??


_um(x, ave_de_rapina) _um(x, falco)
_um(x, ave_de_rapina) _um(x, guia)
_um(x, ave) _um(x, ave_de_rapina)
come(x, carne) _um(x, ave_de_rapina)
locomoo(x, vo) _um(x, ave_de_rapina)

criador

instncia(Flecha, guia)
instncia(Falco, falco)
_um(x, guia) instncia(x, guia)
_um(x, falco) instncia(x, falco)
criador(Flecha, Eagle_club)
criador(Falco, Falcon_club)

envergadura(x, 40) _um(x, ave)

Informtica
UFRGS

ave

_um
come

envergadura

tem

Prof. Paulo Martins Engel

Representando uma RS por predicados

Flecha

carne
_um
falco
instncia
Falco

criador

Falcon_club

envergadura(x, 80) _um(x, guia)


_um(x, ave_de_rapina) _um(x, falco)
_um(x, ave_de_rapina) _um(x, guia)
_um(x, ave) _um(x, ave_de_rapina)
come(x, carne) _um(x, ave_de_rapina)
locomoo(x, vo) _um(x, ave_de_rapina)

tem(x, asas) _um(x, ave)


envergadura(x, 40) _um(x, ave) _um(x, guia)

Informtica
UFRGS

10

Prof. Paulo Martins Engel

Representando uma RS por predicados

instncia(Flecha, guia)
instncia(Falco, falco)
_um(x, guia) instncia(x, guia)
_um(x, falco) instncia(x, falco)
criador(Flecha, Eagle_club)
criador(Falco, Falcon_club)
_um(x, ave_de_rapina) _um(x, falco)
_um(x, ave_de_rapina) _um(x, guia)
_um(x, ave) _um(x, ave_de_rapina)
come(x, carne) _um(x, ave_de_rapina)
locomoo(x, vo) _um(x, ave_de_rapina)
tem(x, asas) _um(x, ave)
envergadura(x, 80) _um(x, guia)
envergadura(x, 40) _um(x, ave) _um(x, guia)

Com o conjunto de predicados gerado, possvel provar que a


envergadura de Falco 40cm?
Caso negativo, qual seria a informao adicional necessria
para completar a prova?
Para provar que Falco tem envergadura de 40cm com o
conjunto de predicados especificado necessrio introduzir o
seguinte predicado adicional:
_um(x, guia) _um(x, falco)

11

12

Informtica
UFRGS

Prof. Paulo Martins Engel

Informtica
UFRGS

Prof. Paulo Martins Engel

Representando predicados no-binrios

Representando frases declarativas

Para se representar uma instncia de um relacionamento entre dois


objetos, com atributos prprios, se cria um novo objeto.
Exemplo: uma partida entre Grmio e Internacional

Considere a frase: Joo deu o livro Pinquio para Maria.


O contedo desta frase pode ser representado por uma rede semntica:

Jogo

R$102.000,00

Dar

_um

instncia

placar

arrecadao

Joo

visitante
time_da_casa

Armando

instncia

4x2

Grenal51
rbitro

Livro

agente

EV3

objeto

Pinquio

receptor

Inter

Maria

Grmio

13

Informtica
UFRGS

Prof. Paulo Martins Engel

14

Informtica
UFRGS

Prof. Paulo Martins Engel

Representando relaes entre atributos

Representando declaraes gerais

Considere o fato: Joo maior Maria.


A sua representao por uma rede semntica :

Joo
altura
alt_J

Considere o fato: Todo eleitor votou num candidato.


A sua representao por uma rede semntica :

Maria
altura

Eleitor

GS

Votar

Candidato

maior_que
alt_M

_um

valor

forma

_um

_um

_um
v

e
votante

c
votado

1,75

15

16

Informtica
UFRGS

Prof. Paulo Martins Engel

Informtica
UFRGS

Representando declaraes gerais

Vantagens e desvantagens das Redes


Semnticas

Considere o fato: Todo eleitor votou no candidato Z Promessa.


A sua representao por uma rede semntica :

Eleitor

GS
_um

forma

_um

Votar

_um
v

e
votante

As redes semnticas so muito utilizadas como ferramenta de


modelagem para se obter uma representao visual dos
objetos do domnio.
Entretanto, apresentam uma granularidade muito fina e uma
falta de estrutura que dificulta a representao de domnios
complexos, mantendo a consistncia semntica.
So inadequadas para representar propriedades ou objetos
complexos (muitos relacionamentos).
No existe um mecanismo de inferncia poderoso
naturalmente associado representao, exceto a prpria
herana de atributos.

Candidato

_um
votado

Prof. Paulo Martins Engel

Z_P

17

Informtica
UFRGS

Prof. Paulo Martins Engel

Informtica
UFRGS

Prof. Paulo Martins Engel

Sistema de frames correspondente rede semntica

Representao do conhecimento por frames

18

Frame: ave
_um: ROOT
tem: asas
envergadura: 40cm

A representao por frames est intimamente relacionada com as redes


semnticas.
Um frame uma estrutura que tem um nome e um conjunto de pares
atributo-valor.
O nome do frame corresponde a um n numa rede semntica.
Os atributos correspondem aos nomes dos arcos associados com este n e
os valores correspondem aos ns nas outras extremidades desses arcos.
Os pares atributo-valor so geralmente chamados de slots.
Um atributo d o nome de um slot e os valores correspondem ao seu
contedo.
Os frames dividem-se em construtores, que definem as categorias do
domnio e em instncias, que representam os objetos do domnio.

Frame: ave_de_rapina
_um: ave
come: carne
locomoo: vo
Frame: guia
_um: ave_de_rapina
envergadura: 80cm

19

Frame: falco
_um: ave_de_rapina
Instncia: Flecha
_um: guia
nome: Flecha Eagle
criador: Eagle_club
Instncia: Falco
_um: falco
nome: Falco Falcon
criador: Falcon_club

20

Informtica
UFRGS

Prof. Paulo Martins Engel

Informtica
UFRGS

Construindo um sistema de frames

Prof. Paulo Martins Engel

Especificao dos slotes

Na construo da estrutura de um frame definem-se os slots


que caracterizam a categoria correspondente. Exemplos tpicos
de slots so:
O seu identificador.
Em que classe ou classes est contido.
Os atributos que qualificam a categoria e todas as suas
subclasses.
Tipos de dados, intervalos de variao e outras restries que
os valores podem assumir.
Procedimentos associados aos atributos e que devem ser
executados para buscar um valor especfico de atributo (num
banco de dados ou atravs de um clculo, por exemplo).
Relaes entre este frame e os demais do sistema

Tipicamente os slots especificam as seguintes informaes:


um tipo comum de dado (integer, real, string, booleano)
uma lista de dados de um determinado tipo
um nome de um outro frame (relacionamentos do tipo
associao ou especializao/generalizao)
uma restrio sobre possveis valores que podem ser
assumidos
uma chamada de procedimento

21

Informtica
UFRGS

Prof. Paulo Martins Engel

22

Informtica
UFRGS

Exemplo de um sistema de frames


Frame:
_um:
nome:
endereo:
cidade:
estrelas:
acomodaes:
oferece:
atraes:
melhor_poca:

Prof. Paulo Martins Engel

Exemplo de um sistema de frames

HOTEL
HOSPEDAGEM
string
string
string
integer
range (1-5)
instncia_de ACOMODAO
lista_de (estacionamento, sala_convenes, sala_jogos,
sala_TV, salo_beleza, loja, piscina, quadra_esportes)
string
range (data-data)
default (1/Jan - 31/Jan)

Frame:
_um:
estrelas:
acomodaes:
oferece:
diria:

HOTEL3S
HOTEL
3
APARTAMENTO, SUTE
(estacionamento, sala_jogos, sala_TV)
real
range (50-90)
se_necessrio (calcula_desconto)

slot
facets
demon

23

24

Informtica
UFRGS

Prof. Paulo Martins Engel

Informtica
UFRGS

Exemplo de um sistema de frames


Frame:
_um:
_parte_de:
nmero:
localizao:
categoria:
diria:

oferece:

Prof. Paulo Martins Engel

Exemplo de um sistema de frames

ACOMODAO
ROOT
HOTEL
integer
um_de (frente, fundo, lateral)
um_de (simples, confortvel, luxo)
real
range (20-500)
se_necessrio (calcula_desconto)
lista_de (banheiro, banheira_hidro, telefone, frigobar,
TV, TV_cabo, sala, sacada, vista)

Frame:
_um:
_parte_de:
categoria:
diria:

oferece:

APARTAMENTO
ACOMODAO
HOTEL3S
um_de (simples, confortvel, luxo)
real
range (50-80)
se_necessrio (calcula_desconto)
lista_de (banheiro, telefone, frigobar, TV, TV_cabo,
sacada, vista)

25

Informtica
UFRGS

Prof. Paulo Martins Engel

26

Informtica
UFRGS

Exemplo de um sistema de frames


Instncia:
_um:
nome:
endereo:
cidade:
estrelas:
acomodao:
atraes:
melhor_poca:
oferece:

Prof. Paulo Martins Engel

Exemplo de um sistema de frames

Embaixador
HOTEL3S
Hotel Embaixador
Rua Gen. Vitorino, ...
Porto Alegre
3
APARTAMENTO, SUITE
Localizao central

Instncia:
_um:
_parte_de:
nmero:
localizao:
categoria:
diria:
oferece:

Ap201
APARTAMENTO
Embaixador
201
frente
confortvel
80
(banheiro, telefone, frigobar)

(sala_jogos, sala_TV)

27

28

Informtica
UFRGS

Prof. Paulo Martins Engel

Informtica
UFRGS

Rede semntica correspondente aos frames do exemplo

Raciocnio em Sistemas de Frames

Hospedagem

Sute

_um
_um
Hotel

Acomodao

Hotel_5S

_parte_de
Hotel_3s

instncia
Churrascaria

atraes

_um

_um

_um
oferece
Sala_convenes

_um
_parte_de

Pousada

Apartamento

instncia

Plaza

_um

Embaixador
_parte_de

Prof. Paulo Martins Engel

Ap201

cidade

Como no caso das redes semnticas, a principal forma de inferncia em


sistemas de frames se d por herana de atributos.
As instncias de um frame herdam todos os atributos definidos para
aquele frame, bem como seus valores, mtodos e restries.
As excees herana de atributos so especificadas pela representao
explcita no slot correspondente da classe especializada.
Pode-se expandir o mecanismo de raciocnio com frames associando-se
regras de produo.
Regras podem descrever aspectos comportamentais dos objetos ou
seqncias de aes que devem ser desencadeadas por determinados
valores de atributos.
As premissas e concluses das regras se referem a frames, atributos e
valores definidos.

Porto Alegre

29

Informtica
UFRGS

Prof. Paulo Martins Engel

Raciocnio em Sistemas de Frames

30

Informtica
UFRGS

Prof. Paulo Martins Engel

Vantagens e desvantagens dos frames

Exemplo:
Frames permitem uma rpida modelagem do domnio, uma
vez que as estruturas de representao so extensas e
flexveis.
Permitem obter um modelo descritivo do domnio de uso
genrico.
Permitem o encapsulamento dos mtodos de manipulao e
procedimentos, garantindo modularidade e consistncia do
sistema mesmo em domnios complexos.
Na maioria dos domnios de aplicao necessrio combinar
o mecanismo de inferncia por herana de atributos com
regras de produo, aumentando a complexidade da soluo.

Se solicitada reserva
E acomodao.nmero = X
E acomodao.diria < cliente.diria
E acomodao.categoria = confortvel
Ento
reserva.apto := X
cliente.hotel := acomodao._parte_de

31

32

Você também pode gostar