HOME

TheInfoList



OR:

In
graph theory In mathematics, graph theory is the study of '' graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of '' vertices'' (also called ''nodes'' or ''points'') which are conn ...
and
theoretical computer science computer science (TCS) is a subset of general computer science and mathematics that focuses on mathematical aspects of computer science such as the theory of computation, lambda calculus, and type theory. It is difficult to circumscribe the ...
, the longest path problem is the problem of finding a simple path of maximum length in a given
graph Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
. A path is called ''simple'' if it does not have any repeated vertices; the length of a path may either be measured by its number of edges, or (in
weighted graph This is a glossary of graph theory. Graph theory is the study of graphs, systems of nodes or vertices connected in pairs by lines or edges. Symbols A B ...
s) by the sum of the weights of its edges. In contrast to the
shortest path problem In graph theory, the shortest path problem is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is minimized. The problem of finding the shortest path between ...
, which can be solved in
polynomial time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
in graphs without negative-weight cycles, the longest path problem is
NP-hard In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
and the decision version of the problem, which asks whether a path exists of at least some given length, is
NP-complete In computational complexity theory, a problem is NP-complete when: # it is a problem for which the correctness of each solution can be verified quickly (namely, in polynomial time) and a brute-force search algorithm can find a solution by trying ...
. This means that the decision problem cannot be solved in polynomial time for arbitrary graphs unless P = NP. Stronger hardness results are also known showing that it is difficult to approximate. However, it has a
linear time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
solution for
directed acyclic graph In mathematics, particularly graph theory, and computer science, a directed acyclic graph (DAG) is a directed graph with no directed cycles. That is, it consists of vertices and edges (also called ''arcs''), with each edge directed from one ...
s, which has important applications in finding the critical path in scheduling problems.


NP-hardness

The NP-hardness of the unweighted longest path problem can be shown using a reduction from the
Hamiltonian path problem In the mathematical field of graph theory the Hamiltonian path problem and the Hamiltonian cycle problem are problems of determining whether a Hamiltonian path (a path in an undirected or directed graph that visits each vertex exactly once) or ...
: a graph ''G'' has a Hamiltonian path if and only if its longest path has length ''n'' − 1, where ''n'' is the number of vertices in ''G''. Because the Hamiltonian path problem is NP-complete, this reduction shows that the decision version of the longest path problem is also NP-complete. In this decision problem, the input is a graph ''G'' and a number ''k''; the desired output is ''yes'' if ''G'' contains a path of ''k'' or more edges, and ''no'' otherwise. If the longest path problem could be solved in polynomial time, it could be used to solve this decision problem, by finding a longest path and then comparing its length to the number ''k''. Therefore, the longest path problem is NP-hard. The question "does there exist a simple path in a given graph with at least ''k'' edges" is NP-complete. In weighted
complete graph In the mathematical field of graph theory, a complete graph is a simple undirected graph in which every pair of distinct vertices is connected by a unique edge. A complete digraph is a directed graph in which every pair of distinct vertices is ...
s with non-negative edge weights, the weighted longest path problem is the same as the Travelling salesman path problem, because the longest path always includes all vertices.


Acyclic graphs

A longest path between two given vertices ''s'' and ''t'' in a weighted graph ''G'' is the same thing as a shortest path in a graph −''G'' derived from ''G'' by changing every weight to its negation. Therefore, if shortest paths can be found in −''G'', then longest paths can also be found in ''G''. For most graphs, this transformation is not useful because it creates cycles of negative length in −''G''. But if ''G'' is a
directed acyclic graph In mathematics, particularly graph theory, and computer science, a directed acyclic graph (DAG) is a directed graph with no directed cycles. That is, it consists of vertices and edges (also called ''arcs''), with each edge directed from one ...
(DAG), then no negative cycles can be created, and a longest path in ''G'' can be found in
linear time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
by applying a linear time algorithm for shortest paths in −''G'', which is also a directed acyclic graph.. For a DAG, the longest path from a source vertex to all other vertices can be obtained by running the shortest-path algorithm on −''G''. Similarly, for each vertex ''v'' in a given DAG, the length of the longest path ending at ''v'' may be obtained by the following steps: # Find a topological ordering of the given DAG. # For each vertex ''v'' of the DAG, in the topological ordering, compute the length of the longest path ending at ''v'' by looking at its incoming neighbors and adding one to the maximum length recorded for those neighbors. If ''v'' has no incoming neighbors, set the length of the longest path ending at ''v'' to zero. In either case, record this number so that later steps of the algorithm can access it. Once this has been done, the longest path in the whole DAG may be obtained by starting at the vertex ''v'' with the largest recorded value, then repeatedly stepping backwards to its incoming neighbor with the largest recorded value, and reversing the sequence of vertices found in this way. This is equivalent to running the shortest-path algorithm on −''G''.


