You are on page 1of 21

Inteligncia Artificial

CAPTULO IV
INTRODUO AOS SISTEMAS
PERICIAIS

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Engenharia do Conhecimento

ENGENHARIA DO CONHECIMENTO E SISTEMAS PERICIAIS

A abordagem Inteligncia Artificial que reala os aspectos implementacionais da


realizao prtica de Sistemas Baseados em Conhecimentos, conhecida por
Engenharia do Conhecimento.
A Engenharia do Conhecimento estuda os mtodos prticos de representar
conhecimento operacional e suas estratgias de manipulao.

Os Sistemas Periciais so os mais tpicos Sistemas Baseados em Conhecimento e


constituem as realizaes prticas mais conhecidas da rea da Inteligncia Artificial.

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Engenharia do Conhecimento

PROGRESSO Nas Ferramentas de desenvolvimento de


SISTEMAS PERICIAIS

manpower

L. Programao
ambientes
shells lab
shells comerciais
shells + plataformas

1975

80

85

90

E. Oliveira / MIEIC

95

2000

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

SISTEMAS PERICIAIS ("EXPERT SYSTEMS")


- O QUE SO SISTEMAS PERICIAIS
Definio Intensiva :
Sistemas computacionais incorporando Conhecimento Simblico
prprio de Especialista(s) em um ou vrios domnios (restritos), capaz de
emular (ou assistir) tais Especialistas na forma como decidem e explicam,
comunicam ou adquirem tais conhecimentos.
SISTEMAS PERICIAIS ("EXPERT SYSTEMS")
Definio Extensiva :
Conjunto de Programas que de uma forma modular englobam :
* Conhecimento simblico sobre domnios formalizados (pode ser incerto)
* Capacidades de Inferncia
* Heursticas
* Explicabilidade
* "Auto-Conhecimento"
* Interface amigvel (ex: Linguagem Natural)
* Capacidades evolutivas (ex: Aprendizagem)
E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

- O QUE NO SO :
Programas

+ complexos de cdigos + eficientes


baseados em calculo numrico, produzindo resultados de
forma totalmente opaca e sem possibilidades de evoluo
a no ser por reprogramao.
Programas de armazenamento e retribuio de
grandes quantidades de Dados organizados.
- SISTEMAS PERICIAIS VERSUS BASES DE DADOS :
SP usam-se quando a complexidade do
tratamento da informao se sobrepe grande quantidade
de informao a manipular.

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Os Sistemas Periciais podem ajudar :

Integrao de diversas Fontes de Conhecimento


existentes sobre um mesmo Domnio
(Ex: Vrios Especialistas numa Base de Conhecimentos)

Integrao de Especialidades diferentes que abordam


problemas comuns. (Ex: ORBI).

Divulgao de Cpias electrnicas do Conhecimento (raro e caro)

Estruturao necessria de um domnio de Conhecimento e


teste da sua validade.(Ex: ORBI).

E ainda ao :

Acesso mais simples e natural a Bases de Dados


Relacionais.

Estudo de processos inteligentes Naturais.

Aprendizagem de conceitos atravs de grande quantidade


de Dados.

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

EXPLICAES

METACONHECIMENTO

MOTOR
DE

BASE DE
CONHECIMENTO

AQUISIO

INFERNCIA

BASE DE FACTOS/
DADOS

MEMRIA
DE
TRABALHO

INTERFACE

UTILIZADOR

