Towards unification of algorithmic tools
Over last 50 years, extensive algorithmic research gave rise to a plethora of fundamental results. These results equipped us with increasingly better solutions to a number of core problems. However, many of these solutions are incomparable. The main reason for that is the fact that many cutting-edge algorithmic results are very specialized in their applicability. Often, they are limited to particular parameter range or require different assumptions. 

A natural question arises: is it possible to get “one to rule them all” algorithm for some core problems such as matchings and maximum flow? In other words, can we unify our algorithms? That is, can we develop an algorithmic framework that enables us to combine a number of existing, only “conditionally” optimal, algorithms into a single all-around optimal solution? Such results would unify the landscape of algorithmic theory but would also greatly enhance the impact of these cutting-edge developments on the real world. After all, algorithms and data structures are the basic building blocks of every computer program. However, currently using cutting-edge algorithms in an optimal way requires extensive expertise and thorough understanding of both the underlying implementation and the characteristics of the input data. 

Hence, the need for such unified solutions seems to be critical from both theoretical and practical perspective. However, obtaining such algorithmic unification poses serious theoretical challenges. We believe that some of the recent advances in algorithms provide us with an opportunity to make serious progress towards solving these challenges in the context of several fundamental algorithmic problems. This project should be seen as the start of such a systematic study of unification of algorithmic tools with the aim to remove the need to “under the hood” while still guaranteeing an optimal performance independently of the particular usage case.