Network analysis

5th November, 2019

Detecting Highways on Large Networks

Highways are high-speed multi-lane roads which facilitate long-distance travelling in road networks. The properties of those highways yield some practical and theoretical implications which have been the motivation and foundation of many efficient route planning algorithms. In our work, we discuss the underlying structural concepts of highways and propose a formal definition for highways in networks. We provide a fast way of computing such highways based on a modification of Brandes' algorithm. Furthermore, we introduce an approximation approach which makes the computation even faster by two orders of magnitude. In our experiments, we show that our method Highway-Paths Ratio can identify up to 99% of all highway segments in real road networks. Additionally, we define a new contraction order for Contraction Hierarchies, a fast route planning algorithm based on vertex contraction. Our contraction order is solely based on our definition of a highway network and performs similarly good as the original approach Edge Difference, hence demonstrating that our highway definition finds an inherent hierarchical structure in the road network. The argument of finding an inherent structure is further supported when we compare the original road networks with random networks of the same degree distribution and the same weights. We discover a unique distribution of our highway edge scoring compared to the random networks, which in contrast to the original network follow a nearly log-normal distribution. This versatile toolkit of contraction order and value distributions in the original and random networks allows us to not only detect and verify highway-like structures in road networks but also in other types of networks. With our analysis on six networks from various domains, we lay the foundation for the highway detection and analysis in general networks and we hope to motivate research on the detection and analysis of highway-like structures on various types of networks.

Go to thesis

Open Source

3rd Oct, 2018

The Distiller

The Distiller poses an alternative solution for batch job execution for Data Science jobs with dependencies between scripts to existing systems like Apache Airflow or Luigi. That is mainly due to its local thinking when it comes to dependencies and input data, a modular and re-usable approach through stills, pipes, parameters and age requirements. Additionally, with features like data drivers and a built-in scheduler satisfying the age requirements, the complexity is reduced for the user. Apache Airflow and Luigi are developed over a longer time by more people and offer feature-rich systems. Especially components like a UI makes them easier to be monitored and controlled. Nevertheless, the Distiller has conceptual advantages, while the choice of which system to use is a matter of taste and personal preferences. The modularity allows the re-usage of code for different projects and makes it easier to collaborate with others to create pipelines of scripts and make use of existing ones. The age requirements and on-demand dependency exploration keeps the focus on the current work without the need to have the whole pipeline in mind.

Go to GitHub

Data Science

29th Aug, 2018

Spotify Song Recommendations - ACM RecSysChallenge 2018

As part of the ACM RecSysChallenge 2018 in cooperation with Spotify, I created a recommendation system for music together with a co-student. We predict songs for different metadata and number of seed tracks using a combination of different approaches: Neighborhood-exploration, in combination with a latent feature representation for larger numbers of seed tracks and ranking of tracks based on an audio feature neural network. The neighborhood approach is an efficient way to generate good results, which can be improved inexpensively by matrix factorization and matching of audio features. With our approach, we reached a top 20% placement at the competition strictly meant for and restricted to academic participants.

Read the report

Open Source

8th Aug, 2016

fyrelab sentri

fyrelab sentri turns your Raspberry Pi into a extendable and fully configurable home monitoring system as a baby monitor, burglar alarm or pet watch. It uses additional hardware such as webcams, microphones, temperatures sensors etc. It is easily configurable through an included webtool and works with a event-condition-action logic configurable by the user.

Learn more

Software projects

2013-2015

Yoogo Vocabulary Trainer

Yoogo was a vocabulary trainer for iPhone and iPad built on the new iOS 7 interface at the time. It was built with Objective-C and had a variety of learning and testing mechanisms, learning reports, Dropbox sync, CSV import, etc.

Learn more