ESTRUTURA BSICA DE UM SISTEMA PERICIAL

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Exemplos simples de Regras em prolog:
ave(albatroz_leysan):- familia(albatroz), cor(branca).
famlia(albatroz):- ordem(tubenose), tamanho(grande), asas(grandes_estreitas).
ordem(tubenose):- configurao(tubular), vive(mar), bico(anguloso).
Exemplos de factos conhecidos na Base de Conhecimentos em prolog:
configurao(tubular).
vive(mar).
bico(anguloso).
tamanho(grande).
asas(grandes_estreitas).
cor(branca).
Outras hipteses de representao de factos (para outras regras):
facto(cor,branca).
Ou:
av(cor, branca) % av i.e. Atributo-Valor
E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Outro formato de Regras em prolog:
regra(Nome, ListaPermissas,Concluso).
Ou seja:
regra(Nome,lper([av(A1,V1), av(A2,V2)|R]), conc(av(A,V),FC)).
Exemplo concreto:
regra(1, lper([av(configurao,tubular), av(vive,mar), av(bico,anguloso)]),
conc(av(ordem, tubenose), 80)).
Motores de Inferncia:
Por Encadeamento Inverso (BC)
Por Encadeamento Directo (FC)
Motor de Inferncia um programa que usa a Base de Conhecimentos para:
- encontrar Valores para Atributos
- combinar incertezas e
- actualizar evidncias na memria (e na BC)

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Valores de Atributos podem ser:
- j conhecidos da BC
- perguntveis ao utilizador (ou a BD)
- deduzidos pelo Motor de Inferncia a partir da BC
Exemplo de Motor de inferncia em Prolog (Encadeamento Inverso):
:- findgoal(av(problema,X), FC) %tentar conhecer o valor X do atributo problema
findgoal(av(A,V),FC):-

facto(av(A,V),FC),!.

%1 hiptese

findgoal(av(A,V),FC):-

