a polynomial-space exact algorithm for tsp in degree-7 graphs · a polynomial-space exact algorithm...

29
A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi Nagamochi Graduate School of Informatics Kyoto University, Japan AAAC 2016 Taipei, Taiwan 14 - 16 May 2016 Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 1 / 20

Upload: others

Post on 22-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

A Polynomial-Space Exact Algorithmfor TSP in Degree-7 Graphs

Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi Nagamochi

Graduate School of InformaticsKyoto University, Japan

AAAC 2016Taipei, Taiwan

14 - 16 May 2016

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 1 / 20

Page 2: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Traveling Salesman Problem

One of the most widely studied problems in combinatorial optimization.

A famous and important NP-hard optimization problem.

Input:An undirected edge-weighted graphG = (V,E).

Output:The minimum cost/length of a tour inG that passes all vertices of V exactlyonce; or

A message for the infeasibility of G.

5 2

3

6

2

1

4 3

2 2

G

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 2 / 20

Page 3: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Traveling Salesman Problem

One of the most widely studied problems in combinatorial optimization.

A famous and important NP-hard optimization problem.

Input:An undirected edge-weighted graphG = (V,E).

Output:The minimum cost/length of a tour inG that passes all vertices of V exactlyonce; or

A message for the infeasibility of G.

5 2

3

6

2

1

4 3

2 2

G

11

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 2 / 20

Page 4: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Traveling Salesman Problem

One of the most widely studied problems in combinatorial optimization.

A famous and important NP-hard optimization problem.

Input:An undirected edge-weighted graphG = (V,E).

Output:The minimum cost/length of a tour inG that passes all vertices of V exactlyonce; or

A message for the infeasibility of G.

5 2

3

6

2

1

4 3

2 2

G

2

1

21

1

infeasible

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 2 / 20

Page 5: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

TSP in Degree-k Graphs

Input:

An undirected edge-weighted degree-k graph G = (V,E).

Degree-k graphs = graphs in which vertices have at most k incident edges.

Output:The minimum cost of a tour in G that passes all vertices of V exactlyonce; or

A message for the infeasibility of G.

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 3 / 20

Page 6: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Previous ResultsGraphs Time Space Method Authors (Year)

General 2n 2n DynamicProgramming Bellman (1960)

General 4nnlog n Poly. Divide andConquer Gurevich & Shelah (1987)

Degree-3 1.2312n Poly. BranchingAlgorithm Xiao & Nagamochi (2013)

Degree-4 1.692n Poly. BranchingAlgorithm Xiao & Nagamochi (2015)

Degree-5 2.4723n Poly. BranchingAlgorithm

Md Yunos, Shurbevski &Nagamochi (2015)

Degree-6 3.0335n Poly. BranchingAlgorithm

Md Yunos, Shurbevski &Nagamochi (2015)

Degree-k,k ≥ 7 3.5939n Poly. Branching

Algorithm This presentation (2016)

Degree-k,k ≥ 8 open Poly.

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 4 / 20

Page 7: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Forced TSP

Input:An undirected edge-weighted graphG = (V,E),

Set of forced edges F ⊆ E.

Output:

The minimum cost of a tour in (G,F)that passes all vertices of V exactlyonce, and all forced edges of F; or

A message for the infeasibility of(G,F).

5 2

3

6

2

1

4 3

2 2

G

: unforced edges

: forced edges

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 5 / 20

Page 8: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Forced TSP

Input:An undirected edge-weighted graphG = (V,E),

Set of forced edges F ⊆ E.

Output:

The minimum cost of a tour in (G,F)that passes all vertices of V exactlyonce, and all forced edges of F; or

A message for the infeasibility of(G,F).

5 2

3

6

2

1

4 3

2 2

G

: unforced edges

: forced edges

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 5 / 20

Page 9: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Design a polynomial-space branching algorithmReduction procedure.

Branching operations.

Time analysis: Measure-and-conquer methodA weight for each of the vertices.

Branching vector.

Branching factor.

The worst branching factor determines the running time.

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 6 / 20

Page 10: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Various Types of Vertices

: degree-3 vertex

: degree-4 vertex

: degree-5 vertex

: degree-6 vertex

: degree-7 vertex

: unforced edges : forced edges

G

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 7 / 20

Page 11: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Types of Vertices and their Weight, w

: unforced edges : forced edges w(v) = 0, otherwise

Forced

vertices:

w’3 ≤ w’4 ≤ w’5 ≤ w’6 ≤ w’7

f3 vertex f4 vertex f5 vertex f6 vertex f7 vertex

Unforced

vertices:

w3 ≤ w4 ≤ w5 ≤ w6 ≤ w7 u3 vertex u4 vertex u5 vertex u6 vertex u7 vertex

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 8 / 20

Page 12: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Measure-and-Conquer

Measure µ for a given instance I = (G,F) of forced TSP:

µ(I) =∑

v∈V(G)

(ω(v))

ω(v) =

w7 = 1 for a u7 vertexw′7 = 0.5081 for an f7 vertexw6 = 0.8675 for a u6 vertexw′6 = 0.4491 for an f6 vertexw5 = 0.7076 for a u5 vertexw′5 = 0.3780 for an f5 vertexw4 = 0.5037 for a u4 vertexw′4 = 0.2855 for an f4 vertexw3 = 0.2319 for a u3 vertexw′3 = 0.1298 for an f3 vertex

0 otherwise

u4

u4

u4 u3

u3

u3

f3

u5

u6

f7

µ(I) = w4 + w3 + w6 + w4 + w3 + w4 + w′7 + w5 + w3 + w′3= 4.4198

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 9 / 20

Page 13: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Reduction Procedure

Infeasibility conditions:

i)

ii)

or

Reduction Rules:

i)

ii)

: unforced edges : forced edges : deleted edges

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 10 / 20

Page 14: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Branching Operation

force(e) delete(e)

Ge

Instance I with size µ

G’

Instance I’

with size µ-a

G’’

Instance I’’

with size µ-b

: unforced edges : forced edges : deleted edges

(a, b) is a branching vector of the branching rules.This implies the linear recurrence: T(µ) ≤ T(µ− a) + T(µ− b).

T(µ) = O(cµ), where c is the branching factor of the branching vector (a, b)Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 11 / 20

Page 15: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Branching Operation

force(e) delete(e)

Ge

Instance I with size µ

G’

Instance I’

with size µ-a

G’’

Instance I’’

with size µ-b

Choose edge eand branch on

force(e) delete(e)

G’’G’

µ(I) = 4.4198

G

e

: unforced edges : forced edges : deleted edges

(a, b) is a branching vector of the branching rules.This implies the linear recurrence: T(µ) ≤ T(µ− a) + T(µ− b).

T(µ) = O(cµ), where c is the branching factor of the branching vector (a, b)Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 11 / 20

Page 16: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Branching Operation

force(e) delete(e)

Ge

Instance I with size µ

G’

Instance I’

with size µ-a

G’’

Instance I’’

with size µ-b

Choose edge eand branch on

force(e) delete(e)

G’’G’

µ(I) = 4.4198

G

e

: unforced edges : forced edges : deleted edges

(a, b) is a branching vector of the branching rules.This implies the linear recurrence: T(µ) ≤ T(µ− a) + T(µ− b).

T(µ) = O(cµ), where c is the branching factor of the branching vector (a, b)Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 11 / 20

Page 17: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Branching Operation

force(e) delete(e)

Ge

Instance I with size µ

G’

Instance I’

with size µ-a

G’’

Instance I’’

with size µ-b

Choose edge eand branch on

force(e) delete(e)

G’’G’

µ(I’) = 2.1225

µ(I) = 4.4198

G

e

: unforced edges : forced edges : deleted edges

(a, b) is a branching vector of the branching rules.This implies the linear recurrence: T(µ) ≤ T(µ− a) + T(µ− b).

T(µ) = O(cµ), where c is the branching factor of the branching vector (a, b)Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 11 / 20

Page 18: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Branching Operation

force(e) delete(e)

Ge

Instance I with size µ

G’

Instance I’

with size µ-a

G’’

Instance I’’

with size µ-b

Choose edge eand branch on

force(e) delete(e)

G’’G’

µ(I’) = 2.1225

µ(I) = 4.4198

G

e

: unforced edges : forced edges : deleted edges

(a, b) is a branching vector of the branching rules.This implies the linear recurrence: T(µ) ≤ T(µ− a) + T(µ− b).

T(µ) = O(cµ), where c is the branching factor of the branching vector (a, b)Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 11 / 20

Page 19: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Branching Operation

force(e) delete(e)

Ge

Instance I with size µ

G’

Instance I’

with size µ-a

G’’

Instance I’’

with size µ-b

Choose edge eand branch on

force(e) delete(e)

G’’G’

µ(I’) = 2.1225

µ(I) = 4.4198

G

e

: unforced edges : forced edges : deleted edges

(a, b) is a branching vector of the branching rules.This implies the linear recurrence: T(µ) ≤ T(µ− a) + T(µ− b).

T(µ) = O(cµ), where c is the branching factor of the branching vector (a, b)Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 11 / 20

