An Introduction to Computational Complexity Lance Fortnow University of Chicago.

Slides:



Advertisements
Similar presentations
Lance Fortnow Georgia Institute of Technology. Step 1: Post Elusive Proof. Step 2: Watch Fireworks. By John Markoff … Vinay Deolalikar, a mathematician.
Advertisements

Time Complexity P vs NP.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
What is the computational cost of automating brilliance or serendipity? (Computational complexity & P vs NP) COS 116, Spring 2012 Adam Finkelstein.
Great Theoretical Ideas in Computer Science for Some.
Theory of Computing Lecture 16 MAS 714 Hartmut Klauck.
CSE373: Data Structures & Algorithms Lecture 24: The P vs. NP question, NP-Completeness Nicki Dell Spring 2014 CSE 373 Algorithms and Data Structures 1.
Lecture 21 Nondeterministic Polynomial time, and the class NP FIT2014 Theory of Computation Monash University Faculty of Information Technology Slides.
What is the computational cost of automating brilliance or serendipity? (Computational complexity and P vs NP question) COS 116: 4/12/11 Sanjeev Arora.
Discrete Structures & Algorithms The P vs. NP Question EECE 320.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
The Theory of NP-Completeness
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
P versus NP and Cryptography Wabash College Mathematics and Computer Science Colloquium Nov 16, 2010 Jeff Kinne, Indiana State University (Theoretical)
Analysis of Algorithms CS 477/677
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Lecture 20: April 12 Introduction to Randomized Algorithms and the Probabilistic Method.
A Brief Introduction To The Theory of Computer Science and The PCP Theorem By Dana Moshkovitz Faculty of Mathematics and Computer Science The Weizmann.
Complexity Theory: The P vs NP question Lecture 28 (Dec 4, 2007)
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
NP-Complete Problems CSC 331: Algorithm Analysis NP-Complete Problems.
Scott Perryman Jordan Williams.  NP-completeness is a class of unsolved decision problems in Computer Science.  A decision problem is a YES or NO answer.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Approximation Algorithms Pages ADVANCED TOPICS IN COMPLEXITY THEORY.
Optimal Proof Systems and Sparse Sets Harry Buhrman, CWI Steve Fenner, South Carolina Lance Fortnow, NEC/Chicago Dieter van Melkebeek, DIMACS/Chicago.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Efficient.
Complexity and G ö del Incomplete theorem 電機三 B 劉峰豪.
Instructor: Shengyu Zhang 1. Tractable While we have introduced many problems with polynomial-time algorithms… …not all problems enjoy fast computation.
COMPSCI 102 Introduction to Discrete Mathematics.
Long Ouyang Computer systems
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Cliff Shaffer Computer Science Computational Complexity.
COMPSCI 102 Introduction to Discrete Mathematics.
CSE373: Data Structures & Algorithms Lecture 22: The P vs. NP question, NP-Completeness Lauren Milne Summer 2015.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
The Computational Complexity of Satisfiability Lance Fortnow NEC Laboratories America.
NP-Complete Problems Algorithm : Design & Analysis [23]
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
2101INT – Principles of Intelligence Systems Lecture 3.
“One ring to rule them all” Analogy (sort of) Lord of The Rings Computational Complexity “One problem to solve them all” “my preciousss…”
Complexity © 2014 Project Lead The Way, Inc.Computer Science and Software Engineering.
Computability NP complete problems. Space complexity. Homework: [Post proposal]. Find PSPACE- Complete problems. Work on presentations.
CS 154 Formal Languages and Computability May 10 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
Great Theoretical Ideas In Computer Science Anupam GuptaCS Fall 2006 Lecture 28Dec 7th, 2006Carnegie Mellon University Complexity Theory: the P.
Great Theoretical Ideas in Computer Science.
The NP class. NP-completeness
Chapter 10 NP-Complete Problems.
Richard Anderson Lectures NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
Great Theoretical Ideas in Computer Science
Design and Analysis of Algorithm
Richard Anderson Lecture 25 NP-Completeness
Efficient computation
NP-Complete Problems.
Chapter 34: NP-Completeness
NP-completeness The Chinese University of Hong Kong Fall 2008
CS 3343: Analysis of Algorithms
Great Theoretical Ideas In Computer Science
Presentation transcript:

An Introduction to Computational Complexity Lance Fortnow University of Chicago

The Round Table Problem

Sir Lancelot Sir Percivale

Sir Galahad Sir Gareth

Sir PericvaleSir Bevidere

The Round Table Problem

Map Coloring

5 Colors

All Maps are Four Colorable

Can we use only 3 colors?

Sudoku

Sudoku

All The Same Problem Solve one of these problems, you solve them all.

And Thousands More… ► Minesweeper ► Traveling Salesperson ► Cliques ► Integer Programming ► Quadratic Programming ► Maximum Cut ► Longest Path ► Bin Packing ► Job Scheduling ► Filling a Knapsack ► Crossword Puzzle Construction ► Code Generation ► Sequencing DNA ► Finding Arbitrage

Can We Solve These Problems? P = NP?

The P versus NP Question ► P – Efficiently Computable Solutions ► NP – Efficiently Verifiable Solutions

P – Efficiently Computable ► Finding the shortest path from point A to point B

NP – Efficiently Verifiable

NP-Complete NP P NPC

If P ≠ NP NP P NPC

If P = NP NP P NPC

P versus NP ► General Consensus: P ≠ NP ► Major Open Problem: Formally prove P ≠ NP ► First to do so wins $1,000,000 ► One of the seven “Millennium” Problems of the Clay Mathematics Institute. ► Many approaches, all have failed miserably.

P versus NP: A Short History ► 1936: Alan Turing tries to understand how a mathematician thinks and developed a theoretical model of computation we now call the Turing Machine.

