14

The following is a classic problem: There are $k$ bins with $n_1, \ldots, n_k$ balls such that $n_1+\dots+n_k = n$. If $n_i < n_j - 1$, we may move one ball from bin $j$ into bin $i$. By defining the potential function $n_1^2 + \dots + n_k^2$, it is easy to show that this process ends after at most $n^2$ moves.

Consider this variant: There are now positive constants $c_1,\ldots, c_k$ (which may not be integers). If $c_in_i < c_j(n_j-1)$, we may move one ball from bin $j$ into bin $i$. I can show that this process again terminates. But does it always terminate after at most $n^2$ (or even some polynomial in $n$) moves?

RobPratt
  • 50,938
Alexi
  • 1,952
  • 1
  • 14
  • 23
  • 2
    You can use a potential function $$L(n_1, ..., n_k) = \sum_{i=1}^kc_i(n_i^2-n_i)$$ – Michael Jul 21 '22 at 21:49
  • 1
    @Michael Yes, that's one way to show that the process terminates. But I don't think it shows the $n^2$ moves. – Alexi Jul 21 '22 at 21:51
  • Good point. The difficulty seems to be when $c_in_i=c_j(n_j-1)-\epsilon$ for some small $\epsilon>0$. If all $c_i$ values were positive integers we would have $$c_in_i<c_j(n_j-1)\implies c_in_i\leq c_j(n_j-1)-1$$ and the potential function would decrease by at least 1 at each step, so we would finish in at most $c_{max}(n^2-n)$ steps. Now this at least gives a better bound of $n^2-n$ steps for the original problem with $c_i=1$ for all $i$. – Michael Jul 21 '22 at 22:56
  • 1
    The termination time is polynomial in $n$ in a trivial way: There are $\binom{n+k-1}{k-1}$ total states, which is polynomial in $n$. The existence of a potential means you can only pass through each state once, so this bounds the number of steps. However, experimentation suggests that this bound is very pessimistic. – Yly Jul 28 '22 at 03:54
  • @Yly I mean only polynomial in $n$ (so $k$ is not allowed) – Alexi Jul 28 '22 at 06:04
  • @Michael actually $\frac{n^2-n}{2}$ steps, since the potential decreases by at least two at each step. – Thomas Ahle Jul 31 '22 at 02:42
  • 2
    @Alexi Can you build any cases where balls would move in a cycle--that is come back to a bin they've previously bin in? Or for that matter, are there any cases where we don't end up with a DAG of ball flows between the bins? – Thomas Ahle Jul 31 '22 at 03:27
  • 1
    @ThomasAhle (6,3,1) -> (6,2,2) -> (5,2,3) -> (4,2,4) -> (4,3,3). Is that what you mean? – Yly Jul 31 '22 at 05:24
  • 1
    @Yly You are right! Even without the $c_i$ weights balls can return. Hmm. – Thomas Ahle Jul 31 '22 at 17:49
  • @Alexi is $n^2$ actually tight for the original problem? I seem to only be able to think of $n\sqrt n$ sequences. (Whereas it's easy to find an $n^2$ sequence for the modified problem.) – Thomas Ahle Aug 13 '22 at 03:00

2 Answers2

3

The energy analogy works also for the extension with $c_i$'s, however bounding the number of moves does not work equally well. Below is first the standard problem, then the one wich $c_i$'s. A big part has already been alluded into the comments; one minor difference here is energy which is $\frac {n(n-1)} 2$ instead of $n^2$, because the analogy looks better. Then comes a tentative counterexample that unfortunately does not work (thanks @Alexi for your comment).

Each ball has a potential energy proportional to its height. On the classic problem, balls in bin $i$ have heights $0, 1, 2, ..., n_i-1$. The total potential of bin $i$ is therefore $n_i(n_i-1)/2$. So total energy of the system is $E = \frac 1 2 \sum_{i=1}^k n_i(n_i-1)$.

When a ball is transferred from bin $j$ to bin $i$, the top ball in bin $j$ goes to the top of bin $i$. The difference in energy is
$E - E' = \frac 1 2 (n_j(n_j-1) + n_i(n_i-1) - (n_j-1)(n_j-2) - (n_i+1)n_i)$
$= \frac 1 2 (n_j^2-n_j+n_i^2-n_i-n_j^2+3n_j-2-n_i^2-n_i)$
$= \frac 1 2 (2n_j-2n_i-2) = n_j-n_i-1$
Which is actually the difference in height of the transferred ball.
By hypothesis this quantity is always $> 0$, and hence, being an integer, $\ge 1$.
So on each movement the energy decreases by at least $1$.
The minimum energy is attained when the $n_i$'s are all within a distance $1$.
As $\sum_{i=1}^k n_i = n$, this energy is $\ge$ to the energy attained by an equirepartition of the $n_i$'s in all the bins, i.e. to
$E_{min} = \frac 1 2 \sum_{i=1}^k \frac n k (\frac n k - 1) = \frac n 2 (\frac n k - 1)$ (or $E_{min} = 0$ if $n < k$)
So the number of moves is bounded by $\frac 1 2 (\sum_{i=1}^k n_i(n_i-1) - n(\frac n k - 1))$
This bound is tight when all moves decrease the energy by $1$, e.g.
$(3, 1, 0, 0) \rightarrow (2, 2, 0, 0) \rightarrow (1, 2, 1, 0) \rightarrow (1, 1, 1, 1)$
The bound can be simplified into $\frac {n^2} 2$, because
$\sum_{i=1}^k n_i(n_i-1) < \sum_{i=1}^k n_i^2 \le (\sum_{i=1}^k n_i)^2 = n^2$
so $\frac 1 2 (\sum_{i=1}^k n_i(n_i-1) - n(\frac n k - 1)) < \frac 1 2 (n^2 - n(\frac n k - 1)) < \frac {n^2} 2$

Now on the problem with $c_i$'s. The $c_i$'s are actually invertly proportional to the bins horizontal surface, and the balls are apparently so soft (or liquid) that they fill whatever surface is available ;-). So the heights of balls in bin $i$ are now $0, c_i, 2c_i, ..., (n_i-1)c_i$. The total potential energy of bin $i$ is $\frac 1 2 c_i n_i(n_i-1)$. Total energy of the system is $E = \frac 1 2 \sum_{i=1}^k c_i n_i(n_i-1)$.

