Skip to content
Vamshi Jandhyala

Books · The Fiddler: Solutions

Chapter 71

Can You Break the Bell Curve?

A bean machine has rows alternating between three pins (two slots) and two pins (three slots), many rows deep, with buckets A,B,CA,B,C below the bottom row. A ball at a leftmost pin always goes right; at a rightmost pin always left; at any middle pin it goes right with probability 34\tfrac34 and left with probability 14\tfrac14. Dropped into the top-left slot, what is the probability the ball lands in bucket AA (far left)?

The Fiddler, Zach Wissner-Gross, January 17, 2025(original post)

Solution

Because the board has a fixed width, the ball’s slot is a tiny Markov chain alternating between a two-slot state (L,R)(L,R) and a three-slot state (L,M,R)(L,M,R). Crossing a three-pin row (which has a 34/14\tfrac34/\tfrac14 middle pin) sends L ⁣ ⁣(14L, 34M),R ⁣ ⁣(14M, 34R),L\!\to\!(\tfrac14 L,\ \tfrac34 M),\qquad R\!\to\!(\tfrac14 M,\ \tfrac34 R), and crossing a two-pin row (edge pins only, plus the next middle pin) sends L ⁣ ⁣L,M ⁣ ⁣(14L,34R),R ⁣ ⁣R.L\!\to\!L,\quad M\!\to\!(\tfrac14 L,\tfrac34 R),\quad R\!\to\!R. After many rows the two-slot distribution settles at its fixed point. Writing p=(pL,pR)p=(p_L,p_R) and composing the two steps, pL716pL+116pRp_L\mapsto \tfrac{7}{16}p_L+\tfrac1{16}p_R, whose fixed point with pL+pR=1p_L+p_R=1 is pL=110p_L=\tfrac1{10}. The bucket (three-slot) distribution is then A=14pL=140,B=310,C=2740.A=\tfrac14 p_L=\boxed{\tfrac1{40}},\qquad B=\tfrac3{10},\qquad C=\tfrac{27}{40}. The 75%75\% rightward bias piles the balls into bucket CC and leaves only 11 in 4040 reaching the far-left bucket.

The computation

Iterate the actual board: push the two-slot distribution through a three-pin row then a two-pin row, repeatedly, until it stops moving, then read off the bucket split from one more three-pin row.

from fractions import Fraction as F
def cycle(pL, pR):
    qL, qM, qR = pL/4, 3*pL/4 + pR/4, 3*pR/4      # two-slot -> three-slot
    return qL + qM/4, 3*qM/4 + qR, (qL, qM, qR)    # three-slot -> two-slot
p = (F(1), F(0))
for _ in range(80): p = cycle(*p)[:2]
print(cycle(*p)[2])            # (1/40, 3/10, 27/40)

Extra Credit

On a wider board (rows of six then five pins), with balls fed into the top three slots in ratios (a,b,c)(a,b,c) summing to 11, which ratios make some six-slot row show the trapezoid xy,x,x+y,x+y,x,xyx-y,\,x,\,x+y,\,x+y,\,x,\,x-y?

This is a linear-algebra question, finding feed vectors whose image under the row-transfer matrix has the prescribed symmetric-trapezoid shape. It is the source’s paywalled extra credit; rather than assert the family of triples without being able to check it against the official set, I flag it as a linear system to be solved, not a single number.