We begin with a problem.
[WIND BLOWING]
Alice and Bob live in tree forts,
which are far apart,
with no line of sight between them.
And they need to communicate.
So they decide to run a wire
between the two houses.
They pull the wire tight,
and attach a tin can to each end –
allowing them to send their voices
faintly along the wire.
[BOB - MUFFLED] "Hello?"
[ALICE - MUFFLED] Hello? I can't hear you.
[BOB - MUFFLED] I can hear you, but just barely.
[ALICE - MUFFLED] 1. 2. 3. 4. 5.
However, there is a problem:
'noise.'
Whenever there is a high wind,
it becomes impossible to hear
the signal over the noise.
So they need a way to increase
the energy level of the signal,
to separate it from the noise.
This gives Bob an idea.
They can simply pluck the wire,
which is much easier to detect over the noise.
But this leads to a new problem.
How do they encode their messages as plucks?
Well, since they want to play
board games across a distance,
they tackle the most common messages first –
the outcome of two dice rolls.
In this case, the messages they are sending
can be thought of as a selection
from a finite number of 'symbols' –
in this case, the eleven possible numbers,
which we call a 'discrete source.'
At first, they decide to use the simplest method.
They send the result as the number of plucks.
So, to send a '3,' they send three plucks.
'9' is nine plucks.
And '12' is twelve plucks.
However, they soon realize that this takes
much longer than it needs to.
From practice, they find that their maximum pluck speed
is two plucks per second.
Any faster, and they will get confused.
So two plucks per second can be thought of as the 'rate' –
or 'capacity' – for sending information in this way.
[SOUND OF PLUCKING]
And it turns out that
the most common roll is a 7 –
so it takes 3.5 seconds to send the number 7.
[THE SOUND OF 7 PLUCKS]
Alice then realizes they can do much better
if they change their coding strategy.
She realizes that the odds of each number being sent
[follow] a simple pattern.
There is one way to roll a 2.
[There are] two ways to roll a 3.
Three ways to roll a 4.
Four ways to roll a 5.
Five ways to roll a 6.
And six ways to roll a 7 –
the most common [result].
And five ways to roll an 8.
Four ways for a 9 –
and so on, back to one way for a 12.
This is a graph showing
the number of ways each result can occur.
And the pattern is obvious.
So now, let's change the graph to
'number of plucks versus each symbol.'
She proceeds by mapping
the most common number –
7 – to the shortest signal – one pluck.
[SOUND OF ONE PLUCK]
She then proceeds to the next most probable number.
And if there is a tie, she picks one at random.
In this case, she selects 6 to be two plucks,
and then 8 to be three plucks,
and then back to 5 to be four plucks,
and 9 is five plucks,
and back and forth, until we reach 12,
which is assigned to 11 plucks.
Now, the most common number, 7,
can be sent in less than a second –
a huge improvement.
This simple change allows them to send
more information in the same amount of time, on average.
In fact, this coding strategy is optimal
for this simple example –
in that it's impossible for you
to come up with a shorter method
of sending two dice rolls – using identical plucks.
However, after playing with the wire for some time,
Bob hits on a new idea.
[PLUCKING SOUNDS BEING PLAYED BACKWARDS]
[PLUCKS SHOWN IN SLOW MOTION – NO SOUND]