Você está na página 1de 30

INTELIGÊNCIA ARTIFICIAL

Representação de
Conhecimento
AGENTES LÓGICOS
• Queremos representar o
conhecimento formalmente.
• Queremos poder deduzir
conhecimento adicional ao
acrescentar novas informações.
• Sistemas Baseados em
Conhecimento.
O MUNDO WUMPUS
PROPOSICIONAL?
Poços causam brisa em quadrados adjacentes
B11 ⇔ (P12∨ P21)
B21⇔ (P11∨ P22∨ P31)
B31⇔ (P21∨ P32∨ P41)
B41⇔ (P31∨ P42)
B12⇔ (P11∨ P22∨ P13)
...
PRIMEIRA ORDEM
∀y(B(y) ⇔ ∃x(P(x) ∧ Adj(x,y)))
PRIMEIRA ORDEM
∀y(B(y) ⇔ ∃x(P(x) ∧ Adj(x,y)))

∀x,y,x’,y’ (Adj([x,y],[x’,y’]) ⇔
[x’,y’] ∈ {[x+1,y], [x-1,y],[x,y+1],[x,y-1]})
PRIMEIRA ORDEM
Wumpus causa cheiro em quadrado adjacente:

∀y(C(y) ⇔ ∃x(W(x) ∧ Adj(x,y)))


PRIMEIRA ORDEM
Wumpus pode estar em um único quadrado:

∀x,y(W(x) ∧ W(y) ⇒ x=y)


PRIMEIRA ORDEM
Wumpus não pode estar em um poço:

∀x(W(x) ⇒ ¬P(x))
REPRESENTAÇÃO
Lógica proposicional: somente fatos
(verdadeiros ou falsos)

Lógica de primeira ordem: objetos,


propriedades, relações, funções...
REPRESENTAÇÃO
Objetos: agente, ouro, quadrado, Wumpus, …

Propriedades: tem cheiro, tem brisa, …

Relações: adjacente, localizado em, …

Funções: coordenada x, coordenada y, …


REPRESENTAÇÃO
Lógica proposicional: somente fatos
(verdadeiros ou falsos)

Lógica de primeira ordem: objetos,


propriedades, relações, funções...
REPRESENTAÇÃO
Lógica proposicional: somente fatos
(verdadeiros ou falsos)

Lógica de primeira ordem: objetos,


propriedades, relações, funções...

(verdadeiro ou falso)
REPRESENTAÇÃO
Lógica proposicional: somente fatos
(verdadeiros ou falsos)

Lógica de primeira ordem: objetos,


propriedades, relações, funções…

(objetos)
ESCOLHAS
W(x) ou LocalizadoEm(w,x)

Adj(x,y) ou Adj(x,y,x’,y’)

B(x) ou Percebe(a,x,b)
ESCOLHAS
W(x) ou LocalizadoEm(w,x)

Adj(x,y) ou Adj(x,y,x’,y’)

B(x) ou Percebe(a,x,b)

Decisões ontológicas!
ENGENHARIA
1. Definir uma tarefa;
2. Agregar conhecimento relevante;
3. Definir um vocabulário de predicados,
funções e constantes;
4. Codificar conhecimento geral
sobre o domínio;
ENGENHARIA
5. Codificar uma descrição da instância
específica do problema;
6. Formular consultas ao procedimento
de inferência e obter respostas;
7. Depurar a base de conhecimento.
EXEMPLO: somador
EXEMPLO: somador
1. Identificar a tarefa:
– O circuito adiciona de maneira correta?
– Se todas as entradas são 1, qual a saída
de A2?
– ...
Não queremos saber: custo de
produção, consumo de energia, ...
EXEMPLO: somador
2. Agregar conhecimento relevante:
– Composto de cabos e portas
– Tipos de portas (AND, OR, XOR, NOT)
– Cada porta recebe sinais de
entrada e produz um sinal de saída
– ...
Irrelevante: tamanho, forma, cor, ...
EXEMPLO: somador
3. Decidir um vocabulário:
– Constantes: A1, A2, X1, X2, O1, C
– Terminais: X1In1 vs. In(1, X1)
– Connected(Out(1, X1 ), In(1, X2 ))
– Sinal: constantes 1 e 0 e
função Signal
EXEMPLO: somador
– Type(X1) = XOR (função e constante XOR)
– Type(X1,XOR) (predicado e constante XOR)
– XOR(X1) (predicado XOR)
EXEMPLO: somador
– Type(X1) = XOR (função e constante XOR)
– Type(X1,XOR) (predicado e constante XOR)
– XOR(X1) (predicado XOR)

Função assegura um único tipo


para cada porta!
EXEMPLO: somador
4. Codificar o conhecimento geral:
– ∀t1,t2 Connected(t1,t2) ⇒ Signal(t1) = Signal(t2)
– ∀t Signal(t) = 1 ∨ Signal(t) = 0
– ∀t1,t2 Connected(t1, t2) ⇒
Connected(t2, t1)
– ∀g Type(g) = OR ⇒ Signal(Out(1,g))
= 1 ⇔ ∃n Signal(In(n,g)) = 1
EXEMPLO: somador
5. Codificar a instância específica:
Type(X1) = XOR Type(X2) = XOR
Type(A1) = AND Type(A2) = AND

Connected(Out(1,X1),In(1,X2))
Connected(Out(1,X1),In(2,A2))
Connected(Out(1,A2),In(1,O1))
EXEMPLO: somador
6. Formular consultas e obter respostas:

– Que combinações de entradas fariam a


primeira saída de C (o bit de soma)
ser 0 e a segunda saída de C
(o bit de transporte) ser 1?
EXEMPLO: somador
6. Formular consultas e obter respostas:

∃i1,i2,i3 Signal(In(1,C1))=i1 ∧ Signal(In(2,C1))=i2


∧ Signal(In(3,C1))=i3 ∧ Signal(Out(1,C1))=0
∧ Signal(Out(2,C1)) = 1

Resposta: valores para i1, i2 e i3


(ex. i1/1, i2/1, i3/0)
EXEMPLO: somador
7. Depurar a base de conhecimento:

Pode ter havido omissões como 1 ≠ 0

Testar perguntas com


respostas conhecidas.
INTELIGÊNCIA ARTIFICIAL

Representação de
Conhecimento