Philipp Czerner
Hi! I am Philipp, and currently I am a doctoral candidate in computer science advised by Prof. Javier Esparza in the Chair for Foundations of Software Reliability and Theoretical Computer Science at Technical University of Munich. My research focuses on the theoretical analysis of weak models of distrbuted computing, in particular systems with stochastically interacting identical agents such as population protocols. Most of my results are related to space complexity of constant-space population protocols. Previously, I studied problems related to oblivious routing.
In rare moments of unallocated time, I like to do programming, reading, badminton, playing piano, and playing games. Sometimes I create things, like desks or bread.
If you donate money, consider directing a portion to GiveWell's Top Charities Fund (tax deductible in Germany via Effektiv Spenden).
czerner◯in·tum·de [?] | |
room | MI 03.11.037 |
phone | +49 89 289 17243 |
Software I have written
obst – Online BDD Simulation Tool
Have you ever tried to understand how Binary Decision Diagrams work? Or tried to teach a class with BDDs in it? Well, perhaps not. But if you did, would it not be great if someone had for some reason decided to spend six months on developing a nicely-animated, open-source tool to visualise BDD algorithms in great details? [try it] [source]i3ipc-simple – C interface for i3's IPC without the fuss
I like writing simple C programs with no dependencies. Communicating with i3 is not too difficult, but the existing libraries all seemed like a big hassle to integrate. So I wrote my own: single-header, no dependencies, C99/C++98, good error messages by default. [source]apfel – Automated Partitioning of Factories for Efficient Layouts
In the game Factorio the goal is to build factories. Fundamentally, it is a game about automation. Unsurprisingly, this automation does not stop at a reasonable point; this project is my attempt to generate both belt balancer and factory layouts. It is a work in progress. [source]lampe – Library for Agent Manipulation and Planning Efficiently
I participated in the Multi-Agent Programming Contest (MAPC) in the years 2016 and 2017 as part of team lampe. The goal of the MAPC is to program a group of agents to compete against another team in different kinds of setting. While our 2016 implementation was straightforward and based on hand-crafted heuristics, in 2017 we had a pretty interesting solution. [source]Awards
TeachInf Award 2021
[]
We received the teaching award for the best mandatory course in informatics at TU Munich in the summer term of 2021. The course was “Introduction to Theory of Computer Science”, held by Prof. Javier Esparza and organised by Martin Helfrich and me. Being a mandatory course it was large (~1000 students registered), and it needed to be fully remote. We invested a lot of effort into having a high-quality stream that was as interactive as possible. I am especially fond of the homework sheets, for which I created entirely new exercises set in a fictional world where the students have to help Theo and Dora overcome various problems, and thwart the supervillain Dr. Evilsparza.
Best Paper Award – SAND 2022
[]
Our paper Fast and Succinct Population Protocols for Presburger Arithmetic was recognised by the program committee. In this paper, we manage to construct population protocols that are both succinct (they use only few states relative to the predicate they are deciding) and fast (they stabilise to an output quicly). Our construction is in some sense optimal along both axes, matching known lower bounds. We introduce a new model in which population protocols can be constructed, use the idea of generalised output functions to simplify protocol design, and apply a technically involved potential function analysis. Other innovations include a fast multi-way implementation, a slightly faster output broadcast and an input distribution (population splitting) scheme that cannot fail.
Since then, Nils Harmsen, whom I advised during his BSc Thesis, has implemented our construction. Despite the 50-page paper, the protocols are smaller as soon as the constants in the predicate exceed ~1000, or if the predicate is a boolean combination of 2-3 predicates (as compared to the simplest construction).
Förderpreis – TU Clausthal VVF
[]
The “Förderpreis” of the “Verein der Freunde der TU Clausthal” is given to a small number of outstanding PhD, MSc and BSc Theses each year. I received the award for my BSc thesis, where I built a neural network to classify certain graphs resulting from software repositories. We wanted to capture how realistic such a graph looked. To this end, I used metadata from publicly available Git repositories. To make the scraping more efficient, I re-implemented the relevant parts of the Git protocol, so that I could e.g. only save the metadata and avoid downloading the actual contents. I then converted the metadata into change-coupling graphs, from which I sampled training data (there were some interesting optimisations here). On top of this, I then implemented the neural network. While not going full bare-metal, I did stay reasonably close to the ground, e.g. by using the C++ API of TensorFlow and implementing many important convenience features (snapshotting, training visualisation) myself.
The thesis was advised by Niklas Fiekas and supervised by Prof. Jürgen Dix. I would also like to thank Noura Al-Moubayed for helpful discussions.
Publications and Theses
Best Paper Award
1st Symposium on Algorithmic Foundations of Dynamic Networks (SAND 2022)
ACM Symposium on Principles of Distributed Computing (PODC 2021)
ACM Symposium on Principles of Distributed Computing (PODC 2021)
24th International Conference on Foundations of Software Science and Computation Structures (FoSSaCS 2021)
Master's Thesis in Informatics at TU Munich, 2020
28th Annual European Symposium on Algorithms (ESA 2020)
Award of the TU Clausthal VVF [?]
Bachelor's Thesis in Informatics at TU Clausthal, 2018
Annals of Mathematics and Artificial Intelligence, 2018
International Journal of Agent-Oriented Software Engineering, 2018
Teaching
Technical University of Munich, Teaching Assistant [?]
Technical University of Munich, Teaching Assistant [?]
Technical University of Munich, Tutor
Technical University of Munich, Teaching Assistant [?]
Technical University of Munich, Tutor
Technical University of Munich, Tutor
Technical University of Munich, Tutor
Technical University of Munich, Tutor
Technical University of Clausthal, Tutor
Technical University of Clausthal, Tutor
Technical University of Clausthal, Tutor
Technical University of Clausthal, Tutor
Technical University of Clausthal, Tutor
Technical University of Clausthal, Tutor
Technical University of Clausthal, Tutor
Technical University of Clausthal, Tutor