51
1 Introdução aos Sistemas Especialistas Professor Celso A A Kaestner, Dr. Eng.

Introdução aos Sistemas Especialistas

Embed Size (px)

DESCRIPTION

Introdução aos Sistemas Especialistas. Professor Celso A A Kaestner, Dr. Eng. Inteligência Artificial. O campo da Inteligência Artificial (IA) tenta compreender as entidades inteligentes para construir entidades inteligentes. - PowerPoint PPT Presentation

Citation preview

Page 1: Introdução aos Sistemas Especialistas

1

Introdução aosSistemas Especialistas

Professor Celso A A Kaestner, Dr. Eng.

Page 2: Introdução aos Sistemas Especialistas

2

Inteligência Artificial• O campo da Inteligência Artificial (IA) tenta

compreender as entidades inteligentes para construir entidades inteligentes.

• Construir máquinas (computadores) com um nível de inteligência igual ou superior aos humanos!

• As abordagens de IA podem organizar-se em 4 categorias:

Page 3: Introdução aos Sistemas Especialistas

3

Inteligência Artificial

Raciocínio/

Pensamento

Comportamento

Modelação do Ser Humano

Outros Modelos

Sistemas que pensam como os

Humanos

Foco de Interesse

Sistemas que pensam

Racionalmente

Sistemas que agem como os

Humanos

Sistemas que agem

Racionalmente

Page 4: Introdução aos Sistemas Especialistas

4

IA Simbólica

Fundamenta-se em:

• Representação do conhecimento; e

• Métodos de Busca.

Page 5: Introdução aos Sistemas Especialistas

5

IA Simbólica

• Representação do conhecimento:1. Lógica proposicional e predicativa;

2. Regras de produção;

3. Redes semânticas;

4. Frames e scripts;

5. ...

Page 6: Introdução aos Sistemas Especialistas

6

IA Simbólica

• Métodos de Busca:1. Espaço de estados;2. Busca em profundidade;3. Busca em largura;4. Busca heurística (A*);5. Busca em feixe;6. Têmpera simulada;7. ...

Page 7: Introdução aos Sistemas Especialistas

7

Exemplo: um pequeno jogo...

• Estado inicial: <XX_YY>

• Estado objetivo: <YY_XX>

• Ações (operações):1. X_ => _X e _Y => Y_

2. XX_ => _XX e _YY => YY_

3. XY_ => _YX e _XY => YX_

Page 8: Introdução aos Sistemas Especialistas

8

Exemplo: uma solução

1. <XX_YY> (estado inicial)

2. <X_XYY> (ação 1a)

3. <XYX_Y> (ação 2b)

4. <XYXY_> (ação 1b)

5. <XY_YX> (ação 3a)

6. <_YXYX> (ação 3a)

7. <Y_XYX> (ação 1b)

8. <YYX_X> (ação 3b)

9. <YY_XX> (ação 1a)

Page 9: Introdução aos Sistemas Especialistas

9

Exemplo: uma falha

1. <XX_YY> (estado inicial)

2. <X_XYY> (ação 1a)

3. <XYX_Y> (ação 2b)

4. <XYXY_> (ação 1b)

5. <XY_YX> (ação 3a)

6. <XYY_X> (ação 1b) Falha !!!!

Page 10: Introdução aos Sistemas Especialistas

10

Exemplo: árvore de busca

1. <XX_YY> (estado inicial)

2. <X_XYY> (ação 1a) OU

3. <XXY_Y> (ação 1b) OU

4. <_XXYY> (ação 2a) OU

5. <XXYY_> (ação 2b)

Qual escolher ? (heurística ?)

Page 11: Introdução aos Sistemas Especialistas

11

Sistemas Especialistas• Os especialistas humanos são capazes de atingir

um alto desempenho na medida em conhecem muito bem as suas áreas de especialização;

• Um Sistema Especialista (SE) é um programa de computador que utiliza conhecimento específico do domínio de um problema e emula a metodologia e desempenho de um especialista para obter soluções de problemas neste domínio.

