IN210 − lecture 13 Alternative machine models Computational complexity thesis: All reasonable computer models can simulate one another in polynomial time (i.e. P is “robust” or “machine independent”). But the Turing machine is based on a classical physics model of the universe, whereas current physical theory asserts that the universe is quantum physical! Question: Can we build more powerful computing devices based on quantum physics? (Another interesting kind of computing device is the biological computer . . . ) Autumn 1999 1 of 9 IN210 − lecture 13 Quantum Computers or outsmarting complexity • According to quantum physics a particle (elctron, proton, etc) can be in several different quantum states at the same time. • A quantum computer can follow several different path in the computation tree at the same time, and therefore somehow act as a NTM. • Several quantum machine models have been proposed, e.g. a quantum Turing machine. • In 1994 Peter W. Shor showed a polynomial time quantum algorithm for FACTORING and D ISCRETE LOG, two problems that seem to be difficult on a classical TM, and whose intractability modern cryptography relies upon. Autumn 1999 2 of 9 IN210 − lecture 13 • E. Bernstein and U. Vazirani have recently showed that a certain problem — the recursive Fourier sampling problem — can be solved in polynomial time on a quantum Turing machine, but requires superpolynomial time on a classical TM unless P=N P. • This was the first evidence ever contradicting the Computational Complexity Thesis! • It has recently been proven that the class N Pcannot be solved on a quantum Turing machine in time o(2n/2) unless P=N P. • To this date (1998) the “largest” quantum computer actually build has 2 bits, but there is much research going on. • Many excellent articles on quantum computing and complexity can be found in SIAM Journal on Computing Vol. 26, No. 5, pp. 1409-1557. Autumn 1999 3 of 9 IN210 − lecture 13 Cryptography or cultivating complexity • Security & legal issues limit the use of computers. • A foundation stone: Public Key Cryptosystem. Public key (function) Encoding Secret key (function) Decoding e Dino d Dino x = D(d, y) y = E(e, x) • D(d, E(e, x)) = E(e, D(d, x)) = x • The system depends upon the existence of one-way functions — functions that are easy to compute, but difficult to invert. Autumn 1999 4 of 9 IN210 − lecture 13 Example The RSA (Rivest, Shamir, Adleman) cryptosystem (1978) encoding: y = xe mod pq, primes decoding: x = y d mod pq p and q large Note: The scheme can be broken (and x computed from (y, pq, e) if pq can be factored (i.e. if p and q can be computed from their product). Autumn 1999 5 of 9 IN210 − lecture 13 Cryptographic protocols Example: Secret letters with digital signatures. • Two persons Alice and Bob with their public (eA, eB ) and secret (dA, dB ) keys. • Alice computes the letter consisting of message x (in plain text) and signature D(dA, x) (using her secret key), and encodes the whole thing using Bob’s public key. • Bob decodes the letter using his secret key (the message x is then readable to him) and then computes (encodes) the signature E (eA, D(dA, x)) using Alice’s public key. • If the result is equal to x, he knows that Alice is the sender. Autumn 1999 6 of 9 IN210 − lecture 13 • PKCs are based on one-way functions which are easy to compute, but difficult to invert. • RSA uses essentially PRIMALITY as the easy function and FACTORING as the supposedly difficult function. • PRIMALITY can be shown to belong to N P ∩ Co-N P. • It is also proven that PRIMALITY belongs to ZPP, meaning that it can be solved by a Las Vegas algorithm. • There exists no polynomial-time algorithm for FACTORING on a classical TM, but FACTORING can be solved efficiently on a quantum TM. Note: If P=N P then any public key cryptosystem can be broken. Co NP NP P RIMALITY P Autumn 1999 7 of 9 IN210 − lecture 13 Expressive/computational power of machines & languages or expressing complexity Sample results • Modeling (Mc Culloh, Pitts, ca. 1950): Neural networks are Turing equivalent. yk P n Neuron k 1 tk ... x1 x2 x3 xi ≥ t? xn • Logic (Expressive power of first-order logic): First-order graph properties are in P. — First-order logic: ∀x∃y(¬x ∧ F ∨ y) ⇒ T problems FLs Autumn 1999 algorithms TMs properties, theories logic 8 of 9 IN210 − lecture 13 • PL design (Expressive power of programming languages): — Simula is Turing equivalent (applicative PL) — Prolog? (declarative PL) • Query language design (Expressive power of database query languages): — Datalog queries are polynomial-time computabel • Grammars, compiler design, etc. • Relationship between logic & complexity, (query) language design Fagin (1976): NP = graph existential second-order logic (∃R φ(G, R)) P = graph first-order + while + successor = first-order + fixpoint + successor = Horn existential second-order + succ. Autumn 1999 9 of 9