From Image to Nonogram: Construction, Quality and Switching Graphs
This was my master's thesis. I expanded and improved an algorithm which turns grayscale images into Nonograms of varying difficulty. I also investigated Nonograms with multiple solutions, introduced the notion of switching graphs and proposed a definition for the complexity of Nonograms based on the number of solutions and the structure of those solutions.
An Intuitive Algorithm for Finding Strongly Connected Components
This project was a continuation of a seminar in which a small group of students attempted to find an automated derivation of Tarjan's strongly connected components algorithm. Our main result was a very simple algorithm which functions as a frame for more complicated, efficient and potentially parallelizable algorithms. I then investigated a number of specialized variations and compared their performance to Tarjan's algorithm.
Determining Gapped Palindrome Density in RNA Using Suffix Arrays
For this project, I developed an efficient algorithm which can identify highly locally-palindromic regions in very large strings over small alphabets. The target application of this algorithm is finding special structures (such as TRNA and MicroRNA) in RNA strings. The algorithm can quickly process entire genomes and estimate which parts are highly structured and potentially interesting for further research.
Artificial Intelligence and Data Mining Applied to No-Limit Texas Hold'em
Together with Robin van der Zwan, I experimented with various rule-based poker AIs and applied data mining to Michael Maurer's IRC Poker Database. I mainly worked on the data mining aspect of this project while my thesis partner focussed on rule-based AIs and hand evaluation.