
CADASTRE-SE
Temos Uma versão desta Revista Especificamente para SmartPhone
Mais Enxuta: Somente Vídeo Aulas e EVENTOS!
Music Player


l


Veja a seguir os seguintes conteúdos já disponíveis. Para tomar conhecimento da lista completa dos conteúdos vistos nesta disciplina, clique no ícone "PROGRAMA" acima. OBSERVAÇÃO: Alguns dos assuntos estão divididos em partes as quais podem ser acessadas clicando nos links abaixo.




A Mente, Inteligência Artificial e Emoções
Entrevista com Marvin Minsky
Conduzida por Renato M.E. Sabbatini, PhD, Editor Associado, Revista Cérebro & Mente
"Marvin Minsky é respeitado como um dos mais eminentes pesquisadores e escritores em muitos campos das Ciências da Computacão, particularmente em Inteligência Artificial, a área que estuda formas de imitar as funções cognitivas do cérebro humano no computador."

CONTADOR DE VISITAS




SISTEMAS ESPECIALISTAS
________________________________________________
Um dos precursores nas Áreas: a Teoria Matemática da Computação, inteligência Artificial e Robótica. Foi criador do laboratório da Inteligência Artificial do MIT (Instituto de Tecnologia de Massachusetts), dos Sistemas de Computação Logo, Inc. e Máquinas Pensantes, Inc; foi conselheiro de vários grupos como a NASA, L-5 Society e do Instituto Nacional de dança. O professor Minsk também esteve envolvido na pesquisa sobre percepção musical e ótica física. Sua principal preocupação e interesse na última década de 1980 tem sido elaborar as bases para a nova concepção da psicologia humana, apresentada no seu Livro "A SOCIEDADE DA MENTE".
Ler na íntegra esta entrevista. Clique Aqui, Arquivo ".PDF"
SISTEMAS ESPECISLISTAS (EXPERT SYSTEMS)
Sistemas Baseados em Conhecimento e Sistemas Especialistas: Introdução
-
O que é um Sistema Especialista (SE)?
-
O que é um especialista?
-
O que é expertise (competência)?
-
-
Qual é a estrutura de um SE?
-
Quem usa SE?
-
Como ele pode ser usado?
-
Quais são os potenciais benefícios?
-
Quais são as possíveis limitações?
-
O que é conhecimento?
Um Especialista, por definição ...
Qual a principal diferença entre um sistema especialista e um SBC?
Ciclo de vida dos sistemas baseados em conhecimento
Engenharia do Conhecimento
-
Nível do Conhecimento: aquisição de conhecimento
-
Nível lógico: formalização
-
Nível de máquina: implementação
Ciclo de vida dos sistemas baseados em conhecimento
Análise de Viabilidade
Aquisição de conhecimento
Representação do conhecimento
Linguagens de Representação do Conhecimento
Representação & Raciocínio
Meta-conhecimento
Critérios de avaliação de LRC (Linguagem de Representação do Conhecimento)
Representação de conhecimento: Regras de produção
Representação de conhecimento: um exemplo
Livro: SOCIEDADE DA MENTE (The Society of the Mind)
Sobre o Livro - Sumário - Opiniões de Autores!
Capítulo 01: Prólogo / Capítulos 02-03-04-05-06 /
Capítulo 07 /Capítulo 08 / Capítulo 09 / Capítulo 10 / Capítulo 11 / Capítulo 12 / Capítulo 13 / Capítulo 14 / Capítulo 15/ Capítulo 16 / Capítulo 17 / Capítulo 18 / Capítulo 19 / Capítulo 20 / Capítulo 21 / Capítulo 22 / Capítulo 23 / Capítulo 24 / Capítulo 25 / Capítulo 26 / Capítulo 27 / Capítulo 28 / Capítulo 29 / Capítulo 30
APÊNDICE
POST SCRIPTUM E AGREDECIMENTOS
GLOSSÁRIO E BIBLIOGRAFIA
ÍNDICE
Veja a página em Slide
Sistemas Especialistas
Um termo relacionado é wizard (software) (em inglês). Como um sistema especialista, um wizard também é um programa de computador interativo que auxilia o usuário a resolver um problema. Normalmente, o termo wizard é empregado para designar programas que pesquisam uma base de dados procurando por critérios informados pelo usuário. Infelizmente, a distinção entre essas duas definições não é universal, e alguns programas baseados em regras são também chamados de wizards.
Um sistema especialista (SE) é desenvolvido a partir da necessidade de se processar informações não numéricas, é capaz de apresentar conclusões sobre um determinado tema, desde que devidamente orientado e "alimentado".
Um sistema especialista é uma forma de sistema baseado no conhecimento especialmente projetado para emular a especialização humana de algum domínio específico. Um SE irá possuir uma base de conhecimento formada de fatos e regras sobre o domínio, tal como um especialista humano faria, e devem ser capazes de oferecer sugestões e conselhos aos usuários.²
Sistemas Multi-Especialistas são uma tendência moderna, visto que muitos problemas não são possíveis de se resolver com apenas um profissional especialista, mas apenas com toda uma equipe multidisciplinar. Nesse caso, o programa se torna especialista em dois ou mais ramos de áreas científicas distintas, e usa esses conhecimentos de forma integrada para fornecer o melhor aconselhamento possível.¹
História
Década de 1980
No início, segundo Passos [l989], as estratégias de resolução de problemas de propósitos gerais da inteligência artificial (IA), se mostraram muito ineficientes na solução de problemas complexos.
Década de 1970
Na década de 1970, ficou claro para os pesquisadores de IA que para conseguir que seus sistemas resolvessem satisfatoriamente problemas reais, era necessário incorporar neles grandes quantidades de conhecimentos sobre o problema. Isto fez surgir a necessidade o campo da "Engenharia do Conhecimento" que procura formas de viabilizar a utilização de conhecimentos de especialistas na solução de problemas complexos.
Esta tecnologia resultante desse campo de estudos, chamado Sistemas Especialistas, hoje é bastante usada em aplicações comerciais. Os sistemas especialistas da década de 1970 utilizavam raciocínio lógico estrito, ignorando a incerteza, e logo se mostraram impraticáveis para a maioria dos domínios do mundo real. A geração seguinte de sistemas especialistas empregava técnicas probabilísticas, principalmente em domínios médicos. Apesar dos promissores resultados iniciais, não aumentaram a sua escala devido ao número elevado de probabilidades exigidas na distribuição conjunta total.
Em eados da década de 1970, foram desenvolvidas as abordagens baseadas em regras para a incerteza, que usavam como fundamento o sucesso de sistemas baseados em regras lógicas, acrescentando uma espécie de "fator de improvisação" a cada regra para acomodar a incerteza. Estes métodos serviram de base para inúmeros sistemas especialistas em medicina e outras áreas.¹²
Década de 1960
Foi criado o sistema Dendral em 1968
Tipos de Problemas Solucionados por Sistemas Especialistas
Tipicamente, os problemas que podem ser solucionados por um sistema especialista são do tipo que seria atendido por um especialista humano - um médico ou outro profissional (na maioria dos casos). Especialistas reais no domínio do problema (que normalmente é bem específico, como por exemplo "'diagnosticar doenças de pele em adolescentes'") fornecem regras gerais indicando como analisariam o problema, tanto explicitamente com a ajuda de um analista de sistema (ou Análise de Sistemas) experiente, como implicitamente, fazendo com que estes especialistas analisem casos de teste e usando programas de computador para analisar os dados de teste e, de forma limitada, derivar regras dessa análise.
Os sistemas especialistas trabalham com problemas cada vez mais difíceis, assim eles necessitam usar todas as técnicas disponíveis de Inteligência Artificial.
A fim de escolher o método mais apropriado (ou uma combinação de métodos) para um determinado problema, é necessário analisá-lo em várias dimensões-chaves.
Abaixo encontram-se os critérios que dão origem as classes de problemas e as classes propriamente ditas:
-
O problema pode ser decomposto em um conjunto (ou quase isto) de subproblemas independentes, menores e mais fáceis?
- Decomponíveis;
- Não-decomponíveis.
-
Certos passo em direção à solução podem ser ignorados ou pelo menos desfeitos caso fique provado que são imprudentes?
- Ignoráveis: as etapas para a solução podem ser ignoradas. Exemplo: demonstração de teoremas;
- Recuperáveis: as etapas para a solução podem ser desfeitas. Exemplo: quebra-cabeça de 8;
- Irrecuperáveis: as etapas para a solução não podem ser desfeitas. Exemplo: xadrez.
-
A recuperabilidade de um problema tem papel importante na determinação da complexidade da estrutura de controle necessária para a solução do problema.
- Ignoráveis: estrutura de controle simples que nunca retrocede;
- Recuperáveis: estrutura de controle ligeiramente mais complicada (utilizará o retrocesso com uma estrutura de pilha na qual as decisões de pilha na qual as decisões são gravadas se precisarem ser desfeitas mais tarde), que às vezes comete erros;
- Irrecuperáveis: sistema que depende muito esforço para tomar decisões (sistema de planejamento no qual toda uma sequência de passos é analisada de antemão, para descobrir onde levará, antes do primeiro passo ser realmente tomado), já que são definitivas.
-
O universo do problema é previsível?
- Com resultado certo: podemos usar planejamento para gerar uma sequência de operadores que certamente levará a uma solução. Exemplo: quebra-cabeça de 8;
- Com resultado incerto: podemos usar planejamento para, na melhor das hipóteses, gerar uma sequência de operadores com boas chances de levar a uma solução. Exemplo: bridge, truco, canastra. Para solucionar problemas desse tipo precisamos permitir que um processo de revisão de planos ocorra durante a execução do plano e que seja fornecida a realimentação necessária.
-
Uma boa solução para o problema pode ser considerada óbvia sem haver comparação com todas as soluções possíveis?
- Aceitam qualquer caminho: podem ser solucionados em tempo razoável através do uso de heurísticas que sugerem bons caminhos a serem explorados. Exemplo: lógica de predicados para saber se Marcos ainda vive;
- Só aceitam o melhor caminho: não existe a possibilidade de usarmos qualquer heurística que possa prever a melhor solução, portanto, será realizada uma busca mais exaustiva. Exemplo: problema do Caixeiro Viajante, encontrar a rota mais curta.
-
A solução desejada é um estado do mundo ou um caminho para um estado?
- A solução é um estado do mundo. Exemplo: a compreensão da linguagem natural;
- A solução é um caminho para um estado. Exemplo: o problema das jarras d'água.
-
Há necessidade absoluta de grande quantidade de conhecimento para resolver o problema, ou o conhecimento é importante apenas para limitar a busca?
- Muito conhecimento é importante apenas para restringir a busca. Exemplo: xadrez.
- Muito conhecimento é necessário até mesmo para que se possa reconhecer uma solução. Exemplo: folhar jornais diários para decidir qual deles apoia o governo e qual apoia a oposição nas próximas eleições.
-
Um computador que simplesmente receba o problema tem condições de retornar a solução, ou esta exige a interação entre o computador e a pessoa?
- Solitário: o computador recebe a descrição de um problema e produz uma resposta sem nenhuma comunicação imediata e sem pedir nenhuma explicação sobre o processo de raciocínio. Exemplo: demonstrar um teorema;
- Conversacional: existe comunicação intermediária entre uma pessoa e o computador, para proporcionar assistência adicional ao computador ou para proporcionar informações adicionais ao usuário, ou ambos. Exemplo: produzir um diagnóstico médico.
Não existe uma única maneira de resolver todos os problemas. Ao contrário, se analisarmos nossos problemas cuidadosamente e classificarmos nossos métodos de solução de acordo com o tipo de problema aos quais se adaptam, seremos capazes de trazer para cada novo problema muito do que aprendemos na solução de outros problemas semelhantes.
Tipos de raciocínio diagnóstico¹³ existem três tipos básicos de raciocínio diagnóstico:
1) o raciocínio fisiopatológico;
2) o raciocínio por reconhecimento de padrões;
3) o raciocínio probabilístico;
O raciocínio fisiopatológico é o mais difícil de simular em um programa de computador. Quando um paciente descreve história de febre há seis semanas, seguida três semanas depois por dor no quadrante superior direito de crescente severidade, o médico começa a imaginar uma massa que cresce e estabelece pressão em estruturas sensíveis à dor. Começa então a pensar em um abscesso hepático ou em um nódulo maligno com centro necrótico, causando resposta inflamatória.
Objetivos de Sistemas Especialistas
O objetivo do sistema especialista é bastante restrito, considerando o objetivo dos modelos psicológicos: os SE's são conhecidos para reproduzir o comportamento de especialistas humanos na resolução de problemas do mundo real, mas o domínio destes problemas é altamente restrito. Os primeiros sistemas especialistas que obtiveram sucesso em seus objetivos foram os sistemas Dendral e Mycin. A partir dessa época, vários sistemas foram desenvolvidos e resolveram diversos problemas, em diferentes domínios, como por exemplo, agricultura, química, sistemas de computadores, eletrônica, engenharia, geologia, gerenciamento de informações, direito, matemática, física e medicina. Algumas aplicações dos principais sistemas desenvolvidos entre os anos 70 e 80:
-
Dendral: determinar a fórmula estrutural dos compostos químicos.
-
Mycin: manipulações algébricas na física e na matemática.
-
HEURÍSCO: resolver problemas em diversas áreas, como por exemplo em jogos de xadrez, na biologia e até mesmo na matemática.²¹
Aplicação
Se por um lado sistemas especialistas se destacaram na pesquisa em IA por achar aplicação prática no mundo real, por outro lado essa aplicação tem sido restrita. Sistemas especialistas são notoriamente limitados no domínio do conhecimento - um exemplo interessante e divertido é aquele onde um pesquisador de IA utilizou o sistema especialista de "doença de pele" para diagnosticar sarampo em seu carro enferrujado - e portanto propenso a cometer erros que um especialista humano facilmente detectaria. Além disso, uma vez que a mística em torno do tema diminuiu, vários programadores perceberam que sistemas especialistas simples eram essencialmente versões ligeiramente mais elaboradas de programas procedurais que eles já vinham utilizando há bastante tempo. Sendo assim, algumas das técnicas de sistemas especialistas podem ser encontradas em vários programas complexos sem qualquer alarde em relação a isso.
Sistemas Especialistas versus Sistemas de Solução de Problemas
A principal diferença entre um sistema especialista e um programa tradicional está na maneira como o conhecimento sobre o domínio do problema é codificado. Em aplicações tradicionais, o conhecimento sobre o domínio do problema é codificado tanto nas instruções propriamente ditas quanto nas estruturas de dados.
Já na abordagem de sistema especialista, todo o conhecimento relativo ao domínio do problema é codificado exclusivamente nas estruturas de dados. Nenhum conhecimento é armazenado nas instruções ou nos programas propriamente ditos. Vários benefícios surgem imediatamente dessa estratégia.
Um exemplo pode ajudar a destacar a diferença entre a abordagem procedural tradicional e a abordagem de sistemas especialistas, como o exemplo do problema dadeclaração de imposto de renda.
Na abordagem tradicional, as estruturas de dados armazenam as informações do contribuinte e das alíquotas de imposto, e um programa representa o conhecimento necessário para a declaração de imposto de renda, contendo os comandos que relacionam as informações do contribuinte com as alíquotas e os cálculos necessários para realizar a declaração. É essa representação do conhecimento que é difícil para um especialista em impostos compreender ou modificar.
Na abordagem de sistema especialista, a informação sobre o contribuinte e as alíquotas, bem como os cálculos necessários, estão novamente armazenadas em estruturas de dados, mas o conhecimento que descreve o relacionamento entre elas também é armazenado nas estruturas de dados.
O programa de um sistema especialista é independente do conhecimento do domínio do problema (no nosso exemplo, do conhecimento das alíquotas e rendas do contribuinte e do relacionamento entre elas, os cálculos) e serve para processar estruturas de dados independente da natureza do problema que essas estruturas descrevem.
Por exemplo, há programas interativos específicos para capturar descrição de dados, programas para capturar e organizar as descrições, programas para processar as declarações que representam relacionamentos semânticos dentro do domínio do problema e um algoritmo ( ou Algoritmo) para controlar a sequência de processamento e o foco.
A arquitetura geral de um sistema especialista compreende dois componentes principais: um conjunto de declarações totalmente dependentes do domínio do problema e que é chamado de base de conhecimento ou base de regras, e um programa independente do domínio do problema (apesar de altamente dependente das estruturas de dados) chamado de motor de inferência.
Usuários envolvidos com Sistemas Especialistas
Há geralmente 3 tipos de usuário envolvidos com sistemas especialistas. Primeiramente entre esses tipos há: O usuário final, aquele indivíduo que utiliza o sistema para auxiliá-lo na resolução de problemas. Após aos envolvidos com a construção e manutenção do sistema: Especialista no domínio do problema, que constrói a base de conhecimento, e um engenheiro de conhecimento, que auxilia o especialista a representar o conhecimento e que determina a técnica de inferência necessária para se conseguir solucionar um problema.
Motor de Inferência:
O motor de inferência é um elemento essencial para a existência de um sistema especialista. É o núcleo do sistema. É por intermédio dele que os fatos e regras e heurística que compõem a base de conhecimento são aplicados no processo de resolução do problema. A capacidade do motor de inferência é baseada em uma combinação de procedimentos de raciocínios que se processam de forma regressiva e progressiva.
Na forma de raciocínio progressivo, as informações são fornecidas ao sistema pelo usuário, que com suas respostas, estimulam o desencadeamento do processo de busca, navegando através da base de conhecimento, procurando pelos fatos, regras e heurísticas que melhor se aplicam a cada situação. O sistema continua nesta interação com o usuário, até encontrar a solução para o problema a ele submetido.
No modelo de raciocínio regressivo, os procedimentos de inferência dão- se de forma inversa. O sistema parte de uma opinião conclusiva sobre o assunto, podendo ser inclusive oriunda do próprio usuário, e inicia uma pesquisa pelas informações por meio das regras e fatos da base de conhecimento, procurando provar se aquela conclusão é a mais adequada solução para o problema analisado.
Se uma premissa (IF) é consistente para o problema, o sistema continua com a cláusula IF (condição), tornando-a Then (conclusão) para a próxima pesquisa na base de conhecimento, até que encontre uma regra que o (IF) não seja considerado conclusão para outra regra. Ao mesmo tempo em que o sistema poderá iniciar uma nova pergunta ao usuário para obter informações adicionais.
Árvore de Decisão
É a maneira mais comum de se representar o conhecimento em IA. Uma árvore possui vários nós, e de cada nó podem sair ramos que levam a outros nós. O programa vai percorrer esses caminhos, e ao encontrar a solução, retorna ao usuário a resposta encontrada e/ou o procedimento utilizado para encontrá-la. Árvores de decisão são muito utilizadas para descrever linhas de comportamento, e também para percorrer todas as opções possíveis de raciocínio a partir de um problema proposto. Para percorrer uma árvore, podem ser utilizados diversos processos de busca.¹
BUSCA:
Profundidade X Largura
A busca em Profundidade escolhe um caminho na árvore de decisão e o percorre até o fim deste, enquanto a busca por Largura vai testando gradativamente cada possibilidade, sem se aprofundar demais em cada um dos caminhos.
Busca Heurística
Analisa logicamente os dados do problema de forma a escolher qual o caminho mais provável de se encontrar a solução.
Estratégias de Controle