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

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

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

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

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

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

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

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

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

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

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

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

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

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

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

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

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

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

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

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

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

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 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

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

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso

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

MLP (Multi Layer Perceptron)

MLP (Multi Layer Perceptron) MLP (Multi Layer Perceptron) André Tavares da Silva andre.silva@udesc.br Roteiro Rede neural com mais de uma camada Codificação de entradas e saídas Decorar x generalizar Perceptron Multi-Camada (MLP -

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

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

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

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Introdução Hardware X Software Corpo Humano Parte Física Componentes 18 Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Hardware Introdução Parte física: placas, periféricos,

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

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

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 A LEGO Education tem o prazer de trazer até você a edição para tablet do Software LEGO MINDSTORMS Education EV3 - um jeito divertido

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA

UNIVERSIDADE FEDERAL DE SANTA CATARINA UNIVERSIDADE FEDERAL DE SANTA CATARINA CIÊNCIAS DA COMPUTAÇÃO MÁQUINAS DE COMITÊ APLICADAS À FILTRAGEM DE SPAM Monografia submetida à UNIVERSIDADE FEDERAL DE SANTA CATARINA para a obtenção do grau de BACHAREL

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

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

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

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Marco T. A. Rodrigues*, Paulo E. M. de Almeida* *Departamento de Recursos em Informática Centro Federal de Educação Tecnológica de

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

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

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

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

Leia mais

Gerenciamento de software como ativo de automação industrial

Gerenciamento de software como ativo de automação industrial Gerenciamento de software como ativo de automação industrial INTRODUÇÃO Quando falamos em gerenciamento de ativos na área de automação industrial, fica evidente a intenção de cuidar e manter bens materiais

Leia mais

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

Leia mais

Programação para Web Artefato 01. AT5 Conceitos da Internet

Programação para Web Artefato 01. AT5 Conceitos da Internet Programação para Web Artefato 01 AT5 Conceitos da Internet Histórico de revisões Data Versão Descrição Autor 24/10/2014 1.0 Criação da primeira versão HEngholmJr Instrutor Hélio Engholm Jr Livros publicados

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM...

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM... 1 de 30 INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 3.1. ONDE SE DEVE INSTALAR O SERVIDOR BAM?... 4 3.2. ONDE SE DEVE INSTALAR O PROGRAMADOR REMOTO BAM?... 4 3.3. COMO FAZER

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

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Automação de Locais Distantes

Automação de Locais Distantes Automação de Locais Distantes Adaptação do texto Improving Automation at Remote Sites da GE Fanuc/ Water por Peter Sowmy e Márcia Campos, Gerentes de Contas da. Nova tecnologia reduz custos no tratamento

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

Curso Introdução à Educação Digital - Carga Horária: 40 horas (30 presenciais + 10 EaD)

Curso Introdução à Educação Digital - Carga Horária: 40 horas (30 presenciais + 10 EaD) ******* O que é Internet? Apesar de muitas vezes ser definida como a "grande rede mundial de computadores, na verdade compreende o conjunto de diversas redes de computadores que se comunicam e que permitem

Leia mais

TRABALHO COM GRANDES MONTAGENS

TRABALHO COM GRANDES MONTAGENS Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger www.elizabete.com.br

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger www.elizabete.com.br IntroduçãoàTecnologiaWeb TiposdeSites ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br TiposdeSites Índice 1 Sites... 2 2 Tipos de Sites... 2 a) Site

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?

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

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4.

Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. 1 Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. Interface do sistema... 4 1.4.1. Janela Principal... 4 1.5.

Leia mais

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furbbr Resumo. Este artigo apresenta a especificação

Leia mais

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL Documento: Tutorial Autor: Iuri Sonego Cardoso Data: 27/05/2005 E-mail: iuri@scripthome.cjb.net Home Page: http://www.scripthome.cjb.net ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

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

Introdução ao PHP. Prof. Késsia Marchi

Introdução ao PHP. Prof. Késsia Marchi Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext

Leia mais

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

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

:: Telefonia pela Internet

:: Telefonia pela Internet :: Telefonia pela Internet http://www.projetoderedes.com.br/artigos/artigo_telefonia_pela_internet.php José Mauricio Santos Pinheiro em 13/03/2005 O uso da internet para comunicações de voz vem crescendo

Leia mais

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG mhollweg@terra.com.br BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG mhollweg@terra.com.br BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS CONTEÚDO HARDWARE - 2 AULAS SISTEMA OPERACIONAL - 2 AULAS INFORMÁTICA Prof.: MARCIO HOLLWEG mhollweg@terra.com.br APLICATIVOS OFFICE - 3 AULAS INTERNET - 1 AULA REDE - 2 AULA SEGURANÇA - 1 AULA BANCO DE

Leia mais

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional Introdução à Linguagem JAVA Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação Laboratório de Visão Computacional Vantagens do Java Independência de plataforma; Sintaxe semelhante às linguagens

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais