Upload
internet
View
110
Download
3
Embed Size (px)
Citation preview
1
Introdução aosSistemas Especialistas
Professor Celso A A Kaestner, Dr. Eng.
2
Introdução• 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 no domínio desse problema.
3
Introdução• O conhecimento inerente a um Sistema
Especialista é um ponto chave na sua construção e é normalmente definido por engenheiros do conhecimento ou programadores.
• 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.
4
Introdução• 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 dos produtos comerciais desenvolvidos
5
Sistema Especialista
Programa Sistema Especialista
Representação do Conhecimento
Implícita Explicita
Realidade expressa em termos de
Modelos Matemáticos Modelos Cognitvos
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
6
Categorias dos Problemas• Interpretação: formar conclusões a partir de muitos dados;
• Predição: projetar consequências de situações;
• Diagnóstico: determinar a causa de maus funcionamentos;
• Projeto: configurar componentes por forma a atingir um objetivo;
• Planejamento: sequência de passos para atingir um objetivo;
• Monitoração: comparar o comportamento de um sistema com aquilo que seria de esperar;
• Reparo: prescrever e implementar soluções para maus funcionamentos;
• Tutorial: detectar e corrigir deficiências em processos de aprendizagem;
• Controle: governar o comportamento de um sistema.
7
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
8
Quando desenvolver um SE
• O problema justifica o custo e esforço de construção do SE;
• Não existem especialistas disponíveis para resolver o problema;
• 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;
• Existem peritos para cooperarem na construção do SE;
• O problema não é demasiado grande nem demasiado genérico.
9
Desenvolvimento de SE• Envolve o Engenheiro de Conhecimento/Programador o perito 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 os possibilidades são postas à prova pelos futuros usuários.
Correção
Programação
Modelação do Sistema
Aquisição do Conhecimento
10
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...
11
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 (o motor de arranque não gira) e
(as luzes não acendem)
Então
(o problema está nos cabos da bateria)
12
Diagnóstico de Falhas em Automóveis(Raciocínio Para Trás - Orientado ao Objetivo)
Regra1:seo motor tem combustível, eo motor trabalhaentãoo problema é nas velas
Regra2: seo motor não trabalha, eas luzes não ligamentãoo problema é nos cabos da bateria
Regra3: seo motor não trabalha, eas luzes ligamo problema é no motor de arranque
Regra4: seo depósito tem combustível, eo carburador tem combustívelentão o motor tem combustível
Memória de Trabalho
O problema é X
Base de Conhecimento
13
Regra1:seo motor tem combustível, eo motor trabalhaentãoo problema é nas velas
Regra2: seo motor não trabalha, eas luzes não ligamentãoo problema é nos cabos da bateria
Regra3: seo motor não trabalha, eas luzes ligamo problema é no motor de arranque
Regra4: seo depósito tem combustível, eo carburador tem combustívelentão o motor tem combustível
Memória de Trabalho
O motor tem combustível
o motor trabalha
o problema é nas velas
Base de Conhecimento
Diagnóstico de Falhas em Automóveis(Raciocínio Para Trás - Orientado ao Objetivo)
14
Regra1:seo motor tem combustível, eo motor trabalhaentãoo problema é nas velas
Regra2: seo motor não trabalha, eas luzes não ligamentãoo problema é nos cabos da bateria
Regra3: seo motor não trabalha, eas luzes ligamo problema é no motor de arranque
Regra4: seo depósito tem combustível, eo carburador tem combustívelentão o motor tem combustível
Memória de Trabalho
O depósito tem combustível
o carburador tem combustível
O motor tem combustível
o motor trabalha
o problema é nas velas
Base de Conhecimento
Diagnóstico de Falhas em Automóveis(Raciocínio Para Trás - Orientado ao Objetivo)
15
• Neste ponto não existem regras cuja conclusão unifique com as frases na memória de trabalho;
• O sistema irá perguntar ao utilizador acerca da veracidade de:
– O depósito tem combustível?
– O carburador tem combustível?
– O motor está a trabalhar?
Diagnóstico de Falhas em Automóveis(Raciocínio Para Trás - Orientado ao Objetivo)
16
Grafo e/ou para a busca da soluçãoO problema é X
Regra1:o problema é nas velas
Regra1:o problema é nos cabos da bateria
Regra1:o problema é no motor de arranque
O motor tem combustível
O motor trabalha
O motor não trabalha
As luzes não acendem
O motor não trabalha
As luzes acendem
Regra4:o motor tem combustível
O depósito tem combustível
O carburador tem combustível
17
ExplanaçãoPerguntas: porquê (última a regra em prova)
como (sequência de passos para a conclusão)
Suponhamos as seguintes respostas às perguntas:O depósito tem combustível? SimO carburador tem combustível? SimO motor está trabalhando? Porquê?
Sistema:Foi estabelecido que1. O motor tem combustível,se2. O motor trabalhaentão
O problema é nas velas
18
O sistema chegou à conclusão: o motor tem combustível
Podemos perguntar: como o motor tem combustível?
Sistema:Isto resulta da regra 4:se
o depósito tem combustível, eo carburador tem combustível
entãoo motor tem combustível.
O depósito tem combustível foi confirmado pelo usuárioO carburador tem combustível foi confirmado pelo usuário
Explanação
19
Diagnóstico de Avarias em Automóveis(Raciocínio Para a Frente - Orientado aos Dados)
Regra1:seo motor tem combustível, eo motor trabalhaentãoo problema é nas velas
Regra2: seo motor não trabalha, eas luzes não ligamentãoo problema é nos cabos da bateria
Regra3: seo motor não trabalha, eas luzes ligamo problema é no motor de arranque
Regra4: seo depósito tem combustível, eo carburador tem combustívelentão o motor tem combustível
Memória de Trabalho
O motor tem combustível (é derivável)
O motor trabalha (não)
Base de Conhecimento
20
Regra1:seo motor tem combustível, eo motor trabalhaentãoo problema é nas velas
Regra2: seo motor não trabalha, eas luzes não ligamentãoo problema é nos cabos da bateria
Regra3: seo motor não trabalha, eas luzes ligamo problema é no motor de arranque
Regra4: seo depósito tem combustível, eo carburador tem combustívelentão o motor tem combustível
Memória de Trabalho
o carburador tem combustível (sim)
o depósito tem combustível (sim)
O motor tem combustível
o motor trabalha (sim)
o problema é das velas
Base de Conhecimento
Diagnóstico de Avarias em Automóveis(Raciocínio Para a Frente - Orientado aos Dados)
21
Grafo para a procura da soluçãoPrimeira iteração
Mem. Trabalho
Falha Falha Dispara
Mem. Trabalho...
O problema é nas velas
Regra1 Regra4Regra3Regra2
Regra1 Regra2 Regra3Regra4
Sai pois nenhuma regra unifica
Segunda iteração
22
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.
23
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...
24
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.
25
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
26
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
27
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)
28
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
29
Raciocínio Baseado em Casos• desvantagens:
– explanação difícil– desempenho computacional (bases de dados
extensas)– difícil definir critérios de similaridade
30
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
31
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)
32
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