UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO REDE NEURAL ARTIFICIAL PARA O DESLOCAMENTO DE UM ROBÔ AUTÔNOMO Área de Inteligência Artificial por Marlos Roberto de Souza Filho Rudimar Luiz Scaranto Dazzi, Dr. Orientador Itajaí (SC), novembro de 2009

2 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO REDE NEURAL ARTIFICIAL PARA O DESLOCAMENTO DE UM ROBÔ AUTÔNOMO Área de Inteligência Artificial por Marlos Roberto de Souza Filho Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Rudimar Luiz Scaranto Dazzi, Dr. Itajaí (SC), novembro de 2009

3 "A luta pela verdade deve ter precedência sobre todas as outras." Albert Einstein "Possuímos em nós mesmos, pelo pensamento e a vontade, um poder de ação que se estende muito além dos limites de nossa esfera corpórea." Allan Kardec "A compaixão para com os animais é das mais nobres virtudes da natureza humana." Charles Darwin "Embora ninguém possa voltar atrás e fazer um novo começo, qualquer um pode começar agora e fazer um novo fim." Francisco Cândido Xavier Há mais ventura em dar, que em receber. Jesus Cristo "Não me sinto obrigado a acreditar que o mesmo Deus que nos dotou de sentidos, razão e intelecto, pretenda que não os utilizemos." Galileu Galilei "A liberdade não é somente um direito que se reclama para si próprio: ela é também um dever que se assume em relação aos outros." João Paulo II "Todos gostamos de belas palavras, porém poucos de nós as transformam em atos." Sun Tzu "Nossas dúvidas são traidoras e nos fazem perder o bem que, com freqüência, poderíamos ganhar, por simples medo de arriscar." William Shakespeare "Não é o destino que importa, mas sim a viagem." Autor Desconhecido "Faça o bem a todas as criaturas em todos os locais da Terra, faça sem esperar nada em troca." Autor Desconhecido ii

4 DEDICATÓRIA A Deus. Aos Bons Espíritos. Aos meus amados pais (Claudete e Enoir) por toda educação, carinho e amor que sempre me deram, e ao meu amado irmãozinho (Christian) pelo carinho. iii

5 AGRADECIMENTOS A Deus, por tudo; Aos Bons Espíritos, pelo auxílio; A minha amada mãe Claudete, que sempre reza e torce por mim; Ao meu amado pai Enoir, que sempre acreditou em mim; Ao meu amado irmãozinho Christian, pelo enorme carinho e companheirismo; A minha família que sempre me apoiou e incentivou muito e por ser a minha maior fonte de referência; Ao meu amigo Nilson Debatin, pelo interesse e auxílio nos testes do ambiente de simulação Khepera e no desenvolvimento do código construído em linguagem C utilizado no software de testes da RNA; Ao meu amigo Ricardo Erick Rebelo, pela ajuda no desenvolvimento do código na linguagem C utilizado no software de testes da RNA; Ao meu amigo Fábio Coelho, pelo apoio e ajuda na fase de implementação do ambiente virtual desenvolvido em Java, construído sobre o software Simbad 3D. Ao meu amigo Emerson Del Sent pelo auxílio no desenvolvimento do abstract deste projeto; Ao meu orientador, professor Rudimar, pelo conhecimento passado, pelo incentivo, pela confiança e principalmente pela paciência; À Banca Examinadora, pelas sugestões e críticas que auxiliaram na elaboração final de um documento maduro e consistente em relação à natureza do projeto; Enfim, a todos que direta ou indiretamente auxiliaram na execução desse projeto. iv

6 SOUZA FILHO, Marlos Roberto de. Rede Neural Artificial para o deslocamento de um Robô Autônomo f. Trabalho de Conclusão de Curso (Bacharel) - Curso de Ciência da Computação, Univali, Itajaí, v

7 SUMÁRIO LISTA DE ABREVIATURAS... ix LISTA DE FIGURAS... x LISTA DE TABELAS... xiii RESULMO... xiv ABSTRACT... xv 1 Introdução INTELIGÊNCIA E AUTONOMIA NAVEGAÇÃO AUTÔNOMA DE ROBÔS E APRENDIZAGEM ABORDAGENS PARA SISTEMAS AUTÔNOMOS INTELIGENTES PROBLEMATIZAÇÃO Formulação do Problema Solução Proposta OBJETIVOS Objetivo Geral Objetivos Específicos METODOLOGIA ESTRUTURA DO TRABALHO Fundamentação Teórica ROBÔS Breve histórico dos robôs móveis Definições de robôs móveis Robôs Inteligentes INTELIGÊNCIA ARTIFICIAL REDES NEURAIS ARTIFICIAIS Neurônios Artificiais: Modelo MCP Função de Ativação Topologias de Redes Neurais Artificiais Principais Arquiteturas de Redes Neurais Artificiais Aprendizado Aprendizado Supervisionado Aprendizado Não-supervisionado O Algoritmo Backpropagation SENSORES ATUADORES CONTROLADORES FERRAMENTAS PARA CRIAÇÃO DE RNAS Java Object Oriented Neural Engine Joone vi

8 2.7.2 Stuttgart Neural Network Simulator SNNS Java Neural Network Simulator JavaNNS SIMULADORES DE ROBÔS Robocode Khepera Simulator Simbad 3D FERRAMENTAS SIMILARES Utilizando RNAs no Controle de Robôs Moveis Aplicados ao Combate de Incêndios Florestais Estacionamento de um Veículo de Forma Autônoma Utilizando RNAs Dirigibilidade de Mini-Robôs com RNAs: Uma Experiência Acadêmica Projeto METODOLOGIA REQUISITOS FUNCIONAIS REQUISITOS NÃO FUNCIONAIS REGRAS DE DECISÃO DA REDE NEURAL ARTIFICIAL FUNCIONAMENTO DA RNA E DO VEÍCULO Implementação DEFINIÇÃO DO AMBIENTE DE MANIPULAÇÃO DA RNA Criação dos Arquivos de Padrões Instalação e Detalhamento da Ferramenta JavaNNS Criando a Rede Neural Artificial Manipulando a Rede Neural Artificial As Redes Neurais Artificiais Criadas no JavaNNS Primeira RNA apresentada GSC A Segunda RNA Apresentada GSC B Terceira RNA Apresentada GSC C Quarta RNA Apresentada GSC D Convertendo o Arquivo da RNA para a Linguagem C Analisando o Arquivo de Resultado da RNA Comparando as RNAs apresentadas Utilizando a RNA em um aplicativo DYNAMIC LINK LIBRARY DLL Verificando o cabeçalho das DLLs criadas Validando as DLLs desenvolvidas DEFINIÇÃO DO AMBIENTE DE SIMULAÇÃO DO ROBÔ A Biblioteca JNA Criação dos Mundos Virtuais e dos Robôs Virtuais Chamada e Utilização da Biblioteca RNA Resultados Dificuldades vii

9 7 Conclusão PROJETOS FUTUROS Referências Bibliográficas A Trabalhando com DLLs B Criando a DLL Utilizando o C++ Borland C Criando a DLL Utilizando o Dev C D Carregando uma DLL Estáticamente E Carregando uma DLL Dinâmicamente F RNA gerada pelo Ambiente JavaNNS G Arquivo de Treinamento da RNA H Arquivo de Validação da RNA I Arquivo de Resultado da RNA - Validação J Código Fonte do Aplicativo Validador da RNA K Planilha com os Padrões de Entrada e Saída L Código Fonte do Arquivo PDRNA.DLL M Código Fonte do Mundo MarlosObstaculo N Código Fonte do Mundo MarlosLaberinto O Alterações para Adaptar o Robô à RNA viii

