UNIVERSIDADE FEDERAL DE OURO PRETO ESCOLA DE MINAS COLEGIADO DO CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO CECAU FABIO FONSECA RODRIGUES

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

Download "UNIVERSIDADE FEDERAL DE OURO PRETO ESCOLA DE MINAS COLEGIADO DO CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO CECAU FABIO FONSECA RODRIGUES"

Transcrição

1 UNIVERSIDADE FEDERAL DE OURO PRETO ESCOLA DE MINAS COLEGIADO DO CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO CECAU FABIO FONSECA RODRIGUES ACIONAMENTO DE UM ROBÔ LEGO MINDSTORMS POR COMANDOS VOCAIS UTILIZANDO REDES NEURAIS ARTIFICIAIS MONOGRAFIA DE GRADUAÇÃO EM ENGENHARIA DE CONTROLE E AUTOMAÇÃO Ouro Preto, 2009

2 FABIO FONSECA RODRIGUES ACIONAMENTO DE UM ROBÔ LEGO MINDSTORMS POR COMANDOS VOCAIS UTILIZANDO REDES NEURAIS ARTIFICIAIS Monografia apresentada o Curso de Engenharia de Controle e Automação da Universidade Federal de Ouro Preto como parte dos requisitos para a obtenção do grau de Engenheiro de Controle e Automação. Orientador: Prof. Agnaldo José da Rocha Reis Ouro Preto Escola de Minas UFOP Agosto/2009

3

4 RESUMO O campo de utilização de sistemas de reconhecimento de voz está em crescimento devido à grande variedade de aplicações e também ao grande número de vantagens que um sistema deste tipo proporciona como, por exemplo, a inclusão de deficientes físicos a novos tipos de tecnologia. Além disso, é notória a vontade dos seres humanos em se comunicarem com uma máquina utilizando a linguagem natural. O processo de reconhecimento da fala é de grande complexidade e vai desde a variação no modo da fala até a sua captura e posterior digitalização em um computador. É nesse contexto que se insere este trabalho. Aqui, mostra-se o acionamento de um robô móvel construído a partir do kit lego mindstorms, utilizando comandos vocais simples do tipo frente, ré, direita, esquerda e pare. Além disso, conceitos tais como aquisição do sinal sonoro, sua identificação via redes neurais e formas de transmissão até o robô são abordados. O trabalho foi dividido em três etapas. Na primeira etapa, a construção do robô, utilizase o kit Lego mindstorms. Já na Segunda, utilizam-se Redes Neurais Artificiais (RNA) para se fazer o reconhecimento dos comandos. E, por fim, a terceira etapa, que é a transmissão do comando até o robô, apresenta-se a metodologia utilizada nas sub-etapas de armazenagem do comando vocal em um banco de dados e sua transmissão utilizando uma página Java Server Pages (JSP) até o robô. Os resultados obtidos são advindos de uma montagem experimental e são analisados. Ao final desta monografia, apresentam-se as principais conclusões do trabalho e algumas sugestões de trabalhos futuros. Palavras-chave: Redes Neurais Artificiais, Lego Mindstorms, reconhecimento da fala, Identificador Neural

5 ABSTRACT The process of automatic speech recognition by a robot is very complex because there may be, e.g., changes in the way that words are pronounced. In this work, the wireless process of driving a mobile robot, which stems from a Lego kit Mindstorms, is described. The robot should receive vocal commands such as forward, back, right, left and stop, and execute them. The input commands are captured by a microphone, identified by means of a neural network and transmitted via infrared signals to the robot. The tests presented here reflect real situations of robot's operation. Keywords: Speech Recognition, Artificial Neural Networks, Database, Lego Mindstorms, Robotics.

6 SUMÁRIO 1. INTRODUÇÃO Considerações Iniciais Objetivos Objetivo Geral Objetivos Específicos Justificativa Metodologia Estrutura do Trabalho SISTEMAS DE RECONHECIMENTO DA FALA Aspectos importantes sobre o reconhecimento da fala Dependência do emissor versus independência do emissor Fala Contínua versus Fala Isolada Tempo real versus processamento offline Vocabulário grande versus pequeno Gramática ampla versus restrita Histórico REDES NEURAIS ARTIFICIAIS Introdução Propriedades Redes Biológicas Principais arquiteturas de RNA Aprendizado Aprendizado Supervisionado O Algoritmo Backpropagation Aprendizado Não-Supervisionado Redes Perceptrons Portas de limiar Portas de limiar lineares Portas de limiar quadráticas Redes Neurais Multicamadas FERRAMENTAS COMPUTACIONAIS... 24

7 4.1 Matlab Php Histórico Características do PHP Utilização dos scripts PHP Portabilidade Suporte a Banco de Dados Mysql Principais Características Portabilidade Segurança Escabilidade e Limites Conectividade Localização Servidores Web O Servidor Apache O Servidor Tomcat Java Histórico A independência da plataforma Jsp Servlets JavaBeans Lejos O IDENTIFICADOR NEURAL Aquisição do Sinal de Som Processamento do sinal de som Implementação da Rede Neural Arquitetura de Rede O Treinamento da Rede A INTEGRAÇÃO ENTRE O SOFTWARE E O HARDWARE A Comunicação com o Banco de Dados O Monitoramento do Banco de Dados e o Envio de Informações O PROJETO DO ROBÔ... 45

8 7.1 A Programação do Robô O Lego Minstorms O RCX A Torre de Transmissão Infravermelho Sensores e Atuadores A Comunicação utilizando RCXPort API CONCLUSÕES E TRABALHOS FUTUROS REFERÊNCIAS BIBLIOGRÁFICAS... 54