Page 12: Introdução aos Sistemas Especialistas

12

Sistemas Especialistas• O conhecimento inerente a um Sistema

Especialista é um ponto chave na sua construção, e é normalmente definido por engenheiros do conhecimento;

• Para tal são consultados especialistas no domínio do problema e tenta-se codificar numa linguagem formal todo o conhecimento que estes adquiriam ao longo da sua experiência, nomeadamente heurísticas e truques.

Page 13: Introdução aos Sistemas Especialistas

13

Sistemas Especialistas• Os Sistemas Especialistas não imitam

necessariamente a estrutura da mente humana, nem os mecanismos da inteligência;

• São programas práticos que usam estratégias heurísticas desenvolvidas por humanos na resolução de classes específicas de problemas;

• São uma classe de programas na área da Inteligência Artificial, e têm contribuído para o sucesso desta área através de vários produtos comerciais desenvolvidos e aplicações.

Page 14: Introdução aos Sistemas Especialistas

14

Sistemas Especialistas

Programa Sistema Especialista

Representação do Conhecimento

Implícita Explicita

Realidade expressa em termos de

Modelos Matemáticos Modelos Cognitivos

Conhecimento traduzido em

Algoritmos Estruturas hierárquicas Redes Semânticas Regras Árvores de decisão Tabelas de decisão Redes de Inferência

O computador executa

Processamento numérico (cálculos)

Processamento simbólico (inferências)

Tipo de Resultados Numéricos Conhecimento

Page 15: Introdução aos Sistemas Especialistas

15

Categorias dos Problemas• Interpretação: formar conclusões a partir de dados;• Predição: projetar consequências de situações;• Diagnóstico e reparo : determinar a causa de maus

funcionamentos, e prescrever e implementar soluções; • Projeto: configurar componentes de forma a atingir um

objetivo;• Planejamento: obter a sequência de passos para atingir

um objetivo;• Monitoração: comparar o comportamento de um

sistema com aquilo que seria de esperar;• Tutoriais: detectar e corrigir deficiências, e auxiliar

processos de aprendizagem;• Controle: governar o comportamento de um sistema.

Page 16: Introdução aos Sistemas Especialistas

16

Tecnologia dos Sistemas Especialistas

Arquitetura

BASE DE CONHECIMENTO

DADOS ESPECÍFICOS DO CASO

MOTOR DE INFERÊNCIA

INTERFACE COM USUÁRIO:

PERGUNTA/RESPOSTAORIENTADO POR MENUSLINGUAGEM NATURAL

GRÁFICO

APRENDIZAGEM

EXPLANAÇÃO

ESPECIALISTA/ENG. CONHECIMENTO/

PROGRAMADOR SHELL

USUÁRIO

Page 17: Introdução aos Sistemas Especialistas

17

Quando desenvolver um SE

• O problema justifica o custo e esforço de construção do SE;

• Não existem especialistas disponíveis (no local) para resolver diretamente o problema;

• Existem especialistas para cooperarem na construção do SE;

• O problema pode ser solucionado através de raciocínio simbólico (próximo dos humanos);

• O problema não requer “senso comum”;

• O problema não pode ser resolvido através de métodos computacionais tradicionais;

• O problema não é demasiado grande nem demasiado genérico.

Page 18: Introdução aos Sistemas Especialistas

18

Desenvolvimento de SE• Envolve o Engenheiro de Conhecimento, o Especialista do

domínio do problema e o Usuário final;

• Criação Rápida de Protótipos:

• Metodologia Centrada no Cliente;

• Sucessivas iterações nas quais as possibilidades são postas à prova pelos futuros usuários.

Correção

Programação

Modelagem do Sistema

Aquisição do Conhecimento

Page 19: Introdução aos Sistemas Especialistas

19

Criação de SE• Linguagens de Programação: C++, LISP, PROLOG

