Programming the Universe, Part One - Book Report

I've recently been working my way through the giant backlog of books I've accumulated over the years and I'm currently reading 'Programming the Universe' by Seth Lloyd. This book is a great primer on Quantum Computing, and incidently on digital computing thanks to the review in the early chapters. I just finished Part One of the book and thought I would jot down some of my thoughts before I move on to Part Two. I don't know that this is a book report in the traditional sense but I thought it would be useful to write out some of my ideas and questions.

Part One: The Big Picture

The author of 'Programming the Universe', Seth Lloyd, is a Professor of Quantum-Mechanical Engineering at MIT and this book covers many of the same topics as his introductory Quantum Computing class at the University. So, if nothing else, you can save a lot in tuition by simply picking this book up at Amazon or the Library.

Prof Lloyd uses Part One of the book to introduce us to the concepts of Information, Computation, and Quantum Mechanics, and he does a great job. While parts of this section felt like a review of basic Computer Science it was still a welcome reminder of the underlying structure that powers all of the computation taking place in our lives everyday.
Likewise, Prof Lloyd's introduction to the concepts of Quantum Physics and it's application to information processing and computation are well written and make for an interesting and quick read.

The promise of Quantum Computing, as communicated in the book, is that we can learn to tap into, and ultimately control, the underlying Quantum Computation that is constantly happening all around us. The structures of quantum computation are already present in all the matter we see, hear, and touch everyday; we need only to understand it enough to begin harnessing it for our own purposes. What could those puposes be? If you accept that the universe is structured information, as the Quantum Theory presents, then the recombination and programming on matter are possible; like the food replicators of Star Trek. It should also be possible to scan and transmit the information of matter from one position to another; like the teleporters and Stargates that we see so often in science fiction. If all matter in the world, including life, is a collection of quantum information then all of the information processing that takes place in our current digital age should also become possible on matter in the quantum age to come.

This is a startling, and amazing, concept, to say the least. And as a computer scientist the possibility of programming the world around me is an exciting one. While the actual implementation of this has not be explained yet the underlying theory seems sound, at least to my uneducated ears.


I have only had a couple issues with the book thus far. The first is that Prof Lloyd mentions using Java in an example of creating programs for the Quantum world; this is a poor choice. I would think it clear that the universe is functional, not object oriented; if the Universe is going to be programmed by anything it will be a language more like Lisp or Ruby. Nobody is going to be programming matter with Java.
Secondly, in the final chapter of Part One Prof. Lloyd discusses the the issue of randomness as the catalyst for the variation and complexity in our Universe. He points to the old saying that 'a million monkeys with typewriters could produce the works of Shakespeare'. To his credit, he gives examples that disprove this claim, and show that there is neither enough time nor matter in the known Universe to allow random chance to create something at such a high level of abstraction as literature. However, he then goes on to extend the idea and say that a million monkeys writing computer code could create small programs that could give rise to ever more complex outcomes and that, over time, these programs could give rise to a great work of literature like Hamlet. The analogy is that simple laws and interactions of particles led to the creation of galaxies, stars, life, language, love, and literature. I find it hard to accept that this belief in the power of randomness is any more likely to have happened than the first typewriter example.

There is a concept in Computer Science known as Evolutionary or Genetic Algorithms which seems to encompass Prof. Lloyd's example of random program generation resulting in complexity, or utility in solving a particular problem. The main difference between Prof. Lloyd's example and the implentation of Genetic Algorithms is that to make a genetic program work you must know what problem you wish to solve. There must be a stated problem against which each output program can be tested so that it can be determined which resulting program is better at reaching the solution. Unguided program generation produces nothing but failed programs, without a guiding hand driving the evolution of these programs there is no way to determine that one is better than another.
Another problem that I have with Prof. Lloyd's approach is in the assumption that this universal programming language simply exists by chance and can then let randomness tweak it's control statements until something interesting is produced. The rules and laws that govern our Universe had to be set by something, or someone, before any of this complexity could begin to flourish. Every programming language has an author, and every author has a reason for writing their language.

All in all, I am enjoying this book. I'm not sure how far Prof. Lloyd will take us into the implementation of these concepts but I'm very interested to find out.

Back to list