Genetic Algorithms and Quantum Error Correction
Latest Progress
May 30, 2002  
  • I'm done Goldberg, so here's a quick recap:
  • The theoretical underpinning of GAs (classically) rests on the idea of a schema or similarity template (e.g. 10** is a schema, where the '*' matches a 0 or 1, and thus 10** matches 1010, 1011, 1001, 1000). Using schemas allows us to define the basic element GAs operate on. There is a result called the Schema Theorem which models how selection/reproduction, crossover and mutation affect certain schemata within a population at some generation. It also says that the observed best schema will get exponentially increasing numbers of trials each generation. Why is this? Well, there is a problem in statistics called the 2-armed bandit problem which can model this situation, and a solution to this problem requires some form of exponential increase of trials. This whole theoretical process breaks down when dealing with advanced GAs however. Recent approaches using statistical mechanics seems promising to many experts in the field.
  • GAs can operate on different kinds of codings: binary strings, 2D and 3D arrays and trees to name a few. There are even methods of trying to evolve the coding used - via reordering operators like inversion or techniques like evolving crossover hotspots. There are also different sorts of selection schemes like roulette wheel, sigma scaling, elitism, boltzmann selection, rank selection and tournament selection. These different selection schemes all aim to reduce the probability that GA strings will prematurely converge to 'local optima' during a run. Also the consideration of polyploid structures, such as diploidy (i.e. the encoding of two chromosomes instead of one as seen in haploid structures) looks promising with respect to objective functions that vary with time (the idea is that the other encoded structures in a polyploid population act as a sort of 'memory' of pass successes). The fact of the matter - there is almost a different kind of GA for every problem.
What is a Genetic Algorithm (GA)?
 

GA's are a form of evolutionary computing, one of the three main branches of biologically inspired Artificial Intelligence, (the other two being Neural Networks and Machine Learning). In short, it is a computing model derived from the concept of evolution - a process which optimizes an initial set or population of potential solutions over time. As it is commonly promulgated, an initial population of some life form is, over time, optimized to fit the environment via random mutations, and the swap of genetic code passed from parents to offspring.

Evolution, then, as it is commonly modeled can be considered a method of searching a large search space, one which does not have to be static, but can be dynamic. It is also a massively parallel process - rather than work on one species at a time, evolution tests and changes a number of species in parallel. From a Computer Science perspective, then, evolution is just a probabilistic search algorithm which balances exploiting the best solution with exploring the whole search space.

Problems such as function optimization can be effectively solved with GA's by encoding an initial, randomly generated population of potential solutions and applying genetic operators such as reproduction, crossover and mutation to each successive generation (iteration of a program loop), until some stopping criterion is reached (i.e. a maximum number of generations, or a certain interval of precision). Potential solutions are usually encoded as binary strings (i.e. 1001001), in GA literature usually denoted as a chromosome.

Reproduction is simply the act of choosing the best candidates from a set of possible solutions via a weighted average. Crossover is the mating of two strings (the "swapping" of genetic code) to produce two offspring (e.g. Parent1 = 10010 and Parent2 = 11001, where the crossover site is randomly chosen to be after the second bit, then Child1 = 10001 and Child2 = 11010). Mutation is the random flipping of a bit (i.e. a 1 to 0, 0 to 1). It can be shown that variability of these three genetic operators effectively "explores" a search space, while at the same time honing in on the best solutions.

For more information, consult the resources below.

What is Quantum Mechanics?
 

Essentially the framework by which all physical theories are believed (by most) to reside in. It was developed in the early part of the 20th century by Planck, Bohr, Einstein, Heisenberg, Schrodinger, Born and others, arising at a time when there were some crises in physics. In certain experiments, what was predicted by classical physics (i.e. all the physics before the 'quantum age') gave contradictory results in the lab. Early quantum theory thus arose to patch the inconsistencies appearing in physics. This evolved into the mathematical formalism of Quantum Mechanics, and was soon extended and fused with Special Relativity to become what is commonly known as Quantum Field Theory.

