sistemas periciais e robÓticaeol/ia/1617/apontamentos/4_s… ·  · 2017-01-25quando as premissas...

43
E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais CAPÍTULO IV INTRODUÇÃO AOS SISTEMAS PERICIAIS Inteligência Artificial

Upload: domien

Post on 22-Apr-2018

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

CAPÍTULO IV

INTRODUÇÃO AOS SISTEMAS

PERICIAIS

Inteligência Artificial

Page 2: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

A abordagem à Inteligência Artificial que realça os aspectos implementacionais da realização prática de Sistemas Baseados em Conhecimentos, é conhecida por Engenharia do Conhecimento.

Engenharia do Conhecimento

ENGENHARIA DO CONHECIMENTO E SISTEMAS PERICIAIS

A Engenharia do Conhecimento estuda os métodos práticos de representar conhecimento operacional e suas estratégias de manipulação. Os Sistemas Periciais são os mais típicos Sistemas Baseados em Conhecimento e constituem as realizações práticas mais conhecidas da área da Inteligência Artificial.

Page 3: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Engenharia do Conhecimento

PROGRESSÃO Nas Ferramentas de desenvolvimento de SISTEMAS PERICIAIS

L. Programação ambientes

shells lab

shells comerciais

manpower

1975 80 85 90 95 95 2000

shells + plataformas

2010

Page 4: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

SISTEMAS PERICIAIS ("EXPERT SYSTEMS") • Definição Extensiva : Conjunto de Programas que de uma forma modular englobam : * Conhecimento simbólico sobre domínios formalizados (pode ser incerto) * Capacidades de Inferência * Heurísticas * Explicabilidade * "Auto-Conhecimento" * Interface amigável (ex: Linguagem Natural) * Capacidades evolutivas (ex: Aprendizagem)

Sistemas Periciais

SISTEMAS PERICIAIS ("EXPERT SYSTEMS") - O QUE SÃO SISTEMAS PERICIAIS • Definição Intensiva : Sistemas computacionais incorporando Conhecimento Simbólico próprio de Especialista(s) em um ou vários domínios (restritos), capaz de emular (ou assistir) tais Especialistas na forma como decidem e explicam, comunicam ou adquirem tais conhecimentos.

Page 5: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

- O QUE NÃO SÃO :

• Programas + complexos de códigos + eficientes baseados em cálculo numérico, produzindo resultados de forma totalmente opaca e sem possibilidades de evolução a não ser por reprogramação.

• Programas de armazenamento e retribuição de grandes quantidades de Dados organizados.

- SISTEMAS PERICIAIS VERSUS BASES DE DADOS :

• SP usam-se quando a complexidade do tratamento da informação se sobrepõe à grande quantidade

de informação a manipular.

Page 6: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

Os Sistemas Periciais podem ajudar à :

• Integração de diversas Fontes de Conhecimento existentes sobre um mesmo Domínio (Ex: Vários Especialistas numa Base de Conhecimentos)

• Integração de Especialidades diferentes que abordam problemas comuns. (Ex: ORBI).

• Divulgação de Cópias eletrónicas do Conhecimento (raro e caro)

• Estruturação necessária de um domínio 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 através de grande quantidade de Dados.

Page 7: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

ESTRUTURA BÁSICA DE UM SISTEMA PERICIAL

EXPLICAÇÕES

MOTOR DE INFERÊNCIA

MEMÓRIA DE TRABALHO

METACONHECIMENTO

BASE DE CONHECIMENTO

BASE DE FACTOS/

DADOS

AQUISIÇÃO

INTERFACE

UTILIZADOR

Page 8: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Exemplos simples de Regras em prolog: ave(albatroz_leysan):- familia(albatroz), cor(branca). família(albatroz):- ordem(tubenose), tamanho(grande), asas(grandes_estreitas). ordem(tubenose):- configuração(tubular), vive(mar), bico(anguloso).

Exemplos de factos conhecidos na Base de Conhecimentos em prolog: configuração(tubular). vive(mar). bico(anguloso). tamanho(grande). asas(grandes_estreitas). cor(branca). Outras hipóteses de representação de factos (para outras regras): facto(cor,branca). facto(tamanho, grande). Ou: av(cor, branca) % av i.e. Atributo-Valor

Sistemas Periciais- Base de Conhecimentos

