When thinking about distributed systems, we usually either think about the applications and services they can offer to us or technological aspects, protocols like TCP/IP. Distributed algorithms, however, are an extremely underrated topic. They offer services such as leader election, mutual exclusion, or data aggregation, which are usually located somewhere "under the hood" in radio networks, network shares, or sensor networks. Roughly from 2005 to 2015, Dr. Weise has actively researched the question "Can we automatically synthesize such algorithms?" or, more generally, "Can a computer invent an actual, non-trivial program?"

In other words, this strand of our research is focused on Inductive Program Synthesis, i.e., the automatic generation of programs which can compute exactly the wanted outputs for a set of specified input examples. Genetic programming (GP) is a type of evolutionary algorithm, i.e., an optimization method, whose name implies that it might be suitable for this. Yet it has been applied mainly to different problems – or very coarse interpretations of the term "program." In his work, Dr. Weise investigated several improvements of GP, including new representations and special fitness assignment procedures. The work led to his award-winning PhD thesis, but was later also extended to the synthesis of exact integer mathematical algorithms. It led to the automatic evolution of real, non-trivial, complex algorithms, containing loops and conditionals. Without any "cheating" such as gently guiding the optimization procedure into the right direction.




  1. Algorithm Synthesis: Deep Learning and Genetic Programming