sistemas especialistas

12

Click here to load reader

Upload: anderson-zardo

Post on 28-Jun-2015

382 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas especialistas

Anderson Zardo

Cristiano Bonacina

Ricardo

Sistemas Especialistas

Bento Gonçalves05 de Dezembro de 2008

Page 2: Sistemas especialistas

2

Anderson ZardoCristiano Bonacina

Ricardo

SISTEMAS ESPECIALISTAS

Um ensaio geral sobre o que vem a ser um sistema especialista

Faculdade de Tecnologia Tec Brasil

Professor Régis Ortis Tams

Bento GonçalvesDexembro de 2008

Page 3: Sistemas especialistas

3

1) Introdução:

Um Sistema especialista é uma classe de programa de computador desenvolvido por pesquisadores de Inteligência artificial durante os anos 70 (1970) e aplicado comercialmente durante os anos 80 (1980). Em síntese, são programas constituídos por uma série de regras que analisam informações (normalmente fornecidas pelo usuário do sistema) sobre uma classe específica de problema (ou domínio de problema).

Um sistema especialista (SE) pode ser visto como uma sub-área da Inteligência Artificial, desenvolvido a partir da necessidade de se processar informações não numéricas, um sistema especialista é capaz de apresentar conclusões sobre um determinado tema, desde que devidamente orientado e alimentado

2) 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 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.

Sistemas simples utilizam uma lógica verdadeiro/falso simples para analisar os dados. Por outro lado, sistemas mais sofisticados são capazes de realizar pelo menos alguma avaliação levando em consideração incertezas do mundo real, utilizando métodos como lógica fuzzy. Tal sofisticação é de desenvolvimento difícil e ainda extremamente imperfeita.

3) Sistemas Baseados no Conhecimento:

Os sistemas baseados no conhecimento foram alvo de várias pesquisas em Inteligência Artificial, realizadas com sucesso. Esses sistemas são baseados num modelo explícito de conhecimento destinado a solucionar problemas.

Page 4: Sistemas especialistas

4

O conhecimento deve ser representado em forma de regras ou modelos de objetos. Sistemas Baseados no Conhecimento (SBC) ou “Knowledge-based systems” são sistemas que aplicam mecanismos automatizados de raciocínio para a representação e inferência de conhecimento. Esses sistemas costumam ser identificados como simplesmente "de inteligência artificial aplicada" e representam uma abrangente classe de aplicações da qual todas as demais seriam aproximadamente subclasses.Existe uma série de formalismos que podem ser utilizados para modelar o conhecimento de sistemas baseados no conhecimento, tais como, regras de produção, raciocínio baseados em casos, redes neurais, redes probabilísticas, entre outros.

A IA está dividida em três áreas de pesquisa relativamente independentes. Alguns pesquisadores preocupam-se em desenvolver programas de computador que leiam, falem ou entendam a linguagem que as pessoas usam em sua conversa diária, sendo conhecido como "processamento da linguagem natural. Outra área trabalha com o "desenvolvimento de robôs inteligentes". E a terceira área de pesquisa desenvolve programas que usem o conhecimento simbólico para simular o comportamento dos especialistas humanos. A idéia é desenvolver programas que possibilitem a utilização dos conhecimentos dos especialistas através de uma máquina que permita o armazenamento e o seqüenciamento de informações e a auto-aprendizagem, sendo conhecido como Sistemas Especialistas.

4) Sistemas Especialistas:

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 (BC) formada de fatos, regras e heurísticas sobre o domínio, tal como um especialista humano faria, e devem ser capazes de oferecer sugestões e conselhos aos usuários e, também, adquirir novos conhecimentos e heurísticas com essa interação.

O objetivo do sistema especialista é bastante restrito, se considerar o objetivo dos modelos psicológicos: os SE's são concebidos para reproduzir o comportamento de especialistas humanos na resolução de problemas do mundo real, mas o domínio destes problemas é altamente restrito.

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,

Page 5: Sistemas especialistas

5

