A Short, Simple Introduction to Information Theory
knol.google.com
knol.google.com
You may be able to dodge the issue by not mentioning compression explicitly. It's nonsensical that a single die roll takes 2.58 bits, but it's perfectly believable that 100 die rolls could fit in 258 bits. Then with a little work, you can show that 258 is the smallest expected value of any encoding. That uses the concept of compression as an intuitive model, without having to formally define it or call it by name.
Now we have something whose unit is "bits" but whose value includes fractions of a bit. What can we do with this? After all, if we're only storing one roll, we still need 3 bits to store 6 possibilities. The trick is that we can use fewer bits if we are storing more rolls at once. There are 2 wasted possibilities in those 3 bits we used for the first roll, and if you're clever, you can use those to encode some information about the next roll. If we're clever enough, and storing enough, 2.58... is the lower bound on the number of bits required per roll that you'll converge to with an optimal compression scheme.
It takes 3 bits to code for six values, but that is clearly a loose bound, since 2^3 = 8. But by taking the base-2 logarithm, you can get the exact number of bits required. That's how I rationalize it. The 258-bits-in-100-die-rolls is a nice trick though.
This is why the logarithm is my favorite mathematical function -- it's not just an operation on a number, but it also describes various properties of the number itself. Depending on how you use the log, it can describe the number of digits the input has, or how much "information" can be contained in the input, and so forth.
[1] It helped that the book gave axioms for uncertainty and then derived the -sum(p*log(p)) formula.
They answer, "10 bits."
"How many base 10 digits do you have in the counter?"
"Three."
"How many bits did you need for each digit?"
Everyone gets it. Explaining arithmetic coding is then much easier.
Consider the sequence:
31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97
Most people would have a hard time remembering it because it looks random... But of course, it really is "All the primes between 30 and 100". That's much easier to remember, because the brain (at least, the average brain on HN) already has concepts for "prime number", "30" and "100".
Compression has a strong connection to AI. In fact, Occam's razor is perhaps AI's most fundamental theorem: if you have derived many programs which can perform the same task, which one is the smartest?
A: The shortest one.
I would also recommend MacKay's book. It's awesome.
Huffman coding http://en.wikipedia.org/wiki/Huffman_coding
It was really simple, based on a file with a given number of symbols, it would rewrite those symbols as length-variable unique binary codes, so that the symbol with highest number of occurrences would become the code with the smallest possible bit-length, and so on with the other symbols so that it would spend most bits on the symbols that occurred less times.
http://www.amazon.com/Grammatical-Man-Information-Entropy-La...