the traveling salesman problem for cubic graphs

32
The T raveling Salesman Problem for Cubic Graphs Journal of Graph Algorithms and Applications vol. 11, no. 1, pp. 61–81 (2007) David Eppstein Adviser: Yue-Li Wang As presented by Y ing-Jhih Chen 1

Upload: davidsmc

Post on 30-May-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 1/32

The Traveling Salesman

Problem for Cubic Graphs

Journal of Graph Algorithms and Applications vol.

11, no. 1, pp. 61–81 (2007)

David Eppstein

Adviser: Yue-Li Wang

As presented by Ying-Jhih Chen

1

Page 2: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 2/32

Outline

• The TSP for cubic graph

• Special Rule

 –Triangle

 – 4-cycle

• Example

• Analysis• Degree Four 

• Hamiltonian Cycles

2

Page 3: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 3/32

Traveling Salesman Problem

• Given a number of cities and the costs of 

traveling from any city to any other city.

•What is the least-cost round-trip route thatvisits each city exactly once and then

returns to the starting city?

3

1

1

1

2

4 3

Page 4: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 4/32

Cubic

• 3-regular graph.

• E. g.

4

Page 5: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 5/32

This Algorithm

• The solution of TSP in a graph of 

degree at most three.

• n vertices, in time O(2n/3) ≈ 1.260n.

5

Page 6: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 6/32

Triangle (1/2)

6

Page 7: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 7/32

Triangle (2/2)

7

Page 8: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 8/32

4-cycle

8

Page 9: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 9/32

Example

9

2

2

2

2

1

5

1

1

1

4

33

2

2

2

2

1

5

1

1

1

4

3

32

2

2

2

1

5

1

1

1

4

33

Case

1:

Case

2:

Page 10: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 10/32

Case 2 (1/2)

10

2

2

2

2

1

5

1

14

33

3

65

3

3

2

1

2

1

Page 11: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 11/32

Case 2 (2/2)

11

3

65

3

3

2

1

2

1

Case 2-1:

3

65

33

2

1

2

1

Case 2-2:

Cost : 21 Cost : 17

Page 12: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 12/32

Case 1

12

2

2

2

2

1

5

1

1

1

4

33

Case 1-1: Case 1-2:

2

2

2

2

1

5

1

1

1

4

3

3

Page 13: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 13/32

Case 1-1

13

2

2

2

2

1

5

1

1

1

4

33

2 4

Cost: 16

Page 14: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 14/32

Case 1-2

14

2

2

2

2

1

5

1

1

1

4

3

1

18

16 2

2

2

2

1

5

1

1

1

4

33

Cost: 17

Solution: 16 ( case 1-1)

Page 15: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 15/32

Algorithm Review

• TSP ( G, F):

• 1. Repeat the following steps until one of the steps returns or none of them

applies:

 – (a)~(h)

 – (i) If G contains a triangle xyz, …

 – (j) If G contains a cycle of four unforced edges, …• 2. If G \ F forms a collection of disjoint 4-cycles, perform the following steps.

• (a)~(e)

• 3. Choose an edge yz according to the following cases:

• (a)~(c)

• 4. TSP(G, F {yz})∪

• 5. TSP(G \ {yz}, F)

• 6. Return the minimum of the numbers returned by the two recursive calls.

(step 4, 5)

15

Page 16: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 16/32

Analysis

• A nonstandard measure of the size of a

graph G: let s(G, F ) = | ν (G)| − |F | − |C |

• C denotes the set of 4-cycles of G that

form connected components of G \ F .

• Clearly, s ≤ n,

16

Page 17: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 17/32

Chain (1/2)

17

s(G1,F 

1) = s(G, F ) - 2

Page 18: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 18/32

Chain (2/2)

18

s(G2, F 2) = s(G, F ) - 5

Page 19: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 19/32

Cycle Length is Six or More

(1/2)

19

s(G1, F 

1) = s(G, F ) - 3

Page 20: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 20/32

Cycle Length is Six or More

(2/2)

20

s( G2 , F 

2 ) = s(G, F ) -3

Page 21: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 21/32

4-cycle (1/3)

21

s ( G1, F 

1) = s(G, F ) - 3

Page 22: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 22/32

4-cycle (2/3)

22

Page 23: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 23/32

4-cycle (3/3)

23

 ν (G) - 3

s (G2 , F 

2 ) = s(G, F ) - 3

Page 24: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 24/32

Case

24

s(G1, F 

1) = s(G, F ) -3 s(G

2 , F 

2 ) = s(G, F ) -3

Page 25: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 25/32

Time Complexity

• T(s) ≤ 1 + max{ sO(1),T(s − 1), 2T(s − 3), T(s 

− 2) + T(s − 5)}.

• T(s) = O(2s/3).

• s is at most n.

• A bound of O(2n/3)

25

Page 26: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 26/32

Degree Four 

• Randomly splitting vertices

26

Let f denote the number of degree four vertices in G.

The algorithm has probability (2/3)f of finding the correct TSP solution.

There are (3/2)f  repetitions.

Page 27: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 27/32

Time for Degree Four 

• O((3/2)f  2n/3) = O((3/2)n 2n/3) = O((3/2)3n/3 2n/3) =

O((27/8)n/3 2n/3) = O((27/4)n/3) ≈ 1.890n

27

Page 28: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 28/32

Listing All Hamiltonian Cycles

28

To find a Hamiltonian cycle of a 400-vertex 3-regular graph, dual to a

triangulated torus model in approximately two seconds on an 800 MHz

PowerPC G4 computer.

Page 29: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 29/32

Graphs with Many Hamiltonian

Cycles (1/2)

29

Page 30: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 30/32

Graphs with Many Hamiltonian

Cycles (2/2)

30

Cubic graph with 2n/3 Hamiltonian cycles. (4n/6 =

2n/3 )

Page 31: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 31/32

References (1/2)

• [1] E. M. Arkin, M. Held, J. S. B. Mitchell, and S. S. Skiena. Hamiltonian triangulations

for fast rendering. The Visual Computer, 12(9):429–444,1996.

• [2] R. Beigel. Finding maximum independent sets in sparse and general graphs. In Proc.

10th ACM-SIAM Symp. Discrete Algorithms, pages S856–S857, January 1999.

• [3] J. M. Byskov. Chromatic number in time O(2.4023n) using maximal independent

sets. Technical Report RS-02-45, BRICS, December 2002.

• [4] D. Eppstein. Quasiconvex analysis of backtracking algorithms. ACM Trans.

Algorithms. To appear.

• [5] D. Eppstein. Small maximal independent sets and faster exact graph coloring. J.

Graph Algorithms and Applications, 7(2):131–140, 2003.

• [6] D. Eppstein and M. Gopi. Single-strip triangulation of manifolds with arbitrary

topology. Eurographics Forum, 23(3):371–379, 2004.

• [7] M. R. Garey and D. S. Johnson. Computers and Intractability: a Guide to the Theoryof NP-Completeness. W. H. Freeman, 1979.

• [8] D. S. Johnson and L. A. McGeoch. The traveling salesman problem: a case study in

local optimization. In E. H. L. Aarts and J. K. Lenstra, editors, Local Search in

Combinatorial Optimization, pages 215–310. John Wiley and Sons, 1997.

31

Page 32: The Traveling Salesman Problem for Cubic Graphs

8/14/2019 The Traveling Salesman Problem for Cubic Graphs

http://slidepdf.com/reader/full/the-traveling-salesman-problem-for-cubic-graphs 32/32

References (2/2)

• [9] E. L. Lawler. A note on the complexity of the chromatic number problem.

Information Processing Letters, 5(3):66–67, August 1976.

• [10] B. D. McKay and G. F. Royle. Constructing the cubic graphs on up to 20 vertices.

Ars Combinatorica, 21(A):129–140, 1986.

• [11] J. M. Robson. Algorithms for maximum independent sets. J. Algorithms,

7(3):425–440, September 1986.

• [12] N. Schemenauer, T. Peters, and M. L. Hetland. Simple generators. Python

Enhancement Proposal 255, python.org, May 2001.

• [13] R. E. Tarjan and A. E. Trojanowski. Finding a maximum independent set. SIAM

J. Comput., 6(3):537–546, September 1977.

• [14] G. van Rossum et al. Python Language Website. http://www.python.org/.

• [15] B. Vandegriend. Finding Hamiltonian Cycles: Algorithms, Graphs and

Performance. Master’s thesis, Univ. of Alberta, Dept. of Computing Science, 1998.

32