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).


Contact information
e-mail czerner◯in·tum·de [?]
roomMI 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
Javier Esparza, Philipp Czerner, Martin Helfrich
[]

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
Philipp Czerner, Roland Guttenberg, Martin Helfrich, Javier Esparza
[]

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
Philipp Czerner
[]

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 availabel 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

Making IP=PSPACE Practical: Efficient Interactive Protocols for BDD Algorithms
Eszter Couillard, Philipp Czerner, Javier Esparza, Rupak Majumdar
[pdf] [talk] [slides] [doi]
Leaderless Population Protocols Decide Double-exponential Thresholds
Philipp Czerner
[pdf] [arxiv]
Fast and Succinct Population Protocols for Presburger Arithmetic
Philipp Czerner, Roland Guttenberg, Martin Helfrich, Javier Esparza
Best Paper Award
1st Symposium on Algorithmic Foundations of Dynamic Networks (SAND 2022)
[pdf] [doi]
Lower Bounds on the State Complexity of Population Protocols
Philipp Czerner, Javier Esparza
ACM Symposium on Principles of Distributed Computing (PODC 2021)
[pdf] [talk] [slides] [doi]
Decision Power of Weak Asynchronous Models of Distributed Computing
Philipp Czerner, Roland Guttenberg, Martin Helfrich, Javier Esparza
ACM Symposium on Principles of Distributed Computing (PODC 2021)
[pdf] [slides] [doi]
Running Time Analysis of Broadcast Consensus Protocols
Philipp Czerner, Stefan Jaax
24th International Conference on Foundations of Software Science and Computation Structures (FoSSaCS 2021)
[pdf] [talk] [slides] [doi]
Semi-oblivious Routing Strategies in Directed Graphs
Philipp Czerner
Master's Thesis in Informatics at TU Munich, 2020
[pdf]
Compact Oblivious Routing in Weighted Graphs
Philipp Czerner, Harald Räcke
28th Annual European Symposium on Algorithms (ESA 2020)
[pdf] [talk] [slides] [doi]
How realistic is a change coupling graph? Estimations with convolutional networks
Philipp Czerner
Award of the TU Clausthal VVF [?]
Bachelor's Thesis in Informatics at TU Clausthal, 2018
[pdf] [code]
Multi-agent programming contest 2017: lampe team description
Philipp Czerner, Jonathan Pieper
Annals of Mathematics and Artificial Intelligence, 2018
[pdf] [html] [code] [doi]
Multi-agent programming contest 2016: lampe team description
Philipp Czerner, Jonathan Pieper
International Journal of Agent-Oriented Software Engineering, 2018
[pdf] [html] [code] [doi]

Teaching

Information Theory and Theory of Computation
Technical University of Munich, Teaching Assistant [?]
WS 2022/23
Introduction to Theory of Computation
Technical University of Munich, Teaching Assistant [?]
SS 2022
Algorithms for Programming Contests
Technical University of Munich, Tutor
WS 2021/22
Introduction to Theory of Computation
Technical University of Munich, Teaching Assistant [?]
SS 2021
Discrete Structures
Technical University of Munich, Tutor
WS 2021/22
Efficient Algorithms and Data Structures I
Technical University of Munich, Tutor
WS 2019/20
Parallel Programming
Technical University of Munich, Tutor
SS 2019
Efficient Algorithms and Data Structures I
Technical University of Munich, Tutor
WS 2018/19
Ingenieursmathematik IV (mathematics for engineers)
Technical University of Clausthal, Tutor
SS 2017
Logik und Verifikation (logic and verification)
Technical University of Clausthal, Tutor
SS 2017
Ingenieursmathematik III (mathematics for engineers)
Technical University of Clausthal, Tutor
WS 2016/17
Informatik III (theory of computer science)
Technical University of Clausthal, Tutor
WS 2016/17
Mathematischer Vorkurs (preparatory course in mathematics)
Technical University of Clausthal, Tutor
WS 2016/17
Ingenieursmathematik II (mathematics for engineers)
Technical University of Clausthal, Tutor
SS 2016
Ingenieursmathematik I (mathematics for engineers)
Technical University of Clausthal, Tutor
WS 2015/16
Mathematischer Vorkurs (preparatory course in mathematics)
Technical University of Clausthal, Tutor
WS 2015/16