not(facto(av(A,_),_),
%2 hiptese
perguntavel(A,TextoP),
pergunta_utilizador(A,TextoP), !,
findgoal(av(A,V),FC).

pergunta_utilizador(A,TextoP):- write(TextoP), read(V), read(FC),


asserta(facto(av(A,V),FC)).

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

findgoal(Goal,FCcorrente):-

fg(Goal,FCcorrente).

fg(Goal,FCcorrente):-

regra(N,lper(LP), conc((Goal,FC)) ),
provar(LP, Cert_P),
combinar(FC, Cert_P,NFC),
actualizar(Goal,NFC,FCcorrente),
FCcorrente = = 100, !.

fg(Goal,FC):-

facto(Goal,FC).

provar(LP, Cert_P):-

%3 hiptese

prove(LP,100,Tally). %100 valor inicial.


%No interfere em mnimo

prove([], Cert_P, Cert_P).


prove([P1|RP], Cert_corr,Cert_P):- findgoal(P1,FC),
min(Cert_corr, FC, Cert), %caso2 do modelo dos FC
Cert>=20,
prove(RP,Cert, Cert_P).

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

min(X,Y,X):- X=<Y,!.
min(X,Y,Y):- Y<X.
combinar(FC1,FC2,FC):- X is FC1*FC2 /100, arredondar(X,FC). % caso 3 do modelo FC
arredondar(X,FC):- X>=0, FC is integer(X+0.5).
arredondar(X,FC):- X<0, FC is integer(X-0.5).
actualizar(Goal, NFC,FC):- facto(Goal,VFC), comb(NFC,VFC,FC), % caso 1 do modelo FC
retract(facto(Goal,VFC)), asserta(facto(Goal,FC)).
actualizar(Goal,FC,FC):- asserta(facto(Goal,FC)).
comb((FC1,FC2,FC)):comb((FC1,FC2,FC)):comb((FC1,FC2,FC)):-

E. Oliveira / MIEIC

FC1>=0, FC2>=0,
X is FC1+FC2*(100-FC1)/100, arredondar(X,FC).
FC1<0, FC2<0,
X is (-FC1-FC2*(100+FC1)/100, arredondar(X,FC).
(FC1<0; FC2<0), (FC1>0;FC2>0),
min_abs(FC1,FC2,FCmin),
X is 100* (FC1+FC2)/(100-FCmin), arredondar(X,FC).
4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Exemplo de Motor de inferncia em Prolog (Encadeamento Directo):
Quando as premissas unificam com factos na memria, isso implica que as aces
da concluso so activadas.
Ciclo de Execuo:
1- Seleccionar regras cujas premissas unificam com Estado corrente memorizado;
2- Executar as Aces correspondentes concluso das Regras;
3- Repetir Enquanto existirem regras aplicveis.

Tipo de Regra:
regra(Nome, LPe, LAc).
Motor de inferncia (Encadeamento Directo)
go:call(regra(N,LP,LA)),
tentar(LP,LA), !, go.
go:nl, write(fim).
tentar(LP,LA):- match(LP), processar(LA,LP).
E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
tentar(LP,LA):- match(LP), processar(LA,LP).
match([]):-!.
match([P|R]):- !, (facto(P);teste(P)), match(R).
teste(X>=Y):- X>=Y,!.
teste(X=Y):- X is Y,!.
teste(member(X,Y)):- member(X,Y),!.
teste(not(X)):- facto(X),!,fail.
teste(not(X)).

teste(X==Y):- X=Y,!.

processar([],_):-!.
processar([A1|RA],LP):- aco(A1,LP), processar(RA,LP).
aco(retract(X),LP):- retract(facto(X)).
.... ... ...

E. Oliveira / MIEIC

aco(write(X),_):- write(X).

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
CARACTERSTICAS INTERACTIVAS:
Explicaes tipo WHY? (Porqu)
Exemplo do Sistema Mycin:
... ... ...
-O Organismo-2 cresce aerobicamente ou no?
> Porqu?
- J conhecido que a mancha Gram-negativa
SE o Organismo-2 cresce aerobicamente
ENTO h evidncia sugestiva que a Identidade do Organismo-2
IGUAL a STAPHILOCOCCUS
Explicaes tipo HOW? (Como?)
Exemplo do Sistema ORBI:
>Qual o valor da aptido do ponto de coordenadas 79,673 agricultura?
- No ponto 79,673 a Aptido 3 (Agricultura no intensiva) tem o valor
MUITO APTO (comrepresentatividade 3/5) PORQUE:
E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
O valor MUITO APTO foi calculado com base em
25% Factor6 + 60% Factor4 + 5% Factor 3 + ...
e o Factor6 (Riqueza Florstica) tem o valor 1
porque depende do Descritor11 e do Descritor7 e
O Descritor11 (Equilbrio da Vegetao) tem o valor 1
porque segundo o especialista:
O Equilbrio da Vegetao MUITO BAIXO devido ao facto
das Fitocenoses Naturais se encontrarem degradadas com difcil
regresso ao climax potencial.
O Descritor7 (Escoamento) tem o valor 2
porque segundo o especialista:
.... .... ....

Explicaes tipo COMO so um trace formatado do caminho percorrido


durante a inferncia realizada

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
AQUISIO DO CONHECIMENTO e SISTEMAS PERICIAIS
Aquisio por comunicao directa (Learning by being told)
Nesta forma mais elementar de adquirir conhecimento, os Sistemas Periciais adquirem
ou modificam novas Regras por interaco natural com o especialista.
Aquisio por induo:
- Algortmos da famlia ID3
- Induo de Programas em Lgica
- ...
Aquisio por Adaptao:
- Aprendizagem por Reforo
- Redes Neuronais Artificiais no so SBC
E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Exemplo Prtico de Sistema Pericial:
ORBI
SISTEMA PERICIAL PARA O ORDENAMENTO BIOFSICO DO
TERRITRIO
O Problema:
Estudo das potencialidades de um territrio- tipicamente um
concelho
*Dezenas de mapas com valores observados em pontos (quadrados de
200x200 m); os valores so quantificados (0 a 5) com credibilidades
associadas e textos justificativos
*ORBI integra em Regras e numa Rede semntica o conhecimento de
especialistas em campos diferentes:
Geologia,Hidrologia, Clima, Arquitectura Paisagstica, Biologia,
Botnica, Tcnica Agrcola, etc...
*Usado para fornecer pareceres justificados na secretaria de Estado do
Ambiente.

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

MODELO HIERRQUICO do CONHECIMENTODE (ALTO NVEL)

SINTESE BIOFSICA

Agricultura intensiva

APTIDES

Resistncia do solo eroso


Inclinao do solo

REDE C.Nat.

FACTORES

DESCRIPTORES

Textos justificativos dos valores observados nos Pontos


E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

ORBI responde a questes sobre:


O Domnio do Conhecimento: Valores que existem na Base de Factos ou dedutveis
Ex:

Quais os valores do descriptor


Mdias de valores da aptido2 na regio de coordenadas.
Quais as coordenadas dos pontos com valor de aptido

Todos os valores so computados com representatividade associada


O Domnio do Meta-Conhecimento: Questes sobre o Conhecimento que o Sistema
possui sobre o seu prprio Conhecimento
Ex:
Quais os conceitos?
Quais so as aptides?
Quantos so os factores?
Qual a regra da aptido para a agricultura?

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
NVEIS DE CONHECIMENTO
METACONHECIMENTO:
AUTOCONHECIMENTO
METACONTROLO

TRS NVEIS

ARQUTIPOS
ex: CONCEITOS (Qdade, Dep, Contr, atrib, Sig).
CATEGORIAS
ex: aptido (num-nome, instancias. [sntese, rede],[factor], sig (apt).
ex: factor (num-nome, instancias. [aptido],[descritor], sig(factor) )
INSTNCIAS CONCRETAS
ex: factor (3-resistncia-eroso,[a1,a3.-],[d7,d10],
sig (f3)).

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

Factos em Clusulas unitrias:


ponto (X-Y, VD1-RD1, VD2-RD2, ...).
Regras em Clusulas condicionais

( com operadores pr-declarados):

Ex.
(com operadores pr-declarados)
aptido (1-habitao, Desc, Valor, Rep):Valor=no apto se (F4=4 ou F4=5) onde factor(4-p.agrcola, Desc, F4-Rep).
ou (F6=selectivo ou F6=3) onde factor(6-rgeolgica,F6,Desc, Rep)
ou(F6b/=0 e F6b /=1 e F6b/=2)onde factor(6b-fitocenose,F6b,Desc, Rep)
ou F6f=5 onde factor (6f-r-cineg-paisag, F6f, Desc, Rep)
senao
expr(6,Valor is(40*F1+25*F2+20*F2a+5*F2b+5*F3+5*F5+50)/100),
Rep is(40*R1+25*R2+20*R3+5*R4+5*R5+5*R6+50)/100
onde(factor(1-clima,Desc,F1-R1),factor(2-c-terrenos-fund,Desc,F2-R2),... ).

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

EXPLICAES "COMO"
* Explicaes incluem:
2 nveis de profundidade
dinamicamente computadas
opcionais
formatadas

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
AQUISIO DAS REGRAS :
("Learning by being told")
1- Entrada em "Linguagem quase - Natural"
2- Transformao em Representao prolog intermdia
3- Execuo por interpretador apropriado

ex:

E. Oliveira / MIEIC

1 aptido industria = apto se


factor pluviosidade > 3 ou
factor eroso = grande
seno aptido industria = 20 * f1 + 80 * f3

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
2 compor(A se B,(Cabea:-Corpo)):- tratar1(A, Cabea), %simplificado, D
tratar(B, Corpo).
...
tratar1 (At = V, regra (At, D, V)):- retract(regras(Num)), N is Num+1,
assert(regras(N)).
.... .... ...
tratar (B ou C, (NB; NC)): -

tratar (B, NB),


tratar (C, NC).

. tratar (B e C, (NB, NC)): - tratar (B, NB),


tratar (C, NC).
.. ... ...
3 executar (Regra, ER): i(Regra, NR, ER), NR.
i (A seno B, NA, EA): -

i (A, NA, EA).

i (_ seno B, NB, EB): -

i (B, NB, EB).

i (A se B, NB, EB-> A): -

i (B, NB, EB).

i (A ou B, (NA;NB), (EA; EB)): -

i (A, NA, EA);


i (B, NB, EB).

... ... ...


E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

AQUISIO

BC DINMICAS
(ORBI)

GRAMTICA
UTILIZAO DO

METACONHECIMENTO

SIMPLICIDADE DA LINGUAGEM + PODER


DE I/0

U
T
I
L
I
Z
A
D
O
R

entrada
aquisio
sada
retribuio

ESPERTEZA NA INTERACO
VALIDADE/REJEIO
TESTES SINTTICOS E SEMNTICOS

ANLISE

VALIDAO

METACONHECIMENTO

APRESENTAOREFORMULAO

BASE DE CONHECIMENTOS

Motor de Inferncia
E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

MYCIN
SISTEMA PERICIAL para DIAGNOSTICAR a IDENTIDADE DE
ORGANISMOS causadores de INFECES NO SANGUE
E. Shortliffe - U. Stanford (E. U. A.)
bibl.: "Mycin: Computer Based Medical Diagnosis" - North-Holland
Artificial Intelligence Series - 1976
Eduard Shortliffe.

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

Sistemas Derivados

NEOMYCIN
EMYCIN
ICPMYCIN
RMYCIN

MYCIN

SHORT MYCIN

TEIRESIAS

MYCIN guia-se por uma rvore CONTEXTUAL ESTTICA


nome
idade
sexo

atributos

PACIENTE

meio

Objectos
Do
Domnio

CULTURA

data

identidade

ORGANISMO

morfologia
aerobicidade

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

Valores dos atributos podem ser:


- fornecidos pelo utilizador (se perguntveis)
- encontrados na Base de Dados (se "asserted")
- deduzidos (se nas Regras)
MYCIN
CRIA CONTEXTOS DINMICOS
paciente-1
EX:
cultura-1
organismo-1

cultura-2

organismo-2 organismo-3

terapia-1 terapia-2

terapia-3

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

Sistemas Periciais podem receber informao:


Interactivamente dos utilizadores
de Bases de Dados
de interfaces com aparelhos de medida e aquisio de sinal
Exemplo de aplicao na Medicina: ARCA

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

Os objectivos fundamentais do sistema ARCA so os seguintes:


fornecer aos no especialistas uma forma acessvel de detectar a
existncia de arritmias cardacas (e o seu tipo), podendo levar
estes a aconselhar o paciente a consultar um mdico especialista;
fornecer aos especialistas uma forma de auxiliar e facilitar o
diagnstico, permitindo, sempre que solicitado, explicar os passos
percorridos at atingir uma dada concluso;

possibilitar a sua utilizao como tutor elementar, permitindo aos


utilizadores que o desejarem uma maior especializao no
domnio.

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Inferncia desde os dados do ECG ao diagnstico
aVR (qi,[479,1192,1868,2707,3748,4452]).
aVR (sf,[594,1303,1974,2814,3858,4563]).
aVR (rp,[561,1270,1942,2781,3822,4526]).
aVR (dp,[41,53,61,66,53,66]).
d2 (pp,[426,1118,1794,2634,3678,4375]).
...
h_rate(75).
linha_base(existe).
...

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Ciclo de Desenvolvimento do SP ARCA

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
SHELLS (CONCHAS):
Programas que incluem:
- Motor de Inferncia
- Tratamento de Raciocnio Incerto
- Interface por Menus
- Capacidades Explicativas do tipo Porqu e, por vezes, Como
- Editor de Regras e (eventualmente) de Frames
As Shells de Sistemas Periciais podem utilizar-se em 2 modos:
- Modo de Construo da Base de Conhecimentos
- Modo de Consulta
Exemplos de Shells:
Consultar:
- CLIPS ( C Language Integrated Expert Systems) www.ghg.net/clips/CLIPS.html
- JESS (Java Expert Systems Shell) http://herzberg.ca.sandia.gov/jess/
- Knowledge Wright (Amzi Prolog) www.amzi.com/products/knowledgewright.html
- Mike (Micro Interpreter for Knowledge Engineering; Open University, UK)
- FLEX (em Prolog - Logic Programming Associates Ltd.) www.lpa.co.uk/ind_pro.htm

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
SHELLS (CONCHAS):
- JESS (Java Expert Systems Shell) http://herzberg.ca.sandia.gov/jess/
Programa em Java
Herdeiro do CLIPS (Lisp)
Desenvolvido nos Sandia National Labs Livermore, CA
Motor de Inferncia para REGRAS. Tipo Encadeamento Directo.
Usa Algoritmo RETE para fazer a seleco das Regras aplicveis em cada situao
RETE: Usa uma rede em que os nodos de cada ramo so premissas de uma regra com
factos associados que as satisfazem. A propagao de novos factos memorizados
dinmica e quando todos os ns de um ramo so satisfeitos essa regra activada.
RETE aumenta a velocidade custa do uso de memria
E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Expert Systems Applications
Outros domnios de aplicao: (retirado da Web)
Diagnosis and Troubleshooting of Devices and Systems of All Kinds
Planning and Scheduling
Configuration of Manufactured Objects from Sub-assemblies
Financial Decision Making
Process Monitoring and Control
Design and Manufacturing
Cooperative Distributed Expert Systems for Networks maintenance

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Exemplo simplificado de Base de Conhecimentos de um SP (Expert System)

Regras para a Situao: o carro no se movimenta


Se o carro no arranca e sei que a bateria est em baixo ento tenho a
certeza que o problema da bateria.
Tambm quando a luz ou o rdio esto fracos tenho 50% de certeza que o a
bateria est em baixo.
Se o carro arranca mas h um cheiro a gasolina ento o problema , com
quase total certeza, motor_encharcado.
Mas se o indicador da gasolina est no zero ou muito baixo ento o problema
falta de gasolina com maior ou menor certeza.
Regras usando os operadores se, e, ento, com (FC)
Sensores do valores ao SP menos um que perguntvel.
Usar Modelo dos FC e Conjuntos Difusos

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Exemplo simplificado de Base de Conhecimentos de um SP (Expert System)
Regras:
se liga=nao e bateria=em-baixo entao problema=bateria com fc=1.
se luz=fraca entao bateria=em_baixo com fc=0.5.
se radio=fraca entao bateria=em_baixo com fc=0.5.
se liga=sim e cheiro_gas=sim entao problema=encharcado com fc=0.8.
se liga=sim e indicador_gas=vazio entao problema=sem_gasolina com fc=0.9.
se liga=sim e indicador_gas=muito_baixo entao problema=sem_gasolina com fc=0.3.

perguntvel(cheiro_gas, 'Sente cheiro a gasolina ?', [sim,nao]).


Conjuntos difusos (funes de pertena)
Vazio: VCaracterstico a partir de 1 decilitro
Muito_baixo: VCaracterstico = litro
Fraca: VCaracterstico at 0,2 miliampres

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Exemplo simplificado de Base de Conhecimentos de um SP (Expert System)
Fuzzy Sets:
1

30 lit

O,1 lit

Funo de pertena de depsito Vazio

30 lit

O,5 lit

Funo de pertena de depsito Muito_baixo

0,2 ma

0,5 ma

Funo de pertena de bateria ou rdio Fraca

E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Exemplo simplificado de Base de Conhecimentos de um SP (Expert System)

inicio:- verifica(problema,Valor,FC).
verifica(Atb,Valor,FC):- facto(Atb,Valor,FC), !.
verifica(Atb,Valor,FC):- facto(Atb,_,1), !, fail. % facto ja conhecido com FC=1
% valores diferentes com FCs diferentes
verifica(Atb,Valor,FC):perguntavel(Atb,TextoPerg,ListaVal),
pergunta(Atb,TextoPerg,ListaVal),!,
facto(Atb,Valor,FC).
verifica(Atb,V,FC):- verif_regras(Atb,V,FC).
verif_regras(Atb,Valor,FC):se Premissas entao Atb=Valor com fc=FCRegra,
verif_premissas(Premissas,1,FCPrem),
% calcula FC premissas
ajustaFC(FCRegra,FCPrem,FCNovo),
% combina FC regra com FC premissa
actualizaFC(Atb,Valor,FCNovo,FC),
% combina FC com outros ja existentes
FC==1,!.
E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

Sistemas Periciais
Exemplo simplificado de Base de Conhecimentos de um SP (Expert System)

ve_regras(Atb,V,FC):- setof( (Vx,FCx), facto(Atb,Vx,FCx), L), maiorFC(L,V,FC).


pergunta(Atb,Texto,ListaV):repeat,
write(Texto), write(ListaV), write(' ? '), read(V),
valido(V,ListaV),
write('factor de certeza: '),read(FC),
assert(facto(Atb,V,FC)).
verif_premissas(Atb1=V1,FCAnt,FC):verifica(Atb1,V1,FC1),
min(FCAnt,FC1,FC), !.
verif_premissas(Atb1=V1 e OPs,FCAnt,FC):verifica(Atb1,V1,FC1),
min(FCAnt,FC1,FCAux),
ve_premissas(OPs,FCAux,FC), !.
E. Oliveira / MIEIC

4-Inroduo aos Sistemas Periciais

You might also like