# on toilet paper

toilet paper algorithms

After some self-observation and discussion, we discovered that three different algorithms were in use: large, small, and random.

- Algorithm Large: Always take paper from the largest roll.
- Algorithm Small: Always take paper from the smallest roll.
- Algorithm Random: Don’t think — select the roll randomly
We had assumed that Algorithm Random was most natural. After all, we had bought the dual-roll holder specifically so that we wouldn’t have to think. But were our selections truly random, we would chose each roll roughly equally, so they would both empty at the same time — or close. Algorithm random is not the one to use. To use toilet paper requires thought.

Our self-observations revealed that we really didn’t use the random algorithm — people are seldom random. The most natural: that is, we soon discovered, was to reach for the larger roll. Alas, consider the impact. Suppose we start with two rolls, A and B, where A is larger than B. With algorithm large, paper is taken from A, the larger of the two rolls until its size becomes noticeably smaller than the other roll, B. Then, paper is taken from B until it gets smaller than A, at which point A is preferred. In other words, the two rolls diminish at roughly the same rate, which means that when A runs out of paper, B will follow soon thereafter, stranding the user with two empty rolls.

Algorithm small turns out to be the proper choice. With algorithm small, paper is always taken from A, so it gets smaller and smaller until it runs out. Then paper is taken from roll B, which is full size at the time of the switch.

Yikes. We never realized that you had to be a computer scientist to use toilet paper. Worse, we didn’t realize that thinking was required to select the roll.

*from http://www.jnd.org/dn.mss/toilet_paper_algorit.html*

more? here’s a *preview* of The American Mathematical Monthly’s paper on the problem