HOME

TheInfoList



OR:

In
graph theory In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
, a path in a graph is a finite or infinite
sequence In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed and order matters. Like a set, it contains members (also called ''elements'', or ''terms''). The number of elements (possibly infinite) is cal ...
of edges which joins a sequence of vertices which, by most definitions, are all distinct (and since the vertices are distinct, so are the edges). A directed path (sometimes called dipath) in a directed graph is a finite or infinite sequence of edges which joins a sequence of distinct vertices, but with the added restriction that the edges be all directed in the same direction. Paths are fundamental concepts of graph theory, described in the introductory sections of most graph theory texts. See e.g. , , or . cover more advanced
algorithm In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
ic topics concerning paths in graphs.


Definitions


Walk, trail, and path

* A walk is a finite or infinite
sequence In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed and order matters. Like a set, it contains members (also called ''elements'', or ''terms''). The number of elements (possibly infinite) is cal ...
of edges which joins a sequence of vertices. : Let be a graph. A finite walk is a sequence of edges for which there is a sequence of vertices such that ''Φ''(''e''''i'') = for . is the ''vertex sequence'' of the walk. The walk is ''closed'' if ''v''1 = ''v''''n'', and it is ''open'' otherwise. An infinite walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite walk (or ray) has a first vertex but no last vertex. * A trail is a walk in which all edges are distinct. * A path is a trail in which all vertices (and therefore also all edges) are distinct. If is a finite walk with vertex sequence then ''w'' is said to be a ''walk from'' ''v''1 ''to'' ''v''''n''. Similarly for a trail or a path. If there is a finite walk between two ''distinct'' vertices then there is also a finite trail and a finite path between them. Some authors do not require that all vertices of a path be distinct and instead use the term simple path to refer to such a path where all vertices are distinct. A weighted graph associates a value (''weight'') with every edge in the graph. The ''weight of a walk'' (or trail or path) in a weighted graph is the sum of the weights of the traversed edges. Sometimes the words ''cost'' or ''length'' are used instead of weight.


Directed walk, directed trail, and directed path

* A directed walk is a finite or infinite
sequence In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed and order matters. Like a set, it contains members (also called ''elements'', or ''terms''). The number of elements (possibly infinite) is cal ...
of edges directed in the same direction which joins a sequence of vertices. : Let be a directed graph. A finite directed walk is a sequence of edges for which there is a sequence of vertices such that for . is the ''vertex sequence'' of the directed walk. The directed walk is ''closed'' if ''v''1 = ''v''''n'', and it is ''open'' otherwise. An infinite directed walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite directed walk (or ray) has a first vertex but no last vertex. * A directed trail is a directed walk in which all edges are distinct. * A directed path is a directed trail in which all vertices are distinct. If is a finite directed walk with vertex sequence then ''w'' is said to be a ''walk from'' ''v''1 ''to'' ''v''''n''. Similarly for a directed trail or a path. If there is a finite directed walk between two ''distinct'' vertices then there is also a finite directed trail and a finite directed path between them. A "simple directed path" is a path where all vertices are distinct. A weighted directed graph associates a value (''weight'') with every edge in the directed graph. The ''weight of a directed walk'' (or trail or path) in a weighted directed graph is the sum of the weights of the traversed edges. Sometimes the words ''cost'' or ''length'' are used instead of weight.


Examples

* A graph is connected if there are paths containing each pair of vertices. * A directed graph is strongly connected if there are oppositely oriented directed paths containing each pair of vertices. * A path such that no graph edges connect two nonconsecutive path vertices is called an induced path. * A path that includes every vertex of the graph without repeats is known as a Hamiltonian path. * Two paths are ''vertex-independent'' (alternatively, ''internally disjoint'' or ''internally vertex-disjoint'') if they do not have any internal vertex or edge in common. Similarly, two paths are ''edge-independent'' (or ''edge-disjoint'') if they do not have any edge in common. Two internally disjoint paths are edge-disjoint, but the converse is not necessarily true. * The
distance Distance is a numerical or occasionally qualitative measurement of how far apart objects, points, people, or ideas are. In physics or everyday usage, distance may refer to a physical length or an estimation based on other criteria (e.g. "two co ...
between two vertices in a graph is the length of a shortest path between them, if one exists, and otherwise the distance is infinity. * The diameter of a connected graph is the largest distance (defined above) between pairs of vertices of the graph.


Finding paths

Several algorithms exist to find shortest and longest paths in graphs, with the important distinction that the former problem is computationally much easier than the latter. Dijkstra's algorithm produces a list of shortest paths from a source vertex to every other vertex in directed and undirected graphs with non-negative edge weights (or no edge weights), whilst the
Bellman–Ford algorithm The Bellman–Ford algorithm is an algorithm that computes shortest paths from a single source vertex (graph theory), vertex to all of the other vertices in a weighted digraph. It is slower than Dijkstra's algorithm for the same problem, but more ...
can be applied to directed graphs with negative edge weights. The Floyd–Warshall algorithm can be used to find the shortest paths between all pairs of vertices in weighted directed graphs.


The path partition problem

The k-path partition problem is the problem of partitioning a given graph to a smallest collection of vertex-disjoint paths of length at most ''k''.


See also

* Glossary of graph theory * Path graph * Polygonal chain * Shortest path problem * Longest path problem * Dijkstra's algorithm *
Bellman–Ford algorithm The Bellman–Ford algorithm is an algorithm that computes shortest paths from a single source vertex (graph theory), vertex to all of the other vertices in a weighted digraph. It is slower than Dijkstra's algorithm for the same problem, but more ...
* Floyd–Warshall algorithm * Self-avoiding walk * Shortest-path graph


Notes


References

* * * * * * {{Authority control Graph theory objects Graph connectivity