Page 9: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Outro formato de Regras em prolog: regra(Nome, ListaPermissas,Conclusão). Ou seja: regra(Nome,lper([av(A1,V1), av(A2,V2)|R]), conc(av(A,V),FC)). Exemplo concreto:

regra(1, lper([av(configuração,tubular), av(vive,mar), av(bico,anguloso)]), conc(av(ordem, tubenose), 80)).

Sistemas Periciais

Motor de Inferência é um programa que usa a Base de Conhecimentos para: - encontrar Valores para Atributos - combinar incertezas e - atualizar evidências na memória (e na BC)

Motores de Inferência: Por Encadeamento Inverso (BC) Por Encadeamento Direto (FC)

Page 10: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Valores de Atributos podem ser: - já conhecidos da BC - perguntáveis ao utilizador (ou a BD) - deduzidos pelo Motor de Inferência a partir da BC

Sistemas Periciais

Exemplo de Motor de inferência em Prolog (Encadeamento Inverso):

:- findgoal(av(diagnostico,X), FC) %tentar conhecer o valor X do atributo diagnóstico findgoal(av(A,V),FC):- facto(av(A,V),FC),!. %1ª hipótese findgoal(av(A,V),FC):- not(facto(av(A,_),_), %2ª hipótese perguntavel(A,TextoP), %lista de perguntáveis 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)).

Page 11: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

findgoal(Goal,FCcorrente):- fg(Goal,FCcorrente). %3ª hipótese fg(Goal,FCcorrente):- regra(N,lper(LP), conc((Goal,FC)) ), provar(LP, Cert_P), combinar(FC, Cert_P,NFC), atualizar(Goal,NFC,FCcorrente), FCcorrente = = 100, !. fg(Goal,FC):- facto(Goal,FC). %quando não atinje FC=1

Sistemas Periciais

provar(LP, Cert_P):- prove(LP,100,Cert_P). %100 valor inicial. %Não interfere em mínimo

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).

Page 12: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos 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). atualizar(Goal, NFC,FC):- facto(Goal,VFC), comb(NFC,VFC,FC), % caso 1 do modelo FC retract(facto(Goal,VFC)), asserta(facto(Goal,FC)). atualizar(Goal,FC,FC):- asserta(facto(Goal,FC)).

Sistemas Periciais

comb((FC1,FC2,FC)):- FC1>=0, FC2>=0, X is FC1+FC2*(100-FC1)/100, % arredondar(X,FC). comb((FC1,FC2,FC)):- FC1<0, FC2<0, X is –(-FC1-FC2*(100+FC1)/100), %arredondar(X,FC). comb((FC1,FC2,FC)):- (FC1<0; FC2<0), (FC1>0;FC2>0), min_abs(FC1,FC2,FCmin), X is 100* (FC1+FC2)/(100-FCmin), %arredondar(X,FC).

Page 13: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Exemplo de Motor de inferência em Prolog (Encadeamento Direto): Quando as premissas unificam com factos na memória, isso implica que as ações da conclusão são ativadas. Ciclo de Execução: 1- Seleccionar regras cujas premissas unificam com Estado corrente memorizado; 2- Executar as Ações correspondentes à conclusão das Regras; 3- Repetir Enquanto existirem regras aplicáveis.

Sistemas Periciais

Tipo de Regra: regra(Nome, LPe, LAc). Motor de inferência (Encadeamento Direto)

go:- regra(N,LP,LA), tentar(LP,LA), !, go. go:- nl, write(fim). tentar(LP,LA):- match(LP), processar(LA,LP).

Page 14: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

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

Sistemas Periciais

processar([],_):-!. processar([A1|RA],LP):- ação(A1,LP), processar(RA,LP). ação(retract(X),LP):- retract(facto(X)). ação(write(X),_):- write(X). .... ... ...

Page 15: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

SISTEMA: -O Organismo-2 cresce aerobicamente ou não? UTILIZADOR: > Porquê? SISTEMA: - Já é conhecido que a mancha é Gram-negativa SE o Organismo-2 cresce aerobicamente ENTÃO há evidência sugestiva que a Identidade do Organismo-2 é IGUAL a STAPHILOCOCCUS

Sistemas Periciais

Exemplo: (Exemplo de Regra de Conhecimento no Sistema Mycin) SE tipo_organismo GRAM NEGATIVO E aerobicidade AEROBICO ENTÃO há evidência sugestiva (0.6) de STAPHILOCOCCUS

