Water transport on finite graphs
Timo Vilkas
TL;DR
This work studies how to maximize the water level at a fixed vertex $v$ in a finite graph by sequentially opening pipes, formalizing the objective as $\kappa(v)$. It builds a duality with the Sharing a Drink (SAD) process and introduces meta-sequences and hypermoves to prove that a finite hypermove plan can achieve $\kappa(v)$ (Theorem \text{finitemacro}). The paper establishes NP-hardness for the general problem via a 3-SAT reduction, while also deriving explicit, efficient computations for tractable graphs such as paths and complete graphs. It also develops heuristic approaches (GLA-based) and demonstrates their limitations, outlining open questions about approximation guarantees, optimal move lengths, and behavior on random or fault-prone networks.
Abstract
Consider a simple finite graph and its nodes to represent identical water barrels (containing different amounts of water) on a level plane. Each edge corresponds to a (locked, water-filled) pipe connecting two barrels below the plane. We fix one node $v$ and consider the optimization problem relating to the maximum value to which the level in $v$ can be raised without pumps, i.e. by opening/closing pipes in a suitable order. This fairly natural optimization problem originated from the analysis of an opinion formation process and proved to be not only sufficiently intricate in order to be of independent interest, but also difficult from an algorithmic point of view.