10 LISTA DE ABREVIATURAS BP CA CC DLL GSC GNU GPL IPVR IA JavaNNS JNA JNI JOONE MLP Quickprop PRNA PDRNA RBF RCS RProp RNA SNA SNNS TCC TDNN WSI UNIVALI VSC VSD VSE X11R4 X11R5 XGUI Backpropagation Corrente Alternada Corrente Contínua Dynamic Link Library Graduation in Science of the Computation GNU is Not Unix General Public Licence Institute for Parallel and Distributed High Performance Systems Inteligência Artificial Java Neural Network Simulator Java Native Access Java Native Interface Java Object Oriented Neural Engine Multilayer Perceptron Quickpropagation Projeto Rede Neural Artificial Projeto Dev Rede Neural Artificial Generalized Radial Basis functions Revision Control System Resilient Backpropagation Rede Neural Artificial Sistema de Navegação Autônoma Stuttgart Neural Network Simulator Trabalho de Conclusão de Curso time-delay neural networks Wilhelm-Schickard-Institute for Computer Science Universidade do Vale do Itajaí Valor do Sensor Central Valor do Sensor Direito Valor do Sensor Esquerdo X Window System - Version 11 release 4 of the X protocol X Window System - Version 11 release 5 of the X protocol X Graphical User Interface ix

11 LISTA DE FIGURAS Figura 1. Shakey, Kephera e Sojourmer Figura 2. Neurônio de McCulloch e Pitts...16 Figura 3. Feedforward de uma camada Figura 4. Feedforward de duas camadas Figura 5. Recorrência entre saída e intermediária...18 Figura 6. Recorrência auto-associativa Figura 7. Aprendizado supervisionado...20 Figura 8. Aprendizado não-supervisionado...21 Figura 9. Esquema de funcionamento do Algoritmo Backpropagation...23 Figura 10. Exemplo de uma superfície de erro para um treinamento usando backpropagation Figura 11. Tipos de funções de ativação mais utilizados...25 Figura 12. Ambiente do Java Object Neural Engine Joone Figura 13. Ambiente do Stuttgart Neural Network Simulator SNNS...31 Figura 14. Ambiente do Java Neural Network Simulator JavaNNS...32 Figura 15. Anatomia de um robô no simulador Robocode Figura 16. Interface do ambiente de simulação do Robocode Figura 17. Interface do ambiente de simulação do Khepera...36 Figura 18. Interface do ambiente de simulação do Webots Figura 19. Interface do ambiente de simulação Simbad 3D Figura 20. Exemplo de uma RNA da arquitetura MLP Figura 21. Sensores do Veículo Móvel Figura 22. Direções do Veículo Móvel...43 Figura 23. Exemplo de dados que obedece ao conjunto de regras apresentadas...48 Figura 24. Layout explicativo quanto ao funcionamento do veículo...49 Figura 25. Primeira seqüência de valores para análise Figura 26. Segunda seqüência de valores para análise Figura 27. Terceira seqüência de valores para análise...51 Figura 28. Quarta seqüência de valores para análise Figura 29. Quinta seqüência de valores para análise Figura 30. Layout oficial do arquivo de padrões do JavaNNS e SNNS Figura 31. Layout de padrões de arquivo simples aceito pelo JavaNNS e SNNS Figura 32. Criando camadas para a RNA no JavaNNS Figura 33. Caixa de dialogo para a criação das camadas...58 Figura 34. Criando conexões entre as camadas de neurônios...58 Figura 35. Caixa de definição quanto ao tipo de conexões a serem criadas Figura 36. RNA criada no ambiente JavaNNS Figura 37. Abrindo o Painel de Controle Figura 38. Painel de Controle do JavaNNS Figura 39. RNA GSC A Treinada...63 Figura 40. Arquivo log de Treinamento e Validação da RNA GSC A Figura 41. Gráfico de erro ( e 2 ) e validação da RNA GSC A...64 Figura 42. RNA GSC B Treinada...65 Figura 43. Arquivo log de Treinamento e Validação da RNA GSC B...66 Figura 44. Gráfico de erro ( e 2 ) e validação da RNA GSC B Figura 45. RNA GSC C Treinada...67 Figura 46. Arquivo log de Treinamento e Validação da RNA GSC C...68 x

12 Figura 47. Gráfico de erro ( e 2 ) e validação da RNA GSC C Figura 48. RNA GSC D Treinada...71 Figura 49. Arquivo log de Treinamento e Validação da RNA GSC D Figura 50. Gráfico de erro ( e 2 ) e validação da RNA GSC D...72 Figura 51. Convertendo a Rede para a Linguagem C com o snns2c.exe...72 Figura 52. Comando de utilização do snns2c.exe Figura 53. Trecho do arquivo de rede gerado pelo JavaNNS Figura 54. Trecho do arquivo em linguagem C gerado pelo snns2c.exe Figura 55. Comando de utilização do analyse Figura 56. Trecho do Arquivo de Resultados da RNA GSC B Figura 57. Utilização do aplicativo analyzer...76 Figura 58. Trecho do código em linguagem C referente ao programa principal Figura 59. Formato do arquivo de entrada Figura 60. Formato do arquivo de saída...78 Figura 61. Visualização das funções contidas no arquivo PRNA.DLL...81 Figura 62. Visualização das funções contidas no arquivo PDRNA.DLL Figura 63. Exemplo de definição de uma interface utilizando JNA Figura 64. Exemplo de chamada de interface utilizando JNA...84 Figura 65. Código do arquivo interfaceprna.java Figura 66. Chamada detalhada da interface interfaceprna...85 Figura 67. Invocando a função rede() através da interface neural...85 Figura 68. Mundo virtual MarlosObstaculos Figura 69. Mundo virtual MarlosLaberinto Figura 70. Robô Virtual Simulado...87 Figura 71. Importação do pacote JNA para utilização no ambiente virtual...87 Figura 72. Posição Inicial do Robô...90 Figura 73. Trajetória e posição Final do Robô...90 Figura 74. Posição Inicial do Robô...91 Figura 75. Trajetória e posição Final do Robô...91 Figura 76. Uma visão didática do conteúdo interno de uma dll Figura 77. Vários programas em execução usando a mesma dll simultaneamente Figura 78. Chamando uma dll escrita em C++ através de várias linguagens Figura 79. Chamando uma dll dinamicamente em C Figura 80. Caixa de diálogo Other, para escolher o que se deseja criar Figura 81. Janela New Dynamic-link Library Figura 82. Código fonte gerado automaticamente para começar o desenvolvimento de uma dll Figura 83. Pasta contendo todos os arquivos gerados após a compilação do projeto Figura 84. Sintaxe para declaração de funções que poderão ser exportadas para fora da dll Figura 85. Caixa de diálogo New Project Figura 86. Caixa de Diálogo New DLL Project Figura 87. Conteúdo alterado do arquivo PDRNA.dev Figura 88. Código contido no arquivo PDRNA.H Figura 89. Pasta contendo todos os arquivos gerados após a compilação do projeto Figura 90. Fluxo genérico de carregamento estático de uma dll Figura 91. Código inserido no envento OnClick do objeto Button Figura 92. Declaração da função a ser importada estaticamente da dll: Figura 93. Posição onde deve ser inserida a instrução contida na Figura Figura 94. Declaração de um ponteiro para uma função Figura 95. Declarando um ponteiro para uma função com parâmetros xi

13 Figura 96. Fluxo genérico de carregamento dinâmico de uma DLL xii

