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.
During the project we have successfully made progress to towards the stated objectives by delivering several state-of-art algorithms
that have been obtained using unified framework. This includes:
- [1] that introduces a general framework for sampling random walks in graphs in Massive Parallel Computing (MPC) model and then using this new faster algorithms reduces several graphs problems (including PageRank) to random walk sampling.
- [2] includes a series of reductions of more general problems to less general ones. The reduction starts from submodular decomposable flows, goes through parametrized from, and ends with standard min-cost flow problem, thus efficiently solving these problems in the same complexity as min-cost flow.
- in [3] we introduce almost optimal dynamic algorithm for the Frobenious normal form and show how using it solve several dynamic shortest paths problems efficently.
- [4] gives first known subquadratic algorithms for reporting paths in dynamic problems against adaptive adversary.
- [5,6] - the set of these two papers finalize the study of f-factors in general graphs giving the general theory for this generalization
of matchings as well as unification of algorithms solving these problems.
[1] Jakub Lacki, Slobodan Mitrovic, Krzysztof Onak, Piotr Sankowski: Walking randomly, massively, and efficiently. STOC 2020: 364-377
[2] yriakos Axiotis, Adam Karczmarz, Anish Mukherjee, Piotr Sankowski, Adrian Vladu: Decomposable Submodular Function Minimization via Maximum Flow. ICML 2021: 446-456
[3] Adam Karczmarz, Piotr Sankowski: Sensitivity and Dynamic Distance Oracles via Generic Matrices and Frobenius Form. FOCS 2023: 1745-1756
[4] Adam Karczmarz, Anish Mukherjee, Piotr Sankowski: Subquadratic dynamic path reporting in directed graphs against an adaptive adversary. STOC 2022: 1643-1656
[5] Harold N. Gabow, Piotr Sankowski: Algorithms for Weighted Matching Generalizations I: Bipartite Graphs, b-matching, and Unweighted f-factors. SIAM J. Comput. 50(2): 440-486 (2021)
[6] Harold N. Gabow, Piotr Sankowski: Algorithms for Weighted Matching Generalizations II: f-factors and the Special Case of Shortest Paths. SIAM J. Comput. 50(2): 555-601 (2021)