gerenciamento de informações, direito, matemática, medicina, aplicações militares, física, controle de processos e tecnologia espacial.

Figura 1: Arquitetura de um sistema especialista

Um sistema especialista apresenta uma arquitetura com os seguintes componentes: base de conhecimentos, mecanismos de inferência, explanação e aquisição de conhecimento. A base do conhecimento reune o conhecimento do especialista modelado conforme a representação do conhecimento escolhida para modelar o domínio em questão. Atualmente não existe um formalismo de representação que possa ser considerado melhor do que todos os outros existentes. O mecanismo de inferência examina o conteúdo da base de conhecimentos, decidindo a ordem em que se tiram as inferências. Assim, o mecanismo de inferência conduz a consulta com o usuário, transferindo os fatos e regras, utilizados durante uma consulta, para a memória de trabalho.O módulo de aquisição de conhecimentos é responsável pela atualização da base de conhecimentos, através de um mecanismo de interação cooperativa, gerado a partir do módulo de explanação. O módulo de explanação é responsável pela descrição do raciocínio do sistema para o usuário, sendo ativado tanto pelo mecanismo de inferência como pelo módulo de aquisição de conhecimentos. O mecanismo de inferência evoca o módulo de explanação, visando a um processo de transformação do conhecimento, representado na base de conhecimentos do SE ou deduzido no processo de busca de uma solução.

Outra característica comum nos sistemas especialistas é a existência de um mecanismo de raciocínio incerto que permita representar a incerteza a respeito do conhecimento do domínio. O motor de inferência controla a atividade do sistema. Esta atividade ocorre em ciclos, cada ciclo consistindo em três fases:

Usuário

Interface Memoria de Trabalho

Ação Recomendada

Motor de Interferência

Base de Regras

Quadro Negro

Page 6: Sistemas especialistas

6

_ Correspondência de dados, onde as regras que satisfazem a descrição da situação atual são selecionadas.

_ Resolução de conflitos, onde as regras que serão realmente executadassão escolhidas dentre as regras que foram selecionadas na primeirafase, e ordenadas.

_ Ação, a execução propriamente dita das regras.

As principais vantagens dos sistemas de produção como método de representação de conhecimento são: Modularidade, uniformidade e naturalidade. Como desvantagem considera-se: ineficiência em tempo deexecução e complexidade do fluxo de controle que leva à solução dos problemas. Tais vantagens e desvantagens determinam as características que devem ter os domínios que se adaptam ao desenvolvimento de SE baseados em sistemas de produção:

_ Ser descrito por um conhecimento consistindo em um conjunto muito grande de fatos parcialmente independentes;

_ Dispor de métodos de solução consistindo de ações independentes;_ Apresentar claramente a separação entre conhecimento e ação.

O desempenho de um sistema está no conhecimento armazenado em suas regras e em sua memória de trabalho. Este conhecimento deve ser obtido junto a um especialista humano do domínio e representado de acordo com regras formais definidas para a codificação de regras no SE em questão.

4.1 ) Métodos de representação de conhecimento

Um ponto bastante importante no projeto de um sistema especialista é a escolha do método de representação de conhecimento. A linguagem associada ao método escolhido deve ser suficientemente expressiva (por exemplo, lógica) para permitir a representação do conhecimento a respeito do domínio escolhido de maneira completa, e sendo eficiente. Mesmo assim, existem problemas de eficiência, facilidade de uso e a necessidade de expressar conhecimento incerto, que levaram ao desenvolvimento de diversos tipos de formalismos de representação de conhecimento. Alguns dos formalismos de representação do conhecimento são apresentados a seguir:

_ Lógica: É a base para a maioria dos formalismos de representaçãode conhecimento, seja de forma explícita, como nos sistemas especialistas baseados na linguagem Prolog, seja mascarada na forma de representações específicas que podem facilmente ser interpretadas como proposições ou predicados lógicos.

Page 7: Sistemas especialistas

7

_ Redes semânticas: é um nome utilizado para definir um conjunto heterogêneo de sistemas. Em última análise, a única característica comum a todos estes sistemas é a notação utilizada: uma rede semântica consiste em um conjunto de nodos conectados por um conjunto de arcos. Os nodos em geral representam objetos e os arcos, relações binárias entre esses objetos. Mas os nodos podem também ser utilizados para representar predicados, classes, palavras de uma linguagem, entre outras possíveis interpretações, dependendo do sistema de redes semânticas em questão.

_ Quadros: (“frames”), e sua variação, os roteiros (.scripts.), foram introduzidos para permitir a expressão das estruturas internas dos objetos, mantendo a possibilidade de representar herança de propriedades como as redes semânticas. As idéias fundamentais destes métodos foram introduzidas por Marvin Minsky, em seu artigo. A framework to represent knowledge. (MINSKY, 1975).

4.2) Motor de Inferência

As principais características do motor de inferência disponível em um sistema especialista dizem respeito às seguintes funcionalidades: método de raciocínio, estratégia de busca, resolução de conflito e representação de incerteza. Algumas dessas funcionalidades são detalhadas a seguir:

4.2.1) Modo de raciocínio

Existem basicamente dois modos de raciocínio aplicáveis a regras de produção: encadeamento progressivo ou encadeamento a frente (do inglês, “forward chaining”), e encadeamento regressivo ou encadeamento para trás (do inglês, .backward chaining.). No encadeamento progressivo, também chamado encadeamento dirigido por dados, a parte esquerda da regra é comparada com a descrição da situação atual, contida na memória de trabalho. As regras que satisfazem a esta descrição têm sua parte direita executada, o que, em geral, signi_ca a introdução de novos fatos na memória de trabalho.

No encadeamento regressivo, também chamado encadeamento dirigido por objetivos, o comportamento do sistema é controlado por uma lista de objetivos. Um objetivo pode ser satisfeito diretamente por um elemento da memória de trabalho, ou podem existir regras que permitam inferir algum dos objetivos correntes, isto é, que contenham uma descri- ção deste objetivo em suas partes direitas. As regras que satisfazem esta condição têm as instâncias correspondentes às suas partes esquerdas adicionadas à lista de objetivos correntes. Caso uma dessas regras tenha todas as suas condições satisfeitas diretamente pela memória de trabalho, o objetivo em sua parte direita é

Page 8: Sistemas especialistas

8

também adicionado à memória de trabalho. Um objetivo que não possa ser satisfeito diretamente pela memória de trabalho, nem inferido através de uma regra, é abandonado. Quando o objetivo inicial é satisfeito, ou não há mais objetivos, o processamento termina.

4.2.2) Estratégia de busca

Uma vez definido o tipo de encadeamento, o motor de inferência necessita ainda de uma estratégia de busca para guiar a pesquisa na memória de trabalho e na base de regras. Este tipo de problema é conhecido como busca em espaço de estados. Este tópico foi um dos primeiros estudados em IA, no contexto de solução de problemas (do tipo quebra-cabeças) e jogos por computador (damas, xadrez, go, etc.).

4.2.3) Resolução de conflito

Ao terminar o processo de busca, o motor de inferência dispõe de um conjunto de regras que satisfazem à situação atual do problema, o chamado conjunto de conflito. Se esse conjunto for vazio, a execução é terminada; caso contrário, é necessário escolher que regras serão realmente executadas e em que ordem. Os métodos de resolução de conflito mais utilizados ordenam as regras de acordo com os seguintes critérios: prioridades atribuídas estaticamente; características da estrutura das regras como complexidade, simplicidade e especificidade; características dos dados associados às regras como o tempo decorrido desde sua obtenção, sua confiabilidade ou seu grau de importância; e, finalmente, seleção ao acaso.

5) Conclusão:

Este trabalho apresentou uma definição de sistemas especialistas. Conclui-se que esses sistemas são relevantesnão somente para área de Inteligência Artificial, mas para várias outras áreas que estão em constante desenvolvimento.