• No results found

Tour and Traversal Problems

In document Computer Science (Page 181-185)

Graph and Network Algorithms

Remark 7.3 This formulation of the network flow problem is powerful enough to capture generaliza- generaliza-tions where there are many sources and sinks (single commodity flow), and where both vertices and edges

7.8 Tour and Traversal Problems

There are many applications for finding certain kinds of paths and tours in graphs. We briefly discuss some of the basic problems.

The traveling salesman problem (TSP) is that of finding a shortest tour that visits all of the vertices in a given graph with weights on the edges. It has received considerable attention in the literature [Lawler et al. 1985]. The problem is known to be computationally intractable (NP-hard). Several heuristics are known to solve practical instances. Considerable progress has also been made for finding optimal solutions for graphs with a few thousand vertices.

One of the first graph-theoretic problems to be studied, the Euler tour problem asks for the existence of a closed walk in a given connected graph that traverses each edge exactly once. Euler proved that such a closed walk exists if and only if each vertex has even degree [Gibbons 1985]. Such a graph is known as an Eulerian graph. Given an Eulerian graph, a Euler tour in it can be computed using DFS in linear time.

Given an edge-weighted graph, the Chinese postman problem is that of finding a shortest closed walk that traverses each edge at least once. Although the problem sounds very similar to the TSP problem, it can be solved optimally in polynomial time by reducing it to the matching problem [Ahuja et al. 1993].

Acknowledgments

Samir Khuller’s research is supported by National Science Foundation (NSF) Awards CCR-9820965 and CCR-0113192.

Balaji Raghavachari’s research is supported by the National Science Foundation under Grant CCR-9820902.

Defining Terms

Assignment problem: That of finding a perfect matching of maximum (or minimum) total weight.

Augmenting path: An alternating path that can be used to augment (increase) the size of a matching.

Biconnected graph: A graph that cannot be disconnected by the removal of any single vertex.

Bipartite graph: A graph in which the vertex set can be partitioned into two sets X and Y , such that each edge connects a node in X with a node in Y .

Blocking flow: A flow function in which any directed path from s to t contains a saturated edge.

Branching: A spanning tree in a rooted graph, such that the root has a path to each vertex.

Chinese postman problem: Asks for a minimum length tour that traverses each edge at least once.

Connected: A graph in which there is a path between each pair of vertices.

Cycle: A path in which the start and end vertices of the path are identical.

Degree: The number of edges incident to a vertex in a graph.

DFS forest: A rooted forest formed by depth-first search.

Directed acyclic graph: A directed graph with no cycles.

Eulerian graph: A graph that has an Euler tour.

Euler tour problem: Asks for a traversal of the edges that visits each edge exactly once.

Forest: An acyclic graph.

Leaves: Vertices of degree one in a tree.

Matching: A subset of edges that do not share a common vertex.

Minimum spanning tree: A spanning tree of minimum total weight.

Network flow: An assignment of flow values to the edges of a graph that satisfies flow conservation, skew symmetry, and capacity constraints.

Path: An ordered list of edges such that any two consecutive edges are incident to a common vertex.

Perfect matching: A matching in which every node is matched by an edge to another node.

Sparse graph: A graph in which|E |  |V|2.

s –t cut: A partitioning of the vertex set into S and T such that s∈ S and t ∈ T.

Strongly connected: A directed graph in which there is a directed path in each direction between each pair of vertices.

Topological order: A linear ordering of the edges of a DAG such that every edge in the graph goes from left to right.

Traveling salesman problem: Asks for a minimum length tour of a graph that visits all of the vertices exactly once.

Tree: An acyclic graph with|V| − 1 edges.

Walk: An ordered sequence of edges (in which edges could repeat) such that any two consecutive edges are incident to a common vertex.

References

Ahuja, R.K., Magnanti, T., and Orlin, J. 1993. Network Flows. Prentice Hall, Upper Saddle River, NJ.

Bellman, R. 1958. On a routing problem. Q. App. Math., 16(1):87–90.

Boruvka, O. 1926. O jistem problemu minimalnim. Praca Moravske Prirodovedecke Spolecnosti, 3:37–58 (in Czech).

Cormen, T.H., Leiserson, C.E., Rivest, R.L., and Stein, C. 2001. Introduction to Algorithms, second edition.

The MIT Press.

DiBattista, G., Eades, P., Tamassia, R., and Tollis, I. 1994. Annotated bibliography on graph drawing algorithms. Comput. Geom.: Theory Applic., 4:235–282.

Dijkstra, E.W. 1959. A note on two problems in connexion with graphs. Numerische Mathematik, 1:269–

271.

Dinitz, E.A. 1970. Algorithm for solution of a problem of maximum flow in a network with power estimation. Soviet Math. Dokl., 11:1277–1280.

