<<

Next: Quantum Computability Up: An Abstract Quantum Computer Previous: An Abstract Quantum Computer

Quantum

The aim of mathematical theory of computation is to discuss and model computation in abstraction from any particular implementation of a computer. As technology develops computers change and evolve. Furthermore at any given time there are many different computer architectures around. In order to be useful mathematics has to abstract all those superficial differences away and concentrate on what really constitutes computation.

Early in XXth century Gödel, Church and Turing proposed 3 different models of computation:

general recursive functions of Gödel lambda expressions of Church (Lisp and other functional programming languages are based on those) the Turing machine and somewhat later it turned out that they were very much the same. But later still, towards the end of XXth century, it turned out that certain physical assumptions, which may not necessarily correspond to how certain computations can be done, were smuggled into all three models. In particular quantum computation, the subject of this lecture, is not modelled correctly by any of the above. But there are even some aspects of classical computation, which are not adequately accounted for by the Turing machine and equivalent models, e.g., the thermodynamics of computation.

The Turing machine was invented by Alan Turing in 1936 [101] in order to address Hilbert's Entscheidungsproblem. It is sufficiently simple so that various mathematical theorems can be proven about it. In particular by using this model Turing was able to show that the Entscheidungsproblem must be answered in negative, i.e., there is no mechanical procedure, in general, which can be used to decide a theoremhood of an arbitrary statement in mathematics. This, in combination with Gödel theorem, came as a bit of a surprise to mathematicians. On the other hand, it merely demonstrated what the greatest mathematicians always knew and practiced, namely that mathematics is an art. Also, that some of the best mathematics is constructed by broadening a particular theory that is an object of some assertion and attacking the problem from a higher level. For example, algebraic problems can often be tackled with a surprising efficacy by rolling out the apparatus of complex analysis.

The original purpose of Turing machine was to model a formalist mathematical reasoning, the way Hilbert wanted it to be. And Hilbert wanted a mathematician to forget about the meaning of various mathematical constructs and, instead, just operate on symbols. In order to do that the mathematician had to

invoke some symbol transformation rules record each step on paper go back and forth over the proof and sometimes combine earlier inferences with the later ones have some mechanism for deciding about which transformation rule to use.

Turing simplified this whole procedure by

replacing symbols with sequences of 1s and 0s, replacing a writing pad with a 1-dimensional paper tape divided into cells which would accommodate either 1 or 0, inventing a read/write head, which could go back and forth over the tape, allowing the head to exist in various states that would define a context within which read/write operations would take place.

How does Turing machine go about its business?

The computation begins with the program and the initial data being written on the tape, which is otherwise empty. The head is put in a state, which tells it: read the program. The program is read, program instructions are intepreted, i.e., the head moves up and down, reading some data, writing some other data, and, in general, using the rest of the tape as a scratch pad.

Soon enough it turned out that Turing machine was universal, that is, that every classical computation could be performed with it. It also turned out that, in a way, all classical computers are the same: be it a PC, or a Fujitsu VPP, or a Mac - the most essential difference between them is the colour, transparency and the size of the box they live in. If a computation can be done on a Fujitsu VPP, it can be done on a PC too, even if it's going to take longer.

The original Turing machine was deterministic (DTM): the head would be always in a single state, which would uniquely determine which direction it would go into and how far. There is a variant of the Turing machine, which is not deterministic. The head may be in a state, which gives the machine certain choices as to the direction and length of the next traverse. The choices are then made by throwing dice and possibly applying some weights to the outcome. A machine like that is called a probabilistic Turing machine (PTM), and it turns out that it is more powerful than the deterministic Turing machine in the sense that anything computable with DTM is also computable with PTM and usually faster.

But both PTM and DTM are based on classical physics: the states of the tape and of the head are always readable and writable, data can be always copied, everything is uniquely defined.

A mathematical theory of computation that is based on quantum physics is bound to be different. As you move from classical physics to quantum physics there is a qualitative change in concepts that has profound ramifications.

So here's a brief history of how came about.

1973 Bennett demonstrates that a reversible Turing machine is possible [9]. 1980 Benioff observes that since quantum mechanics is reversible a computer based on quantum mechanical principles should be reversible too [8]. 1982 Richard Feynman shows that no classical Turing machine can simulate quantum phenomena without an exponential slow down, and then observes that a universal can [34]. 1985 of Oxford University, UK, describes the first true quantum Turing machine (QTM) [28]

In the quantum Turing machine read, write, and shift operations are all accomplished by quantum interactions. The tape itself exists in a as does the head. In particular in place of the Turing cell on the tape, that could hold either 0 or 1, in quantum Turing machine there is a , which can hold a quantum superposition of 0 and 1. The quantum Turing machine can encode many inputs to a problem simultaneously, and then it can perform calculations on all the inputs at the same time. This is called quantum parallelism.

A qubit is often represented graphically by a sphere with an arrow in it, see figure 3.1.

Figure 3.1: A graphical representation of a qubit

Arrow up corresponds to a classical 1. Arrow down corresponds to a classical 0. Arrow in between corresponds to a superposition of 1 and 0. Additionally the arrow may be rotated about the vertical axis, as shown in figure 3.1, which corresponds to the phase of the qubit.

The tape of the quantum Turing machine can now be drawn as shown in figure 3.2.

Figure 3.2: A graphical representation of a quantum Turing machine and its evolution. The top row represents an initial condition. As the machine evolves, the head moves simultaneously in three different directions - the state of the machine becomes a superposition of the three states illustrated below the top row.

The machine evolves in many different directions simultaneously. After some time t its state is a superposition of all states that can be reached from the initial condition in that time.

This model, like the classical Turing machine was sufficiently simple and at the same time universal to prove various theorems about quantum computation.

Next: Quantum Computability Up: An Abstract Quantum Computer Previous: An Abstract Quantum Computer Zdzislaw Meglicki 2002-02-05