The P vs. NP problem. fficient computation, Internet security, nd the limits of human knowledge. Avi Wigderson Institute for Advanced Study



Similar documents
OHJ-2306 Introduction to Theoretical Computer Science, Fall

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

SIMS 255 Foundations of Software Design. Complexity and NP-completeness

Million Dollar Mathematics!

A Working Knowledge of Computational Complexity for an Optimizer

Introduction to computer science

Quantum and Non-deterministic computers facing NP-completeness

Computational complexity theory

P versus NP, and More

NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

Quantum Computing. Robert Sizemore

Ch.9 Cryptography. The Graduate Center, CUNY.! CSc Theoretical Computer Science Konstantinos Vamvourellis

HOMEWORK 5 SOLUTIONS. n!f n (1) lim. ln x n! + xn x. 1 = G n 1 (x). (2) k + 1 n. (n 1)!

NP-Completeness and Cook s Theorem

Introduction to Algorithms. Part 3: P, NP Hard Problems

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

3515ICT Theory of Computation Turing Machines

P vs NP problem in the field anthropology

Tetris is Hard: An Introduction to P vs NP

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis

Universality in the theory of algorithms and computer science

Factoring & Primality

CS 3719 (Theory of Computation and Algorithms) Lecture 4

Turing Machines, Part I

Primality - Factorization

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Chapter 1. Computation theory

Lecture 13 - Basic Number Theory.

Hilberts Entscheidungsproblem, the 10th Problem and Turing Machines

Revised Version of Chapter 23. We learned long ago how to solve linear congruences. ax c (mod m)

! X is a set of strings. ! Instance: string s. ! Algorithm A solves problem X: A(s) = yes iff s! X.

The Mathematics of the RSA Public-Key Cryptosystem

Factoring Algorithms

Introduction to Automata Theory. Reading: Chapter 1

Notes on Complexity Theory Last updated: August, Lecture 1

Computability Theory

Algebraic Computation Models. Algebraic Computation Models

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

Boulder Dash is NP hard

CAD Algorithms. P and NP

Faster deterministic integer factorisation

Turing Machines, Busy Beavers, and Big Questions about Computing

The Classes P and NP

CSC 373: Algorithm Design and Analysis Lecture 16

International Journal of Advanced Research in Computer Science and Software Engineering

Lecture 7: NP-Complete Problems

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?

Notes on Complexity Theory Last updated: August, Lecture 1

Theoretical Computer Science (Bridging Course) Complexity

Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and

CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313]

ON THE COMPLEXITY OF THE GAME OF SET.

Computational Complexity: A Modern Approach. Draft of a book: Dated January 2007 Comments welcome!

CAs and Turing Machines. The Basis for Universal Computation

Prime numbers and prime polynomials. Paul Pollack Dartmouth College

The P versus NP Solution

Introduction. Appendix D Mathematical Induction D1

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

2 Elements of classical computer science

Lecture 2: Universality

Computation Beyond Turing Machines

Doctor of Philosophy in Computer Science

Factoring by Quantum Computers

Classification - Examples

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Regular Languages and Finite Automata

Lectures 5-6: Taylor Series

Turing Machines: An Introduction

Analysis of Micromouse Maze Solving Algorithms

Trigonometric Functions and Equations

Master of Arts in Mathematics

CoNP and Function Problems

Continued Fractions and the Euclidean Algorithm

On the Relationship between Classes P and NP

Tutorial 8. NP-Complete Problems

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

MATH 289 PROBLEM SET 4: NUMBER THEORY

Engineering Problem Solving and Excel. EGN 1006 Introduction to Engineering

Fall 2012 Q530. Programming for Cognitive Science

FACTORING LARGE NUMBERS, A GREAT WAY TO SPEND A BIRTHDAY

Finite Automata and Formal Languages

Overview. Swarms in nature. Fish, birds, ants, termites, Introduction to swarm intelligence principles Particle Swarm Optimization (PSO)

