524,134 research outputs found
Approximating Longest Path
We investigate the computational hardness of approximating the longest path and the longest cycle in undirected and directed graphs on n vertices. We show that * in any expander graph, we can find (n) long paths in polynomial time. * there is an algorithm that finds a path of length (log2 L/ log log L) in any undirected graph having a path of length L, in polynomial time. * there is an algorithm that finds a path of length (log2 n/ log log n) in any Hamiltonian directed graph of constant bounded outdegree, in polynomial time. * there cannot be an algorithm finding paths of length (n ) for any constant > 0 in a Hamiltonian directed graph of bounded outdegree in polynomial time, unless P = NP. * there cannot be an algorithm finding paths of length (log2+ n), or cycles of length (log1+ n) for any constant > 0 in a Hamiltonian directed graph of constant bounded outdegree in polynomial time, unless 3-Sat can be solved in subexponential time
Improved Algorithms for Computing the Cycle of Minimum Cost-to-Time Ratio in Directed Graphs
We study the problem of finding the cycle of minimum cost-to-time ratio in a directed graph with n nodes and m edges. This problem has a long history in combinatorial optimization and has recently seen interesting applications in the context of quantitative verification. We focus on strongly polynomial algorithms to cover the use-case where the weights are relatively large compared to the size of the graph. Our main result is an algorithm with running time ~O(m^{3/4} n^{3/2}), which gives the first improvement over Megiddo\u27s ~O(n^3) algorithm [JACM\u2783] for sparse graphs (We use the notation ~O(.) to hide factors that are polylogarithmic in n.) We further demonstrate how to obtain both an algorithm with running time n^3/2^{Omega(sqrt(log n)} on general graphs and an algorithm with running time ~O(n) on constant treewidth graphs. To obtain our main result, we develop a parallel algorithm for negative cycle detection and single-source shortest paths that might be of independent interest
Long Circuits and Large Euler Subgraphs
An undirected graph is Eulerian if it is connected and all its vertices are
of even degree. Similarly, a directed graph is Eulerian, if for each vertex its
in-degree is equal to its out-degree. It is well known that Eulerian graphs can
be recognized in polynomial time while the problems of finding a maximum
Eulerian subgraph or a maximum induced Eulerian subgraph are NP-hard. In this
paper, we study the parameterized complexity of the following Euler subgraph
problems:
- Large Euler Subgraph: For a given graph G and integer parameter k, does G
contain an induced Eulerian subgraph with at least k vertices?
- Long Circuit: For a given graph G and integer parameter k, does G contain
an Eulerian subgraph with at least k edges?
Our main algorithmic result is that Large Euler Subgraph is fixed parameter
tractable (FPT) on undirected graphs. We find this a bit surprising because the
problem of finding an induced Eulerian subgraph with exactly k vertices is
known to be W[1]-hard. The complexity of the problem changes drastically on
directed graphs. On directed graphs we obtained the following complexity
dichotomy: Large Euler Subgraph is NP-hard for every fixed k>3 and is solvable
in polynomial time for k<=3. For Long Circuit, we prove that the problem is FPT
on directed and undirected graphs
Finding Simple Shortest Paths and Cycles
The problem of finding multiple simple shortest paths in a weighted directed
graph has many applications, and is considerably more difficult than
the corresponding problem when cycles are allowed in the paths. Even for a
single source-sink pair, it is known that two simple shortest paths cannot be
found in time polynomially smaller than (where ) unless the
All-Pairs Shortest Paths problem can be solved in a similar time bound. The
latter is a well-known open problem in algorithm design. We consider the
all-pairs version of the problem, and we give a new algorithm to find
simple shortest paths for all pairs of vertices. For , our algorithm runs
in time (where ), which is almost the same bound as
for the single pair case, and for we improve earlier bounds. Our approach
is based on forming suitable path extensions to find simple shortest paths;
this method is different from the `detour finding' technique used in most of
the prior work on simple shortest paths, replacement paths, and distance
sensitivity oracles.
Enumerating simple cycles is a well-studied classical problem. We present new
algorithms for generating simple cycles and simple paths in in
non-decreasing order of their weights; the algorithm for generating simple
paths is much faster, and uses another variant of path extensions. We also give
hardness results for sparse graphs, relative to the complexity of computing a
minimum weight cycle in a graph, for several variants of problems related to
finding simple paths and cycles.Comment: The current version includes new results for undirected graphs. In
Section 4, the notion of an (m,n) reduction is generalized to an f(m,n)
reductio
Approximating the Minimum Equivalent Digraph
The MEG (minimum equivalent graph) problem is, given a directed graph, to
find a small subset of the edges that maintains all reachability relations
between nodes. The problem is NP-hard. This paper gives an approximation
algorithm with performance guarantee of pi^2/6 ~ 1.64. The algorithm and its
analysis are based on the simple idea of contracting long cycles. (This result
is strengthened slightly in ``On strongly connected digraphs with bounded cycle
length'' (1996).) The analysis applies directly to 2-Exchange, a simple ``local
improvement'' algorithm, showing that its performance guarantee is 1.75.Comment: conference version in ACM-SIAM Symposium on Discrete Algorithms
(1994
- …