Está en la página 1de 6

Informtica UFRGS

Prof. Paulo Martins Engel

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

Prof. Paulo Martins Engel

Informtica UFRGS

Prof. Paulo Martins Engel

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

Prof. Paulo Martins Engel

Informtica UFRGS

Prof. Paulo Martins Engel

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

Prof. Paulo Martins Engel

Informtica UFRGS

Prof. Paulo Martins Engel

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

Prof. Paulo Martins Engel

Informtica UFRGS

Prof. Paulo Martins Engel

Exemplo (encadeamento regressivo)


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 Impasse Base de Fatos: A, B Objetivo: H

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

Concluses, objetivos Fatos iniciais

10

Informtica UFRGS

Prof. Paulo Martins Engel

Informtica UFRGS

Prof. Paulo Martins Engel

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

Prof. Paulo Martins Engel

Informtica UFRGS

Prof. Paulo Martins Engel

Encadeamento progressivo 1 (em profundidade)

Algoritmo por Encadeamento progressivo 1: busca em profundidade


O algoritmo acrescenta as concluses das regras disparadas imediatamente na base de fatos. Isto faz com que a busca seja em profundidade. Com isso, a base de regras no totalmente explorada, fazendo com que o desempenho do algoritmo (tempo de busca do objetivo) dependa da ordem das regras dentro da base de regras.

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

Prof. Paulo Martins Engel

Informtica UFRGS

Prof. Paulo Martins Engel

Encadeamento progressivo 2: busca em largura


Ao contrrio do esquema anterior, neste caso, ativa-se uma aps a outra, todas as regras compatveis com o estado da base de fatos, antes de acrescentar suas concluses (fatos novos) base de fatos e as utilizar para ativar novas regras. Com isso, o algoritmo explora em largura toda a base de regra inicial. Neste caso, a ordem das regras dentro da base de regras tem pouca influncia no desempenho (tempo de busca do objetivo) do algoritmo.

Encadeamento progressivo 2 (em largura)


procedure ESTABELECER-UM-FATO (OBJETIVO) if OBJETIVO pertence BASE-DE-FATOS then exit sucesso FATOS-NOVOS lista vazia exit EXECUTAR-UM-CICLO (BASE-DE-REGRAS, FATOS-NOVOS ) procedure EXECUTAR-UM-CICLO (AS-REGRAS, FATOS-NOVOS ) if AS-REGRAS vazio then begin % no caso de j ter explorado toda a base de regras if FATOS-NOVOS vazio then exit insucesso BASE-DE-FATOS BASE-DE-FATOS acrescida de FATOS-NOVOS FATOS-NOVOS lista vazia exit EXECUTAR-UM-CICLO (BASE-DE-REGRAS, FATOS-NOVOS ) end

15

16

Informtica UFRGS

Prof. Paulo Martins Engel

Informtica UFRGS

Prof. Paulo Martins Engel

Encadeamento progressivo 2 (em largura)


% (else) se AS-REGRAS no vazio 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 FATOS-NOVOS BASE-DE-REGRAS BASE-DE-REGRAS diminuda de UMA-REGRA end exit EXECUTAR-UM-CICLO (AS-REGRAS, FATOS-NOVOS)

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

Prof. Paulo Martins Engel

Informtica UFRGS

Prof. Paulo Martins Engel

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

Prof. Paulo Martins Engel

Informtica UFRGS

Prof. Paulo Martins Engel

Mtodos de Soluo de Problemas


Componente dinmico do conhecimento Modelo abstrato da inferncia aplicvel quela classe de problemas NO correspondem aos mtodos de inferncia por busca, como raciocnio progressivo ou regressivo Generalizao de um padro de raciocnio especfico, mas no um raciocnio genrico
21
ROLES:

Modelo da Tarefa Diagnstico


TASK Diagnstico;

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

Prof. Paulo Martins Engel

Informtica UFRGS

Prof. Paulo Martins Engel

Diagnstico
motor no liga Se tanque de combustvel vazio ento motor no liga reclamao regras de dependncia de estado cobrir modelo causal

marcador combustvel = normal obter achado real

hiptese tanque de combustvel vazio

prever

achado esperado marcador combustvel = zero

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

También podría gustarte