• Shells:– Acadêmicos: MYCIN - EMYCIN, CLIPS, GUIDON, TEIRESIAS,

VM, CENTAUR...

– Comerciais: Deciding Factor, Exsys, M-1, Savoir, Expert- Ease, Guru, Crystal...

• Ambientes de Programação (de IA):– ILOG...

• Aplicações:– Business Insight...

Page 20: Introdução aos Sistemas Especialistas

20

Raciocínio Baseado em Regras

• Representação do conhecimento para a resolução do problema através de regras do tipo “se...então...” (regras de produção)

• Exemplo:

Se (Qualifica = SIM) e

(Média < 3,5) e

(Experiência >= 2)

Então

(Posição = engenheiro de serviço)

Page 21: Introdução aos Sistemas Especialistas

21

Arquitetura Clássica de um SE

Base de Conhecimento

Regras

Fatos

Memória de Trabalho

Motor de Inferência:Controle e Inferência

Subsistema de aquisição de conhecimento

Subsistema de explanação

Interface com o usuário

Especialista / Eng. Conhecimento Usuário

Page 22: Introdução aos Sistemas Especialistas

22

Motor de Inferência

Regras (MR) Fatos (MF)

Motor de Inferência:Controle e Inferência

Conjunto de conflitos (CC)

Pattern Matching

Resolução de conflitos

Regra (s) escolhida(s)

Disparo da(s) regra(s)

Alterações em MF (MR)

Page 23: Introdução aos Sistemas Especialistas

23

Exemplo: um pequeno SE

Problema:

• Oferta de emprego a um candidato em uma empresa.

• Variáveis de entrada: Descoberta (Sim / Não), Diploma (Sim / Não), Experiência (em anos), Média (nota média do histórico);

• Variáveis de saída: Posição (Nenhuma / Pesquisa / Eng. De Serviço / Eng. De Produto), Qualifica (Sim / Não).

Page 24: Introdução aos Sistemas Especialistas

24

Exemplo: um pequeno SE

Variáveis:• Descoberta: o candidato fez alguma descoberta?

• Diploma: o candidato tem curso superior ?

• Experiência: quantos anos de experiência tem o candidato ?

• Média: qual a nota média do candidato em seu curso superior ?

• Posição:que posição deve ser oferecida ao candidato ?

• Qualifica: o candidato se qualifica para uma posição ?

Page 25: Introdução aos Sistemas Especialistas

25

Exemplo: um pequeno SE

Regras:

• R1: SE (Diploma = Não)

ENTÃO (Posição =Nenhuma);

• R2: SE (Diploma = Sim)

ENTÃO (Qualifica = Sim);

• R3: SE (Diploma = Sim) E

(Descoberta = Sim)

ENTÃO (Posição = Pesquisa);

Page 26: Introdução aos Sistemas Especialistas

26

Exemplo: um pequeno SE

• R4: SE (Qualifica = Sim) E

(Média <= 7,0 ) E

(Experiência >= 2)

ENTÃO (Posição = Eng. De Serviço);

• R5: SE (Qualifica = Sim) E

(Média < 7,0) E

(Experiência < 2)

ENTÃO (Posição = Não);

Page 27: Introdução aos Sistemas Especialistas

27

Exemplo: um pequeno SE

• R6: SE (Qualifica = Sim) E

(Média > 7,0)

ENTÃO (Posição = Eng. de Produto);

Page 28: Introdução aos Sistemas Especialistas

28

Encadeamento para frente

Procedimento básico:

Até que a solução pertença a MF faça:

– Compare a MF e MR e obtenha o CC;

– Escolha uma (várias) regra(s) no CC (resolução de conflitos);

– Dispare a(s) regra(s) escolhida(s)

(acrescenta / retira fatos da MT).

Page 29: Introdução aos Sistemas Especialistas

29

Encadeamento para frente

Fatos iniciais (M0):

• F0: (Diploma = Sim);

• F1: (Experiência = 1,5);

• F2: (Média = 8,0);

• F3: (Descoberta = Não).

