Angle-Restricted Steiner Arborescences for Flow Map Layout

We introduce a new variant of the geometric Steiner arborescence problem, motivated by the layout of flow maps. Flow maps show the movement of objects between places. They reduce visual clutter by bundling lines smoothly and avoiding self-intersectio…

Authors: Kevin Buchin, Bettina Speckmann, Kevin Verbeek

Angle-Restricted Steiner Arborescences for Flow Map Layout
Angle-Restricted Steiner Arb o rescences fo r Flo w Map La y out ∗ Kevin Buc hin Bettina Sp ec kmann Kevin V erb e ek Dep. of Mathemati cs and Computer Science, TU Eindhov en, The Netherlands. k.a.buch in@tue.n l speckman @win.tue .nl k.a.b. verbeek@ tue.nl Abstrac t W e introduce a new v ariant of the geometric Steiner arb or escence problem, motiv ated b y the la yout of flo w maps. Flow ma ps sho w the mov ement of o b jects b etw een places. They reduce visual clutter b y bundling lines smo othly and av oiding self-intersections. T o capture these prop erties, our angle-r estricte d Steiner arb or esc enc es , or flux tr e es , connect sev era l targets to a so urce with a tree of minima l length who se arcs o be y a cer ta in restriction on the ang le they form with the source. W e study the prop erties of optimal flux trees and show that they are planar and consist o f logarithmic spirals a nd str aight lines. Flux trees hav e the shal low-light p r op erty . W e s how that computing optimal flux trees is NP -hard. Hence we consider a v aria nt of flux trees which uses only log arithmic spira ls. Spir al tr e es appr oximate flux trees within a factor dep ending on the angle restriction. Co mputing o ptimal spiral trees remains NP-hard, but w e pres ent a n efficient 2-approximation, which ca n b e extended to av oid “p os itive monotone” obstacles. 1 Intro duction Flo w maps are a metho d used by cartographers to visualize th e mo vemen t of ob jects b et w een places [9, 19]. One or m ore sources are connected to sev eral target s by arcs whose thickness corresp onds to the amoun t of flo w b et wee n a source an d a target. Goo d flo w maps share some common p rop erties. They r educe visual clutter b y merging (bu ndling) lines as smo othly and frequent ly as p ossible. F urthermore, they striv e to a v oid crossings b et ween lines. Flow tr e es , that is, single-source fl ows, are dra wn en tirely without crossings. Flo w map s that depict trade often route edges al ong actual shippin g routes. In a d d ition, flo w maps try to av oid co vering imp ortant map features with flo ws to a id recognizabilit y . Most flo w maps are still drawn by hand and n one of the existing algorithms (that use edge bun dling), can guarante e to pro duce crossing-free flows. In this pap er we introduce a new v arian t of geometric minimal Steiner arb or esc enc es , whic h captures the e ssential s tr ucture of flo w tree s a n d serv es as a “sk eleton” up on whic h to bu ild high- qualit y flo w trees. Our input consists of a p oint r , the r o ot (source), and n p oint s t 1 , . . . , t n , the terminals (targets). Visually app ealing flo w trees merge quickly , b ut smo othly . A geometric minimal Steiner arb orescence on our inpu t wo uld result in the shortest p ossible tree, w hic h naturally merges quic kly . A Steiner arb orescence for a giv en ro ot and a set of terminals is a ro oted directed Steiner tr e e , whic h con tains all terminals and where all edges are d irected a w a y from the r o ot. Without additional r estrictions on the edge directions (as in the rectilinear case or in the v arian t prop osed in this pap er), a geometric Steiner arb orescence is simp ly a geometric Steiner tree with directed edges. H ow eve r, S teiner arb orescences ha v e angles of 2 π/ 3 at ev ery int ern al no de and hence are qu ite far remov ed f r om the s mo oth app earance of hand-drawn flo w maps. Our goal is hence to connect t h e terminals to the r o ot with a Steiner tree o f minimal l ength whose arcs ob ey a certain restriction on the angle they form with the ro ot. ∗ A preliminary version of this pap er will app ear at the 22nd International Sym p osium on Algorithms and Com- putation (ISAAC 2011). B. Sp eckmann and K. V erb eek are supp orted by the N etherlands Organisation for Scientific Researc h (NWO) under pro ject no. 639.022.7 07. 1 Figure 1: Flow maps from ou r companion pap er [7] based on angle-restricted Steiner arb orescences: Migration from Colorado and whisky exp orts from Scotland. r γ p e Figure 2: The angle r estriction. Sp ecifically , w e use a r estricting angle α < π / 2 to control the direction of th e arcs of a Steiner arb orescence T . Con- sider a p oint p on an arc e from a terminal to the root (see Figure 2). Let γ b e the angle b etw een th e v ector from p to the ro ot r and the tangen t vect or of e at p . W e require that γ ≤ α for all p oin ts p on T . W e r efer to a Steiner arb orescence that ob eys this angle restriction as angle-r estricte d Steiner arb or esc enc e , or simply flux tr e e . Here and in the remainder of the p ap er it is conv enient to direct flux tr ees from the terminals to the ro ot. Also, to simplify descriptions, we often iden tify the n o des of a fl ux tree T with their lo cations in the plane. In the con text of flo w maps it is imp ortan t that flu x trees can a voi d obstacle s, whic h mo del imp ortant features of the und erlying geographic map. F urthermore, it is und esirable that term in als b ecome internal no des of a flux tree. W e can ensure that our trees never pass dir ectly through terminals by placing a small triangular obstacle just b ehind eac h te rm in al (as seen from the ro ot). Hence our input also includes a set of m obstacles B 1 , . . . , B m . W e denote the total complexit y (n umb er of v ertices) of all obstacles b y M . I n the presence of obstacles our go al is to find the shortest flux tree T that is planar a n d a voi d s the obstacles. The edges of flux trees are by definition “t h in ”, but their top ology and general structure are v ery suitable for fl o w tree s. In a companion pap er [7] w e d escrib e an algo rithm that thick ens and smo othes a giv en flux tree while a v oiding obstacles. Figure 1 shows t wo exa mp les of th e map s computed with our algorithm, fu rther examples and a d etailed discussion of our maps can b e foun d in [7]. Related w ork. There is a m ultitude of related work on b oth the practical and the theoretical side of our p roblem and consequen tly we cannot co ver it all. One of the first systems for the automat ed creation of fl o w maps was d ev elop ed b y T obler in the 1980s [1, 20]. His system do es not u se edge bun dling and h ence the resulting m ap s suffer from visual clutter. In 2005 Phan et al. [14] p r esen ted an a lgorithm, based on hierarc hical clustering of the termin als, whic h creates flow trees w ith bund led edges. This algorithm uses an iterativ e ad-ho c metho d to r oute edges and is often unable to av oid crossings. A second effect of this m etho d is that flo ws are often routed along counterin tu itiv e routes. The qualit y of the maps can b e improv ed b y m o ving th e terminals, which, ho we ver, is considered to b e confusin g for users by cartograph y textb o oks [19]. Recen t pap ers fr om the information visualization communit y explore alternativ e w a ys to visualize flows, b y using m ulti-view displa ys [10], animations ov er time [4], or m ap p ing tec h niques close to treemaps [21 ]. There are man y v ariations on the cla ssic Steiner tree problem w hic h emplo y metrics th at are related to their sp ecific target app lications. Of particular relev ance to this pap er is the r e ctiline ar 2 Steiner arb or esc enc e (RS A) problem, whic h is defin ed as follo ws. W e are give n a ro ot (usu ally at the origin) and a set of terminals t 1 , . . . , t n in the northeast q u adrant of th e plane. Th e goal is to find the sh ortest ro oted rectilinear tree T with all edge s directed a w a y from the r o ot, such that T con tains all p oints t 1 , . . . , t n . F or any edge of T from p = ( x p , y p ) to q = ( x q , y q ) it m us t hold that x p ≤ x q and y p ≤ y q . If we dr op th e condition of r ectilinearit y then w e arrive at the Euclide an Steiner arb or esc enc e (ESA) problem. In b oth cases it is NP-hard [17, 18] to compute a tree of minim um length. Rao et al. [16 ] give a sim p le 2-approximati on algo rithm for m in im um rectilinear Steiner arb orescences. C´ ordo v a and Lee [8] d escrib e an efficien t heur istic whic h w orks for terminals lo cated an yw here in the plane. Ramnath [15] presen ts a more in vol ved 2-appro ximation that can also deal with rectangular obstacles. Finally , Lu an d R u an [12] dev elop ed a PT AS for minimum rectilinear Steiner arb orescences, wh ic h is, ho wev er, more of theoretical than of practical interest. Conceptually related are gr adient-c onstr aine d minimum netwo rks wh ic h are stud ied b y Brazil et al. [5, 6] m otiv ated b y the d esign of und erground mines. Gradient -constrained minim um net wo rks are min imum Steiner tr ees in thr ee-dimensional space, in whic h th e (absolute) gradients of all edges are no more than an u p p er b ound m (so that h ea vy mining trucks can still drive up the ramp s mo deled by th e Steiner tree). Krozel et al. [11] study algorithms for turn-constrained routing with thic k edges in the con text of air traffic control . Their paths need to a vo id obstacles (bad we ather systems) and arriv e at a single target (the airp ort). The un ion of consecutive paths b ears some similarit y w ith fl o w maps, although it is not necessarily crossing-free or a tree. Results and organization. In Section 2 w e derive prop erties of o ptimal (minim um le ngth) flux trees. In particular, we sh o w that they are planar and that the arcs of optimal flu x trees consist of (segmen ts of ) logarithmic spir als and straigh t lines. Flux trees hav e the shal low-light pr op erty [3], that is, w e can b ound the length of an optimal flux tree in comparison with a minimum sp anning tree on the same set of terminals and we can give an upp er b ound on the length of a path b et ween an y p oin t in a fl ux tree and the ro ot. They also n aturally induce a clustering on th e terminals and smo othly b undle lines. Unfortu n ately w e can s h o w that it is NP-hard (S ection 4.1) to compute optimal flux trees. Hence, in Section 3 w e in tro du ce a v ariant of fl ux trees, so called spir al tr e es . The arcs of spiral trees consist only o f logarithmic sp ir al segmen ts. W e pro ve that s piral trees appro ximate flux trees within a factor dep endin g on the r estricting angle α . Our exp eriments sho w that α = π / 6 is a reasonable restricting angle, in this case the appr o ximation factor is sec( α ) ≈ 1 . 15. In Sect ion 4.1 w e sho w that co mp uting optimal sp iral tree s remains NP-hard. F or a sp ecial case, w e g ive an exact al gorithm in Section 4.2 that r u ns in O ( n 3 ) time. In S ection 4.3 we dev elop a 2- appro ximation algorithm for sp iral trees th at w orks in general and runs in O ( n log n ) time. Finally , in Section 5 we extend our approximat ion algorithm (without deteriorating the approxima tion factor) to include “p ositiv e monotone” obstacles. On t h e w a y , w e dev elop a new 2-appr oximati on algorithm for rectilinear S teiner arb orescences in the p resence of p ositiv e monotone obstacles. Bot h algorithms run in O (( n + M ) log ( n + M )) time, w h ere M is the total complexit y of all obstacles. 2 Optimal flux trees Recall that our in put consists of a ro ot r , terminals t 1 , . . . , t n , and a r estricting angle α < π/ 2. Without loss of generalit y we assu m e that th e ro ot lies at the origin. Recall further that an optimal flux tree is a geomet ric Steiner arb orescence, wh ose arcs are d irected from the terminals to the r o ot and that satisfies the angle r estriction. W e sho w that th e arcs of an optimal fl ux tree consist of line segmen ts an d p arts of logarithmic sp ir als (Prop erty 1), that an y no de except f or the ro ot h as at most tw o incoming arcs (Prop ert y 2), and that an optimal flux tree is planar (Prop ert y 3). Finally , flux tr ees (and also spiral trees) ha ve the shallo w-light prop ert y (Prop ert y 4 ). 3 r r p p R p S − p S + p S + p Figure 3: Spirals and spiral regions. Spiral regions. F or a p oint p in the plane, we consider the region R p of all p oin ts th at are r e achable from p with an angle-r estricte d path, that is, with a path that satisfies the angle restricti on. Cle arly , th e ro ot r is al- w a ys in R p . The b oundaries of R p consist of curv es that fo llo w one o f the t wo d irections t h at form exactly an angle α with the d irection to wards the ro ot. Curves with this prop erty are kno wn as lo garithmic spir als (see Figure 3). Logarithmic sp irals are self-similar; scaling a logarithmic spiral results in another logarithmic spiral. Logarithmic spir als are also self-approac hing as defined by Aichholze r et al. [2], who giv e upp er b ound s on the lengths of (generaliz ed) self-approac hing curv es. As all sp irals in this pap er are loga- rithmic, w e simply refer to them as spir als . F or α < π / 2 there are t wo spirals through a p oin t. The right spir al S + p is giv en by the follo wing parametric equation in p ola r co ord inates, where p = ( R , φ ): R ( t ) = Re − t and φ ( t ) = φ + tan( α ) t . The parametric equ ation of the left spir al S − p is the s ame with α replace d by − α . Note th at a righ t spiral S + p can nev er cross anot her r ight spiral S + q (the same holds f or left spirals). The spirals S + p and S − p cross infin itely often. The reac hable region R p is b ounded by the parts of S + p and S − p with 0 ≤ t ≤ π co t ( α ). W e therefore call R p the spir al r e gion of p . It follo ws directly f rom the d efi nition th at f or all q ∈ R p w e hav e that R q ⊆ R p . Lemma 1 The shortest angle-restricted path b et w een a p oin t p and a p oin t q ∈ R p consists of a straigh t segment follo wed b y a spir al segmen t. Either segmen t can hav e length zero. Pro of. Consid er th e sp irals S + q and S − q through q , sp ecificall y the parts with t ≤ 0 (see Figure 4). An y p oin t on the opp osite sid e of the sp irals as p is unable to reac h q . Thus any shortest path from p to q cannot cross eit her of these sp irals. If w e see these spirals as obstacles and ignore th e a ngle restriction for no w , the s h ortest path π is simply a straight segmen t follo wed by a spiral segmen t. No w consider an y p oint u on π . Because S + q and S + u cannot cross (same for S − q and S − u ), w e get that q ∈ R u . Therefore π also satisfies the angle restriction.  Prop ert y 1 An optimal flux tree consists of straigh t seg ments and sp iral segments. Pro of. Consider an optimal fl ux tree T . Now replace all edge s b et we en a terminal/the r o ot and a Steiner no de by the shortest angle-restricted path b et wee n th e tw o p oin ts. This can only shorten T . By Lemma 1, the resulting flu x tree consists of only straight segments and sp ir al segment s.  Prop ert y 2 Ev ery no de in an optimal flu x tree T , other than the r o ot r , has at most t wo incoming edges. Pro of. Assume T co ntains a no d e at p with at least three incoming edges. Pic k one of the incoming edges e that is not leftmost or r igh tmost and let q b e the other endp oin t of e . Let e L and q p S − q S + q Figure 4: Shortest path. Figure 5: An optimal flux tree ( α = π / 6). p q e R e L e ℓ Figure 6: Prop erty 2. 4 e R b e the leftmost and r igh tmost in coming edges of p (see Figure 6). No w consider the straigh t line ℓ from q t o the ro ot r . Assume without loss of generalit y that ℓ passes p on the left side (the righ t side is symmetric with e R ) o r ℓ go es through p . W e claim that we can locally improv e the length of T b y moving the endp oint at p o f e along e L . The angle b et ween e and e L at p is at most α . Because α < π / 2 and b ecause lo cally moving th e endp oin t of e along e L will not make the spiral segmen t of e longer, this will sh orten the tree T . Also, l o cally mo ving the en d p oint of e along e L cannot sudden ly violate the angle restriction (assumin g that α > 0). Contradict ion.  Prop ert y 3 Ev ery optimal flu x tree is planar. Pro of. Assume t wo edge s e 1 (from p 1 to q 1 ) and e 2 (from p 2 to q 2 ) cross. Let u b e the crossing b et ween e 1 and e 2 . Now simp ly remo ve the part of e 1 from u to q 1 . T here is s till a connection from p 1 to r via q 2 , s o the r esu lting tree is still a prop er flux tree. Also, remo ving a segmen t ca n n ot violate th e angle restriction and make s t h e tree sh orter. Con tradiction.  The last prop ert y requires a more inv olv ed pro of. W e p ostp one the p ro of of this pr op ert y u n til Section 3.1. Let d T ( p ) b e the distance b etw een p and r in a flux tree T and let d ( p ) b e the Euclidean distance b et ween p and r . Prop ert y 4 The length of an optimal fl ux tree T is at most O ((sec( α ) + csc( α )) log n ) times the length of the minim um spanning tree on the same set of termin als. Also, for every p oint p ∈ T , d T ( p ) ≤ sec( α ) d ( p ) . 3 Spiral trees In this section w e in tro d uce spir al tr e es and pro ve that they appro ximate flo w trees. The arcs of a spiral tr ee consist only of spiral segments of a giv en α (see Figure 7). In other w ords, an optimal spiral tree is the shortest flo w tree that uses only spir al segments. Spiral trees satisfy the angle restriction b y definition. Any particular arc of a s piral tree ca n consist of arbitrarily man y spiral segmen ts. That is, any arc of the spiral tree can switc h b et ween follo wing its righ t s piral and follo w ing its left sp iral an arbitrary num b er of times. The length of a spiral segmen t can e asily be expressed in p olar co ordinates. Let p = ( R 1 , φ 1 ) a n d q = ( R 2 , φ 2 ) be t wo p oin ts o n a spiral, then the distance D ( p, q ) b et wee n p and q on the spiral is D ( p, q ) = sec( α ) | R 1 − R 2 | . (1) Consider the shortest spir al p ath —using only spiral segments—betw een a p oint p and a point q reac hable from p . Th e reac h able region for p is still its spir al region R p , so necessarily q ∈ R p . T he length o f a sh ortest spiral path is giv en b y Equation 1. The sh ortest spiral path is not uniqu e, in particular, any sequence of spiral segmen ts from p to q is shortest, as long as we mo v e to w ard s the ro ot. Figure 7: Spiral tree with spiral regions. C R C R T T ′′ Figure 8: T and T ′′ . 5 Theorem 1 The optimal spiral tree T ′ is a s ec( α ) -approxima tion of the optimal flux tree T . Pro of. Let C R b e a circle of radius R with the r o ot r as cen ter. A lo wer bou n d for the length of T is giv en b y L ( T ) ≥ R ∞ 0 | T ∩ C R | dR , where | T ∩ C R | co unts th e n umb er o f in tersections b et ween the tree T an d the circle C R . Using Equation 1, the length of T ′ is L ( T ′ ) = sec( α ) R ∞ 0 | T ′ ∩ C R | dR . No w consider the spiral t r ee T ′′ with the same no des as T , but where al l arcs b etw een the no des are replaced b y a sequence o f spiral segment s (see Figure 8). F or a giv en circle C R , this o p eration do es not change th e n umber of in tersections of the tree with C R , i.e . | T ∩ C R | = | T ′′ ∩ C R | . S o we get the follo w ing: L ( T ′ ) ≤ L ( T ′′ ) = sec ( α ) Z ∞ 0 | T ′′ ∩ C R | dR = sec( α ) Z ∞ 0 | T ∩ C R | dR ≤ sec( α ) L ( T )  Next to the fact that optimal spiral trees are a go o d app ro ximation of optimal flux trees, they also main tain imp ortan t prop erties of optimal fl ux trees, namely P r op erties 2 and 3 . Lemma 2 An optimal spiral tr ee is planar and ev ery no de, other than th e ro ot, has at most t wo incoming edges. The ro ot has exactly one incoming edge. Pro of. First of all, only tw o spirals go through a sin gle p oin t: the left and the righ t spiral. So ev ery no de other th an th e ro ot r h as at most t wo incoming arcs, otherwise there is a r ep eated spiral segmen t w hic h can b e remo v ed. F urthermore, the same arguments as in the pro of of Pr op ert y 3 yield that also the optimal spiral tree is planar.  When w e appr o ximate an optimal flu x tree b y a spiral tr ee, we can f u rther reduce the length of the tree by rep lacing ev ery arc by the shortest angle-restricted path b et ween its endp oints. This op eration do es not improv e t h e app r o ximation factor, bu t it impr o v es th e tree visually . 3.1 Shallo w-Light Prop ert y In the follo wing we prov e the shallo w -ligh t prop ert y for optimal s piral tr ees. That is, w e b ound the length of an o p timal sp iral tree in c omparison with a minimum sp anning tree on the same set of terminals and we giv e an upp er b oun d on the length of a path b et w een an y p oin t in a spiral tree and t h e ro ot. Sin ce for flux trees the length of su c h paths and t h e total length are not larger, w e can conclude that optimal flux trees also h a v e the shallo w-ligh t prop ert y (Prop erty 4). The second part of the prop ert y (sh allo w ness) is easy to see. The path of a node to th e ro ot in an y spiral tree is by Equation 1 b ounded by sec( α ) times the distance of the no de to the ro ot. W e no w sh o w that the length of an optimal spiral tree appro ximates the length of a minim u m spanning tree by a factor of O ((sec( α ) + csc( α )) log n ). W e build a sp iral tree in the follo w in g wa y . First w e find a short cycle through the p oin ts. W e then tak e a matc hing based on this cyc le and pairwise join p oin ts b y spir al segmen ts. T his results in ⌈ n/ 2 ⌉ comp onents. O n these we again find a matc hin g an d pairwise join them and so on. W e need to ensure that the set of spiral segmen ts used in the construction is compatible with a spiral tree. Throughout this section we will assume that the ro ot of the tr ee is placed at the origin. W e call a sequence of spiral segmen ts b et ween tw o p oin ts inwar d going if th e distance f r om the segments to the origin ha ve no lo cal maxim um exce pt p ossibly at the t wo p oints. In particular, if a p oint is in the sp iral region o f another, a path of d ecreasing d istance to the ro ot f r om the outer p oint to th e inner one w ould b e i nw ard going. Any pair of p oin ts can b e joi ned by an in wa rd going sequence of t wo spiral segmen ts and inw ard going sequences are compatible with spiral trees if w e u se the p oint with smallest distance to the ro ot as join no d e. 6 W e need to b ound the length of suc h a sequence. F or this we firs t b ound the lengt h of a spiral segmen t. Let p , p ′ b e t wo p oin ts on a spiral segmen t w ith p olar co ordinates p = ( R, φ ) and p ′ = ( R ′ , φ ′ ). Equation 1 give s us a b ound in terms of R , R ′ . T o b ound the length in terms of R, φ, φ ′ , let us assume R ′ ≤ R . The other case is analogous. W e consid er the parametric equations of the spiral thr ou gh p and p ′ with ( R (0) , φ (0)) = ( R, φ ). F or p ′ w e obtain the equations R ′ = Re − t and φ ′ = φ + tan ( α ) t (or φ ′ = φ − tan ( α ) t dep ending on whether t h e p oin ts lie on a left or righ t spiral). Solving for R ′ yields R ′ = Re − ( | φ ′ − φ | ) / tan( α ) . Inserting this in to Equatio n 1 give s D ( p, p ′ ) = sec( α ) R (1 − e − ( | φ ′ − φ | ) / tan( α ) ) . (2) Equation 2 has sev eral c onsequen ces. Giv en tw o p oin ts p , q that do not lie in the spir al regions of eac h other. Assume w e ha v e t wo sequences of spiral seg ments, eac h connecting p and q suc h that no r ay through the origin in tersect a s equence t wice, and s u c h that p arameterized by th e angle φ to the origin, one sequence has a sm aller or equal distance to the origin for all φ . T hen sweeping o v er the angle and s u mming up the con tributions of Equation 2 giv es that the sequence closer to the orig in has a smaller (or equal) total arc length. Thus, the shortest co nn ection b et w een p a n d q is obtained by simp ly joining p and q by an in wa rd going sequence of t wo s piral s egmen ts. Another consequence of E quation 2 is the follo wing. Again p = ( R, φ ), q = ( R ′ , φ ′ ) are tw o p oin ts that do not lie in the spiral regions of eac h o ther. F urther assume R, φ, φ ′ are give n, but for R ′ w e only kno w R ′ ≤ R . Then the arc length of the inw ard going sequence of tw o spiral segment s joining p and q (using the angle range b et w een φ and φ ′ ) is maximized for R = R ′ . This follo w s from the same argumen t as ab o v e, i.e., the resulting sequence of spiral segmen ts dominates all others in terms of distance to the origin. So far we h a v e not link ed the arc length of the sp iral seg ments b et we en tw o p oin ts with the Euclidean distance b et ween the p oin ts. W e do this by the follo wing lemma. Lemma 3 Tw o p oin ts in the plane of distance D can b e connected by an inw ard going path of logarithmic spirals of angle α su c h that the summed length of the spiral segment s is b ounded b y 3 D max(sec( α ) , csc( α )) . The path uses at most tw o spiral segmen ts. Pro of. Let p 1 , p 2 b e t wo p oin ts of distance D w ith p olar co ordinates p 1 = ( R 1 , φ 1 ) and p 2 = ( R 2 , φ 2 ). Without loss of generalit y we assume t h at R 1 ≤ R 2 , φ 1 ≤ φ 2 and φ 2 − φ 1 ≤ π . W e first handle the case that p 1 lies in the s p iral region of p 2 . In this case we can connect the p oin ts by an in ward going path from p 2 to p 1 using t wo sp ir al segment s. By Equation 1 the length of this path is sec ( α )( R 2 − R 1 ) ≤ sec ( α ) D , whic h pro v es the claim for this case. Next w e handle the case that p 1 do es not lie in the spiral region of p 2 . In this case w e join the p oints using the righ t spir al through p 1 and the left spir al thr ough p 2 . Let p = ( R, φ ) b e the p oint wh ere the t wo p oint s fi rst join. Th e summed length of the sp iral segmen ts is L = sec( α )( R 1 + R 2 − 2 R ), which we need to b ound in terms of D W e distinguish tw o cases. First assume the points hav e a distance o f at most 3 D / 2 to the root. Then w e obtain the connection b etw een the p oin ts by simply connecting b oth to the root. Then L ≤ sec( α )( R 1 + R 2 ) ≤ 2 sec( α )3 D/ 2 = 3 D sec( α ). Next assume R 2 > 3 D/ 2. F rom the discussion of Equation 2 ab ov e we kno w that L is maximized for R 1 = R 2 . In this case w e hav e φ = ( φ 2 + φ 1 ) / 2 and therefore L = sec( α )(2 R 2 − 2 R 2 e − φ 2 − φ 1 2 tan( α ) ) = sec ( α )2 R 2 (1 − e − φ 2 − φ 1 2 tan( α ) ) ≤ sec( α )2 R 2 φ 2 − φ 1 2 tan( α ) = csc( α ) R 2 ( φ 2 − φ 1 ) . It remains to b oun d R 2 ( φ 2 − φ 1 ) in te rm s of the E u clidean distance D of the t wo p oints. Observ e that for given p 2 (with R 2 > 3 D / 2) and D the angle φ 2 − φ 1 is maximized if the lin e through the 7 origin and p 1 is tangent to the circle of r adius D around p 2 . Th us φ 2 − φ 1 is maximized if the angle formed b y p 2 , p 1 and the origin is π / 2. In this case φ 2 − φ 1 = arcsin( D /R 2 ). Th u s , in general φ 2 − φ 1 ≤ arcsin  D R 2  = arctan D p R 2 2 − D 2 ! ≤ D p R 2 2 − D 2 . Since R 2 > 3 D / 2 , we ha v e p R 2 2 − D 2 ≥ R 2 p 1 − 4 / 9. Plugging this into the abov e b oun d giv es φ 2 − φ 1 ≤ D / ( R 2 p 5 / 9). No w ins er tin g this into the b ound on L giv es L ≤ csc( α ) D/ p 5 / 9 < 3 csc( α ) D . Com binin g the cases resu lts in the c laimed b ound.  Theorem 2 The length of the optimal spiral tree of a set of p oin ts is b ou n ded by 3 ⌈ log 2 n ⌉ max(sec( α ) , csc( α )) times the length of the minimum spanning tree of the set of p oin ts with the origin in cluded. Pro of. In the follo wing w e constru ct a spiral tree for whic h th is b ound holds. Let L b e the length of the minimum sp anning tree on the p oints including the origin. Let κ = 3 max(sec( α ) , csc( α )). Let C 1 b e a cycle through the p oin ts of length at most 2 L (e.g., obtained b y ordering the p oints based on a depth first searc h in the minimum spanning tree). W e r eplace eac h edge of C 1 b y an in ward go ing sequence of at most t wo spiral s egmen ts. T his results in a cycle C ′ 1 of sequences of spiral segmen ts of le ngth a t m ost 2 κL . By taking either every ev en or e very o d d sequence we join pairs (p ossibly leaving the ro ot unmatc h ed) of no d es b y sp iral segmen ts of total length at most κL . W e r ep eat t h e construction on the join no des (and p ossibly an unmatc h ed p oint) ) using the cycle C 2 induced by the order giv en b y C ′ 1 . Again we form a cyc le of spiral segments through the v ertices of C 2 . If we parameterize corr esp onding sequences in the cycles C ′ 1 and C ′ 2 b y the angle φ from the origin, the s equences in cycle C ′ 2 are closer to the origin than th e corresp ond ing sequences in C ′ 1 for all angles. Thus as consequence of Eq u ation 2 the length of C ′ 2 is b ounded b y the length of C ′ 1 and therefore by 2 κL . Thus as in the pr evious step w e ca n j oin pairs of join n o des using spiral segmen ts of total length at most κL . Next w e constru ct C ′ 3 from C ′ 2 in the same wa y and iterate the constru ction. After at most ⌈ log 2 n ⌉ all no des hav e b een joined. T h e total length is then ⌈ log 2 n ⌉ κL as claimed.  3.2 Relation with rectilinea r Steiner a rb o re sc ences. Both rectilinear Steiner arb orescences and spiral trees con tain d irected paths, from the root to the te rm inals or v ice v ersa. Ev ery edge of a rectilinear Steiner arb orescence is restricted to p oin t righ t o r up, wh ic h is s im ilar t o the angle restrict ion of fl u x and spiral trees. In fact, there e xists a transformation from rectilinear Steiner arb orescences into sp iral trees. Consider the follo wing trans - formation from th e co ordinates ( x, y ) of a r ectilinear Steiner arb orescence to the p olar co ordin ates ( R, φ ) of a sp ir al tree. R = e x + y (3) φ =( y − x ) tan( α ) Assume w e k eep one of the co ordinates x or y fixed. Using th e spiral equation from Section 2 w e see th at th e result is a spiral. More sp ecificall y , kee pin g x fixed results in left spirals and kee pin g y fi xed resu lts in r igh t sp ir als. So that means that the ab ov e transformation transforms horizont al and ve r tical lines to righ t and left sp irals, resp ectiv ely (see Figure 9). The trans f ormation maps the ro ot of the r ectilinear Steiner arb orescence to (1 , 0). Th us, to get a v alid s p iral tree, w e still need to conn ect (1 , 0) to r . 8 Figure 9: A rectilinear Steiner arb orescence transformed to a spiral tree. Lemma 4 The t ran s formation in Equ ation 3 transforms a rectil inear Steiner arb orescence int o a spiral tree. Unfortunately , the transformation has sev eral shortcomings. First of all, the transformation is not a bijection, it is a su rjection. That means we can inv ert the tran s formation, bu t only if w e restrict the domain in the rectilinear space. But most imp ortan tly , the metric does not carry o v er the transformation. Th at means that it is not necessarily tr ue that the m in im um rectilinear Steiner arb orescence transform s to the optimal spiral tree. Thus the relation b et ween the concepts cannot b e us ed directly and algorithms deve lop ed for rectilinear Steiner arb orescences cannot b e simply mo dified to compute spir al trees. Ho wev er, th e same b asic ideas can often b e used in b oth settings. 4 Computing spiral trees In this section we describ e algorithms to compute (approximati ons of ) optimal sp ir al trees. First we sho w th at it is NP-hard to compu te optimal flux or s piral trees. Th en w e giv e an exact algorithm for computing optimal spiral trees in the sp ecia l case th at all s piral regions are empt y , i.e. t i / ∈ R t j for all i 6 = j . Finally we give an approximat ion algorithm for computing optimal spir al trees in the general case. 4.1 Computing optimal flux and spiral trees is NP-hard F or the hardness pro ofs w e will c ho ose α = π / 4. The reduction is from the r ectilinear Steiner arb orescence (RSA) problem [18] for sp iral trees, and from the Euclidean Steiner arb orescence (ESA) problem [17] fo r fl ux trees. S hi and Su [18 ] pro ved b y a reduction from planar 3 S A T th at the d ecision versions of the RSA problem and the ES A problem are NP-hard. Their redu ction uses p oints on an O ( m × m ) grid , where m b ound s the size of the 3SA T instance. W e can assume the grid to b e an integer grid. No w if there is a s atisfying assignmen t, the optimal RSA and ES A ha ve an in teger length K , wh ile if there is no suc h assignmen t the optimal RSA and ESA h a v e length at least K + 1. W e can th er efore state the problems for whic h they pro ved NP-hardness and from which w e will reduce as follo ws. Instance: A set of in teger p oin ts P = { p 1 , . . . , p N } in the first qu adrant of the plane w ith co ordinates b oun ded by O ( N 2 ); a p ositiv e intege r K . Question ( RSA): Is there a RSA of total length K or less? Otherwise th e shortest RSA h as length at least K + 1. Question (ESA): Is there a ESA of total length K or less? Otherwise the shortest RS A has length at least K + 1. 9 Figure 10: Red u ction. The b asic idea is sketc hed in Figur e 10. Assume we are giv en an instance of the Euclidean Steiner arb orescence problem with p olyno- mially b ounded co ordinates. W e translate the set of terminals by a large polynomial factor along the diagonal with slop e 1 and place a new root at the origin. I f the b oun d on the coordin ates is small (the square in Figure 1 0) rela tive to t he fac tor of the trans lation, then the angle f ormed by the line through an y of the translated p oin ts and the origin with the x-axis is “more or less π / 4”. A π / 4-restricted flu x tree th us behav es within this square “more or less” lik e an Euclidean Steiner arb orescence. F o r sp iral trees we use the same s etup bu t sho w that the distances on the spiral tr ee appro ximate the L 1 -norm. Ho w eve r, quantifying “more or less” precisely is tec hnically r ather inv olv ed a nd w ill b e done in this section. T o dra w the connection from S teiner arb orescences to flux and spir al trees we generali ze the concept of RSAs a n d ESAs. F or flu x and sp iral trees the angle α is b ound ed r elativ e to the ro ot while f or RSAs an d ES As the angle that an edge can make with the x -axis is b oun ded (or w ith any giv en line thr ough the origin). F or ES As the angle of an edge is in [0 , π / 2] , wh ile for RSAs the angle is in { 0 , π / 2 } . W e call a S teiner arb orescence with angles in [ β , π / 2 − β ] a ( ≥ β )-Steiner arb orescence (( ≥ β )-SA) and a S teiner arb orescence with angles in { β , π / 2 − β } a β -Steiner arb orescence ( β -SA). W e do not restrict β to b e p ositiv e bu t to − π / 4 < β < π / 4. In th e follo wing Steiner arb orescences are t ypically n ot r o oted at the origin. No w let − π / 4 < β < β ′ < π / 4. Every ( ≥ β ′ )-SA is a ( ≥ β )-SA but the con verse does n ot hold. Ho w eve r, w e can transform a ( ≥ β )-SA to ( ≥ β ′ )-SA of similar length. O u r transformation first transforms the whole tree and then connects th e original p oints to their images under the fi r st transformation. T h e transformation actually changes the location of the ro ot. F or the reduction w e giv e this is not a problem b ecause in the reduction we will hav e an additional ro ot to whic h b oth the ro ot of the original tree and the ro ot of the transf orm ed tree need to conn ect. Let η 1 = ( − cos β , − sin β ) and η 2 = ( − sin β , − cos β ). Let p 1 , . . . , p n b e p oints with p i = u i η 1 + v i η 2 , ( u i , v i ) ∈ [0 , B ] 2 , wh ere B ma y dep end on n . Let T b e a ( ≥ β )-SA on p 1 , . . . , p n with ro ot B η 1 + B η 2 . Let λ = cos( β + β ′ ) / cos(2 β ′ ) and η ′ 1 = λ ( − cos β ′ , − sin β ′ ) and η ′ 2 = λ ( − sin β ′ , − cos β ′ ). W e transform T by the follo wing transformation τ : R 2 → R 2 : An y p oint p = uη 1 + v η 2 is m ap p ed to q = uη ′ 1 + v η ′ 2 . W e obtain a Steiner arb orescence T ′ on p 1 , . . . , p n with ro ot B η ′ 1 + B η ′ 2 b y connecting p i to τ ( p i ) b y a line segment. Let λ ′ = sin( β ′ − β ) / cos( β + β ′ ). Lemma 5 T ′ is a ( ≥ β ′ ) -SA and | T ′ | ≤ λ | T | + 2 λ ′ B n. Pro of. If w e ignore the connections b et ween the p i s and τ ( p i )s the resulting trans f ormed tree b y construction fu lfils the angle r estriction and its length is λ | T | . W e therefore only n eed to sho w th at the connections fulfil the angle restriction and that the length of an y connection is b ounded b y λ ′ . W e ha v e p i − τ ( p i ) = u i ( η 1 − η ′ 1 ) + v i ( η 2 − η ′ 2 ). It therefore suffices to p r o v e that η 1 − η ′ 1 and η 2 − η ′ 2 fulfil the angle restriction. Since η 2 − η ′ 2 is η 1 − η ′ 1 mirrored at the diagonal with slop e 1, it actually suffices to consider η 1 − η ′ 1 . (0 , 0) η 1 β β ′ η ′ 1 γ γ ′ Figure 11: Lemma 5. Consider the triangle formed by the origin, η 1 and η ′ 1 (see Figure 11). W e hav e | η 1 | = 1 and | η ′ 1 | = λ . By the la w of sines λ = sin γ / sin γ ′ . This equation h olds for γ = π / 2 + β + β ′ , since then γ ′ = π − ( β ′ − β ) − γ = π / 2 − 2 β ′ and therefore sin γ / sin γ ′ = sin( π / 2 + β + β ′ ) / sin( π / 2 − 2 β ′ ) = cos( β + β ′ ) / cos(2 β ′ ) = λ . On the other hand with γ = π / 2+ β + β ′ w e ha ve η ′ 1 is in deed reac hable from η 1 in a ( ≥ β ′ )-SA. The length of the connection is her e the length of the th ird side of the triangle, which is sin ( β ′ − β ) / sin γ = λ ′ . More generally th e length of a connection is b ound ed b y 2 B , that is B for eac h co ordin ate. Since w e ha ve n such connections the b ou n d of the lemma holds.  10 In Lemma 5 we hav e t wo su mmands, one dep ending on | T | and one on n . S ince the terminals lie on an in teger grid and since every terminal h as to connect to the tree, th e length of the tree is at least of order n . Observ ation 1 If the terminals of a Steiner arb orescence T ha ve inte ger coord inates then n ≤ 2 | T | . Theorem 3 It is NP-hard to compute the optimal flux tree of a p oin t set. Pro of. Giv en an ES A instance with ro ot (0 , 0) and with the coordin ates x and y of any p oin t ( x, y ) on th e tree b oun ded by cn 2 , w e translate ev ery terminal b y 2 n k (1 , 1) fo r a co n s tan t in teger k > 2 sp ecified later. W e include the translated ro ot in the p oin t set but not as ro ot. Instead w e tak e (0 , 0) again as ro ot The sh ortest ES A is simp ly th e originally s hortest trans lated with one additional edge from (2 n k , 2 n k ) to (0 , 0). No w, consider a p oint ( c ′ n k + x, c ′ n k + y ) with c ′ ≥ 1 and 0 ≤ x, y ≤ cn 2 . T he angle of a lin e through this point and the origin with the diagonal of slop e 1 is b ounded by β max = cn 2 /n k = c/n k − 2 . No w, restricted to such p oints ev ery ( ≥ β max )-SA is a flux tree with α = π / 4, and ev ery such flux tree a ( ≥ − β max )-SA. Also, eve ry ( ≥ β max )-SA is a Euclidean Steiner arb oresce n ce, and ev ery E uclidean Steiner arb orescence a ( ≥ − β max )-SA. Thus, if we sh o w that ( ≥ β max )-SAs app ro ximate ( ≥ − β max )-SAs well, this directly imp lies that fl ux trees appro ximate Euclidean Steiner arb orescences w ell. More sp ecifically , if w e w ant to show that the length of the shortest flux tree a p p ro ximates the shortest Euclidean Steiner arb orescence up to a precision of 1 (so that we can mak e the distinction b et w een K and K + 1) then it is sufficien t to pro ve that a ( ≥ β max )-SA T ′ can appro ximate a ( ≥ − β max )-SA T up to this precision. By Lemm a 5 and Ob serv ation 1 w e get | T ′ | ≤ λ | T | + 2 λ ′ cn 2 n ≤ | T | ( λ + 4 cλ ′ n 2 ). No w, λ = 1 / cos(2 β max ) < 1 / (1 − c/n k − 2 ) and λ ′ = sin(2 β max ) < 2 β max = c/n k − 2 . Th us, λ + 4 cλ ′ n 2 < 1 / (1 − c/n k − 2 ) + 8 c 2 /n k − 4 = 1 + o (1 /n 4 ) for k > 8. Sin ce | T | = O ( n 4 ), this allo ws us to appro ximate the length up a o(1)-term. Note that we still need to connect th e ro ot of | T | and the root of | T ′ | to (0 , 0). The length of this connection is sligh tly differen t b ecause the ro ots of the tr ees are differen t, but the difference is negligible compared to the difference of | T ′ | and | T | .  It r emains to prov e NP-hardn ess for spiral trees. Theorem 4 It is NP-hard to compute the optimal spiral tree of a p oin t set. Pro of. W e use the same co ns truction as ab ov e f or spiral trees but w e start with a rectilinear Steiner tree instance instead of a Euclidean Steiner tree in s tance. T o adapt the reduction it suffices to show that within the r elev an t part of th e tree, th at is the part in [2 n k , 2 n k + cn 2 ], the length of a sp iral segmen t betw een t wo p oints p , q is u p to a sm all error th e same as c ′′ k p − q k 1 for a suitable constant factor c ′′ . The length of th e spiral is D ( p, q ) = sec( π / 4) || p | − | q || = √ 2 || p | − | q || . Assume x q ≤ x p and y q ≤ y p . Let q ′ = ( x p , y q ). W e h a v e || p | − | q || = ( | p | − | q ′ | ) + ( | q ′ | − | q | ). The difference | p | − | q ′ | measures how m uch the distance to the origin decreases while mo ving from p to q ′ . Let y 0 = y p − y q b e the length of the line segment b etw een p and q ′ and let σ : [0 , y 0 ] → R 2 b e this line segment p arameterized uniformly . F or a p oin t u let γ ( u ) b e the angle formed by the line through the origin and u with the x -axis. W e h a v e | p | − | q ′ | = R y 0 0 cos γ ( σ ( u ))d u . No w π / 4 − β max ≤ γ ( σ ( u )) ≤ π / 4 + β max and therefore 1 / √ 2 − β max ≤ cos γ ( σ ( u )) ≤ 1 / √ 2 + β max . T h us || p | − | q ′ | − y 0 / √ 2 | ≤ c/n k − 2 . By the same argument we h a v e that || q ′ | − | q | − x 0 / √ 2 | ≤ c/n k − 2 , where x 0 = x p − x q . Therefore, | D ( p, q ) − k p − q k 1 | = | √ 2(( | p | − | q ′ | ) + ( | q ′ | − | q | )) − k p − q k 1 | ≤ | √ 2( x 0 / √ 2 + y 0 / √ 2 + 2 c/n k − 2 ) − k p − q k 1 | = 2 √ 2 c/n k − 2 . 11 Since the length of the RSA instance is in O ( n 4 ), the difference b et ween measuring the length of a spiral segmen t versus ta king the L 1 -distance of endp oin ts of segments is in o (1) for k > 4. Thus, computing th e optimal spiral tree is NP-hard.  T o pro ve NP-hardness it w as sufficient to consider one v alue of α , namely α = π / 4. Nonethele ss, it is an interesti n g problem whether with r esults also holds for a giv en smaller α . W e b eliev e that the NP-hardn ess p ro of in [18] can b e adapted to β -SAs and ( ≥ β )-SAs for 0 < β ≤ π / 4. With this w e could also generalize our resu lt to smaller α . 4.2 Optimal spiral trees with empt y spiral re g ions Assume we are giv en an in put instance suc h that t i / ∈ R t j for all i 6 = j . W e giv e an exact p olynomial time algorithm that computes optimal spiral trees for inp ut instances with this pr op ert y . Before w e d iscu ss the algorithm, w e first giv e a stru ctural result on optimal spiral trees for these sp ecial instances. Assume all terminals are ordered radially (on angle) in countercl o ckwise d ir ection around r and are n u m b ered as suc h . This m eans that the first terminal t 1 is arbitrary and the remaining terminals t 2 , . . . , t n follo w th is ord er. First note that, for these instances, ev ery terminal is a leaf in any spiral tree. Th at is b ecause no terminal can b e reac hed b y another te rm inal, so n o terminal can ha ve incoming edges. More imp ortan t is the follo wing r esult. Lemma 6 If the spiral regions of all termin als are empt y , then the leaf order of any p lanar spiral tree follo w s th e radial order of the terminals. Pro of. Assume this is not case, so that the leaf order skips leafs t i , . . . , t j , or in other w ords jump s from t i − 1 to t j +1 . Pic k an y terminal t k with i ≤ k ≤ j . Let π b e the path in the spiral tree from t i − 1 to t j +1 . Because the leaf order jumps f rom t i − 1 to t j +1 , no leaf is connected to the outside (as seen fr om r ) of π . Ho w eve r, b ecause t k / ∈ R t i − 1 , t k / ∈ R t j +1 and t i − 1 , t j +1 / ∈ R t k , the path π cuts through R t k separating t k from r . So the o n ly w ay for t k to b e c onnected to r is to cross π . Con tradiction.  Corollary 1 If the spiral regi ons of all terminals are empt y , then the leaf order of the optimal spiral tree follo w s the radial order of th e terminals. Using the ab o ve lemma w e can use a simple dynamic p rogramming algorithm to compute the optimal spiral tree. W e simply solve all subpr oblems that ask for the optimal spiral subtree for a sequence of terminals t i , . . . , t j . W e require that this subtree is conta ined in the unb ounded wedge w ij from t h e radial line through t i to th e radial line through t j (see Fig u r e 12 left). Define p ij as the in tersection of S + t i and S − t j ( p ii = t i ). As ev ery inte rn al no de has exactly t w o incoming edges (Observ ation 2) , we split the sub tree int o t wo subtrees at ev ery in ternal n o de. T o compute the optimal spiral tree for a sequence of term in als t i , . . . , t j , we simply compute the optimal w ay to split the sub tree in to tw o s ubtrees by trying al l p ossibilities. W e then connect b oth subtrees to t j t i w ij p ij p ′ ij t j t i p ik t k Figure 12: Left: The we dge w ij for terminals t i , . . . , t j . Righ t: p ij is th e o ptimal join p oin t. 12 p ij . Note that, b y Lemma 6, we need to c hec k only j − i w ays to split this sub tree. If F ( i, j ) is the length of the optimal spiral sub tree for the terminals t i , . . . , t j (con tained in w ij ), then w e can p erform dynamic programming using the follo wing r ecursiv e relation. F ( i, j ) = ( 0 , if i = j, min k ( F ( i, k ) + F ( k + 1 , j ) + D ( p ik , p ij ) + D ( p ( k +1) j , p ij )) , otherwise. (4) Note that w e allo w j < i , b ecause w e ha ve a cyclical order. Ho wev er, the v alue of k in the ab o v e equation m ust b e b et wee n i and j in the cyclical order. The distance function D is defined as in Equation 1. Lemma 7 The function F ( i, j ) describ es the length of the optimal spiral subtree for the terminals t i , . . . , t j con tained in w ij . Pro of. W e pr o v e the lemma by in d uction. If i = j , then F ( i, j ) = 0 is clearly correct. If i 6 = j , then, b y Lemma 6, w e c ompu te the minim um of all p ossib le s plits for the corresp onding sub tree. Let this sp lit b e b et ween t k and t k +1 . By induction, F ( i, k ) a nd F ( k + 1 , j ) describe the lengths of the optimal subtrees. W e need to sho w that p ij is the optimal p oin t to join the subtrees. F or the sak e of cont rad iction, assume the optimal join point is p ′ ij . This p oin t must b e in the in tersection of R t i , R t j and w ij (see Figure 12 righ t). This means that p ′ ij ∈ R p ij . W e can replace the edges p ik → p ′ ij and p ( k +1) j → p ′ ij b y the edges p ik → p ij , p ( k +1) j → p ij , and p ij → p ′ ij . Since p ′ ij m ust b e closer to r than p ij , it follo ws from the definition of D in Equation 1 that th is op eration shortens the tree. Con tradiction.  The length of the o ptimal spiral tree is not n ecessarily giv en b y F (1 , n ), but it can also b e an y of the lengths F ( i, i − 1) for 2 ≤ i ≤ n , so we need to compute the minimum of all these v alues. Note that there m u st b e at least one wedge w i ( i − 1) that con tains th e en tire optimal spiral tree, so this will giv e the length of th e o p timal sp iral tree . Using additional information w e can also compute the optimal spiral tree itself in this w ay . F rom the defin ition of F ( i, j ), it is clear that the algorithm runs in O ( n 3 ) time. 4.3 Appro ximation algo rithm As sh o wn in S ection 4.1, computing the optimal spiral tree is NP-hard in general. In this section w e describ e a simple algorithm that compu tes a 2-appr oximati on of the optimal sp iral tree. Note that, using Th eorem 1, this algorithm also dir ectly compu tes a (2 sec ( α ))-appro ximation of the o ptimal flux tr ee. F or rectilinear S teiner arb orescences, Rao et al. [16] describ e a simple 2-appr o ximation algorithm. The trans formation mentio ned in Section 3.2 do es n ot preserve length, so w e cannot use th is algorithm for sp iral tree s. Ho we ver, b elo w w e sho w ho w to use the same global approac h—s weep o v er the terminals from the outside in — to compute a 2-appro ximation for optimal spiral tree s in O ( n log n ) time. The basic idea is to iterat ivel y join t wo no d es, p ossibly u sing a Steiner n o de, until all termin als are connected in a single tree T , the gr e e dy spir al tr e e . Initially , T is a forest. W e sa y that a nod e (or terminal) is active if it do es n ot hav e a parent in T . In ev ery step, w e join the t wo activ e no d es for which the join p oint is farthest from r . The join p oin t p uv of tw o n o des u and v is the farthest p oint p f rom r suc h that p ∈ R u ∩ R v . This p oin t is unique if u , v and r are not collinear. 13 Lemma 8 The greedy spiral tree is planar. u 1 v 1 u 2 v 2 Pro of. Assume there is a crossing in the greedy sp iral tree b et w een tw o spiral segmen ts, one b et we en u 1 and its p aren t v 1 , and another b et ween u 2 and its p aren t v 2 . Note that the in tersection must be farther from r than b oth v 1 and v 2 . But that means that the inte rsection must ha ve b een encoun tered while b oth u 1 and u 2 w ere in W , so this intersecti on should b e a no de in the greedy spir al tree. Cont radiction.  C Figure 13: The wa vefron t W . The algorithm swe eps a circle C , centered at r , in wards ov er all terminals. All activ e no des th at lie outside of C form the wavefr ont W (the blac k no des in Figure 13). W is implement ed as a b alanced bi- nary searc h tree, where no des are sorted acco r d ing to the radial order around r . W e join tw o activ e no des u and v as soon as C passes o ve r p uv . F or an y t w o no des u, v ∈ W it holds that u / ∈ R v . By Lemma 8 the greedy spiral tree is planar, so we can apply Lemma 6 to the no des in W . Hence, when C passes ov er p uv and b oth no des u and v are still activ e, then u and v m ust b e neighbors in W . W e pro cess the follo wing ev ents. T erminal. When C r eac h es a te r m inal t , we add t to W . W e need to c hec k w hether there exists a neighbor v of t in W su ch that t ∈ R v . If such a nod e v exists, th en we remov e v from W and connect v to t . Finally we compu te new join point ev en ts for t and its neighbors in W . Join p oin t. When C reac hes a join p oint p uv (and u and v are still activ e), w e connect u and v to p uv . Next, w e remo ve u and v from W and we add p uv to W as a Steiner n o de. Finally w e compute new join p oint ev en ts for p uv and its neigh b ors in W . W e store the ev ent s in a p riorit y queue Q , ordered b y decreasing d istance to r . Initially Q con tains all terminal ev en ts. Ev ery join p oin t even t adds a n o de to T and ev ery no de generates at most t w o join p oin t ev en ts, so the total num b er of ev ents is O ( n ). W e can handle a single ev ent in O (log n ) time, s o the total r unning time is O ( n log n ). Next w e pr o v e that the greedy spiral tree is an app ro ximation of the optimal sp iral tree. Lemma 9 Let C b e any ci rcle cen tered at r an d let T and T ′ b e the optimal spiral tree and the greedy spiral tree, resp ectiv ely . Then |C ∩ T ′ | ≤ 2 |C ∩ T | h olds where |C ∩ T ′ | is th e num b er of in tersection p oin ts b et w een C and T ′ . Pro of. It is easy to see that |C ∩ T ′ | = |W | when the sweeping circle is C . Let the no d es of W b e u 1 , . . . , u k , in radial order. Any no de u i is either a termin al or it is the int ersection of t wo spirals originating fr om tw o terminals, which w e call u L i and u R i (see Figure 14). W e can assume the latter is alw a ys the case, as w e can set u L i = u i = u R i if u i is a terminal. Next, le t the inte rsections of T with C b e v 1 , . . . , v h , in the same radial order as u 1 , . . . , u k . As T has the same terminals as T ′ , ev ery terminal u L i and u R i m ust b e able to reac h a p oin t v j . Let I L i and I R i b e the reac hable p arts (in terv als) of C for u L i and u R i , resp ectiv ely (that is I L i = C ∩ R u L i and I R i = C ∩ R u R i ). Since an y t w o neighborin g no des u i and u i +1 ha ve not b een joined by the greedy algorithm, we kno w that I L i ∩ I R i +1 = ∅ . No w consider th e collection S j of interv als that cont ain v j . W e alw a ys treat I L i and I R i as different in terv als, ev en if they co incide. The u nion of all S j has cardinalit y 2 k . If |S j | ≥ 5, then its interv als cannot b e consecutiv e (i.e. I L i , I R i , I L i +1 , I R i +1 , etc.), as this w ould mean it contai n s b oth I L i and I R i +1 for some i . So say the int erv als of S j are not consecutiv e and S j con tains I L i and I L i +1 , but not I R i (other cases are s imilar). T ′ is planar, so this is p ossible only if I R i ⊂ I L i +1 (see Figure 15). Bu t th en I R i and I L i +1 are b oth in a collec tion S j ′ and w e can remo ve I L i +1 from S j , 14 u 1 u L 1 u R 1 u 2 u L 2 u R 2 u 3 u 4 u L 4 u R 4 I L 1 I R 2 Figure 14: No d es u i ∈ W , termin als u L i , u R i and int erv als I L i , I R i . u i u i +1 u L i u R i u L i +1 u R i +1 I R i I L i +1 v j v j ′ Figure 15: I R i ⊂ I L i +1 . while k eeping the u nion of all collections the same. W e rep eat this pro cess to construct r ed uced collect ions ˆ S j suc h that the un ion of all collections remains the same and all interv als in a collection ˆ S j are consecutiv e. As a result, | ˆ S j | ≤ 4, and h ence 4 h ≥ 2 k or k ≤ 2 h .  Theorem 5 The greedy spiral tree is a 2 -appro ximation of the optimal sp ir al tree and ca n b e computed in O ( n log n ) time. Pro of. The time b ound is already m en tioned ab o ve. F or the approximat ion, recall that L ( T ) = sec( α ) R ∞ 0 | T ∩ C R | dR , where T is any sp iral tree and C R is the circle of radius R cente red at r . Using Lemma 9, w e can directly conclude that the greedy spiral tree is a 2 -appr o ximation of the optimal spiral tree.  The appr o ximation f actor is most lik ely not tigh t. Exp erimen ts f or rectilinear Steiner arb orescences sho w that the greedy algorithm often compu tes n ear-optimal arb orescences [8]. 5 App roxi mating spiral trees in the p resenc e of obstacles In this sectio n we extend the appr oximati on algorithm of Sectio n 4.3 to include obstacles. Giv en the similarities b etw een spir al trees and rectilinear S teiner arb orescences describ ed in Section 3.2, it mak es sense to consid er existing algorithms for rectilinear Steiner arb orescences in the p r esence of obstacles. Unfortunately , the only kno wn algorithm for this seems to ha ve some iss ues. W e discuss these issues in the n ext s ection. Th en w e giv e a new algorithm for computing rectilinear S teiner arb orescences in the presence of obstacles. F or a certai n t yp e of obstacles, this algorithm also computes a 2-appro ximation of the optimal rectilinear Steiner arb orescence, although this do es not hold for general obstacles. Finally we extend th is algorithm to compute sp iral trees in the p resence of obstacles, again computing a 2-appro ximation for a certain t yp e of obstacles. 5.1 Ramnath’s algo rithm Ramnath [15] giv es a 2-appro ximation a lgorithm f or rectilinear Steiner arb ores- cences with rectangular obstacles. He claims that the r esult extends to arbitrary rectilinear obstacles. But this is not the case. Consider the configuration of p oints an d obstacles as seen on the right. Th e obstacles are L -shap ed with th e longer (v ertical) side of the L b eing m uc h longer than the shorter (horizonta l) one. Bet we en ea c h consecutive pair of obstacles their is a termin al. What Ram- nath’s algorithm do es is to swee p a line of slop e − 1 starting at the ro ot. During the sweep the arb orescence is constru cted greedily maintai n in g a m in imal set of p oints (calle d c over 15 p oints ) on the sw eep line s u c h that all remaining p oints can still b e connected. Thus, in the b egin- ning the algorithm has to decide wh ether to grow the arb orescence to the righ t or upw ard s. F rom these t w o options the algorithm p ic ks an arbitrary one, in particular it migh t gro w to the righ t. But then on th e a rb orescence will connect to eac h terminal b y a connection corresp ond ing to the longer side of the L -sh ap e. By making the L -shap e sufficient ly long, the a pp ro ximation facto r for this configuration can b e made wo rse t h an any constan t, in particular tw o. Ramnath’s pap er also lac ks the details to establish the claimed ru nning time for recta n gu lar obstacles. In particular the s ub d ivision of a critical region (that is, a region that can b e exclusive ly reac hed by one of the co ver p oint s) seems to assume that there is no obstacle strictly in side th e critical region. How eve r this case migh t occur a n d it does n ot seem straigh tforward to e xtend the algorithm to hand le this case. F urthermore, the algorithm n eeds to compute the p oin t at whic h the critical regions of neigh b oring co v er p oint s meet. This p oint is found b y tracing paths from b oth of the co ver p oin ts. The cost of this tracing step d o es not seem to b e handled in the analysis and it is not clear ho w to accoun t f or it. 5.2 Rectilinea r Steiner arborescences W e are no w giv en a ro ot r at the origin, terminals t 1 , . . . , t n in the u pp er-righ t quadran t, and also m p olygonal obstacles B 1 , . . . , B m with total complexity M . W e place a b ounding square a rou n d all terminals and the ro ot and consider the “free space” b et ween the obstacles as a p olyg onal domain P with m h oles and M + 4 v ertices. W e describ e a greedy al gorithm th at computes a recti linear Steiner arb orescence T , the gr e e dy arb or esc e nc e , in s ide P . Ou r algorithm returns only a top ological represent ation of T . This can easily b e extended to the explicit arb orescence, whic h, how eve r, can ha ve arbitrarily high complexit y . As b efore we incrementall y join no des until we ha v e a complete arb orescence. This time we sw eep a diag onal line L o v er P tow ards r and main tain a w av efront W with all a ctiv e no d es that L has passed. If L reac hes a join p oin t p uv of n o des u, v ∈ W , we conn ect u and v to p uv and add the new Steiner no d e to W . Our greedy arb orescence is r estricted to grow in s ide the p olygo nal domain P . If a p oin t p ∈ P cannot reac h r with a monotone p ath in P , then p is not a suitable join p oint. T o simplify matters w e compu te a new p olygo nal domain P ′ from P , such that for ev ery p ∈ P ′ , there is a monotone p ath from p to r in P . F or no w we simply assu me th at we are given P ′ and that it has O ( M ) vertic es. p q R ( p, q ) T o co mp ute j oin points we k eep trac k of the reac h able region of ev ery no de u ∈ W , that is, we k eep trac k of the p art of L that can b e reac hed from u via a monotone p ath in P ′ . As so on as t wo no d es u, v ∈ W ca n reac h the same p oint p on L , then p is the join point p uv and w e can connect u and v to p uv . T o compute the path b et w een u and v and p uv , w e need some additional inform ation. Here our d efinitions follo w Mitc hell [13]. Giv en t wo p oints p, q ∈ P ′ (with x q ≤ x p and y q ≤ y p ), let R ( p, q ) b e the rectangle with p a nd q as corners. W e sa y th at q is imme diately ac c essible from p if p and q are in the same connected comp onen t of R ( p, q ) ∩ P ′ and this connected comp onent does n ot con tain an y other v ertices or n o des. The p ar ent of a p oin t p ∈ P ′ is the rightmo st v ertex or no de from wh ic h p is immed iately accessible. The top ological representa tion of t h e greedy arb orescence stores on ly the p aren t inf orm ation. The status of the sw eep lin e L consists of three types of interv als: (i) fr e e intervals : p oin ts that cannot b e reac h ed b y an y no de in W , (ii) obstacle intervals : p oints n ot in P ′ , and (iii) r e achable intervals : p oin ts reac hable b y a no de in W . The latt er t yp e of in terv al is tagged with the unique no de in W that can reac h this in terv al. W e split the reac hable interv als su c h th at every in terv al has a uniqu e p aren t. The inte rv als are s tored b y their end p oints in a bala nced binary searc h tree. Initially , the status of L consists of one obstac le in terv al. W e distinguish thr ee types of ev en ts, whic h are pr o cessed in order using a p r iorit y queue. T erminal even t. When w e encounter a term in al t i , there are tw o cases. Either the terminal is in 16 a free int erv al or in a r eac h able interv al tag ged b y a no d e u . In the latter case, we connect u to t i (using the parent information) and replace u by t i in W . Also, w e rep lace all in terv als tagged with u by free interv als and merge them wher e p ossible. In b oth cases, w e start a new interv al f or t i . F or the endp oin ts of this interv al, we trace the in tersections b et ween L and the horizon tal an d ve rtical line through t i . Note that w e also split an int erv al, so we add three interv als in total and remo v e one. F or ev ery n ew in terv al (or merged inte rv al), we add v anishing ev en ts to the e ven t queue. L L L L V ertex even t . When w e encoun ter a v ertex v , then v can b e in an y t yp e of in terv al. If v is in a f ree in terv al, then w e add an obstac le in terv al, where the en d p oints of the interv al trace the edges of P ′ con- nected to v . If v is in an obstacle interv al, then we add a fr ee in terv al, where the endp oin ts of the in terv al trace the edges of P ′ connected to v . Otherwise, v is in a reac hable in terv al or at the endp oint b et ween a reac hable int erv al and an obstacle in terv al. In the first case, we n eed to insert an obstacle in terv al at v , as describ ed abov e. In b oth ca ses w e need to set th e parent of v and ins er t a n ew reac hable interv al for v (w ith the correct tag). Also, w e need to f ollo w the e dge or edges of P ′ connected to v . This can create free in terv als. If one o f the endp oints of the reac hable in terv al of v directly mov es out of P ′ , w e d o not need to add this endp oin t, b ut w e can use the endp oin t of the obstacle in terv al instead. Note that w e add only a constan t num b er of interv als. F or t h e new int erv als, w e add v anishing ev ents to th e eve nt queue. V anishing In terv al. If an in terv al I v anishes, then there are d ifferen t cases dep endin g on th e t yp es of the neighboring in terv als I 1 and I 2 . Note that I v anishes at a p oin t p where t w o endp oin ts meet. If I 1 and I 2 are reac hable in terv als with different tags u 1 and u 2 , then p is the join p oint for u 1 and u 2 . W e join u 1 and u 2 at p , as describ ed in the terminal ev ent . Otherwise, we need to r emo v e one of the t wo endp oin ts. An endp oin t of an in terv al alwa ys follo w s an edge of P ′ or a vertica l or horizon tal line thr ough a no de in W or a v ertex of P ′ . If I 1 and I 2 are obstacle in terv als or fr ee in terv als, then w e can just remo ve b oth endp oin ts of I . If I 1 and I 2 are reac hable interv als with the same tag, then we k eep the endp oin t that f ollo ws a horizont al line (this follo ws the definition of a paren t giv en abov e). If I 1 and I 2 are of d ifferent t yp es, then we keep the endp oin t of th e obstacle in terv al if one is present and otherw ise w e k eep the endp oin t of the reac hable int erv al. Again, we add v anishin g even t p oints to the ev ent qu eue f or every interv al for which an endp oin t h as changed. The algorithm terminates when L r eac h es r , at wh ic h p oin t w e ha v e one no de left in W . Using the parent information in the s tatus, w e connect the final no de with r . T o compute P ′ from P w e simply run the sweep lin e algorithm in th e opp osite direction, t r acing the “reac hable regi on” of r . The p oints that b ord er a reac hable in terv al and either a free or obstacle in terv al trace out P ′ . Lemma 10 The greedy arb orescence can b e computed in O (( n + M ) log ( n + M )) time. Pro of. First we giv e a b ound for the num b er of ev ent s. C learly , the n umb er of term in al and vertex ev en ts are b ounded by O ( n + M ). This also means that the total n umber of in terv als is b ounded b y O ( n + M ), as w e add a constan t n umb er o f in terv als at only these ev ents. A t ev ery v anishing in terv al even t w e r emo v e an inte rv al, so the total n u m b er of ev en ts is O ( n + M ). Also n ote that ev ery eve nt can generate only a constan t num b er of eve nts. T his also means that P ′ has complexit y O ( M ), a s we add vertic es to P ′ only at ev ent s. It is easy to see that all ev ent s can b e executed in O (log ( n + M )) time, except when we n eed to change all interv als tagg ed by a certain no de u to free in terv als. W e can do this in O ( n u ) time (by simple b o okk eeping), w here n u is the n umb er of in terv als tagged by u . An inte rv al can only once b e c han ged to a free in terv al. Merging t wo neigh b oring free in terv als remo ves one in terv al, so we can c harge these op erations to the tota l n umb er of in terv als. F u rthermore, the top olog ical representati on of the greedy arb orescence c onta ins only the r elev an t v ertices and no des to compute the p aths b et w een no d es. Every ve rtex or no de can o ccur only once in this r epresent ation. S o the algorithm r uns in O (( n + M ) log( n + M )) time.  17 If P has only p ositive monotone holes, then the gree d y arb orescence is a 2-appr o ximation of the optimal rectilinea r Steiner arborescence. A hole is p ositive monotone if its b oundary con tains t w o p oints p and q su c h that b oth paths on the b oun dary from p t o q are monotone in b oth the x -direction and the y -d irection. In th e n ext s ection we p r o v e this result for spiral trees. Th e same argumen ts can directly b e applied to prov e the same result for rectilinear Steiner arb orescences. Theorem 6 The greedy arb orescence can b e computed in O (( n + M ) log( n + M )) time. If P has only p ositiv e monotone holes, then th e greedy arb orescence is a 2 - appr o ximation o f the optimal rectilinear Steiner arb orescence. 5.3 Spiral trees W e no w describ e ho w to adapt our algorithm to spiral trees; we concentrate mainly on the necessary c hanges. W e again compute only a top ological r ep resen tation of the output and refer to the spiral tree wh ic h w e compute as the gr e e dy spir al tr e e . The sw eep line is replaced by a sweeping circle C . A simp le balanced binary searc h t r ee is still sufficien t to store th e interv als, using sp ecia l cases to deal with the circular top ology . p q S R ( p, q ) W e need to replace h orizonta l and ve rtical lines by right and left spirals. F or a giv en no de or vertex u , the endp oints of its interv al on C follo w the intersectio ns of S + u and S − u with C . Giv en t wo p oin ts p and q ( q ∈ R p ), let S R ( p, q ) b e the spir al r e ctangle b et ween p and q . The spir al rectangle b et w een p and q is b ounded by the t wo paths (these are un ique) co ns isting of exact ly tw o sp iral segmen ts connecting p to q (this is exactly a rectangle transformed b y the transformation in Section 3.2). The p oin t q is imme diately ac c essible from p if p and q are in th e same connected comp onen t of S R ( p, q ) ∩ P ′ and this connected comp onent do es not cont ain any other v ertices or n o des. e Figure 16: Spiral p oin ts. There is one subtlet y . If the left or right spiral of a v ertex v d irectly mo v es out of P , w e can ignore it, as before. Ho w eve r, at the exact momen t that this is no longer the case, w e do need to tr ace this spiral. F or rectil inear Steiner arb orescences, this can only h app en at v ertices. F or spiral trees, this can also happ en at most tw o spir al p oints in the midd le of an edge e . A p oin t p on e is a spiral p oin t if the angle b et ween the line from p to r and the line throu gh e is exactly α . W e hence sub d ivide ev ery edge of P at the s piral p oin ts. In addition w e also sub divide e at the closest p oin t to r on e to ensure th at every edge of P has a single in tersection with C . Neither the algorithm present ed in Section 5.2 nor its adaptation to spir al trees giv es a constan t factor approximat ion. But, if w e restrict the types of obstacles, they giv e 2-appr o ximations. F or rectilinear S teiner arb orescences we ha ve to use p ositiv e monotone obstacles, for spiral trees spir al monotone obstacles. An obstacle is spir al monotone if its b ound ary con tains t wo p oin ts p and q suc h that b oth paths on the b oun dary fr om p to q are angle-restricted. Lemma 11 Let P b e a p olygonal domain w ith spiral m onotone h oles. Then all p oin ts on a circle C reac hable from a no d e u lie inside a single c ircular in terv al I u ⊆ C w ith the prop ert y that ev ery p oint in I u ∩ P is reac hable from u . Pro of. Consider a p oin t p ∈ I u ∩ P . Let π 1 and π 2 b e the paths from u to the end p oints of I u . Rep eat the follo wing until w e hit either π 1 or π 2 . Mo ve along the l eft sp iral through p go ing out wa rd s (from r ). When w e hit a hole, simply follo w the outline of the hole un til w e can follo w the left spiral again. Because P has only spiral monotone hole s, we ev entuall y reac h either π 1 or π 2 . Hence p m ust b e reac hable f rom u .  18 Theorem 7 The greedy spiral tree can b e computed in O (( n + M ) log( n + M )) time. If P has only spiral monotone holes, then the greedy spir al tree is a 2 -appro ximation of the optimal spiral tree. Pro of. Correctness and run ning time follo w from Lemma 10 and the discussion in Section 5.3. Assume that P has only sp iral monotone holes and let T and T ′ b e the optimal and greedy spiral tree, resp ecti vely . By Lemma 11 w e ca n represent the part of a circle C that is reac hable b y a terminal t as a single in terv al I t . W e c an no w fo llo w the pro of of Lemma 9 with these inte rv als to sho w th at |C ∩ T ′ | ≤ 2 |C ∩ T | . This d irectly implies that, if P has o n ly spiral monotone holes, the greedy spiral tree is a 2-appro ximation.  References [1] CSISS - S patial T o ols: T obler’s Flo w Mapp er . ht tp://www .csiss.o rg/clearinghouse/FlowMapper . [2] O. Aic hholzer, F. Aurenhammer, C. Icking, R . Klein, E. Langetep e, and G. Rote. Generalized self-approac hing curves. Discr. Appl. Mathem. , 109(1 -2):3–24, 2001. [3] B. Aw erbuch, A. Baratz, and D. Pe leg. Cost-sensitiv e analysis of communicatio n protocols. In Pr o c. 9th A CM Symp osium on Principles of Distribute d Comp uting , pages 177–187. A CM, 1990. [4] I. Bo yandin, E. Bertini, and D. Lalanne. Using Flo w Maps to Exp lore Migrations Ove r Time. In Pr o c. Workshop in Ge osp atial Visual Analytics: F o cus on Ti me (Ge oV A(t)) , 201 0. [5] M. Brazil, J. H. Rubinstein, D. A. T homas, J. F. W eng, and N. C. W orm ald. Gradient- constrained m inim um n et w orks. I. F un damen tals. Journal of Glob al Optimization , 21:139–155 , Octob er 2001. [6] M. Brazil and D. A. Thomas. Net wo rk optimizat ion for the design of underground mines. Networks , 49:40 –50, Jan uary 2007. [7] K. Buc hin, B. S p eckma n n , and K. V erb eek. Flo w map lay out via spiral trees. Accepted InfoVis 2011, h ttp://ww w.win.tu e.nl/ ~ speckman /InfoVis FlowMaps.pdf . [8] J. C´ ordo v a and Y. Lee. A heuristic algorithm for the rectilinear Steiner arb orescence problem. T ec hnical r ep ort, Engineering Optimization, 1994. [9] B. D. Den t. Carto gr aphy: Thematic Map Design . McGra w-Hill, New Y ork, 5th edition, 1999. [10] D. Guo. Flo w Mapping and Multiv ariate Visualizatio n o f Large S patial Interacti on Data. IEEE T r ansactions on Visualization and Computer Gr aphics , 15(6):104 1–1048, 2009. [11] J . Krozel, C. Lee, and J. Mitc hell. T urn -constrained r oute p lanning for a v oiding haza rd ous w eather. Air T r affic Contr ol Qu arterly , 14(2):159– 182, 2006. [12] B. Lu and L. Ruan. P olynomial time appro ximation scheme for the r ectilinear Steiner arb ores- cence p roblem. J. Comb. Optimization , 4(3):357– 363, 2000. [13] J . Mitc hell. L 1 shortest p aths among p olygonal obstacles in the plane. Algorithmic a , 8:55– 88, 1992. [14] D. Phan, L. Xiao, R. Y eh, P . Hanrahan, and T . Winograd. Flo w m ap la yo ut. In Pr o c. IEEE Symp osium on Info rmation Visualization , pages 219–2 24, 2005. 19 [15] S . Ramnath. New appro ximations f or the rectilinear Steiner arb oresce n ce problem. IEEE T r ans. Computer-Aide d Design Int e g. Cir cuits Sys. , 22(7):859– 869, 2003. [16] S . Rao, P . Sada yappan, F. Hwang, and P . Shor. The r ectilinear Steiner arb orescence problem. Algor ithmic a , 7:2 77–288, 1 992. [17] W. Shi and C. Su. The r ectilinear S teiner arb orescence problem is NP-complete. In Pr o c. 11th ACM-SIAM Symp osium on Discr ete A lgorithms , pages 780–787, 2000. [18] W. Sh i and C. Su. The rectilinear Steiner arb orescence problem is NP-complete. SIAM J ournal on Computing , 35 (3):729–7 40, 2005 . [19] T . A. Slo cum, R. B. McMaster, F. C. Kessler, and H. H. Ho wa rd . Thematic Carto gr aphy and Ge ovisualization . Pearson, New Jer s ey , 3rd edition, 20 10. [20] W. T obler. Exp er im ents in migration mapp ing by computer. The Am eric an Carto gr apher , 14(2): 155–163, 1987. [21] J . W o od , J . Dyk es, and A. Slingsb y . Visualizatio n of Origins, Destinat ions and Flo w s with OD Maps. The Carto g r aphic Journal , 47(2):117– 129, 2010. 20

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment