Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reduction s & NP-Completeness Jeff Edmonds York University HistoryHistoryHistory Course vs ScheduleCourse vs ScheduleCourse vs ScheduleCourse vs Schedule.

Similar presentations


Presentation on theme: "Reduction s & NP-Completeness Jeff Edmonds York University HistoryHistoryHistory Course vs ScheduleCourse vs ScheduleCourse vs ScheduleCourse vs Schedule."— Presentation transcript:

1

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)


Download ppt "Reduction s & NP-Completeness Jeff Edmonds York University HistoryHistoryHistory Course vs ScheduleCourse vs ScheduleCourse vs ScheduleCourse vs Schedule."

Similar presentations


Ads by Google