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.
[wind still blowing]
They pull the wire tight and attach a tin can to each end...
[clinking of metal]
...allowing them to send their voices faintly along the wire.
[muffled "Hello" through wire]
[Alice]: I can't hear you.
[Bob]: I can hear you but barely
[Alice]: 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 three, they send three plucks.
Nine is nine plucks, and twelve 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 2 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 seven,
so it takes 3.5 seconds to send the number seven
[7 plucks sound]
Alice then realizes they can do much better if they change their coding strategy.
She realizes that the odds of each number being sent follows a simple pattern.
There is 1 way to roll a 2,
2 ways to roll a 3,
3 ways to roll a 4,
4 ways to roll a 5,
5 ways to roll a six,
6 ways to roll a seven, the most common,
and 5 ways to roll an eight, 4 ways for a nine
and so on back to one way for a twelve.
This is a graph showing the number of ways each result can occur,
and the pattern is obvious.
So now lets change the graph to number of plucks vs. each symbol.
She proceeds by mapping the most common number, 7 to the shortest signal, 1 pluck.
[hear 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, seven, 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 is 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 running backward]
[all sound stops]
[silence]
[one last low rumbling pluck]