9 1 1. INTRODUÇÃO 1.1 Considerações Iniciais O reconhecimento automático da fala humana tem sido alvo de muitos estudos uma vez que possibilita automatismos a uma diversidade de processos. O desenvolvimento tecnológico, como a evolução dos computadores e softwares, tem permitido que essa tecnologia se difunda cada vez mais, permitindo assim uma vasta gama de aplicações. Este automatismo no reconhecimento da fala pode trazer um grande número de benefícios como: rapidez na realização de tarefas, mobilidade do usuário enquanto realiza ações, aplicações médicas para manipulação de equipamentos e também acessibilidade de deficientes físicos e visuais a novos contextos, dentre vários outros (BRAGA, 2006). Para efetuar, então, este reconhecimento foram utilizadas Redes Neurais Artificiais (RNA). Arquivos de áudio digitalizados e processados serviram de base para produção de padrões a serem identificados por outros previamente registrados. O reconhecimento da fala por meio de redes neurais teve início na década de 80 pelo fato das RNA possuírem capacidade de processamento paralelo e distribuído, obtendo uma melhor eficiência em comparação com outras técnicas existentes na época (VALIATTI, 2000). Possui origem na Inteligência Artificial, que é o estudo das faculdades mentais por meio de uso dos modelos computacionais (CHARNIAK ; MCDEMOTT,1985). Segundo Calôba (2006), RNA são modelos que tentam emular de uma forma muito simplificada, a maneira como o cérebro humano processa determinadas informações. São baseadas em processadores elementares chamados neurônios. Visam solucionar problemas por meio de reconhecimento de padrões que, normalmente, são baseados em um conjunto de padrões previamente conhecidos (DE PAULA, 2000). Com base em RNA, deseja-se implementar e treinar uma rede capaz de identificar comandos vocais básicos e, a partir daí, efetuar o acionamento de um robô móvel.

10 2 O identificador neural desenvolvido neste trabalho é dependente do locutor, isto é, foi desenvolvido com base nas características vocais de um locutor. Para aderir mais locutores será necessário um novo treinamento da rede com as características vocais do novo locutor para adquirir um bom desempenho. 1.2 Objetivos Objetivo Geral Desenvolver uma RNA capaz de identificar alguns comandos básicos como: FRENTE, RÉ, DIREITA, ESQUERDA E PARE e, então, transmitir estes comandos para um robô móvel, afim de que se faça seu acionamento Objetivos Específicos A fim de alcançar o objetivo proposto, o problema foi dividido em várias etapas: Elaborar e treinar uma rede capaz de identificar os comandos. Estudar as linguagens de programação que são suportadas pelo RCX (microprocessador integrante do kit lego mindstorms) do robô e analisar qual a mais adequada para fazer sua programação. Estudar a comunicação RCX Torre de transmissão e analisar qual a melhor forma de transmitir comandos do computador para o RCX. Implementar a comunicação entre computador ( saída da rede neural) e o RCX fazendo o seu acionamento.

11 3 1.3 Justificativa O reconhecimento da fala por máquinas tem sido alvo de muitos estudos e trabalhos. Estudos que são justificados pela grande aplicabilidade da área e proporcionados pela contínua evolução tecnológica de softwares e hardwares. As aplicações se dão de várias formas. Como exemplo, o auxílio a deficientes físicos nas mais variadas tarefas. Também no controle de ambientes, como controle de luminosidade, por exemplo. Nas Telecomunicações, com uso no atendimento ao cliente diminuindo o número de operadores desnecessários ao sistema. Outro exemplo é no acionamento ou controle de aparelhos eletro-eletrônicos e, até mesmo, em brinquedos, proporcionando uma maior interatividade com o usuário. Tendo estas aplicações básicas e tendo outras que estão em desenvolvimento, pode-se vislumbrar que o reconhecimento da fala terá um papel muito importante no cotidiano das pessoas em um futuro próximo. 1.4 Metodologia Para um melhor desenvolvimento do trabalho, ele foi dividido em várias etapas. Primeiramente, para fazer toda a parte de identificação de comandos, incluindo aquisição do sinal de voz, processamento do sinal, e a elaboração e treinamento da rede neural, utilizou-se o software MATLAB 7. Para a etapa da construção do robô, utilizou-se o Kit Lego Mindstorms, pela facilidade de montagem, visando-se diminuir o tempo gasto na elaboração do hardware. Em relação à programação do robô, podem-se utilizar diversas linguagens de programação. Depois de um estudo comparativo entre LeJOS, NQC e o Robolab, que é a ferramenta de programação do próprio kit. Se optou por utilizar o LeJOS, por permitir uma maior liberdade de programação ao desenvolvedor, ampliando-se a gama de aplicações possíveis de se realizar.

12 4 Para a transmissão de dados do RCX para o computador, foi utilizada a torre de transmissão serial. Torre esta, também parte integrante do kit. Esta transmissão de dados também pode ser dividida em várias partes. Como primeiro passo, tem-se saída da rede neural do MATLAB sendo armazenada em um banco de dados. Para a manipulação do banco de dados utilizou-se a linguagem PHP, por ser capaz de conseguir capturar dados vindos do MATLAB e fazer o armazenamento no banco. O banco de dados utilizado foi o MySQL por ser bem popular, fácil manipulação e ter suporte às linguagens de programação utilizadas. Uma vez que os dados estejam armazenados no banco, foi criada uma página em JSP responsável por monitorar os dados do banco e repassar estes dados ao robô. 1.5 Estrutura do Trabalho O capítulo 2, mostra uma abordagem sobre os sistemas de reconhecimento da fala mais comuns, alguns aspectos importantes sobre estes sistemas e também um breve histórico sobre o assunto. No capítulo 3, é feita uma breve apresentação sobre redes neurais artificiais, suas principais propriedades, uma visão sobre redes biológicas, as principais arquiteturas de RNA, uma noção sobre aprendizado, o Perceptron e redes multi-camadas. O capítulo 4 apresenta uma descrição das ferramentas computacionais utilizadas para o desenvolvimento do trabalho. No capítulo 5, é mostrado como foi implementado o identificador neural desde a aquisição do sinal sonoro, o processamento do sinal até a implementação da rede neural artificial e o treinamento da rede. No capítulo 6, é apresentado como foi feita a integração entre software MATLAB e o robô, a utilização e monitoramento do banco de dados e o envio de informações para o robô.

13 5 O capítulo 7 apresenta-se como foi feita a programação do robô, e também como foi realizado a sua montagem, fazendo uma descrição sobre as ferramentas utilizadas como o lego mindstorms e seus principais componentes. No capítulo 8, apresenta-se as conclusões do trabalho, assim como alguns resultados e também sugestões para trabalhos futuros.

14 6 2. SISTEMAS DE RECONHECIMENTO DA FALA Segundo Martins (1997), reconhecedores de fala podem ser divididos em três classes que são: reconhecedores por comparação de padrões, reconhecedores baseados em análise acústico-fonética e reconhecedores que utilizam inteligência artificial. Os reconhecedores que utilizam comparações de padrões podem ser divididos em fase de treinamento e fase de reconhecimento. Na fase de treinamento, exemplos são apresentados ao sistema para que sejam produzidos representantes de cada um dos padrões. Na fase de reconhecimento, é feito uma comparação entre padrões desconhecidos com padrões de referência. Desta forma, o padrão que mais se aproximar do padrão desconhecido é escolhido como padrão reconhecido. Modelos Ocultos de Markov são exemplos de reconhecedores que utilizam comparações de padrões. A figura 2.1 ilustra um diagrama em blocos de um reconhecimento por comparação de padrões. Figura 2.1: Estrutura de um reconhecimento por comparação de padrões Fonte: BRESOLIM, 2003 Os sistemas baseados em análise acústico-fonética decodificam o sinal da fala com base nas suas características acústicas e nas relações entre essas características. Segundo Martins (1997), esse tipo de sistema consiste em identificar as unidades fonéticas que compõem a fala a ser reconhecida e, concatenando estas unidades, chega-se ao reconhecimento da fala. É importante neste sistema considerar propriedades acústicas

15 7 do som que sejam invariantes, como exemplo a presença de ressonância nasal. Um sistema baseado em análise acústico fonético é dividido em quatro fases: análise espectral, detecção das características acústicas, segmentação do sinal e identificação das unidades fonéticas e por último tem-se a escolha da palavra que melhor representa as unidades fonéticas. Na figura 2.2 está representada a estrutura de um sistema baseado em análise acústico-fonética. Figura 2.2: Estrutura de um diagrama de reconhecimento da Fala baseados em análise acústico-fonética. Fonte: BRESOLIM, 2003 Alguns problemas deste tipo de sistema foram descritos por BRESOLIM (2003), que são: Este método requer um profundo conhecimento das propriedades acústicas da unidade fonética. As escolhas das características são feitas com base na intuição e não com base em um definido senso de significado. A rotulação e o treinamento da fala não são pré-determinados por um caminho certo. Não há uniformização na classe linguística. Os reconhecedores que utilizam a Inteligência artificial exploram conceitos dos reconhecedores por comparações de padrões e reconhecedores por análise acústicofonética. Redes Neurais Artificiais estão localizadas nesta classe, em que se tem uma

16 8 matriz de ponderação que representa uma conexão entre os nós da rede e que cada saída da rede está associada a uma unidade a ser reconhecida. Dois aspectos importantes deste tipo de reconhecimento envolvem os conceitos de aquisição de conhecimento, ou seja, a aprendizagem e também a adaptação. 2.1 Aspectos importantes sobre o reconhecimento da fala Sistemas de reconhecimento da fala humana, apesar de já estarem disponíveis a algum tempo, encontram diversas dificuldades para sua realização devido à sua complexidade e limitações, que vem impedindo que o uso destes sistemas se ampliem. A seguir serão apresentados alguns destes problemas mais comuns Dependência do emissor versus independência do emissor Um sistema dependente do emissor é definido por um sistema capaz de reconhecer a voz do locutor ou dos locutores, os quais treinaram o sistema. Deste modo sistemas independentes do emissor são capazes de reconhecerem qualquer pessoa falando e traduzir os sons em textos e comandos. (AMARAL, 2005 apud RICH; KNIGHT, 1993; SILVA et al, 1999). Chegar a um sistema que utiliza a independência do emissor é difícil, pois há amplas variações de entonação e pronúncia de cada pessoa, sendo mais fácil criar um sistema dependente de emissor, treinado a partir de padrões vocais de um único locutor (RICH; KNIGHT, 1993) Fala Contínua versus Fala Isolada Palavras isoladas, ditas com pausa entre uma palavra e outra são mais fáceis de interpretar do que a interpretação de um discurso, por causa dos efeitos de borda que fazem com que uma palavra seja pronunciada de formas diferentes dependendo do contexto (RICH; KNIGHT, 1993) Tempo real versus processamento offline Há determinadas aplicações em que se exige reconhecimento em tempo real, neste tipo de aplicação palavras devem ser interpretadas à medida que o locutor as pronuncia. Em

17 9 outras situações isto já não é exigido, permitindo então um tempo maior no processamento computacional no reconhecimento das palavras (RICH; KNIGHT, 1993) Vocabulário grande versus pequeno Um aspecto importante que afeta o desempenho de um sistema de reconhecimento de fala é o seu vocabulário. Um sistema com vocabulário pequeno é mais fácil de trabalhar, apresenta um melhor desempenho, elimina ambigüidades dentre outras coisas (RICH; KNIGHT, 1993) Gramática ampla versus restrita Restringir a gramática é importante nos sistemas de reconhecimento de fala porque torna o sistema mais simples, limitando o espaço de busca do algoritmo responsável pelo reconhecimento. Um exemplo de gramática restrita é o dos números dos telefones em que há oito algarismos, e cada um varia entre 0 e Histórico Há algum tempo pesquisadores vem tentando aperfeiçoar sistemas de reconhecimento de fala de forma automática. Em 1952 foi publicado o primeiro trabalho na área em que Davis, Biddulph e Balashek desenvolveram um sistema para reconhecer dígitos isolados pronunciados por um único locutor (MARTINS, 1997). O Seguinte trabalho relevante na área foi desenvolvido no final da década de 50 por Fry e Denis, pesquisadores da University College of England, onde tentaram construir um reconhecedor de fonemas para quatro vogais e nove consoantes. Para chegar a um bom resultado, utilizaram um analisador de espectro e uma combinação de padrões para fazer o reconhecimento. Utilizaram também informações estatísticas (BRESOLIM, 2003). No final da década de 60 e início da década de 70, foram apresentadas novas técnicas de reconhecimento que envolviam predição linear e Dynamic Time Warping (DTW). Estas técnicas alavancaram os estudos na área. Neste período também começaram a se desenvolver pesquisas relacionadas ao reconhecimento de palavras conectadas e para a fala contínua (MARTINS, 1997).

