Resolução de um Problema Perito Alguém que detém competência - conhecimento especializado acerca de um dado domínio Conhecimento do domínio Como age um Perito ? 1. obtém factos acerca do problema 2. armazena-os na sua “Memória de Curto Termo” (MCT) 3. raciocina sobre o problema: • combina os factos armazenados na sua MCT • com o conhecimento contido na sua “Memória de Longo Termo” (MLT) 4. neste processo o perito infere novas informações acerca do problema 5. e eventualmente chega a uma conclusão acerca do problema Arquitectura e Componentes de Sistemas Periciais 1 Exemplo Problema com o automóvel Perito (Mecânico): – Detém na sua MLT conhecimento necessário ao diagnóstico dos mais variados problemas com automóveis Utilizador informa o mecânico: – Automóvel não pega. Mecânico: – armazena esta informação na sua MCT e começa a raciocinar sobre o problema – Combina a informação dada pelo cliente com o seu conhecimento do domínio – o mecânico infere: “o problema pode ser no sistema eléctrico” – adiciona este novo facto na sua MCT e continua a raciocinar sobre o problema – Coloca questões relativas a testes na bateria do automóvel – Estes testes levam o mecânico a concluir: bateria descarregada Arquitectura e Componentes de Sistemas Periciais 2 Perito versus Sistema Pericial Perito Memória de Longo Termo Conhecimento do Domínio Aconselha Raciocínio Factos Conclusões Memória de Curto Termo Factos Novos Factos Inferidos Conclusões Sistema Pericial Base de Conhecimento Conhecimento do Domínio Utilizador Motor de Inferência Factos Conclusões Memória de Trabalho Factos Novos Factos Inferidos Conclusões Arquitectura e Componentes de Sistemas Periciais 3 Componentes de um Sistema Pericial Base de Conhecimento – é o local onde reside o conhecimento do domínio visado pelo Sistema Pericial Memória de Trabalho - armazena dados, informação ou conhecimento específicos do problema em solução com vista a auxiliar no funcionamento dos outros módulos Motor de Inferência – responsável pelo controlo do sistema Módulo de Explicações – onde se constróem as razões porque uma dada conclusão foi ou não obtida, ou, ainda, porque se está a efectuar determinada pergunta Interface – contém os écrans do Sistema Pericial desenvolvidos para interagir com utilizadores Arquitectura e Componentes de Sistemas Periciais 4 Arquitectura de um Sistema Pericial Interface com o Utilizador Módulo de Explicações Motor de Inferência Memória de Trabalho Base de Conhecimento Arquitectura e Componentes de Sistemas Periciais 5 Base de Conhecimento Módulo do Sistema Pericial que contém o Conhecimento do Domínio Base de Regras (Estática) – contém regras que permitem tirar conclusões em função de condições – As condições podem ser validadas: • por factos básicos da base de factos • por conclusões de outras regras Exemplo: Regra1: Se automóvel não pega Então o problema pode ser no sistema eléctrico Regra2: Se o problema pode ser no sistema eléctrico E carga da bateria < 10 Volts Então bateria descarregada Arquitectura e Componentes de Sistemas Periciais 6 Base de Conhecimento Base de Regras Regra r1: SE Bot_1=actuado E Bot_2=actuado ENTÃO Sistema_A=activado Regra r2: SE Bot_3=actuado OU NÃO(Bot_4=actuado) ENTÃO Sistema_B=activado Regra r3: SE Bot_5=actuado E NÃO(Bot_6=actuado) ENTÃO Sistema_C=activado Regra r4: SE Bot_7=actuado OU Bot_8=actuado ENTÃO Sistema_D=activado Regra r5: SE Sistema_A=activado E Sistema_B=activado ENTÃO Conj_AB=operacional Regra r6: SE Sistema_C=activado E Sistema_D=activado ENTÃO Conj_CD=operacional Arquitectura e Componentes de Sistemas Periciais 7 Regras SE Bot_1=actuado E Bot_2=actuado ENTÃO Sistema_A=activado LHS RHS Bot_1, Bot_2, ... Bot_8 termos que só aparecem do lado esquerdo da regra factos básicos Conj_AB=operacional Conj_CD=operacional termos que só aparecem do lado direito conclusões finais Sistema_A=activado ... Sistema_D=activado termos que aparecem no lado esquerdo de umas regras e no lado direito de outras conclusões intermédias (ou hipóteses) Arquitectura e Componentes de Sistemas Periciais 8 Diferentes maneiras de expressar o mesmo Conhecimento Se as conclusões intermédias não forem importantes podem ser eliminadas. Base de Conhecimento anterior: Regra r5a: SE (Bot_1=actuado E Bot_2=actuado) E (Bot_3=actuado OU NÃO(Bot_4=actuado)) ENTÃO Conj_AB=operacional Regra r6a: SE (Bot_5=actuado E NÃO(Bot_6=actuado)) E (Bot_7=actuado OU Bot_8=actuado) ENTÃO Conj_CD=operacional Arquitectura e Componentes de Sistemas Periciais 9 Diferentes maneiras de expressar o mesmo Conhecimento Certas equivalências também podem ser assumidas: Regra r4: SE Bot_7=actuado OU Bot_8=actuado ENTÃO Sistema_D=activado Regra r4a: SE Bot_7=actuado ENTÃO Sistema_D=activado. Regra r4b: SE Bot_8=actuado ENTÃO Sistema_D=activado. Mais do que uma regra pode conduzir à mesma conclusão Vantagem: mais fácil o acompanhamento da inferência Arquitectura e Componentes de Sistemas Periciais 10 Diferentes maneiras de expressar o mesmo Conhecimento A regra x é equivalente às regras y e z. Regra x: SE a E b ENTÃO c,d. Regra y: SE a E b ENTÃO c. Regra z: SE a E b ENTÃO d. Uma regra pode apresentar mais do que uma conclusão Arquitectura e Componentes de Sistemas Periciais 11 Problemas com a Junção de Regras A junção das regras r1, r2 e r5 na seguinte regra: Regra r5b: SE (Bot_1=actuado E Bot_2=actuado) E (Bot_3=actuado OU NÃO(Bot_4=actuado)) ENTÃO Sistema_A=activado,Sistema_B=activado,Conj_AB=operacional Perante esta nova formulação: • o Sistema_A também fica a depender de Bot_3 e Bot_4 • o Sistema_B fica a depender de Bot_1 e Bot_2 Arquitectura e Componentes de Sistemas Periciais 12 Problemas em Bases de Conhecimento Circularidade Regra c1: SE a E b ENTÃO c. Regra c2: SE c E d ENTÃO e. Regra c3: SE e E f ENTÃO a. Inconsistência Regra i1: SE a E b ENTÃO c. Regra i2: SE c E d ENTÃO e. Regra i3: SE e E b E d ENTÃO (NÃO e). Estes problemas podem ser detectados com recurso a Técnicas de Verificação Arquitectura e Componentes de Sistemas Periciais 13 Problemas em Bases de Conhecimento Mesmo que a Base de Conhecimento esteja correcta do ponto formal (ou seja, não tenha problemas detectados ao nível da Verificação) nada garante que ela esteja de facto correcta. Base de Conhecimento pode ter incorrecções devidas: – conhecimento mal especificado – conhecimento incompleto – .... Estes problemas são resolvidos com recurso a Técnicas de Validação Avalia-se o desempenho do sistema perante casos que são resolvidos pelo Sistema Pericial e pelo Perito. Se não houver concordância faz-se a análise do problema, vulgarmente o problema encontra-se na falta de uma condição numa regra ou na ausência de uma regra. Arquitectura e Componentes de Sistemas Periciais 14 Memória de Trabalho Base de Factos (dinâmica) – contém asserções ou assunções (factos básicos verdadeiros) descobertas durante uma sessão • em ficheiro • em memória – originadas: • por eventos • através da resposta de um utilizador • carregada a partir de bases de dados externas, folhas de cálculo, sensores • através de conclusões das regras Arquitectura e Componentes de Sistemas Periciais 15 Motor de Inferência Responsável pela modelação do Processo de Raciocínio. – Combina os factos da Memória de Trabalho com o conhecimento do domínio contido na Base de Conhecimento – Gera conclusões Para tal o Motor de Inferência deve usar a estratégia de raciocínio mais apropriada: – Encadeamento Directo – Encadeamento Inverso – Encadeamento Misto Arquitectura e Componentes de Sistemas Periciais 16 Estratégia de Raciocínio - Encadeamento Directo Sistema Pericial Problema com o automóvel ? Utilizador Automóvel não pega. Base de Factos F1: Automóvel não pega. Motor de Inferência Facto F1 dispara Regra1 Regra1 gera 1ª conclusão intermédia (F2) que é inserida na Base de Factos Base de Factos F1: Automóvel não pega. F2: Problema pode ser no sistema eléctrico Sistema Pericial Carga da bateria < 10 Volts? Utilizador Verdadeiro Base de Factos F1: Automóvel não pega. F2: Problema pode ser no sistema eléctrico. F3: Carga da bateria < 10 Volts. Motor de Inferência Factos F2 e F3 disparam Regra2 Regra2 gera conclusão final que é inserida na Base de Factos Base de Factos F1: Automóvel não pega. F2: Problema pode ser no sistema eléctrico. F3: Carga da bateria < 10 Volts. F4: Bateria descarregada A sessão termina – Não há mais regras a considerar Arquitectura e Componentes de Sistemas Periciais 17 Cadeia de Inferência Directa Factos Básicos f1 Conclusões Finais Conclusões Intermédias r1 ci1= f2 r2 cf1= f4 f3 Arquitectura e Componentes de Sistemas Periciais 18 Estratégia de Raciocínio - Encadeamento Inverso Sistema Pericial Problema com o automóvel ? Utilizador Automóvel não pega. Base de Factos F1: Automóvel não pega. Base de Regras Regra2: Se o problema pode ser no sistema eléctrico E carga da bateria < 10 V Então bateria descarregada Motor de Inferência O problema pode ser no sistema eléctrico E Carga da bateria < 10 Volts Motor de Inferência Facto F1 suporta a regra R1 conclusão intermédia ci1 (o problema pode ser no sistema eléctrico ) conclusão intermédia é inserida na Base de Factos – F2 Base de Factos F1: Automóvel não pega. F2: Problema pode ser no sistema eléctrico. Sistema Pericial Carga da bateria < 10 Volts? Utilizador Verdadeiro Base de Factos F1: Automóvel não pega. F2: Problema pode ser no sistema eléctrico. F3: Carga da bateria < 10 Volts. Motor de Inferência Factos F2 e F3 suportam Regra2 bateria descarregada Verd Arquitectura e Componentes de Sistemas Periciais 19 Cadeia de Inferência Inversa Conclusão Final Regras/Factos F2 F4 F1 R1 R2 F3 Arquitectura e Componentes de Sistemas Periciais Verd 20 Base de Conhecimento regra r1 : regra r2 : se [tipo(Veículo,passageiros) e classe(Veículo,ligeiro)] então ligeiro(Veículo,carro). se [tipo(Veículo,mercadorias) e classe(Veículo,pesado)] então pesado(Veículo,camião). regra r3 : regra r4 : Se [tipo(Veículo,passageiros) e classe(Veículo,pesado)] então pesado(Veículo,autocarro). se [tipo(Veículo,misto) e classe(Veículo,pesado)] então pesado(Veículo,camioneta). regra r5 : regra r6 : se [lotação(Veículo,>,9) ou peso(Veículo,>,3500)] então classe(Veículo,pesado). se [não lotação(Veículo,>,9) e não peso(Veículo,>,3500)] então classe(Veículo,ligeiro). regra r7 : se [tipo(Veículo,mercadorias) e tipo(Veículo,passageiros)] então tipo(Veículo,misto). Arquitectura e Componentes de Sistemas Periciais 21 Memória de Trabalho Factos básicos f1: A lotação do veículo é de 3 lugares; f2: O peso do veículo é de 4500 kg; f3: O tipo de veículo é de mercadorias. Arquitectura e Componentes de Sistemas Periciais 22 Encadeamento Directo • os factos básicos vão “disparar” regras, por validação dos LHS • originam conclusões intermédias que estão nos RHS. • as conclusões intermédias em conjunto com outros factos básicos dão origem às conclusões finais, após o estabelecimento de uma cadeia de inferência com 1 ou mais níveis Objectivo: Provar pesado(Veículo,camião) – Usando a Base de Conhecimento de veículos e os factos da Memória de Trabalho Arquitectura e Componentes de Sistemas Periciais 23 Encadeamento Directo f2 valida o LHS da regra r5 originando uma conclusão intermédia c1 classe(Veículo,pesado) f3 e c1 validam a regra r2 originando uma conclusão final c2 pesado(Veículo,camião) f2 r5 c1 r2 c2 f3 conclusão c2 (pesado(Veículo,camião)) obtida com base nos factos f2 e f3 e por aplicação das regras r5 e r2 Arquitectura e Componentes de Sistemas Periciais 24 Encadeamento Inverso • Tenta-se provar uma conclusão que esteja no RHS, • o que implica provar o que está no LHS, e isso pode ser feito com base em factos básicos ou com base numa prova de uma possível conclusão intermédia (recursividade). Objectivo Provar (pesado(Veículo,camioneta)) é Verdadeiro Arquitectura e Componentes de Sistemas Periciais 25 Encadeamento Inverso 1. para que (pesado(Veículo,camioneta)) seja verdade é necessário provar a regra r4 2. Para que a regra r4 seja disparada com sucesso 3. implica provar tipo(Veículo,misto) e classe(Veículo,pesado) 4. o termo tipo(Veículo,misto) é uma conclusão intermédia (ci’) 5. o termo classe(Veículo,pesado) é outra conclusão intermédia (ci’’) 6. ci’’ pode ser provada pela regra r5, 7. o que implica provar lotação(Veículo,>,9) ou peso(Veículo,>,3500) 8. lotação(Veículo,>,9) não é suportada pelos factos básicos 9. peso(Veículo,>,3500) é suportado pelo facto f2 10. como temos uma disjunção (ou) a conclusão da regra r5 (ci’’) fica provada; 11. (tipo(Veículo,misto)) pode ser provado pela regra r7 12.o que implica provar tipo(Veículo,mercadorias) e tipo(Veículo,passageiros) 13. tipo(Veículo, mercadorias) é suportado pelo facto f3, 14.contudo, não há nenhum facto que suporte tipo(Veículo, passageiros), 15.logo não se pode provar ci’; 16.apesar de se poder provar ci’’, não podemos provar ci’, logo também não podemos provar (pesado(Veículo,camioneta)) Arquitectura e Componentes de Sistemas Periciais 26 Encadeamento Inverso f3 falha r7 f2 r5 ca' r4 ca ca'' Arquitectura e Componentes de Sistemas Periciais 27 Motor de Inferência A eficiência do mecanismo de inferência pode ser aumentada: – com Metaconhecimento - codificado no formato de Metaregras – através de questões sobre a veracidade de uma possível condição À medida que o Motor de Inferência vai tirando conclusões deve ir guardando justificações para tais conclusões. Por forma a explicar o raciocínio que utilizou (explicações). Arquitectura e Componentes de Sistemas Periciais 28 Módulo de Explicações As explicações podem ser dirigidas aos seguintes tipos de pessoas: Engenheiro do Conhecimento ou Implementador do Sistema – identificar possíveis problemas na Base de Conhecimento: • falta de condições nas regras • condições em excesso, valores incorrectos • ambiguidades Perito – comparar o seu raciocínio com o do Sistema Pericial, – Proceder à Validação do Sistema Pericial Utilizador – por que razão faz uma dada pergunta – porque não foi obtida uma dada conclusão – aprender algo sobre o domínio em causa - Tutor Inteligente. Arquitectura e Componentes de Sistemas Periciais 29 Principais Tipos de Explicações Explicações “Como? (How)” servem para que o Sistema Pericial justifique o caminho que seguiu para obter uma dada conclusão Explicações “Porque não? (Why not)” servem para que o Sistema Pericial justifique a razão pela qual uma determinada conclusão não foi obtida Explicações “Porquê? (Why)” servem para que o Sistema Pericial justifique por que razão põe uma determinada questão ao utilizador. Arquitectura e Componentes de Sistemas Periciais 30 Exemplos de Explicações Sistema Pericial : Bateria Descarregada Como ? Dado que o automóvel não pega Assume-se que o problema pode ser no sistema eléctrico Como a carga da bateria < 10 Volt Pode-se concluir que a Bateria está descarregada Sistema Pericial: Carga da bateria < 10 Volts? Utilizador: Porquê ? Porque se o automóvel não pega, o problema pode ser no sistema eléctrico e se a carga da bateria < 10 Volts então a bateria está descarregada Arquitectura e Componentes de Sistemas Periciais 31 Exemplos de Explicações Nó Activo Conclusões Identificação da regra Premissas Nós a expandir. Disparo de regras ou mensagens SCADA Janela de expansão do nó Activo Explicação em hipertexto fornecida pelo Sistema Pericial SPARSE Arquitectura e Componentes de Sistemas Periciais 32 Interface com o Utilizador A Interface do Sistema Pericial deve estar adaptada ao seu tipo de utilizador: • a apenas um utilizador • a um tipo homogéneo de utilizadores a tarefa de modelação fica mais simplificada • a um tipo heterogéneo de utilizadores devem ser definidos perfis de utilizadores: • as interfaces • os diálogos, questões colocadas pelo sistema • as explicações, os conceitos dados pelo sistema devem ser adaptados aos perfis de utilizadores Arquitectura e Componentes de Sistemas Periciais 33 Exemplo de Interface Interface textual e gráfica do Sistema Pericial SPARSE Arquitectura e Componentes de Sistemas Periciais 34 Características dos Sistemas Periciais • conhecimento separado do controlo • possui perícia • resolução de problemas focada apenas na área para que foi concebido • Raciocina com símbolos – conhecimento é representado numa forma simbólica • Raciocina com recurso a heurísticas • Permite raciocínio não exacto • É limitado a problemas resolúveis Arquitectura e Componentes de Sistemas Periciais 35 O que se espera de um Sistema Pericial • Resolução de problemas para o domínio para o qual foi concebido • Facilidade de manutenção incremental da sua Base de Conhecimento • Conhecimento apresentado de forma atraente e legível – alguns Geradores de Sistemas Periciais permitem a inclusão do conhecimento numa língua quase natural • Desempenho semelhante a um Perito: – capacidade de explicar como chegou a uma dada conclusão – porque razão não foi possível chegar a uma dada conclusão ou – porquê está a pôr uma dada questão ao utilizador Arquitectura e Componentes de Sistemas Periciais 36 O que se espera de um Sistema Pericial • Mecanismo de raciocínio eficiente em domínios nos quais a quantidade de conhecimento seja elevada, através de metaregras Exemplo: activação de um subconjunto de regras (rule set) em função de um facto que se sabe ser verdade ou de uma conclusão que se pretenda provar • Interface que se adapte ao tipo de utilizador (especialista ou novato) e à situação em causa (normal ou crítica) • Capacidade de efectuar raciocínios considerando o raciocínio com incertezas: – – – – – Raciocínio Bayesiano Factores de Certeza Factores de Crença/Descrença Teoria de Dempster-Shafer Conjuntos Difusos • Assistência nas fases de aquisição, estruturação e transferência de conhecimento, ou nas fases de verificação e validação do conhecimento. Arquitectura e Componentes de Sistemas Periciais 37