Download presentation
Presentation is loading. Please wait.
Published byErick Little Modified over 9 years ago
2
Reduction s & NP-Completeness Jeff Edmonds York University HistoryHistoryHistory Course vs ScheduleCourse vs ScheduleCourse vs ScheduleCourse vs Schedule More about ReductionsMore about ReductionsMore about ReductionsMore about Reductions Circuit vs AirplaneCircuit vs AirplaneCircuit vs AirplaneCircuit vs Airplane Circuit vs 3-ColouringCircuit vs 3-ColouringCircuit vs 3-ColouringCircuit vs 3-Colouring ConclusionConclusionConclusion Definitions for 2001/3101Definitions for 2001/3101Definitions for 2001/3101Definitions for 2001/3101 More Classes for 4111More Classes for 4111More Classes for 4111More Classes for 4111 More Detailed Steps for 6111More Detailed Steps for 6111More Detailed Steps for 6111More Detailed Steps for 6111 Thanks Intro & COSC 3101/4111/6111
3
Colour each node. Nodes with lines between them must have different colours. Can you do it with 2 colours? Can you do it with 3? Graph Colouring
4
Please feel free to ask questions!
5
History of Classifying Problems Known Unknown Euclid (300 BC) GCD
6
History of Classifying Problems Known GCD Computable Halting Turing 1936
7
History of Classifying Problems Computable Known GCD Halting Exp Poly Jack Edmonds 1965
8
History of Classifying Problems Computable Exp Poly Known GCD Matching Halting Jack Edmonds Steve Cook NP exponential time to search poly time to verify given witness Non-Deterministic Polynomial Time Circuit-Sat Problem: Does a circuit have a satisfying assignment. SAT
9
History of Classifying Problems Computable Exp Poly Known GCD Matching Halting Circuit-Sat Problem: Does a circuit have a satisfying assignment. Non-Deterministic Polynomial Time SAT Jack Edmonds Steve Cook NP exponential time to search poly time to verify given witness
10
History of Classifying Problems Computable Exp Poly Known GCD Matching Halting Jack Edmonds Steve Cook Circuit-Sat Problem: Does a circuit have a satisfying assignment. NP Is it easier than other exponential problems? Games SAT
11
History of Classifying Problems Computable Exp Poly Known GCD Matching Halting Jack Edmonds Steve Cook Circuit-Sat Problem: Does a circuit have a satisfying assignment. NP Is it harder than poly-time problems? Games SAT
12
History of Classifying Problems Computable Exp Poly Known GCD Matching Halting Steve Cook 1971 Circuit-Sat Problem: Does a circuit have a satisfying assignment. NP Let’s compare the problems in NP SAT Games None are harder than SAT! complete poly Prob’ SAT
13
Free Lunch Industry would love a free lunch Given a description of a good plane, automatically find one.Given a description of a good plane, automatically find one. Given a circuit, find a satisfying assignmentGiven a circuit, find a satisfying assignment Given a graph find a bichromatic coloring.Given a graph find a bichromatic coloring. Given course description, find a scheduleGiven course description, find a schedule X X X XX
14
Ingredients: Instances: The possible inputs to the problem (and desired cost).Instances: The possible inputs to the problem (and desired cost). Solutions for Instance: Each instance has an exponentially large set of solutions.Solutions for Instance: Each instance has an exponentially large set of solutions. Valid: Each solution has an easy to compute cost or value.Valid: Each solution has an easy to compute cost or value. Goal: The output is one of the valid solutions for this instance with optimal cost. (minimum or maximum)Goal: The output is one of the valid solutions for this instance with optimal cost. (minimum or maximum) Optimization Problems
15
A large space of possibilitiesA large space of possibilities Only a tiny fraction of which satisfy the constraints.Only a tiny fraction of which satisfy the constraints. Brute force takes too long,Brute force takes too long, No feasible algorithm is known.No feasible algorithm is known. Rudich www.discretemath.com Rudich www.discretemath.com If one has a fast algorithmIf one has a fast algorithm Then they all do.Then they all do. If one has no fast algorithmIf one has no fast algorithm Then none do.Then none do. All of these problems have a common story:
16
Course Scheduling Given courses students want and the time slots available schedule courses to time slots to minimize number of conflicts, i.e. student wants two courses that are scheduled at the same time.
17
Perspiration Search Try all possible Schedules Too many to try. A set of 50 courses has more schedules than the number of atoms.
18
A Fast Algorithm Is there a fast algorithm? Most people think not. We have not been able to prove that there is not. It is one of the biggest open problems in the field.
19
A Graph Represents Cities & RoadsCities & Roads Computers & NetworksComputers & Networks People & FriendshipsPeople & Friendships
20
A Colouring of a Graph Colour each node. Nodes with lines between them must have different colours.
21
Perspiration Search Try all possible colourings Too many to try. A 50 node graph has more colourings than the number of atoms.
22
A Fast Algorithm Is there a fast algorithm? Most people think not. We have not been able to prove that there is not. It is one of the biggest open problems in the field.
23
Problems are the Same! Schedule each course. Courses that conflict can’t be at same time. Colour each node. Nodes with lines between them must have different colours. Two problems that are cosmetically different, but substantially the same but substantially the same
24
Problems are the Same! Schedule each course. Courses that conflict can’t be at same time. Colour each node. Nodes with lines between them must have different colours. English Math Science course node can’t be scheduled at same time line between them scheduled time colour 1pm Mon 3pm Fri Act on Act with Constraint Action
25
Algorithms Inter-Changeable Colour Oracle Sched. Oracle Given an oracle for 3-colorability, how can you quickly solve scheduling?
26
Algorithms Inter-Changeable ≤ Colour Oracle Sched. Oracle Assume have an alg. Proof by Reductions Design an alg.
27
Algorithms Inter-Changeable Courses & Conflicts Colour Oracle Sched. Oracle Schedule Proof by Reductions Colouring≤
28
Algorithms Inter-Changeable ≥ Colour Oracle Sched. Oracle Assume have an alg. Proof by Reductions Design an alg.
29
Algorithms Inter-Changeable Colour Oracle Sched. Oracle Colouring Proof by Reductions Schedule Courses & Conflicts
30
Algorithms Inter-Changeable Colour Oracle Sched. Oracle Proof by Reductions But there is likely not a fast algorithm for either!!!
31
Please feel free to ask questions!
32
Reductions I harder I harder yes P harder I harder no I easier I easier yes P easier I easier no Two problems/languages P easier and P harder each with their own definitions of what a legal input is (I easier vs I harder ) and what a legal input is (I easier vs I harder ) and which are yes-inputs and which no-inputs. which are yes-inputs and which no-inputs.
33
Reductions I harder I harder yes P harder I harder no I easier I easier yes P easier I easier no We want machines that decide/accept them. Alg harder P harder (I harder ) I harder P easier (I easier ) I easier Alg easier
34
Reductions P easier ≤ comp P harder I harder I harder yes P harder I harder no I easier I easier yes P easier I easier no How do their complexities/difficulties compare? Computable/Decidable Exp Poly NP Co-NP RecognizableCo-Recognizable
35
Reductions P easier ≤ comp P harder I harder I harder yes P harder I harder no I easier I easier yes P easier I easier no It is hard to prove problem is P harder hard. It is easier to prove P easier is easy. by design an algorithm Alg easier for it.by design an algorithm Alg easier for it. But you only need to prove P easier is at least as easy as P harder. Pretend you have an algorithm Alg harder for P harder to use as a subroutine.Pretend you have an algorithm Alg harder for P harder to use as a subroutine.
36
Reductions P alg ≤ comp P oracle I oracle I oracle yes P oracle I oracle no I alg I alg yes P alg I alg no We often call the algorithm assumed to exist, an Oracle. Given Alg oracle P oracle (I oracle ) I oracle
37
Reductions P alg ≤ comp P oracle I oracle I oracle yes P oracle I oracle no I alg I alg yes P alg I alg no We use Alg oracle as an subroutine in an algorithm Alg alg for solving P alg. Given Alg oracle P oracle (I oracle ) I oracle Build Alg Alg P alg (I alg ) I alg
38
Reductions P alg ≤ comp P oracle I oracle I alg Alg alg is given an input I alg. Given Alg oracle P oracle (I oracle ) I oracle I oracle = InstanceMap(I alg ) Build Alg Alg P alg (I alg ) I alg InstanceMap I oracle It maps it to input I oracle. and gives this to Alg oracle.
39
Reductions P alg ≤ comp P oracle I oracle I alg Alg oracle gives the yes/no answer for his input I oracle. Given Alg oracle P oracle (I oracle ) I oracle I oracle = InstanceMap(I alg ) Build Alg Alg P alg (I alg ) I alg Return same answer yes yes no no InstanceMap I oracle yes P oracle I oracle no Alg alg returns the same answer.
40
Reductions P alg ≤ comp P oracle I oracle I alg To ensure Alg alg works, I oracle = InstanceMap(I alg ) must Given Alg oracle P oracle (I oracle ) I oracle I oracle = InstanceMap(I alg ) Build Alg Alg P alg (I alg ) I alg Return same answer yes yes no no InstanceMap I oracle yes P oracle I oracle no I alg yes P alg I alg no map yes instances to yes instances and no to no.
41
Reductions P alg ≤ comp P oracle I oracle I alg Must prove Alg alg works. Given Alg oracle P oracle (I oracle ) I oracle I oracle = InstanceMap(I alg ) Build Alg Alg P alg (I alg ) I alg Return same answer yes yes no no InstanceMap I oracle yes P oracle I oracle no I alg yes P alg I alg no I alg is a yes input I oracle is a yes input Alg oracle says yes Alg alg says yes
42
Reductions P alg ≤ comp P oracle
43
Reductions Reduction: Design an algorithm for one computational problem, using a supposed algorithm for another problem as a subroutine.Reduction: Design an algorithm for one computational problem, using a supposed algorithm for another problem as a subroutine. Used to create a new algorithm from a known algorithm.Used to create a new algorithm from a known algorithm. Learn that a new problem is likely hard, from knowing a known problem is likely hard.Learn that a new problem is likely hard, from knowing a known problem is likely hard. Learn that two problems have a similar “structure.”Learn that two problems have a similar “structure.” P alg ≤ comp P oracle
44
GIVEN: Network Flow Oracle BUILD: Matching Oracle Matching ≤ comp Network Flows Who loves who AnnFred SueJohn BethBobMarySam Max matching A network s t Max Flow st Reductions
45
Learn that a new problem is likely hard, from knowing a known problem is likely hard.Learn that a new problem is likely hard, from knowing a known problem is likely hard. Reductions HaltingComputableExp Poly
46
If there is an algorithm for P alg then there is an algorithm for P alg then there is not fast algorithm for P oracle If there is not an algorithm for P alg If there is an algorithm for P oracle If there is not an algorithm for P oracle ? ? We give an algorithm for P alg using a supposed algorithm for P oracle as a subroutine. ? ? ?? ?? Reductions
47
Notation: P alg ≤ poly P oracle P alg is “at least as easy as” P oracle (Modulo polynoM'al terms.) (Modulo polynoM'al terms.) P oracle is “at least as hard as” P alg (Modulo polynoM'al terms.) (Modulo polynoM'al terms.) Conclusions: We give an algorithm for P alg using a supposed algorithm for P oracle as a subroutine. Reductionspoly
48
This is a circuit with AND/OR/NOT gates with n input variables/wires and one output wire. This is an assignment giving true/false, yes/no, 0/1 to each input variable. These values percolate down to the output wire. FTF x3x3x3x3 x2x2x2x2 x1x1x1x1OR ORANDAND OR NOT FFF FFT The Circuit Satisfiablity Problem
49
This is a circuit with AND/OR/NOT gates with n input variables/wires and one output wire. This is an assignment giving true/false, yes/no, 0/1 to each input variable. These values percolate down to the output wire. x3x3x3x3 x2x2x2x2 x1x1x1x1OR ORANDAND OR NOT The Circuit Satisfiablity Problem The assignment satisfies the circuit if the output is T. FFF FFT FTF
50
x3x3x3x3 x2x2x2x2 x1x1x1x1OR ORANDAND OR NOT The Circuit Satisfiablity Problem FFF FFT FTF Given a circuit, what is a fast algorithm to find a satisfying assignment? Or even to know whether such an assignment Try all possible assignments Too many to try. 50 input wires has more assignments than the number of atoms We know no faster algorithm!
51
Instances: A circuit I circuit.Instances: A circuit I circuit. Solution: An assignment S circuitSolution: An assignment S circuit Valid: S circuit is a valid solution for instance I circuit if it satisfies it, i.e. I circuit (S circuit ) = TValid: S circuit is a valid solution for instance I circuit if it satisfies it, i.e. I circuit (S circuit ) = T There is a poly-time alg Valid circuit (I circuit,S circuit ) to test whether or not S circuit is a valid solution for I circuit.There is a poly-time alg Valid circuit (I circuit,S circuit ) to test whether or not S circuit is a valid solution for I circuit. Goal: Given I circuit, find a valid solution S circuit. Or determine if such a solution exists.Goal: Given I circuit, find a valid solution S circuit. Or determine if such a solution exists. The Circuit Satisfiablity Problem P circuit = { I circuit | Circuit is satsisfiable i.e. S circuit, valid circuit (I circuit,S circuit ) } i.e. S circuit, valid circuit (I circuit,S circuit ) }
52
Instances: Requirements I plane of the plane i.e. cost, efficiency, safety, speed, weight. …Instances: Requirements I plane of the plane i.e. cost, efficiency, safety, speed, weight. … Solution: A description S plane of how to make the wing.Solution: A description S plane of how to make the wing. Valid: Given an instance I plane and a solution S plane, there is a poly-time alg Valid plane (I plane,S plane ) to test whether or not S plane is a valid solution for I plane.Valid: Given an instance I plane and a solution S plane, there is a poly-time alg Valid plane (I plane,S plane ) to test whether or not S plane is a valid solution for I plane. Goal: Given I plane, find a valid solution S plane. Or determine if such a solution exists.Goal: Given I plane, find a valid solution S plane. Or determine if such a solution exists. Design an Airplane Can be computed by a circuit C. P plane = { I plane | Plane is buildable i.e. S plane, valid plane (I plane,S plane ) } i.e. S plane, valid plane (I plane,S plane ) }
53
Reductions for Undecidability Given an algorithm for P circuit, I construct a working algorithm for P plane. Proof P circuit is likely not in poly-time. By way of contradiction assume it. Contradiction because P plane likely does not have a poly alg. Contrapositive: I likely do not have a poly alg for P plane, hence I likely do not have one for P circuit. { I circuit | Circuit is satsisfiable S circuit, valid circuit (I circuit,S circuit ) } S circuit, valid circuit (I circuit,S circuit ) } { I plane | Plane is buildable S plane, valid plane (I plane,S plane ) } S plane, valid plane (I plane,S plane ) } ≤
54
Reductions for Undecidability Consider the form of the instances of each problem and which are yes-instances. I circuit I satisfiable P circuit I unsatisfiable I plane I buildable P plane I unbuildable { I circuit | Circuit is satsisfiable S circuit, valid circuit (I circuit,S circuit ) } S circuit, valid circuit (I circuit,S circuit ) } { I plane | Plane is buildable S plane, valid plane (I plane,S plane ) } S plane, valid plane (I plane,S plane ) } ≤
55
Reductions for Undecidability To ensure Alg alg works, I oracle = InstanceMap(I alg ) must InstanceMap map yes instances to yes instances and no to no. I circuit I satisfiable P circuit I unsatisfiable I plane I buildable P plane I unbuildable { I circuit | Circuit is satsisfiable S circuit, valid circuit (I circuit,S circuit ) } S circuit, valid circuit (I circuit,S circuit ) } { I plane | Plane is buildable S plane, valid plane (I plane,S plane ) } S plane, valid plane (I plane,S plane ) } ≤
56
Algorithms Inter-Changeable ≤ Circuit Sat Oracle Plane Design Oracle Have an alg for subroutine Proof by Reductions Design an alg.
57
Algorithms Inter-Changeable Plane Requirements I Circuit Sat Oracle Design Plane Oracle Plane Description S Proof by Reductions C computes Valid(I,?) S≤
58
Two problems that are cosmetically different, but substantially the same Circuit ≤ poly 3-Colouring
59
GIVEN: Alg for 3-colour problem BUILD: Alg for circuit problem C Graph composed of gadgets that mimic the gates in C colourable or not satisfiable or not Circuit ≤ poly 3-Colouring
60
Circuit Problem: instance = circuit of gatesinstance = circuit of gates solution = true/false to each variablesolution = true/false to each variable true/false to internal wirestrue/false to internal wires 3-Colouring instance = graphinstance = graph solution = green/red/blue to each node.solution = green/red/blue to each node. FTT OR OR NOT Outputxy z G Col ? of gadgets Circuit ≤ poly 3-Colouring
61
A Graph Named “Gadget” Steven Rudich had computer search for graph with some key properties.
62
Colour each node. Nodes with lines between them must have different colours. Could you do it with 2 colours? No
63
Colour each node. Nodes with lines between them must have different colours. Could you do it with 3 colours? Yes. How do we know? Because we colored it!
64
X Y Output variables&wires ~ nodes gate ~ gadget OR x y Output
65
X Y Consider your colouring T F true ~ green false ~ red ? ~ yellow F T OR x y Output T red yellow green
66
X Y Output true ~ green false ~ red ? ~ yellow OR x y Output F T T red yellow green Re-map your colouring T F
67
T F X Y Output ? gate function ~ gadget “function” OR x y Output TT FT TF FFOrYX F T T T F T T
68
T F X Y XYOutFF FT TF TT ? F F Consider your colouring gate function ~ gadget “function” OR x y Output F F F F F
69
T F X Y F T T T XYOutFF FT TF TT Consider your colouring gate function ~ gadget “function” F T OR x y Output T
70
T F X Y F TXYOutFF FT TF TT T T Consider your colouring gate function ~ gadget “function” F T OR x y Output T
71
T F X Y T T T T XYOutFF FT TF TT Consider your colouring gate function ~ gadget “function” T OR x y Output T T
72
X Y T F Consider your colouringXYOrFFF FTT TFT TTT Or - Gadget gate function ~ gadget “function” F T OR x y Output T
73
T F X Y F T T T XYOrFF FT TF TT Proof Or - Gadget gate function ~ gadget “function” F T OR x y Output T
74
TF X Output X NOT FT TF NOT - Gadget
75
OR OR NOT xy z x y z Output Output
76
OR OR NOT xy z x y z OR Output Output
77
OR OR NOT xy z x y z Not Output Output
78
OR OR NOT xy z x y z OR Output Output
79
OR OR NOT xy z x y z F TT T F T TF Satisfiabilty of this circuit = 3-colourability of this graph Output Output
80
Reduction = Two problems that are cosmetically different, but substantially the same
81
Satisfiability of this circuit = 3-colourability of this graph
82
Please feel free to ask questions!
83
Free Lunch Industry would love a free lunch Given a description of a good plane, automatically find one.Given a description of a good plane, automatically find one. Given a circuit, find a satisfying assignmentGiven a circuit, find a satisfying assignment Given a graph find a bichromatic coloring.Given a graph find a bichromatic coloring. Given course description, find a scheduleGiven course description, find a schedule X X X XX
84
NP-Complete Problems A very large class of problems:A very large class of problems: Industry would love to solve them quicklyIndustry would love to solve them quickly We don’t know how.We don’t know how. If we could solve one quickly, we could solve all quickly.If we could solve one quickly, we could solve all quickly. If one impossible to solve quickly all impossible to solve quickly.If one impossible to solve quickly all impossible to solve quickly.
85
Boss assigns task: Given courses students want, schedule them to minimize conflicts. Given courses students want, schedule them to minimize conflicts. Everyday industry asks these questions.
86
Your answer: Sorry. Very likely no fast algorithm exits that always finds best schedule. Worthy of wealth & Nobel prize Else have fast algorithm for all NP-problems.
87
Cryptography Sometimes it is useful to know that a problem is computationally hard to do. For example, breaking into your secret documents.
88
Please feel free to ask questions!
89
The End (Of quick overview of NP)
90
Reductions & NP-Completeness Jeff Edmonds York University Classes of ProblemsClasses of ProblemsClasses of ProblemsClasses of Problems Non-Deterministic Polynomial TimeNon-Deterministic Polynomial TimeNon-Deterministic Polynomial TimeNon-Deterministic Polynomial Time NP vs Other ClassesNP vs Other ClassesNP vs Other ClassesNP vs Other Classes NP-CompleteNP-CompleteNP-Complete ReductionsReductionsReductions Thanks Intro & COSC 3101/4111/6111 Definitions Needed For 3101
91
CoNP not SAT Computable Exp Poly NP GCD SAT Halting Acceptable CoAcceptable Not Halting Classes of Problems
92
Poly GCD Poly: Problems P computable in polynomial. A,c I A(I) = P(I) and Time(A,I) |I| c A,c I A(I) = P(I) and Time(A,I) |I| c Polynomial Time
93
Each instance I has an exponential number of possible solutions. Each solution S is either valid or not (sufficiently high value or not) The output is Yes, it has a valid solution. No, it does not the solution need not be returned There is a poly-time alg Valid(I,S) to test given an instance I and a solution S, whether or not S is a valid solution of I. Eg: Network Flows Given I =, does network G have flow of value k? NP Non-Deterministic Polynomial Time Poly Network Flows
94
NP Non-Deterministic Polynomial Time Satisfiablity Example: Satisfiablity: Instance: A circuit I. Solution: A satisfying assignment S. y I is a yes instance iff there is such an assignment. Given an instance I and a solution S, there is a poly-time alg Valid(I,S) to test whether or not S is a valid solution of I. 0 1 1 0 1 0 1 0 1 1 0 1 0 1 Assignment S:1 Sat(I)=Yes iff S Valid(I,S) Circuit I: SAT Poly
95
NP Formal definition: Prob NP iff poly time Valid such that Prob(I) = Yes iff S Valid(I,S) Non-Deterministic Polynomial Time SAT Poly Sat(I)=Yes iff S Valid(I,S)
96
Non-Deterministic Polynomial Time Sat(I)=Yes iff S Valid(I,S) A Non-Deterministic TM/Java/… is the same as a deterministic one, except that its moves are not deterministic. the same as a deterministic one, except that its moves are not deterministic. It has a “choice” as to which step to take next. It has a “choice” as to which step to take next. Deterministic: (q i,c) = Deterministic: (q i,c) = Non-Deterministic: Non-Deterministic: A non-deterministic machine M on input I is said to accept its input A non-deterministic machine M on input I is said to accept its input if there exists an accepting computation. if there exists an accepting computation. Note problems computed need yes/no answers. Note problems computed need yes/no answers.
97
Poly NP: NP If is a “yes” instance: If I is a “yes” instance: A fairy god mother could provide you a small S with which you can prove to your non-believing poly time boss that is a “yes” instance. A fairy god mother could provide you a small witness/solution/proof S with which you can prove to your non-believing poly time boss that I is a “yes” instance. If is a “no” instance: If I is a “no” instance: There is likely no such.There is likely no such witness/solution/proof. Non-Deterministic Polynomial Time SAT
98
Poly CoNP: NP If is a “No” instance: If I is a “No” instance: A fairy god mother could provide you a small S with which you can prove to your non-believing poly time boss that is a “no” instance. A fairy god mother could provide you a small witness/solution/proof S with which you can prove to your non-believing poly time boss that I is a “no” instance. If is a “Yes” instance: If I is a “Yes” instance: There is likely no such.There is likely no such witness/solution/proof. Non-Deterministic Polynomial Time CoNP not SAT SAT
99
Poly NP SAT CoNP Network Flows Network Flows: Is there a flow in G with value k? S A witness/solution/proof S of Yes is a flow S A witness/solution/proof S of No is a Cut. not SAT Network Flows Non-Deterministic Polynomial Time
100
Poly GCD NP NP vs Other Classes If P If P Polynomial Time, You don’t even need the fairy good mother. You don’t even need the fairy good mother. P NP If P NP, then then |S| n 1000 In time you can try all witnesses S. P P Exp Exp n 1000 2 SAT Games
101
NP Exp Poly Computable GCD SAT Halting Turing 1936 Games NP vs Other Classes
102
NP Exp Poly Computable Acceptable GCD SAT If I= is a “yes” instance If I= is a “yes” instance M halts on I the computation is a witness arbitrarily long but finite. arbitrarily long but finite. If I is a “no” instance If I is a “no” instance M runs forever there is no witness Halting CoAcceptable Not Halting CoNP not SAT Games NP vs Other Classes
103
Computable Exp Poly Known GCD NP NP-Complete Problems Problem P new NP P new not too hard. P new Test in poly-time if a given solution is valid
104
Computable Exp Poly Known GCD NP NP-Complete Problems P new Sat Problem P new is NP-Hard If being able to solve this problem fast If being able to solve this problem fast means that you can means that you can solve every problem solve every problem in the class fast. in the class fast. P NP, P ≤ poly P new Easier: Sat ≤ poly P new Cook: P ≤ poly Sat Steve Cook P
105
Computable Exp Poly Known GCD NP NP-Complete Problems Problem P new is NP-Complete P new NP P new is NP-Hard P new
106
Computable Exp Poly Known GCD NP complete NP-Complete Problems Problem P new is NP-Complete P new NP P new is NP-Hard P new Sat Steve Cook
107
Computable Exp Poly Known NP complete GCD Matching SAT CoNP complete not SAT Halting Games Most “natural” problems in NP are either in PolyTime or NP-Complete except? NP-Complete Problems
108
Computable Exp Poly Known NP complete GCD Matching SAT CoNP complete not SAT Factoring Graph Isomorphism Halting Games Most “natural” problems in NP are either in PolyTime or NP-Complete except NP-Complete Problems
109
Reductions Reduction: Design a fast algorithm for one computational problem, using a supposedly fast algorithm for another problem as a subroutine. P alg ≤ poly P oracle
110
Reductions Reduction: Design a fast algorithm for one computational problem, using a supposedly fast algorithm for another problem as a subroutine. Use to create a new algorithm from a known algorithm. Learn that a new problem is likely hard, from knowing a known problem is likely hard. Learn that two problems have a similar “structure.” P alg ≤ poly P oracle
111
GIVEN: Network Flow Oracle BUILD: Matching Oracle Matching ≤ poly Network Flows Who loves who AnnFred SueJohn BethBobMarySam Max matching A network s t Max Flow st Reductions
112
Exp Poly Steve Cook 1971 NP SAT complete poly Prob’ Matching ≤ poly Network Flows Learn that a new problem is likely hard, from knowing a known problem is likely hard. Reductions
113
Is there a fast algorithm for P oracle ? Is there a fast algorithm for P alg ? ? We give a fast algorithm for P alg using a supposed fast algorithm for P oracle as a subroutine. Reductions
114
If there is a fast algorithm for P alg then there is a fast algorithm for P alg then there is not fast algorithm for P oracle If there is not a fast algorithm for P alg If there is a fast algorithm for P oracle If there is not a fast algorithm for P oracle ? ? We give a fast algorithm for P alg using a supposed fast algorithm for P oracle as a subroutine. ? ? ?? Reductions
115
Notation: P alg ≤ poly P oracle P alg is “at least as easy as” P oracle (Modulo polynomial terms.) P oracle is “at least as hard as” P alg (Modulo polynomial terms.) Conclusions: We give a fast algorithm for P alg using a supposed fast algorithm for P oracle as a subroutine. Reductions
116
The End (Of definitions for 3101)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.