P versus NP: A Short History ► 1956: The logician Kurt Gödel, in a letter to John van Neumann, asked a question mathematically equivalent to P = NP? ► The letter was never followed up and soon forgotten.

P versus NP: A Short History ► 1962: Juris Hartmanis and Richard Stearns develop the notion of “Computational Complexity” by suggesting we look at the time a program takes as a function of the size of the input. ► They show that given more time, a computer can do solve more problems.

P versus NP: A Short History ► 1965: Independently Alan Cobham and Jack Edmonds suggest that one can characterize efficient computation by having the running time run in some fixed polynomial of the input length. ► This class of problems is later given the name P.

P versus NP: A Short History ► 1972: Steve Cook gave the first NP- complete problem, Boolean Formula Satisfiability, and formally defined the P versus NP problem.

P versus NP: A Short History ► 1973: Richard Karp showed that several natural problems, such as Clique and Traveling Salesperson are NP-complete. ► The rest is history.

Suppose P = NP ► What a beautiful world…

We Can Efficiently Solve ► Minesweeper ► Traveling Salesperson ► Cliques ► Integer Programming ► Quadratic Programming ► Maximum Cut ► Longest Path ► Bin Packing ► Job Scheduling ► Filling a Knapsack ► Crossword Puzzle Construction ► Code Generation ► Sequencing DNA ► Finding Arbitrage

Occam’s Razor ► William of Ockham  Entities should not be multiplied beyond necessity. ► The shortest explanation of the data is the best one.

Translation ► In the beginning God created the heavens and the earth. Now the earth was formless and empty, darkness was over the surface of the deep, and the Spirit of God was hovering over the waters. And God said, "Let there be light," and there was light. God saw that the light was good, and He separated the light from the darkness. God called the light "day," and the darkness he called "night." And there was evening, and there was morning—the first day. ► Im Anfang schuf Gott die Himmel und die Erde. Und die Erde war wüst und leer, und Finsternis war über der Tiefe; und der Geist Gottes schwebte über den Wassern. Und Gott sprach: Es werde Licht! Und es wurde Licht. Und Gott sah das Licht, daß es gut war; und Gott schied das Licht von der Finsternis. Und Gott nannte das Licht Tag, und die Finsternis nannte er Nacht. Und es wurde Abend, und es wurde Morgen: ein Tag.

Translation ► In the beginning God created the heavens and the earth. Now the earth was formless and empty, darkness was over the surface of the deep, and the Spirit of God was hovering over the waters. And God said, "Let there be light," and there was light. God saw that the light was good, and He separated the light from the darkness. God called the light "day," and the darkness he called "night." And there was evening, and there was morning—the first day. ► Im Anfang schuf Gott die Himmel und die Erde. Und die Erde war wüst und leer, und Finsternis war über der Tiefe; und der Geist Gottes schwebte über den Wassern. Und Gott sprach: Es werde Licht! Und es wurde Licht. Und Gott sah das Licht, daß es gut war; und Gott schied das Licht von der Finsternis. Und Gott nannte das Licht Tag, und die Finsternis nannte er Nacht. Und es wurde Abend, und es wurde Morgen: ein Tag.

If P = NP… ► Can efficiently find the smallest program to translate documents. ► Recognizing Faces ► Speech to Text, Pictures to Text ► Recognizing Music ► …

No Such Luck ► Life can’t be so good so we all believe P ≠ NP. ► Once we show a problem is “NP- Complete” we should stop looking for an efficient algorithm.

What to do about hard problems? ► Solve it anyway.  Computers are very fast these days. ► Heuristics.  Your specific instance might not be that hard. ► Approximation.  Can’t get best algorithm but perhaps one can get a “good enough” solution.

Solve It Anyway ► There are about 2x10 75 possible numbers to try. ► A simple backtracking algorithm can solve the problem on a PC in a few seconds.

Heuristics ► Most puzzles are designed to be solved by humans.

Approximation

Clique Problem ► Find a large group of people all of whom are friends with each other. ► Coming up with a clique anywhere close to the largest clique is as hard as solving NP- complete problems.

Good News with Hard Problems ► Pseudorandom Generators  Hard functions can help us create fake random coins that are as good as real random coins. ► Public-Key Cryptography

Public-Key Cryptography

Impossible if P = NP

Possible if Factoring is Hard

NP as Proof System

Zero-Knowledge Proof System ► Can convince someone that a solution exists without revealing any details of the solution. ► Requires cryptography and verification process is randomized.

Interactive Proofs 5 5 ► Can convince someone there is no solution. ► Verification process is randomized.

Proof Checking

Probabilistically Checkable Proof ► There is a proof that a solution exists where we need to only see three randomly chosen bits of the proof. ► This is the tool that shows that Clique is hard to approximate.

Quantum Computing

Quantum Bits

Entanglement

Interference ► Use entanglement to search many states. ► Use interference to eliminate the ones that don’t solve your problem.

Shor’s Algorithm ► Factor quickly with a quantum computer.

Complexity of Factoring NP P NPC

Complexity of Quantum NP P NPC Quantum

Grover’s Algorithm ► Search a trillion pieces of hay to find the needle by making only a million quantum hay searches. ► Can be used to give quadratic improvement to solving NP problems.

Quantum Computers in Our Future? ► A very very long way from building quantum computers that can outperform current machines in any task. ► Even if we build quantum computers, factoring is only good for breaking some codes. Quantum computers could end up being a very specialized tool.

The Future of Complexity ► Solve the P versus NP problem. ► Understanding complexity issues in the computational processes outside of traditional digital computers.  Biological Systems (Protein Folding)  Weather  Social Interactions  Financial Markets