The Generalized Double Pouring Problem: Analysis, Bounds and Algorithms
Abstract
We consider a logical puzzle which we call double pouring problem, which was original defined for k=3 vessels. We generalize this definition to k 2 as follows. Each of the k vessels contains an integer amount of water, called its value, where the values are ai for i=1,2,…,k and the sum of values is n. A pouring step means pouring water from one vessel with value ai to another vessel with value aj, where 1 i = j k and ai aj . After this pouring step the first vessel has value 2ai and the second one value aj-ai. Now the pouring problem is to find as few pourings steps as possible to empty at least one vessel, or to show that such an emptying is not possible (which is possible only in the case k=2). For k=2 each pouring step is unique. We give a necessary and sufficient condition, when for a given (a1,a2) with a1+a2=n the pouring problem is solvable. For k=3 we improve the upper bound of the pouring problem for some special cases. For k 4 we extend the known lower bound for k=3 and improve the known upper bound O(( n)2) for k=3 to O( n n). Finally, for k 3, we investigate values and bounds for some functions related to the pouring problem.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.