14 LISTA DE TABELAS Tabela 1. Principais comandos do robô Tabela 2. Principais eventos utilizados pelo robô...34 Tabela 3. Principais funções utilizadas para a obtenção de informações...35 Tabela 4. Principais funções disponibilizadas pelo Simbad 3D Tabela 5. Regras de decisão da Rede Neural Artificial Tabela 6. Análise e Pontuação dos Ambientes de Criação de RNAs Tabela 7. Resultados obtidos pelo Analyzer quanto ao Treinamento da RNA Tabela 8. Resultados obtidos pelo Analyzer quanto a Validação da RNA Tabela 9. Análise e Pontuação dos Ambientes de Virtualização de Robôs Tabela 10. Comandos que devem ser inseridos na construção de funções para dll Tabela 11. Tipos redefinidos Tabela 12. Ponteiro para Funções Tabela 13. Ponteiros para Variáveis Tabela 14. Protótipos de Funções Tabela 15. Declaração de Ponteiro para Função Tabela 16. Sintax e Descrição da Função LoadLibrary() Tabela 17. Sintax e Descrição da Função FreeLibrary() Tabela 18. Sintax e Descrição da Função GetProcAddress() xiii

15 RESULMO SOUZA FILHO, Marlos Roberto de. Rede Neural Artificial para o Deslocamento de um Robô Autônomo. Itajaí, f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, A crescente necessidade de desenvolvimento de mecanismos capazes de auxiliar o ser humano, e o desejo de criar sistemas capazes de substituir o homem em tarefas consideradas inadequadas ou que representem risco à sobrevivência do mesmo, aliadas ao crescente avanço de ciências aplicadas como a Robótica e a Inteligência Artificial (IA), criaram um ambiente propício ao desenvolvimento de robôs que sejam, até certo ponto, autônomos o suficiente para executarem tarefas tipicamente humanas. O deslocamento autônomo ainda é o maior obstáculo enfrentado pela IA, todavia essa dificuldade tem sido superada, com certo grau de sucesso, por aquela que é uma das técnicas mais antigas de IA, as Redes Neurais Artificiais (RNA). Esse projeto teve como objetivo o desenvolvimento de uma RNA capaz de propiciar a um robô o deslocamento necessário ao mesmo, tornando-o capaz de se deslocar de forma autônoma através de um ambiente terrestre plano. Para tal finalidade, foi utilizada uma RNA feedforward, treinada através do algoritmo backpropagation. Para o desenvolvimento da RNA foram analisados e documentados seis (6) ambientes de desenvolvimento de redes neurais, além de aplicativos utilizados para analisar arquivos de resultado e para converter os arquivos de arquitetura de RNA para arquivos fonte em linguagem C. Após os arquivos de arquitetura terem sido convertidos para arquivos fonte em linguagem C, esses arquivos fontes foram utilizados para a criação de um aplicativo capaz de ler um arquivo de padrões de entrada, analisá-los utilizando o código fonte da RNA e gerar um arquivo de padrões de saída com a resposta da RNA. Foram ainda desenvolvidas bibliotecas de ligação dinâmicas (BLD) utilizando os arquivos fonte da RNA, detalhes quanto às bibliotecas de ligação dinâmica, sua criação e utilização estão documentadas em detalhes. A biblioteca JNA foi utilizada para realizar a ligação entre a biblioteca de ligação dinâmica e o ambiente de simulação de robôs, sua utilização e funcionamento estão documentados em detalhes. Para a simulação do robô utilizando a rede neural artificial desenvolvida foram analisados e documentados seis (6) ambientes de simulação de robôs. Por fim, apresentam-se os resultados obtidos, as dificuldades encontradas e sugestões para novos projetos. Na seção de Apêndices encontram-se além de informações adicionais do projeto, dados utilizados no treinamento e na validação da RNA, além de alguns códigos fonte completos, em linguagem C e java. Palavras-chave: Redes Neurais Artificiais. RNA. Robótica. Robôs. Backpropagation. Inteligência Artificial. IA. Dynamic-link library. DLL. Biblioteca de ligação dinâmica. Java Native Access. JNA. Simbad 3D. xiv

16 ABSTRACT Nowadays there has been an increasing necessity of developing mechanisms in order to help people to accomplish several tasks, as well as the wish to create systems effective enough to replace people regarding risky and harmful activities. Furthermore, applied sciences - such as Robotics an Artificial Intelligence (AI) - have advanced in such a way that there are now the ideal conditions to project robots which, until a certain point, would be independent enough to carry on with typical human work. Autonomous moving is still the greatest obstacle to be overcome by AI, however this challenge has been faced, successfully so to speak, by the AI technique is the oldest among all: the Artificial Neural Networks (ANN). The aim of this project is develop an ANN able to give any robot adaptative motion skills, allowing it to go anywhere, plan, in earthly environment. For this ANN development, (6) neural networks development enviroments have been analyzed and documented, besides applicatives commonly used to analyze result files and to convert ANN architeture files into source files in C language. After such a conversion these source files have been used to create an applicative able to read an entry patterns file, analyze them using the ANN source code and generate an exit patterns file along the ANN response. Dynamic Link Libraries (DLL) have been developed using the ANN source files. Details from the BLD their creation and utilization have been documented in detail. The JNA libray has been used to link the DLL and the robots simulation enviroment, also reported in detail. For the simulation of the robot with the artificial neural network developed, (6) robot simulations enviroments have been analyzed and documented. Finally, the results obtained, the challenges faced and suggestions for new projetcs are presented. In the appendix section data used in the ANN training and validation, besides additional informations of the project and full source codes in C and Java language. Keywords: Artificial Neural Networks. ANN. Robotics. Robots. Backpropagation. Artificial Intelligence. Dynamic-Link Library. DLL. Java Native Access. Simbad 3D. xv

17 1 INTRODUÇÃO 1.1 Inteligência e Autonomia A evolução científica e tecnológica tem trazido inovações e descobertas cada vez mais freqüentes e surpreendentes. No entanto, há áreas do conhecimento que sempre foram e ainda hoje continuam sendo desafiadoras e intrigantes. É o caso da inteligência: o que a caracteriza, de que forma e quando ela opera e como reproduzi-la artificialmente (CAZANGI, 2004)? Considerando a possibilidade de graduar a manifestação de inteligência em vários níveis e escalas, a natureza é fonte inesgotável de mecanismos, comportamentos e organismos que podem ser considerados inteligentes. Dos seres extremamente simples aos mais complexos há vestígios de inteligência, seja em indivíduos isolados ou então no comportamento coletivo de um grupo de indivíduos. São estes aspectos que atraem a atenção de pesquisadores das mais diversas áreas, como biologia, psicologia e engenharia da computação, na busca pela compreensão e reprodução artificial dos sistemas biológicos que expressam algum grau de inteligência (CAZANGI, 2004). Não é possível estudar a inteligência de forma isolada, dado que ela interligada a outras propriedades presentes nos organismos biológicos. Uma das principais propriedades diretamente conectadas à existência de inteligência é a autonomia. Um agente artificial não autônomo não possui capacidade de inteligência própria. Na verdade, ele incorpora aspectos de inteligência especificados por quem o projetou. Sistemas biológicos são em geral autônomos, isto é, suas estruturas não são impostas por agentes externos, mais sim desenvolvidas e mantidas por eles próprios por meio de mecanismos como auto-organização, evolução, adaptação e aprendizagem. Considera-se, portanto, que a manifestação de algum grau de inteligência pode ser vista como um atributo de agentes autônomos (Steels, 1995 apud CAZANGI, 2004). Dizer que um agente é autônomo implica em afirmar que ele, além de agir por si só, consegue se auto-regular gerando as próprias regras que regem sua atuação. Esta definição distingue autônomo de automático. Ser automático é ser capaz de atuar em um ambiente: percebê-lo e impactá-lo visando o cumprimento de tarefas definidas. Um agente autônomo é antes de tudo automático, mas vai além disso: ele deve se autodirigir com base na sua capacidade própria de aprender e adaptar seus comportamentos. Além disso, os processos de aprendizagem e adaptação devem ocorrer enquanto o agente está operando no ambiente, e não fora dele (por exemplo, em fase de projeto) (CAZANGI, 2004).

