220 likes | 319 Views
Shortest Tour of a Sequence of Disjoint Segments in L 1. Valentin Polishchuk Applied Math and Statistics, Stony Brook University Joint work with Esther Arkin Applied Math and Statistics, Stony Brook University Alon Efrat Computer Science, the University of Arizona
E N D
Shortest Tour of a Sequence of Disjoint Segments in L1 Valentin Polishchuk Applied Math and Statistics, Stony Brook University Joint work with Esther Arkin Applied Math and Statistics, Stony Brook University Alon EfratComputer Science, the University of Arizona Cesim Erten Computer Science and Engineering, Isik University Ferran HurtadoMatemática Aplicada II, Universitat Politécnica de Catalunya Joseph Mitchell Applied Math and Statistics, Stony Brook University Carola WenkComputer Science, the University of Texas at San Antonio
Generic Touring Problem • Given: start s, end t • (B1, … , BK) – sequence of K bodies • Find: Shortest path visiting the bodies • in order • Bk+1must be visited after Bk • Bk+1may be visited before Bk • Applications • Parts Cutting, Delivery • with order specified 4 2 s 5 1 t 3
Previous Results • Lines, segmentsin R3 • Exact (exponential) algorithms[Sharir and Schorr '86, Reif and Storer '94] • Discretization [Papadimitriou '85] • Numerical procedures [Mitchell andPapadimitriou '91, Buragoetal. '04] • Convex polygons in R2[Droret al. '03] • Non-convex – NP-hard • Convex bodies in Rd[PM’05] • Convex Program
This Work • K line segments • Disjoint • 2D • L1 s 4 t 5 1 6 2 3
Our Results • Shortest tour • O(K2) • Subdivisions Skk= 1…K • O(K) • Query: shortest tour through s1…sk • O(k)
Types of Contact • pass through • reflect • bend at a vertex • sk s
The Subdivisions Sk • How to visit sk P (pass-through) S(bk) vertex cell S(ak) vertex cell ak • sk bk R (reflect) s
The Subdivisions Sk L1 • L2 P S(bk) S(ak) bk ak • sk R NOT defined by endpoints of sk Defined by endpoints of sk [Dror et al. ‘03]
L2Bona fide reflection L1Reflection? t ! t’ : s srt = st’ A s2 t A s1 r2 r1 t s1 s2 r1 r2 t’ t’2 t’1 t’
L1:Non-unique Tours L2:UniqueTours t s
We prove • Sk • O(1) complexity • Algorithms R ↓R S(ak) ak ← R ck • sk bk P S(bk)
Building the Subdivision Sk • S(ak) • S(bk) • P • R – ? • Determined by zk R S(ak) zk ak z • sk bk P S(bk)
The Function lk(p) • lk(p), lk: sk→ R • length of shortest s-p tour through s1…sk-1 • LP for lk(p) • min t1 + t2 + … + tk • s.t. ti ≥ ||pi – pi-1||1 • pi in si, p0 = s, pk = p • lk(p) – convex lk(p) p • ti = tix+tiy • tix ≥ pix–pi-1x • tix ≥ pi-1x–pix • tiy ≥ piy–pi-1y • tiy ≥ pi-1y–piy
The Point ck • lk(p) – convex • |pzk| – convex • lk(p) + |pzk| – convex • minimum • contiguous subset of sk • WLOG – single point ck R ↓R S(ak) zk ak ← R ck p • sk bk P S(bk) reflect cell R of Sk s
The Algorithm • ck is determined by lk(p) • l1(p) → • l2(p) → • l3(p) → • … • lk(p) • Complexity of lk(p) ≤ 3k • O(k) to compute R ↓R S(ak) ak ← R ck • sk bk P S(bk) s2 s1 s
Overall • Subdivisions Skk= 1…K • O(K2) • Query: shortest tour through s1…sk • O(k) • New Result – Faster Algorithm • fi,j(x,y) • from xÎsi to yÎsj through si+1…sj-1 • O(j-i) complexity • build in O*((j-i)4) O*() ignores polylog • f1,K1/4→ fK1/4,2K1/4 → … → f1,K • O*(K7/4) y sj si+1 x si
Generic Touring Problem • Given: (B1, … , BK) – sequence of K bodies • Find: Shortest path visiting the bodies • in order • Bk+1must be visited after Bk • Bk+1may be visited before Bk • Applications • Parts Cutting, Delivery • with order specified
Previous Results • Lines, segmentsin R3 • Exact (exponential) algorithms[Sharir and Schorr '86, Reif and Storer '94] • Discretization [Papadimitriou '85] • (1+ε)-APX inO(K2log(KN/ε))[Mitchell andPapadimitriou '91] • N –largest integercoordinate • (1+ε)-approximation inO(pK16+K2loglog(1/ε))[Buragoet.al '04] • p –some parameter • Convex polygons in R2 (n vertices)[Droret.al '03] • Exact strongly-polynomial algorithms • disjoint: O(nKlog(n/K)) • intersecting: O(nK2log n) • Convex bodies in Rd[PM’05] • Convex Program: O(d3n1.5K2log(1/ε)) • L1, L2 metrics
Complexity of lk(p) • Move p • Monotonically • Breakpt – vertex of Sk, Sk-1,… • <3k breakpts