18 10 Na década de 80, houve uma difusão de sistemas que utilizavam os métodos estatísticos, como exemplo utilizou-se muito os modelos ocultos de Markov. Também nesta época começaram a se desenvolver trabalhos nesta área envolvendo redes neurais artificiais, quando foi dado um grande impulso nas pesquisas que envolviam reconhecimento da fala contínua com grandes vocabulários com alguns bons resultados. Exemplos destes sistemas são o BYBLOS que obteve uma taxa de acerto de 93% e o SPHINX que obteve uma taxa de acerto de 96,2% (MARTINS, 1997). Na década de 90 os estudos continuaram a desenvolver sistemas de reconhecimento contínuo, com destaque para o DARPA (Defense Advance Research Projects Agency) (BRESOLIM, 2003). Hoje em dia há alguns sistemas de reconhecimento de voz, mas nenhum possui a taxa de 100% de acerto.

19 11 3. REDES NEURAIS ARTIFICIAIS 3.1 Introdução Redes neurais artificiais são sistemas paralelos distribuídos compostos por unidades de processamento simples que calculam determinadas funções matemáticas. Tais unidades são dispostas em uma ou mais camadas e interligadas por um grande número de conexões. Estas conexões podem estar associadas a pesos, que armazenam o conhecimento apresentado no modelo e servem para ponderar a entrada recebida por cada neurônio da rede (BRAGA; CARVALHO; LUDEMIR, 2000). As RNA têm como objetivo, na maioria dos casos, solucionar problemas que envolvem reconhecimento de padrões, que normalmente são baseados em um conjunto de informações previamente conhecidas e que podem ser separadas em conjuntos para o treinamento e conjuntos para teste. Em RNA, o procedimento usual para solução de problemas passa inicialmente por uma fase de aprendizagem, em que um conjunto de exemplos é apresentado à rede, extraindo as características necessárias para representar a informação fornecida. Posteriormente, estas características são utilizadas para gerar respostas para um dado problema. Com base no sistema nervoso humano, as redes neurais artificiais são formas de computação não algorítmica sendo uma alternativa a programas e regras da computação convencional. As RNA tentam adquirir um aprendizado conforme novas situações são apresentadas, assim na medida em que se adquire maior experiência e observações, melhor a capacidade de agir diante de situações desconhecidas. 3.2 Propriedades Segundo Haykin (2007), o uso de Redes Neurais oferece as seguintes propriedades úteis: Não-linearidade; Um neurônio artificial pode ser linear ou não-linear.

20 12 Adaptabilidade: As redes neurais têm uma capacidade muito boa de adaptar seus pesos frente modificações do ambiente. Uma rede neural treinada para operar em um ambiente específico pode ser facilmente retreinada para lidar, com pequenas modificações, em um novo ambiente. Resposta a Evidências: Em um contexto de classificação de padrões, uma rede neural pode ser projetada para fornecer informação não somente sobre qual padrão utilizar, mas também sobre a confiança na decisão tomada. Tolerância a falhas: Uma rede neural apresenta uma boa robustez, sendo que se mostram tolerantes a falhas e a ruídos na entrada. Uniformidade de Análise de Projetos: As redes neurais apresentam uma universalidade no modo de processar a informação, no sentido de que a mesma notação é utilizada em todos os domínios envolvendo a aplicação de redes neurais. Analogia Neurobiológica: O projeto de uma rede neural é motivado pela analogia com o cérebro, fazendo um processamento paralelo, rápido e tolerante a falhas. 3.3 Redes Biológicas O cérebro humano contém em torno de neurônios, que é a sua célula fundamental. Cada um destes neurônios processa e se comunica com milhares de outros de modo contínuo e paralelo (DINIZ, 2006). O estudo das RNA baseia-se na estrutura dos nodos, da topologia, do modo como fazem suas conexões e de todo o comportamento conjunto destes neurônios naturais (HAYKIN, 2007). Dentre outras coisas, o cérebro humano tem a capacidade de reconhecer padrões e relacioná-los, usar e armazenar conhecimento por experiência e também interpretar observações. Seu comportamento ainda não foi completamente desvendado até o momento, não se sabendo corretamente, como as funções cerebrais são realizadas. O que se tem são modelos, continuamente atualizados a cada descoberta (HAYKIN, 2007).

21 13 Algumas das características semelhantes entre as RNA e as Redes Biológicas são: os dois sistemas são baseados em unidades de computação paralela e distribuída que se comunicam por meio de conexões sinápticas. Possuem redundância e modularização das conexões. Estas características fazem com que funções somente encontradas em seres humanos possam ser reproduzidas utilizando as RNA. Os neurônios são basicamente divididos em três seções: o corpo da célula, dendritos e o axônio. Os dendritos têm a função de receber as informações vindas de outros neurônios e conduzir estas informações até o corpo celular. No corpo celular as informações são processadas e novos impulsos são gerados. Através do axônio os impulsos nervosos são transmitidos aos outros neurônios. O ponto onde se encontra a terminação axônica de um neurônio e os dendritos de outro neurônio é chamado de sinapse. As sinapses funcionam como válvula e são capazes de controlar a transmissão dos impulsos. A capacidade de adaptação do neurônio se dá pela variação dos efeitos das sinapses. Sinais oriundos dos neurônios pré-sinápticos são passados para o corpo do neurônio póssináptico onde são comparados com outros sinais recebidos. Caso haja um percentual alto em um intervalo curto de tempo a célula dispara, produzindo um impulso que é transmitido para as próximas células. Assim são feitas as maiorias das funções realizadas pelo cérebro humano. (DINIZ, 2006). Na figura 3.1 é mostrada a estrutura básica de um neurônio biológico. Figura 3.1: Estrutura de um Neurônio Biológico Fonte: DINIZ, 2009.

22 Principais arquiteturas de RNA A arquitetura de uma RNA é um parâmetro importante na sua criação, devido à particularidade de cada problema. Redes sem camada intermediária só conseguem resolver problemas linearmente separáveis por exemplo. Problemas que envolvem processamento temporal são melhores resolvidas com Redes recorrentes. (KOVÁCS, 2006). Braga; Carvalho; Ludemir (2000) definiram alguns parâmetros: Números de camadas: Uma Rede Neural pode ser classificada quanto ao número de camadas. Sendo dividida em camada única, que são redes que possuem apenas uma camada entre a camada de entrada e a camada de saída, e Redes de múltiplas camadas, onde existe mais de uma camada entre as entradas e saídas da Rede. Conexões: Classificação quanto o tipo de conexão, sendo divididas em feedforward, que são redes onde a saída de um neurônio em qualquer camada da Rede não pode ser usada como entrada de neurônios de camadas anteriores. Outro tipo de conexão são as redes feedback, em que ao contrário das redes tipo feedforward, as saídas de alguma camada da rede podem ser usadas como entradas em algum neurônio de camadas anteriores. Conectividade: As redes podem ser classificadas em rede fracamente conectada e rede completamente conectada. Na figura 3.2 estão algumas arquiteturas mais utilizadas:

23 15 Figura 3.2: algumas arquiteturas de RNA. Fonte: (BRAGA; CARVALHO; LUDEMIR, 2000) 3.5 Aprendizado O aprendizado é uma das principais propriedades para uma rede neural. Uma rede neural aprende por meio de um processo iterativo de ajuste de seus pesos sinápticos e níveis de bias, se tornando mais instruída sobre seu ambiente após cada iteração do processo de aprendizagem. Haykin (2007) definiu aprendizagem no ponto de vista de redes neurais como: Aprendizagem é um processo pelo qual os parâmetros livres de uma rede neural são adaptados através de um processo de estimulação pelo ambiente no qual a rede está inserida. O tipo de aprendizagem é determinado pela maneira pela qual a modificação dos parâmetros ocorre. Implicando assim uma sequência de eventos: 1. Estímulo por um ambiente. 2. Modificação nos parâmetros livres como resultado desta estimulação. 3. Resposta ao ambiente, devido às modificações ocorridas na estrutura interna da rede.

24 16 Um dado conjunto pré-estabelecido de procedimentos para a solução de um problema de aprendizado é denominado algoritmo de aprendizagem. Algoritmos de aprendizagem se diferem pelo jeito de se calcular os ajustes de pesos sinápticos Aprendizado Supervisionado Aprendizado Supervisionado é o método mais comum de treinamento de RNA. Consiste em um supervisor (professor) apresentar as entradas e saídas desejadas para a rede. Fazendo com que os parâmetros da rede sejam ajustados com base nestes pares de entrada e saída desejável. A cada resposta da rede, é comparado o erro com a resposta ideal a partir de uma determinada entrada. Ajustando-se, assim, os pesos das conexões a fim de minimizarem os erros a cada etapa de treinamento, fazendo-se, dessa forma, a minimização da diferença de forma incremental. A medida de desempenho mais usual é a soma dos erros quadráticos, também utilizada como função de custo a ser minimizada pelo algoritmo de aprendizagem. O aprendizado supervisionado pode ser off-line ou online. O aprendizado é off-line quando os dados do conjunto de treinamento não mudam. Se houver novos dados de treinamento, a rede deverá ser retreinada contendo os novos dados. No aprendizado online, o conjunto de dados muda continuamente, e a rede permanece em contínuo processo de adaptação. Um dos pontos fracos do aprendizado supervisionado é que na ausência de um professor, a rede perde a sua capacidade de se adaptar a novas situações do ambiente não envolvidas pelo exemplo do supervisor (BRAGA; CARVALHO; LUDEMIR, 2000). A seguir pode se observar pela figura 3.3 o esquema de aprendizado supervisionado.

25 17 Figura 3.3: Esquema de aprendizado supervisionado Fonte: (BRAGA; CARVALHO; LUDEMIR, 2000) O Algoritmo Backpropagation Um dos algoritmos de aprendizado mais utilizados é o algoritmo backpropagation. Carvalho explica que esse algoritmo opera em duas etapas. Na primeira etapa, um padrão é apresentado na camada de entrada da rede. A atividade resultante flui através da rede até ela apresentar uma resposta na camada de saída. Na segunda etapa, a resposta é comparada com a saída desejada da rede para o padrão apresentado na entrada. Se não estiver correto, o erro é calculado e propagado da camada de saída até a camada de entrada. Os pesos das camadas internas vão sendo modificados durante esse processo, a partir do erro obtido. As etapas do algoritmo bakpropagation podem ser visualizadas através da figura 3.4. As redes que utilizam backpropagation fazem a utilização da regra delta generalizada. Segundo Carvalho, a regra delta padrão implementa um gradiente descendente na soma dos quadrado dos erros para funções de ativação lineares. Redes sem camadas intermediárias podem resolver problemas onde a superfície de erro tem a forma de um parabolóide com apenas um mínimo. Superfícies de erro mais complexas correm o risco de aparecerem mínimos locais. A regra delta generalizada funciona quando são utilizadas na rede unidades com uma função de ativação não linear, que é uma função

