Skip to main content

Towards Unification of Algorithmic Tools

Periodic Reporting for period 2 - TUgbOAT (Towards Unification of Algorithmic Tools)

Reporting period: 2020-03-01 to 2021-08-31

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.
We have been mostly working on Task A, i.e. the unification of graph algorithms. In particular, our results are:
- a new view on min-cost flow problem in planar graphs that lead to the most efficient algorithm - we are currently trying to extend these ideas to general graphs,
- optimal algorithms for incremental matchings in bipartite graphs - these algorithms use basic algorithmic principles,
- new polyloglog round algorithms for computing PageRank in the MPC models- our approach is rather general and leads to the solution of several other problems.

We have started to work as well on robust view on shortest paths, i.e. Task C.
The main achievement so far is the MPC algorithm for PageRank that gives exponential speedup with respect to the state of art. As research in this project has primarily theoretical nature, it is hard to predict what kind of results will be obtained next.