• Nenhum resultado encontrado

O agente robô virtual

No documento Livro BasesComputacionais (páginas 192-195)

Seguindo as especificações do modelo conceitual, o robô é capaz de movimentar- se nas quatro direções e detectar os obstáculos. A cada movimento o robô avalia a informação de seus sensores, bem como o seu último movimento, para determinar o próximo passo. Em primeiro lugar o robô verifica em quais direções é possível movimentar-se, detectando paredes e outros robôs. Estas informações são incluídas no mapa, informando onde há paredes e onde há espaços livres. Com estas informações, o robô faz as seguintes inferências: • A posição que possui uma parede é descartada da lista de possíveis movimentos; • Se há outro robô em alguma posição da lista, esta também é descartada. • A escolha da nova posição, entre as disponíveis, considera nesta ordem: • Saída do ambiente;

• Continuidade do movimento. Por exemplo, se o robô está indo para direção sul, ele prefere continuar nesta direção, considerando custoso o processo de mudança desta;

• Locais nunca visitados; • Locais menos visitados.

No momento que o robô ocupa uma nova posição, este ponto no mapa é incrementado para identificar que uma nova visita foi feita neste ponto. Na próxima inferência, por este ou outro robô, esta posição terá um peso menor.

Métricas de desempenho: Estas métricas são utilizadas para medir a eficácia

de diferentes configurações do sistema.

Para o caso da exploração de labirintos, uma das métricas a ser utilizada para analisar a eficácia do modelo é o tempo que os robôs demoram para sair do labirinto. Define-se que, quanto mais rápido os robôs encontrarem a saída, mais eficiente será o sistema.

Levantamento da infraestrutura necessária: Nesta etapa tem-se o levan-

tamento dos equipamentos, ferramentas e programas computacionais a serem utilizados na construção do modelo.

Para a implementação do modelo dos robôs navegadores, considera-se ne- cessário o uso de uma plataforma de simulação. Dentre as opções de plataformas disponíveis cita-se a plataforma Swarm Group (Swarm GD, 2013).

8.3.2 modelos de simulação

Um modelo de simulação é um tipo particular de modelo que também procura re- presentar um determinado sistema, real ou abstrato. Entretanto, difere dos demais modelos na medida em que permite:

• Estudar como o sistema modelado comporta-se sob determinadas condições; • Examinar, em variados graus de detalhamento, as consequências de alterações internas no comportamento geral do sistema.

Um dos primeiros modelos de simulação, desenvolvido por John Von Neumann e Stanislaw Ulam em 1940, durante a Segunda Guerra Mundial, foi utilizado para o estudo da blindagem de reatores nucleares. Este estudo seria muito caro em uma solução experimental real, e até mesmo muito perigoso em termos de segurança às pessoas envolvidas. Von Neumann e Ulam utilizaram ferramentas estatísticas com amostragens aleatórias como método para obter uma aproximação numérica de problemas complexos. Assim, conseguiram simular um comportamento complexo através de um modelo estatístico. Tal técnica foi denominada Método de Monte Carlo e será utilizada em uma simulação na Seção 8.5.1 para a estimativa do valor de π. Em Gilbert e Troitzsch (1999) e Ferber (1996) são apresentados alguns objetivos de uma simulação:

• Elaborar e formalizar novas teorias, bem como auxiliar em um melhor enten- dimento de teorias já existentes;

• Testar hipóteses do sistema modelado;

• Obter um melhor entendimento de algumas características do sistema; • Predizer comportamentos e ações futuras;

• Analisar e detectar elementos críticos do sistema.

A infraestrutura técnico-teórica da área de simulação permite capturar elementos essenciais de um sistema alvo, sem trabalhar diretamente com este. Esta característica é importante, por exemplo, em situações em que:

• É proibitivo, por ser arriscado ou caro, realizar experiências em situações reais; • Deseja-se saber os limites de um sistema, sem o risco de destruí-lo.

8.4 simulação computacional

A área de Simulação Computacional propicia uma infraestrutura teórico-técnica adequada para a manipulação e geração de conhecimento de forma sistêmica e integrada. Isto porque propicia a criação e execução de modelos, em ambientes com- putacionais, que funcionam como laboratórios que podem ser usados para analisar e testar teorias, hipóteses, limites, previsões, etc. Assim, ambientes computacionais de simulação podem ser vistos como laboratórios, e uma simulação como um expe- rimento realizado a partir de um modelo.

As técnicas e ferramentas computacionais de simulação têm sido usadas em diversas áreas como, por exemplo:

• Pesquisadores da área médica usam ambientes simulados para treinar técnicas de cirurgia, antes de testá-las em pacientes reais;

• Na indústria projetos de peças, máquinas, processos e produtos podem ser inicialmente desenvolvidos em ambientes controlados de simulação;

• Na simulação de catástrofes e no posterior trabalho de resgate, em queimadas, terremotos, situações de pânico coletivo, etc. Como exemplo de ambiente de simulação, veja o projeto RoboCup Rescue (RoboCupRescue, 2013).

8.4.1 verificação e validação

A credibilidade, e a consequente aceitação dos resultados de uma simulação, é atestada através de dois processos: verificação e validação.

O processo de verificação objetiva comprovar se o modelo computacional foi imple- mentado corretamente em um sistema computacional. A comprovação se dá através da comparação entre o modelo conceitual e o modelo computacional (Sargent, 2010).

Aqui, a pergunta a ser respondida é: o modelo está implementado corretamente no computador?

Para verificar a implementação de uma simulação computacional, técnicas tradicionais de Engenharia de Software podem ser utilizadas, bem como técnicas mais específicas para programas de simulação. O crescente número de variáveis presentes nas si- mulações pode representar um obstáculo no processo de verificação, aumentando o esforço necessário nesta fase de desenvolvimento. Neste caso, uma abordagem comum é a escolha de variáveis-chave no processo de verificação.

Por sua vez, validar um modelo significa comprovar que as considerações feitas para simplificar o comportamento do sistema real são aceitáveis. A questão a ser respondida no processo de validação é: o modelo conceitual foi construído de forma correta? Ou seja, como determinar que uma simulação é um modelo correto da realidade? A validação é um processo iterativo de comparação entre os comportamentos do modelo conceitual e do sistema alvo. Correções são feitas até que se atinja a precisão desejada, obtendo-se confiança de que a análise dos resultados da simulação leva a inferências válidas (Sargent, 2010).

8.4.2 metodoloGia para o desenvolvimento de simulações

computacionais

A Figura 8.3 ilustra um ciclo completo para o desenvolvimento de uma simulação computacional.

No documento Livro BasesComputacionais (páginas 192-195)