26 18 diferenciável e não decrescente. Uma função de ativação amplamente utilizada, nestes casos, é a função sigmóide. O treinamento de redes que utilizam backpropagation tem algumas deficiências. Uma delas é que o treinamento pode exigir muitos passos no conjunto de treinamento, podendo resultar num tempo de treinamento muito longo, além do risco de encontrar mínimos locais Figura 3.4: Etapas do backpropagation Fonte: (BRAGA; CARVALHO; LUDEMIR, 2000) Aprendizado Não-Supervisionado Redes que utilizam o aprendizado não-supervisionado, não fazem o uso de professores ou supervisores para acompanhar o processo de aprendizagem. Exemplos de aprendizado não-supervisionado nos seres humanos são estágios iniciais dos sistemas de visão e audição. Ao contrário do aprendizado supervisionado, onde são apresentados pares de entradas e saídas, no aprendizado não-supervisionado, somente padrões de entrada são apresentados à rede. A partir do momento em que a rede estabelece uma harmonia com as regularidades estatísticas da entrada de dados, desenvolve-se nela uma habilidade de formar representações internas para codificar características da entrada e criar novas classes ou

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

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

World Wide Web e Aplicações

World Wide Web e Aplicações World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet

Leia mais

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

Curso de PHP. FATEC - Jundiaí. Conteúdo do Curso. 40% de aula teórica 60% de aula prática. O que veremos neste semestre?

Curso de PHP. FATEC - Jundiaí. Conteúdo do Curso. 40% de aula teórica 60% de aula prática. O que veremos neste semestre? Curso de PHP FATEC - Jundiaí Conteúdo do Curso 40% de aula teórica 60% de aula prática O que veremos neste semestre? Linguagem PHP Banco de Dados - PostgreSQL PHP - Introdução ao PHP - Estrutura de um

Leia mais

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho Banco de Dados de Músicas Andre Lima Rocha Campos Osório Pereira Carvalho Definição Aplicação Web que oferece ao usuário um serviço de busca de músicas e informações relacionadas, como compositor, interprete,

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

Interface Homem Máquina para Domótica baseado em tecnologias Web

Interface Homem Máquina para Domótica baseado em tecnologias Web Interface Homem Máquina para Domótica baseado em tecnologias Web João Alexandre Oliveira Ferreira Dissertação realizada sob a orientação do Professor Doutor Mário de Sousa do Departamento de Engenharia

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava

Leia mais

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação

Leia mais

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação. GLOSSÁRIO Este glossário contém termos e siglas utilizados para Internet. Este material foi compilado de trabalhos publicados por Plewe (1998), Enzer (2000) e outros manuais e referências localizadas na

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 5 Servidores de Aplicação

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

Especificações Técnicas

Especificações Técnicas Visual COBOL é a solução líder da indústria para o desenvolvimento de aplicações COBOL e implantação em sistemas Windows, Unix e Linux. Ele combina as melhores ferramentas de desenvolvimento de sua classe

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

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

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Introdução a Servlets

Introdução a Servlets Linguagem de Programação para Web Introdução a Servlets Prof. Mauro Lopes 1-31 21 Objetivos Iniciaremos aqui o estudo sobre o desenvolvimento de sistemas web usando o Java. Apresentaremos nesta aula os

Leia mais

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2 Estrutura de Repetição. Ex. 2 A ESTRUTURA Enquanto faça{} É MELHOR UTILIZADA PARA SITUAÇÕES ONDE O TESTE DE CONDIÇÃO (V OU F) PRECISA SER VERIFICADO NO INÍCIO DA ESTRUTURA DE REPETIÇÃO.

Leia mais

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo Programação para Dispositivos Móveis Prof. Wallace Borges Cristo Acesso a informação Notícias, Ringtones, Vídeos Messenger/Chat Jogos Acesso a instituições financeiras M-commerce (Mobile Commerce) Aplicações

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

Conteúdo Programático de PHP

Conteúdo Programático de PHP Conteúdo Programático de PHP 1 Por que PHP? No mercado atual existem diversas tecnologias especializadas na integração de banco de dados com a WEB, sendo o PHP a linguagem que mais se desenvolve, tendo

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado

Leia mais

O sucesso da WWW. Atualização de Hiperdocumentos. Atualização de Hiperdocumentos. Cuidados. Exemplo. Passos. Motivos :

O sucesso da WWW. Atualização de Hiperdocumentos. Atualização de Hiperdocumentos. Cuidados. Exemplo. Passos. Motivos : Atualização de Hiperdocumentos Links Estrutura lógica Estruturas de apresentação Conteúdo (textual, imagens paradas, imagens em movimento e sons) Conclusões O sucesso da WWW Motivos : Facilidade de utilização

Leia mais

Construindo Aplicações Web com. PHPe MySQL. André Milani. Novatec

Construindo Aplicações Web com. PHPe MySQL. André Milani. Novatec Construindo Aplicações Web com PHPe MySQL André Milani Novatec Capítulo 1 Bem-vindo ao PHP Seja bem-vindo ao PHP! O primeiro capítulo deste livro aborda como obter, instalar e configurar corretamente o

Leia mais

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

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

CURSO TECNOLÓGICO 2008/01 1º SEMESTRE. Programação e Estruturas de Dados Fundamentais

CURSO TECNOLÓGICO 2008/01 1º SEMESTRE. Programação e Estruturas de Dados Fundamentais 1º SEMESTRE Programação e Estruturas de Dados Fundamentais 8 Créditos Desenvolver a lógica de programação através da construção de algoritmos utilizando português estruturado Representar a solução de problemas

Leia mais

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

Cogent DataHub v7.0. A próxima geração em soluções para troca de dados em tempo real

Cogent DataHub v7.0. A próxima geração em soluções para troca de dados em tempo real Cogent DataHub v7.0 A próxima geração em soluções para troca de dados em tempo real Cogent é reconhecida como uma líder no segmento de soluções de middleware no domínio do tempo real. E, com a introdução

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

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO DESCRIÇÃO DO SIGAI O SIGAI (Sistema Integrado de Gestão do Acesso à Informação) é uma solução de software que foi desenvolvida para automatizar os processos administrativos e operacionais visando a atender

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

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

AULA 1 PHP O QUE É APACHE FRIENDS

AULA 1 PHP O QUE É APACHE FRIENDS O QUE É PHP Se você já programa PHP, aconselho que pule para o capítulo 7 desse livro. Pois até esse capitulo iremos abordar algoritmos em PHP até a construção de uma classe com seus métodos e atributos

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

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES Hugo Henrique Rodrigues Correa¹, Jaime Willian Dias 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil hugohrcorrea@gmail.com, jaime@unipar.br Resumo.