18 Da mesma maneira adotada para o conceito de inteligência, é possível considerar a existência de níveis de autonomia, até pelo fato de não existir um ser totalmente autônomo. Os animais em geral, e o ser humano, em particular, dependem de fatores externos para sobreviverem. Estes organismos dependem do ambiente em que vivem para obter alimento e oxigênio, por exemplo. Logo, quando se afirma que um agente é autônomo, deve-se ter em mente que ele detém certo nível de autonomia, e não que ele é completamente autônomo. Desta forma, é possível comparar agentes em termos de autonomia, sendo que quanto mais autônomo for o agente, menos auxílio externo ele necessita (CAZANGI, 2004). Pfeifer & Sheier (1999 apud CAZANGI, 2004) afirmam que agentes autônomos artificiais são ideais para se estudar os princípios da inteligência. Segundo eles, uma das motivações para o emprego desses agentes envolve a idéia de emergência. Agentes autônomos apresentam comportamentos chamados emergentes, ou seja, comportamentos que surgem pela interação do agente com o ambiente sem que tenham sido programados a priori pelo projetista. Por exemplo, processos de navegação autônoma envolvendo múltiplos robôs podem promover a emergência de comportamentos organizados que não são expressos por nenhum destes robôs quando isolados dos demais (CRESTANI, 2001 apud CAZANGI, 2004). 1.2 Navegação Autônoma de Robôs e Aprendizagem A pesquisa de sistemas inteligentes por intermédio de agentes autônomos é classificada como uma metodologia sintética, cuja idéia se resume em construir para entender. A abordagem sintética consiste em criar sistemas artificiais que reproduzam aspectos dos sistemas naturais, de modo a entender seus mecanismos internos e assim descobrir como e por que certos eventos ocorrem. O outro paradigma de abordagem, conhecido como analítico, prega a realização de experimentos em um sistema já existente (um ser humano, ou uma colônia de formigas, por exemplo) para então analisar os resultados visando desenvolver um modelo que seja capaz de prever os efeitos de experimentos futuros (PFEIFER & SHEIER, 1999 apud CAZANGI, 2004). Um dos problemas de engenharia mais complexos, desafiadores e propícios à pesquisa de sistemas autônomos inteligentes é a navegação autônoma de robôs. O problema consiste, basicamente, em desenvolver mecanismos de tomada de decisão para um ou mais robôs móveis, dispostos em um ambiente arbitrário junto ao qual devem atuar de forma autônoma, visando cumprir certas tarefas. Muito embora a navegação de robôs possa ser descrita com base nesta breve definição, existem muitos aspectos de projeto envolvidos: configurações do ambiente, modelo do 2

19 robô, elenco de tarefas e critérios de desempenho. Sendo assim, o desenvolvimento de critérios de navegação autônomos envolve desafios extremamente complexos para o trabalho do projeto (FIGUEIREDO, 1999 apud CAZANGI, 2004). Devido à grande variedade de situações com que o robô pode se defrontar ao longo da navegação, sendo algumas inéditas e não previsíveis (sobretudo em ambientes desconhecidos), o desempenho de um sistema de navegação depende de sua capacidade de aprendizagem e adaptação. Ou seja, somente aprimorando sai estratégia de navegação, por meio da incorporação de conhecimento (adquirido por experimentação) e ajuste de parâmetros, um sistema de navegação torna-se apto a guiar eficientemente o robô visando maximizar o atendimento dos objetivos de navegação. Justamente devido à importância da aprendizagem, intensos esforços de pesquisa têm sido dedicados ao aperfeiçoamento desta potencialidade em sistemas de navegação (FIGUEIREDO, 1999 apud CAZANGI, 2004). Já no tocante aos mecanismos de adaptação (ajuste de parâmetros), mecanismos sofisticados e eficientes derivados da teoria de controle automático (KUO, 1991 apud CAZANGI, 2004) podem ser prontamente empregados. Um robô controlado por um sistema que possua capacidade de aprendizagem vai vivenciar suas próprias experiências, adquirindo conhecimento ao longo do tempo e por meios próprios, não pela imposição de um agente externo. Fica evidente, portanto, que um robô com capacidade de aprendizado é potencialmente mais autônomo que outro incapaz de aprender. Um benefício da aprendizagem pode ser observado na seguinte situação: supondo que o agente encontre as mesmas circunstâncias pelas quais já passou antes, depois de uma fase de aprendizado ter ocorrido, seu sistema pode reagir de forma diferente da anterior e, possivelmente, com melhores resultados. Fica explícita então a relevância dos mecanismos de aprendizagem na construção de sistemas autônomos inteligentes (CAZANGI, 2004). Nolfi & Floreano (2000 apud CAZANGI, 2004)explicam que a aprendizagem de robôs baseia-se na idéia de que um sistema de controle pode se tornar apto a atuar eficientemente diante de novas situações, sustentando-se na sua capacidade de generalizar conhecimentos adquiridos anteriormente, mesmo que estes sejam diversos e incompletos. Entretanto, generalização não e a única propriedade de um sistema com aprendizagem, existem outras propriedades importantes. Alguns atributos básicos relacionados a abordagens que contemplam aprendizagem são descritos a seguir (PFEIFER & SHEIER, 1999 apud CAZANGI, 2004): O sistema deve ser robusto em relação a ruídos; 3

20 Os mecanismos devem convergir rapidamente e têm que permitir a aprendizagem durante a operação do sistema (on-line); A aprendizagem deve ser incremental e continuada; O processo de aprendizagem precisa ser computacionalmente tratável, isto é, deve possibilitar sua execução em tempo real; e O aprendizado deve depender apenas de informações obtidas pelo próprio robô, por meio de sua capacidade sensorial. 1.3 Abordagens para Sistemas Autônomos Inteligentes A pesquisa em torno do desenvolvimento de sistemas autônomos inteligentes é intensa e apresenta diversas abordagens. Algumas abordagens promissoras envolvem: sistemas dinâmicos, economia comportamental e esquemas. Entretanto, a abordagem mais consolidada e amplamente utilizada, particularmente em sistemas de navegação autônomos (como são denotados os sistemas autônomos inteligentes dedicados ao problema de navegação de robôs) é a Inteligência Artificial (CAZANGI, 2004). A Inteligência Artificial pode ser dividida em duas partes: a IA clássica (tradicional) e a inteligência computacional. A IA clássica reúne técnicas baseadas em lógica proposicional e na manipulação algorítmica de estruturas simbólicas. Já a inteligência computacional, a qual engloba redes neurais artificiais, computação evolutiva, sistemas nebulosos e, mais recentemente, outros mecanismos de computação bio-inspirada, se caracteriza pela síntese de estruturas flexíveis para armazenagem e fluxo de informação, podendo apresentar processamento distribuído, controle descentralizado, auto-organização, não-linearidade, além de recorrer a uma grande variedade de mecanismos de inferência e buscas em espaços de atributos (DE CASTRO & YON ZUBEN, 2004 apud CAZANGI, 2004). Existe um consenso em grande parte da comunidade de pesquisa em sistemas inteligentes de que as técnicas clássicas de IA falham em alguns aspectos relativos à aprendizagem e interação com o ambiente. A maioria desses aspectos tem sido bastante discutida na literatura (CAZANGI, 2004). Note que, neste projeto, quando se fala em sistemas de IA clássica, refere-se a sistemas puramente simbólicos. A principal razão para o problema encontrado na IA clássica é que os 4

