An Introduction to Computational Complexity - PowerPoint PPT Presentation

1 / 61
About This Presentation
Title:

An Introduction to Computational Complexity

Description:

An Introduction to Computational Complexity Lance Fortnow University of Chicago – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 62
Provided by: Lanc50
Category:

less

Transcript and Presenter's Notes

Title: An Introduction to Computational Complexity


1
An Introduction to Computational Complexity
  • Lance Fortnow
  • University of Chicago

2
The Round Table Problem
3
Sir Percivale
Sir Lancelot
4
Sir Gareth
Sir Galahad
5
Sir Pericvale
Sir Bevidere
6
The Round Table Problem
7
Map Coloring
8
5 Colors
9
All Maps are Four Colorable
10
Can we use only 3 colors?
11
Sudoku
12
Sudoku
13
All The Same Problem
  • Solve one of these problems, you solve them all.

14
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

15
Can We Solve These Problems?
  • P NP?

16
The P versus NP Question
  • P Efficiently Computable Solutions
  • NP Efficiently Verifiable Solutions

17
P Efficiently Computable
  • Finding the shortest path from point A to point B

18
NP Efficiently Verifiable
19
NP Efficiently Verifiable
20
NP-Complete
NPC
NP
P
21
If P ? NP
NPC
NP
P
22
If P NP
NPC
NP
P
23
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.

24
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.

25
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.

26
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.

27
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.

28
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.

29
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.

30
Suppose P NP
  • What a beautiful world

31
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

32
Occams Razor
  • William of Ockham
  • Entities should not be multiplied beyond
    necessity.
  • The shortest explanation of the data is the best
    one.

33
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
    morningthe 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.

34
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
    morningthe 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.

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

36
No Such Luck
  • Life cant be so good so we all believeP ? NP.
  • Once we show a problem is NP-Complete we should
    stop looking for an efficient algorithm.

37
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.
  • Cant get best algorithm but perhaps one can get
    a good enough solution.

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

39
Heuristics
  • Most puzzles are designed to be solved by humans.

40
Approximation
41
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.

42
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

43
Public-Key Cryptography
44
Impossible if P NP
45
Possible if Factoring is Hard
46
NP as Proof System
47
NP as Proof System
48
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.

49
Interactive Proofs
  • Can convince someone there is no solution.
  • Verification process is randomized.

5
5
50
Proof Checking
51
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.

52
Quantum Computing
53
Quantum Bits
54
Entanglement
55
Interference
  • Use entanglement to search many states.
  • Use interference to eliminate the ones that dont
    solve your problem.

56
Shors Algorithm
  • Factor quickly with a quantum computer.

57
Complexity of Factoring
NPC
NP
P
58
Complexity of Quantum
NPC
NP
Quantum
P
59
Grovers 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.

60
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.

61
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
Write a Comment
User Comments (0)
About PowerShow.com