Inferência 1: Dispara R2;

• F4: (Qualifica = Sim);

Page 30: Introdução aos Sistemas Especialistas

30

Encadeamento para frente

Fatos atuais (M1):

• F0: (Diploma = Sim);

• F1: (Experiência = 1,5);

• F2: (Média = 8,0);

• F3: (Descoberta = Não).

• F4: (Qualifica = Sim);

Inferência 2: Dispara R6;

• F5: (Posição = Eng. De Produto).

Page 31: Introdução aos Sistemas Especialistas

31

Encadeamento para frente

Fatos atuais (M2):

• F0: (Diploma = Sim);

• F1: (Experiência = 1,5);

• F3: (Média = 8,0);

• F4: (Descoberta = Não).

• F5: (Qualifica = Sim);

• F6: (Posição = Eng. De Produto).

Não há mais regra a disparar.

Page 32: Introdução aos Sistemas Especialistas

32

Encadeamento para trás

Procedimento básico:• Escolha uma hipótese H da Pilha de Hipóteses;

• Até que a hipótese seja comprovada (pertença a MF):

– Escolha uma regra R cuja conclusão seja H;

– Tente provar as premissas de R (recursivamente);

• Se não for possível , escolha outra hipótese.

Page 33: Introdução aos Sistemas Especialistas

33

Encadeamento para trás

Fatos iniciais (M0):

• F0: (Diploma = Sim);

• F1: (Experiência = 1,5);

• F2: (Média = 8,0);

• F3: (Descoberta = Não).

Page 34: Introdução aos Sistemas Especialistas

34

Encadeamento para trás

Possui Pilha de Hipóteses a serem provadas / negadas.

Hipótese:

• H0: (Posição = Nenhuma);

Pela regra R1, substituída por:

• H1: (Diploma = Não), é negada por M0;

• A hipótese é descartada.

Page 35: Introdução aos Sistemas Especialistas

35

Encadeamento para trásNova hipótese:

• H2: (Posição = Pesquisa);

Pela regra R3, substituída por (H3) e (H4):

• H3: (Diploma = Sim), e

• H4: (Descoberta = Sim).

H3 confirmada por M0, H4 não;

Não há regra cuja conclusão seja H4, logo H4 e H2 são descartadas.

Page 36: Introdução aos Sistemas Especialistas

36

Encadeamento para trásNova hipótese:

• H5: (Posição = Eng. De Serviço);

Pela regra R4, substituída por (H6), (H7) e (H8):

• H6: (Qualifica = Sim);

• H7: (Média < 7,0);

• H8: (Experiência >= 2).

H7 negada por M0, (como também H8), H5 descartada.

Page 37: Introdução aos Sistemas Especialistas

37

Encadeamento para trásNova hipótese:

• H9: (Posição = Eng. De Produto);

Pela regra R6, substituída por (H10) e (H11):

• H10: (Qualifica = Sim);

• H11: (Média > 7,0).

H10 e H11 confirmadas por M0, H9 confirmada.

Page 38: Introdução aos Sistemas Especialistas

38

Encadeamento para trás

• Outra possibilidade: inquisição do usuário a cada passo:

• Caso não haja regra cuja conclusão confirme a hipótese, uma pergunta é feita ao usuário para se obter o valor da variável.

Page 39: Introdução aos Sistemas Especialistas

39

Raciocínio Baseado em Modelos

• Em vez de se utilizarem heurísticas na resolução de um problema;

• A análise é fundamentada diretamente na especificação e funcionalidade do sistema físico (um modelo do sistema);

• Normalmente aplica-se no diagnóstico;

• O sistema é simulado assim como a estrutura e funcionamento das suas componentes;

• Exemplo de um circuito de somadores e multiplicadores.

Page 40: Introdução aos Sistemas Especialistas

40

Raciocínio Baseado em Casos

• Regras heurísticas e modelos teóricos são dois tipos de informação que os especialistas humanos utilizam para resolver problemas;