CARATERÍSTICAS INTERATIVAS: Explicações tipo “WHY?” (Porquê) Exemplo do Sistema Mycin:

Page 16: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

CARATERÍSTICAS INTERATIVAS:

Sistemas Periciais

Explicações tipo “HOW?” (Como?) Exemplo do Sistema ORBI: UTILIZADOR:>Qual o valor da aptidão do ponto de coordenadas 79,673 à agricultura? SISTEMA: - No ponto 79,673 a Aptidão 3 (Agricultura não intensiva) tem o valor MUITO APTO (com representatividade 3/5) PORQUE:

Page 17: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

O valor MUITO APTO foi calculado com base em 25% Fator6 + 60% Fator4 + 5% Fator 3 + ... e o Fator6 (Riqueza Florística) tem o valor 1 porque depende do Descritor11 e do Descritor7 e O Descritor11 (Equilíbrio da Vegetação) tem o valor 1 porque segundo o especialista: O Equilíbrio da Vegetação é MUITO BAIXO devido ao facto das Fitocenoses Naturais se encontrarem degradadas com difícil regresso ao climax potencial. O Descritor7 (Escoamento) tem o valor 2 porque segundo o especialista: .... .... ....

Sistemas Periciais

Explicações tipo “COMO” são um “trace” formatado do caminho percorrido durante a inferência realizada

Page 18: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

AQUISIÇÃO DO CONHECIMENTO e SISTEMAS PERICIAIS Aquisição por comunicação direta (“Learning by being told”) Nesta forma mais elementar de adquirir conhecimento, os Sistemas Periciais adquirem ou modificam novas Regras por interação natural com o especialista.

Sistemas Periciais

Aquisição por indução: - Algorítmos tipo Árvores de Decisão inferem Regras de classificação - Indução de Programas em Lógica (ILP) infere Cláusulas prolog - ... Aquisição por Adaptação: - Aprendizagem por Reforço - Redes Neuronais Artificiais não são SBC

Page 19: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

Exemplo Prático de Sistema Pericial:

ORBI

SISTEMA PERICIAL PARA O ORDENAMENTO BIOFÍSICO DO TERRITÓRIO

•O Problema: Estudo das potencialidades de um território - tipicamente um concelho

*Dezenas de mapas com valores observados em pontos (quadrados de 200x200 m); os valores dos atributos são quantificados (0 a 5) com Representatividades associadas e textos justificativos

*ORBI integra em Regras e numa Rede semântica o conhecimento de especialistas em campos diferentes:

Geologia, Hidrologia, Clima, Arquitectura Paisagística, Biologia, Botânica, Técnica Agrícola, etc...

*Usado para fornecer pareceres justificados na secretaria de Estado do Ambiente.

Page 20: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

SINTESE BIOFÍSICA

APTIDÕES REDE C.Nat.

FATORES

DESCRITORES

Textos justificativos dos valores observados nos Pontos

MODELO HIERÁRQUICO do CONHECIMENTO DE (ALTO NÍVEL)

Sistemas Periciais

Ex: Agricultura intensiva

Ex: Resistência do solo à erosão

Ex: Inclinação do solo

Ex: Apto para agricultura e

Pouco apto para a Indústria

Page 21: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

ORBI responde a questões colocadas em PORTUGUÊS sobre: O Domínio do Conhecimento: Valores que existem na Base de Factos ou dedutíveis Ex: Quais os valores do descritor… Médias de valores da aptidão2 na região de coordenadas…. Quais as coordenadas dos pontos com valor de aptidão… Todos os valores são computados com representatividade associada

O Domínio do Meta-Conhecimento: Questões sobre o Conhecimento que o Sistema possui sobre o seu próprio Conhecimento Ex: Quais os conceitos? Quais são as aptidões? Quantos são os fatores? Qual a regra da aptidão para a agricultura?

Page 22: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

NÍVEIS DE CONHECIMENTO

METACONHECIMENTO:

AUTOCONHECIMENTO METACONTROLO

TRÊS NÍVEIS

ex: CONCEITOS (Qdade, Dep, Contr, atrib, Sig).

ESQUEMAS

CATEGORIAS

