Jump to content

Iterative compression

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 2601:2:4d40:bd63:49d1:2a2d:4a79:92bb (talk) at 15:55, 21 April 2015 (fixing many incorrect italics per WP:MOSMATH). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Iterative compression is an algorithmic technique invented by Reed, Smith and Vetta[1] when they showed that the problem Odd Cycle Transversal was solvable in time O(3k kmn). Odd Cycle Transversal was a longstanding central open question in parameterized complexity.[2] This technique later proved very useful in showing fixed-parameter tractability results. It is now considered to be one of the fundamental techniques in the area of parameterized algorithmics.

Iterative compression has been used successfully in many problems, for instance odd cycle transversal (see below) and edge bipartization, feedback vertex set, cluster vertex deletion and directed feedback vertex set.[3] It has also been used successfully for exact exponential time algorithms for independent set.[4]

Technique

Suppose you have a graph problem with input a graph G = (V,E) and k, where k is a natural number. Suppose furthermore that you are looking for a solution X of vertices with |X| ≤ k, and that the problem is closed under induced subgraphs. In iterative compression, we are defining a compression variant of the problem, where we are given a solution Y which is too big, e.g., of size k + 1, and are asked to compress it to a solution of size k.

If we have such a compression variant of the problem, we can run the compression variant iteratively on larger induced subgraphs G1G2G3 ⊂ ··· ⊂ Gn, where ⊂ denotes induced subgraphs, each time obtaining a compressed solution Y of size k, and then we add the newly introduced vertex to Y, leading to a solution of size k + 1. This allows us to run the compression algorithm again.

In total, this adds a linear factor overhead over the compression algorithm, so if the compression variant is solvable in fixed-parameter tractable time, i.e., f(k) · nc for some constant c, then the iterative compression procedure solving the entire problem runs in f(k) · nc+1 time.

Examples

In the original paper Reed et al. showed how to make a graph bipartite by deleting at most k vertices in time O(3k kmn). Later, a simpler algorithm was given, also using iterative compression, by Lokshstanov, Saurabh and Sikdar.[5] The technique they employed was to iteratively introduce new vertices to the deletion set Y, and in 3k+1 time, "guess" a 3-partitioning YA, YB, YX of Y which meant that YA were the vertices of Y which should belong to the A-side of the bipartite graph, YB the vertices that should belong to the B-side and YX the vertices in Y that should remain deleted. This allowed the authors to run a max-flow min-cut algorithm to correctly compute the remaining vertices to delete.

Vertex cover is another example for which iterative compression can be employed. In the vertex cover problem, we are given a graph G = (V,E) and a natural number k and are asked to decide whether there exists a set X of vertices such that every edge is incident to a vertex in X. To see that this problem is fixed-parameter tractable, it is enough to observe that in the compression variant of the problem, we have a set Y of k + 1 vertices that are incident to all edges of the graph. Now we in 2k+1 time guess which vertices will remain in the vertex cover and which vertices will be removed from the vertex cover and reintroduced back into the graph. Then what remains is to pick all the vertices that are incident to any edge which is not incident to the vertex cover. This gives a simple O(2k n2) algorithm for vertex cover.

See also

References

  1. ^ Reed, Bruce; Smith, Kaleigh; Vetta, Adrian (2004), "Finding odd cycle transversals", Operations Research Letters, 32 (4): 299–301, doi:10.1016/j.orl.2003.10.009, MR 2057781
  2. ^ Niedermeier, Rolf. Invitation to Fixed-Parameter Algorithms. Oxford University Press. p. 184. ISBN 9780198566076. {{cite book}}: |access-date= requires |url= (help)
  3. ^ Guo, Jiong; Moser, Hannes; Niedermeier, Rolf (2009), "Iterative compression for exactly solving NP-hard minimization problems", Algorithmics of Large and Complex Networks: 65–80, doi:10.1007/978-3-642-02094-0_4
  4. ^ Fomin, Fedor; Gaspers, Serge; Kratsch, Dieter; Liedloff, Mathieu; Saurabh, Saket (2010), "Iterative compression and exact algorithms", Theoretical Computer Science, 411 (7): 1045–1053, doi:10.1016/j.tcs.2009.11.012
  5. ^ Lokshtanov, Daniel; Saurabh, Saket; Sikdar, Somnath (2009), "Simpler parameterized algorithm for OCT", Combinatorial algorithms, 5874: 380–384, doi:10.1007/978-3-642-10217-2_37