360 likes | 551 Vues
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
E N D
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 regra if the infection is meningitisand the type of infection is bacterialandthe patient has undergone surgeryandthe patient has under gone neurosurgeryandthe neurosurgery-time was < 2 months ago andthe patient got a ventricular-urethral-shunt then infection = e.coli(.8)orklebsiella(.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
SBC Aplicam conhecimento especializado na solução de problemas complexos SE Representam conhecimento do domínio de forma explícita Sistemas Baseados em Conhecimento
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.
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 Tarefas Comuns 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 Domínios de Aplicação dos SEs
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
BC Etapas na construção de SE-BCs Nível de Conhecimento AQUISIÇÃO FORMULAÇÃO Nível Lógico Nível de Implementação IMPLEMENTAÇÃO REFINAMENTO
Atores de um SE Especialista Equipe de Suporte Construtor de Ferramentas Testa Conhecimento Documentado Fornece Suporte Adquire Conhecimento Constrói Sistema Especialista Ferramentas, Linguagens Usa Constrói Engenheiro de Conhecimento Usa Usa Constrói Fornece Coopera Construtor do sistema Conecta Usuário Final Vendedor
Arquitetura de um SE Usuário Dados do problema Respostas Interface de explicação do raciocínio Máquina de Inferência Especialista Base de conhecimento dinâmico Engenheiro de conhecimento Base de conhecimento estático Sistema de aquisição do conhecimento
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 detransferê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
SEs e BD • 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 • 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)
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