Leia mais

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva Introdução à Linguagem Java Departamento de Informática Prof. Anselmo C. de Paiva Breve Histórico Sun Microsystems, 90/91: projeto de uma linguagem de programação pequena que pudesse ser usada em dispositivos

Leia mais

Programação para Internet II

Programação para Internet II Programação para Internet II Aulas 01 e 02 Prof. Fernando Freitas Costa http://blog.fimes.edu.br/fernando nando@fimes.edu.br Conteúdo Programático Instalação e configuração básica do Eclipse Indigo e do

Leia mais

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

Leia mais

Planejamento de TI usando Cenários Prospectivos: Tecnologias de Desenvolvimento de Sistemas

Planejamento de TI usando Cenários Prospectivos: Tecnologias de Desenvolvimento de Sistemas Planejamento de TI usando Cenários Prospectivos: Tecnologias de Desenvolvimento de Sistemas Sidnei da Silva 11 de julho de 2007 1 Sumário 1 Dados Fundamentais 3 2 Definição do Problema 3 2.1 Questão...............................

Leia mais

SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE 27/02/2012

SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE 27/02/2012 O servidor Apache é o mais bem sucedido servidor web livre. Foi criado em 1995 por Rob McCool, então funcionário do NCSA (National Center for Supercomputing Applications). Em maio de 2010, o Apache serviu

Leia mais

Programação para Internet Orientada a Objetos com PHP & MySQL Visão Geral de Programação Orientada a Objetos com PHP & MySQL II

Programação para Internet Orientada a Objetos com PHP & MySQL Visão Geral de Programação Orientada a Objetos com PHP & MySQL II Programação para Internet Orientada a Objetos com PHP & MySQL Visão Geral de Programação Orientada a Objetos com PHP & MySQL II Prof. MSc. Hugo Souza Na última aula falamos um pouco da necessidade do surgimento

Leia mais

5.5. Software de treinamento da RNA

5.5. Software de treinamento da RNA Como podemos observar na figura 10, os neurônios da camada de entrada (X1,..,X10) são alimentados pelos tópicos de estudo e a saída Y1 libera o próximo tópico sinalizando ao sistema se o aprendiz pode

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

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms.

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. Mauricio Duarte 2 Centro Universitário Euripides de Marilia UNIVEM FATEC Faculdade de

Leia mais

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto UM NOVO CONCEITO EM AUTOMAÇÃO Série Ponto POR QUE NOVO CONCEITO? O que é um WEBPLC? Um CP na WEB Por que usar INTERNET? Controle do processo de qualquer lugar WEBGATE = conexão INTERNET/ALNETII WEBPLC

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

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux 1. De que forma é possível alterar a ordem dos dispositivos nos quais o computador procura, ao ser ligado, pelo sistema operacional para ser carregado? a. ( ) Instalando um programa gerenciador de carregamento,

Leia mais

XDR. Solução para Big Data.

XDR. Solução para Big Data. XDR Solução para Big Data. ObJetivo Principal O volume de informações com os quais as empresas de telecomunicações/internet têm que lidar é muito grande, e está em constante crescimento devido à franca

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br Desenvolvimento Web Saymon Yury C. Silva Analista de Sistemas http://www.saymonyury.com.br Vantagens Informação em qualquer hora e lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada

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

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

5 Sistema Experimental

5 Sistema Experimental 5 Sistema Experimental Este capitulo apresenta o sistema experimental utilizado e é composto das seguintes seções: - 5.1 Robô ER1: Descreve o robô utilizado. É dividida nas seguintes subseções: - 5.1.1

Leia mais

LISTA DE QUESTÕES SERVIDORES DE APLICAÇÃO BANCA FCC CONCURSO TRT 2014

LISTA DE QUESTÕES SERVIDORES DE APLICAÇÃO BANCA FCC CONCURSO TRT 2014 LISTA DE QUESTÕES SERVIDORES DE APLICAÇÃO BANCA FCC CONCURSO TRT 2014 Professor: Lúcio Camilo Email: luciocamilo@gmail.com QUESTÕES SERVIDORES DE APLICAÇÃO Questão 01 - FCC - 2010 - TCE-SP O ambiente necessário

Leia mais

Instalando o Internet Information Services no Windows XP

Instalando o Internet Information Services no Windows XP Internet Information Services - IIS Se você migrou recentemente do Windows 95 ou 98 para o novo sitema operacional da Microsoft Windows XP, e utilizava antes o Personal Web Server, deve ter notado que

Leia mais

PHP AULA1. Prof. Msc. Hélio Esperidião

PHP AULA1. Prof. Msc. Hélio Esperidião PHP AULA1 Prof. Msc. Hélio Esperidião NAVEGADOR O navegador também conhecido como web browseré um programa que habilita seus usuários a interagirem com documentos hospedados em um servidor Web. SERVIDOR

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

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Programação para Internet Rica 1 Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Objetivo: Identificar as principais características de uma Aplicação Internet Rica.

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

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

SGBDs Móveis. Sumário 12/06/11. Emmanuel Férrer & Gabriela Fernanda. Introdução. Desafios do armazenamento. SQL Anywhere Studio.

SGBDs Móveis. Sumário 12/06/11. Emmanuel Férrer & Gabriela Fernanda. Introdução. Desafios do armazenamento. SQL Anywhere Studio. SGBDs Móveis Emmanuel Férrer & Gabriela Fernanda Introdução Sumário Desafios do armazenamento SQL Anywhere Studio DB2 Everyplace Microsoft SQL Server Oracle9I Lite Aplicações Móveis Referências 1 Introdução

Leia mais

SolarWinds Kiwi Syslog Server

