Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arquitetura de um SE tpico
Inteligncia Artificial
Sistemas Especialistas Mecanismos de Inferncia
Prof. Paulo Martins Engel
Interface com o Usurio: Perguntas e respostas; Linguagem natural Editor da Base de Conhecimento Base de Conhecimento geral Dados especficos de casos Mquina de Inferncia
Subsistema de Explanao
Informtica UFRGS
Informtica UFRGS
Motor de Inferncia
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. Funcionamento cclico- um ciclo de base composto por duas etapas: Avaliao - procura das regras possveis 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 a soluo para o problema No h mais regra a ser ativada
Fase de avaliao
Compreende trs etapas: Seleo ou restrio Filtragem Resoluo de conflitos Seleo ou restrio a primeira etapa Determina um subconjunto da base de regras e da base de fatos que, a priori, merece ser submetido etapa seguinte de filtragem. Exemplo: Separar fatos e regras em funo do domnio Separar fatos reconhecidamente verdadeiros (estabelecidos) dos fatos a estabelecer (objetivos, hipteses).
Informtica UFRGS
Informtica UFRGS
FILTRAGEM Compara o antecedente de cada uma das regras selecionadas na etapa anterior com o conjunto dos fatos considerados nesta etapa. O subconjunto destas regras que tem condies de ser ativadas chamado conjunto de conflito. RESOLUO DE CONFLITOS Nesta etapa, determina-se o subconjunto de regras que sero efetivamente ativadas:
Pela ordem das regras na BC (ex. Prolog) Regras mais especficas antes de regras mais genricas
Mecanismos de Inferncia
1 - ENCADEAMENTO DE REGRAS a) ENCADEAMENTO PROGRESSIVO (FORWARD CHAINING) Raciocnio para frente (forward reasoning) Raciocnio orientado pelos dados (data oriented reasoning) Os fatos da base de fatos sobre os quais considerado o antecedente (condio) das regras representam informaes cujo valor verdadeiro j foi estabelecido.
Concluses, objetivos Fatos iniciais
FASE DE EXECUO a segunda parte de cada ciclo. O mecanismo de inferncia comanda a ativao das regras selecionadas na fase de avaliao.
Informtica UFRGS
Informtica UFRGS
Exemplo
Base de Regras: R1: C M R2: A, D E R3: L H R4: B, C G R5: A, B C R6: G, D H, I R7: C D R8: E, K H Base de Fatos: A, B Objetivo: H
b) ENCADEAMENTO REGRESSIVO (BACKWARD CHAINING) Raciocnio para trs (backward reasoning) Raciocnio orientado pelos objetivos (goal oriented reasoning) Parte-se dos objetivos, das metas e anda-se para trs atravs de subobjetivos.
Regra aplicada: R5 R1 R4 R7 R2 R6
Base de fatos: A, B, C A, B, C, M A, B, C, M, G A, B, C, M, G, D A, B, C, M, G, D, E A, B, C, M, G, D, E, H, I
Fatos iniciais
Concluses, objetivos
Informtica UFRGS
Informtica UFRGS
Mecanismos de Inferncia
2 - TIPOS DE BUSCA Em profundidade X em largura ou amplitude
Regra
Metas H L H G, D D, C C
Base de fatos: A, B A, B, H A, B A, B, H, I A, B, H, I, G A, B, H, I, G, D A, B, H, I, G, D, C
R3 R6 R4 R7 R5
10
Informtica UFRGS
Informtica UFRGS
Mecanismos de Inferncia
3 - RACIOCNIO MONOTNICO x NO MONOTNICO Raciocnio monotnico: nenhum fato ou regra pode ser retirado da base de conhecimento durante uma sesso 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 verificar 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 dos fatos antigos desaparecerem.
Raciocnio monotnico
Desvantagens: em situaes de: informao incompleta (raciocnio por omisso) situao em mudana gerao de suposies no processo de resolver problemas complexos, por ex. planejamento
11
12
Informtica UFRGS
Informtica UFRGS
procedure ESTABELECER-UM-FATO (OBJETIVO) if OBJETIVO pertence BASE-DE-FATOS then exit sucesso exit EXECUTAR-UM-CICLO (BASE-DE-REGRAS) procedure EXECUTAR-UM-CICLO (AS-REGRAS) if AS-REGRAS vazio then exit insucesso UMA-REGRA escolha de uma regra de AS-REGRAS AS-REGRAS AS-REGRAS diminuda de UMA-REGRA if todos fatos da premissa de UMA-REGRA pertencem a BASE-DE-FATOS then begin if a concluso de UMA-REGRA OBJETIVO then exit sucesso acrescentar a concluso de UMA-REGRA BASE-DE-FATOS BASE-DE-REGRAS BASE-DE-REGRAS diminuda de UMA-REGRA exit EXECUTAR-UM-CICLO (BASE-DE-REGRAS) end exit EXECUTAR-UM-CICLO (AS-REGRAS)
13
14
Informtica UFRGS
Informtica UFRGS
15
16
Informtica UFRGS
Informtica UFRGS
Encadeamento regressivo
procedure ESTABELECER-UM-FATO (OBJETIVO) if OBJETIVO pertence BASE-DE-FATOS then exit sucesso exit ESTABELECER1 (BASE-DE-REGRAS) procedure ESTABELECER1 (AS-REGRAS) if AS-REGRAS vazio then exit insucesso UMA-REGRA escolha de uma regra de AS-REGRAS AS-REGRAS AS-REGRAS diminuda de UMA-REGRA if UMA-REGRA tem OBJETIVO em concluso then if ESTABELECER2 (UMA-REGRA) = sucesso then exit sucesso exit ESTABELECER1 (AS-REGRAS) procedure ESTABELECER2 (A-REGRA) OS-OBJETIVOS todos os fatos que compem a premissa de A-REGRA exit ESTABELECER-CONJUNO-DE-FATOS (OS-OBJETIVOS)
17
18
Informtica UFRGS
Informtica UFRGS
Encadeamento regressivo
procedure ESTABELECER-CONJUNO-DE-FATOS (AS-METAS) if AS-METAS vazio then exit sucesso UMA-META escolha de um elemento de AS-METAS AS-METAS AS-METAS diminudo de UMA-META if ESTABELECER-UM-FATO (UMA-META) = insucesso then exit insucesso exit ESTABELECER-CONJUNO-DE-FATOS (AS-METAS)
Exerccio
A partir da base de regras e da base de fatos abaixo, aplicar os trs algoritmos estudados e determine a seqncia de disparo das regras. Considere que Q seja o objetivo buscado.
Base de Regras:
R1: K, L, M I R2: I, L, J Q R3: C, D, E B R4: A, B Q R5: L, N, O, P Q R6: C, H R R7: R, J, M S R8: F, H B R9: G F
Base de Fatos
A, C, D, E, G, H, K
19
20
Informtica UFRGS
Informtica UFRGS
INPUT: reclamao:Queixa do cliente; OUTPUT: Falhas: As falhas que causaram reclamaes; Evidncia: As evidncias reunidas durante o diagnstico; END TASK Diagnstico;
22
Informtica UFRGS
Informtica UFRGS
Diagnstico
motor no liga Se tanque de combustvel vazio ento motor no liga reclamao regras de dependncia de estado cobrir modelo causal
prever
comparar
resultado regras de manifestao modelo de manifestao Se marcador combustvel = zero ento tanque de combustvel vazio no igual
23
TASK-METHOD diagnstico-por-gerar-e-testar; REALIZES: diagnstico-de-carro; DECOMPOSITION: INFERENCES: cobrir, prever, comparar; TRANSFER-FUNCTIONS: obter; ROLES: INTERMEDIATE: hiptese: uma soluo candidata; achado-esperada: O achado previsto, caso a hiptese seja verdadeira; achado-real: O achado realmente observado; resultado: O resultado da comparao; CONTROL-STRUCTURE: WHILE NEW-SOLUTION cobrir(reclamao -> hiptese) DO prever(hiptese -> achado-esperado); obter(achado-esperado -> achado-real); evidncia := evidncia ADD achado-real; comparar(achado-esperado + achado-real -> resultado); IF resultado == equal THEN interromper o lao; END IF END WHILE IF result == equal THEN categoria-falha := hiptese; ELSE no foi encontrada uma soluo; END IF END WHILE
24