Você está na página 1de 23

Motor de Inferncia para

Sistemas Especialistas baseados


em Regras de Produo
Sistemas especialistas
Arquitetura geral:

Base de conhecimento

Mecanismo de raciocnio

Interface com o usurio


Motor de inferncia
(mecanismo de raciocnio)

um programa que utiliza a base de


conhecimento como dado na soluo de
um problema.
um programa que utiliza mecanismos
gerais de combinao de fatos e regras.
base de conhecimento formada por fatos e por regras do
tipo
SE condio ENTO concluso
exemplos: A , B C
G,H I,J

Quando o mecanismo de inferncia ativado, a base de


conhecimento contm as informaes representativas
do enunciado do problema a resolver:
os fatos estabelecidos e os fatos a estabelecer (objetivos)
formam a base de fatos
o conhecimento sobre o domnio constitui a base de regras
Funcionamento
O motor de inferncia possui um raciocnio
cclico: um ciclo de base composto por duas
etapas:
avaliao: procura das regras suscetveis de serem
ativadas em funo do estado corrente da base de
fatos e escolha das regras a ativar efetivamente
execuo: modificao da base de fatos e
eventualmente da base de regras
Condio de parada:
encontrada soluo para o problema
no h mais regra ativvel
Avaliao

A fase de avaliao compreende 3 etapas:


seleo ou restrio
filtragem
resoluo de conflitos
Avaliao: seleo ou restrio
Determina um subconjunto da base de regras e da base
de fatos que, a priori, merece ser submetido etapa
seguinte de filtragem.
exemplo:
1- separar as regras j executadas
2- separar fatos e regras em funo do domnio:
distinguir entre regras para diagnstico e regras para tratamento
(rea mdica)
distinguir fatos e regras relativos a autoria de fatos e regras
relativos a materialidade (rea jurdica)
3- separar fatos reconhecidos verdadeiros (estabelecidos,
provados) dos fatos a estabelecer (objetivos, hipteses).
Neste caso a restrio poder consistir a privilegiar os fatos a
estabelecer (hipteses) em relao a outros , ou o problema mais
recente em relao aos mais antigos
Avaliao: filtragem
a segunda etapa da fase de avaliao

Compara a parte condio de cada uma das


regras selecionadas na etapa de restrio com
o conjunto dos fatos considerados na mesma
etapa. O subconjunto destas regras que tm
condies de serem ativadas chamado de
conjunto de conflito.
Avaliao: resoluo de conflitos
Na terceira etapa da fase de avaliao
determina-se o subconjunto das regras que
sero efetivamente ativadas.
Normalmente esta escolha baseada em
critrios sem relao com o contexto da
aplicao, como:
ordem de definio da base de regras
ordem aleatria de execuo
preferncia para regras mais simples: menos
condies ou menos variveis a determinar antes da
ativao
Execuo

Constitui a segunda parte de cada ciclo

O mecanismo de inferncia comanda a


ativao das regras selecionadas na fase
de avaliao
Formas de trabalho do mecanismo
de inferncia

Forma de encadeamento das regras


Tipo de busca
Monotnico x no monotnico
Forma de encadeamento das regras

Encadeamento progressivo (forward chaining)


Os fatos da base de fatos sobre os quais considerada
a parte antecedente (condio, premissa) das regras
representam informaes cujo valor verdadeiro j foi
estabelecido.
raciocnio para frente
(forward reasoning)
raciocnio orientado pelos dados
(data oriented reasoning)

fatos iniciais
concluses, objetivos
Base de regras: Base de fatos: A, B
R1: C M
R2: A,D E Objetivo: H
R3: L H
R4: B,C G
R5: A,B C
R6: G,D H,I
R7: C D
R8: E,K H

Regra aplicada Base de fatos


R5 A, B, C
R1 A, B, C, M
R4 A, B, C, M, G
R7 A, B, C, M, G, D
R2 A, B, C, M, G, D, E
R6 A, B, C, M, G, D, E, H, I
Forma de encadeamento das regras
Encadeamento regressivo (backward chaining)
Parte-se dos objetivos e anda-se para trs atravs de
subobjetivos
raciocnio para trs
(backward reasoning)