• Outra estratégia utilizada é o raciocínio baseado em casos (Case-Based Reasoning - CBR);

• Utiliza uma base de dados com soluções de problemas para resolver novas situações;

• Exemplos: medicina, justiça, programação de computadores, arquitetura, história...

Page 41: Introdução aos Sistemas Especialistas

41

Algoritmo de inferência

1. Procurar casos similares na memória,aqueles cuja solução pode ser aplicada à nova situação (características comuns)

2. Modificar um desses casos para aplicar à situação nova (alterar sequência dos passos que levam de um estado inicial a um estado final)

3. Aplicar o caso transformado ao novo problema4. Guardar a solução com uma medida do sucesso

ou insucesso para uso futuro.

Page 42: Introdução aos Sistemas Especialistas

42

Raciocínio Baseado em Regras

• vantagens:– modo direto– modular– desempenho– facilidades de explanação– as regras encaixam-se naturalmente na procura

num espaço de estados– o processo de inferência é fácil de seguir e

depurar– os passos para a solução do problema são

facilmente inspecionáveis– separação do controle e do conhecimento

Page 43: Introdução aos Sistemas Especialistas

43

Raciocínio Baseado em Regras

• desvantagens:– regras altamente heurísticas, falta de

profundidade– não manuseiam falta de informação ou

valores inesperados – a explicação baseia-se na prova e não nas

bases teóricas– muito específico na aplicação

Page 44: Introdução aos Sistemas Especialistas

44

Raciocínio Baseado em Casos• vantagens:

– codificação direta de conhecimento histórico (e.g. reparações)

– permite obter a solução a partir de um caso apropriado não necessitando de todo o processo de resolução do problema

– evita erros do passado e explora os sucessos (aprendizagem)

Page 45: Introdução aos Sistemas Especialistas

45

Raciocínio Baseado em Casos• vantagens:

– não é necessária uma análise extensiva do domínio do conhecimento

– aquisição de conhecimento e sua codificação relativamente fáceis

Page 46: Introdução aos Sistemas Especialistas

46

Raciocínio Baseado em Casos• desvantagens:

– explanação difícil– desempenho computacional (bases de dados

extensas)– difícil definir critérios de similaridade

Page 47: Introdução aos Sistemas Especialistas

47

Raciocínio Baseado em Modelos

• vantagens:– uso de conhecimento funcional/estrutural

– robustez (ao contrário do baseado em regras)

– algum conhecimento é transferível entre tarefas (teorias genéricas...)

– explicação causal

Page 48: Introdução aos Sistemas Especialistas

48

Raciocínio Baseado em Modelos

• desvantagens:– falta de conhecimento heurístico– requer um modelo explícito do domínio (nem

sempre é possível (e.g. finanças)– complexidade– situações excepcionais (um componente

avariado)

Page 49: Introdução aos Sistemas Especialistas

49

Outras possibilidades

• Raciocínio Baseado em Representações Híbridas– regras+casos

– regras+modelos

– modelos+casos

• Raciocínio com Incerteza ou Informação Incompleta:– Probabilidades

– Fatores de certeza

– Sistemas difusos

Page 50: Introdução aos Sistemas Especialistas

50

Referências

Sobre IA em geral:• S.J. Russel; P. Norvig. Artificial Intelligence.

Prentice Hall, 1995, http://aima.cs.berkeley.edu/.

• E. Rich; K. Knight. Inteligência Artificial. Makron Books, 1994, http://www.cs.utexas.edu/users/ear/ e http://www.isi.edu/natural-language/people/knight.html .

Page 51: Introdução aos Sistemas Especialistas

51

Referências

Sobre SE:• M. Stefik. “Introduction to Knowledge

Systems”, Morgan Kaufmann, 1995.• P. Harmon, D. King. “Expert Systems: AI in

Business”, John Wiley & Sons, 1985.• K. Parsaye, M. Chignell. “Expert Systems for

Experts”, John Wiley & Sons, 1988.