The W Hierarchy

Post on 29-Jun-2015

64 views 5 download

Tags:

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