a polynomial-space exact algorithm for tsp in degree-7 graphs · a polynomial-space exact algorithm...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Analysis
Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 15 / 20
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
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
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
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
Thank you
Norhazwani et al. A Polynomial-Space Algorithm for TSP7 AAAC 2016 20 / 20