COMPSCI 111/111G. Quantum Computing. Term 1, Prepared using LATEX Beamer by Cristian S.Calude 1 / 26

The Gödel Phenomena in Mathematics: A Modern View

How to Prove a Theorem So No One Else Can Claim It

Study of algorithms for factoring integers and computing discrete logarithms

Computing exponents modulo a number: Repeated squaring

International Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013

Alex, I will take congruent numbers for one million dollars please

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

Find-The-Number. 1 Find-The-Number With Comps

Transcription:

The P vs. NP problem fficient computation, Internet security, nd the limits of human knowledge Avi Wigderson Institute for Advanced Study

Clay Math Institute Millennium Problems - $1M each Birch and Swinnerton Dyer Conjecture Hodge Conjecture Navier Stokes Equations P vs. NP Poincaré Conjecture Riemann Hypothesis Yang Mills Theory

Scientific / Mathematical/ Intellectual / Computational problems NP: Problems we want to solve/understand P: Problems we can solve/understan d P=NP? - limits on human

PLAN Computation is everywhere Algorithms: language of computation Efficient algorithms: P Efficient verification: NP NP-completeness Implications

Computation Mathematics n XScience + Yn = Zn Computer Computation

everywhere Computation: every process which is a sequence of simple, local steps, that we want to perform, or understand Variety of natural phenomena and intellectual challenges, each

input 1 month Fetal development 3 months 2 pm Weather evolution output Nature computes! Can we simulate/predict? 4 pm

+15h 4/11/03 SARS infection (in the world) 4/30/03 SARS infection (in the cell) +24h Will the epidemic spread, or die out?

X2 + Y2 = Z2 Solving equations X=3 Y=4 Z=5 Xn + Yn = Zn n>2 Proving theorems Theorem: no solution! Proof does not fit on this slide (200 pages) Computations in Mathematics

Nearly 10,000 reported killed by China quake Rain hampering rescue efforts in worst hit area Nearly 900 children buried when a school building collapses, 50 bodies found 7.9 magnitude quake is felt throughout much of China Face recognition Mona Lisa Emotional reactions Sadnes s The subconscious brain computes

Beauty from computation Seashells compute

How to describe computation? The language of Algorithms

Father of Computing Alan Turing 1912-1954 1936: On computable numbers, with an application to the entscheindungsproblem - Formal definition of algorithm (Turing machine) - Seed of the computer revolution - Church-Turing Thesis: everything that nature computes, can be emulated on a Turing machine

ALGORITHM (informal) Step-by-step, local, simple, mechanical procedure. Halts in finite time or every input. 1 1 1 1 2 3 4 5 6 7 8 9 1 9 1 3 4 Example: Addition algorithm (informal) 1. Scan column. If empty, stop. 2. Add digits. Write answer, remember carry. 3. Move one column left, write carry. 4. Go to 1 Finite description vs. Infinite # inputs

Limits of Knowledge I Unsolvable Turing (& Godel): Given a computer program, does it always halt? Mattiasevich: Given an equation, does it have an integer solution? Solvable When? Computationa Complexity Theory

Efficiency of an algorithm asymptotic analysis: Number of basic steps, for larger and larger inputs. input input input input

Rubik s cube How many steps to solve.. 2 3 4 5

Sudoku How long does it take you to solve 3 4

Sudoku 5

Efficiency of the addition algorithm 1. Add digits. Write answer, 5 DIGI TS 12345 retain carry. 30 STEPS +6789 2. Move one column left, write carry. 10 DIGI TS 3. Scan column. If empty, stop. 123456789 4. Go to 1 60 STEPS +987654321 6 basic steps per column 20 DIGI TS 72635273545786043726 120 STEPS +53827484732625435473 50 DIGI TS 47563739203487456438992305757328576452364568456465744576 300 STEPS +98656092843467546234868431987543210979832865874134653472 Is there a faster algorithm? No! Solving N DIGITS is as fast as reading the input

