for hard problems

EECS Symposium 2023 | IISc | 4th April

*Neeldhara Misra*

When it comes to traditional algorithm design,

**we tend to be very demanding**.

We look at worst-case scenarios.

We expect the best from these worst-case scenarios.

This talk:

how about we agree to chill.

When it comes to traditional algorithm design,

**we tend to be very demanding**.

We look at worst-case scenarios.

We expect the best from these worst-case scenarios.

This talk:

how about we agree to chill: **a bit**.

The Cheat

*Lower Your Expectations*

*Parameterized Complexity for the Database Theorist *Martin Grohe

__Task__

Find 10 database theorists such that every paper has at least one of them as a coauthor.

Find 10 database theorists such that every database theorist has at least one of them as a coauthor.

Find 10 database theorists such that no two of them have coauthored a paper together.

__Task__

A small Hitting Set or Set Cover

Find 10 database theorists such that every database theorist has at least one of them as a coauthor.

Find 10 database theorists such that no two of them have coauthored a paper together.

__Task__

A small Hitting Set or Set Cover

A small Dominating Set

Find 10 database theorists such that no two of them have coauthored a paper together.

__Task__

A small Hitting Set or Set Cover

A small Dominating Set

A large Independent Set

__Task__

A small Hitting Set or Set Cover

A small Dominating Set

A large Independent Set

\(\mathcal{O}(n^k)\) time; polynomial when \(k = 10\).

__Task__

**A small Hitting Set or Set Cover**

A small Dominating Set

A large Independent Set

\(\mathcal{O}(n^k)\) time; polynomial when \(k = 10\).

\(\mathcal{O}\left(s^{k+1} \cdot m\right)\),

where \(s\) is the largest number of authors on any DB paper &

\(m\) is the #papers.

__Task__

A small Hitting Set or Set Cover

**A small Dominating Set**

A large Independent Set

\(\mathcal{O}(n^k)\) time; polynomial when \(k = 10\).

\(\mathcal{O}\left((d+1)^{k} \cdot n\right)\),

where \(d\) is the largest number of co-authors that any DB researcher has & \(n\)

is the total number of researchers.

\(\mathcal{O}\left(s^{k+1} \cdot m\right)\),

where \(s\) is the largest number of authors on any DB paper &

\(m\) is the #papers.

__Task__

A small Hitting Set or Set Cover

A small Dominating Set

**A large Independent Set**

\(\mathcal{O}(n^k)\) time; polynomial when \(k = 10\).

\(\mathcal{O}\left((d+1)^{k} \cdot n\right)\),

where \(d\) is the largest number of co-authors that any DB researcher has & \(n\)

is the total number of researchers.

\(\mathcal{O}\left(s^{k+1} \cdot m\right)\),

where \(s\) is the largest number of authors on any DB paper &

\(m\) is the #papers.

\(\mathcal{O}\left(k^2 \cdot d^{2 k^2}+n+m\right)\)

FPT Algorithm:

*Solve *the problem in time \(f(k)\cdot n^{O(1)}\), for some appropriate *parameter *\(k\).

Kernelization:

*Reduce *the problem in time \(n^{O(1)}\),

to an **equivalent **instance whose *size *is bounded by \(f(k)\),

for some appropriate *parameter *\(k\).

XP Algorithm:

*Solve *the problem in time \(O^\star(n^{f(k)})\), for some appropriate *parameter *\(k\).

The *art *of parameterization

**Useful**

**for real**

**Useful**

**for us**

POPL 1985: 97-107

Input: A (boolean) query \(\varphi \in \mathrm{L}\) &

a database instance \(\mathcal{I} \in C\).

Problem: Evaluate \(\varphi\) in \(\mathcal{I}\)

(i.e., decide if the answer is **YES** or **NO**).

Parameter: the size of \(\varphi\).

A backdoor into a SAT problem is a (hopefully small) set of variables which provide a *short cut* into solving the problem (Williams, Gomes, & Selman 2003).

A** strong backdoor** of a satisfiable or unsatisfiable SAT problem is the set of variables which, however they are assigned, give a simplified formula which can be solved in polynomial time.

*Backdoors potentially explain* why SAT solvers
work so well in practice!*

Two players, *Facilitator* and *Disruptor*, play against each other on a graph.

The Facilitator the has two agents: *Romeo *and *Juliet.*

The Disruptor has a team of k agents located in some vertices of the graph.

They take turns in moving their agents to adjacent vertices (or staying).

The Facilitator wins if his agents meet in some vertex of the graph.

The goal of Disruptor is to prevent the rendezvous of Facilitator agents.

Our interest is to decide whether Facilitator can win.

In general, the problem is PSPACE-hard and, when parameterized by k, co-W[2]-hard.

Known Results

Moreover, even the game’s variant where we ask whether Facilitator can ensure the meeting of his agents within τ steps is co-NP-complete already for τ = 2.

On the other hand, for chordal and P5-free graphs, we prove that the problem is solvable in polynomial time.

*Fomin et al, WG 2021*

co-NP-hard even for graphs of constant treewidth.

Our Results

*M. et al, FSTTCS 2022*

co-W[1]-hard when parameterized by the feedback vertex set number and the number of agents

Unlikely to admit a polynomial kernel when parameterized by the vertex cover number and the number of agents.

FPT when parameterized by both the vertex cover number and the solution size.

For graphs of treewidth at most two and girds, we show that the problem can

be solved in polynomial time.

Interplay of parameterized and approximation approaches

(If intractable in both worlds, can we get tractability by combining both?)

*FPT approximations *& *Lossy Kernels*

structural parameterizations (especially beyond graphs),

parameterizing above and below additive/multiplicative guarantees,

implementation and engineering aspects,

fine-grained lower bounds,

FPT in P, and much more...

(c.f. this talk for a detailed exposition)

R.G. Downey, M. R. Fellows: Parameterized Complexity

J. Flum and M. Grohe. Parameterized Complexity Theory

R. Niedermeier. Invitation to Fixed-Parameter Algorithms

Marek Cygan, Fedor V. Fomin, Lukasz Kowalik, Daniel

Lokshtanov, Dániel Marx, Marcin Pilipczuk, Michal Pilipczuk, Saket Saurabh. Parameterized Algorithms

Parameterized Algorithms

(a course on NPTEL)

FPT Wiki

*A one-stop resource for everything parameterized*