Quantum mechanical effects are only noticeable on the atomic scale, and as the system we study gets larger, the laws of quantum mechanics "simplify" into the laws of classical physics. Often noted by scientist and laymen alike, quantum laws are non-intuitive; they embody concepts that are not wholly reconcilable with the ingrained 'classical world' physical ideas we are used to. This same conundrum is visible in the conceptual understanding of Special Relativity - it's effects are only noticeable for those speeds close to that of light. In fact, there exists are large body of research devoted to interpretations of quantum mechanics.

The strange new concepts ushered in by quantum theory are numerous. Early on it was noticed that quantisation of quantum systems was the norm - energy was not continuous but took on discrete amounts of energy called quanta. Matter was both a particle and a wave, and thus could take on many of the characteristics of waves, such as superposition and the associated concept of interference. Measurements made on atomic systems disturbed a system, so one could never be sure of both a particle's momentum and position at the same time - Heisenberg's famous Uncertainty Principle. In fact the outcome of measurements was not even deterministic, but probabilistic. Another strange occurence, the ability of particles to be non-locally correlated in the sense that a measurement made on one will affect the other no matter the distance, demonstrated by the so-called Schrodinger's Cat thought experiment, is an example of quantum entanglement.

For more information, consult the resources below.

What is a Quantum Computer?
 

Information, it must be noted, is stored by matter and thus must follow the laws of physics. The written word is usually stored on paper, in the form of ink on paper, or particles on other particles. The bit of a computer is stored on a magnetized disk. Our memories and thoughts are encoded (as some believe) in RNA protein strands in our brain. Thus Claude Shannon's mathematical ideas of his Information Theory have a physical counterpart. In short then, information is physical. Now, if we try to store information on smaller and smaller objects, eventually quantum effects will take over (note that this is not merely a thought exercise, but will eventually be of practical interest, as demonstrated by "Moore's Law"). Thus ultimately, the theory of physical information is contained within what is called Quantum Information Theory.

Thus we can say that a Quantum Computer is a device that performs computations which take advantage of the features of quantum mechanics. It turns out that quantum computers seem to perform quite well on problems thought intractable by classical computers - namely factoring numbers as demonstrated by Shor's Algorithm. A quantum computer is not even based on classical logic, but Quantum Logic and instead of classical bits (binary digits), they operate on Qubits (Quantum Bits - a quantum superposition of state vectors 1 and 0 and everything in between).

While theoretically, quantum information theory and its applications to quantum computers have been developed quite extensively, the practical implementations for such devices remain dubious. Some of the leading practical implementation proposals include:

  • NMR (Nuclear Magnetic Resonance): The use a testube of molecules of the same type, and manipulation of the spin of each nucleus via applications of magnetic pulses. Qubits are establish through the entanglement of these spins by the chemical bonds between neighboring atoms.
  • Quantum Dots: A solid state implementation - essentially one or more electrons trapped in a 'cage' of atoms. Computations may involve manipulation of charge, spin or energy state. A quantum computer would conceivably be an array of such quantum dots, where a qubit would be an entanglement of energy states within a dot.
  • Ion Trap: One or more individual ions are 'trapped' in an electromagnetic field, and are cooled until their motions are negligible. Each ion is manipulated by a laser pulse to acheive an entanglement of low and high energy spin states, which is a qubit.
  • Josephson Junction: A sandwiching of a thin layer of non-superconducting material between two pieces of superconducting material. Electrons travelling through the superconductors tunnel through the nonsuperconducting region - in fact the probabilities of where the electrons will tunnel to is manipulated by the application of a voltage across the junction - providing a means to create qubits.

For more information, consult the resources below.

What is Quantum Error Correction?
 

Quantum computers operate on qubits, which are essentially systems exhibiting quantum entaglement. However, entangled systems are extremely fragile and will eventually interact with the environment and break down - a process called decoherence. The possible errors that may occur in such a system are not only bit flip erros (0 to 1, 1 to 0) but also phase errors. In addition, the situation is complicated even further by the fact that quantum systems cannot be copied, the so-called No Cloning Theorem. To combat decoherence then, Quantum Error Correcting Codes are are used.

For more information, consult the resources below.

Resources
  Books
Links