ex: aptidão (num-nome, instancias. [síntese, rede],[fator], sig (apt).

INSTÂNCIAS CONCRETAS

ex: fator (3-resistência-erosão,[a1,a3.-],[d7,d10],

sig (f3)).

ex: fator (num-nome, instancias. [aptidão],[descritor], sig(fator) )

Page 23: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

ponto (X-Y, VD1-RD1, VD2-RD2, ...).

Regras em Cláusulas condicionais ( com operadores pré-declarados):

Factos em Cláusulas unárias:

Ex. (com operadores pré-declarados)

aptidão (1-habitação, Desc, Valor, Rep):-

Valor=não apto se (F4=4 ou F4=5) onde fator(4-p.agrícola, Desc, F4-Rep)

ou (F6=selectivo ou F6=3) onde fator(6-rgeológica,F6,Desc, Rep) ou(F6b/=0 e F6b /=1 e F6b/=2)onde fator(6b-fitocenose,F6b,Desc, Rep) ou F6f=5 onde fator (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(fator(1-clima,Desc,F1-R1),fator(2-c-terrenos-fund,Desc,F2-R2),... ).

Page 24: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

EXPLICAÇÕES "COMO"

* Explicações incluem:

2 níveis de profundidade

dinamicamente computadas opcionais formatadas

Page 25: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

AQUISIÇÃO DAS REGRAS : ("Learning by being told")

1- Entrada em "Linguagem quase - Natural" 2- Transformação em Representação prolog intermédia 3- Execução por interpretador apropriado

ex: 1 aptidão industria = apto se fator pluviosidade > 3 ou fator erosão = grande senão aptidão industria = 20 * f1 + 80 * f3

Atributo = Valor

Operadores pré- declarados

1- Entrada em "Linguagem quase - Natural"

Page 26: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

2 compor(A se B,(Cabeça:-Corpo)):- tratar1(A, Cabeça), %simplificado, D tratar(B, Corpo).

. . .

3 executar (Regra, ER): - i(Regra, NR, ER), NR.

i (A senão B, NA, EA): - i (A, NA, EA).

i (_ senão B, NB, EB): - i (B, NB, EB).

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

i (X ou Y, (NX;NY), (EX; EY)): - i (X, NX, EX); i (Y, NY, EY).

... ... ...

input Regra formada

. . . 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 (B e C, (NB, NC)): - tratar (B, NB), tratar (C, NC). . . . . . . . .

tratar (C, NC).

2- Transformação em Representação prolog intermédia

Page 27: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

ANÁLISE VALIDAÇÃO

RETRIBUIÇÃO REPRESENTAÇÃO U

T

I

L

I

Z

A

D

O

R

Motor de Inferência

METACONHECIMENTO

BASE DE CONHECIMENTOS

Aquisição de Conhecimento para BC Dinâmicas

Input Conhecimento

Inter

face

c/

Page 28: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

MYCIN

SISTEMA PERICIAL para DIAGNOSTICAR a IDENTIDADE DE

ORGANISMOS causadores de INFECÇÕES NO SANGUE

E. Shortliffe - U. Stanford (E. U. A.)

bibl.: "Mycin: Computer Based Medical Diagnosis" - North-Holland

Artificial Intelligence Series - 1976

Eduard Shortliffe.

Page 29: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

Sistemas Derivados

MYCIN

NEOMYCIN

EMYCIN

RMYCIN

SHORT MYCIN

ICPMYCIN

TEIRESIAS

MYCIN guia-se por uma Àrvore CONTEXTUAL ESTÁTICA

Objetos

Do

Domínio

PACIENTE

CULTURA

ORGANISMO

nome

idade

sexo

meio

data

identidade

morfologia

aerobicidade

atr

ibu

tos

Page 30: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

Valores dos atributos podem ser: - fornecidos pelo utilizador (se perguntáveis) - encontrados na Base de Dados (se "asserted") - deduzidos (pelas Regras)

MYCIN

CRIA CONTEXTOS DINÂMICOS

EX: paciente-1

cultura-1 cultura-2

organismo-1 organismo-2 organismo-3

terapia-1 terapia-2 terapia-3

Exemplo: de Regra com Factores de Certeza

(do Sistema Mycin.)

SE tipo_organismo GRAM POSITIVO

E morfologia ROD

E aerobicidade AEROBICO

OU aerobicidade DESCONHECIDA

ENTÃO há evidência sugestiva (0.6) de ENTEROBACTERACEAE

Page 31: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais podem receber informação: Interativamente dos utilizadores de Bases de Dados de interfaces com aparelhos de medida e aquisição de sinal Exemplo de aplicação na Medicina: ARCA

Sistemas Periciais

Page 32: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

• fornecer aos especialistas uma forma de auxiliar e facilitar o diagnóstico, permitindo, sempre que solicitado, explicar os passos percorridos até atingir uma dada conclusão;

Os objetivos fundamentais do sistema ARCA são:

• fornecer aos não especialistas uma forma acessível de detectar a existência de arritmias cardíacas (e o seu tipo), podendo levar estes a aconselhar o paciente a consultar um médico especialista;

• possibilitar a sua utilização como tutor elementar, permitindo aos utilizadores que o desejarem uma maior especialização no domínio.

Page 33: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

Page 34: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Sistemas Periciais

Inferência desde os dados do ECG ao diagnóstico

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). ...

Page 35: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Ciclo de Desenvolvimento do SP ARCA

Sistemas Periciais

Page 36: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

SHELLS (CONCHAS): Programas que incluem: - Motor de Inferência - Tratamento de Raciocínio 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 Construção da Base de Conhecimentos - Modo de Consulta

Sistemas Periciais

Exemplos de Shells: Consultar: - Knowledge-Based Systems Corporation (http://www.kbsc.com/rulebase.html) - 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

Page 37: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

SHELLS (CONCHAS):

Sistemas Periciais

- JESS (Java Expert Systems Shell) http://herzberg.ca.sandia.gov/jess/ • Programa em Java

• Herdeiro do CLIPS

• Desenvolvido nos Sandia National Labs – Livermore, CA

• Motor de Inferência para REGRAS. Tipo Encadeamento Directo.

• Usa Algoritmo RETE para fazer a selecção das Regras aplicáveis em cada situação • RETE: Usa uma rede em que os nodos de cada ramo são premissas de uma regra com factos associados que as satisfazem. A propagação de novos factos memorizados é dinâmica e quando todos os nós de um ramo são satisfeitos essa regra é ativada.

• RETE aumenta a velocidade à custa do uso de memória

Page 38: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Expert Systems Applications

Sistemas Periciais

Outros domínios de aplicação: (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

Page 39: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

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

Sistemas Periciais

•Regras usando os operadores “se” (premissas), “e” (conectiva entre premissas), “então”, (separa premissas da conclusão) “com” (FC) •Sensores dão valores dos atributos ao SP (At=Val) menos um que é perguntável. • Usar Modelo dos FC e Conjuntos Difusos

Regras de Conhecimento para a Situação: o carro não se movimenta Se o motor não arranca e sei que a bateria está “em baixo” então tenho a certeza que o problema é da bateria. Também quando a luz ou o rádio estão fracos tenho 50% de certeza que o a bateria está “em baixo”. Se o motor arranca mas há um cheiro a gasolina então o problema é, com quase total certeza, motor_encharcado. Mas se o indicador da gasolina está no zero ou muito baixo então o problema é falta de gasolina com maior ou menor certeza.

Page 40: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

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

Sistemas Periciais

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.

perguntável(cheiro_gas, 'Sente cheiro a gasolina ?', [sim,nao]).

Conjuntos difusos (funções de pertença)

Vazio: VCaraterístico a partir de 1 decilitro

Muito_baixo: VCaraterístico = ½ litro

Fraca: VCaraterístico até 0,2 miliampéres

Page 41: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Exemplo simplificado de um SP (Expert System)

Sistemas Periciais

Fuzzy Sets (Conjuntos Difusos):

Função de pertença de depósito Muito_baixo

O,1 lit 30 lit

1

O,5 lit 30 lit

1

Função de pertença de depósito Vazio

0,2 ma

1

0,5 ma

Função de pertença de bateria ou rádio Fraca

Page 42: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Exemplo simplificado de um SP (Expert System)

Sistemas Periciais

inicio:- verifica(diagnostico,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

atualizaFC(Atb,Valor,FCNovo,FC), % combina FC com outros ja existentes

FC==1,!.

Page 43: SISTEMAS PERICIAIS E ROBÓTICAeol/IA/1617/APONTAMENTOS/4_S… ·  · 2017-01-25Quando as premissas unificam com factos na memória, isso implica que as ações ... UTILIZADOR:>Qual

E. Oliveira / MIEIC 4-Inrodução aos Sistemas Periciais

Exemplo simplificado de um SP (Expert System)

Sistemas Periciais

% 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('fator 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),

verif_premissas(OPs,FCAux,FC), !.