Resumo: O algoritmo de assinatura digital de curvas elípticas ECDSA (Elliptic Curve Digital Signature Algorithm) possui uma implementação eficiente e segura no software OpenSSL. Entretanto, esse trabalho mostra que essa implementação para curvas sobre na versão corrente é suscetível a ataques de canal lateral de temporização para conseguir recuperar o bit mais significativo do escalar nonce durante a fase de multiplicação.
Para demonstrar o vazamento, esse trabalho implementa um ataque usando a técnica de FLUSH+RELOAD conjuntamente com degradação de desempenho em assinaturas feitas com a chave privada gerada pela curva de koblitz sect163r1. O teste em questão gerou 10.000 assinaturas aplicando o ataque para recuperar o bit mais significativo, demorando em torno de 8 horas. O resultado obtido foi uma precisão de e de revocação para casos com o bit 1 e e para o caso do bit 0.
Trabalhos futuros podem usar esse bit para quebrar o ECDSA encontrando a chave privada através do ataque modificado de Bleichenbacher. Além disso, trabalho futuros podem investigar métodos de acelerar o ataque de recuperar o bit diminuindo o efeito da degradação de desempenho, retirando-a do restante da assinatura, o que tornaria o ataque mais prático e eficiente.
Resumo: Detecção de isomorfismo de grafos é um problema conhecido em Teoria de Grafos que consiste em verificar se dois grafos possuem a mesma estrutura morfológica, isto é, se existe uma bijeção entre os conjuntos de vértices com preservação de arestas. A definição de qual classe de complexidade o problema pertence ainda está em aberto pois não foi encontrada uma solução polinomial assim como também não foi provado que pertence a classe de problemas NP-Difícil.
Para este estudo foi escolhido um algoritmo exato de backtracking proposto por Mittal, para implementar, executar e comparar resultados com outros algoritmos. A comparação foi feita em relação aos resultados encontrados por Mattos para o algoritmo de Weisfeiler e Lehman.
Os resultados mostraram que o algoritmo é superior ao método de "Força Bruta", no qual são testadas todas as permutações de vértices, e é mais eficiente que o algoritmo de Weisfeiler e Lehman para grafos do tipo Regular Mesh.
Mesmo o algoritmo implementado tendo a complexidade fatorial de pior caso, todos os casos de testes foram resolvidos dentro de um timeout de 5 min, com exceção das instâncias difíceis. Para a grande maioria dos testes, o resultado foi gerado rapidamente em tempos inferiores a 1 min.
Resumo: A utilização de ferramentas digitais no auxílio ao aprendizado possui uma série de vantagens, sendo a automação de parte do processo pedagógico e a facilidade de compartilhamento de conhecimento as mais notórias. Com a popularização dos smartphones, muitas ferramentas pedagógicas foram migradas para esse contexto na forma de aplicativos, cuja necessidade de instalação muitas vezes é um limitante para dispositivos com pouca memória, ou páginas Web responsivas, cuja navegabilidade nem sempre é simples em telas pequenas. Neste trabalho, desenvolvemos uma plataforma para o treinamento em saúde, se aproveitando dos aplicativos de mensagens populares nesses dispositivos.
Resumo: O problema de auto localização é fundamental para diversos tipos de robôs autonômos. Os robôs dependem de sua posição local para tomar muitas de suas decisões de quais serão suas próximas ações. Neste trabalho, discutimos o problema de localização voltado para robôs humanóides que participam do futebol de robôs da RoboCup. Estudamos o algoritmo probabilístico do filtro de partículas de Monte Carlo e fizemos uma implementação do mesmo que roda num simulador Webots com um modelo virtual do robô NAO da Aldebaran. Chegamos a conclusão que é possível obter boas estimativas de posição, dependendo principalmente do seu modelo de movimentação e modelo de observação. Também mostramos que aumentar o número de partículas do filtro diminui o erro das estimativas.
Resumo: Para que um robô atue de forma autônoma, é fundamental que consiga se localizar em relação ao ambiente, e assim determinar a trajetória que deve seguir para executar sua tarefa. Nesse contexto, a odometria visual apresenta-se como um dos métodos mais utilizados, e portanto o desenvolvimento e avaliação de algoritmos precisos e robustos para esse fim são de grande relevância. Assim, este trabalho investiga o método Direct Sparse Odometry (DSO) aplicado ao contexto de robôs móveis. Para isso, foram realizados testes utilizando-se um modelo do robô diferencial Robotino no ambiente de simulação V-Rep, empregando-se diferentes velocidades para o robô e texturas aplicadas ao ambiente. Os resultados obtidos neste estudo colocam em questão a precisão e robustez demonstradas na publicação original, e reforçam a necessidade de maior investigação sobre as limitações do método.
Abstract: Great results achieved by Deep Q-Networks on Atari games gathered a lot of attention from researchers in the past year. Despite this, not many research has been conducted on using these networks on real-world robots learning through high-dimensional sensory input. This work proposes ALE-Robot, which is an architecture that uses ALE (Arcade Learning Environment) and the V-REP environment to simulate a robot learning to play Atari directly from its camera and a game controller through Reinforcement Learning. Results have demonstrated that, when applied to real robotics architectures, longer training periods and re-shaping rewards functions are required. Moreover, more time and computational power is necessary to test the feasibility of the proposed approach over different hyperparameters.
Resumo: Este é um estudo redes de acesso móveis Long Term Evolution (LTE) e LTE-Advanced (LTE-A). Um módulo para o simulador LTE-Sim foi implementado em c++ com o objetivo de estudar o procedimento de acesso aleatório do LTE, modelos de tráfego, comunicação Machine to Machine, Device to Device e o consumo de energia em dispositivos móveis. O módulo contém implementações de novas propostas de procedimentos ou a implementação da norma que estavam faltando no simulador. Problemas com o LTE-Sim impossibilitaram o uso dele para comunicação D2D. Diversos cenários foram criados para validar o módulo e os resultados encontrados se mostram condizentes com a norma.
Resumo: Este trabalho foi desenvolvido como projeto final de graduação e buscou entender e evoluir o modelo computacional do processador RISC-V desenvolvido com a plataforma ArchC. A utilização do modelo para gerar um simulador apresentava diversos desafios, como: problemas de execução, instruções com bugs, e outros. O trabalho buscou solucioná-los, tendo logrado êxito nesse quesito, inclusive aperfeiçoado a ferramenta utilizada para testar os modelos de processadores.
Como fruto da pesquisa e desenvolvimento realizada neste projeto, o ArchC conta com um modelo minimamente testado do RISC-V, assim como um conjunto mínimo de ferramentas necessárias para futuras pesquisas.
Resumo: Este trabalho está relacionado à um sub-projeto do INCT da Internet do Futuro que visa o desenvolvimento de um protótipo de infraestrutura de rede unificada, aberta e gratuita, baseada na tecnologia de virtualização de funções de rede (Network Functions Virtualization - NFV), que permita oferecer, de maneira ágil e com baixo custo operacional, um serviço inovador de comunicação, processamento e armazenamento. O projeto adota a plataforma de código aberto OPNFV e espera-se como resultado um ambiente em nuvem, acessado e interconectado pela Internet, totalmente transparente da localização das máquinas físicas e a oferta de funções de rede virtuais de gerenciamento e segurança, tais como, firewall, caracterização de tráfego e sistema de detecção de intrusão. Neste trabalho montamos toda a infraestrutura e ambiente necessários para as próximas etapas do projeto.
Resumo: Este trabalho é o relatório de um projeto visando a construção de uma interface única de acesso a serviços de armazenamento, em que a AWS S3, Azure Blob Storage e OpenStack Swift são os mais conhecidos. Com o uso de framework já existente desenvolvido em.NET, implementado para a AWS S3, Azure Blob Storage e Google APIs, este trabalho busca iniciar os estudos necessários para a implementação de mais um serviço, o OpenStack Swift. Com base nesses estudos, constatamos a existência de um framework não oficial que permite a interação com a OpenStack API, entretanto, verificamos que se encontrava desatualizado, com uma branch de atualização já em andamento. Para contornar esse problema, provisoriamente, estudou-se as interações com a API através de requisições HTTP.
Abstract: This work deals with a variation of the 0-1 two-dimensional knapsack problem, where each item has a value and there is also a value between each pair of items. The value of adding one item into the packing depends not only on the item's value, but also on its relation values with other items that are in the packing. We adapted some inputs commonly found on the literature to our problem and we propose some exact formulations to solve the problem. Our formulations use integer programming models that work in two phases: the first finds a packing considering relaxed constraints, and the second checks if the packing is feasible. Three approaches to check the packing feasibility were compared. Moreover, we propose four decoders to the BRKGA meta-heuristic and compare their quality with the solutions found using exact models. Computational results are also provided to show the quality of our methods.
Resumo: Borramento é um dos efeitos indesejados mais comuns em fotografia. Há várias causas diferentes de borramento, desde escolhas ruins para se determinar o intervalo de foco até longo tempo de abertura do obturador ou movimentos dos objetos na cena. Detecção instantânea de borramento em fotografias permite que as câmeras capturem fotografias em sequência ou executem algoritmos de correção. Neste trabalho, diferentes métodos para detecção de borramento são comparados. Os métodos são aplicados em imagens com níveis controlados de borramento gerados por meio de filtros da média sobre imagens originais nítidas.
Resumo: O problema de gerenciar eventos é de grande relevância para a comunidade académica uma vez que existem diversos tipos de atividades e palestras com necessidades específicas que ocorrem todos os anos nesse meio. Nesse contexto, este trabalho visa desenvolver uma aplicação Web que seja capaz de administrar tais eventos de forma efetiva tanto para os usuários como para seus administradores. Para esse projeto foram utilizadas técnicas e práticas modernas de desenvolvimento ágil com validação das principais partes interessadas.
Resumo: O problema de tracking da posição de uma robô em uma cena é de extrema relevância para a robótica autônoma e a qualidade deste processo está instrisicamente relacionada à qualidade da extração de características e estimação da distância do robô aos elementos de interesse em um mapa conhecido. Neste contexto, este trabalho tem o objetivo de implementar um sistema de detecção de objetos - pertinentes ao domínio do futebol de robôs - capaz de identificar elementos de interessse em imagens capturadas por uma câmera e estimação da localização desses objetos em relação ao robô. Para o projeto o smiluador Webots foi utilizado assim como o modelo virtual do robô humanoide NAO. Foram estudadas e implementadas técnicas para detecção de objetos em baixo nível com base nas imagens coletadas e posteriormente foi feita a análise em mais alto nível para a classificação ou descarte de candidatos e a representação de objetos.
Resumo: The problem of creating fast and stable walking for humanoid robots is a very complex one due to the large degree of freedom and the external variables involved. This work tackles this problem by using a model free approach where each joint is represented by a sinusoidal function of time. The parameters of the functions for all actuated joints are optimized using a genetic algorithm. Experiments were performed with a NAO robot in a simulated environment under V-REP. The optimized robot was able to walk at a speed of in a straight line and for up to 200 meters without falling. Experiments were also carried out to evaluate the individuals capacity to adapt to different scenarios, such as walking up and down ramps. Results showed different movement patterns, a slower pace and more upright positions for the robot walking uphill.
Abstract: The RoboCup, a soccer competition played by autonomous robots, raises a variety of hard problems in different fields such as Artificial Intelligence and Dynamics. In particular, vision is the essential input to take actions based on this highly dynamic environment. Although traditional techniques might be cheaper for object detection, new rules such as multicolored balls require more robust detection methods and allow a significant computing power improvement. Given these recent changes, this work presents a solution for ball localization using convolutional neural networks (CNNs), a largely applied machine learning technique holding the state of the art technology for several imagery problems. To perform the object detection, we train the CNN with robot's camera images as input and the ball's coordinates relative to the robot as output.
Resumo: Compreender o comportamento a nível de ciclos de um processador executando um programa é vital para a pesquisa moderna de arquitetura de computadores. Visando obter essa informação, simuladores detalhados geralmente são utilizados. A simulação completa de um benchmark padrão pode demorar semanas ou até meses para ser concluída. Para endereçar esses problemas, técnicas estatísticas tais como a metodologia SimPoint foram propostas. A metodologia SimPoint tenta identificar fases repetitivas e encontrar um conjunto pequeno de amostras da execução do programa que representa a maior parte da execução do programa, ou seja, busca prever alguma propriedade da arquitetura baseando-se na execução individual de amostras das fases do programa. Arquiteturas podem ser comparadas simulando o seu comportamento nas amostras de código selecionadas pelo SimPoint para rapidamente determinar que arquitetura tem o melhor desempenho. A metodologia SimPoint realiza a análise das fases de cada par programa-entrada separadamente. Neste trabalho estudamos a metodologia SimPoint, propomos e implementamos uma extensão dela para que permita a análise de fases de um programa para várias entradas visando assim tentar diminuir o número total de SimPoints necessasários para simular um benchmark inteiro.
Abstract: The Trustful Space-Time Protocol (TSTP) allows for time synchronization to be performed upon receiving any message from another node in a sensor network, removing the need for explicit messages. Previous work has shown that TSTP performs well under controlled experimental environments. In this work, we analyze how the quality of synchronization in TSTP is affected when nodes are communicating over varying distances, and across a temperature gradient. The results show that, while distance and packet loss has only a small effect on the quality of the synchronization, high temperatures of 80 Celsius and up can negatively affect it. Snippets of the results are presented, along with charts, statistics, and an analysis. A repository that contains all results, as well as the tools to analyze them, is available at https://gitlab.com/mathy/PFG.
Abstract: The problem of determining relationship trees between genomes is fundamental when studying life evolution on the planet. As mutations are rare, it is believed that when one genome transforms into another, it probably used the fewest operations possible. If we represent genomes as numeric permutations, we reduce that problem to the one of sorting permutations using specific operations. In this work we use two of the most common genome mutations: reversals and transpositions. We propose a machine learning approach where a classifier is trained on a set of features of small permutations and then used to sort bigger permutations. Results show that this method is competitive when compared to others in literature, specially when dealing with small permutations or considering the others' maximum approximation factors.
Resumo: Em um mundo onde a concorrência entre as empresas que provém produtos ou serviços baseados em softwares é cada vez maior, torna-se cada vez mais importante não só fidelizar os consumidores e usuários através da criação de funcionalidades que atendam às suas necessidades, como também reduzir os gastos desnecessários de tempo e dinheiro por parte das empresas. Visando esses objetivos vários modelos e metodologias de desenvolvimento de softwares surgiram nos últimos anos, sendo umas das mais recentes a Experimentação Contínua.
Neste trabalho estudamos a Experimentação Contínua através da implementação de algumas etapas do seu modelo teórico mais completo e difundido até o momento. Assim, buscamos ferramentas disponíveis no mercado que nos permitissem coletar e analisar os dados de uso e dos usuários de uma aplicação, e realizar experimentos na tentativa de se validar ou refutar hipóteses levantadas, visando melhorar a experiência dos usuários e atingir um objetivo pré-definido.
De posse desta ferramenta selecionamos uma aplicação em produção em cima da qual coletamos dados e, apesar de algumas limitações, realizamos um experimento bem sucedido, conseguindo atingir resultados que confirmaram as nossas hipóteses iniciais.
Resumo: Através deste trabalho, procuramos entender melhor o problema da classificação de dados multi classe. Buscamos compreender o desempenho, tanto em termos de acurácia quanto de tempo, de algoritmos inerentemente binários, explorando novas abordagens como a busca interna de hiper parâmetros. Nos atemos em explorar as diferenças entre a busca interna e externa de hiper parâmetros para as modelagens One vs. One e One vs. Rest, as quais utilizam algoritmos binários para a classificação. Ficamos contentes com os resultados obtidos, uma vez que eles permitiram um melhor entendimento a respeito deste problema e de outras possíveis maneiras que podemos solucioná-lo. Foram realizadas comparações envolvendo tempo de execução e acurácia dos classificadores e pudermos concluir que existem sim diferenças significativas entre a busca interna e externa de hiper parâmetros, assim como existem diferenças entre os próprios algoritmos binários utilizados nos classificadores OvO e OvR.
Instituto de Computação ::
Universidade Estadual de Campinas
Av. Albert Einstein, 1251 - Cidade Universitária Zeferino Vaz • 13083-852 Campinas, SP - Brasil • Fone: [19] 3521-5838 |