When a ball is transferred from bin $j$ to bin $i$, its height goes from $c_j(n_j-1)$ to $c_i n_i$. So, guess what,
$E-E' = \frac 1 2 (c_j n_j(n_j-1) + c_i n_i(n_i-1) - c_j(n_j-1)(n_j-2) - c_i(n_i+1)n_i)$
$= \frac 1 2 (c_j n_j^2-c_j n_j+c_i n_i^2-c_i n_i-c_j n_j^2+3c_j n_j-2c_j-c_i n_i^2-c_i n_i)$
$= \frac 1 2 (2 c_j n_j - 2 c_i n_i - 2 c_j) = c_j (n_j-1) - c_i n_i$
which is the height difference for the transferred ball.
By hypothesis, this quantity is $> 0$. However, on the contrary to the standard problem, we cannot say that this quantity is an integer, so we cannot give it a lower bound.

One could try transforming this problem back into an integer problem which has at least the same number of movements. As anything that matters are the relative positions of the $c_i n_i$ during the process, if $N = \sup_{i=1..k} n_i$, we would look for $d_i \in \mathbb{N}$, such that we can replace any $c_ip$ by $d_ip$, while retaining the inequalities. I.e. $\forall p \in \mathbb{N}, p \le N, \forall q \in \mathbb{N}, q \le N, c_i p < c_j q \Leftrightarrow d_i p < d_j q$. But that's not obvious, and moreover if the $c_i$ are irrationnal between themselves, the $d_i$ have to grow with $N$, which we want to avoid.

One difficulty is whether it is possible to get true cyclic behaviors: it is easy to build examples where a ball gets back to a bin where it previously were, but it seems very difficult to find one where this is repeated for at least a fixed fraction of the balls, i.e. finding a pattern that can be applied to any large $n$.

Edit 2 As @ThomasAhle remarked in a comment, with $n$ balls there are at most $n$ possible levels on each non-empty bin. As a ball can only make a movement downwards, it cannot be twice in the same level at the same bin; so each ball can then transit through at most $kn$ positions. As there are $n$ balls this makes a maximum of $kn^2$ movements.

It still looks like $n^2$ is a valid bound, but reasoning upon each energy transition is not sufficient, as stated above, because we do not have a lower bound on each individual transition. A better approach should take into account:

  • A bound for the sum of all transitions. If the $c_i$ are irrational between them, we cannot bound the difference between two multiples of them, however this difference still cannot be low for all transitions, even if taking only into account, for each $n_j$, the optimal transitions, i.e. between $n_j$ and $n_i$ such that $c_i n_i$ is closer to (and below of) $c_j (n_j-1)$.
  • A situation where an optimal transition is possible requires $n_i-1$ balls in bin $i$. This costs movements to install, and is destroyed after use; it seems not possible to chain those optimal transitions without a great number of non-optimal transitions.

The tentative counterexample was the following.
Let's have $k$ bins where $c_1 > c_2 > ... > c_k$. We begin with $n-k+1$ balls in bin $1$, and $1$ ball in each other bin. We then transfer each ball from bin $1$ one by one to the right, as long as we can transfer them. The first ball goes all the way to bin $k$. The second ball can go as far as bin $k-1$ (and can go to bin $k$ if $c_{k-1} > 2 c_k$, but we will not take into account this case, as we are only looking for a counterexample). The third ball to $k-2$, etc. So the first $k-1$ balls make $\frac {k(k-1)} 2$ movements. Then, as there are two balls on each bin from $2$ to $k$, we can repeat the process, as long as there are sufficient balls in bin $1$ and the top ball is sufficiently high. At least this can be done for $\lfloor \frac {n-k+1} 2 \rfloor$ balls.

So with these $n$ balls we make at least $\frac 1 {k-1} \lfloor \frac {n-k+1} 2 \rfloor \frac {k(k-1)} 2 = \lfloor \frac {n-k+1} 2 \rfloor \frac k 2$ movements. Edit Unfortunately, this is only valid if $k < n$, so $\lfloor \frac {n-k+1} 2 \rfloor \frac k 2$ is still $< n^2$, hence not a counterexample.

  • With the quantity $n-k+1$, you are assuming that $k\le n$, and then $\lfloor\frac{n-k+1}{2}\rfloor\frac{k}{2} \le n^2$, so this still does not answer the question of $n^2$ moves. – Alexi Jul 31 '22 at 15:03
  • @Alexi You are perfectly right! So this does not work. I will now edit the post. – Jean-Armand Moroni Jul 31 '22 at 16:09
  • I think this height argument gives an $O(n^2*k)$ bound for the original problem: Since each ball's height always drops, it can only enter each bin at $n$ different heights. So after at most $nk$ steps it will never move again. – Thomas Ahle Aug 01 '22 at 06:10
  • 1
    @ThomasAhle You are right. I will add it to the post. – Jean-Armand Moroni Aug 01 '22 at 08:47
1

Michael's potential function $$L(n_1, ..., n_k) = \sum_{i=1}^k c_i(n_i^2 - n_i)$$ indeed works, which means that any legal move decreases the potential function. Thus, we cannot return to the same state (problem is acyclic and will thus terminate).

I think it should not be too hard to show, that for any $n, k$ and any distribution of $c_i$ the worst-case scenario (highest potential, most possible moves) is attained when all balls start in the bin with highest value of $c$. For simplicity, we sort all bins with respect to $c$ in descending order and place all balls into the first bin.

Under the simplifying assumption that each ball is only allowed to visit each bin once, it is easy to show that the bound is $(n^2 -2n)/4$. It is attained by moving all except 2 balls in the next bin. Note that the initial rule forbids us from moving the last two balls as the value of the source bin would be zero and thus smaller than the target bin. To see that this number of moves can indeed happen in practice, it is enough to set each of the following $c_{i+1} \ll c_i \forall i$.

The problem is that the balls can visit the same bin more than once. It is my strong suspicion that it does not make the problem worse at all, but I don't know how to prove it yet.

Consider two bins with the same value $c$ where the first has $m+1$ balls in it and the second has $m$. We can perform sequence of moving three balls out of the first bin somewhere else, then moving the top ball of the second to the first, then moving three balls out of the second bin somewhere else, then moving the top ball of the first to the second and so on. Technically, there will be one ball that will make a large number of jumps between the two bins. However, there will be far less moves in total than in the worst-case scenario.

I'll attempt to come back to this when I have an idea how to finish this proof. I suspect that the bound holds, but I don't quite see the right invariant just yet