two math puzzles to end your week right: https://t.co/SgAxgrvqw0 pic.twitter.com/LFSysSJYCl

— Oliver Roeder (@ollie) August 23, 2019

## Can you fool the bank with your counterfeit bills?

In this week’s FiveThirtyEight Riddler Express you are a counterfeiter trying to maximize the number of fake hundred-dollar bills you can pass to a bank without getting caught. The bank can only spot fakes 25% of the time they examine bills, and trying to deposit only counterfeit bills guarantees being caught. However, if you combine fake and real notes, there’s a chance the bank will accept your money. You have 25 real hundreds, plus unlimited counterfeits. The bank scrutinizes deposits by randomly selecting 5% of the notes they receive, rounded up to the nearest whole number. If they identify any note in a deposit as fake you lose everything you tried to deposit.

How many fake notes should you add to the $2,500 in order to maximize the expected value of your bank account? How much free money are you likely to make from your strategy?

## The odds of getting caught

We ignore for a moment to gain some intuition about the problem the issue of rounding up to the nearest whole. The probability of any given fake bill being discovered is `$ 0.05 \cdot 0.25 = 0.0125 $`

. The probability of *not* getting caught is hence `$ 1 - 0.0125 = 0.9875 $`

. If you deposit `$ f $`

forged bills, then the probability of not being caught is `$ 0.9875 ^ {f} $`

. The expected value of attempting to deposit `$ f $`

forged bills and 25 real ones is:

\[ E(f) = 100 \cdot (f + 25) \cdot 0.9875^{f} \]

Below is what the function looks like. It increases initially as more fakes are added, peaking around 50-55, then decreases as the growing probability of being caught outweighs the benefit of adding more fake bills.

The optimal maximum number of fake bills is 54, with a net profit of $5,400.

```
money <- function(x) 100*(x+25)*(0.9875^x)
which(map_dbl(1:100, money) == max(map_dbl(1:100, money)))
```

[1] 54

## Incorporating the bank’s “rounding up” checks

In the puzzle statement the bank’s approach is to round up the number of bills it examines according to its 5% procedure. We now incorporate this constraint as shown below. The expected value now becomes:

\[ E(f) = 100 \cdot (f + 25) \cdot ( 1- \frac{ceiling(f \cdot 0.05)}{f} \cdot 0.25)^{f} \]

The plot is now discontinuous, as the rounding up causes more bills to be examined, resulting in greater probabilities of being caught than before (except on multiples of 20 fakes), and therefore lower expected values.

The new optimal value of fakes is 60, with a corresponding net profit of $6,000

```
money <- function(x) 100*(x+25)*((1-ceiling(x*0.05)/x*0.25))^x
which(map_dbl(1:100, money) == max(map_dbl(1:100, money)))
```

[1] 60

## Why is the optimum higher with the rounding up constraint?

It may appear surprising at first that the rounding up constraint, which entails more bills being subject to examination, results in a higher optimal value of fakes. However, as we can see in the above chart the black dots are always above or at the same level as the red dots. This means that even with a higher optimal of 60, the *expected* value with the rounding constraint and 60 fakes is $3,996 which is below the expected value without the rounding constraint and 54 fakes of $4,005. The rounding up constraint does indeed make the forgery business a little less attractive for the forger.

A fun puzzle as always Ollie. Thank you.