The P=NP problem - New Mexico State University

Download Report

Transcript The P=NP problem - New Mexico State University

Graph theory
A graph consists of:
• set of vertices
• A set of edges connecting vertex pair
• Incidence matrix: which edges are connected
The incidence matrix of a graph gives the (0,1)-matrix which has
a row for each vertex and column for each edge, and (v,e)=1 iff
vertex v is incident upon edge e
These are all equivalent
Euler and the Konigsberg bridges
Types of graphs
• Eulerian: circuit that traverses each edge
exactly once
• Which graphs possess Euler circuits?
Problem: does this graph have an Euler
cycle?
Theorem: If every vertex has even
degree then there is an Eulerian path
What is a theorem?
• A statement that no one can understand
• A statement that only a mathematician can
understand
• A statement that can be verified from “first
principles”
• A statement that is “always true”
Heuristic argument
• An argument that appeals to intuition, but
may not be compelling by itself.
• In the case of the Eulerian graph theorem,
think of the vertex as a room and the edges as
hallways connecting rooms.
• If you leave using one hallway then you have
to return using a different one.
• “Induction argument”
Hamiltonian graph
Hamilton’s puzzle: find a path in the
dodecahedron graph that traverses each vertex
exactly once
Is the following graph
Hamiltonian?
Is the following graph
Hamiltonian?
Petersen graph: symmetry
Graph colorings
Other types of graphs
Other properties
•
•
•
•
Diameter
Girth
Chromatic number
etc
Which continent is this?
Boss’s dilemna
• Six employees, A,B,C,D,E,F
• Some do not get along with others
• Find smallest number of compatible work
groups
Worker A
B
C
D
E
F
Doesn’t
like
B,C
A,C
A,B,D,E
C,F
C,F
D,E
What does this graph have to do with
the Boss’s dilemma?
Complementary graph
Complete subgraph
• Subgraph: vertices subset of vertex set, edges
subset of edge set
• Complete: every vertex is connected to every
other vertex.
Complementary graph
Handshakes, part 2
• There are several men and 15 women in a
room. Each man shakes hands with exactly 6
women, and each woman shakes hands with
exactly 8 men.
• How many men are in the room?
Visualize whirled peas
• Samantha the sculptress wishes to make
“world peace” sculpture based on the
following idea: she will sculpt 7 pillars, one for
each continent, placing them in circle. Then
she will string gold thread between the pillars
so that each pillar is connected to exactly 3
others.
• Can Samantha do this?
Some additional exercises in graph
theory
• There are 7 guests at a formal dinner party.
The host wishes each person to shake hands
with each other person, for a total of 21
handshakes, according to:
• Each handshake should involve someone from
the previous handshake
• No person should be involved in 3 consecutive
handshakes
• Is this possible?
Camelot
• King Arthur and his knights wish to sit at the
round table every evening in such a way that
each person has different neighbors on each
occasion. If KA has 10 knights, for how long
can he do this?
• Suppose he wants to do this for 7 nights. How
many knights does he need, at a minimum?
The P=NP problem
The question is whether, for all problems for
which a computer can verify a given solution
quickly (that is, in polynomial time), it can also
find that solution quickly. This is generally
considered the most important open question
in theoretical computer science as it has farreaching consequences in mathematics,
philosophy and cryptography.
P vs NP classes
P = NP? asks: if 'yes'-answers to a 'yes'-or-'no'question can be verified "quickly" (in polynomial
time), can the answers themselves also be
computed quickly?
• Example: subset-sum problem:
• "easy" to verify,
• believed (but not proven) "difficult" to compute.
• Given a set of integers, does some subset of them
sum to 0?
• Example: {−2, −3, 15, 14, 7, −10}
• {−2, −3, −10, 15} adds up to zero”
• finding such a subset in the first place could take
much longer.
• this problem is in NP.
• IF P = NP then problems like
the subset-sum problem are as
"easy" to compute as to verify.
• If P does not equal NP, some
NP problems are substantially
"harder" to compute than to
verify.
This is item 1
This is item 2
This is item 3
• This is item 1
• This is item 2
• This is item 3
Example: Primality
• Testing whether a number is prime can be
done in “polynomial time” (Shor, 1994) on a
quantum computer (qubits), but not on a
classical computer (bits)
• On a classical computer, the problem is
“subexponential”
NP-complete
• NP-hard problems are those to which any problem in NP
can be reduced in polynomial time.
• For instance, the decision problem version of the traveling
salesman problem is NP-complete, so any instance of any
problem in NP can be transformed mechanically into an
instance of the traveling salesman problem, in polynomial
time.
• The traveling salesman problem is one of many such NPcomplete problems. If any NP-complete problem is in P,
then it would follow that P = NP. Unfortunately, many
important problems have been shown to be NP-complete
and as of 2008, not a single fast algorithm for any of them
is known.
• It is not obvious that NP-complete problems exist.
• Given a description of a Turing machine M guaranteed
to halt in polynomial time, does there exist a
polynomial-size input that M will accept?
• This is in NP: given an input, it is simple to check
whether or not M accepts the input by simulating M
• It is NP-hard: the verifier for any particular instance of
a problem in NP can be encoded as a polynomial-time
machine M that takes the solution to be verified as
input.
• The question of whether the instance is a yes or no
instance is determined by whether a valid input exists.
Is P equal to NP?
• In a 2002 poll of 100 researchers, 61 believed
the answer is no, 9 believed the answer is yes,
22 were unsure, and 8 believed the question
may impossible to prove or disprove.
• Most computer scientists believe that P≠NP.
• Key reason: no one has been able to find a
polynomial-time algorithm for any of the more than
3000 NP-complete problems
• These algorithms were sought long before the
concept of NP-completeness was even known
• The result P = NP would imply many other startling
results that are currently believed to be false, such
as NP = co-NP and P = PH.
Millennium Prize Problems
• The Millennium Prize Problems are seven
problems in mathematics that were stated by the
Clay Mathematics Institute in 2000. Currently, six
of the problems remain unsolved. A correct
solution to each problem results in a
US$1,000,000 prize (sometimes called a
Millennium Prize) being awarded by the institute.
Only the Poincaré conjecture has been solved,
but the solver Grigori Perelman has not pursued
the conditions necessary to claim the prize.
Turing machine
A Turing machine is a basic, abstract symbolmanipulating device that can be adapted to
simulate the logic of any computer algorithm.
Described in 1936 by Alan Turing.
Not intended as a practical computing technology,
rather as a thought experiment about the limits
of mechanical computation.
Never actually constructed but… their abstract
properties yields many insights into computer
science and complexity theory.
Turing machine (details)
• TAPE: divided into cells, one next to the other. Each cell contains a symbol
from some finite alphabet. The alphabet contains a special blank symbol
(here written as '0') and one or more other symbols. The tape is assumed
to be arbitrarily extendable to the left and to the right, i.e., the Turing
machine is always supplied with as much tape as it needs for its
computation. Cells that have not been written to before are assumed to
be filled with the blank symbol
• A HEAD that can read and write symbols on the tape and move the tape
left and right one (and only one) cell at a time. In some models the head
moves and the tape is stationary.
• A finite ACTION TABLE : given the current state(qi) and the symbol(aj) it is
reading, tells the machine to do the following in sequence (for the 5-tuple
models):
* either erase or write a symbol (instead of aj written aj1), and then
* move the head 'L' for one step left or 'R' for one step right or 'H' for
staying put;
* assume the same or a new state as prescribed (go to state qi1).
A state register that stores the state of the Turing table, one of finitely
many.
Universal Turing Machine (UTM)
• A UTM is able to simulate any other Turing.
• Church-Turing thesis: Turing machines indeed
capture the informal notion of effective
method in logic and mathematics, and provide
a precise definition of an algorithm or
'mechanical procedure'.
Schematics
The Busy Beaver