Title: Computational Complexity
1Computational Complexity
- Jennifer Chubb
- George Washington University
- April 10, 2007
2Well talk about this first one today.
http//www.claymath.org/millennium/
In order to celebrate mathematics in the new
millennium, The Clay Mathematics Institute of
Cambridge, Massachusetts (CMI) has named seven
Prize Problems. The Scientific Advisory Board of
CMI selected these problems, focusing on
important classic questions that have resisted
solution over the years. The Board of Directors
of CMI designated a 7 million prize fund for the
solution to these problems, with 1 million
allocated to each. During the Millennium Meeting
held on May 24, 2000 at the Collège de France,
Timothy Gowers presented a lecture entitled The
Importance of Mathematics, aimed for the general
public, while John Tate and Michael Atiyah spoke
on the problems. The CMI invited specialists to
formulate each problem. One hundred years
earlier, on August 8, 1900, David Hilbert
delivered his famous lecture about open
mathematical problems at the second International
Congress of Mathematicians in Paris. This
influenced our decision to announce the
millennium problems as the central theme of a
Paris meeting. The rules for the award of the
prize have the endorsement of the CMI Scientific
Advisory Board and the approval of the Directors.
The members of these boards have the
responsibility to preserve the nature, the
integrity, and the spirit of this prize. Paris,
May 24, 2000 Please send inquiries regarding the
Millennium Prize Problems to prize.problems_at_clayma
th.org.
3Purpose of this talk
- Understand P and NP
- See what it would mean for them to be equal (or
not equal) - See some examples
- SAT (Satisfaction)
- Minesweeper
- Tetris
4P and NP, informally
- P and NP are two classes of problems that can be
solved by computers. - P problems can be solved quickly.
- Quickly means seconds or minutes, maybe even
hours. - NP problems can be solved slowly.
- Slowly can mean hundreds or thousands even
millions (!) of years.
5Why do we care?
- People like things to work fast.
- Encrypting information
- If we can manage to do everything quickly,
thered be an easy way to crack encrypted
information. - This would be bad for government secret stuff and
for people who like to buy things online.
6Big questions
- Is PNP?
- Is there a clever way to turn a slow algorithm
into a fast one? - If PNP, the answer is yes.
- If P?NP, the answer is no.
7Currently
- Most people think P?NP. In other words, they
think there is a problem here
All problems
NP problems
P problems
8General computing
- First, consider computer programs and what they
can do -
input
output (we hope)
Program
9At least they have solutions
- P and NP are classes of solvable problems.
- Solvable means that theres a program that takes
an input, runs for a while, but eventually stops
and gives the answer. (So, no blue screens!)
10A couple of things to note
- There are lots of programs for any given problem.
- Some are faster than others
- We always wonder if weve found the fastest one.
Can we ever know the answer to that?
11Solvability versus Tractability
- A problem is solvable if there is a program that
always stops and gives the answer. - The number of steps it takes depends on the
input. - A problem is tractable or in the class P if it is
solvable and we can say Time(x)(some
polynomial). (What?) - An example or two Verification problems for
3-colorings and Minesweeper
12Okay so what about NP?
- The description involves non-deterministic
programming. - NP stands for non-deterministic, polynomial-time
computable - The examples weve seen so far are examples of
deterministic programs. - By the way, P stands for polynomial-time
computable
13An example of non-deterministic programming
- Non-deterministic programs use a new kind of
command that normal programs cant really use. - Basically, they can guess the answer and then
check to see if the guess was right. - And they can guess all possible answers
simultaneously (as long as its only finitely
many). - Decision problems for 3-colorings and
Minesweeper.
14The class NP
- If the computation halts on input x, the length
of the longest path is NTime(x). - A problem is NP if it is solvable and there is a
non-deterministic program that computes it so
that NTime(x)(Some polynomial).
15Non-deterministic ? Deterministic
- A non-deterministic algorithm can be converted
into a deterministic algorithm at the cost of
time. - Usually, the increase in computation time is
exponential. - This means, for normal computers, (deterministic
ones), NP problems are slow.
16The picture so far
P
?
NP
All solvable problems
17SAT (The problem of satisfiabity)
- Take a statement in propositional logic, (like
, for example). - The problem is to determine if it is satisfiable.
(In other words, is there a line in the truth
table for this statement that has a T at the
end of it.) - This problem can be solved in polynomial time
with a non-deterministic program.
18SAT, cont.
- We can see this by thinking about the process of
constructing a truth table, and what a
non-deterministic algorithm would do - Verification problem for SAT is P.
- Decision problem for SAT is NP.
19NP completeness
- If P?NP, SAT is a witness of this fact, that is,
SAT is NP but not P. - This result is tricky, and know as Cooks
Theorem. - It is among the hardest of the NP problems any
other NP problem can be coded into it. (How?)
20 NP complete problems
- Problems with the property that all NP problems
can be coded into them are called NP-hard. - If they also happen to be NP themselves, they are
called NP-complete. - If P and NP are different, then the NP-complete
problems are NP, but not P.
21The picture so far
P
NP
All solvable problems
22The picture so far
SAT lives here (we think)
P
NP-complete problems
NP
All solvable problems
23Question
- Is there a clever way to change a
non-deterministic polynomial time algorithm into
a deterministic polynomial time algorithm,
without an exponential increase in computation
time? - If we can compute an NP complete problem quickly
then all NP problems are solvable in
deterministic polynomial time.
24On to examples
- SAT is NP-complete
- The Minesweeper Consistency Problem
- Tetris
25Minesweeper
26Minesweeper
- The Minesweeper consistency problem
- Given a rectangular grid partially marked with
numbers and/or mines some squares being left
blank determine if there is some pattern of
mines in the blank squares that give rise to the
numbers seen. That is, determine if the grid is
consistent for the rules of the game.
27Minesweeper
- This is certainly an NP problem
- We can guess all possible configurations of mines
in the blank squares and see if any work. - To see that it is NP complete is much harder.
- The trick is to code logical expressions into
partially filled minesweeper grids. Then we will
have demonstrated that SAT can be coded into
Minesweeper, so Minesweeper is also NP-complete.
28Tetris
Rules The pieces fall, you can rotate them. When
a line gets all filled up, it is cleared. If 4
lines get filled simultaneously, thats a
Tetris extra points! You lose if the screen
fills up so no new pieces can appear.
29Tetris, the offline version
- You get to know all the pieces (there will only
be finitely many in this version), and the order
they will appear. - You start with a partially filled board.
30Tetris, offline
- The following problems are NP-complete
- Maximizing the number of rows cleared.
- Maximizing the number of pieces placed before
losing. - Maximizing the number of Tetrises.
- Maximizing the height of the highest filled
grid-square over the course of the sequence.
31Tetris, offline
- Its easy to see each of these is NP just guess
the different ways to rotate and place each
piece, and see which is largest. - Its (as usual) harder to show NP-completeness.
32Sudoku
Each row/column/square has a single instance of
each number 1-9. Solving a board is NP-complete.
(To show completeness, have to do Samuri Sudoko
on steroids.)
- (Due to Takyuki Yato and Takahiro Seta at the
University of Tokyo)
33Battleship
- Sink the enemys ships NP Compete!
34NP and beyond
- Chess and checkers are both EXPTIME-complete
solvable with a deterministic program with
computation bounded by for some polynomial . - Go (with the Japanese rules) is as well.
- Go (American rules) and Othello are PSPACE-hard,
and Othello is PSPACE-complete (PSPACE is another
complexity class that considers memory usage
instead of computation time). - Instant Insanity (generalized version) is
NP-complete, - Free Cell is too.
35References
- Kaye, Richard. Minesweeper is NP-Complete.
Mathematical Intelligencer vol. 22 no. 2, pgs
9-15. Spring 2000. - Demaine, E., Hohenberger, S., Liben-Nowell, D.
Tetris is Hard, Even to Approximate. Preprint,
December 2005.