Anda di halaman 1dari 26

Universidade Federal de Campina Grande

Departamento de Sistemas e Computao


Curso de Bacharelado em Cincia da Computao

Inteligncia Artificial I

Representao do Conhecimento
(Parte II)

Prof.a Joseana Macdo Fechine


joseana@dsc.ufcg.edu.br

Carga Horria: 60 horas


DSC/CCT/UFC
Representao do Conhecimento

Tpico

Lgica de Predicados

2
DSC/CCT/UFCG
Representao do Conhecimento

A Inteligncia Artificial (IA) deve ter mecanismos para


a representao de fatos.

Representao do conhecimento do mundo que um


sistema de IA necessita - uso da lgica proposicional.

Representa-se os fatos do mundo real por meio das


frmulas bem formadas ("fbf's") ou proposies
lgicas.

A prova de teoremas foi um dos primeiros domnios a


explorar as tcnicas de IA.
3
DSC/CCT/UFCG
Representao do Conhecimento
importante lembrar que:

Lgica proposicional - O termo proposio recobre a


idia de assero formulada seguindo uma certa
sintaxe e susceptvel de ser avaliado "verdadeiro" ou
"falso" por um universo dado.

Lgica de predicados de primeira ordem - pode ser


vista como uma extenso da lgica das proposies.
Munida de propriedades de base da lgica das proposies,
permite introduzir elementos gerais chamados "variveis
(normalmente chamadas u, v, , z), que podem ser
quantificadas pelo quantificador universal (qualquer que
seja) ou pelo quantificador existencial (existe).
4
DSC/CCT/UFCG
Representao do Conhecimento
importante lembrar que:

A noo de primeira ordem associada ao fato das


variveis poderem ser quantificadas, mas no os
predicados nem as funes.

5
DSC/CCT/UFCG
Representao do Conhecimento

Simbologia a ser utilizada:

(implicao)
(negao)
(disjuno)
(conjuno)
(quantificao universal = "para todos")
(quantificao

existencial = "existe").

6
DSC/CCT/UFCG
Representao do Conhecimento

Objetivo: Explorar o uso da lgica de predicados


como uma forma para representar o conhecimento.

Considere o seguinte conjunto de sentenas:


1. Marco era um homem.
2. Marco era um pompeiano.
3. Todos os pompeianos eram romanos.
4. Csar era um soberano.
5. Todos os romanos ou eram leais a Csar ou o odiavam.
6. Todos so leais a algum.
7. As pessoas somente tentam assassinar soberanos aos
quais elas no so leais.
8. Marco tentou assassinar Csar.

7
DSC/CCT/UFCG
Representao do Conhecimento
Representao dos fatos descritos por estas
sentenas a partir de um conjunto de fbf's na lgica
de predicados:

1. Marco era um homem.


homem(Marco)

2. Marco era um pompeiano.


pompeiano(Marco)

3. Todos os pompeianos eram romanos.


X: pompeiano(X) romano(X)

4. Csar era um soberano.


soberano(Cesar) 8
DSC/CCT/UFCG
Representao do Conhecimento
5. Todos os romanos ou eram leais a Csar ou o odiavam.
X: romano(X) leal(X,Ce sar) odiar(X,C esar)

6. Todos so leais a algum.


X:Y: leal(X, Y)

7. As pessoas somente tentam assassinar soberanos aos


quais elas no so leais.
X:Y: pessoa( X) tentarassassinar (X,Y) leal(X,Y)

8. Marco tentou assassinar Csar.


tentarassassinar(Mar co,Cesar)

9
DSC/CCT/UFCG
Representao do Conhecimento
Deste exemplo simples, possvel perceber trs
pontos importantes na converso de sentenas do
portugus em frmulas da lgica:
Muitas sentenas do portugus so ambguas (por exemplo,
5, 6 e 7). A escolha da interpretao correta pode ser difcil.
Existe freqentemente uma escolha de como representar o
conhecimento. Representaes simples so desejveis mas
elas podem impedir certos tipos de raciocnio.
Mesmo em situaes muito simples, um conjunto de
sentenas no parece conter toda a informao necessria
para raciocinar sobre o tpico em questo.

Para ser capaz de usar um conjunto de frmulas


efetivamente, muitas vezes necessrio ter acesso a um
outro conjunto de frmulas que representam fatos
considerados bvios demais para mencionar (senso comum).
10
DSC/CCT/UFCG
Representao do Conhecimento

Como responder questo:


Marco era leal a Csar?

11
DSC/CCT/UFCG
Representao do Conhecimento
Parece que usando 7 e 8, d para concluir que
Marco no era leal a Csar (ignorando a distino
entre passado e presente).

H a necessidade de incluso de conhecimento de


senso comum:

9. Todos os homens so pessoas.


X (homem(X) pessoa(X))

12
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O processo de engenharia de conhecimento

1. Identificar a tarefa
2. Agregar o conhecimento relevante
3. Definir um vocabulrio de predicados, funes e
constantes
4. Codificar o conhecimento geral sobre o domnio
5. Codificar uma descrio da instncia especfica do
problema
6. Formular consultas ao procedimento de inferncia
e obter respostas
7. Depurar a base de conhecimento
13
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
Exemplo: O domnio dos circuitos eletrnicos

Adaptado do livro Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig, 2003. 14
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O domnio dos circuitos eletrnicos

1. Identificar a tarefa
O circuito realmente efetua soma de modo apropriado?
Se todas as entradas esto em nvel alto, qual ser a
sada da porta A2?
O circuito contm laos de realimentao?

2. Agregar conhecimento relevante