Redes Neurais. Profa. Flavia Cristina Bernardini

Redes Neurais. Profa. Flavia Cristina Bernardini Redes Neurais Profa. Flavia Cristina Bernardini Introdução Cérebro & Computador Modelos Cognitivos Diferentes Cérebro Computador Seqüência de Comandos Reconhecimento de Padrão Lento Rápido Rápido Lento

Leia mais

Complemento II Noções Introdutória em Redes Neurais

Complemento II Noções Introdutória em Redes Neurais Complemento II Noções Introdutória em Redes Neurais Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações

Leia mais

Módulo 6: Inteligência Artificial

Módulo 6: Inteligência Artificial Módulo 6: Inteligência Artificial Assuntos: 6.1. Aplicações da IA 6.2. Sistemas Especialistas 6.1. Aplicações da Inteligência Artificial As organizações estão ampliando significativamente suas tentativas

Leia mais

PROTÓTIPO DE SOFTWARE PARA APRENDIZAGEM DE REDES NEURAIS ARTIFICIAIS

PROTÓTIPO DE SOFTWARE PARA APRENDIZAGEM DE REDES NEURAIS ARTIFICIAIS Anais do XXXIV COBENGE. Passo Fundo: Ed. Universidade de Passo Fundo, Setembro de 2006. ISBN 85-7515-371-4 PROTÓTIPO DE SOFTWARE PARA APRENDIZAGEM DE REDES NEURAIS ARTIFICIAIS Rejane de Barros Araújo rdebarros_2000@yahoo.com.br

Leia mais

SISTEMAS INTELIGENTES DE APOIO À DECISÃO

SISTEMAS INTELIGENTES DE APOIO À DECISÃO SISTEMAS INTELIGENTES DE APOIO À DECISÃO As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas

Leia mais

IC Inteligência Computacional Redes Neurais. Redes Neurais

IC Inteligência Computacional Redes Neurais. Redes Neurais Universidade Federal do Rio de Janeiro PÓS-GRADUAÇÃO / 2008-2 IC Inteligência Computacional Redes Neurais www.labic.nce.ufrj.br Antonio G. Thomé thome@nce.ufrj.br Redes Neurais São modelos computacionais

Leia mais

Pós-Graduação em Engenharia Elétrica Inteligência Artificial

Pós-Graduação em Engenharia Elétrica Inteligência Artificial Pós-Graduação em Engenharia Elétrica Inteligência Artificial João Marques Salomão Rodrigo Varejão Andreão Inteligência Artificial Definição (Fonte: AAAI ): "the scientific understanding of the mechanisms

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas e técnicas

Leia mais

Aula 2 RNA Arquiteturas e Treinamento

Aula 2 RNA Arquiteturas e Treinamento 2COP229 Aula 2 RNA Arquiteturas e Treinamento 2COP229 Sumário 1- Arquiteturas de Redes Neurais Artificiais; 2- Processos de Treinamento; 2COP229 1- Arquiteturas de Redes Neurais Artificiais -Arquitetura:

Leia mais

Relatório de uma Aplicação de Redes Neurais

Relatório de uma Aplicação de Redes Neurais UNIVERSIDADE ESTADUAL DE MONTES CLAROS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE CIÊNCIAS DA COMPUTACAÇÃO ESPECIALIZAÇÃO EM ENGENHARIA DE SISTEMAS DISCIPLINA: REDES NEURAIS PROFESSOR: MARCOS

Leia mais

Previsão do Índice da Bolsa de Valores do Estado de São Paulo utilizandoredes Neurais Artificiais

Previsão do Índice da Bolsa de Valores do Estado de São Paulo utilizandoredes Neurais Artificiais Previsão do Índice da Bolsa de Valores do Estado de São Paulo utilizandoredes Neurais Artificiais Redes Neurais Artificiais Prof. Wilian Soares João Vitor Squillace Teixeira Ciência da Computação Universidade

Leia mais

Relatório Iniciação Científica

Relatório Iniciação Científica Relatório Iniciação Científica Ambientes Para Ensaios Computacionais no Ensino de Neurocomputação e Reconhecimento de Padrões Bolsa: Programa Ensinar com Pesquisa-Pró-Reitoria de Graduação Departamento:

Leia mais

Identificação de Caracteres com Rede Neuronal Artificial com Interface Gráfica

Identificação de Caracteres com Rede Neuronal Artificial com Interface Gráfica Identificação de Caracteres com Rede Neuronal Artificial com Interface Gráfica João Paulo Teixeira*, José Batista*, Anildio Toca**, João Gonçalves**, e Filipe Pereira** * Departamento de Electrotecnia

Leia mais

Curso de Redes Neurais utilizando o MATLAB

Curso de Redes Neurais utilizando o MATLAB Curso de Redes Neurais utilizando o MATLAB Victoria Yukie Matsunaga Belém-Pará-Brasil 2012 Esta apostila tem como principal objetivo fornecer um material de auxílio ao Curso de Redes Neurais utilizando

Leia mais

UniRitter tecnológica: integrando Engenharias para desenvolvimento de um robô humanoide

UniRitter tecnológica: integrando Engenharias para desenvolvimento de um robô humanoide - SEPesq UniRitter tecnológica: integrando Engenharias para desenvolvimento de um robô humanoide 1. Introdução Diego Augusto de Jesus Pacheco Giovani Geremia Segundo Vargas (2012) é perceptível que uma

Leia mais

1 Introdução 1.1. Segurança em Redes de Computadores

1 Introdução 1.1. Segurança em Redes de Computadores 1 Introdução 1.1. Segurança em Redes de Computadores A crescente dependência das empresas e organizações modernas a sistemas computacionais interligados em redes e a Internet tornou a proteção adequada

Leia mais

Redes Neurais. A IA clássica segue o paradigma da computação simbólica

Redes Neurais. A IA clássica segue o paradigma da computação simbólica Abordagens não simbólicas A IA clássica segue o paradigma da computação simbólica Redes Neurais As redes neurais deram origem a chamada IA conexionista, pertencendo também a grande área da Inteligência

Leia mais

IN0997 - Redes Neurais

IN0997 - Redes Neurais IN0997 - Redes Neurais Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática - CIn Departamento de Sistemas da Computação aluizioa@cin.ufpe.br Conteúdo Objetivos Ementa

Leia mais

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

Simulador de Redes Neurais Multiplataforma

Simulador de Redes Neurais Multiplataforma Simulador de Redes Neurais Multiplataforma Lucas Hermann Negri 1, Claudio Cesar de Sá 2, Ademir Nied 1 1 Departamento de Engenharia Elétrica Universidade do Estado de Santa Catarina (UDESC) Joinville SC

Leia mais

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DA PARAÍBA CONSELHO SUPERIOR DE ENSINO, PESQUISA E EXTENSÃO

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DA PARAÍBA CONSELHO SUPERIOR DE ENSINO, PESQUISA E EXTENSÃO SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DA PARAÍBA CONSELHO SUPERIOR DE ENSINO, PESQUISA E EXTENSÃO RESOLUÇÃO N 75/2010 Aprova o Projeto Pedagógico do Curso de Graduação em Engenharia de do Centro