raciocnio orientado pelos objetivos


(goal oriented reasoning)

concluses, objetivos

fatos iniciais
Base de regras: Base de fatos: A, B
R1: C M
R2: A,D E Objetivo: H
R3: L H
R4: B,C G
R5: A,B C
R6: G,D H,I
R7: C D
R8: E,K H

Regra Metas Base de fatos


H A, B
R3 L A, B, H IMPASSE
H A, B
R6 G, D A, B, H, I
R4 D, C A, B, H, I, G
R7 C A, B, H, I, G, D
R5 -- A, B, H, I, G, D, C
Tipo de busca
em profundidade x em amplitude

fatos iniciais
objetivos
Raciocnio monotnico x no
monotnico
Raciocnio monotnico
nenhum fato ou regra pode ser retirado da base de
conhecimento durante uma seo de consulta
nenhum fato novo far com que um fato antigo torne-se
invlido ou no-verdadeiro
Vantagens
quando um fato novo for acrescentado (deduzido),
nenhuma conferncia precisa ser feita para ver se h
inconsistncia entre o fato novo e a base antiga
no necessrio guardar, para cada novo fato, a lista
dos fatos que possibilitaram a deduo do novo fato,
pois no h perigo de os fatos antigos deixarem de ser
verdadeiros
Raciocnio monotnico

Desvantagens - nas situaes de:

informao incompleta (raciocnio por omisso)


situao em mudana
gerao de suposies no processo de resolver
problemas complexos como planejamento
Exemplo de algoritmo para motor de
inferncia com encadeamento progressivo
procedure ESTABELECER-UM-FATO (FATO)
if FATO E BASE-DE-FATOS
then exit fato provado
exit EXECUTAR-UM-CICLO (BASE-DE-REGRAS)

procedure EXECUTAR-UM-CICLO (AS-REGRAS)


if AS-REGRAS=
then exit fato no provado
UMA-REGRA uma regra de AS-REGRAS, por exemplo a primeira
AS-REGRAS AS-REGRAS exceto UMA-REGRA
if todos os fatos da condio de UMA-REGRA BASE_DE_FATOS
then begin
if a concluso de UMA-REGRA FATO
then exit fato provado
adicionar a concluso de UMA-REGRA BASE_DE_FATOS
BASE-DE-REGRAS BASE-DE-REGRAS exceto UMA-REGRA
exit EXECUTAR-UM-CICLO (BASE-DE-REGRAS)
end
exit EXECUTAR-UM-CICLO (AS-REGRAS)
Caractersticas do algoritmo

encadeamento progressivo
o novo fato gerado pela aplicao de uma regra
imediatamente considerado pelas prximas
regras a serem executadas (em profundidade)
a ordem das regras importante para o tempo
de execuo, mas no para o resultado
procedure ESTABELECER-UM-FATO (FATO)
if FATO BASE-DE-FATOS
then exit fato provado
FATOSNOVOS lista vazia
exit EXECUTAR-UM-CICLO (BASEDEREGRAS, FATOSNOVOS)

procedure EXECUTAR-UM-CICLO (ASREGRAS, FATOSNOVOS)


if ASREGRAS vazio
then begin
if FATOSNOVOS vazio
then exit insucesso
BASEDEFATOS BASEDEFATOS acrescida de FATOSNOVOS
FATOSNOVOS lista vazia
end
UMAREGRA uma regra de ASREGRAS, por exemplo a primeira
ASREGRAS ASREGRAS diminuda de UMAREGRA
if todos os fatos da premissa de UMAREGRA pertencem BASEDEFATOS
then begin
if a concluso de UMAREGRA o FATO
then exit fato provado
acrescentar a concluso de UMAREGRA FATOSNOVOS (se a concluso j no
pertence a BASEDEFATOS ou a FATOSNOVOS)
BASEDEREGRAS BASEDEREGRAS diminuda de UMAREGRA
end
exit EXECUTAR-UM-CICLO (ASREGRAS, FATOSNOVOS)
Caractersticas do algoritmo:

Você também pode gostar