1
Introdução aosSistemas Especialistas
Professor Celso A A Kaestner, Dr. Eng.
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:
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
4
IA Simbólica
Fundamenta-se em:
• Representação do conhecimento; e
• Métodos de Busca.
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. ...
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. ...
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_
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)
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 !!!!
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 ?)
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.
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.
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.
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
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.
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
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.
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
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...
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)
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
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)
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).
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 ?
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);
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);
27
Exemplo: um pequeno SE
• R6: SE (Qualifica = Sim) E
(Média > 7,0)
ENTÃO (Posição = Eng. de Produto);
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).
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);
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).
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.
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.
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).
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.
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.
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.
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.
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.
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.
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...
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.
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
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
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)
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
46
Raciocínio Baseado em Casos• desvantagens:
– explanação difícil– desempenho computacional (bases de dados
extensas)– difícil definir critérios de similaridade
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
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)
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
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 .
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.