34
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

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

Embed Size (px)

Citation preview

Page 1: 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

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

Page 2: 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

Page 3: 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 (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

Page 4: 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 (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

Page 5: 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 (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)

Page 6: 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 (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

Page 7: 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

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

Page 8: 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

Sistemas Baseados em Conhecimento

SBC

SE Representam conhecimento do domínio de forma explícita

Aplicam conhecimento especializado na solução de problemas complexos

Page 9: 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

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.

Page 10: 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

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

Page 11: 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

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

Page 12: 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

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

Page 13: 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

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

Page 14: 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

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

Page 15: 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

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

Page 16: 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

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

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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

Page 20: 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

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

Page 21: 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

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

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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

Page 25: 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

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

Page 26: 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

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

Page 27: 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

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)

Page 28: 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

Algumas Estatísticas antigas...

Page 29: 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

Evolução do mercado de SEs

Page 30: 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

Evolução do mercado de SEs

Page 31: 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

Balanço

Page 32: 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

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

Page 33: 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

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

Page 34: 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

Ú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