Quantum Computability and Complexity and the Limits of Quantum Computation
|
|
|
- Kelly Simpson
- 10 years ago
- Views:
Transcription
1 Quantum Computability and Complexity and the Limits of Quantum Computation Eric Benjamin, Kenny Huang, Amir Kamil, Jimmy Kittiyachavalit University of California, Berkeley December 7, 2003 This paper will present an overview of the current beliefs of quantum complexity theorists and discuss in detail the impacts these beliefs may have on the future of the field. In section one we give a brief fundamental overview of classical complexity theory, defining the time and space hierarchies and providing examples of problems that fit into several important categories thereon. In section two we introduce quantum complexity and discuss its relationship to classical complexity. Section three presents an overview of the successful existing quantum algorithms, and section four presents a discussion on the actual practical gains that might be realized by quantum computation. Finally in section five we speculate briefly on the direction we believe the field to be headed, and what might reasonably be expected in the future. 1 Introduction to Computability and Complexity In computability and complexity theory, all problems are reduced to language recognition, where a language is defined as a set of strings over some alphabet, typically {0, 1}. For example, L 1 = {0, 00, 000, } is the language that contains all strings that contain only the letter 0. Once we have a language L, there are some interesting questions we can ask about it. Given an input x, can a machine decide if x L? If so, how long does it take to make this decision, with respect to the size of the input x? In order to answer these questions, it is necessary to define a model of computation. 1.1 Computational Models There are many useful models of computation. Some examples include Boolean circuits, push-down automata with two stacks, Java programs, and Turing machines. Of these, Turing machines will be the most useful to our discussion. (For a detailed formal discussion of Turing machines see [11]). All reasonable deterministic models are essentially equivalent, since they can simulate one another in polynomial time. We will take advantage of this result by using the particular models that are most convenient for our discussion. 1.2 Classical Computability Many people, even those who have studied computer science, erroneously believe that any conceivable welldefined problem can be computed. In fact, a language is computable (also called decidable) if and only if there exists a Turing machine that halts on all inputs, such that the final state is the accept state if the given input is in the language, and the final state is the reject state if not. The simplest example of a problem that fails this criteria, and is therefore uncomputable, is the halting problem: Given a machine M and its input x, is it possible to decide if M will ever halt on x? A naïve way to try answering this question is to run on M on x. But how do we know when to stop? Perhaps if we run M a little longer, it might halt. Since we have no idea how long M might run on x, this solution fails. In fact it can be formally proven that, no solution exists [11]. This problem is uncomputable. A useful property of computability is that it is a property of a language. That is to say, the decidability of a language does not depend on any particular computational model. This means, for example, that anything that can be computed on a nondeterministic machine can also be computed on a deterministic machine [11]. 1
2 1.3 Classical Complexity Classes Once we have determined that a language is computable, we are often interested in how much it costs to decide the language. There are two resources of interest: the amount of time required, and the amount of space necessary to compute the language. Languages are classified into complexity classes according to how much of each of the resources they require The Class P The set of all languages that can be computed in polynomial time on a deterministic Turing machine is called the class P. Familiar examples of problems in P include sorting a list of elements, computing the maximum flow between two points in a network of pipes, and finding the shortest path between two points in a graph The Class NP The nondeterministic analog to P is the class NP. This is the set of all languages that can be computed in polynomial time on a nondeterministic Turing machine. Examples of problems in this class include factoring and determining whether or not a Boolean formula is satisfiable by some input. That is, given a boolean formula f(x 1, x 2,, x n ) over n boolean variables is the following statement true: x 1 x 2 x n f(x 1, x 2,, x n ). This particular problem is known as SAT. Another equivalent definition of NP is that it contains all languages that are verifiable in polynomial time on a deterministic machine. This means that given an input and a certificate of the input s membership in a language, a machine can check if the certificate is valid in polynomial time. For example, in determining whether a number k is composite, one of the factors of k could be used as the certificate. A machine could then determine the validity of the certificate by dividing k by it and checking that the remainder is 0. Since a deterministic Turing machine is just a specific type of nondeterministic machine, P NP The NP-Complete Languages The hardest problems in NP are known as the NP-complete languages. These languages have an interesting characteristic: a solver for an NP-complete language can be used to solve any problem in NP, with only polynomial overhead. The classic example of an NP-complete language is SAT. Intuitively, this is because Boolean circuits are the building blocks of a computer, and we can thus build a circuit that simulates a Turing machine. Other NP-complete problems include finding a given size fully-connected subgraph of a graph, determining whether the nodes of a graph can be colored using only three colors such that no two nodes of the same color are adjacent, and determining whether a set of numbers contains a subset that adds up to a particular number. Though these problems appear unrelated, any NP problem can be quickly converted into each of them Is P = NP? Perhaps the most famous open question in computer science is whether or not the classes P and NP are equivalent. Does nondeterminism increase the power of a Turing machine, to the point where we can quickly solve problems that we otherwise couldn t? Although it may appear obvious that these two classes are not equivalent, given that a nondeterministic machine can perform parallel computation, no one has been able to prove this distinction The Class BPP A language L is in the complexity class BPP (Bounded-Error Probabilistic Polynomial-Time), if there exists a probabilistic Turing machine, M, that runs in polynomial time such that : 1. if x is in L, then M accepts x with probability 2 3, and 2
3 2. if x is not in L, then M accepts x with probability 1 3. In other words, BPP is the class of decidable problems solvable by a probabilistic Turing machine in polynomial time with an error probability of at most 1 3. Note, however, that the constant 1 3 is arbitrary. Any constant value in the range (0, 1 2 ) gives an equivalent definition of the class BPP, since repeated executions of the probabilistic machine M on x can bring the probability of correct behavior arbitrarily close to 1 [11]. It is clear that P BPP, since a deterministic algorithm that runs in polynomial time, is like a probabilistic algorithm that runs in polynomial time with an error probability of 0, which is less than 1 3. It is still an open question whether P BPP or P = BPP, though currently there exist problems which are known to lie in BPP but not known to lie in P, such as the problem of finding square roots modulo a prime number. It is also an open question whether BPP NP or NP BPP The Class PSPACE The class PSPACE is the set of decision problems that can be solved by a Turing machine using a polynomial amount of tape, given an unlimited amount of time. Analogously, EXPSPACE is the set of decision problems that can be solved by a Turing machine using an exponential amount of tape, given an unlimited amount of time. It is clear that BPP PSPACE, since a polynomial time machine can only using a polynomial amount of tape. It s an open question whether this inclusion is strict, though it is generally believed that BPP PSPACE. It has been proven that NP PSPACE, and that PSPACE EXPSPACE [11]. 2 Quantum Computability and Complexity In beginning a discussion of quantum complexity theory it is natural to compare the computability and complexity of a quantum computer to that of a classical computer. Specifically we are interested in the questions: can a quantum computer compute any problems that are incomputable classically? and can a quantum computer compute problems more efficiently than a classical computer? If so, which, why, and how? 2.1 Quantum Computational Models Quantum Circuits The quantum analog to a Boolean circuit that operates on n bits is a quantum circuit that operates on n qubits. A qubit, like a classical bit, can be either 0 or 1, but unlike a classical bit, can also be in a normalized superposition of these states. The state of n qubits, then is a normalized vector in N = 2 n -dimensional Hilbert space (essentially C N with defined geometry). In the same way a Boolean circuit is built from NAND gates, a quantum circuit is built from universal gates, represented by unitary N N matrices, that can be composed to produce any unitary N N matrix. The result of applying a gate is the product of its matrix and the vector representing the state being operated on. One additional operation on a quantum state is measurement, which probabilistically determines a physical property of the state, and simultaneously removes elements of the initial superposition (if any) that are inconsistent with the result of the measurement. Unlike classical circuits, a quantum circuit must also be reversible, which follows from the fact that only unitary operations are allowed (which in turn follows from the unitary evolution of the Hamiltonian. For a more complete discussion on this topic see [8]) Quantum Turing Machines An alternative, but equivalent computational model to quantum circuits is the quantum Turing machine [3]. A quantum Turing machine is defined as a triple (Q, Σ, δ), where Q is a finite set of states that includes a start and final state, Σ is the tape alphabet and includes the blank letter #, and δ is a transition function δ : Q Σ C Q Σ D where D = {L, R} is the direction in which the tape head moves. The set C is all complex numbers whose kth bit can be computed in time polynomial in k. The configuration of the 3
4 quantum machine is a superposition of configurations, where a configuration is an element of Σ Z Q Z, the first member of which corresponds to the tape contents, the second the state, and the last the tape head position. The function δ must be unitary. A quantum machine halts when its state is a superposition of only those configurations that are in the final state. The output of the machine is the corresponding superposition of the tape contents. For a decider, the output contains a 0 in the start cell if it rejects, 1 if it accepts. The probability that the decider accepts is the total amplitude of accepting configurations in its output superposition. 2.2 Quantum Computability Bennet showed that any classical circuit can be converted into an equivalent reversible circuit, and further that this conversion can be done efficiently [1]. Thus, we see immediately that a quantum computer is at least as powerful as a classical computer. To demonstrate that a quantum computer is no more powerful than a classical computer we present a classical Turing machine that simulates an arbitrary quantum circuit. The quantum gates of the circuit are given, suitably encoded, as input to the Turing machine as N N matrices, along with the measurements made on the circuit, in the order of application. In addition, the states of the Turing machine contain all the information necessary about the physical properties of each of the quantum basis states. The machine also receives an encoding of the N-dimensional initial state in its input. The machine then applies each quantum gate to the current state by doing a matrix multiplication. One detail that may not be immediately obvious is the manner in which our simulation should handle measurement, since measurement appears to rely entirely on the physical properties of the system and true randomness. It turns out, however, that a non-deterministic Turing machine will still compute correctly providing some computation path succeeds. Therefore we appeal to nondeterminism and let our Turing machine decide the outcome of the measurement nondeterministically, and then use the information it knows about each of the quantum basis states to delete inconsistent elements. Finally, it renormalizes the resulting vector. Thus the Turing machine can simulate each of the operations of a quantum circuit, and therefore compute anything that can be computed on a quantum circuit. Notice, that this simulation is very inefficient. It requires space, and therefore time, exponential in the number of qubits in the quantum circuit. Bernstein and Vazirani have given a simulation that takes polynomial space, but exponential time [3], which we outline in In fact, no one has yet been able to present an efficient classical simulation of a quantum computer, which has contributed to the idea that a quantum computer may be inherently exponentially faster. Note too, however, that no one has proved that such an efficient simulation does not exist. 2.3 Quantum Complexity Having proven that a quantum computer can compute exactly the same set of languages as a classical computer, we now examine quantum complexity The Class BQP The quantum analog to BPP is the class BQP. This consists of all languages for which a quantum machine gives the right answer at least 2 3 of the time. Shor s algorithm (see section 3) proves that factoring is in BQP, while it is not known to be in BPP. So where then, does BQP fit in the complexity hierarchy? It is known that BPP BQP, since anything that can be computed on a classical machine can be computed on a quantum machine with little overhead. However, it is not known whether or not this containment is strict. While there are problems such as factoring and computing a discrete log that are in BQP but not known to be in BPP, no one has actually proven that these problems are not in BPP. Similarly, the relation between NP and BQP is unknown. The argument of Bennet, Bernstein, Brassard and Vazirani that a brute force approach to quantum computation results in only quadratic gains suggests that BQP does not contain NP [2]. However, the relationship between NP and BPP is currently unknown, so whether or not NP contains BQP is also unknown [9]. It is currently known that BQP sits between BPP and PSPACE in the complexity hierarchy (see below for the proof that BQP PSPACE). Thus BQP contains all of P and BPP, and potentially some 4
5 problems in NP but probably none that are NP-complete, and perhaps some problems in PSPACE that are not in NP [13]. The latter two postulations, however, have not been proven BQP PSPACE In the simulation of quantum circuits given above, the amount of space used by the simulation is exponential in the size of the input. Here, we outline a polynomial-space simulation of a polynomial-time quantum Turing machine [3]. First, we assume that we are simulating a quantum Turing machine M BQP for which the transition amplitudes can be computed exactly in polynomial time. We assume M runs in time p(n). Then the depth of M s computational tree is at most p(n). We use a depth-first search on this computational tree, using at most p(n) space, and add the amplitude of this path to a running total if the final configuration is accepting. Since this amplitude can be computed exactly in polynomial time, the total only requires polynomial space to store. Now given an arbitrary quantum Turing machine M BQP, Bernstein and Vazirani showed that it suffices to use a machine that is similar to M but for which each transition amplitude can be calculated exactly, and to then compare the total amplitude we computed to 7 12 [3]. If the amplitude is at least this amount, we accept. The total space required for this simulation is polynomial, so BQP PSPACE. Note that the total time required for this simulation is exponential, since the number of possible final configurations is in O(p(n) 2 p(n) ) Relativized Results for Quantum Complexity A result is said to be relativized if it assumes that a particular problem can be solved efficiently, whether or not we can actually do so. Although nothing universal has been proven about the relationship between the relative speeds of quantum and classical computation, several such relativized results have made progress that suggests the direction that future work will eventually go. The first results discovered appeared to suggest that quantum computation was significantly faster than classical computation. Among these was the discovery by Deutsch, Jozsa, Berthiaume, and Brassard, of oracles under which problems could be found for which a quantum machine computed the answer with certainty in polynomial time, whereas requiring a probabilistic classical machine to solve the same problem with certainty required exponential time for some inputs [4]. Note, however, that relative to the same oracle, these problems were in BPP, indicating that only the requirement of certainty pushed the problem across the exponential time barrier. Bernstein and Vazirani also showed that there exist oracles under which there exist problems that are in BQP but not BPP, which is now taken as some of the earliest evidence that QTMs are more powerful than probabilistic Turing Machines [2]. Building upon this, Simon proved the stronger result that there exists an oracle relative to which BQP cannot even be simulated by a probabilistic Turing Machine allowed to run for an exponential number of steps [10]. Despite this evidence as to the power of quantum computation, the above results do not appear to break any major ground in terms of computational complexity. That is, although they suggest that quantum computation is at least somewhat more powerful than classical computation, they do not lend any real insight as to whether it will allow us to compute NP-complete problems. But results by Bennet, Bernstein, Brassard, and Vazirani do. They demonstrated that relative to an oracle chosen uniformly at random, the class NP can never be solved in less than 2 n time. (This result is tight, as we show in 3.4.) They then go on to explain that while their results do not prove that NP cannot be contained in BQP, they do establish the fact that there is no intrinsic property of quantum computation that will function like a black box to solve NP-complete problems [2]. 3 Quantum Algorithms We now turn to some concrete examples of problems that can be computed faster on quantum computers than on classical computers. 5
6 3.1 Quantum Fourier Transforms (QFT) As digital media has become commonplace, one of the most important, and most often performed classical computations is the Fourier transform. For an N-dimensional space, the best known classical algorithm takes O(N log N) time. By contrast the best known quantum algorithm operates on a superposition of all states in the space, and takes only O(log 2 N) time, an exponential speedup. When performing the quantum Fourier transform on a superposition states, however, we can only obtain a random sampling of the transformation. This places limitations on the applicability of the algorithm for working with classical data. One useful application is to find the period of a function, which is used by Shor s algorithm below. 3.2 Shor s Algorithm Many widely-used cryptographic protocols are based on the difficulty of factoring on a classical computer. No efficient classical algorithm for factoring is known. In 1994, Shor published an algorithm that proved factoring can be done efficiently on a quantum computer. Classical number theory tells us that computing the period of the function f(x) = a x mod N, where gcd(a, N) = 1, allows us to factor N. On a classical computer the only known ways to compute this period take exponential time. On a quantum computer, however, we can use the quantum Fourier transform to efficiently find the period. The quantum algorithm, then, can factor exponentially faster than the best known classical algorithm [8]. 3.3 Grover s Algorithm Another important problem for which a quantum algorithm exists that is faster than the best classical algorithm is searching. Given a set S of n unsorted items and a marking function f : S {0, 1}, find an element x S such that f(x) = 1. The best classical algorithm is to search through the entire list, which takes O(m n) time, where the computation of f(x) takes O(m) time. The best known quantum algorithm for searching, Grover s algorithm, takes O(m n) time by searching a superposition of all the elements in S. Given such a superposition, it inverts the coefficients of the states x for which f(x) = 1 by applying the inversion circuit in figure 1, where CZ is the controlled phase flip gate It then applies a unitary transformation that reflects each coefficient about the average of all of them. The coefficients of the unmarked states decrease slightly, but the coefficients of the marked states increase to greater than their initial values. Repeatedly applying the inversion circuit and the reflection operation can increase the total amplitude of the marked items, and in fact, O( n) repetitions are required to get close to 1 [7]. The running time of the search, then, is O(m n), since it does n iterations, each of which apply f(x) and thus take O(m) time. This is a quadratic improvement over the classical algorithm. 3.4 Grover s Upper Bound on NP Problems Using Grover s algorithm, we can construct a solver for an arbitrary NP problem that runs in O( 2 n ) time, where n is the size of the required witness to verify the problem. We illustrate the technique by constructing such a solver for the NP-complete problem SAT [5]. Since SAT NP, there exists a polynomial time verifier for SAT, that takes in an input x and a witness y and outputs 0 if the witness is invalid, and 1 if it is valid. In the case of SAT, x is a boolean formula in some n variables, and y is an assignment to those variables. Note that y = n, so the number of possible witnesses is 2 n. Call the quantum circuit implementing this verifier f(x, y). Now there are two possible cases. Either there does not exist a valid y, or there exists at least one, and possibly many. In the first case, x SAT, and in the second case, x SAT. Thus we need to distinguish between these two cases.. 6
7 Figure 1: A circuit that inverts states x for which f(x) = 1. The state takes in a superposition of all states plus an ancilla bit, and outputs a superposition in which the marked elements are inverted, plus the unchanged ancilla bit. We can accomplish this by running Grover s algorithm on the set of all possible witness, using f (y) = f(x, y) as the marking function. Since there are 2 n possible witness, this will take O( 2 n ) time. If at least one valid y exists, then the search will find one with high probability p > 1 2, and we can run it through the verifier to make sure it is valid. If none exists, the algorithm will return a random witness with probability 1. Thus if x SAT, we get the wrong answer with probability 1 p, and if x SAT, we never get the wrong answer. We can repeat the procedure k times to get a probability of (1 p) k of getting the wrong answer in either case, which can be made arbitrarily close to 0. Thus SAT can be solved in O( 2 n ). Using the same construction as above, we can produce a solver for any NP problem that runs in O( 2 n ) time. 4 The Practical Impacts of Modern Quantum Complexity Beliefs When Shor first published his now-famous quantum factoring algorithm in 1994, the excitement surrounding the discovery caused hundreds of the best minds in complexity theory to ask: how long until we can use this to solve NP-complete problems? and their experimental counterparts to ask: how long until we can get one of these machines running in a lab? Nearly a decade later the questions asked by complexity theorists have changed dramatically. In a recent publication by well known complexity theorist Lance Fortnow, from NEC Research, and the keynote speaker at the 2003 MSRI Conference, he asks [6]: how long until we can prove in the general case that a tight upper bound for quantum performance speedups is quadratic? This drastic change in the gains quantum complexity theorists expect to realize, raises several important questions: how much longer does this mean that the technology will need to evolve before quantum computing is a viable and practical way to compute? and: if a quadratic speedup is in fact a tight upper bound, what does this tell us about those cases (like Shor s factoring algorithm), for which the speedup appears to be exponential? While the first question may fall slightly outside the scope of this paper, it provides a nice example from which to draw perspective on our theoretical discussions of basic complexity theory in sections I and II above. Imagine for a moment that we have at our disposal a classical 2 GHz desktop, and a quantum computer, which runs at 500 Hz, or 4,000,000 times slower than the classical desktop. Now imagine that, like researchers believed in 1994, quantum computing would open the door to solving NP-complete problems, which we can presently solve only in exponential time, in say, N 2 time. For an arbitrary such problem of size 30, the classical desktop finishes roughly three times faster. For an arbitrary such problem of size 40, the quantum computer finishes roughly 170 times faster. And for an arbitrary such problem of size 50, the quantum computer finishes roughly 110,000 times faster than the classical desktop. Since many complexity theorists believe that it will eventually be proved that P NP, the implication of the above example is startling clear: even for modest sized NP-complete problems, a fantastically slow quantum computer would be enormously beneficial. This was the picture that Shor s algorithm helped to create in 1994, and helps to explain why for the last decade experimentalists have worked feverishly at producing just such a machine. Let us now consider a different situation that better reflects the current beliefs of the quantum complexity community as discussed above. Imagine that we again have the same 500 Hz quantum computer, and 2 GHz 7
8 classical computer, only now the quantum computer can provide at most a quadratic speedup in processing, as supported by the relativized oracle results discussed in section II. First it should be clear that in this situation we have no hope of solving even modest sized NP problems, as the polynomial gain is insufficient to break the exponential barrier for N sufficiently large. More interestingly then, let us consider the case of searching, which Grover proved could be done in N time on a quantum computer, as compared with N time on a classical computer. In this case, even a problem of size 4,000,000 will run 4 times slower on the quantum computer than on its classical counterpart, and a problem of size 10,000 will run roughly 80 times slower. Since most classical applications consist of many (relatively) small operations performed in sequence rather than a few instances of large problems, it is clear that for most processing applications the gains from quantum computing would be small until the technology matured a great deal. It is also important to consider the fact that to achieve a 500 Hz quantum computer (approximately 50 times faster than the fastest currently achieved in a laboratory) nano-production techniques would need to improve significantly, and, for comparison purposes, by the time Intel is producing at the 20-micron range, they believe they will be producing chips at GHz (personal communication). Let us now turn to the issue of reconciling those quantum algorithms that appear to provide an exponential speedup in processing time with a suspected upper bound of quadratic speedups. Following the publication of Shor s algorithm in 1994, many people believed that the effect of superposition in quantum computation was equivalent to being able to perform an exponential amount of processing in parallel [12]. A more recent view of the subject suggests that rather than making an exponential amount of raw computing power available, quantum computation does the same amount of raw processing as a classical computer, it simply takes advantage of unique quantum mechanical structures that are well suited for certain problems [12]. This idea suggests that one possible explanation for the exponential speedup seen in Shor s algorithm and by the QFT could be the following: there are certain problems for which the superposition structure of quantum computation is particularly well suited such that despite the fact that in general quantum computation is at most quadratically faster than classical computing, certain exploitable structures allow for even greater gains in the same way that a binary tree allows for much faster searching than does an unsorted list. While there is no evidence at present to dispute such an explanation, it does seem unlikely that such structures could widely exist, but that ten years of concerted effort by the complexity theory community would fail to find more than a few examples. By contrast it seems equally hard to imagine that such structures are in fact so rare and so esoteric that it would be realistic for complexity theorists to have only discovered a handful of them in ten years. In light of these observations and the fact that neither factoring nor QFT have been shown to be NP-complete, an alternative and more compelling explanation might be: quantum computation makes it easier to exploit complicated structures that exist in previously considered problems, but that are so hard to conceptualize we have not yet discovered how to leverage them. It therefore suggests that there may exist many exploitable structures within these problems that clever quantum algorithms could use to achieve polynomial running time, but that these structures are so complex or well disguised that they have not yet been discovered. Notice that this explanation says nothing about the gains quantum computation yields with respect to NP-complete problems, as these problems are not believed to have any structure at all. It simply suggests that quantum computation supplies a new set of tools with which to approach problems, and that though these tools may not be inherently faster, they may be easier to apply to certain problems. 5 Conclusions Perhaps unsurprisingly, quantum complexity theory now faces many of the same big questions that have faced the classical complexity community for many years. And unfortunately there doesn t appear to be a solution on the horizon. Despite a great deal of effort by people hoping to prove both sides of the issues, virtually nothing concrete is known about the true power of quantum computation. Since we are left then to sift through relativized results that, at best offer mere glimpses at what might be the larger picture, we choose to take a cautious position. We believe that the present evidence suggests that the realistic gains to be reaped from quantum computing are going to be polynomial, and not exponential. Nevertheless we acknowledge that a quadratic speedup 8
9 in processing time is significant, and as nano-production continues to develop, we expect that practical implementations of quantum computation will become a reality. Initially the applications may be limited to database systems and other specific applications that require enormous problem sizes (with which to exploit Grover s algorithm), but we believe that in time other examples of modest, but substantial, polynomial gains will be discovered. 6 References [1] Bennet, C., Logical reversibility of computation, IBM J. Res. Develop., Vol. 17, 1973, pp [2] Bennet, C., Bernstein, E., Brassard, G., and Vazirani, U., Strengths and weaknesses of quantum computation, Special issue on Quantum Computation of the Siam Journal of Computing, Oct [3] Bernstein, E. and Vazirani, U., Quantum complexity theory, Special issue on Quantum Computation of the Siam Journal of Computing, Oct [4] Berthiaume, A. and Brassard, G., Oracle quantum computing, Journal of Modern Optics, vol. 41, no. 12, Dec. 1994, pp [5] Boyer, M., Brassard, G., Høyer, P., and Tapp, A., Tight bounds on quantum searching, arxiv e-print quant-ph/ , [6] Dam, W. V. Quantum complexity theory, SQuInT Retreat 2003, lecture, June [7] Fortnow, L., One complexity theorist s view of quantum computing, Theoretical Computer Science, 292(3): , [8] Grover, L., A framework for fast quantum mechanical algorithms, lanl e-print quant-ph/ , Nov [9] Nielsen, M. and Chuang, I, Quantum Computation and Quantum Information. Cambridge University Press, [10] Robinson, S., Emerging insights on limitations of quantum computing shape quest for fast algorithms, SIAM News, vol. 36, no. 1, Jan./Feb [11] Simon, D., On the power of quantum computation, Proceedings of the 35th Annual IEEE Symposium on Foundations of Computer Science, 1994, pp [12] Sipser, M., Introduction to the Theory of Computation. PWS Publishing Company, [13] Steane, M., A quantum computer only needs one universe, lanl e-print quant-ph/ , Mar
Quantum Computing and Grover s Algorithm
Quantum Computing and Grover s Algorithm Matthew Hayward January 14, 2015 1 Contents 1 Motivation for Study of Quantum Computing 3 1.1 A Killer App for Quantum Computing.............. 3 2 The Quantum Computer
Factoring & Primality
Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount
Factoring by Quantum Computers
Factoring by Quantum Computers Ragesh Jaiswal University of California, San Diego A Quantum computer is a device that uses uantum phenomenon to perform a computation. A classical system follows a single
Introduction to computer science
Introduction to computer science Michael A. Nielsen University of Queensland Goals: 1. Introduce the notion of the computational complexity of a problem, and define the major computational complexity classes.
The Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
Quantum Computing Lecture 7. Quantum Factoring. Anuj Dawar
Quantum Computing Lecture 7 Quantum Factoring Anuj Dawar Quantum Factoring A polynomial time quantum algorithm for factoring numbers was published by Peter Shor in 1994. polynomial time here means that
How To Solve An Npa-Complete Problems With Quantum Computing And Chaotic Dynamics
CDMTCS Research Report Series A New Quantum Algorithm for NP-complete Problems Masanori Ohya Igor V. Volovich Science University of Tokyo Steklov Mathematical Institute CDMTCS-194 September 00 Centre for
Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms
CSCE 310J Data Structures & Algorithms P, NP, and NP-Complete Dr. Steve Goddard [email protected] CSCE 310J Data Structures & Algorithms Giving credit where credit is due:» Most of the lecture notes
2.1 Complexity Classes
15-859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Complexity classes, Identity checking Date: September 15, 2004 Scribe: Andrew Gilpin 2.1 Complexity Classes In this lecture we will look
Quantum Computing. Robert Sizemore
Quantum Computing Robert Sizemore Outline Introduction: What is quantum computing? What use is quantum computing? Overview of Quantum Systems Dirac notation & wave functions Two level systems Classical
Open Problems in Quantum Information Processing. John Watrous Department of Computer Science University of Calgary
Open Problems in Quantum Information Processing John Watrous Department of Computer Science University of Calgary #1 Open Problem Find new quantum algorithms. Existing algorithms: Shor s Algorithm (+ extensions)
Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.
Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas [email protected] Background One basic goal in complexity theory is to separate interesting complexity
Quantum Computers. And How Does Nature Compute? Kenneth W. Regan 1 University at Buffalo (SUNY) 21 May, 2015. Quantum Computers
Quantum Computers And How Does Nature Compute? Kenneth W. Regan 1 University at Buffalo (SUNY) 21 May, 2015 1 Includes joint work with Amlan Chakrabarti, U. Calcutta If you were designing Nature, how would
SIMS 255 Foundations of Software Design. Complexity and NP-completeness
SIMS 255 Foundations of Software Design Complexity and NP-completeness Matt Welsh November 29, 2001 [email protected] 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity
NP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness
Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce
NP-Completeness and Cook s Theorem
NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:
Introduction to Quantum Computing
Introduction to Quantum Computing Javier Enciso [email protected] Joint Advanced Student School 009 Technische Universität München April, 009 Abstract In this paper, a gentle introduction to Quantum Computing
Quantum Machine Learning Algorithms: Read the Fine Print
Quantum Machine Learning Algorithms: Read the Fine Print Scott Aaronson For twenty years, quantum computing has been catnip to science journalists. Not only would a quantum computer harness the notorious
P versus NP, and More
1 P versus NP, and More Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 If you have tried to solve a crossword puzzle, you know that it is much harder to solve it than to verify
OHJ-2306 Introduction to Theoretical Computer Science, Fall 2012 8.11.2012
276 The P vs. NP problem is a major unsolved problem in computer science It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a $ 1,000,000 prize for the
Algebraic Computation Models. Algebraic Computation Models
Algebraic Computation Models Ζυγομήτρος Ευάγγελος ΜΠΛΑ 201118 Φεβρουάριος, 2013 Reasons for using algebraic models of computation The Turing machine model captures computations on bits. Many algorithms
Faster deterministic integer factorisation
David Harvey (joint work with Edgar Costa, NYU) University of New South Wales 25th October 2011 The obvious mathematical breakthrough would be the development of an easy way to factor large prime numbers
Introduction to Algorithms. Part 3: P, NP Hard Problems
Introduction to Algorithms Part 3: P, NP Hard Problems 1) Polynomial Time: P and NP 2) NP-Completeness 3) Dealing with Hard Problems 4) Lower Bounds 5) Books c Wayne Goddard, Clemson University, 2004 Chapter
Complexity Classes P and NP
Complexity Classes P and NP MATH 3220 Supplemental Presentation by John Aleshunas The cure for boredom is curiosity. There is no cure for curiosity Dorothy Parker Computational Complexity Theory In computer
Lecture 2: Universality
CS 710: Complexity Theory 1/21/2010 Lecture 2: Universality Instructor: Dieter van Melkebeek Scribe: Tyson Williams In this lecture, we introduce the notion of a universal machine, develop efficient universal
Quantum and Non-deterministic computers facing NP-completeness
Quantum and Non-deterministic computers facing NP-completeness Thibaut University of Vienna Dept. of Business Administration Austria Vienna January 29th, 2013 Some pictures come from Wikipedia Introduction
Notes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
Theoretical Computer Science (Bridging Course) Complexity
Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the
Theorem (informal statement): There are no extendible methods in David Chalmers s sense unless P = NP.
Theorem (informal statement): There are no extendible methods in David Chalmers s sense unless P = NP. Explication: In his paper, The Singularity: A philosophical analysis, David Chalmers defines an extendible
The Limits of Adiabatic Quantum Computation
The Limits of Adiabatic Quantum Computation Alper Sarikaya June 11, 2009 Presentation of work given on: Thesis and Presentation approved by: Date: Contents Abstract ii 1 Introduction to Quantum Computation
Lecture 7: NP-Complete Problems
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit
Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li
Computer Algorithms NP-Complete Problems NP-completeness The quest for efficient algorithms is about finding clever ways to bypass the process of exhaustive search, using clues from the input in order
Keywords Quantum logic gates, Quantum computing, Logic gate, Quantum computer
Volume 3 Issue 10 October 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com An Introduction
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory
Complexity Theory. Jörg Kreiker. Summer term 2010. Chair for Theoretical Computer Science Prof. Esparza TU München
Complexity Theory Jörg Kreiker Chair for Theoretical Computer Science Prof. Esparza TU München Summer term 2010 Lecture 8 PSPACE 3 Intro Agenda Wrap-up Ladner proof and time vs. space succinctness QBF
Chapter 1. Computation theory
Chapter 1. Computation theory In this chapter we will describe computation logic for the machines. This topic is a wide interdisciplinary field, so that the students can work in an interdisciplinary context.
On the Relationship between Classes P and NP
Journal of Computer Science 8 (7): 1036-1040, 2012 ISSN 1549-3636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,
Course Manual Automata & Complexity 2015
Course Manual Automata & Complexity 2015 Course code: Course homepage: Coordinator: Teachers lectures: Teacher exercise classes: Credits: X_401049 http://www.cs.vu.nl/~tcs/ac prof. dr. W.J. Fokkink home:
Offline 1-Minesweeper is NP-complete
Offline 1-Minesweeper is NP-complete James D. Fix Brandon McPhail May 24 Abstract We use Minesweeper to illustrate NP-completeness proofs, arguments that establish the hardness of solving certain problems.
1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)
Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:
Notes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
Chapter 1. NP Completeness I. 1.1. Introduction. By Sariel Har-Peled, December 30, 2014 1 Version: 1.05
Chapter 1 NP Completeness I By Sariel Har-Peled, December 30, 2014 1 Version: 1.05 "Then you must begin a reading program immediately so that you man understand the crises of our age," Ignatius said solemnly.
CAD Algorithms. P and NP
CAD Algorithms The Classes P and NP Mohammad Tehranipoor ECE Department 6 September 2010 1 P and NP P and NP are two families of problems. P is a class which contains all of the problems we solve using
NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics
NP-complete? NP-hard? Some Foundations of Complexity Prof. Sven Hartmann Clausthal University of Technology Department of Informatics Tractability of Problems Some problems are undecidable: no computer
arxiv:quant-ph/9508027v2 25 Jan 1996
Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer arxiv:quant-ph/9508027v2 25 Jan 1996 Peter W. Shor Abstract A digital computer is generally believed to
Quantum Computing Architectures
Quantum Computing Architectures 1:-2: Fred Chong (UCD) - Intro, quantum algorithms, and error correction 2:-2:3 Break and discussion 2:3-3:3 Ike Chuang (MIT) - Device technology and implementation issues
Computational complexity theory
Computational complexity theory Goal: A general theory of the resources needed to solve computational problems What types of resources? Time What types of computational problems? decision problem Decision
Universality in the theory of algorithms and computer science
Universality in the theory of algorithms and computer science Alexander Shen Computational models The notion of computable function was introduced in 1930ies. Simplifying (a rather interesting and puzzling)
0.1 Phase Estimation Technique
Phase Estimation In this lecture we will describe Kitaev s phase estimation algorithm, and use it to obtain an alternate derivation of a quantum factoring algorithm We will also use this technique to design
Quantum Computing: Lecture Notes. Ronald de Wolf
Quantum Computing: Lecture Notes Ronald de Wolf Preface These lecture notes were formed in small chunks during my Quantum computing course at the University of Amsterdam, Feb-May 2011, and compiled into
Quantum Algorithms Lecture Notes Summer School on Theory and Technology in Quantum Information, Communication, Computation and Cryptography
Quantum Algorithms Lecture Notes Summer School on Theory and Technology in Quantum Information, Communication, Computation and Cryptography Julia Kempe CNRS & LRI, Université de Paris-Sud 9405 Orsay, France
Ian Stewart on Minesweeper
Ian Stewart on Minesweeper It's not often you can win a million dollars by analysing a computer game, but by a curious conjunction of fate, there's a chance that you might. However, you'll only pick up
Lecture 2: Complexity Theory Review and Interactive Proofs
600.641 Special Topics in Theoretical Cryptography January 23, 2007 Lecture 2: Complexity Theory Review and Interactive Proofs Instructor: Susan Hohenberger Scribe: Karyn Benson 1 Introduction to Cryptography
What Has Quantum Mechanics to Do With Factoring? Things I wish they had told me about Peter Shor s algorithm
What Has Quantum Mechanics to Do With Factoring? Things I wish they had told me about Peter Shor s algorithm 1 Question: What has quantum mechanics to do with factoring? Answer: Nothing! 2 Question: What
Competitive Analysis of On line Randomized Call Control in Cellular Networks
Competitive Analysis of On line Randomized Call Control in Cellular Networks Ioannis Caragiannis Christos Kaklamanis Evi Papaioannou Abstract In this paper we address an important communication issue arising
CAs and Turing Machines. The Basis for Universal Computation
CAs and Turing Machines The Basis for Universal Computation What We Mean By Universal When we claim universal computation we mean that the CA is capable of calculating anything that could possibly be calculated*.
Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile
Pushdown Automata In the last section we found that restricting the computational power of computing devices produced solvable decision problems for the class of sets accepted by finite automata. But along
Why? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU
Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU Birgit Vogtenhuber Institute for Software Technology email: [email protected] office hour: Tuesday 10:30 11:30 slides: http://www.ist.tugraz.at/pact.html
Discuss the size of the instance for the minimum spanning tree problem.
3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can
NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University
NP-Completeness CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Hard Graph Problems Hard means no known solutions with
Quantum Computers vs. Computers Security. @veorq http://aumasson.jp
Quantum Computers vs. Computers Security @veorq http://aumasson.jp Schrodinger equation Entanglement Bell states EPR pairs Wave functions Uncertainty principle Tensor products Unitary matrices Hilbert
MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis
LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,
One last point: we started off this book by introducing another famously hard search problem:
S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 261 Factoring One last point: we started off this book by introducing another famously hard search problem: FACTORING, the task of finding all prime factors
CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313]
CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313] File Structures A file is a collection of data stored on mass storage (e.g., disk or tape) Why on mass storage? too big to fit
Closed Timelike Curves Make Quantum and Classical Computing Equivalent
Closed Timelike Curves Make Quantum and Classical Computing Equivalent Scott Aaronson MIT John Watrous University of Waterloo Abstract While closed timelike curves (CTCs) are not known to exist, studying
Tutorial 8. NP-Complete Problems
Tutorial 8 NP-Complete Problems Decision Problem Statement of a decision problem Part 1: instance description defining the input Part 2: question stating the actual yesor-no question A decision problem
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding
The Mathematics of the RSA Public-Key Cryptosystem
The Mathematics of the RSA Public-Key Cryptosystem Burt Kaliski RSA Laboratories ABOUT THE AUTHOR: Dr Burt Kaliski is a computer scientist whose involvement with the security industry has been through
Tetris is Hard: An Introduction to P vs NP
Tetris is Hard: An Introduction to P vs NP Based on Tetris is Hard, Even to Approximate in COCOON 2003 by Erik D. Demaine (MIT) Susan Hohenberger (JHU) David Liben-Nowell (Carleton) What s Your Problem?
Turing Machines: An Introduction
CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,
A Working Knowledge of Computational Complexity for an Optimizer
A Working Knowledge of Computational Complexity for an Optimizer ORF 363/COS 323 Instructor: Amir Ali Ahmadi TAs: Y. Chen, G. Hall, J. Ye Fall 2014 1 Why computational complexity? What is computational
P vs NP problem in the field anthropology
Research Article P vs NP problem in the field anthropology Michael.A. Popov, Oxford, UK Email [email protected] Keywords P =?NP - complexity anthropology - M -decision - quantum -like game - game-theoretical
Guessing Game: NP-Complete?
Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple
Using quantum computing to realize the Fourier Transform in computer vision applications
Using quantum computing to realize the Fourier Transorm in computer vision applications Renato O. Violin and José H. Saito Computing Department Federal University o São Carlos {renato_violin, saito }@dc.uscar.br
Lecture 9 - Message Authentication Codes
Lecture 9 - Message Authentication Codes Boaz Barak March 1, 2010 Reading: Boneh-Shoup chapter 6, Sections 9.1 9.3. Data integrity Until now we ve only been interested in protecting secrecy of data. However,
Introduction to NP-Completeness Written and copyright c by Jie Wang 1
91.502 Foundations of Comuter Science 1 Introduction to Written and coyright c by Jie Wang 1 We use time-bounded (deterministic and nondeterministic) Turing machines to study comutational comlexity of
Introduction to Logic in Computer Science: Autumn 2006
Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 11 Block Cipher Standards (DES) (Refer Slide
Offline sorting buffers on Line
Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: [email protected] 2 IBM India Research Lab, New Delhi. email: [email protected]
A Quantum Adiabatic Evolution Algorithm Applied to Random Instances of an NP-Complete Problem
A Quantum Adiabatic Evolution Algorithm Applied to Random Instances of an NP-Complete Problem arxiv:quant-ph/0104129v1 26 Apr 2001 Edward Farhi, Jeffrey Goldstone Center for Theoretical Physics, Massachusetts
Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs
CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like
Some Minesweeper Configurations
Some Minesweeper Configurations Richard Kaye School of Mathematics The University of Birmingham Birmingham B15 2TT RWKaye@bhamacuk http://webmatbhamacuk/rwkaye/ 31st May 2007 Contents 1 Introduction 2
Primality - Factorization
Primality - Factorization Christophe Ritzenthaler November 9, 2009 1 Prime and factorization Definition 1.1. An integer p > 1 is called a prime number (nombre premier) if it has only 1 and p as divisors.
CSC 373: Algorithm Design and Analysis Lecture 16
CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements
Influences in low-degree polynomials
Influences in low-degree polynomials Artūrs Bačkurs December 12, 2012 1 Introduction In 3] it is conjectured that every bounded real polynomial has a highly influential variable The conjecture is known
Berkeley CS191x: Quantum Mechanics and Quantum Computation Optional Class Project
Berkeley CS191x: Quantum Mechanics and Quantum Computation Optional Class Project This document describes the optional class project for the Fall 2013 offering of CS191x. The project will not be graded.
6.080/6.089 GITCS Feb 12, 2008. Lecture 3
6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my
1 Formulating The Low Degree Testing Problem
6.895 PCP and Hardness of Approximation MIT, Fall 2010 Lecture 5: Linearity Testing Lecturer: Dana Moshkovitz Scribe: Gregory Minton and Dana Moshkovitz In the last lecture, we proved a weak PCP Theorem,
Three Pictures of Quantum Mechanics. Thomas R. Shafer April 17, 2009
Three Pictures of Quantum Mechanics Thomas R. Shafer April 17, 2009 Outline of the Talk Brief review of (or introduction to) quantum mechanics. 3 different viewpoints on calculation. Schrödinger, Heisenberg,
Information, Entropy, and Coding
Chapter 8 Information, Entropy, and Coding 8. The Need for Data Compression To motivate the material in this chapter, we first consider various data sources and some estimates for the amount of data associated
The Halting Problem is Undecidable
185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine
