Upload
internet
View
114
Download
4
Embed Size (px)
Citation preview
Plano de Aula
Histórico
O que é um Sistema Especialista?
Arquitetura de um Sistema Especialista
Problemas na construção de SEs
Exemplos
Shells de SE
Histórico (1960s)
General Problem Solver (GPS) leis do pensamento + máquinas poderosas
Funcionamento planejamento + sub-goaling
ex. estou com fome => comer => pedir pizza => telefonar => ir para a sala => sair do quarto...
O sistema Logic Theorist deu certo mas.... em geral, GPS não funciona fraca representação de conhecimento humanos são bons só em domínios restritos
Histórico (1960-1970)
Primeiros Sistemas Especialistas
DENDRAL Objetivo
Inferir estrutura molecular de componentes desconhecidos dadas a massa espectral e a resposta nuclear magnética
Conhecimento especializado poda a busca por possíveis estruturas moleculares
Fez sucesso publicações científicas
Representação procedimental de conhecimento
Histórico (1960-1970)
MYCIN Objetivo:
Diagnosticar rapidamente meningite e outras infecções bacterianas, e prescrever tratamento
Representação de conhecimento baseada em regras probabilistas em torno de 500
Fez sucesso acima de 90% de acerto
Introduziu explicação sobre “raciocínio” e boa interface com usuário
Histórico (1960-1970)
MYCIN Exemplo de regraif the infection is meningitis and the type of infection is bacterial andthe patient has undergone surgery andthe patient has under gone neurosurgery andthe neurosurgery-time was < 2 months ago andthe patient got a ventricular-urethral-shunt
then infection = e.coli(.8) or klebsiella(.75)
Histórico (1980)
Problema da General Electric: Aposentadoria de David Smith
engenheiro especialista em falhas de motores elétrico-diesel de locomotivas
Solução convencional Treinamento de engenheiros novatos
Construção do CATS-1 (DELTA) Meses de entrevista, 3 anos p/ primeiro
protótipo Permite diagnóstico em poucos minutos Existe um em cada oficina Dá treinamento: é amigável e explica decisões
Sistemas Especialistas
Definição sistemas que empregam o conhecimento
humano para resolver problemas que requererem a presença de um especialista.
Área de aplicação de mais sucesso da IA
Exemplo mais difundido dos Sistemas Baseados em Conhecimento
Sistemas Baseados em Conhecimento
SBC
SE Representam conhecimento do domínio de forma explícita
Aplicam conhecimento especializado na solução de problemas complexos
Conceitos Básicos de SE
Expertise Conhecimento especializado adquirido por
longo treinamento, leitura e/ou experiência
Especialista Quem possui o conhecimento, a experiência,
conhece os métodos, e tem a habilidade de aplicá-los para dar conselhos e resolver problemas.
Engenheiro de conhecimento Guia a aquisição e a representação do
conhecimento especializado, bem como a implementação e refinamento do SE.
Tarefas Comuns dos SEs
Diagnóstico
Reparo e prescrição
Monitoramento e detecção
Controle: monitoramento, diagnóstico e reparo
Instrução
Simulação
Escalonamento
Recomendação e alocação
Construção e projeto
Otimização
Interpretação e abstração de dados
Classificação
Previsão
Domínios de Aplicação dos SEs
Aeroespacial
Agricultura
Aplicações militares
Automação industrial e controle de equipamento
Concepção e construção auxiliada por computadores
Educação
Eletrônica
Engenharias
Finanças e negócios
Gerenciamento de informação
Manutenção de equipamento
Matemática
Medicina
Meio ambiente
Meteorologia
Mineração
Química
Serviços legais
Transportes
Para que utilizar SEs?
Substituir o especialista Melhorar acesso temporal e geográfico a
conhecimento especialista sobre um domínio Diminuir gastos com pessoal
Auxiliar o especialista Melhorar confiabilidade e eficiência
Integrar o conhecimento de vários especialistas Mais confiabilidade, qualidade e eficiência
Capturar o “conhecimento agregado” de uma organização
Evitar dependência de gurus Viabilizar o treinamento de novatos
Benefícios do desenvolvimento de SEs
Processo de introspecção e modelagem: Aprofunda o conhecimento sobre a tarefa e o
domínio do(s) especialista(s) Melhora consideravelmente o meta-conhecimento
sobre a tarefa e o domínio do(s) especialista(s)
Processo de elicitação dos requisitos e de implantação do SE na organização:
Dissemina conhecimento do(s) especialista(s) Esclarece a natureza da tarefa, seu papel na
organização, sua utilidade e suas limitações Pode identificar necessidade de re-engenharia
organizacional
Requisitos específicos de SEs
Especialista humano é capaz de: Resolver eficientemente problemas muito
complexos Selecionar o conhecimento relevante e o grau
de detalhe adequado para cada caso Explicar seu raciocínio para um colega Aprender com a experiência Reestruturar constantemente seu conhecimento Manter consistência do raciocínio, apesar de
usar conjunto de regras possivelmente contraditórias
Requisitos Específicos de SEs
Especialista humano é capaz de identificar que “partes” do seu conhecimento para
executar uma tarefa em um domínio podem ser reaproveitadas para tarefas ou domínio diferentes, porém com aspectos semelhantes
Tudo isto requer meta-conhecimento
Contudo O desempenho do especialista cai
gradativamente à medida que lhe falta conhecimento
Etapas na construção de SE-BCs
Nível de Conhecimento
Nível Lógico
Nível de Implementação
BC
AQUISIÇÃO
FORMULAÇÃO
IMPLEMENTAÇÃO
REFINAMENTO
SistemaEspecialistaEngenheiro de
Conhecimento
Ferramentas,Linguagens
Construtor deFerramentas
Construtordo sistema
Especialista Equipe deSuporte
UsuárioFinalVendedor
ConhecimentoDocumentado Adquire
Conhecimento
Testa
Constrói
Constrói
Conecta
Coopera
ForneceSuporte
UsaFornece
Usa
Usa
Constrói
Atores de um SE
Arquitetura de um SE
Máquina deInferência
Usuário
Dados do problema
Base deconhecimento
estático
Interface deexplicação
do raciocínio
Respostas
Engenheiro de conhecimento
Especialista
Sistema deaquisição do
conhecimento
Base deconhecimento
dinâmico
Sistemas Especialistas da 1a geração
Representação do conhecimento utilizando linguagens sem fundamentação matemática Regras de produção
às vezes com fatores de incerteza Redes semânticas ou frames Regras de produção + frames
Aquisição do conhecimento visto como processo de transferência
Sistemas centralizados e individuais Sistemas isolados implementados com shells
de sistemas especialistas
Sistemas Especialistas da 2a geração
Representação do conhecimento Explícita, com linguagens formais:
Programação em lógica no lugar de regras de produção
Redes Bayesianas no lugar de fatores de incerteza
Lógicas descritivas no lugar de frames Implícita, via representação numérica:
Redes neurais, algoritmos genéticos, sistemas híbridos
Sistemas Especialistas da 2a geração
Aquisição de conhecimento como processo de modelagem e reuso de conhecimento Utilização de aquisição automática
Integração dos SEs em sistemas maiores: APIs entre linguagens de representação de
conhecimento e linguagens de programação amplamente utilizadas (C++, Java)
Representação procedimental do conhecimento diretamente nas linguagem de programação largamente divulgadas
Sistemas distribuídos e multi-agentes
Problemática comum entre SEs e Engenharia de Software
Processo de desenvolvimento Flexibilidade de modelagem Rigor formal para garantir confiabilidade Prototipagem rápida
Requisitos organizacionais
Colaboração de equipes grandes e culturalmente heterogêneas
Problemática comum entre SEs e Engenharia de Software
Controle de versões
Planejamento de projeto: controle dos prazos e dos custos
Verificação, validação e teste
Reuso de conhecimento ontologias, componentes
Requisitos de Bases de Conhecimento estratégicas de SEs de grande porte: persistência escalabilidade de processamento gerenciamento de memória secundária acesso em leitura e escritura distribuído e
concorrente recuperação segurança
SEs e BD
SEs e BD
SE influenciou o surgimento das áreas de: BD dedutivos BD dedutivos orientados a objetos
Pode reutilizar soluções de: BD objeto-relacionais Web semântica
Shells de Sistemas Especialista
Sistemas que incluem: Máquina de inferências Interface de aquisição do conhecimento
Pelo menos do conhecimento dinâmico que descreve instâncias particulares do problema a tratar
Interface de explicação do raciocínio
Permitem ao usuário questionar o sistema em qualquer ponto de seu processo de raciocínio trace
Shells de SEs
Interface de aquisição do conhecimento Evita que o usuário precise definir a priori o
conhecimento dinâmico (e.g., sintomas da minha doença) necessário para resolver a tarefas em questão (diagnóstico da minha doença).
Permitem que o sistema consulte o usuário durante a execução de uma instância
solicitando dados (conhecimento) que faltam (e.g., sintomas) para a solução do problema (e.g., diagnóstico)
guiado pelo seu processo de raciocínio (raciocínio progressivo ou regressivo)
Algumas Estatísticas antigas...
Evolução do mercado de SEs
Evolução do mercado de SEs
Balanço
Benefícios do S.E.
Criação de repositório de conhecimento
Crescimento de produtividade e qualidade
Habilidade de resolver problemas complexos
Flexibilidade e modularidade
Operação em ambientes arriscados
Credibilidade
Capacidade de trabalhar com informações incompletas ou incertas
Fornecimento de treinamento
Problemas e Limitações
Aquisição ainda difícil e está sujeita a um grande número de dificuldades (preconceitos)
Avaliação de desempenho difícil
Desenvolvimento longo e manutenção delicada
Só apresentam alto desempenho em domínios pequenos
Não aprendem e não são robustos
Últimos desenvolvimentos e tendências
Ferramentas de desenvolvimento + OOP
Integração com outros sistemas ex. banco de dados e sistemas de suporte à
decisão
Tratamento de incerteza Redes Bayesianas
Aprendizagem de máquina