CSC373 Weeks 7 & 8: Complexity
373F20 - Nisarg Shah 1
Complexity 373F20 - Nisarg Shah 1 Recap Linear Programming - - PowerPoint PPT Presentation
CSC373 Weeks 7 & 8: Complexity 373F20 - Nisarg Shah 1 Recap Linear Programming Standard formulation Slack formulation Simplex Duality Formulating given problems as LPs 373F20 - Nisarg Shah 2 This & Next Week
373F20 - Nisarg Shah 1
373F20 - Nisarg Shah 2
➢ Standard formulation ➢ Slack formulation ➢ Simplex ➢ Duality ➢ Formulating given problems as LPs
373F20 - Nisarg Shah 3
➢ Shortest path ➢ Network flow
➢ Turing machines, computability, efficient computation ➢ P, NP, and NP-completeness ➢ Reductions ➢ Idea behind NP-completeness of SAT and 3SAT ➢ NP vs co-NP ➢ Other complexity classes
373F20 - Nisarg Shah 4
➢ Input: directed graph 𝐻 = (𝑊, 𝐹), edge capacities
𝑑: 𝐹 → ℝ≥0
➢ Output: Value 𝑤 𝑔∗ of a maximum flow 𝑔∗
➢ Capacity constraints: ∀ 𝑣, 𝑤 ∈ 𝐹: 0 ≤ 𝑔 𝑣, 𝑤 ≤ 𝑑(𝑣, 𝑤) ➢ Flow conservation: ∀𝑣: σ 𝑣,𝑤 ∈𝐹 𝑔 𝑣, 𝑤 = σ 𝑤,𝑣 ∈𝐹 𝑔 𝑤, 𝑣
Linear objective! Linear constraints
373F20 - Nisarg Shah 5
(𝑡,𝑤)∈𝐹
𝑔
𝑡𝑤
0 ≤ 𝑔
𝑣𝑤 ≤ 𝑑 𝑣, 𝑤
(𝑣,𝑤)∈𝐹
𝑔
𝑣𝑤 =
(𝑤,𝑥)∈𝐹
𝑔
𝑤,𝑥
for all (𝑣, 𝑤) ∈ 𝐹 for all 𝑤 ∈ 𝑊\{𝑡, 𝑢} maximize
Exercise: Write the dual of this LP. What is the dual trying to find?
➢ Input: directed graph 𝐻 = 𝑊, 𝐹 , edge weights
𝑥: 𝐹 → ℝ≥0, source vertex 𝑡, target vertex 𝑢
➢ Output: weight of the shortest-weight path from 𝑡 to 𝑢
Why max? If objective was min., then we could set all variables 𝑒𝑤 to 0. Exercise: prove formally that this works!
373F20 - Nisarg Shah 6
373F20 - Nisarg Shah 7
algorithms that are much faster and run in strongly polynomial time
373F20 - Nisarg Shah 8
➢ Input: directed graph 𝐻 = (𝑊, 𝐹), edge capacities 𝑑: 𝐹 → ℝ≥0,
𝑙 commodities (𝑡𝑗, 𝑢𝑗, 𝑒𝑗), where 𝑡𝑗 is source of commodity 𝑗, 𝑢𝑗 is sink, and 𝑒𝑗 is demand.
➢ Output: valid multicommodity flow 𝑔
1, 𝑔 2, … , 𝑔 𝑙 , where 𝑔 𝑗 has value
𝑒𝑗 and all 𝑔
𝑗 jointly satisfy the constraints
The only known polynomial time algorithm for this problem is based on solving LP!
373F20 - Nisarg Shah 9
➢ Input: 𝑑 ∈ ℝ𝑜, 𝑐 ∈ ℝ𝑛, 𝐵 ∈ ℝ𝑛×𝑜 ➢ Goal:
➢ Harder. We’ll prove that this is “NP-complete”.
373F20 - Nisarg Shah 10
➢ Microeconomics ➢ Manufacturing ➢ VLSI (very large scale integration) design ➢ Logistics/transportation ➢ Portfolio optimization ➢ Bioengineering (flux balance analysis) ➢ Operations research more broadly: maximize profits or minimize
costs, use linear models for simplicity
➢ Design of approximation algorithms ➢ Proving theorems, as a proof technique ➢ …
373F20 - Nisarg Shah 11
polynomial time algorithm, but fail.
that there cannot exist a polynomial time algorithm for your problem, but fail.
➢ Prove that it is NP-complete, of course!
373F20 - Nisarg Shah 12
amount of time?”
➢ How do we mathematically define what a computer is?
➢ Introduced a mathematical model ➢ “Turing machine” ➢ All present-day computers can be simulated by a Turing machine ➢ Fun fact: So can all the quantum computers
373F20 - Nisarg Shah 13
➢ Tape
➢ Head pointer
➢ Maintains an internal “state” ➢ A transition function describes how to change state, move head
pointer, and read/write symbols on tape
373F20 - Nisarg Shah 14
➢ “Everything that is computable can be computed by a Turing
machine”
➢ Widely accepted, cannot be “proven” ➢ There are problems which a Turing machine cannot solve, regardless
➢ Need to define an encoding of the input and output
373F20 - Nisarg Shah 15
➢ 𝑇 = a set of finite symbols ➢ 𝑇∗ = ڂ𝑜≥0 𝑇𝑜 = set of all finite strings using symbols from 𝑇
➢ Length of input = |𝑥| = length of 𝑥 on tape
➢ Length of output = 𝑔 𝑥 ➢ Decision problems: output = “YES” or “NO”
373F20 - Nisarg Shah 16
➢ “Given 𝑏1, 𝑏2, … , 𝑏𝑜, compute σ𝑗=1
𝑜
𝑏𝑗”
➢ What |𝑇| should we use?
373F20 - Nisarg Shah 17
➢ A TM solves a problem in polynomial time if there is a polynomial 𝑞
such that on every instance of 𝑜-bit input and 𝑛-bit output, the TM halts in at most 𝑞(𝑜, 𝑛) steps
➢ Polynomial: 𝑜, 𝑜2, 5𝑜100 + 1000𝑜3, 𝑜 log100 𝑜 = 𝑝 𝑜1.001 ➢ Non-polynomial: 2𝑜, 2 𝑜, 2log2 𝑜
➢ “Everything that is efficiently computable is computable by a TM in
polynomial time”
➢ Much less widely accepted, especially today ➢ But in this course, efficient = polynomial-time
If you ask the Turing machine to write a 2𝑜-bit output, it’s only reasonable to let it take 2𝑜 time…but usually, we’ll look at problems where output is O(length of input), so we can ignore this 𝑛
373F20 - Nisarg Shah 18
➢ The class of all decision problems computable by a TM in polynomial
time
➢ Addition, multiplication, square root ➢ Shortest paths ➢ Network flow ➢ Fast Fourier transform ➢ Checking if a given number is a prime
[Agrawal-Kayal-Saxena 2002]
➢ …
373F20 - Nisarg Shah 19
➢ Subset sum problem:
Given an array {−7, −3, −2, 5, 8}, is there a zero-sum subset?
➢ Enumerating all subsets is exponential ➢ But…given {-3, -2, 5}, we can verify in polynomial time that it is
indeed a valid subset and has zero sum
➢ A nondeterministic Turing machine could “guess” the solution and
then test if it has zero sum in polynomial time
373F20 - Nisarg Shah 20
➢ The class of all decision problems for which a YES answer can be
verified by a TM in polynomial time given polynomial length “advice”
➢ There is a polynomial-time verifier TM 𝑊 and another polynomial 𝑞
such that
which 𝑊(𝑦, 𝑧) returns YES
➢ Informally: “Whenever the answer is YES, there’s a short proof of it.”
373F20 - Nisarg Shah 21
➢ Same as NP, except whenever the answer is NO, there is a short
proof of it
➢ NP = co-NP? ➢ P = NP ∩ co-NP? ➢ And…drum roll please…
373F20 - Nisarg Shah 22
“The P versus NP problem has gone from an interesting problem related to logic to perhaps the most fundamental and important mathematical question of
as computers become more powerful and widespread.”
373F20 - Nisarg Shah 23
1. Birch and Swinnerton-Dyer Conjecture 2. Hodge Conjecture 3. Navier-Stokes Equations 4. P = NP? 5. Poincare Conjecture (Solved)1 6. Riemann Hypothesis 7. Yang-Mills Theory
1Solved by Grigori Perelman (2003): Prize unclaimed
Claim: Worth >> $1M
373F20 - Nisarg Shah 24
➢ (And every sane person’s belief…) ➢ 𝑄 is likely not equal to 𝑂𝑄
➢ There is a large class of problems (NP-complete) ➢ By now, contains thousands and thousands of problems ➢ Each problem is the “hardest problem in NP” ➢ If you can efficiently solve any one of them, you can efficiently solve
every problem in NP
found for any of them
373F20 - Nisarg Shah 25
an “oracle” (subroutine) for 𝐶 can be used to efficiently solve 𝐵
➢ You can solve 𝐵 by making polynomially many calls to the oracle and
doing additional polynomial-time computation
following is true?
a) If 𝐵 cannot be solved efficiently, then neither can 𝐶. b) If 𝐶 cannot be solved efficiently, then neither can 𝐵. c) Both. d) None.
373F20 - Nisarg Shah 26
an “oracle” (subroutine) for 𝐶 can be used to efficiently solve 𝐵
➢ You can solve 𝐵 by making polynomially many calls to the oracle and
doing additional polynomial computation
should:
a) Reduce my problem 𝑌 to a known hard problem. b) Reduce a known hard problem to my problem 𝑌. c) Both. d) None.
373F20 - Nisarg Shah 27
➢ A problem 𝐶 is NP-complete if it is in NP and every problem 𝐵 in NP
is p-reducible to 𝐶
➢ Hardest problems in NP ➢ If one of them can be solved efficiently, every problem in NP can be
solved efficiently, implying P=NP
➢ If 𝐵 is in NP, and some NP-complete problem 𝐶 is p-reducible to 𝐵,
then 𝐵 is NP-complete too
problem in NP”
373F20 - Nisarg Shah 28
prove another problem is NP-complete
➢ How do we know there are any NP-complete problems at all? ➢ Key result by Cook ➢ First NP-complete problem: SAT
373F20 - Nisarg Shah 29
➢ Boolean variables 𝑦1, 𝑦2, … , 𝑦𝑜 ➢ Their negations ҧ
𝑦1, ҧ 𝑦2, … , ҧ 𝑦𝑜
➢ Literal ℓ: a variable or its negation ➢ Clause 𝐷 = ℓ1 ∨ ℓ2 ∨ ⋯ ∨ ℓ𝑠 is a disjunction of literals ➢ CNF formula 𝜒 = 𝐷1 ∧ 𝐷2 ∧ ⋯ ∧ 𝐷𝑛 is a conjunction of clauses
𝜒 = ҧ 𝑦1 ∨ 𝑦2 ∨ 𝑦3 ∧ 𝑦1 ∨ ҧ 𝑦2 ∨ 𝑦3 ∧ ҧ 𝑦1 ∨ 𝑦2 ∨ 𝑦4 ∧ ( ҧ 𝑦3 ∨ ҧ 𝑦4 ∨ 𝑦1)
373F20 - Nisarg Shah 30
𝜒 = ҧ 𝑦1 ∨ 𝑦2 ∨ 𝑦3 ∧ 𝑦1 ∨ ҧ 𝑦2 ∨ 𝑦3 ∧ ҧ 𝑦1 ∨ 𝑦2 ∨ 𝑦4 ∧ ( ҧ 𝑦3 ∨ ҧ 𝑦4 ∨ 𝑦1)
➢ A CNF formula 𝜒 is satisfiable if there is an assignment of truth
values (TRUE/FALSE) to variables under which the formula evaluates to TRUE
➢ SAT: “Given a CNF formula 𝜒, is it satisfiable?” ➢ 3SAT: “Given a 3CNF formula 𝜒, is it satisfiable?”
373F20 - Nisarg Shah 31
➢ SAT (and even 3SAT) is NP-complete
➢ Directly reduces any given NP problem to SAT ➢ Reduction is a bit complex, so we’ll defer it until later ➢ But for now, let’s assume SAT and 3SAT are NP-complete and reduce
them to other problems (and then those problems to other problems…)
373F20 - Nisarg Shah 32
➢ SAT = first NP complete problem ➢ Decision TSP: Is there a route visiting all 𝑜 cities with total distance at
most 𝑙?
➢ 3-Colorabitility: Can the vertices of a graph be colored with at most 3
colors such that no two adjacent vertices have the same color?
➢ Karp’s 21 NP-complete problems
➢ Tautology problem (“negation” of SAT):
regardless of variable assignments?”
373F20 - Nisarg Shah 33 By Behnam Esfahbod, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=3532181
373F20 - Nisarg Shah 34
373F20 - Nisarg Shah 35
373F20 - Nisarg Shah 36
➢ Proved 3SAT is NP-complete in seminal paper
➢ Showed that 20 other problems are also NP-complete ➢ “Karp's 21 NP-complete problems” ➢ Renewed interest in this idea
➢ Input: Undirected graph 𝐻 = (𝑊, 𝐹), integer 𝑙 ➢ Question: Does there exist a subset of vertices 𝑇 ⊆ 𝑊 with 𝑇 = 𝑙
such that for each edge, at most one of its endpoints is in 𝑇?
373F20 - Nisarg Shah 37
= independent set Example:
independent set of size 6?
independent set of size 7?
➢ Recall: We need to show that there is a polynomial-time algorithm
which
➢ Advice: the actual independent set 𝑇 ➢ Algorithm: check if 𝑇 is an independent set and if 𝑇 = 𝑙 ➢ Simple!
373F20 - Nisarg Shah 38
➢ Given a formula 𝜒 of 3SAT with 𝑙 clauses, construct an instance (𝐻, 𝑙)
373F20 - Nisarg Shah 39
➢ Why does this work?
Independent Set = YES
3SAT = YES
arbitrary values
373F20 - Nisarg Shah 40
373F20 - Nisarg Shah 41
➢ Karp reductions
a single instance of 𝐶 with the same answer
➢ Turing/Cook reductions
polynomially many calls to an oracle for solving 𝐶 and some polynomial-time extra computation
possible, see if you can construct a Karp reduction
373F20 - Nisarg Shah 42
➢ Input: Set of integers 𝑇 = {𝑥1, … , 𝑥𝑜}, integer 𝑋 ➢ Question: Is there 𝑇′ ⊆ 𝑇 that adds up to exactly 𝑋?
➢ 𝑇 = {1, 4, 16, 64, 256, 1040, 1041, 1093, 1284, 1344}, 𝑋 = 3754? ➢ Yes!
➢ Recall: We need to show that there is a polynomial-time algorithm
which
➢ Advice: the actual subset 𝑇′ ➢ Algorithm: check that 𝑇′ is indeed a subset of 𝑇 and sums to 𝑋 ➢ Simple!
373F20 - Nisarg Shah 43
➢ Given a formula 𝜒 of 3SAT, we want to construct (𝑇, 𝑋) of Subset Sum
with the same answer
➢ In the table in the following slide:
373F20 - Nisarg Shah 44
373F20 - Nisarg Shah 45
Decimal representation
➢ The Subset Sum instance we constructed has “large” numbers
➢ Can we hope to construct Subset Sum instance with numbers whose
values are only 𝑞𝑝𝑚𝑧(#𝑤𝑏𝑠𝑗𝑏𝑐𝑚𝑓𝑡, #𝑑𝑚𝑏𝑡𝑣𝑡𝑓𝑡) large?
large in value
373F20 - Nisarg Shah 46
373F20 - Nisarg Shah 47
➢ Input: Undirected graph 𝐻 = (𝑊, 𝐹) ➢ Question: Can we color each vertex of 𝐻 using at most three colors
such that no two adjacent vertices have the same color?
➢ Recall: We need to show that there is a polynomial-time algorithm
which
➢ Advice: colors of the nodes in a valid 3-coloring ➢ Algorithm: check that this is a valid 3-coloring ➢ Simple!
373F20 - Nisarg Shah 48
373F20 - Nisarg Shah 49
➢ Given a 3SAT formula 𝜒, we want to construct a graph 𝐻 such that 𝐻 is
3-colorable if and only if 𝜒 has a satisfying assignment
➢ 𝐻 will have the following nodes:
𝑦𝑗
𝑘
➢ 1-1 correspondence between valid 3-colorings of type 1 nodes and valid
truth assignments:
➢ Claim: Fix any colors of type 1 nodes. There exists a valid 3-coloring of 𝐻
giving these colors to type 1 nodes if and only if the corresponding truth assignment is satisfying for 𝜒.
373F20 - Nisarg Shah 50
➢ Create 3 new nodes T, F, and B, and connect them in a triangle ➢ Create a node for each literal, connect it to its negation and to B ➢ T-F-B must have different colors, and so must B-𝑦𝑗- ҧ
𝑦𝑗
…
373F20 - Nisarg Shah 51
➢ We also need valid 3-coloring ⇔ satisfying truth assignment
corresponding to the literals in the clause is assigned color of T
373F20 - Nisarg Shah 52
➢ Claim: Valid 3-coloring ⇒ truth assignment satisfies 𝜒
373F20 - Nisarg Shah 53
➢ We just proved: valid 3-coloring ⇒ satisfying assignment ➢ Claim: satisfying assignment ⇒ valid 3-coloring
the other literals have, the clause widget can always be 3-colored
373F20 - Nisarg Shah 54
➢ Some polynomial-size advice should be sufficient to verify a YES
instance in polynomial time
➢ No advice should work for a NO instance ➢ Usually, the solution of the “search version” of the problem works
values of both primal and dual variables, as we saw in the last lecture
373F20 - Nisarg Shah 55
to B (i.e. show A ≤𝑞 B)
➢ This means taking an arbitrary instance of A, and solving it in
polynomial time using an oracle for B
complete problem to your current problem”.
polynomial in the size of the original A-instance
➢ This would show that if B can be solved in polynomial time, then A
can be as well
➢ Some reductions are trivial, some are notoriously tricky…
373F20 - Nisarg Shah 56
➢ Input: 𝑑 ∈ ℝ𝑜, 𝑐 ∈ ℝ𝑛, 𝐵 ∈ ℝ𝑛×𝑜, 𝑙 ∈ ℝ ➢ Question: Does there exist 𝑦 ∈ 0,1 𝑜 such that 𝑑𝑈𝑦 ≥ 𝑙 and 𝐵𝑦 ≤ 𝑐? ➢ Decision variant of “maximize 𝑑𝑈𝑦 subject to 𝐵𝑦 ≤ 𝑐” but instead of
any 𝑦 ∈ ℝ𝑜 with 𝑦 ≥ 0, we are restricting 𝑦 to binary.
➢ Does restricting search space make the problem easier or harder?
373F20 - Nisarg Shah 57
➢ Special case where 𝑑 = 𝑙 = 0, so 𝑑𝑈𝑦 ≥ 𝑙 is always true
➢ Input: 𝑐 ∈ ℝ𝑛, 𝐵 ∈ ℝ𝑛×𝑜 ➢ Question: Does there exist 𝑦 ∈ 0,1 𝑜 such that 𝐵𝑦 ≤ 𝑐? ➢ Just need to find a feasible solution ➢ This is still NP-complete!
➢ Recall: We need to show that there is a polynomial-time algorithm
which
➢ Advice: simply a vector 𝑦 satisfying 𝐵𝑦 ≤ 𝑐 ➢ Algorithm: Check if 𝐵𝑦 ≤ 𝑐 ➢ Simple!
373F20 - Nisarg Shah 58
➢ Take any formula 𝜒 of 3SAT ➢ Create a binary variable 𝑦𝑗 for each variable 𝑦𝑗 in 𝜒
𝑦𝑗 with 1 − 𝑦𝑗
➢ For each clause 𝐷, we want at least one of its three literals to be TRUE
𝑦2 ∨ ҧ 𝑦3 ⇒ 𝑦1 + 1 − 𝑦2 + 1 − 𝑦3 ≥ 1
➢ Easy to check that
373F20 - Nisarg Shah 59
373F20 - Nisarg Shah 60
reduced 3SAT to B
➢ But we can reduce any other problem A that we have already
established to be NP-complete
➢ Sometimes this might lead to a simpler reduction because A might
already be “similar” to B
373F20 - Nisarg Shah 61
➢ Input: Undirected graph 𝐻 = (𝑊, 𝐹), integer 𝑙 ➢ Question: Does there exist a vertex cover of size 𝑙?
incident to at least one vertex in 𝑇?
= vertex cover Example:
vertex cover of size 4?
vertex cover of size 3?
373F20 - Nisarg Shah 62
➢ Input: Undirected graph 𝐻 = (𝑊, 𝐹), integer 𝑙 ➢ Question: Does there exist a vertex cover of size 𝑙?
incident to at least one vertex in 𝑇?
= independent set Question:
the last lecture?
= vertex cover
373F20 - Nisarg Shah 63
independent set of size 𝑜 − 𝑙
independent set
373F20 - Nisarg Shah 64
set
➢ 𝑇 is a vertex cover ➢ IFF: For every 𝑣, 𝑤 ∈ 𝐹, at least one of {𝑣, 𝑤} is in 𝑇 ➢ IFF: For every 𝑣, 𝑤 ∈ 𝐹, at most one of {𝑣, 𝑤} is in 𝑊\S ➢ IFF: No two vertices of 𝑊\S are connected by an edge ➢ IFF: 𝑊\S is an independent set ∎
373F20 - Nisarg Shah 65
➢ Take an arbitrary instance (𝐻, 𝑙) of Independent Set ➢ We want to check if there is an independent set of size 𝑙 ➢ Just convert it to the instance (𝐻, 𝑜 − 𝑙) of Vertex Cover ➢ Simple!
we already did for 3SAT ≤𝑞 Independent Set
➢ Note: I didn’t argue that Vertex Cover is in NP
373F20 - Nisarg Shah 66
➢ Input: A universe of elements 𝑉, a family of subsets 𝑇, and an integer 𝑙 ➢ Question: Do there exist 𝑙 sets from 𝑇 whose union is 𝑉?
➢ 𝑉 = {1,2,3,4,5,6,7} ➢ 𝑇 =
1,3,7 , 2,4,6 , 4,5 , 1 , 1,2,6
➢ 𝑙 = 3? Yes! 1,3,7 , 4,5 , {1,2,6} ➢ 𝑙 = 2? No!
➢ Easy. Let the advice be the actual 𝑙 sets whose union is 𝑉.
➢ Given an instance of vertex cover with graph 𝐻 = (𝑊, 𝐹) and integer 𝑙,
create the following set cover instance
union of their incident edges covers all edges
373F20 - Nisarg Shah 67
373F20 - Nisarg Shah 68
373F20 - Nisarg Shah 69
➢ We need to prove this without using any other “known NP-
complete” problem
➢ We want to directly show that every problem in NP can be reduced to
3SAT
SAT to 3SAT
373F20 - Nisarg Shah 70
as follows
➢ If a problem is in NP, then ∃ Turing machine 𝑈(𝑦, 𝑧) which
➢ 𝑦 is a YES instance iff ∃𝑧 𝑈 𝑦, 𝑧 = 𝐵𝐷𝐷𝐹𝑄𝑈
373F20 - Nisarg Shah 71
➢ We need to convert ∃𝑧 𝑈 𝑦, 𝑧 = 𝐵𝐷𝐷𝐹𝑄𝑈 into whether a SAT
formula 𝜒 is satisfiable
➢ What is written in each cell of its memory tape? ➢ Which cell of the tape is the read/write head currently pointing to? ➢ What state is the Turing machine in?
NOT IN SYLLABUS
373F20 - Nisarg Shah 72
➢ We need to convert ∃𝑧 𝑈 𝑦, 𝑧 = 𝐵𝐷𝐷𝐹𝑄𝑈 into ∃𝑨 𝜒 𝑨 = 𝑈𝑆𝑉𝐹,
where 𝑨 consists of Boolean variables and 𝜒 is a SAT formula
➢ 𝑈
𝑗,𝑘,𝑙 = True if machine’s tape cell 𝑗 contains symbol 𝑘 at step 𝑙 of the
computation
➢ 𝐼𝑗,𝑙 = True if the machine’s read/write head is at tape cell 𝑗 at step 𝑙
➢ 𝑅𝑟,𝑙 = True if machine is in state 𝑟 at step 𝑙 of the computation ➢ Cell index 𝑗 and computation step 𝑙 only need to be polynomially
large as 𝑈 works in polynomial time
NOT IN SYLLABUS
373F20 - Nisarg Shah 73
➢ We need to convert ∃𝑧 𝑈 𝑦, 𝑧 = 𝐵𝐷𝐷𝐹𝑄𝑈 into ∃𝑨 𝜒 𝑨 = 𝑈𝑆𝑉𝐹,
where 𝑨 consists of Boolean variables and 𝜒 is a SAT formula
➢ Express how the variables must be related using the transition
function
➢ Express that the Turing machine must reach the state 𝐵𝐷𝐷𝐹𝑄𝑈 at
some step of the computation
NOT IN SYLLABUS
373F20 - Nisarg Shah 74
➢ Take an instance 𝜒 = 𝐷1 ∧ 𝐷2 ∧ ⋯ of SAT ➢ Replace each clause with multiple clauses with exactly 3 literals each ➢ For a clause with one literal, 𝐷 = ℓ1:
ℓ1 ∨ 𝑨1 ∨ 𝑨2 ∧ ℓ1 ∨ ҧ 𝑨1 ∨ 𝑨2 ∧ ℓ1 ∨ 𝑨1 ∨ ҧ 𝑨2 ∧ ℓ1 ∨ ҧ 𝑨1 ∨ ҧ 𝑨2
➢ For a clause with two literals, 𝐷 = (ℓ1 ∨ ℓ2):
ℓ1 ∨ ℓ2 ∨ 𝑨1 ∧ ℓ1 ∨ ℓ2 ∨ ҧ 𝑨1
373F20 - Nisarg Shah 75
➢ For a clause with three literals, 𝐷 = ℓ1 ∨ ℓ2 ∨ ℓ3:
➢ For a clause with 4 or more literals, 𝐷 = (ℓ1 ∨ ℓ2 ∨ ⋯ ∨ ℓ𝑙):
ℓ1 ∨ ℓ2 ∨ 𝑨1 ∧ ℓ3 ∨ ҧ 𝑨1 ∨ 𝑨2 ∧ ℓ4 ∨ ҧ 𝑨2 ∨ 𝑨3 ∧ ⋯ ∧ ℓ𝑙−2 ∨ ҧ 𝑨𝑙−4 ∨ 𝑨𝑙−3 ∧ ℓ𝑙−1 ∨ ℓ𝑙 ∨ ҧ 𝑨𝑙−3
to make this TRUE
this TRUE
373F20 - Nisarg Shah 76
➢ NP = short proof for YES, co-NP = short proof for NO ➢ If a problem “Does there exist…” is in NP, then its complement “Does
there not exist…” is in co-NP, and vice-versa
➢ The same goes for NP-complete and co-NP-complete
➢ SAT is NP-complete (“Does there exist 𝑦 satisfying 𝜒?”)
is coNP-complete
➢ Then, Tautology (“Is 𝜒 always TRUE?”) is also coNP-complete
373F20 - Nisarg Shah 77
➢ No advice needed; can just solve the problem in polytime ➢ Major open question: Is P = NP ∩ co-NP?
➢ Hunt for problems not known in P but still in NP ∩ co-NP
373F20 - Nisarg Shah 78
➢ [Gale–Kuhn–Tucker 1948]: LP is in NP ∩ co-NP ➢ Question: max objective value ≥ threshold? ➢ Proof of YES: Provide a feasible solution with objective ≥ threshold ➢ Proof of NO: Provide optimal primal and dual solutions
373F20 - Nisarg Shah 79
➢ But later, Khachiyan [1979] proved that LP is in P
373F20 - Nisarg Shah 80
➢ [Pratt 1975]: PRIMES is in NP ∩ co-NP ➢ Proof of NO: Easy, provide a non-trivial factor ➢ Proof of YES: relies on interesting math
373F20 - Nisarg Shah 81
➢ Later, Agrawal, Kayal, and Saxena [2004] proved that PRIMES is in P
373F20 - Nisarg Shah 82
➢ FACTOR is in NP ∩ co-NP
proof that each presented factor is a prime
product is indeed 𝑜, and none of the factors is ≤ 𝑙
we know the TM can just run the AKS algorithm to check if the factors are prime
373F20 - Nisarg Shah 83
➢ Major open question: Is FACTOR in P?
➢ Challenge: Factor the following number.
74037563479561712828046796097429573142593188889231289 08493623263897276503402826627689199641962511784399589 43305021275853701189680982867331732731089309005525051 16877063299072396380786710086096962537934650563796359 RSA-704 ($30,000 prize if you can factor it)
373F20 - Nisarg Shah 84
➢ [Shor 1994]: We can factor an 𝑜-bit integer in 𝑃(𝑜3) steps on a
quantum computer.
➢ *Scalable* quantum computers can help
373F20 - Nisarg Shah 85
➢ DTIME(𝑜), NTIME(𝑜2), …
➢ DSPACE(𝑜), NSPACE(log 𝑜)
➢ ZPP (expected polynomial time, no errors)
➢ RP (polynomial time, one-sided error) ➢ BPP (polynomial time, two-sided erros)