Os sinais fluem pelos fios at os terminais de entrada das
portas, e cada porta produz um sinal no terminal de sada
que flui por outro fio.
Como funcionam as portas AND, OR, XOR ...
15
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O domnio dos circuitos eletrnicos

3. Definir um vocabulrio
Portas: X1, X2, ...
Tipo(X1) = XOR, ...
Entrada(1, X1)
Conectados(Sada(1, X1), Entrada(1, X2)), ...

16
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O domnio dos circuitos eletrnicos

4. Codificar o conhecimento geral do domnio

Se dois terminais esto conectados, eles tm o mesmo sinal:

t1 , t2 Conectados(t1 , t2 ) Sinal (t1 ) Sinal (t2 )

O sinal em todo terminal 1 ou 0 (mas no ambos):


t Sinal (t ) 1 Sinal (t ) 0
1 0
Conectados um predicado comutativo:
t1 , t2 Conectados(t1, t2 ) Conectados(t2 , t1 )
17
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O domnio dos circuitos eletrnicos

4. Codificar o conhecimento geral do domnio


A sada de uma porta OR 1 se e somente se qualquer de suas
entradas 1:
g Tipo ( g ) OR
Sinal ( Sada (1, g )) 1 n Sinal ( Entrada(n, g )) 1

A sada de uma porta AND 0 se e somente se qualquer de suas


entradas 0:
g Tipo ( g ) AND
Sinal ( Sada (1, g )) 0 n Sinal ( Entrada(n, g )) 0
18
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O domnio dos circuitos eletrnicos

4. Codificar o conhecimento geral do domnio

A sada de uma porta XOR 1 se e somente se suas entradas


so diferentes:
g Tipo ( g ) XOR
Sinal ( Sada (1, g )) 1 Sinal ( Entrada(1, g )) Sinal ( Entrada(2, g ))

A sada de uma porta NOT diferente de sua entrada:

g ( Tipo ( g ) NOT ) Sinal ( Sada (1, g )) Sinal ( Entrada(1, g ))

19
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O domnio dos circuitos eletrnicos

5. Codificar a instncia especfica do problema

Categoria das portas:

Tipo ( X 1 ) XOR Tipo ( X 2 ) XOR


Tipo ( A1 ) AND Tipo ( A2 ) AND
Tipo (O1 ) OR

20
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O domnio dos circuitos eletrnicos

5. Codificar a instncia especfica do problema

Conexes entre as portas:

Conectados( Sada (1, X 1 ), Entrada(1, X 2 )) Conectados( Entrada(1, C1 ), Entrada(1, X 1 ))


Conectados( Sada (1, X 1 ), Entrada(2, A2 )) Conectados( Entrada(1, C1 ), Entrada(1, A1 ))
Conectados( Sada (1, A2 ), Entrada(1, O1 )) Conectados( Entrada(2, C1 ), Entrada(2, X 1 ))
Conectados( Sada (1, A1 ), Entrada(2, O1 )) Conectados( Entrada(2, C1 ), Entrada(2, A1 ))
Conectados( Sada (1, X 2 ), Saida (1, C1 )) Conectados( Entrada(3, C1 ), Entrada(2, X 2 ))
Conectados( Sada (1, O1 ), Saida (2, C1 )) Conectados( Entrada(3, C1 ), Entrada(1, A2 ))

21
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O domnio dos circuitos eletrnicos

6. Formular consultas ao procedimento de inferncia

Que combinaes de entradas fariam a primeira sada de C1 (o


bit de soma) ser 0 e a segunda sada de C1 (o bit de transporte)
ser 1?

i1 , i2 , i 3 Sinal ( Entrada(1, C1 )) i1 Sinal ( Entrada(2, C1 )) i2


Sinal ( Entrada(3, C1 )) i3 Sinal ( Sada (1, C1 )) 0 Sinal ( Sada (2, C1 )) 1

22
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O domnio dos circuitos eletrnicos

6. Formular consultas ao procedimento de inferncia

As respostas so substituies para as variveis i1, i2, i3, tais que


a sentena resultante conseqncia lgica da base de
conhecimento. Existem trs substituies desse tipo:

i1 / 1, i2 / 1, i3 / 0 i1 / 1, i2 / 0, i3 / 1 i1 / 0, i2 / 1, i3 / 1

23
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O domnio dos circuitos eletrnicos

6. Formular consultas ao procedimento de inferncia

Quais so os conjuntos de valores possveis de todos os


terminais para o circuito somador?

i1 , i2 , i 3 , o1 , o 2 Sinal ( Entrada(1, C1 )) i1 Sinal ( Entrada(2, C1 )) i2


Sinal ( Entrada(3, C1 )) i3 Sinal ( Sada (1, C1 )) o1 Sinal ( Sada (2, C1 )) o2

24
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem
O domnio dos circuitos eletrnicos

7. Depurar a base de conhecimento

Podemos perturbar a base de conhecimento de vrias maneiras,


a fim de verificar que tipos de comportamentos errneos
emergem.
Por exemplo, suponha que omitimos a assero de que 1 0
O sistema ser incapaz de provar diversas sadas para o
circuito.

25
DSC/CCT/UFCG
Engenharia de Conhecimento em
Lgica de Primeira Ordem

O desenvolvimento de uma base de


conhecimento em lgica de primeira ordem
exige um processo cuidadoso de anlise do
domnio, escolha de um vocabulrio e
codificao dos axiomas necessrios para dar
suporte s inferncias desejadas.

26
DSC/CCT/UFCG

Anda mungkin juga menyukai