HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
, iterative compression is an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
ic technique for the design of fixed-parameter tractable algorithms, in which one element (such as a vertex of a graph) is added to the problem in each step, and a small solution for the problem prior to the addition is used to help find a small solution to the problem after the step. The technique was invented by Reed, Smith and Vetta. to show that the problem of
odd cycle transversal In graph theory, an odd cycle transversal of an undirected graph is a set of vertices of the graph that has a nonempty intersection with every odd cycle in the graph. Removing the vertices of an odd cycle transversal from a graph leaves a biparti ...
was solvable in time , for a graph with vertices, edges, and odd cycle transversal number . Odd cycle transversal is the problem of finding the smallest set of vertices of a graph that include at least one vertex from every odd cycle; its parameterized complexity was a longstanding open question. . This technique later proved very useful in showing
fixed-parameter tractability In computer science, parameterized complexity is a branch of computational complexity theory that focuses on classifying computational problems according to their inherent difficulty with respect to ''multiple'' parameters of the input or output. T ...
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 In graph theory, an odd cycle transversal of an undirected graph is a set of vertices of the graph that has a nonempty intersection with every odd cycle in the graph. Removing the vertices of an odd cycle transversal from a graph leaves a biparti ...
(see below) and edge bipartization,
feedback vertex set In the mathematical discipline of graph theory, a feedback vertex set (FVS) of a graph is a set of vertices whose removal leaves a graph without cycles ("removal" means deleting the vertex and all edges adjacent to it). Equivalently, each FVS conta ...
, cluster vertex deletion and directed feedback vertex set.. It has also been used successfully for exact exponential time algorithms for independent set..


Technique

Iterative compression applies, for instance, to parameterized graph problems whose inputs are a graph and a
natural number In mathematics, the natural numbers are those numbers used for counting (as in "there are ''six'' coins on the table") and ordering (as in "this is the ''third'' largest city in the country"). Numbers used for counting are called ''Cardinal n ...
, and where the problem is to test the existence of a solution (a set of vertices) of size . Suppose that the problem is closed under
induced subgraph In the mathematical field of graph theory, an induced subgraph of a graph is another graph, formed from a subset of the vertices of the graph and ''all'' of the edges (from the original graph) connecting pairs of vertices in that subset. Defini ...
s (if a solution of size exists in a given graph, then a solution of this size or smaller also exists in every induced subgraph) and that there exists an efficient subroutine that determines whether a solution of size can be compressed to a smaller solution of size . If these assumptions are met, then the problem can be solved by adding vertices one at a time to an induced subgraph, and finding the solution to the induced subgraph, as follows: #Start with a subgraph induced by a vertex set of size , and a solution that equals itself. #While , perform the following steps: #*Let be any vertex of , and add to #*Test whether the -vertex solution to can be compressed to a -vertex solution. #*If it cannot be compressed, abort the algorithm: the input graph has no -vertex solution. #*Otherwise, set to the new compressed solution and continue the loop. This algorithm calls the compression subroutine a linear number of times. Therefore, if the compression variant is solvable in fixed-parameter tractable time, i.e., ''f''(''k'') · ''n''''c'' for some constant ''c'', then the iterative compression procedure solving the entire problem runs in ''f''(''k'') · ''n''''c''+1 time. The same technique can be applied to finding sets of edges for graph properties closed under subgraphs (rather than induced subgraph), or for other properties beyond graph theory. When the value of the parameter is unknown, it can be found by using an outer level of
exponential search In computer science, an exponential search (also called doubling search or galloping search or Struzik search) is an algorithm, created by Jon Bentley and Andrew Chi-Chih Yao in 1976, for searching sorted, unbounded/infinite lists. There are num ...
or
sequential search In computer science, a linear search or sequential search is a method for finding an element within a list. It sequentially checks each element of the list until a match is found or the whole list has been searched. A linear search runs in at ...
for the optimal choice of , with each step of the search based on the same iterative compression algorithm.


Applications

In their original paper Reed et al. showed how to make a graph bipartite by deleting at most ''k'' vertices in time ''O''(3''k'' ''kmn''). Later, a simpler algorithm was given, also using iterative compression, by Lokshstanov, Saurabh and Sikdar.. In order to compress a deletion set of size to a deletion set of size , their algorithm tests all of the partitions of into three subsets: the subset of that belongs to the new deletion set, and the two subsets of that belong to the two sides of the bipartite graph that remains after deleting . Once these three sets have been selected, the remaining vertices of a deletion set (if it exists) can be found from them by applying a max-flow min-cut algorithm.
Vertex cover In graph theory, a vertex cover (sometimes node cover) of a graph is a set of vertices that includes at least one endpoint of every edge of the graph. In computer science, the problem of finding a minimum vertex cover is a classical optimizat ...
is another example for which iterative compression can be employed. In the vertex cover problem, a graph and a natural number are taken as inputs and the algorithm must decide whether there exists a set of vertices such that every edge is incident to a vertex in . In the compression variant of the problem, the input is a set of vertices that are incident to all edges of the graph, and the algorithm must find a set of size with the same property, if it exists. One way to do this is to test all choices of which subset of is to be removed from the cover and reintroduced back into the graph. Such a choice can only work if no two removed vertices are adjacent, and for each such choice, the subroutine must include in the cover all the vertices outside that are incident to an edge that becomes uncovered by this removal. Using this subroutine in an iterative compression algorithm gives a simple algorithm for vertex cover.


See also

*
Kernelization In computer science, a kernelization is a technique for designing efficient algorithms that achieve their efficiency by a preprocessing stage in which inputs to the algorithm are replaced by a smaller input, called a "kernel". The result of solvi ...
, a different design technique for fixed-parameter tractable algorithms


References

{{reflist Graph algorithms Parameterized complexity Analysis of algorithms