Sunday, October 15, 2006

Shannon's coding theorem

From Chapter 11, Quantum Computation and Quantum Information by Michael A Nielsen and Isaac L Chuang.

The original work by C Shannon is "A mathematical theory of communication." Bell System Tech. J., 27: 379-423, 623-656 (1948). [I need to read this!]

The starting point for the equation in the last post is Shannon's entropy. H is the entropy, which is a function of the probability distribution p_i...p_n, where p is the probability. Here we use log base 2.


We can see how the essential parts of the coding theorem come if we consider a binary system. That is, we have something occurring with probability p, or not with 1-p. The plot of this function is shown, with the maximum at p = 1/2.


Think about flipping a fair coin. The probability of heads is 1/2, and tails is also 1/2. In such a case, the entropy is exactly 1. What does that mean? When the probability is 1/2 for something to occur in a problem that has only two options, we are going to gain the maximum amount of information after the measurement or "flip." Or another way to put it, for such a fair coin toss, there's a maximal amount of uncertainty in what will happen before the flip. You'll really only know if it's heads or tails after tossing the coin.

Another way to think about the entropy, in an operational sense (from QCQI), is that it's a measure of the resources needed to store information. In the fair coin toss, you need 1 coin. I'm not too sure about this interpretation though.

How does the entropy have this form? I'm not ready to give a rigorous review, though if you think from statistical mechanics, the entropy comes out to be of the form -k*ln(x), where k is Boltzmann's and x is the number of states, or the probability of a certain configuration. An intuitive justification offered in QCQI is that the information carried in a certain event must be 1) function only of the probability of the event 2) smooth function (infinitely differentiable) of the probability 3) I(pq) = I(p) + I(q) when p, q > 0. This leads to a log function.

Saturday, October 07, 2006

Thermal noise driven computing

"Thermal noise driven computing," Laszlo B. Kish. APL 89, 144104 (2006)

In this paper, Kish describes utilizing Johnson noise, i.e. extremely low DC voltage, to drive gates to perform computing operations. Such a computer has the low state Usl=0 and the high state Ush<=sigma, the mean or effective Johnson noise voltage. With noise as the input signal, the information content is low, but the energy requirement is also low. Kish proceeds to calculate the energy requirement for bit operations, J/bit. Starting with Shannon's channel coding theorem (which I need to look into) Kish shows that the minimum mean energy cost per bit operation P/C = pi/2 kT ln2 (per bit). This is 1.1 kT/ bit, which is small compared to the amounts microprocessors today give off >25000 kT/ bit. The inverse of this quantity is the energy efficiency of the data processing, which is large ~10^20 bit/ J.
The advantages of a thermal noise computer is low energy requirement and improved energy efficiency. But to realize a true computer requires means for error correction; often achieved by redundancy of the number of bits. So to build up such a thermal noise computer would possible require large number of computing elements.
Kish concludes by asking several questions, some which I find more interesting and thus, reproduce here:
  • Do we need error correction at all (except input/output oerations) when we want to simulate the way the brain works?)
  • Is there any way to realize a non-Turing machine with stochastic elements without excessive hardware/ software based redundancy?
  • How should redundancy and error correction be efficiently used to run the thermal noise driven computer as a Turing machine?
  • How much energy would such error correction cost?

Reviews, Comments, Ideas.

Here I post reviews, comments, and ideas from papers I've read. I will try to fully cite all other's works while finding a way to provide new ideas of my own. Please feel free to leave me comments!

One thing I'd like to ask Google for is an easy way to import mathematics (via Latex or similar) and graphs!