ficiency of the multiplication algorithm How to multiply 2 n-bit numbers. Grade school multiply algorithm 5 DIGI TS 12345 25 STEPS x6789 X ******** ******** ******** 10 DIGI TS ******** ******** 123456789 ******** n2 ******** 100 STEPS x ******** 987654321 ******** ******** **************** 20 DIGI TS 72635273545786043726 400 STEPS x53827484732625435473 50 DIGI TS 47563739203487456438992305757328576452364568456465744576 2500 STEPS 98656092843467546234868431987543210979832865874134653472 Is there a faster algorithm? Yes! N DIGITS Fast! Multiply 10,000 digits in a But not as fast as addition second!

Efficiency of a factoring algorithm 193,707,721 761,838,257,287 = 147,573,952,588,676,412,927?? Find nontrivial factors of a number A Brute force factoring algorithm N DIGITS Input: A 10N/2 STEPS For B = 2,3, A do: If B divides A, return B, A/B Very slow! 1000 digits sun will die before finishing Is there a faster algorithm? Yes, but still extremely slow!

Which problems are hard to solve? Addition & Multiplication: Easy Is Factoring hard? Finding efficient algorithms, or proving that no such algorithms exist: Bread and butter of our field

Cobham, Edmonds Rabin ~1965 The class P All problems having an efficient (polynomial time, e.g. n, n2) algorithm like Addition and Multiplication Many practical interesting problems in P

Efficient algorithms Drivers of invention & industry Who were Edison? Marconi? Guttenberg? Stevenson? Light bulb engine Radio Printing press Steam

Shortest path Dijkstra 1959 Network flows Internet routing Dynamic define Dijkstra(Graph G, Node s) S := {} Q := Nodes(G) while not empty(q) u := extractmin( Q ) S := S u for each node v in neighbors( u ) if d(u) + w(u,v) < d(v) then d(v) := d(u) + w(u,v) pi(v) := u Distance (Delhi, Bangalore) Path (Delhi, Bangalore)

Pattern matching Knuth-Morris-Pratt Boyer-Moore 1977 Text CAUCGCGCUUCGC Pattern CGC algorithm kmp_search: input: T (text), P (pattern sought) define variables: m 0, i 0, M (the table) while m + i is less than length of T, do: Spell checking Text processing Genome Molecular Biology Web search if P[i] = T[m + i], let i i + 1 if i = length of P then return m otherwise, let m m + i M[i], if i > 0 let i M[i] Text CAUCGCGCUUCGC Location X X X

Fast Fourier Transform (FFT) T(0), T(1), T(2),.T(N) Cooley-Tukey 1965 Gauss 1805 Audio processing Image processing Tomography, MRI Fast multiplication Quantum algorithms

Error correction Reed-Solomon decoding INPUT: a binary sequence S = S,S,S,...S. Petersen 60 OUTPUT: the complexity L (S) of S, 0< L (S) < N. 1. Initialization: C(D):=l, L:=O m:= l, B{D):=l, N:=O. Berlekamp-Massey 68 2. While (N < n) do the following: 2.1 Compute the next discrepancy d. CDs d:= (S + Σ c S ) mod 2. 2.2 If d = 1 then do the following: T (D):=C (D), C (D):=C(D)+B(D) D. DVDs If L < N/2 then L:=N+l L, m:=n, B(B):=T (D). 2.3 N:=N+l. Satellite communication 3. Return(L). Cell phone communication O N 1 2 n i N i N m

Unsolvab le Solvabl e Computation is everywhere Shortest Path P Pattern Matching Error FFT Correction Multiplication Addition

Cobham, Edmonds Rabin ~1965 The class P All problems having an efficient (polynomial time) algorithm Many interesting problems in P Are all interesting problems in P? What are interesting problems?