Page 20: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Branching Operation

force(e) delete(e)

Ge

Instance I with size µ

G’

Instance I’

with size µ-a

G’’

Instance I’’

with size µ-b

Choose edge eand branch on

force(e) delete(e)

G’’

µ(I’’) = 3.6189

G’

µ(I’) = 2.1225

µ(I) = 4.4198

G

e

: unforced edges : forced edges : deleted edges

(a, b) is a branching vector of the branching rules.This implies the linear recurrence: T(µ) ≤ T(µ− a) + T(µ− b).

T(µ) = O(cµ), where c is the branching factor of the branching vector (a, b)Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 11 / 20

Page 21: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

How to Choose an Edge to Branch On

Branching rules applied to an edge e = vt:

v

t

e

While there is a vertex of degree 7,

For the choice of a vertex v of degree 7:

Higher Priority Less Priorityv v

f7 vertex u7 vertex

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 12 / 20

Page 22: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

How to Choose an Edge to Branch On

For the choice of a vertex t :

Higher Priority Less Priority

f3-vertex

v

t

u3-vertex

v

t

f4-vertex

v

t

u4-vertex

v

t

f5-vertex

v

t

u5-vertex

v

t

f6-vertex

v

t

u6-vertex

v

t

f7 vertex

v

t

u7 vertex

v

t

v

t1

t2 t3 t4

e

t5

t6

t7

v

t1

t2 t3 t4

e

t5

t6

There are 24 cases which make our branching rules.

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 13 / 20

Page 23: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Switching to the TSP in Degree-(k − 1) Graphs

G’’G’

: degree-3 vertex

: degree-4 vertex

: degree-5 vertex

: degree-6 vertex

When the graph has no more degree-k vertices, switch and use analgorithm of the TSP in degree-(k − 1) graphs.

Here, switch and use the O∗(3.0335n)-time algorithm for the TSP indegree-6 graphs by Norhazwani et al. (2015).

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 14 / 20

Page 24: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Analysis

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 15 / 20

Page 25: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Analysis (Example for c-3)

force(vt1) delete(vt1)

: unforced edges

: forced edges

: newly deleted edges : newly forced edges

t7 t8

v

t1

t2 t3

e

t4

t5

t6

t7 t8

v

t1

t2 t3

e

t4

t5

t6

t7 t8

v

t1

t2 t3

e

t4

t5

t6

Branching vector:(w′

7 + w3 − w′3 + 5m3 , w′

7 − w′6 + w3 + 2m2)

wherem2 = min{w′

3, (w3 − w′3), w′

4, (w4 − w′4), w′

5, (w5 − w′5), w′

6, (w6 − w′6), w′

7, (w7 − w′7)}.

m3 = min{w3, (w′4 − w′

3), (w4 − w3), (w′5 − w′

4), (w5 − w4), (w′6 − w′

5), (w6 − w5), (w′7 − w′

6), (w7 − w6)}.

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 16 / 20

Page 26: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Analysis

When there exist degree-7 vertices:Each of the 24 branching vectors has a branching factor ≤ 3.593854.

For switching1 to TSP in degree-6 graphs, the running time bound forTSP in degree-6 graphs is:

T(µ) ≤ O(3.0335z)

where

z = maxv∈V(G)

ω̂(v)ω(v)

and ω̂ = weight function for TSP6.

1Xiao, M., Nagamochi, H.: Exact Algorithms for Maximum Independent Set. In:Algorithms and Computation. Lecture Notes in Computer Science, vol. 8283, pp. 328–338(2013)

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 17 / 20

Page 27: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Branching Factor

Quasiconvex program introduced by Eppstein2 to find the weights ω(v)which will give us the best branching vector subject to the constraints,and therefore deriving a branching factor.The constraints in our quasiconvex program:

All the branching vectorsSwitching equation

2Eppstein, D.: Quasiconvex Analysis of Backtracking Algorithms. In: Proceedings of the15th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2004), ACM Press, pp.781–790 (2004)

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 18 / 20

Page 28: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Conclusion and Future Work

Result:

The TSP in an n-vertex graph G with maximum degree 7 can be solvedin O∗(3.5939n) time and polynomial space.

Future Work:It is interesting to find whether the time bound of our algorithm can befurther improved.

Modified analysis technique.Re-examination of the branching rules.

Work on TSP in higher degree graphs.

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 19 / 20

Page 29: A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs · A Polynomial-Space Exact Algorithm for TSP in Degree-7 Graphs Norhazwani Md Yunos, Aleksandar Shurbevski, Hiroshi

Thank you

Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 20 / 20