Hugo A D Nascimento - Academia.edu (original) (raw)
Papers by Hugo A D Nascimento
Anais do XIV Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2013), 2013
Este artigo apresenta uma implementação paralela baseada em Graphics Processing Unit (GPU) para o... more Este artigo apresenta uma implementação paralela baseada em Graphics Processing Unit (GPU) para o problema da identificação dos caminhos mínimos entre todos os pares de vértices em um grafo. A implementação é baseada no algoritmo Floyd-Warshall e tira o máximo proveito da arquitetura multithreaded das GPUs atuais. Nossa solução reduz a comunicação entre a Central Processing Unit (CPU) e a GPU, melhora a utilização dos Streaming Multiprocessors (SMs) e faz um uso intensivo de acesso aglutinado em memória para otimizar o acesso de dados do grafo. A vantagem da implementação proposta é demonstrada por vários grafos gerados aleatoriamente utilizando a ferramenta GTgraph. Grafos contendo milhares de vértices foram gerados e utilizados nos experimentos. Os resultados mostraram um excelente desempenho em diversos grafos, alcançando ganhos de até 149x, quando comparado com uma implementação sequencial, e superando implementações tradicionais por um fator de quase quatro vezes. Nossos resulta...
Apresentamos um método de estimação de matrizes origem-destino (OD) para redes viárias urbanas co... more Apresentamos um método de estimação de matrizes origem-destino (OD) para redes viárias urbanas congestionadas. Assume-se que os dados disponíveis incluem estimações incompletas e imprecisas de: contagens de tráfego, entradas OD, partidas em origens e chegadas em destinos. O método consiste de uma sequência de programas lineares fuzzy e foi projetado especialmente para atender à realidade de cidades brasileiras de médio a grande porte. Quando não há uma alocação de tráfego de equilíbrio que corresponda aos dados de entrada disponíveis, o método produz um conjunto de alocações de tráfego-e matrizes OD correspondentes-dentro de um espectro que abrange (i) das soluções que satisfaçam as estimações de entrada até (ii) as soluções que satisfaçam uma alocação de equilíbrio. Testou-se o método com dois exemplos numéricos, um deles proposto pelos autores e outro um teste clássico disponível na literatura.
Finding chordless cycles is an important theoretical problem in the Graph Theory area. It also ca... more Finding chordless cycles is an important theoretical problem in the Graph Theory area. It also can be applied to practical problems such as discover which predators compete for the same food in ecologi-cal networks. Motivated by the problem of theoretical interest and also by its significant practical importance, we present in this pa-per a parallel algorithm for enumerating all the chordless cycles in undirected graphs, which was implemented in OpenCL.
Pan-Sydney Area Workshop on Visual Information Processing, 2000
Graph clustering is an important and difficult optimization problem that arises in Software Engin... more Graph clustering is an important and difficult optimization problem that arises in Software Engineering [RRHK00, KE00, TH00], VLSI design [AK95], Distributed and Parallel Processing [KGGK94], and in many other areas. We have developed a system (called HINTS) for graph
Australasian Computer Science Conference, 2003
The Map Labelling Problem appears in several applications, mainly in Cartography. Although much r... more The Map Labelling Problem appears in several applications, mainly in Cartography. Although much research on this problem has been done, it is interesting to note that map-labelling processes in commercial fields are very often executed manually or with little support of automatic tools. In general, practical map-labelling problems involve human subjective domain knowledge about label placement that is not entirely covered by the existing scientific approaches. In the present paper, we describe an interactive framework for minimising this technological gap. The framework allows users to interact with a labelling process by giving hints, which represent domain knowledge or adjustments that help an optimisation method to produce good labelling results. A map labelling system based on the framework has been implemented and an initial evaluation shows that it is promising. .
We address a new problem of automatic metro map layout. In general, a metro map consists of a set... more We address a new problem of automatic metro map layout. In general, a metro map consists of a set of lines which have intersections or overlaps. We present a method to produce a good layout of a metro map automatically. Our method uses a variation of the spring algorithm with a suitable preprocessing step. The experimental results with real world data sets show that our approach is promising.
In this systematic literature review (SLR) we summarize studies that address the word segmentatio... more In this systematic literature review (SLR) we summarize studies that address the word segmentation problem (WSP) for Latin-based languages. We adopted the protocol of Kitchenham et al. for the review. The search in academic repositories found 771 works, from which 89 were selected. After a quality assessment step, 69 papers were chosen for data extraction. The results point to a divergence in terminology of this problem, two of which are more relevant, having specific techniques, corpus and application context: compound splitting and identifier splitting. We analyze the state of the art of each context, pointing out differences and similarities in approaches. We hope that these results can serve as a guide for future investigations and advancement of WSP.
2019 IEEE Canadian Conference of Electrical and Computer Engineering (CCECE), 2019
This work proposes and evaluates a method for interaction and control of Netflix using continuous... more This work proposes and evaluates a method for interaction and control of Netflix using continuous recognition of gestures in smartwatches. This method allows the user to pause, resume, rewind, move forward, increase and decrease the volume of the Netflix player using gestures similar to traditional icons for these tasks. The recognition of gestures is done using the algorithm of continuous recognition of gestures, so it is possible to recognize a gesture before it is finalized, in this way, it is possible to perform the action quickly thus improving the feedback to the user. We have developed a prototype for smartwatches that communicates with a communication platform that receives the actions and is responsible for executing them on Netflix. When performing a gesture, the first step is to recognize it, in sequence, the gesture is sent to the interaction platform and, finally, the action related to the gesture is performed. We performed an experiment with users and a usability and e...
This paper presents a user-driven genetic algorithm for directed graph drawing. An interactive fr... more This paper presents a user-driven genetic algorithm for directed graph drawing. An interactive framework is considered where users can focus the algorithm on regions of the drawing that need major improvement, or include domain knowledge as layout constraints. The paper describes how focus and user constraints are managed by the genetic algorithm. The combination of user’s skills with automatic tools allows a more flexible and efficient optimization method, when compared to traditional non-interactive genetic algorithms. Issues regarding memory usage, processing time, solution representation and convergence are discussed here.
Resumo—This paper proposes a method to aid blind persons in skill development to walk in unfamili... more Resumo—This paper proposes a method to aid blind persons in skill development to walk in unfamiliar environments. The method aims to use the human ability in construct of spatial cognitive maps. Thus, we developed a system that uses the Virtual Reality and Kinect R ©. Two-dimensional and three-dimensional virtual environments modeling are allowed. It is possible to reproduce real environments such as schools, universities and other places of interest. The interaction with the virtual environment works with pose recognition. Recognized poses are interpreted as an action such as left and right turn or walk. Experiments were carried out to verify the pose recognition algorithms and to identify the optimal parameters. The results were satisfactory and demonstrated that the proposed method can be quite promising. Thus, it can be indicated as an aid to skill development of locomotion in real environments. Keywords—Virtual Environment, Poses Recognition, Depth Camera, Blind.
Proceedings of the ACM SIGCHI Symposium on Engineering Interactive Computing Systems - EICS '19, 2019
Smartwatches are gaining popularity on market with a set of features comparable to smartphones in... more Smartwatches are gaining popularity on market with a set of features comparable to smartphones in a wearable device. This novice technology brings new interaction paradigms and challenges for blind users, who have difficulties dealing with touchscreens. Among a variety of tasks that must be studied, text entry is analyzed, considering that current existing solutions may be unsatisfactory (as voice input) or even unfeasible (as working with tiny QWERTY keyboards) for a blind user. More specifically, this paper presents a study on possible solutions for composing a Braille cell on smartwatches. Five prototypes were developed and different feedback features were proposed. These are confronted with seven specialists on an evaluation study that results in a qualitative analysis of which strategies can be more useful for blind users in a Braille text entry.
arXiv: Distributed, Parallel, and Cluster Computing, 2014
In a finite undirected simple graph, a chordless cycle is an induced subgraph which is a cycle. W... more In a finite undirected simple graph, a chordless cycle is an induced subgraph which is a cycle. We propose a GPU parallel algorithm for enumerating all chordless cycles of such a graph. The algorithm, implemented in OpenCL, is based on a previous sequential algorithm developed by the current authors for the same problem. It uses a more compact data structure for solution representation which is suitable for the memory-size limitation of a GPU. Moreover, for graphs with a sufficiently large amount of chordless cycles, the algorithm presents a significant improvement in execution time that outperforms the sequential method.
2018 Symposium on High Performance Computing Systems (WSCAD), Oct 1, 2018
Reduction operations are extensively employed in many computational problems. A reduction consist... more Reduction operations are extensively employed in many computational problems. A reduction consists of, given a finite set of numeric elements, combining into a single value all elements in that set, using for this a combiner function. A parallel reduction, in turn, is the reduction operation concurrently performed when multiple execution units are available. The current work reports an investigation on this subject and depicts a GPU-based parallel approach for it. Employing techniques like Loop Unrolling, Persistent Threads and Algebraic Expressions to avoid thread divergence, the presented approach was able to achieve a 2.8x speedup when compared to ???, using a generic, simple and easily portable code. Experiments conducted to evaluate the approach show that the strategy is able to perform efficiently in AMD and NVidia's hardware, as well as in OpenCL and CUDA.
Lecture Notes in Computer Science, 2002
2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC)
Selected Papers from the Pan Sydney Workshop on Visualisation Volume 2, Dec 1, 2000
Graph clustering is an important and difficult optimization problem that arises in Software Engin... more Graph clustering is an important and difficult optimization problem that arises in Software Engineering [RRHK00, KE00, TH00], VLSI design [AK95], Distributed and Parallel Processing [KGGK94], and in many other areas. We have developed a system (called HINTS) for graph
Proceedings of the 26th Australasian Computer Science Conference Volume 16, Feb 1, 2003
The Map Labelling Problem appears in several applications, mainly in Cartography. Although much r... more The Map Labelling Problem appears in several applications, mainly in Cartography. Although much research on this problem has been done, it is interesting to note that map-labelling processes in commercial fields are very often executed manually or with little support of automatic tools. In general, practical map-labelling problems involve human subjective domain knowledge about label placement that is not entirely covered by the existing scientific approaches. In the present paper, we describe an interactive framework for minimising this technological gap. The framework allows users to interact with a labelling process by giving hints, which represent domain knowledge or adjustments that help an optimisation method to produce good labelling results. A map labelling system based on the framework has been implemented and an initial evaluation shows that it is promising. .
Anais do XIV Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2013), 2013
Este artigo apresenta uma implementação paralela baseada em Graphics Processing Unit (GPU) para o... more Este artigo apresenta uma implementação paralela baseada em Graphics Processing Unit (GPU) para o problema da identificação dos caminhos mínimos entre todos os pares de vértices em um grafo. A implementação é baseada no algoritmo Floyd-Warshall e tira o máximo proveito da arquitetura multithreaded das GPUs atuais. Nossa solução reduz a comunicação entre a Central Processing Unit (CPU) e a GPU, melhora a utilização dos Streaming Multiprocessors (SMs) e faz um uso intensivo de acesso aglutinado em memória para otimizar o acesso de dados do grafo. A vantagem da implementação proposta é demonstrada por vários grafos gerados aleatoriamente utilizando a ferramenta GTgraph. Grafos contendo milhares de vértices foram gerados e utilizados nos experimentos. Os resultados mostraram um excelente desempenho em diversos grafos, alcançando ganhos de até 149x, quando comparado com uma implementação sequencial, e superando implementações tradicionais por um fator de quase quatro vezes. Nossos resulta...
Apresentamos um método de estimação de matrizes origem-destino (OD) para redes viárias urbanas co... more Apresentamos um método de estimação de matrizes origem-destino (OD) para redes viárias urbanas congestionadas. Assume-se que os dados disponíveis incluem estimações incompletas e imprecisas de: contagens de tráfego, entradas OD, partidas em origens e chegadas em destinos. O método consiste de uma sequência de programas lineares fuzzy e foi projetado especialmente para atender à realidade de cidades brasileiras de médio a grande porte. Quando não há uma alocação de tráfego de equilíbrio que corresponda aos dados de entrada disponíveis, o método produz um conjunto de alocações de tráfego-e matrizes OD correspondentes-dentro de um espectro que abrange (i) das soluções que satisfaçam as estimações de entrada até (ii) as soluções que satisfaçam uma alocação de equilíbrio. Testou-se o método com dois exemplos numéricos, um deles proposto pelos autores e outro um teste clássico disponível na literatura.
Finding chordless cycles is an important theoretical problem in the Graph Theory area. It also ca... more Finding chordless cycles is an important theoretical problem in the Graph Theory area. It also can be applied to practical problems such as discover which predators compete for the same food in ecologi-cal networks. Motivated by the problem of theoretical interest and also by its significant practical importance, we present in this pa-per a parallel algorithm for enumerating all the chordless cycles in undirected graphs, which was implemented in OpenCL.
Pan-Sydney Area Workshop on Visual Information Processing, 2000
Graph clustering is an important and difficult optimization problem that arises in Software Engin... more Graph clustering is an important and difficult optimization problem that arises in Software Engineering [RRHK00, KE00, TH00], VLSI design [AK95], Distributed and Parallel Processing [KGGK94], and in many other areas. We have developed a system (called HINTS) for graph
Australasian Computer Science Conference, 2003
The Map Labelling Problem appears in several applications, mainly in Cartography. Although much r... more The Map Labelling Problem appears in several applications, mainly in Cartography. Although much research on this problem has been done, it is interesting to note that map-labelling processes in commercial fields are very often executed manually or with little support of automatic tools. In general, practical map-labelling problems involve human subjective domain knowledge about label placement that is not entirely covered by the existing scientific approaches. In the present paper, we describe an interactive framework for minimising this technological gap. The framework allows users to interact with a labelling process by giving hints, which represent domain knowledge or adjustments that help an optimisation method to produce good labelling results. A map labelling system based on the framework has been implemented and an initial evaluation shows that it is promising. .
We address a new problem of automatic metro map layout. In general, a metro map consists of a set... more We address a new problem of automatic metro map layout. In general, a metro map consists of a set of lines which have intersections or overlaps. We present a method to produce a good layout of a metro map automatically. Our method uses a variation of the spring algorithm with a suitable preprocessing step. The experimental results with real world data sets show that our approach is promising.
In this systematic literature review (SLR) we summarize studies that address the word segmentatio... more In this systematic literature review (SLR) we summarize studies that address the word segmentation problem (WSP) for Latin-based languages. We adopted the protocol of Kitchenham et al. for the review. The search in academic repositories found 771 works, from which 89 were selected. After a quality assessment step, 69 papers were chosen for data extraction. The results point to a divergence in terminology of this problem, two of which are more relevant, having specific techniques, corpus and application context: compound splitting and identifier splitting. We analyze the state of the art of each context, pointing out differences and similarities in approaches. We hope that these results can serve as a guide for future investigations and advancement of WSP.
2019 IEEE Canadian Conference of Electrical and Computer Engineering (CCECE), 2019
This work proposes and evaluates a method for interaction and control of Netflix using continuous... more This work proposes and evaluates a method for interaction and control of Netflix using continuous recognition of gestures in smartwatches. This method allows the user to pause, resume, rewind, move forward, increase and decrease the volume of the Netflix player using gestures similar to traditional icons for these tasks. The recognition of gestures is done using the algorithm of continuous recognition of gestures, so it is possible to recognize a gesture before it is finalized, in this way, it is possible to perform the action quickly thus improving the feedback to the user. We have developed a prototype for smartwatches that communicates with a communication platform that receives the actions and is responsible for executing them on Netflix. When performing a gesture, the first step is to recognize it, in sequence, the gesture is sent to the interaction platform and, finally, the action related to the gesture is performed. We performed an experiment with users and a usability and e...
This paper presents a user-driven genetic algorithm for directed graph drawing. An interactive fr... more This paper presents a user-driven genetic algorithm for directed graph drawing. An interactive framework is considered where users can focus the algorithm on regions of the drawing that need major improvement, or include domain knowledge as layout constraints. The paper describes how focus and user constraints are managed by the genetic algorithm. The combination of user’s skills with automatic tools allows a more flexible and efficient optimization method, when compared to traditional non-interactive genetic algorithms. Issues regarding memory usage, processing time, solution representation and convergence are discussed here.
Resumo—This paper proposes a method to aid blind persons in skill development to walk in unfamili... more Resumo—This paper proposes a method to aid blind persons in skill development to walk in unfamiliar environments. The method aims to use the human ability in construct of spatial cognitive maps. Thus, we developed a system that uses the Virtual Reality and Kinect R ©. Two-dimensional and three-dimensional virtual environments modeling are allowed. It is possible to reproduce real environments such as schools, universities and other places of interest. The interaction with the virtual environment works with pose recognition. Recognized poses are interpreted as an action such as left and right turn or walk. Experiments were carried out to verify the pose recognition algorithms and to identify the optimal parameters. The results were satisfactory and demonstrated that the proposed method can be quite promising. Thus, it can be indicated as an aid to skill development of locomotion in real environments. Keywords—Virtual Environment, Poses Recognition, Depth Camera, Blind.
Proceedings of the ACM SIGCHI Symposium on Engineering Interactive Computing Systems - EICS '19, 2019
Smartwatches are gaining popularity on market with a set of features comparable to smartphones in... more Smartwatches are gaining popularity on market with a set of features comparable to smartphones in a wearable device. This novice technology brings new interaction paradigms and challenges for blind users, who have difficulties dealing with touchscreens. Among a variety of tasks that must be studied, text entry is analyzed, considering that current existing solutions may be unsatisfactory (as voice input) or even unfeasible (as working with tiny QWERTY keyboards) for a blind user. More specifically, this paper presents a study on possible solutions for composing a Braille cell on smartwatches. Five prototypes were developed and different feedback features were proposed. These are confronted with seven specialists on an evaluation study that results in a qualitative analysis of which strategies can be more useful for blind users in a Braille text entry.
arXiv: Distributed, Parallel, and Cluster Computing, 2014
In a finite undirected simple graph, a chordless cycle is an induced subgraph which is a cycle. W... more In a finite undirected simple graph, a chordless cycle is an induced subgraph which is a cycle. We propose a GPU parallel algorithm for enumerating all chordless cycles of such a graph. The algorithm, implemented in OpenCL, is based on a previous sequential algorithm developed by the current authors for the same problem. It uses a more compact data structure for solution representation which is suitable for the memory-size limitation of a GPU. Moreover, for graphs with a sufficiently large amount of chordless cycles, the algorithm presents a significant improvement in execution time that outperforms the sequential method.
2018 Symposium on High Performance Computing Systems (WSCAD), Oct 1, 2018
Reduction operations are extensively employed in many computational problems. A reduction consist... more Reduction operations are extensively employed in many computational problems. A reduction consists of, given a finite set of numeric elements, combining into a single value all elements in that set, using for this a combiner function. A parallel reduction, in turn, is the reduction operation concurrently performed when multiple execution units are available. The current work reports an investigation on this subject and depicts a GPU-based parallel approach for it. Employing techniques like Loop Unrolling, Persistent Threads and Algebraic Expressions to avoid thread divergence, the presented approach was able to achieve a 2.8x speedup when compared to ???, using a generic, simple and easily portable code. Experiments conducted to evaluate the approach show that the strategy is able to perform efficiently in AMD and NVidia's hardware, as well as in OpenCL and CUDA.
Lecture Notes in Computer Science, 2002
2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC)
Selected Papers from the Pan Sydney Workshop on Visualisation Volume 2, Dec 1, 2000
Graph clustering is an important and difficult optimization problem that arises in Software Engin... more Graph clustering is an important and difficult optimization problem that arises in Software Engineering [RRHK00, KE00, TH00], VLSI design [AK95], Distributed and Parallel Processing [KGGK94], and in many other areas. We have developed a system (called HINTS) for graph
Proceedings of the 26th Australasian Computer Science Conference Volume 16, Feb 1, 2003
The Map Labelling Problem appears in several applications, mainly in Cartography. Although much r... more The Map Labelling Problem appears in several applications, mainly in Cartography. Although much research on this problem has been done, it is interesting to note that map-labelling processes in commercial fields are very often executed manually or with little support of automatic tools. In general, practical map-labelling problems involve human subjective domain knowledge about label placement that is not entirely covered by the existing scientific approaches. In the present paper, we describe an interactive framework for minimising this technological gap. The framework allows users to interact with a labelling process by giving hints, which represent domain knowledge or adjustments that help an optimisation method to produce good labelling results. A map labelling system based on the framework has been implemented and an initial evaluation shows that it is promising. .