Post on 29-Jun-2015
transcript
The W-Hierarchy
A Parametereized Problem
A Parametereized Problem
NP-hard for constant values of the parameter
“Easy” for small values of the parameter
“Easy” for small values of the parameter
“Easy” for small values of the parameter
An O(nk) algorithm exists.
“Easy” for small values of the parameter
Fixed-Parameter Tractable: f(k)poly(n)
As hard as solving Clique
An O(nk) algorithm exists.
“Easy” for small values of the parameter
As hard as solving Clique
Polynomial kernel“Stuck” with
large instances
An O(nk) algorithm exists.
To establish membership, reduce to X.
A problem is “hard” for a class if every problem in the class reduces to it.
A problem is “hard” for a class if every problem in the class reduces to it.
A problem is “hard” for a class if every problem in the class reduces to it.
A problem is “hard” for a class if every problem in the class reduces to it.
Short Turing Machine Acceptance
Short Turing Machine Acceptance
Short Turing Machine Acceptance
Short Turing Machine Acceptance
Short Turing Machine Acceptance
Short Turing Machine Acceptance
Short Turing Machine Acceptance
Input A [ND] Turing machine M, an input x, and an integer k.
Short Turing Machine Acceptance
InputQuestionDoes M accept x in at most k steps?
A [ND] Turing machine M, an input x, and an integer k.
Short Turing Machine Acceptance
Independent Set
Short Turing Machine Acceptance
Independent Set
(qa,happy)
Short Turing Machine Acceptance
Independent Set
Read b and (a,b) is an edge.
(qa,happy)
Short Turing Machine Acceptance
Independent Set
(qa,happy) —> (QUIT)
Read b and (a,b) is an edge.
(qa,happy)
Short Turing Machine Acceptance
Independent Set
(qa,happy) —> (QUIT)
Read b and (a,b) is not an edge.
(qa,happy)
Short Turing Machine Acceptance
Independent Set
(qa,happy) —> (QUIT)
(qa,happy) —> (qa,happy); move right
Read b and (a,b) is not an edge.
(qa,happy)
Short Turing Machine Acceptance
Independent Set
(qa,happy) —> (QUIT)
(qa,happy) —> (qa,happy); move right
(qa,happy)
Short Turing Machine Acceptance
Independent Set
(qa,happy) —> (QUIT)
(qa,happy) —> (qa,happy); move right
Read an EOF symbol.
(qa,happy)
Short Turing Machine Acceptance
Independent Set
(qa,happy) —> (QUIT)
(qa,happy) —> (qa,happy); move right
(qa,happy) —> (q[move,a],happy); move left
Read an EOF symbol.
(qa,happy)
Short Turing Machine Acceptance
Independent Set
(qa,happy) —> (QUIT)
(qa,happy) —> (qa,happy); move right
(qa,happy) —> (q[move,a],happy); move left
(qa,happy)
Short Turing Machine Acceptance
Independent Set
(qa,happy) —> (QUIT)
(qa,happy) —> (qa,happy); move right
(qa,happy) —> (q[move,a],happy); move left
(qa,happy)
Read a.
Short Turing Machine Acceptance
Independent Set
(qa,happy) —> (QUIT)
(qa,happy) —> (qa,happy); move right
(qa,happy) —> (q[move,a],happy); move left
(q[move,a],happy) —> (q[read],happy); move right
(qa,happy)
Read a.
Short Turing Machine Acceptance
Independent Set
(qa,happy) —> (QUIT)
(qa,happy) —> (qa,happy); move right
(qa,happy) —> (q[move,a],happy); move left
(q[move,a],happy) —> (q[read],happy); move right
(qa,happy)
Short Turing Machine Acceptance
Independent Set
(qa,happy) —> (QUIT)
(qa,happy) —> (qa,happy); move right
(qa,happy) —> (q[move,a],happy); move left
(q[move,a],happy) —> (q[read],happy); move right
(q[read],happy) —> (qb,happy); move right
(qa,happy)
Short Turing Machine Acceptance
Dominating Set
Short Turing Machine Acceptance
Dominating Set
Short Turing Machine Acceptance
Independent Set
Short Turing Machine Acceptance
Independent Set
Short Turing Machine Acceptance
Independent Set
Short Turing Machine Acceptance
Independent Set
A problem is “hard” for a class if every problem in the class reduces to it.
Short Turing Machine Acceptance
Short Turing Machine Acceptance
Encode every configuration as a vertex.
Short Turing Machine Acceptance
At step i, the head is at j, and the transition is δ.
Encode every configuration as a vertex.
Short Turing Machine Acceptance
At step i, the head is at j, and the transition is δ.
At step i, the symbol at j is t, and the head is not at j.
Encode every configuration as a vertex.
[Step 3, Position 1, δ]
[Step 3, Position 2, δ]
[Step 3, Position 3, δ]
[Step 3, Position 1, a]
[Step 3, Position 2, a]
[Step 3, Position 3, a]
[Step 3, Position 1, b]
[Step 3, Position 2, b]
[Step 3, Position 3, b]
[Step 3, Position 1, δ]
[Step 3, Position 2, δ]
[Step 3, Position 3, δ]
[Step 3, Position 1, a]
[Step 3, Position 2, a]
[Step 3, Position 3, a]
[Step 3, Position 1, b]
[Step 3, Position 2, b]
[Step 3, Position 3, b]
[Step 3, Position 1, δ]
[Step 3, Position 2, δ]
[Step 3, Position 3, δ]
[Step 3, Position 1, a]
[Step 3, Position 2, a]
[Step 3, Position 3, a]
[Step 3, Position 1, b]
[Step 3, Position 2, b]
[Step 3, Position 3, b]
[Step 3, Position 1, δ]
[Step 3, Position 2, δ]
[Step 3, Position 3, δ]
[Step 3, Position 1, a]
[Step 3, Position 2, a]
[Step 3, Position 3, a]
[Step 3, Position 1, b]
[Step 3, Position 2, b]
[Step 3, Position 3, b]
[Step 3, Position 1, δ]
[Step 3, Position 2, δ]
[Step 3, Position 3, δ]
[Step 3, Position 1, a]
[Step 3, Position 2, a]
[Step 3, Position 3, a]
[Step 3, Position 1, b]
[Step 3, Position 2, b]
[Step 3, Position 3, b]
[Step 3, Position 1, δ]
[Step 3, Position 2, δ]
[Step 3, Position 3, δ]
CIRCUITS
Introducing…
CIRCUITS
CIRCUITS
Weighted Circuit Satisfiablity
Weighted Circuit Satisfiablity
Input A circuit C, and an integer k.
Weighted Circuit Satisfiablity
Input
QuestionIs there an assignment setting EXACTLY k variables to one, that satisfies C?
A circuit C, and an integer k.
Weighted Circuit Satisfiability
Independent Set
b
c
a
d
e
f g
h
t
Weighted Circuit Satisfiability
Independent Set
b
c
a
d
e
f g
h
t t h
Weighted Circuit Satisfiability
Independent Set
b
c
a
d
e
f g
h
t t h
AND
Weighted Circuit Satisfiability
Independent Set
b
c
a
d
e
f g
h
t t h
AND
Weighted Circuit Satisfiability
Independent Set
b
c
a
d
e
f g
h
t t h
NOT
AND
Weighted Circuit Satisfiability
Independent Set
Weighted Circuit Satisfiability
Independent Set
Weighted Circuit Satisfiability
Independent Set
Weighted Circuit Satisfiability
Independent Set
Weighted Circuit Satisfiability
Independent Set
Vertices as Input Gates
NOT Gates
Edges as AND Gates
Output Gate [AND]
Weighted Circuit Satisfiability
Dominating Set
Weighted Circuit Satisfiability
Dominating Set
OR Gates
Weighted Circuit Satisfiability
Dominating Set
OR Gates
AND Gate
Weighted Circuit Satisfiability
Dominating Set
OR Gates
AND Gate
Weighted Circuit Satisfiability
Dominating Set
OR Gates
AND Gate
Weighted Circuit Satisfiability
Dominating Set
OR Gates
AND Gate
Set a Dominating Set to 1 and the rest to 0…
Weighted Circuit Satisfiability
Dominating Set
OR Gates
AND Gate
Set a Dominating Set to 1 and the rest to 0…
Weighted Circuit Satisfiability
Dominating Set
OR Gates
AND Gate
Otherwise:
Weighted Circuit Satisfiability
Independent Set
Weighted Circuit Satisfiability
Independent Set
Weighted Circuit Satisfiability
Independent Set
Weighted Circuit Satisfiability
Independent Set
The weft of a circuit is the maximum number of large nodes on
a path from an input node to the output node.
*Nodes with in-degree more than two.
Weighted Circuit Satisfiability
Independent Set
Vertices as Input Gates
NOT Gates
Edges as AND Gates
Output Gate [AND]
Weighted Circuit Satisfiability
Dominating Set
OR Gates
AND Gate
Weighted Circuit Satisfiability restricted to circuits of weft 1.
Independent Set, Clique, etc.
W[1]
Weighted Circuit Satisfiability restricted to circuits of weft 2.
W[2]
Weighted Circuit Satisfiability restricted to circuits of weft 2.
W[2]
Dominating Set, Set Cover, Hitting Set
Weighted Circuit Satisfiability restricted to circuits of weft 2.
W[2]
Dominating Set, Set Cover, Hitting Set
Weighted Circuit Satisfiability restricted to circuits of weft 2.
W[2]
Dominating Set, Set Cover, Hitting Set
CIRCUITS & SATISFIABILITY (as we know it)
Weighted Circuit Satisfiability
Independent Set
Vertices as Input Gates
NOT Gates
Edges as AND Gates
Output Gate [AND]
Input Gates
NOT Gates
AND Gates
Output Gate [AND]
Input Gates
NOT Gates
AND Gates
Output Gate [AND]
(x � y) � (z � x) � · · · � (z � y)
Weighted Circuit Satisfiability
Dominating Set
OR Gates
AND Gate
OR Gates
AND Gate
OR Gates
AND Gate
(x � y � a � b � p � q) � (z � x � r) � · · · � (z � y � p � q � z)
Weighted Circuit Satisfiability restricted to circuits of weft 2.
Weighted Circuit Satisfiability restricted to circuits of weft 2.
Weighted SAT for Appropriately Normalized & Monotone Formulas
Weighted Circuit Satisfiability restricted to circuits of weft 2.
Weighted SAT for Appropriately Normalized & Monotone Formulas
Weighted Circuit Satisfiability restricted to circuits of weft 2.
Weighted SAT for Appropriately Normalized & Monotone Formulas
Weighted Circuit Satisfiability restricted to circuits of weft 2.
Weighted SAT for Appropriately Normalized & Monotone Formulas
Dominating Set, Set Cover, Hitting Set
Weighted Circuit Satisfiability restricted to circuits of weft 2.
Weighted SAT for Appropriately Normalized & Monotone Formulas
Dominating Set, Set Cover, Hitting Set
Weighted Circuit Satisfiability restricted to circuits of weft 2.
Weighted SAT for Appropriately Normalized & Monotone Formulas
Dominating Set, Set Cover, Hitting Set
Weighted Circuit Satisfiability restricted to circuits of weft 2.
Weighted SAT for Appropriately Normalized & Monotone Formulas
Dominating Set, Set Cover, Hitting Set
(x � y � a � b � p � q) � (z � x � r) � · · · � (z � y � p � q � z)
(x � y � a � b � p � q) � (z � x � r) � · · · � (z � y � p � q � z)
(x � y � a � b � p � q) � (z � x � r) � · · · � (z � y � p � q � z)
p
(x � y � a � b � p � q) � (z � x � r) � · · · � (z � y � p � q � z)
p