Critical paths

The critical path method for scheduling a set of activities involves the construction of a directed acyclic graph in which the vertices represent project milestones and the edges represent activities that must be performed after one milestone and before another; each edge is weighted by an estimate of the amount of time the corresponding activity will take to complete. In such a graph, the longest path from the first milestone to the last one is the critical path, which describes the total time for completing the project. Longest paths of directed acyclic graphs may also be applied in layered graph drawing: assigning each vertex ''v'' of a directed acyclic graph ''G'' to the layer whose number is the length of the longest path ending at ''v'' results in a layer assignment for ''G'' with the minimum possible number of layers.


Approximation

write that the longest path problem in unweighted undirected graphs "is notorious for the difficulty of understanding its approximation hardness".. The best polynomial time approximation algorithm known for this case achieves only a very weak approximation ratio, n/\exp(\Omega(\sqrt)). For all \epsilon>0, it is not possible to approximate the longest path to within a factor of 2^ unless NP is contained within quasi-polynomial deterministic time; however, there is a big gap between this inapproximability result and the known approximation algorithms for this problem. In the case of unweighted but directed graphs, strong inapproximability results are known. For every \epsilon>0 the problem cannot be approximated to within a factor of n^ unless P = NP, and with stronger complexity-theoretic assumptions it cannot be approximated to within a factor of n/\log^ n. The
color-coding In computer science and graph theory, the term color-coding refers to an algorithmic technique which is useful in the discovery of network motifs. For example, it can be used to detect a simple path of length in a given graph. The traditional c ...
technique can be used to find paths of logarithmic length, if they exist, but this gives an approximation ratio of only O(n/\log n)..


Parameterized complexity

The longest path problem is
fixed-parameter tractable 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 ...
when parameterized by the length of the path. For instance, it can be solved in time linear in the size of the input graph (but exponential in the length of the path), by an algorithm that performs the following steps: # Perform a
depth-first search Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. The algorithm starts at the root node (selecting some arbitrary node as the root node in the case of a graph) and explores as far as possible a ...
of the graph. Let d be the depth of the resulting depth-first search tree. # Use the sequence of root-to-leaf paths of the depth-first search tree, in the order in which they were traversed by the search, to construct a path decomposition of the graph, with pathwidth d. # Apply
dynamic programming Dynamic programming is both a mathematical optimization method and a computer programming method. The method was developed by Richard Bellman in the 1950s and has found applications in numerous fields, from aerospace engineering to economics. ...
to this path decomposition to find a longest path in time O(d!2^dn), where n is the number of vertices in the graph. Since the output path has length at least as large as d, the running time is also bounded by O(\ell!2^\ell n), where \ell is the length of the longest path. Using color-coding, the dependence on path length can be reduced to singly exponential. A similar dynamic programming technique shows that the longest path problem is also fixed-parameter tractable when parameterized by the
treewidth In graph theory, the treewidth of an undirected graph is an integer number which specifies, informally, how far the graph is from being a tree. The smallest treewidth is 1; the graphs with treewidth 1 are exactly the trees and the forests. The gra ...
of the graph. For graphs of bounded
clique-width In graph theory, the clique-width of a graph is a parameter that describes the structural complexity of the graph; it is closely related to treewidth, but unlike treewidth it can be bounded even for dense graphs. It is defined as the minimum n ...
, the longest path can also be solved by a polynomial time dynamic programming algorithm. However, the exponent of the polynomial depends on the clique-width of the graph, so this algorithms is not fixed-parameter tractable. The longest path problem, parameterized by clique-width, is hard for the
parameterized complexity 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. ...
class W /math>, showing that a fixed-parameter tractable algorithm is unlikely to exist.


Special classes of graphs