Leia mais

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001 47 5 Redes Neurais O trabalho em redes neurais artificiais, usualmente denominadas redes neurais ou RNA, tem sido motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações

Leia mais

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL 1 OBJETIVOS 1. Por que hoje as empresas necessitam de programas de gestão do conhecimento e sistemas para gestão do conhecimento? 2. Quais são as aplicações

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2 Processos de Desenvolvimento de Software Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2 A Engenharia de Software Uma Tecnologia em Camadas ferramentas métodos processo foco na qualidade

Leia mais

Mestrado em Informática, tendo Inteligência Artificial como área de pesquisa.

Mestrado em Informática, tendo Inteligência Artificial como área de pesquisa. André Montevecchi Graduado em Sistemas de Informação. Mestrado em Informática, tendo Inteligência Artificial como área de pesquisa. andre@montevecchi.com.br 1 Agenda Introdução Teste de Turing Robótica

Leia mais

Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios

Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios Empresas e outras organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus

Leia mais

- Aula 1 - ARQUITETURA DE COMPUTADORES

- Aula 1 - ARQUITETURA DE COMPUTADORES - Aula 1 - ARQUITETURA DE COMPUTADORES Em arquitetura de computadores serão estudados aspectos da estrutura e do funcionamento dos computadores. O objetivo é apresentar de forma clara e abrangente a natureza

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011 Revisão Inteligência Artificial ENADE Prof a Fabiana Lorenzi Outubro/2011 Representação conhecimento É uma forma sistemática de estruturar e codificar o que se sabe sobre uma determinada aplicação (Rezende,

Leia mais

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos Fredson Vieira Costa 1, Fábio Silveira Vidal 1, Claudomiro Moura Gomes André 1 1 Curso de Bacharelado em Ciência da Computação

Leia mais

Simulação Computacional de Sistemas, ou simplesmente Simulação

Simulação Computacional de Sistemas, ou simplesmente Simulação Simulação Computacional de Sistemas, ou simplesmente Simulação Utilização de métodos matemáticos & estatísticos em programas computacionais visando imitar o comportamento de algum processo do mundo real.

Leia mais

Aplicações Práticas com Redes Neurais Artificiais em Java

Aplicações Práticas com Redes Neurais Artificiais em Java com em Java Luiz D Amore e Mauro Schneider JustJava 2009 17 de Setembro de 2009 Palestrantes Luiz Angelo D Amore luiz.damore@metodista.br Mauro Ulisses Schneider mauro.schneider@metodista.br http://blog.mauros.org

Leia mais

Características do Software

Características do Software Questionamentos Por que tanta demora para entregar? Por que os prazos se atrasam? Por que os custos são altos? Por que não achar todos os erros antes de entregar? Por que dificuldade em medir o progresso

Leia mais

ORGANIZAÇÃO CURRICULAR

ORGANIZAÇÃO CURRICULAR ORGANIZAÇÃO CURRICULAR O curso Técnico em Informática, em Nível Médio Subseqüente, será organizado de forma semestral, com aulas presenciais, compostos por disciplinas, com conteúdos estabelecidos, tendo

Leia mais

Projeto Pedagógico do Bacharelado em Ciência da Computação. Comissão de Curso e NDE do BCC

Projeto Pedagógico do Bacharelado em Ciência da Computação. Comissão de Curso e NDE do BCC Projeto Pedagógico do Bacharelado em Ciência da Computação Comissão de Curso e NDE do BCC Fevereiro de 2015 Situação Legal do Curso Criação: Resolução CONSU no. 43, de 04/07/2007. Autorização: Portaria

Leia mais

Nathalie Portugal Vargas

Nathalie Portugal Vargas Nathalie Portugal Vargas 1 Introdução Trabalhos Relacionados Recuperação da Informação com redes ART1 Mineração de Dados com Redes SOM RNA na extração da Informação Filtragem de Informação com Redes Hopfield

Leia mais

Aprendizagem de Máquina

Aprendizagem de Máquina Aprendizagem de Máquina Professor: Rosalvo Ferreira de Oliveira Neto Disciplina: Inteligência Artificial Tópicos 1. Definições 2. Tipos de aprendizagem 3. Paradigmas de aprendizagem 4. Modos de aprendizagem

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software O que é software? Software e Engenharia de Software Programas de computador Entidade abstrata. Ferramentas (mecanismos) pelas quais: exploramos os recursos do hardware. executamos determinadas tarefas

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

Leia mais

Do neurônio biológico ao neurônio das redes neurais artificiais

Do neurônio biológico ao neurônio das redes neurais artificiais Do neurônio biológico ao neurônio das redes neurais artificiais O objetivo desta aula é procurar justificar o modelo de neurônio usado pelas redes neurais artificiais em termos das propriedades essenciais

Leia mais

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL Capítulo 10 GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL 10.1 2003 by Prentice Hall OBJETIVOS Por que hoje as empresas necessitam de programas de gestão do conhecimento e sistemas para gestão do conhecimento?

Leia mais

1. Introdução... 2. 2. As origens da RNA... 3. 3. O nosso cérebro... 5. 3.1. Plasticidade e modulação sináptica... 5

1. Introdução... 2. 2. As origens da RNA... 3. 3. O nosso cérebro... 5. 3.1. Plasticidade e modulação sináptica... 5 Sumário 1. Introdução... 2 2. As origens da RNA... 3 3. O nosso cérebro... 5 3.1. Plasticidade e modulação sináptica... 5 4. As redes neurais artificiais... 7 4.1. Estrutura da RNA... 7 4.3. Modelos de

Leia mais

Visão computacional no reconhecimento de formas e objetos

Visão computacional no reconhecimento de formas e objetos Visão computacional no reconhecimento de formas e objetos Paula Rayane Mota Costa Pereira*, Josemar Rodrigues de Souza**, Resumo * Bolsista de Iniciação Científica da Faculdade de Tecnologia SENAI CIMATEC,

Leia mais

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Programas e Linguagens Para executar uma tarefa

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini Banco de Dados Conceitos e Arquitetura de Sistemas de Banco de Dados Profa. Flávia Cristina Bernardini Relembrando... Vantagens da Utilização de SGBD Redundância controlada Consistência dos dados armazenados

Leia mais

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE CMP1280/CMP1250 Prof. Me. Fábio Assunção Introdução à Engenharia de Software SOFTWARE Programa de computador acompanhado dos dados de documentação e configuração

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores INTRODUÇÃO AOS ALGORITMOS E À PROGRAMAÇÃO DE COMPUTADORES PARTE 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Programas e Programação

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

3 Metodologia de Previsão de Padrões de Falha

3 Metodologia de Previsão de Padrões de Falha 3 Metodologia de Previsão de Padrões de Falha Antes da ocorrência de uma falha em um equipamento, ele entra em um regime de operação diferente do regime nominal, como descrito em [8-11]. Para detectar

Leia mais

Radar de Penetração no Solo e Meio- Ambiente

Radar de Penetração no Solo e Meio- Ambiente UNIVERSIDADE DE SÃO PAULO INSTITUTO DE ASTRONOMIA, GEOFÍSICA E CIÊNCIAS ATMOSFÉRICAS DEPARTAMENTO DE GEOFÍSICA Curso 3ª Idade Radar de Penetração no Solo e Meio- Ambiente Vinicius Rafael Neris dos Santos

Leia mais

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 60 h 1º Evolução histórica dos computadores. Aspectos de hardware: conceitos básicos de CPU, memórias,

Leia mais

Sistema Tutor Inteligente baseado em Agentes. Pedagógicas da Universidade Aberta do Piauí. Prof. Dr. Vinicius Ponte Machado

Sistema Tutor Inteligente baseado em Agentes. Pedagógicas da Universidade Aberta do Piauí. Prof. Dr. Vinicius Ponte Machado Sistema Tutor Inteligente baseado em Agentes na Plataforma MOODLE para Apoio às Atividades Pedagógicas da Universidade Aberta do Piauí Prof. Dr. Vinicius Ponte Machado Parnaíba, 14 de Novembro de 2012

Leia mais

A implementação e o estudo. de redes neurais artificiais em ferramentas de software comerciais,

A implementação e o estudo. de redes neurais artificiais em ferramentas de software comerciais, Artigos A implementação e o estudo de redes neurais artificiais em ferramentas de software comerciais Cleber Gustavo Dias Professor do Departamento de Ciências Exatas Uninove. São Paulo SP [Brasil] diascg@uninove.br

Leia mais

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS Curso: Informática Disciplina: Redes Neurais Prof. Fernando Osório E-mail: osorio@exatas.unisinos.br EXEMPLO DE QUESTÕES DE PROVAS ANTIGAS 1. Supondo que

Leia mais

LISTA DE EXERCÍCIOS. Mede a capacidade de comunicação de computadores e dispositivos. Operam em diferentes plataformas de hardware

LISTA DE EXERCÍCIOS. Mede a capacidade de comunicação de computadores e dispositivos. Operam em diferentes plataformas de hardware 1. A nova infra-estrutura de tecnologia de informação Conectividade Mede a capacidade de comunicação de computadores e dispositivos Sistemas abertos Sistemas de software Operam em diferentes plataformas

Leia mais

Computação BioInspirada

Computação BioInspirada Computação BioInspirada Os Engenheiros da Natureza Fabrício Olivetti de França The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO CONCURSO PÚBLICO PARA DOCENTES DO MAGISTÉRIO SUPERIOR Edital nº 1, de 1 de março de

Leia mais

Renato Maia Silva. Redes Neurais Artificiais aplicadas à Detecção de Intrusão em Redes TCP/IP. Dissertação de Mestrado

Renato Maia Silva. Redes Neurais Artificiais aplicadas à Detecção de Intrusão em Redes TCP/IP. Dissertação de Mestrado Renato Maia Silva Redes Neurais Artificiais aplicadas à Detecção de Intrusão em Redes TCP/IP Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo

Leia mais

tipos de métodos, técnicas de inteligência artificial e técnicas de otimização. Por fim, concluise com as considerações finais.

tipos de métodos, técnicas de inteligência artificial e técnicas de otimização. Por fim, concluise com as considerações finais. 1. Introdução A previsão de vendas é fundamental para as organizações uma vez que permite melhorar o planejamento e a tomada de decisão sobre o futuro da empresa. Contudo toda previsão carrega consigo

Leia mais

USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI.

USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. Resumo João Paulo Fernandes da Silva¹, Willame Balbino Bonfim 1. joaopauloibge@hotmail.com

Leia mais

Sistemas Auto-organizáveis BC0005

Sistemas Auto-organizáveis BC0005 Aplicações Sistemas Auto-organizáveis BC0005 Bases Computacionais da Ciência Modelagem e simulação Solução de problemas reais por modelos computacionais (visto na aula anterior) Sistemas auto-organizáveis

Leia mais

Uma aplicação de Inteligência Computacional e Estatística Clássica na Previsão do Mercado de Seguros de Automóveis Brasileiro

Uma aplicação de Inteligência Computacional e Estatística Clássica na Previsão do Mercado de Seguros de Automóveis Brasileiro Uma aplicação de Inteligência Computacional e Estatística Clássica na Previsão do Mercado de Seguros de Automóveis Brasileiro Tiago Mendes Dantas t.mendesdantas@gmail.com Departamento de Engenharia Elétrica,

Leia mais

Desenvolvimento de uma Rede de Distribuição de Arquivos. Development of a File Distribution Network

Desenvolvimento de uma Rede de Distribuição de Arquivos. Development of a File Distribution Network Desenvolvimento de uma Rede de Distribuição de Arquivos Development of a File Distribution Network Desenvolvimento de uma Rede de Distribuição de Arquivos Development of a File Distribution Network Talles

Leia mais

SISTEMAS DE APOIO À DECISÃO SAD

SISTEMAS DE APOIO À DECISÃO SAD SISTEMAS DE APOIO À DECISÃO SAD Conceitos introdutórios Decisão Escolha feita entre duas ou mais alternativas. Tomada de decisão típica em organizações: Solução de problemas Exploração de oportunidades

Leia mais

CURSO DE INFORMÁTICA LICENCIATURA 1 PERÍODO

CURSO DE INFORMÁTICA LICENCIATURA 1 PERÍODO CURSO DE INFORMÁTICA LICENCIATURA 1 PERÍODO DISCIPLINA: Metodologia Científica H111900 Finalidade da metodologia científica. Importância da metodologia no âmbito das ciências. Metodologia de estudos. O

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

A Computação e as Classificações da Ciência

A Computação e as Classificações da Ciência A Computação e as Classificações da Ciência Ricardo de Almeida Falbo Metodologia de Pesquisa Departamento de Informática Universidade Federal do Espírito Santo Agenda Classificações da Ciência A Computação

Leia mais

Projeto de Redes Neurais e MATLAB

Projeto de Redes Neurais e MATLAB Projeto de Redes Neurais e MATLAB Centro de Informática Universidade Federal de Pernambuco Sistemas Inteligentes IF684 Arley Ristar arrr2@cin.ufpe.br Thiago Miotto tma@cin.ufpe.br Baseado na apresentação

Leia mais

linguagem técnica de informática; Perceber os sinais de pontuação e identificar sua função no texto; Ler siglas e identificar seus significados;

linguagem técnica de informática; Perceber os sinais de pontuação e identificar sua função no texto; Ler siglas e identificar seus significados; PLANO DE CURSO Disciplina Competências Habilidades Bases Tecnológicas INGLÊS TÉCNICO Aumentar e consolidar o seu vocabulário ativo e passivo, através da fixação de novas palavras e expressões contidas

Leia mais

Muitas aplicações modernas podem ser modeladas como tarefas divisíveis.

Muitas aplicações modernas podem ser modeladas como tarefas divisíveis. 1 Introdução O grande aumento de performance das redes de computadores, combinado com a proliferação de computadores de baixo custo e alto desempenho, trouxe à tona ambientes de meta-computação, ou grids[15,

Leia mais

Um Ambiente Gráfico para Desenvolvimento de Software de Controle para Robôs Móveis Utilizando Simulação 3D

Um Ambiente Gráfico para Desenvolvimento de Software de Controle para Robôs Móveis Utilizando Simulação 3D Um Ambiente Gráfico para Desenvolvimento de Software de Controle para Robôs Móveis Utilizando Simulação 3D Cardoso Marchezi e Hans-Jorg Andreas Schneebeli VIII Simpósio Brasileiro de Automação Inteligente

Leia mais

NOTA À 2ª EDIÇÃO... VII PREFÁCIO... IX. No Renascimento de uma Nova Era... IX PREÂMBULO... XIII. Organização do livro... xiii. Destinatários...

NOTA À 2ª EDIÇÃO... VII PREFÁCIO... IX. No Renascimento de uma Nova Era... IX PREÂMBULO... XIII. Organização do livro... xiii. Destinatários... NOTA À 2ª EDIÇÃO... VII PREFÁCIO... IX No Renascimento de uma Nova Era... IX Índice PREÂMBULO... XIII Organização do livro... xiii Destinatários... xiv Utilização do livro... xiv Agradecimentos... xiv

Leia mais

Padrões de Contagem de Pontos de Função

Padrões de Contagem de Pontos de Função Padrões de Contagem de Pontos de Função Contexto Versão: 1.0.0 Objetivo O propósito deste documento é apresentar os padrões estabelecidos para utilização da técnica de Análise de Pontos de Função no ambiente

Leia mais

Engenharia de Software-2003

Engenharia de Software-2003 Engenharia de Software-2003 Mestrado em Ciência da Computação Departamento de Informática - UEM Profa. Dra. Elisa H. M. Huzita eng. de software-2003 Elisa Huzita Produto de Software Conceitos Software

Leia mais

FUNDAÇÃO DE APOIO AO ENSINO TÉCNICO DO ESTADO DO RIO DE JANEIRO FAETERJ Petrópolis Área de Extensão PLANO DE CURSO

FUNDAÇÃO DE APOIO AO ENSINO TÉCNICO DO ESTADO DO RIO DE JANEIRO FAETERJ Petrópolis Área de Extensão PLANO DE CURSO FUNDAÇÃO DE APOIO AO ENINO TÉCNICO DO ETADO DO RIO DE JANEIRO PLANO DE CURO 1. Identificação Curso de Extensão: INTRODUÇÃO AO ITEMA INTELIGENTE Professor Regente: José Carlos Tavares da ilva Carga Horária:

Leia mais

CENTRO UNIVERSITÁRIO UNIVATES

CENTRO UNIVERSITÁRIO UNIVATES CENTRO UNIVERSITÁRIO UNIVATES REGULAMENTO DE ESTÁGIO CURRICULAR NÃO OBRIGATÓRIO CURSO DE ENGENHARIA DE SOFTWARE, BACHARELADO REGULAMENTO DE ESTÁGIO CURRICULAR NÃO OBRIGATÓRIO Das disposições gerais O presente

Leia mais

Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Áreas de Apoio para IA 3. Sub-Áreas da IA 4.

Leia mais

ATIVIDADE 1. Definição de redes de computadores

ATIVIDADE 1. Definição de redes de computadores ATIVIDADE 1 Definição de redes de computadores As redes de computadores são criadas para permitir a troca de dados entre diversos dispositivos estações de trabalho, impressoras, redes externas etc. dentro

Leia mais

Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan

Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan 1 Unidade 4.5 2 1 BI BUSINESS INTELLIGENCE BI CARLOS BARBIERI

Leia mais

Revista Hispeci & Lema On Line ano III n.3 nov. 2012 ISSN 1980-2536 unifafibe.com.br/hispecielemaonline Centro Universitário UNIFAFIBE Bebedouro-SP

Revista Hispeci & Lema On Line ano III n.3 nov. 2012 ISSN 1980-2536 unifafibe.com.br/hispecielemaonline Centro Universitário UNIFAFIBE Bebedouro-SP Reconhecimento de face utilizando banco de imagens monocromáticas e coloridas através dos métodos da análise do componente principal (PCA) e da Rede Neural Artificial (RNA) [Recognition to face using the

Leia mais

Evolução de Estratégias e Controle Inteligente em Sistemas Multi-Robóticos Robustos

Evolução de Estratégias e Controle Inteligente em Sistemas Multi-Robóticos Robustos Evolução de Estratégias e Controle Inteligente em Sistemas Multi-Robóticos Robustos Gustavo Pessin 1, Fernando Osório 2 (Orientador) 1 UNIC Primavera do Leste, Av Guterres 241, Primavera do Leste, MT,

Leia mais

3. PARADIGMA ORIENTADO A OBJETOS

3. PARADIGMA ORIENTADO A OBJETOS Paradigmas de Linguagens I 1 3. PARADIGMA ORIENTADO A OBJETOS Este paradigma é o que mais reflete os problemas atuais. Linguagens orientada a objetos (OO) são projetadas para implementar diretamente a

Leia mais

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação Disciplina A Disciplina B Código Disciplina C/H Curso Disciplina C/H Código Curso Ano do Currículo 66303 ESTRUTURA DE DADOS I 68/0 ENG. DE

Leia mais

COMANDO REMOTO DE ROBÔS INDUSTRIAIS

COMANDO REMOTO DE ROBÔS INDUSTRIAIS Anais do 14 O Encontro de Iniciação Científica e Pós-Graduação do ITA XIV ENCITA / 2008 Instituto Tecnológico de Aeronáutica São José dos Campos SP Brasil Outubro 20 a 23 2008. COMANDO REMOTO DE ROBÔS

Leia mais

UFRPE Prof. Gustavo Callou gcallou@gmail.com

UFRPE Prof. Gustavo Callou gcallou@gmail.com UFRPE Prof. Gustavo Callou gcallou@gmail.com 1 Algoritmos Representação Exercícios Linguagens de Programação Compilador Interpretador Ambiente de Desenvolvimento Python Característica Para que serve Onde

Leia mais

CURSO DE SISTEMAS DE INFORMAÇÃO

CURSO DE SISTEMAS DE INFORMAÇÃO 1 CURSO DE SISTEMAS DE INFORMAÇÃO EMENTÁRIO DAS DISCIPLINAS 2011.1 BRUSQUE (SC) 2015 2 SUMÁRIO 1ª FASE... 4 01 ARQUITETURA DE COMPUTADORES... 4 02 FILOSOFIA... 4 03 FUNDAMENTOS MATEMÁTICOS PARA COMPUTAÇÃO...

Leia mais

COERÊNCIA DO CURRÍCULO DO CURSO DE ENGENHARIA DE COMPUTAÇÃO EM FACE DAS DIRETRIZES CURRICULARES NACIONAIS

COERÊNCIA DO CURRÍCULO DO CURSO DE ENGENHARIA DE COMPUTAÇÃO EM FACE DAS DIRETRIZES CURRICULARES NACIONAIS COERÊNCIA DO CURRÍCULO DO CURSO DE ENGENHARIA DE COMPUTAÇÃO EM FACE DAS DIRETRIZES CURRICULARES NACIONAIS O documento que serviu de base para a análise a seguir é o denominado "Diretrizes Curriculares

Leia mais

Classificação Automática dos Usuários da Rede Social Acadêmica Scientia.Net

Classificação Automática dos Usuários da Rede Social Acadêmica Scientia.Net Classificação Automática dos Usuários da Rede Social Acadêmica Scientia.Net Vinícius Ponte Machado 1, Bruno Vicente Alves de Lima 2, Heloína Alves Arnaldo 3, Sanches Wendyl Ibiapina Araújo 4 Departamento

Leia mais

APLICAÇÃO DE MAPAS MENTAIS DURANTE O BRAINSTORM DE UM JOGO DIGITAL

APLICAÇÃO DE MAPAS MENTAIS DURANTE O BRAINSTORM DE UM JOGO DIGITAL APLICAÇÃO DE MAPAS MENTAIS DURANTE O BRAINSTORM DE UM JOGO DIGITAL Davi Shinji Mota Kawasaki (PIBIC/Fundação Araucária), José Augusto Fabri (Orientador), e-mail: davishinjik@gmail.com; fabri@utfpr.edu.br.

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

Identificação de Modelos GARCH Usando Inteligência Computacional

Identificação de Modelos GARCH Usando Inteligência Computacional André Machado Caldeira Identificação de Modelos GARCH Usando Inteligência Computacional Tese de Doutorado Tese apresentada ao Programa de Pós-graduação em Engenharia Elétrica do Departamento de Engenharia

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais