Minha lista de blogs

sexta-feira, 30 de maio de 2014

Sistema Especialista


Sistema Especialista

Sistemas especialistas são programas destinados a solucionar problemas em campos específicos de conhecimento. Estes programas devem ter desempenho comparável ao dos especialistas humanos na execução dessas tarefas.

Vantagens
Os Sistemas especialistas apresentam, em relação aos especialistas humanos as seguintes vantagens :
         Disponibilidade a qualquer tempo;
         Ausência de fadiga;
         Ausência de incompatibilidades pessoais;
         Tecnologia portável a outros ramos do conhecimento.

Aplicações
1) Sistemas de diagnóstico
Exemplo : MYCIN para diagnóstico de doenças bacteriológicas, desenvolvido em Stanford nos anos 70.
 2) Sistemas de planejamento
Exemplos : XCON para configuração de hardware, desenvolvido na Carnegie Mellon University e utilizado pela DEC.
STRIPS para movimentação de robôs, desenvolvido em Stanford.
3) Sistemas de previsão
Exemplo : PROSPECTOR para estudo de geologia
4) Sistemas de controle
Exemplos :
         ACE para vigilância de sistemas telefônicos.
PICON para alarmes em centrais nucleares.
5) Sistemas de Instrução
6) Sistemas de Interpretação

Componentes
São componentes essenciais de um Sistema Especialista :
Base de conhecimentos composta de fatos e regras;
Mecanismo de inferência;
Interface com o usuário.

As bases de conhecimentos compreendem coleções de :
         Objetos, que são as conclusões a que o Sistema deve chegar;
         Atributos, que são propriedades que servem para caracterizar os objetos.

Os mecanismos de inferência podem ser de dois tipos :
1.    Encadeamento para diante. Neste tipo selecionam-se atributos até obter uma combinação deles que caracterize um objeto;
2.   Encadeamento para traz. Neste tipo seleciona-se um objeto, como sendo a hipótese de estudo, e busca-se determinar a viabilidade da aceitação dessa hipótese pela ocorrência ou não dos atributos adequados. Caso a hipótese falhe seleciona-se outra hipótese e prossegue-se com as tentativas.

Ferramentas para Construção de Sistemas Especialistas
As linguagens de programação são as ferramentas mais tradicionais para a implementação de sistemas especialistas, pois possuem recursos internos que facilitam os mecanismos de inferência, ou que permitem processar listas, as principais linguagens utilizadas são:
LISP:
Usada principalmente pela comunidade científica americana de pesquisas em inteligência artificial. Por esse motivo é uma linguagem bastante experimentada e com bastante confiabilidade e eficiência de desempenho.
PROLOG:
Usada principalmente pela comunidade científica européia que estuda inteligência artificial. É uma linguagem apoiada em princípios de lógica e matemática e foi escolhida pelos japoneses como a linguagem dos computadores de quinta geração. Por isso tem recebido bastante impulso nos últimos anos.

Classificação de Sistemas Especialistas
De um modo geral, os sistemas especialistas existentes, quanto as características do seu funcionamento, podem ser classificados nas seguintes categorias: interpretação, diagnóstico, monitoramento, predição, planejamento, projeto, depuração, reparo, instrução e controle. Vamos agora analisar as características dos sistemas em cada uma dessas categorias.
Interpretação
São sistemas que inferem descrições de situações a partir da observação de fatos, isto é, fazem a análise de dados e procuram determinar as relações e seus significados. Devem considerar possíveis interpretações, descartando as que se mostrarem inconsistentes. Têm
mecanismos que permitem tratar dados errados, distorcidos ou até mesmo ausentes.

Diagnósticos
São sistemas que detectam falhas oriundas da interpretação de dados. A análise dessas falhas podem conduzir a uma conclusão diferente da simples interpretação de dados.
Estes sistemas já tem embutidos o sistema de interpretação de dados.
Deve detectar os problemas mascarados por falhas do sistema de interpretação, por falhas dos equipamentos e falhas do próprio diagnóstico, que este não detectou por ter falhado.
Os sistemas de diagnóstico devem permitir ao diagnosticante a decisão sobre medidas a tomar, pois em alguns casos os dados sobre o sistema podem ser inacessíveis, caros ou perigosos de serem recuperados.




Como S.E. é desenvolvido

1) Construção da base de conhecimento
Aquisição de conhecimento!!!
Representação de conhecimento (formalização)
2) Implementação
Codificação
Construção do sistema de explicação, interface, etc.
3) Refinamento e validação
Metodologia RUDE


Os elementos constituintes do sistema especialista são analisados a seguir de uma forma sucinta.
· A Base de conhecimentos:
    É o módulo básico do sistema especialista, contém o conhecimento do sistema, sob a forma de regras de produção, quadros e redes semânticas.

· A Máquina de Inferência (Mecanismo de Inferência):
     Contém o interpretador de regras e o escalonador de regras.

· O Quadro Negro:
     É a área de trabalho do sistema. Armazena informações, fatos e estruturas de suporte ao funcionamento do sistema, quando este efetua raciocínios.

· Sistema de Justificação:
     É a capacidade de questionamento, fornecida pelo usuário.
     Pode responder às seguintes perguntas:
    Como chegou a esta conclusão?
    Por que chegou a esta conclusão?
    Por que não chegou a tal outra conclusão?

· Mecanismos de Aprendizagem:
Possui recursos que permitem fazer acréscimos e alterações na base de conhecimentos.

· O Sistema de Aquisição de Conhecimento
     Permite ao sistema ampliar e alterar seu conhecimento. Obter conhecimento é a parte mais crítica de um sistema especialista.

· Sistema de Consulta
     Interface do sistema com o usuário, elaborando uma linguagem orientada ao problema (processador de linguagem).

· Processador de Linguagem Natural:

     Este módulo tem por objetivo de tornar transparente, para quem usa o sistema, toda a sua complexidade. Seu objetivo é uma comunicação o mais perto possível da linguagem natural, evitando que usuário do sistema tenha que aprender uma linguagem computacional própria ou complexa para o uso do sistema. Este módulo é, ele próprio, um sistema especialista, e é um estudo à parte em inteligência artificial.

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
       Habilidade de trabalhar com informações incompletas ou incertas
       Fornecimento de treinamento

terça-feira, 27 de maio de 2014

Teoria das Filas



Teoria das Filas

A Teoria das filas refere-se à uma área da matemática aplicada que estuda os congestionamentos decorrentes da interrupção do fluxo normal e respectiva espera. Pode ser descrita como uma coleção de modelos que lida com os problemas da linha de espera, por exemplo, motivos pelos quais os clientes ou unidades que chegam a uma instalação de serviço têm de enfrentar filas de espera.

Conceitos Gerais
A Teoria das filas refere-se à otimização de arranjos em condições de aglomeração. Cuida dos pontos de estrangulamento, dos tempos de espera, ou seja, das demoras verificadas em algum ponto de serviço. A situação ocorre quando clientes desejam prestação de serviços. Quando cada cliente se aproxima do ponto de serviço, ocorre um período de prestação de serviço que determina quando o cliente se retira. Os outros clientes que chegam, enquanto o primeiro esta sendo atendido, esperam a sua vez, isto é, forma uma fila. Os pontos de interesse da teoria das filas são: o tempo de espera do cliente, o numero de clientes na fila e a razão entre o tempo de espera e o tempo de prestação de serviço. As técnicas matemáticas que utiliza são extremamente variadas. A teoria das filas e aplicável em analise de trafego, como no transito viário em situações de congestionamento ou de gargalos, no dimensionamento de caixas de atendimento nas agencias bancarias ou em supermercados.

Teoria de Filas (Objetivo) 
• Avaliar o comportamento de um sistema de filas e seus parâmetros, exemplos: 
– Tempo de espera médio 
– Probabilidade de formação de fila 
– Porcentagem de clientes rejeitados pelo sistema 
– Probabilidade de um cliente esperar mais do que um certo tempo 
– Número médio de clientes na fila 
– Probabilidade de que todos os servidores estejam ociosos

Análise de Sistemas de Fila 
• Os sistemas de filas diferem entre si de acordo com as hipóteses que fazemos a respeito dos padrões de chegada e das taxas de serviço.
• Na análise, precisamos adotar hipóteses sobre o comportamento do sistema. Caso contrário, não se tem por onde começar.

Características de um Sistema de Fila


           (Ex.: Usuários de computadores de uso compartilhado) 

Características de um Sistema de Fila 
1. Processo de Chegada 
2. Distribuição de Tempo de Serviço 
3. Quantidade de Servidores 
4. Tamanho do Sistema de Fila 
5. População de Clientes 

6. Disciplina de Atendimento 

Classificação de Sistema de Fila 
• Um sistema de fila é classificado por suas características 
• Utiliza-se a Notação de Kendall 

A/ S / m / B / K / DS 
Onde: 
A = Distribuição de tempo interchegada 
S = Distribuição de tempo de serviço 
m = Número de canais de serviço simultâneo (servidores) 
B = Quantidade de Buffers ou capacidade do sistema 
K = Tamanho da população 
DS = Disciplina de serviço


O Sistema de Fila M/M/1

•Sistema de fila com um servidor
Exemplo: clientes na fila do caixa eletrônico



Características do Sistema de Fila M/M/1
•Processo de chegada tipo Poisson (M)
•Tempo de serviço - distribuição exponencial (M)
•Quantidade de servidores (= 1)
•Infinitas posições na fila de espera (clientes não são perdidos)
•Disciplina de serviço do tipo FIFO
•População de clientes é infinita (taxa de chegada é constante)