A linear-time algorithm for finding a longest path in a tree was proposed by Dijkstra in 1960's, while a formal proof of this algorithm was published in 2002. Furthermore, a longest path can be computed in polynomial time on weighted trees, on block graphs, on
cacti A cactus (, or less commonly, cactus) is a member of the plant family Cactaceae, a family comprising about 127 genera with some 1750 known species of the order Caryophyllales. The word ''cactus'' derives, through Latin, from the Ancient Gree ...
, on
bipartite Bipartite may refer to: * 2 (number) * Bipartite (theology), a philosophical term describing the human duality of body and soul * Bipartite graph, in mathematics, a graph in which the vertices are partitioned into two sets and every edge has an en ...
permutation graphs, and on
Ptolemaic graph In graph theory, a Ptolemaic graph is an undirected graph whose shortest path distances obey Ptolemy's inequality, which in turn was named after the Greek astronomer and mathematician Ptolemy. The Ptolemaic graphs are exactly the graphs that ar ...
s. For the class of
interval graph In graph theory, an interval graph is an undirected graph formed from a set of intervals on the real line, with a vertex for each interval and an edge between vertices whose intervals intersect. It is the intersection graph of the intervals. In ...
s, an O(n^4)-time algorithm is known, which uses a dynamic programming approach. This dynamic programming approach has been exploited to obtain polynomial-time algorithms on the greater classes of
circular-arc graph In graph theory, a circular-arc graph is the intersection graph of a set of arcs on the circle. It has one vertex for each arc in the set, and an edge between every pair of vertices corresponding to arcs that intersect. Formally, let :I_1, I_2, ...
s and of co-comparability graphs (i.e. of the complements of
comparability graph In graph theory, a comparability graph is an undirected graph that connects pairs of elements that are comparable to each other in a partial order. Comparability graphs have also been called transitively orientable graphs, partially orderable gra ...
s, which also contain
permutation graph In the mathematical field of graph theory, a permutation graph is a graph whose vertices represent the elements of a permutation, and whose edges represent pairs of elements that are reversed by the permutation. Permutation graphs may also be ...
s), both having the same running time O(n^4). The latter algorithm is based on special properties of the lexicographic depth first search (LDFS) vertex ordering of co-comparability graphs. For co-comparability graphs also an alternative polynomial-time algorithm with higher running time O(n^7) is known, which is based on the
Hasse diagram In order theory, a Hasse diagram (; ) is a type of mathematical diagram used to represent a finite partially ordered set, in the form of a drawing of its transitive reduction. Concretely, for a partially ordered set ''(S, ≤)'' one represents ...
of the
partially ordered set In mathematics, especially order theory, a partially ordered set (also poset) formalizes and generalizes the intuitive concept of an ordering, sequencing, or arrangement of the elements of a set. A poset consists of a set together with a binary ...
defined by the
complement A complement is something that completes something else. Complement may refer specifically to: The arts * Complement (music), an interval that, when added to another, spans an octave ** Aggregate complementation, the separation of pitch-clas ...
of the input co-comparability graph.. Furthermore, the longest path problem is solvable in polynomial time on any class of graphs with bounded treewidth or bounded clique-width, such as the
distance-hereditary graph In graph theory, a branch of discrete mathematics, a distance-hereditary graph (also called a completely separable graph) is a graph in which the distances in any connected induced subgraph are the same as they are in the original graph. Thus, any ...
s. Finally, it is clearly NP-hard on all graph classes on which the Hamiltonian path problem is NP-hard, such as on split graphs,
circle graph In graph theory, a circle graph is the intersection graph of a chord diagram. That is, it is an undirected graph whose vertices can be associated with a finite system of chords of a circle such that two vertices are adjacent if and only if the ...
s, and
planar graph In graph theory, a planar graph is a graph that can be embedded in the plane, i.e., it can be drawn on the plane in such a way that its edges intersect only at their endpoints. In other words, it can be drawn in such a way that no edges cro ...
s. A simple model of a directed acyclic graph is the Price model, developed by
Derek J. de Solla Price Derek John de Solla Price (22 January 1922 – 3 September 1983) was a British physicist, historian of science, and information scientist. He was known for his investigation of the Antikythera mechanism, an ancient Greek planetary computer, and ...
to represent citation networks. This is simple enough to allow for analytic results to be found for some properties. For instance, the length of the longest path, from the n-th node added to the network to the first node in the network, scales as \ln(n).


See also

*
Gallai–Hasse–Roy–Vitaver theorem In graph theory, the Gallai–Hasse–Roy–Vitaver theorem is a form of duality between the colorings of the vertices of a given undirected graph and the orientations of its edges. It states that the minimum number of colors needed to properly c ...
, a duality relation between longest paths and
graph coloring In graph theory, graph coloring is a special case of graph labeling; it is an assignment of labels traditionally called "colors" to elements of a graph subject to certain constraints. In its simplest form, it is a way of coloring the vertices ...
* Longest uncrossed knight's path *
Snake-in-the-box The snake-in-the-box problem in graph theory and computer science deals with finding a certain kind of path along the edges of a hypercube. This path starts at one corner and travels along the edges to as many corners as it can reach. After it g ...
, the longest
induced path In the mathematical area of graph theory, an induced path in an undirected graph is a path that is an induced subgraph of . That is, it is a sequence of vertices in such that each two adjacent vertices in the sequence are connected by an edg ...
in a hypercube graph * Price's model, a simple citation network model where the longest path lengths can be found analytically


References

{{reflist


External links

*
Find the Longest Path
, song by Dan Barrett Network theory NP-complete problems Graph algorithms Computational problems in graph theory Hamiltonian paths and cycles Graph distance