SolarWinds Kiwi Syslog Server SolarWinds Kiwi Syslog Server Monitoramento de syslog fácil de usar e econômico O Kiwi Syslog Server oferece aos administradores de TI o software de gerenciamento mais econômico do setor. Fácil de instalar

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

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

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

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha Desenvolvimento WEB II Professora: Kelly de Paula Cunha O Java EE (Java Enterprise Edition): série de especificações detalhadas, dando uma receita de como deve ser implementado um software que utiliza

Leia mais

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS Ana Paula Carrion 1, Késsia Rita da Costa Marchi 1, Jaime Willian Dias 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil anapaulacarrion@hotmail.com,

Leia mais

Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores

Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores Este artigo demonstra como configurar uma rede virtual para ser usada em testes e estudos. Será usado o VirtualBox

Leia mais

Aluno: Paulo Roberto Alves de Oliveira Trabalho da disciplina Segurança em Windows 2010. Comparativo entre Apache e IIS.

Aluno: Paulo Roberto Alves de Oliveira Trabalho da disciplina Segurança em Windows 2010. Comparativo entre Apache e IIS. Aluno: Paulo Roberto Alves de Oliveira Trabalho da disciplina Segurança em Windows 2010 Comparativo entre Apache e IIS. Apache versus IIS 1. Resumo Os programas de computador Apache, da fundação Apache

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

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos:

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos: Estruturas de Sistemas Operacionais Podemos analisar um sistema operacional sob diversos aspectos: Os serviços que o sistema operacional oferece. A interface que o sistema operacional torna disponível

Leia mais

Inteligência Artificial. Redes Neurais Artificiais

Inteligência Artificial. Redes Neurais Artificiais Curso de Especialização em Sistemas Inteligentes Aplicados à Automação Inteligência Artificial Redes Neurais Artificiais Aulas Práticas no Matlab João Marques Salomão Rodrigo Varejão Andreão Matlab Objetivos:

Leia mais

GBD. Introdução PROF. ANDREZA S. AREÃO

GBD. Introdução PROF. ANDREZA S. AREÃO GBD Introdução PROF. ANDREZA S. AREÃO Sistema de arquivos X Sistemas de Banco de Dados Sistema de arquivos Sistema de Banco de Dados Aplicativos Dados (arquivos) Aplicativos SGBD Dados (arquivos) O acesso/gerenciamento

Leia mais

Introdução. O que é Serviços de Terminal

Introdução. O que é Serviços de Terminal Introdução Microsoft Terminal Services e Citrix MetaFrame tornaram-se a indústria padrões para fornecer acesso de cliente thin para rede de área local (LAN), com base aplicações. Com o lançamento do MAS

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Curso Engenharia Civil Modalidade Superior Professora Michelle Nery Agenda Introdução a Programação Algoritmos VS Programa 2 Algoritmos Um algoritmo pode ser definido como uma

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Arquitetura de Aplicações Distribuídas na Web Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

SISCAI - SISTEMA DE CONTROLE DE ACESSO À INTERNET RESUMO

SISCAI - SISTEMA DE CONTROLE DE ACESSO À INTERNET RESUMO SISCAI - SISTEMA DE CONTROLE DE ACESSO À INTERNET Fábio Junior Alves 1 Ernani Vinícius Damasceno 2 RESUMO A Internet é um dos fenômenos mais interessantes em redes, sendo que seu impacto reflete em toda

Leia mais

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP CAPÍTULO 1 O melhor do PHP Este livro levou bastante tempo para ser feito. Venho usando agora o PHP por muitos anos e o meu amor por ele aumenta cada vez mais por sua abordagem simplista, sua flexibilidade

Leia mais

Redes neurais aplicadas na identificação de variedades de soja

Redes neurais aplicadas na identificação de variedades de soja Redes neurais aplicadas na identificação de variedades de soja Fábio R. R. Padilha Universidade Regional do Noroeste do Estado do Rio Grande do Sul - UNIJUÍ Rua São Francisco, 5 - Sede Acadêmica, 987-,

Leia mais

INTERNET HOST CONNECTOR

INTERNET HOST CONNECTOR INTERNET HOST CONNECTOR INTERNET HOST CONNECTOR IHC: INTEGRAÇÃO TOTAL COM PRESERVAÇÃO DE INVESTIMENTOS Ao longo das últimas décadas, as organizações investiram milhões de reais em sistemas e aplicativos

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

Leia mais

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com Java & OpenJDK Thiago S. Gonzaga Sun Campus Ambassador thiago.gonzaga@sun.com Tópicos Sobre a Sun Microsystems Algumas tecnologias da Sun Linguagem de Programação Ciclo de Desenvolvimento O que é Java?

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

UNIVERSIDADE ESTADUAL DE PONTA GROSSA

UNIVERSIDADE ESTADUAL DE PONTA GROSSA UNIVERSIDADE ESTADUAL DE PONTA GROSSA SECRETARIA MUNICIPAL DE GESTÃO DE RECURSOS HUMANOS CONCURSO PÚBLICO PARA ANALISTA DE SUPORTE 08 DE NOVEMBRO DE 2009... (NOME COMPLETO EM LETRA DE FORMA) INSTRUÇÕES

Leia mais

Linguagem de Programação JAVA

Linguagem de Programação JAVA Linguagem de Programação JAVA Curso Técnico em Informática Modalida Integrado Instituto Federal do Sul de Minas, Câmpus Pouso Alegre Professora: Michelle Nery Agenda JAVA Histórico Aplicações Pós e Contras

Leia mais

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

Leia mais

Guia de Consulta Rápida HTTP. Décio Jr. Novatec Editora. www.novateceditora.com.br

Guia de Consulta Rápida HTTP. Décio Jr. Novatec Editora. www.novateceditora.com.br Guia de Consulta Rápida HTTP Décio Jr. Novatec Editora www.novateceditora.com.br Guia de Consulta Rápida HTTP de Décio Jr. Copyright 2001 da Novatec Editora Ltda. Todos os direitos reservados. É proibida

Leia mais

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor. UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor. Modelo Cliente/Servidor Por HIARLY ALVES Fortaleza - CE Apresentação. O mais famoso tipo de arquitetura utilizada em redes de computadores

Leia mais