Elias, P., Feinstein, A., and Shannon, C.E. 1956. Note on maximum flow through a network. IRE Trans.

Inf. Theory, IT-2:117–119.

Even, S. 1979. Graph Algorithms. Computer Science Press, Potomac, MD.

Ford, L.R., Jr. and Fulkerson, D.R. 1956. Maximal flow through a network. Can. J. Math., 8:399–404.

Ford, L.R., Jr. and Fulkerson, D.R. 1962. Flows in Networks. Princeton University Press.

Fraenkel, A.S. 1970. Economic traversal of labyrinths. Math. Mag., 43:125–130.

Fredman, M. and Tarjan, R.E. 1987. Fibonacci heaps and their uses in improved network optimization algorithms. J. ACM, 34(3):596–615.

Gabow, H.N., Galil, Z., Spencer, T., and Tarjan, R.E. 1986. Efficient algorithms for finding minimum spanning trees in undirected and directed graphs. Combinatorica, 6(2):109–122.

Gibbons, A.M. 1985. Algorithmic Graph Theory. Cambridge University Press, New York.

Goldberg, A.V. and Tarjan, R.E. 1988. A new approach to the maximum-flow problem. J. ACM, 35:921–940.

Hochbaum, D.S., Ed. 1996. Approximation Algorithms for NP-Hand Problems. PWS Publishing.

Hopcroft, J.E. and Karp, R.M. 1973. An n2.5algorithm for maximum matching in bipartite graphs. SIAM J. Comput., 2(4):225–231.

Hopcroft, J.E. and Tarjan, R.E. 1973. Efficient algorithms for graph manipulation. Commun. ACM, 16:372–

378.

Jarnik, V. 1930. O jistem problemu minimalnim. Praca Moravske Prirodovedecke Spolecnosti, 6:57–63 (in Czech).

Karzanov, A.V. 1974. Determining the maximal flow in a network by the method of preflows. Soviet Math.

Dokl., 15:434–437.

Kruskal, J.B., 1956. On the shortest spanning subtree of a graph and the traveling salesman problem. Proc.

Am. Math. Soc., 7:48–50.

Kuhn, H.W. 1955. The Hungarian method for the assignment problem. Nav. Res. Logistics Q., 2:83–98.

Lawler, E.L. 1976. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston.

Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., and Shmoys, D.B. 1985. The Traveling Salesman Problem:

A Guided Tour of Combinatorial Optimization. Wiley, New York.

Lucas, E. 1882. Recreations Mathematiques. Paris.

Malhotra, V.M., Kumar, M.P., and Maheshwari, S.N. 1978. An O(|V|3) algorithm for finding maximum flows in networks. Inf. Process. Lett., 7:277–278.

Micali, S. and Vazirani, V.V. 1980. An O(

|V||E |) algorithm for finding maximum matching in general graphs, pp. 17–27. In Proc. 21st Annu. Symp. Found. Comput. Sci.

Papadimitriou, C.H. and Steiglitz, K. 1982. Combinatorial Optimization: Algorithms and Complexity. Pren-tice Hall, Upper Saddle River, NJ.

Prim, R.C. 1957. Shortest connection networks and some generalizations. Bell Sys. Tech. J., 36:1389–1401.

Tarjan, R.E. 1972. Depth first search and linear graph algorithms. SIAM J. Comput., 1:146–160.

Tarjan, R.E. 1983. Data Structures and Network Algorithms. SIAM.

Further Information

The area of graph algorithms continues to be a very active field of research. There are several journals and conferences that discuss advances in the field. Here we name a partial list of some of the important meetings: ACM Symposium on Theory of Computing, IEEE Conference on Foundations of Computer Science, ACM–SIAM Symposium on Discrete Algorithms, the International Colloquium on Automata, Languages and Programming, and the European Symposium on Algorithms. There are many other regional algorithms/theory conferences that carry research papers on graph algorithms. The journals that carry articles on current research in graph algorithms are Journal of the ACM, SIAM Journal on Computing, SIAM Journal on Discrete Mathematics, Journal of Algorithms, Algorithmica, Journal of Computer and System Sciences, Information and Computation, Information Processing Letters, and Theoretical Computer Science.

To find more details about some of the graph algorithms described in this chapter we refer the reader to the books by Cormen et al. [2001], Even [1979], and Tarjan [1983]. For network flows and matching, a more detailed survey regarding various approaches can be found in Tarjan [1983]. Papadimitriou and Steiglitz [1982] discuss the solution of many combinatorial optimization problems using a primal–dual framework.

Current research on graph algorithms focuses on approximation algorithms [Hochbaum 1996], dynamic algorithms, and in the area of graph layout and drawing [DiBattista et al. 1994].

8

In document Computer Science (Page 181-185)