This is a book about the frontiers of computer science that have recently
been opened by work in quantum mechanics, but it is also a book
about the use of recently developed automatic programming technologies
to explore those frontiers. The automatic programming technologies
themselves issue from another interdisciplinary frontier of computer science
— one born of the intersection of computer science with evolutionary
biology. So this is a book about two frontiers of computer science,
one being used primarily for the sake of exploring the other.
The selection of topics in this book was made with the intention of
showing how genetic programming can be usefully applied to certain
problems in quantum computing. To this end, it provides a basic introduction
to quantum computing for non-physicists and it also provides a
basic introduction to genetic programming for non-computer-scientists.
These treatments should be comprehensible to scientifically literate readers
who have, at minimum, a passing familiarity with undergraduatelevel
computer science (e.g. programming concepts) and mathematics
(e.g. simple linear algebra). No background in physics is assumed.