Search problems Short Path: FIND short path from Princeton to LA Pattern Matching: FIND CGC in CAUCGCGCUUCGC Easy!What is common to all these problems? Hard? In all, solutions are easy to check & verify! Factoring: FIND factors of 147,573,952,588,676,412,927 = 193,707,721 761,838,257,287 Lemma Proof Lemma..Proof.. Theorem Proving: FIND a 200-page proof of the Riemann Hypothesis Sudoku: FIND solution of

The class NP- problems like FIND: needle in a haystack May be hard to find Always easy to verify

ook & Levin 1971 ödel 1956 The class NP All problems having efficient verification algorithms of given solutions For every such problem, finding a solution (of length n) takes 2n steps: try all possible solutions & verify each. Can we do better than brute

Solvabl e Unsolvab le Computation is everywhere Integer Factoring Solving Theorem Sudoku Proving Shortest Path P Pattern Matching Error FFT Correction Multiplication N P Addition

P versus NP P: Problems for which solutions can be efficiently found NP: Problems for which solutions can be efficiently verified Conjecture: P NP [finding is much harder than verification] P=NP? is a central question of math, science & technology!!!

What is in NP? Mathematician: Given a statement, find a proof Scientist: Given data on some phenomena, find a theory explaining it. Engineer: Given constraints (size,weight,energy) find a design (bridge, medicine, phone) In many intellectual challenges, verifying that we found a good solution is an easy task!

niversality: NP-completeness Are SuDoku,Theorem Proving,Factoring hard? These problems are intimately related!! Theorem: If SuDoku is easy then - Theorem proving is easy - Factoring is easy Proof: SuDoku is NP-complete P=NP iff SuDoku has an efficient SuDoku solver can solve any NP algorithm

niversality: NP-completeness NP-complete problems: If one is easy, then all are! If one is hard, then all are! SuDoku: NP-complete Thm proving: NP-complete Integer factoring: we don t know

Solvabl e Unsolvab le Computation is everywhere NPInteger Factoring complete Solving Theorem Sudoku Proving Shortest Path P Pattern Matching Error FFT Correction Multiplication N P Addition

niversality: NP-completeness NP-complete problems: If one is easy, then all are! If one is hard, then all are! SuDoku: NP-complete Thm proving: NP-complete Integer factoring: we don t know Thousands of NP-complete problems known in Math, Biology, Physics, Economics,.

Protein Engineering vol. 7 no. 9 pp. 1059 1068, 1994 The protein threading problem with sequence amino acid interaction preferences is NP complete Richard H. Lathrop Economic Theory vol. 23, no. 2, pp. 445 454, 2004 Finding a Nash equilibrium in spatial games is NP complete R. Baron, J. Durieu, H. Haller and P. Solal [math.gr] arxiv:0802.3839v1 Quadratic equations over free groups are NP complete O. Kharlampovich, I.G. Lysenok, A G Myasnikov, N. Touikan NP-completeness: sign of structural nastiness.

P NP as a law of nature The following problems are NP-complete Biology: Minimum energy Physics: Minimum Protein Folding surface area Foam Economics: Nash Equilibrium in strategic games

What is efficient computation? efficiently? Church-Turing Thesis: Every reasonable process, can be - Adding random bits machine simulated by a Turing Theorem [Blum-Micali, Yao, NisanWigderson, ImpagliazzoWigderson] If P NP, randomness add no power! - Adding quantum bits

Positive consequences of P NP P NP Some of the problems we want to solve are hard. Are hard problems useful? Cryptography: If Factoring is hard then: - Encryption - Electronic commerce - Digital signatures - On-line shopping

Things we didn t cover - How to prove NP-completeness - Attempts to prove P NP and restricted lower bounds - Other resources (space, parallelism communication) and complexity classes - Other modes of computation (average-case, approximate, ) -

Solvabl e Unsolvab le Chess / Go Strategies Computation is QP everywhere NPSAT Integer Factoring complete Solving Theorem Sudoku Proving Map Coloring Shortest Path P Pattern Matching Error FFT Correction Multiplication N P Addition