Engenharia de Produção
quinta-feira, 3 de julho de 2014
terça-feira, 3 de junho de 2014
Linguagem de simulação e tipos de simuladores
Linguagens
de Simulação
Modelos de simulação são
geralmente muito complicados, tendo várias interações dentro de elementos de
sistema e muitas destas alterações transformam dinamicamente durante a execução
do programa. Assim, começou a se desenvolver linguagens especiais que promovem
a tradução mais fácil do que as linguagens genéricas.
A simulação de sistemas pode envolver vários níveis
de complexidade e assim softwares específicos têm sido desenvolvidos para
diferentes casos.
As
linguagens de simulação e os pacotes de simulação discreta são ferramentas
muito úteis para a simulação de sistemas discretos. Alguns pacotes também
incluem recursos para modelar sistemas de variáveis contínuas ou com um mix de
variáveis contínuas e discretas.
As
linguagens de simulação em computador facilitam o desenvolvimento e execução de
simulações de sistemas complexos do mundo real. Neste contexto existem as
linguagens de programação de uso geral como o FORTRAN, Pascal, C, C++, entre
outros (MIYAGI, 2006).
As
linguagens de simulação economizam tempo de desenvolvimento, utilizam-se de
recursos para avançar o tempo, programar eventos, manipular entidades, gerar
valores aleatórios coletar dados estatísticos e gerar relatórios.
Características
ü Fornece automaticamente a maioria dos aspectos
necessários na programação;
ü Reduz o trabalho de programação;
ü Fornece um framework natural para modelagem;
ü Os modelos podem ser alterados facilmente;
ü Fornece melhor detecção de erros.
Tipos de Linguagens de Simulação
ü Linguagens
de simulação contínuas - CSMP, DYNAMO, Equações diferenciais e Usadas em
engenharia química;
ü Linguagens
de simulação de eventos discretos – SIMULA e GPSS;
ü Combinadas
- SIMSCRIPT e GASP e, Permitem simulações discretas, contínuas ou combinadas.
Tipos
de Simulações
ü Emulação
- utilizam do hardware ou firmware;
ü Simulação
de Monte Carlo;
ü Simulação
Dirigida por Traces;
ü Simulação
de Eventos Discretos.
Linguagens
específicas
As
linguagens específicas como GPSS, SIMAN V, SIMSCRIPT II.5, SLAM II, e pacotes
de simulação são orientadas para objetos como MODSIM III e similares.
Como a linguagem especificada nessa
pesquisa, foi preferencialmente, o GPSS, buscou-se uma ênfase maior para sua
definição.
ü
GPSS (General Purpose
Simulation System)
A
primeira versão do GPSS foi lançada em 1961, pela IBM. O GPSS sempre foi a
principal linguagem de simulação da IBM, e um grande número de aplicações foram
desenvolvidas nestes longos anos de existência.
Um modelo GPSS é um diagrama de blocos, por onde
fluem transações, que são as entidades temporárias do sistema. Atualmente, as
versões disponíveis mais conhecidas são GPPS/H, GPSS World e WebGPSS. A
linguagem Arena, ferramenta de simulação bastante conhecida atualmente, também
foi fortemente influenciada pelo GPSS.
Na linguagem GPSS, um modelo é descrito através de
um diagrama de blocos. Onde há um conjunto de blocos à disposição do
programador, os quais podem ser interconectados para representar um sistema.
GPSS
é uma linguagem de programação para o fim específico de simulação e com alto
grau de estruturação e orientada para transações. Foi projetada para facilitar
a simulação de sistemas de filas.
A figura abaixo
apresenta os principais blocos, no ambiente WebGPSS.
Alguns
Blocos do Ambiente GPSS
GENERATE
e TERMINATE - Criar e destruir transações;
ASSIGN
- Alterar parâmetros de transações;
TEST,
TRANSFER - Desviar o fluxo de transações;
ADVANCE
- Fazer uma transação esperar por um período de tempo;
SEIZE/RELEASE
- Requisitar/liberar recurso;
ENTER/LEAVE
- Requisitar/liberar um depósito;
QUEUE,
TABULATE - Coletar estatísticas;
SPLIT
- Duplicar transações;
LINK
- Encadear transações à filas
ü
SIMAN V, SINSCRIPT II.5 e SLAM II
São programas de simulação de alto nível,
que têm estruturas especialmente concebidas para facilitar a construção de
modelos. Estas linguagens derivam da escolha da abordagem (por interação de
processos, agendamento de eventos, etc.) para a modelagem de um sistema. Estas
linguagens possuem praticamente todos os recursos e facilidades do GPSS mais a
capacidade de realizar simulação contínua (sistemas com variação contínua do
estado das variáveis).
ü MODSIM III
É
um descendente da linguagem que uma empresa desenvolveu para o exército
americano. Sua sintaxe é herdada do Modula-2 e Ada, assim como os conceitos de
simulação provêm do SIMSCRIPT e Simula.
Pacotes
de simulação
Os pacotes de software mais populares atualmente,
são os seguintes:
ü ProModel / MedModel
No ProModel / MedModel, um modelo é
construído definindo-se um caminho ou rota para uma entidade ou várias
entidades (itens como peças, partes, etc.), as capacidades de cada um dos
pontos ao longo de uma rota destas entidades, os recursos envolvidos tais como
os operadores, o sistema de movimentação das entidades, o agendamento das
chegadas de entidades e a especificação dos parâmetros de simulação. Este
pacote permite ao usuário a inclusão de sub-rotinas em C ou Pascal.
ü SIMFACTORY II.5
É um simulador de sistemas escrito
em SIMSCRIPT II.5 e MODSIM III para profissionais que não possuem muita
experiência nas técnicas de análise de sistemas. Um modelo é construído em
etapas: definindo primeiramente o layout (arranjo físico do sistema) que consiste
em estações de processamento, buffers, áreas de recepção de partes e caminhos
dos transportadores, definição do produto, recursos e por fim, as interrupções.
ü AutoMod
AutoMod, combina as características
de uma linguagem de simulação para fins gerais e um simulador de sistemas
específicos. Possui recursos de programação gerais incluindo a especificação de
processos e procedimentos, recursos, filas e variáveis. O simulador é voltado
para análise de sistemas de movimentação de materiais onde pode-se definir
elementos como: esteiras, veículos transportadores, pontes rolantes, etc.
ü Taylor II
Um modelo em Taylor II consiste de
quatro entidades fundamentais: elements, jobs, routings e products. Os tipos de
elements são classificados em estação de entrada/saída, máquina, buffer,
esteira transportadora, transporte, caminho, apoio, estoque. As três operações
básicas são: processamento, transporte e armazenamento.
ü Witness
WITNESS contém elementos próprios
para sistema de manufatura e é orientada às máquinas (machine-oriented). Por
exemplo, máquinas podem ser do tipo: single, batch, production, assembly,
multi-station ou multi-cycle.
ü Arena
Arena
é um pacote de simulação extensível e com recursos de animação. O modelo é
construído selecionando-se módulos que contêm características do processo. Por
exemplo, um módulo de inspeção pode modelar a tarefa de inspeção de um
processo. Depois da escolha e especificação dos parâmetros dos módulos, o Arena
executa uma animação do processo (MIYAGI, 2006).
Vantagens da Simulação
ü Uma
vez criado, um modelo pode ser utilizado inúmeras vezes para avaliar projetos e
políticas propostas;
ü A
metodologia de análise utilizada pela simulação permite a avaliação de um
sistema proposto, mesmo que os dados de entrada estejam, ainda, na forma de
“esquemas” ou rascunhos;
ü A
simulação é, geralmente, mais fácil de aplicar do que métodos analíticos;
ü Uma
vez que os modelos de simulação podem ser quase tão detalhados quanto os
sistemas reais, novas políticas e procedimentos operacionais, regras de
decisão, fluxos de informação etc., podem ser avaliados sem que o sistema real
seja perturbado;
ü Hipóteses
sobre como ou por que certos fenômenos acontecem podem ser testadas para
confirmação;
ü O
tempo pode ser controlado. Permitindo reproduzir os fenômenos de maneira lenta
ou acelerada, para que se possa melhor estudá-los;
ü Pode-se
compreender melhor quais variáveis são as mais importantes em relação a performance
e como as mesmas interagem entre si e com os outros elementos do sistema;
ü A
identificação de “gargalos”, pode ser obtida de forma facilitada,
principalmente com a ajuda visual;
ü Um
estudo de simulação mostra como
realmente um sistema opera;
Desvantagens
da Simulação
ü A
construção de modelos requer treinamento especial. Envolve arte e, portanto, o
aprendizado se dá ao longo do tempo, com a aquisição de experiência;
ü Os
resultados da simulação são, muitas vezes, de difícil interpretação. Uma vez
que os modelos tentam capturar a variabilidade do sistema, é comum que existam dificuldades
em determinar quando uma observação realizada durante uma execução se deve a
alguma relação significante no sistema ou a processos aleatórios construídos e
embutidos no modelo;
ü A
modelagem e a experimentação associadas a modelos de simulação consomem muitos recursos,
principalmente tempo. A tentativa de simplificação na modelagem ou nos
experimentos objetivando economia de recursos costuma levar a resultados
insatisfatórios (FREITAS).
Simuladores
Um simulador é um aparato/software capaz de reproduzir o comportamento de algum sistema.
Os simuladores reproduzem sensações que
na realidade não estão ocorrendo (ARAUJO, 2007).
Tipos de Simuladores
ü Simulador de carros;
ü Simulador de voo;
ü Simulador de vida;
ü Simulador de Guerra;
ü simulador de raios X.
Fontes
ARAUJO, S. Nascimento A. Simulação
e Modelação Computacional Aplicada. Disponível em: <http://simulacaoemodelacaocomputacional.blogspot.com.br/2007/10/tipos-de-simuladores.html> Acesso em
01/ 06/2014.
FREITAS, Paulo José de Filho. Modelagem e Simulação de Sistemas. Disponível em: <http://www.inf.ufsc.br/~guiga/ine5101/LivroPF/Cap%201.pdf>
Acesso em : 31/05/2014.
Linguagem de Simulação. Disponível em:
<http://www.comp.ita.br/~rahiman/CC236/Linguagens%20de%20Simulacao.pdf>
Acesso em 01/ 06/2014.
MIYAGI, Prof. Dr. Paulo E. Introdução
a Simulação Discreta. Disponível em: <http://minerva.ufpel.edu.br/~alejandro.martins/dis/2012_2/simulacao/Apostila_Simulacao.pdf>
Acesso em 01/ 06/2014.
sexta-feira, 30 de maio de 2014
Sistemas Especialistas
Sistemas Especialistas
Os 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.
A maior capacidade de um Sistema Especialista
consiste em sua especialidade de alto nível que auxilia na solução de
problemas. Este conhecimento especializado pode representar a experiência dos
melhores peritos no campo. Sua especialização de alto nível, juntamente com a
habilidade de aplicação, torna seu custo competitivo e apto a ganhar espaço no
mercado comercial. A flexibilidade do sistema também auxilia, pois ele pode
crescer incrementalmente segundo as necessidades do negócio ou organização.
A formação de um sistema especialista é basicamente
composta por três componentes principais:
Base
de dados - responsável por armazenar os dados pré-levantados
e as possíveis respostas de um determinado conjunto de entradas, é também chamada
de base de conhecimento;
Conjunto
de operadores - são mecanismos que fazem as buscas na
base de dados a fim de encontrar respostas aos dados informados inicialmente;
Estratégia
de controle - que assim como uma árvore binária, é a
responsável por facilitar a localização do conjunto de operadores, restringindo
a base de dados a um subconjunto de metas, a fim de diminuir, a cada dado
fornecido, a gama de possíveis respostas aos problemas especificados (BARRETO e PREZOTO,
2010).
Um sistema especialista pode ser aplicado em:
ü Sistemas
de diagnóstico;
ü Sistemas
de planejamento;
ü Sistemas
de previsão;
ü Sistemas
de controle;
ü Sistemas
de Instrução;
ü Sistemas
de Interpretação.
Classificação
dos Sistemas Especialistas
ü Sistema
Especialista de Interpretação
Esse
sistema fornece a descrição de situações de solução para determinados
problemas, realizando uma análise nos pontos chave do problema e relacionando
com situações parecidas que este tenha em sua base de conhecimento. Assim, é
possível fazer uma análise por aproximação das causas que sejam parecidas com a
causa do atual problema, e oferecer uma solução equivalente a de outros
problemas apresentados.
ü Sistema
Especialista de Diagnóstico
São sistemas que apontam
falhas provenientes da interpretação de dados. A análise dessas falhas pode conduzir a
uma conclusão diferente da simples interpretação de dados. Detectam os
problemas disfarçados por falhas dos equipamentos e falhas do próprio
diagnóstico, que não o detectou, possivelmente por ter falhado.
ü Sistema
Especialista de Monitoramento
Explica as observações de sinais sobre
o comportamento monitorado. Verifica continuamente um determinado comportamento
em limites pré-estabelecidos, sinalizando quando forem requeridas intervenções
para o sucesso da execução.
ü Sistema
Especialista de Predição
Este sistema permite uma previsão do
futuro, baseando-se de em uma modelagem de dados do passado e do presente,
fazendo uso de raciocínios hipotéticos e verificando a tendência de acordo com
a variação dos dados de entrada através de mecanismos que possam verificar os
vários futuros possíveis, a partir da análise do comportamento desses dados.
ü Sistema
Especialista de Planejamento
Neste sistema, prepara-se
um programa de iniciativas a serem tomadas para que se alcançar objetivo
determinado. São estabelecidas etapas e subetapas e, em caso de etapas
conflitantes, são definidas as prioridades. Possui características parecidas
com o sistema para a predição e normalmente opera em grandes problemas de
solução complexa.
ü Sistema
Especialista de Projeto
Este sistema tem
características semelhantes as do planejamento, e devem-se confeccionar
especificações capazes de atender os objetivos dos requisitos particulares. É
um sistema capaz de justificar a alternativa tomada para o projeto final, e de
fazer uso dessa justificativa para alternativas futuras ( MANCHINI E PAPPA).
ü Sistema
Especialista de Depuração
Fornece soluções
para um possível mau-funcionamento por distorção das bases de dados e de regras
do sistema. Desta forma, age como um agente de validação de quebra de regras de
um sistema especialista, validando os processos executados dentro do sistema e
identificando possíveis procedimentos danosos ao programa.
ü Sistema
Especialista de Reparo
Sistema
especialista em executar as correções sugeridas pelos sistemas especialistas de
depuração, administrando as falhas que necessitem de paradas de sistema para
conserto e agendando tais paradas para efetuar a manutenção.
ü Sistema
Especialista de Instrução
Essa sistema tem
o objetivo de propor desafios a seu operador, de forma a instruí-lo a realizar
determinadas tarefas, de forma a ensinar sobre determinado assunto a um
possível estudante que opere o sistema. Pode incorporar subsistemas especialistas,
como de depuração ou reparo, para a obtenção de situações parecidas durante a
operação com o sistema.
ü Sistema
Especialista de Controle
Sistema especialista de maior nível de complexidade.
Esse sistema controla diversos outros tipos de sistemas, não somente os
computacionais. Realiza análises baseadas nos sistemas especialistas de
diagnóstico e predição, de forma a determinar horizontes de negócio para os próprios
sistemas especialistas incorporados a ele (BARRETO e PREZOTO, 2010).
Principais Elementos que Compõem os
Sistemas Especialistas
Os principais elementos que compõem os sistemas
especialistas formam uma Estruturação Básica que é dividida em sete partes:
ü Base
de Conhecimento
Local de
armazenagem de todas as regras e fatos dos sistemas especialistas. Compara-se ao
banco de dados de um sistema tradicional ou a área do cérebro humano que armazena
o conhecimento adquirido.
ü Quadro
Negro
Local de
compartilhamento de regras dos sistemas especialistas. Assim como um código em Prolog
que carrega bases de regras na memória do computador, disponibilizando tais
regras para que outros sistemas possam utilizar, o quadro negro compartilha
informações levantadas pela Base de Conhecimento e Mecanismo de Inferência com
os demais softwares que compartilham informação.
ü Mecanismo
de Inferência
Mecanismo
compartilhado entre sistemas especialistas para busca de dados na base de
conhecimento. Tendo a premissa de que as bases de conhecimento são padronizadas
e que os mecanismos de inferência sigam um padrão de busca, o mecanismo de
inferência irá encontrar a melhor solução dentre um conjunto racional pré-determinado
na base de conhecimento, chegando a resposta mais próxima do ideal esperado
pelo usuário.
ü Processador
de Linguagem Natural
Sistema
responsável por manter a interface com o usuário na área de regras do sistema,
de forma a receber e enviar regras ao usuário, da forma mais transparente
possível para o mesmo.
ü Justificador
de Conhecimento
Trabalha com as
saídas do processo de Regras do Mecanismo de Inferência, este módulo é
responsável por detalhar como o sistema chega a determinada conclusão, para
utilizar do Processador de Linguagem Natural e interagir com o usuário e, se
necessário, solicitar ao usuário as entradas de sistema necessárias para a
finalização.
ü Sequenciador
Seleciona regras que serão utilizadas de acordo com
fatos e hipóteses, colocando-as em ordem de execução para que o interpretador
trabalhe com elas.
Com isso, executa as operações Fuzzy necessárias
para desenvolver uma sequência de processamento interno, concluir em uma
resposta e enviar ao interpretador para execução.
ü Interpretador
Responsável por interpretar as regras advindas do sequenciador,
ou seja, processa as informações e regras que lhes são enviadas para
processamento. Logo, torna-se em parte o núcleo do sistema, para que este possa
trabalhar com as informações passadas.
Principais
Benefícios da Utilização dos Sistemas Especialistas
ü
Velocidade na determinação
dos problemas;
ü
A decisão está fundamentada
em uma base de conhecimento;
ü
Segurança;
ü
Exige pequeno número de
pessoas para interagir com o sistema;
ü
Estabilidade;
ü
Dependência decrescente de
pessoal específico;
ü
Flexibilidade;
ü
Integração de ferramentas;
ü Evita interpretação humana de regras operacionais.
Principais Problemas
Enfrentados pelos Sistemas Especialistas Atuais
ü Fragilidade
Pelo fato de os Sistemas Especialistas terem acesso somente a
conhecimentos altamente específicos do seu domínio, eles não possuem
conhecimentos mais genéricos quando a necessidade surge;
ü Falta de meta-conhecimento
Geralmente não possuem conhecimentos sofisticados sobre sua
própria operação, o que dificulta o raciocínio sobre seu próprio escopo e
restrições. A aquisição do conhecimento continua sendo um dos maiores
obstáculos para aplicação de tecnologia dos Sistemas Especialistas a novos
domínios.
ü Validação
A medição do desempenho de Sistemas
Especialistas é muito difícil porque não é possível quantificar o uso de
conhecimento (FÁVERO e SANTOS).
Exemplos de
sistemas especialistas
ü MYCIN - para diagnosticar doenças
infecciosas;
ü PROSPECTOR
- informações geológicas;
ü LOGIC
THEORIST - provador de teoremas.
Referências
BARRETO, Luiz
Rodolfo; PREZOTO, Marcelo Godoi. Introdução
a Sistemas Especialistas. Disponível em:
<http://www.ft.unicamp.br/liag/wp/monografias/monografias/2010_IA_FT_UNICAMP_sistemasEspecialistas.pdf>
Acesso em: 23/05/2014.
Disponível em: <www.ic.uff.br/~ferraz/IA/Ppt/SistemasEspecialistas/Expert01.ppt> Acesso em: 23/05/2014.
FÁVERO, Alexandre José e SANTOS, Nilson Moutinho dos. Sistemas Especialistas. Disponível
em: <http://www.din.uem.br/~ia/especialistas/index.html>Acesso em: 23/05/2014.
MANCHINI, Daniella Patrícia e PAPPA, Gisele Lobo .
Sistemas Especialistas Disponível em:
<www.din.uem.br/ia/intelige/especialistas/especialistas/index.html> Acesso em: 23/05/2014.
Assinar:
Postagens (Atom)