ISLABEL: an IndependentSet based Labeling Scheme for PointtoPoint Distance Querying


 Rosaline Holmes
 1 years ago
 Views:
Transcription
1 ISLABEL: n IndependentSet bsed Lbeln Scheme for PonttoPont Dstnce Queryn Ad WChee Fu, Hunhun Wu, Jmes Chen Dept. of Computer Scence nd Enneern The Chnese Unversty of Hon Kon ABSTRACT We study the problem of computn shortest pth or dstnce between two query vertces n rph, whch hs numerous mportnt pplctons. Qute number of ndexes hve been proposed to nswer such dstnce queres. However, ll of these ndexes cn only process rphs of sze brely up to 1 mllon vertces, whch s rther smll n vew of mny of the fstrown relworld rphs tody such s socl networks nd Web rphs. We propose n effcent ndex, whch s novel lbeln scheme bsed on the ndependent set of rph. We show tht our method cn hndle rphs of sze orders of mntude lrer thn exstn ndexes. 1. INTRODUCTION Computn the shortest pth or dstnce between two vertces s bsc operton n processn rph dt. The mportnce of the operton s not only becuse of ts role s key buldn block n mny lorthms but lso of ts numerous pplctons tself. In ddton to pplctons n trnsportton, VLSI desn, urbn plnnn, opertons reserch, robotcs, etc., the prolferton of network dt n recent yers hs ntroduced brod rne of new pplctons. For exmple, socl network nlyss, pe smlrty mesurement n Web rphs, entty reltonshp rnkn n semntc Web ontoloy, routn n telecommuncton networks, contextwre serch n socl networkn stes, to nme but few. In mny of these new pplctons, however, the sze of the underlyn rph s often n the scle of mllons to bllons of vertces nd edes. Such lre rphs re becomn more nd more common, some of the wellknown ones nclude Web rphs, vrous socl networks (e.., Twtter, Fcebook, LnkedIn), RDF rphs, moble phone networks, SMS networks, etc. Computn shortest pth or dstnce n these lre rphs wth conventonl lorthms such s Djkstr s lorthm or smple BFS my result n lon runnn tme tht s not cceptble. For computn shortest pth or dstnce between two ponts n rod network, mny effcent ndexes hve been proposed [1, 2, 4, 9, 16, 18, 31, 32, 33]. However, these works pply unque propertes of rod networks nd hence re not pplcble for other rphs/networks tht re not smlr to rod networks. In recent Permsson to mke dtl or hrd copes of ll or prt of ths work for personl or clssroom use s rnted wthout fee provded tht copes re not mde or dstrbuted for proft or commercl dvnte nd tht copes ber ths notce nd the full ctton on the frst pe. To copy otherwse, to republsh, to post on servers or to redstrbute to lsts, requres pror specfc permsson nd/or fee. Artcles from ths volume were nvted to present ther results t The 39th Interntonl Conference on Very Lre Dt Bses, Auust 26th  30th 2013, Rv del Grd, Trento, Itly. Proceedns of the VLDB Endowment, Vol. 6, No. 6. Copyrht 2013 VLDB Endowment /13/04... $ Rymond ChWn Won Dept. of Computer Scence nd Enneern Hon Kon Unversty of Scence & Technoloy yers, number of ndexes hve been proposed to process dstnce queres n enerl sprse rphs [12, 15, 16, 23, 35, 39, 41]. However, s we wll dscuss n detls n Secton 7, these ndexes cn only hndle reltvely smll rphs due to hh ndex constructon cost nd lre ndex store spce. As reference, the lrest rel rphs tested n these works hve only 581K vertces wth vere deree 2.45 [12], nd 694K vertces wth vere deree 0.45 [23], whle most of the other rel rphs tested re snfcntly smller. We propose new ndex for computn shortest pth or dstnce between two query vertces nd our method cn hndle rphs wth hundreds of mllons of vertces nd edes. Our ndex, nmed s ISLbel[17], s desned bsed on novel pplcton of the ndependent set of rph, whch llows us to ornze the rph nto lyers tht form herrchcl structure. The herrchy cn be used to ude the shortest pth computton nd hence leds to the desn of effectve vertex lbels (.e., the ndex) for dstnce computton. We hhlht the mn contrbutons of our pper s follows. (1) We propose n effcent ndex for nswern shortest pth or dstnce queres, whch cn hndle rphs up to orders of mntude lrer thn those tested n the exstn works [12, 15, 16, 23, 35, 39, 41]. None of these exstn works cn hndle even the medumszed rphs tht we tested. (2)We desn n effectve lbeln scheme such tht the lbel sze remns smll even f no optmzton (mostly NPhrd) s ppled s n the exstn lbeln schemes. (3) Our ndex nturlly lends tself to the desn of smple nd effcent lorthms for both ndex constructon nd query processn. (4)We develop I/Oeffcent lorthms to construct vertex lbels n lre rphs tht cnnot ft n mn memory. (5)We verfy both the effcency nd sclblty of our method for processn dstnce queres n lre relworld rphs. Ornzton. Secton 2 defnes the problem nd bsc nottons. Sectons 3 nd 4 present the detls of ndex desn, nd Secton 5 descrbes the lorthms. Secton 6 reports the expermentl results. Secton 7 dscusses the lmttons of exstn works. Secton 8 dscusses hndln pth queres nd Secton 9 concludes the pper. 2. NOTATIONS We focus our dscusson on wehted, undrected smple rphs. Let G = (V G,E G,ω G) be such rph, where V G s the set of vertces, E G s the set of edes, nd ω G : E G N + s functon tht ssns to ech ede postve nteer s ts weht. We denote the weht of n ede (u,v) by ω(u,v). The sze of G s defned s G = ( V G + E G ). We defne the set of djcent vertces (or nehbors) of vertex v ngs dj G (v) = {u : (u,v) E G}, nd the deree of v ng s de G (v) = dj G (v). We ssume tht rph s stored n ts djcency lst representton, where ech vertex s ssned unque vertex ID nd vertces 457
2 re ordered n scendn order of ther vertex IDs. Gven pth p n G, the lenth of p s defned s len(p) = e pωg(e),.e., the sum of the wehts of the edes onp. Gven two vertces u,v V G, the shortest pth from u to v, denoted by SP G(u,v), s pth n G tht hs the mnmum lenth mon ll pths from u to v n G. We defne the dstnce from u to v n G s dst G(u,v) = len(sp G(u,v)). We defnedst G(v,v) = 0 for ny v V G. Problem defnton: we study the follown problem: ven sttc rph G = (V G,E G,ω G), construct dskbsed ndex for processn ponttopont (P2P) shortest pth dstnce queres,.e., ven ny pr of vertces (s,t) (V G V G), fnddst G(s,t). We focus on sprse rphs, whch re prevlent n rel world. We focus our dscusson on undrected rphs, nd wll lso show tht our ndex cn be extended to hndle drected rphs n Secton 4.3. We wll lso dscuss computn the ctul pth n Secton 8, whch s frly smple extenson wth some extr bookkeepn. 3. QUERYING DISTANCE BY VERTEX HI ERARCHY In ths secton, we present our mn ndexn scheme, whch conssts of the follown components: A lyered structure of vertex herrchy constructed from the nput rph. A vertex lbeln scheme developed from the vertex herrchy. Query processn usn the set of vertex lbels. We dscuss ech of these three components n Sectons 3.1 to Constructon of Vertex Herrchy The mn de of our ndex s to ssn herrchy to vertces n n nput rph G so tht we cn use the vertex herrchy to compute the vertex lbels, whch re then used for queryn dstnce. To crete herrches for vertces n G, we construct lyered herrchcl structure from G. To formlly defne the herrchcl structure, we frst need to defne the follown two mportnt propertes tht re crucl n the desn of our ndex: Vertex ndependence: ven rph H = (V H,E H,ω H), nd set of vertces I, we sy tht I mntns the vertex ndependence property wth respect to H f I V H nd u,v I,(u,v) / E H,.e.,I s n ndependent set of H. Dstnce preservton: ven two rphs H 1 = (V H1,E H1,ω H1 ) nd H 2 = (V H2,E H2,ω H2 ), we sy tht H 2 mntns the dstnce preservton property wth respect toh 1 f u,v V H2,dst H2 (u,v) = dst H1 (u,v). Whle dstnce preservton s essentl for processn dstnce queres, vertex ndependence s crtcl for effcent ndex constructon s we wll see lter when we ntroduce the ndex. We now formlly defne the lyered herrchcl structure, followed by n llustrtn exmple. DEFINITION 1 (VERTEX HIERARCHY). Gven rph G = (V G,E G,ω G), vertex herrchy structure of G s defned by pr (L,G), where L = {L 1,...,L h } s set of vertex sets nd G = {G 1,...,G h } s set of rphs such tht: V G = L 1... L h, nd L L j = for 1 < j h; For 1 h, ech L mntns the vertex ndependence property wth respect to G,.e., L s n ndependent set of G ; G 1 = G, nd for 2 h, let G = (V G,E G,ω G ), thenv G = (V G L 1... L 1), wheres E G ndω G stsfy the condton tht G mntns the dstnce preservton property wth respect tog 1. Intutvely, L s prtton of the vertex set V G nd represents vertex herrchy, where L s t lower herrchcl level thn L j for < j. Menwhle, ech G G preserves the dstnce nformton n the ornl rph G, s shown by the follown lemm. LEMMA 1. For ll u,v V G, where 1 h, dst G (u,v) = dst G(u,v). PROOF. Snce for ny u,v V G, u,v V Gj for 1 j. Thus, we hve dst G (u,v) = dst G 1 (u,v) =... = dst G1 (u,v) = dst G(u,v) snce ech G mntns the dstnce preservton property wth respect tog 1 for 2 h. We use the follown exmple to llustrte the concept of vertex herrchy. EXAMPLE 1. Fure 1 shows ven rph G nd the vertex herrchy of G. We ssume tht ech ede n G hs unt weht except for (e, f), whch hs weht of 3. It s obvous tht the set {c,f,} forms n ndependent set n G, smlrly {b,d,h} n G 2 nd {e} n G 3. It s esy to see tht G 2 preserves ll dstnces n G, we shll expln the ddton of ede (e,h) lter. In order to preserve the dstnce n G 2, n ede (e,) of weht 2 s dded to G 3. G 4 conssts of snle ede (,) of weht 3. L 4 = {},G 5 conssts of snle vertex,l 5 = {}. b e d b c d e ( G = G 1, L 1 = c, f, 4 L 2 = b, d, h h 3 f h e 2 G 3, L 3 = e b d e G 2 Fure 1: A vertex herrchy 3 4 h G 4, L 4 = G 5 The dstnce preservton property cn be mntned ng wth respect tog 1 s follows. Frst, we requre the subrph of G 1 nduced by the vertex set V G to be n G (.e. (u,v) E G ff (u,v) E G 1 for u,v V G ). Then, we crete set of ddtonl edes, clled umentn edes, to be ncluded ntoe G s follows. For ny vertexv L 1 (thus v / V G ccordn to Defnton 1), f u,w V G, (u,v) E G 1 nd (v,w) E G 1, then n umentn ede(u,w) s creted ng wthω G (u,w) = ω G 1 (u,v) + ω G 1 (v,w). If (u,w) lredy exsts n G, then ω G (u,w) = mn(ω G 1 (u,w),ω G 1 (u,v) + ω G 1 (v,w)). An ede n G wth updted weht s lso clled n umentn 458
3 ede. For exmple, n Fure 1, n G 3, dst(e,) cn be preserved by cretn n umentn ede (e,) wth ω(e,) = 2. Ede(e,h) s lso dded ccordn to our process bove. Note tht dst G1 (e,h) = 3, whch cn be preserved n G 2 wthout ddn (e,h), but we leve (e,h) there to vod costly dstnce queryn needed to exclude (e, h). The follown lemm shows the correctness of constructn G from G 1 s dscussed bove. LEMMA 2. Constructn G from G 1, where 2 h, by ddn umentn edes to the nduced subrph ofg 1 byv G, mntns the dstnce preservton property wth respect tog 1. PROOF. Accordn to Defnton 1, L 1 s the only set of vertces tht re n G 1 but mssn n G. For ny two vertces s nd t n G, suppose tht the shortest pth (n G 1) from s to t, SP G 1 (s,t) does not pss throuh ny vertex n L 1, then the dstnce between s nd t n G 1 s trvlly preserved n G. Next suppose SP G 1 (s,t) psses throuh some vertex v L 1. Let SP G 1 (s,t) = s,...,u,v,w,...,t. Then, we must hve the umentn ede (u,w) creted n G wth ω G (u,w) = ω G 1 (u,v) + ω G 1 (v,w), or ω G (u,w) = mn(ω G 1 (u,w),ω G 1 (u,v)+ω G 1 (v,w)) f(u,w) lredy exsts n G. Therefore, the dstnce (n G 1) between ny two vertces s preserved ng. In ddton to the dstnce preservton property tht s requred for nswern dstnce queres, the proof lso ves hnt on why we requre ech L to be n ndependent set of G. Snce there s no ede n G 1 between ny two vertces n L 1, to crete n umentn ede (u,w) n G we only need to do selfjon on the nehbors of the vertex v L 1. Thus, the serch spce s lmted to 2 hops from ech vertex. On the contrry, f n ede cn exst between two vertces n L 1, then to preserve the dstnce the serch spce s t lest 3 hops from ech vertex, whch s snfcntly lrer thn the 2hop serch spce n prctce. Ths s crucl for processn lre rph tht cnnot ft n mn memory s we my need to scn the rph mny tmes to perform the jon, s we wll see n Secton Vertex Lbeln Wth the vertex herrchy (L,G), we now descrbe lbeln scheme tht cn fcltte fst computton of P2P dstnce. We frst defne the follown concepts necessry for the lbeln. Level number: ech vertexv V G s ssned level number, denoted byl(v), whch s defned sl(v) = ffv L. Ancestor: vertex u V G s n ncestor of vertex v f there exsts sequence S = v = w 1,w 2,...,w p = u, such tht l(w 1) < l(w 2) <... < l(w p), nd for 1 < p, the ede (w,w +1) E Gj where j = l(w ). Note tht v s n ncestor of tself. If u s n ncestor of v, then v s descendnt of u. EXAMPLE 2. In our exmple n Fure 1, the level numbers of c,f, re 1, tht of b,d,h re 2, tht of e s 3. The ncestors of f wll be e, h,,, snce (f,e) nd (f,h) re n G 1, (h,) s n G 2, nd (e,), (e,) re n G 3. Note tht d s not n ncestor of f snce n the pth f,e,d, l(e) = 3 whle l(d) = 2. The ncestordescendnt reltonshps re shown n Fure 2(). We now defne vertex lbel s follows. DEFINITION 2 (VERTEX LABEL). The lbel of vertex v V G, denoted by LABEL(v), s defned s LABEL(v) = {(u,dst G(v,u)) : u V G s n ncestor of v}. To compute LABEL(v) for ll v V G, we need to compute the dstnce from v to ech of v s ncestors. Ths s n expensve process whch cnnot be scled to process lre rphs. To ddress ths problem, we defne relxed vertex lbel tht requres only n upperbound,d(v,u), ofdst G(v,u) nd show thtd(v,u) suffces for nswern dstnce queres. DEFINITION 3 (RELAXED VERTEX LABEL). The relxed lbel of vertex v V G, denoted by lbel(v), s set of (u, d(v, u)) prs computed by the follown procedure: For ech v V G, we frst nclude (v,0) n lbel(v) nd mrk v. Then, we dd more entres to lbel(v) recursvely s follows. Tke mrked vertex u tht hs the smllest level number l(u), nd unmrk u. Let l(u) = j. For ech w dj Gj (u), where l(w) > j nd (w,d(v,w)) / lbel(v), dd the entry (w,(d(v,u) + ω Gj (u,w))) to lbel(v), nd mrk w. If the entry (w, d(v, w)) s lredy n lbel(v), updte d(v,w) = mn(d(v,w),(d(v,u) + ω Gj (u,w))). Repet the bove recursve process untl no more vertex s mrked. As for LABEL(v), lbel(v) contns entres for ll ncestors of v. In Secton 5, we wll show tht the new defnton fclttes the desn of n I/Oeffcent lorthm for hndln lre rphs. Here, we further llustrte the concept usn n exmple, nd then prove tht lbel(v) cn ndeed be used nsted of LABEL(v) to correctly nswer P2P dstnce queres n the follown subsecton. () lbel(c) {(,2),(b,1),(c,0),(e,2),(,4)} lbel(f) {(,4),(e,3),(f,0),(,5),(h,1)} lbel() {(,2),(e,1),(,3),(,0)} lbel(b) {(,1),(b,0),(e,1),(,3)} lbel(d) {(,2),(d,0),(e,1),(,1)} lbel(h) {(,5),(e,4),(,1),(h,0)} lbel(e) {(,1),(e,0),(,2)} lbel() {(,0),(,3)} lbel() {(,0)} (b) Fure 2: Lbeln for the exmple n Fure 1 EXAMPLE 3. For our exmple n Fure 1, the ncestor reltonshps re shown n Fure 2(), where ll edes hve unt wehts unless ndcted otherwse. The lbeln strts wth L 1, for vertces c,f,, next L 2 vertces b,d,h re lbeled, followed by L 3 = {e}, L 4 = {}, nd L 5 = {}. Consder the lbeln for vertex c, frst, (c,0) s ncluded, snce dj G(c) = {b}, (b,1) s dded to lbel(c) nd b s mrked. b s unmrked by checkn ts nehbors ndeng 2, nd we nclude both (,2),(e,2) nto lbel(c), nd e re mrked. e s t level 3 nd s unmrked next. dj G3 (e) ={,}, we dd(,4) tolbel(c). Thens unmrked, ts only nehbor n G 4 s lredy n lbel(c), d(c,) s not updted. s mrked. Fnlly s unmrked, snce hs no nehbor ng 5, no further processn s requred. The lbels for ll vertces re shown n Fure 2(b). Note tht d(h, e) = 4 n lbel(h), whle dst G(h,e) = 3, hence d(h,e) > dst G(h,e). In enerl the dstnce vlue n lbel entry cn be reter thn the true dstnce. 3.3 P2P Dstnce Queryn We now dscuss how we use the vertex lbels to nswer P2P dstnce queres. We frst defne the follown lbel opertons used n query processn. Vertex extrcton: V[lbel(v)] = {u : (u,d(v,u)) lbel(v)}. 459
4 Lbel ntersecton: lbel(u) lbel(v) = V[lbel(u)] V[lbel(v)]. The bove two opertons pply n the sme wy tolabel(.). Gven P2P dstnce query wth two nput vertces, s nd t, let X =lbel(s) lbel(t), the query nswer s ven s follows. { mnw X {d(s,w)+d(w,t)} f X dst G(s,t) = f X = In Equton 1, we retreve d(s,w) nd d(t,w) for ech w X from lbel(s) nd lbel(t), respectvely. We ve n exmple of nswern P2P dstnce queres usn the vertces lbels s follows. EXAMPLE 4. Consder the exmple n Fure 1, the lbeln s shown n Fure 2. Suppose we re nterested n dst G(h,e). We look up lbel(h) nd lbel(e). lbel(h) lbel(e) = {e,,}. Amon these vertces, hs the smllest sum ofd(h,)+d(,e) = 1+2 = 3. Hence we return 3 s dst G(h,e). Note tht lthouh the dstnced(h,e) recorded nlbel(h) s 4, whch s reter thn dst G(h,e), the correct dstnce s returned. If we wnt to fnd dst G(,), lbel() lbel() = {}. Hence dst G(,) s ven by d(,)+d(,) = 3+0 = 3. Query processn usn the vertex lbels s smple; however, t s not strhtforwrd to see how the nswer obtned s correct for every query. In the remnder of ths secton, we prove the correctness of the query nswer obtned usn the vertex lbels. We frst defne the concept of mxlevel vertex, denoted by v mx, of shortest pth, whch s useful n our proofs. Gven shortest pth fromstotng,sp G(s,t) = s = v 1,v 2,...,v p = t, v mx s the mxlevel vertex of SP G(s,t) f v mx s vertex on SP G(s,t) nd l(v mx) l(v ) for 1 p. The follown lemm shows tht v mx s unque n ny shortest pth. LEMMA 3. Gven two vertces s nd t, f s nd t re connected n G, then for ny shortest pth SP G(s,t) between s nd t, there exsts unque mxlevel vertex,v mx, of SP G(s,t). PROOF. If s nd t re connected n G, then t lest one shortest pth exsts between s nd t. Consder ny such shortest pth SP G(s,t), v mx must exst on SP G(s,t). Now suppose to the contrry tht v mx s not unque,.e., there exsts t lest one other vertex v on SP G(s,t) such tht l(v mx) = l(v) = j, whch lso mens tht both v mx nd v re n L j nd G j. Snce L j s n ndependent set of G j, there s no ede between v mx nd v n G j. Snce v mx nd v re on the sme pth SP G(s,t), they must be connected n G j nd the pth connectn them must pss throuh some nehboruofv mx orv ng j, whereus lso onsp G(s,t). Thus, u cnnot be n L j (otherwse the vertex ndependence property s volted) nd hence l(u) > l(v mx), whch contrdcts tht v mx s the mxlevel vertex of SP G(s,t). Next we prove tht LABEL(.) cn be used to correctly nswer P2P dstnce queres. Then, we show how lbel(.) possesses the essentl nformton of LABEL(.) for the processn of dstnce queres. THEOREM 1. Gven P2P dstnce query wth two nput vertces, s nd t, let X = LABEL(s) LABEL(t), then dst G(s,t) = mn w X {dst G(s,w) + dst G(t,w)} f X, or dst G(s,t) = fx =. PROOF. We frst show tht f SP G(s,t) exsts, then v mx X. Consder sequence of vertces, S = s = u 1,u 2,...,u α = (1) v mx = v β,...,v 2,v 1 = t, extrcted from SP G(s,t), such tht l(u 1) < l(u 2) <... < l(u α) = l(v mx), l(v 1) < l(v 2) <... < l(v β ) = l(v mx), nd for 1 < α, ny vertex w between u ndu +1 onsp G(s,t) hsl(w) < l(u ), nd sme for ny vertex betweenv ndv +1. Note tht snceu +1 s the next vertex fteru wth l(u +1) > l(u ), we hve l(w) l(u ), nd l(w) l(u ) by the vertex ndependence property. Snce u nd u +1 re connected, they must exst toether n G l(u ). Snce there exsts no other vertex w between u nd u +1 on SP G(s,t) such tht l(w) l(u ), u nd u +1 re not connected by ny such w n G l(u ). Thus, by Lemm 1, the ede (u,u +1) must exst n G l(u ) for G l(u ) to preserve the dstnce between u nd u +1, whch mens tht for 1 j α, u j s n ncestor of s nd hence u j LABEL(s). Note tht u 1 = s LABEL(s) f α = 1. Smlrly, we hve v LABEL(t), for 1 β. Thus, v mx = u α = v β X nd hence dst G(s,t) = dst G(s,v mx)+dst G(t,v mx). The other cse s tht SP G(s,t) does not exst,.e., s nd t re not connected, nd we wnt to show tht X =. Suppose on the contrry tht there exsts w X. Then, t mens tht there s pth from s to w nd from t to w, mplyn tht s nd t re connected, whch s contrdcton. Thus, X = nd dst G(s,t) = s correctly computed. Theorem 1 revels two peces of nformton tht re essentl for nswern dstnce queres: the ncestor set nd the dstnce to the ncestors mntned n LABEL(.). We frst show tht lbel(.) lso encodes the sme ncestor set of LABEL(.). LEMMA 4. For ech v V G,V[lbel(v)] = V[LABEL(v)]. PROOF. Frst, we show tht fw V[LABEL(v)],.e.,ws n ncestor of v, then w V[lbel(v)]. Accordn to the defnton of ncestor, there exsts sequence S = v = w 1,w 2,...,w p = w, such tht l(w 1) < l(w 2) <... < l(w p), nd for 1 < p, (w,w +1) E Gl(w. Ths defnton mples tht f w s ) currently n V[lbel(v)], w +1 wll lso be dded to V[lbel(v)] ccordn to Defnton 3. Snce w 1 = v must be n V[lbel(v)], t follows tht w = w p s lso nv[lbel(v)]. Next, we show tht f w V[lbel(v)], then w V[LABEL(v)]. Frst, we hve v V[lbel(v)], v s lso n V[LABEL(v)]. Then, ccordn to Defnton 3, vertex w s dded to V[lbel(v)] only f w dj Gl(u) (u) for some u currently n V[lbel(v)], nd l(w) > l(u), nd snce u s n ncestor of v, t mples tht w s n ncestor of v nd hence w V[LABEL(v)]. Next, we show thtlbel(.) lso possesses the essentl dstnce nformton for correct computton of P2P dstnce. LEMMA 5. Gven P2P dstnce query, s nd t, let X = lbel(s) lbel(t). If SP G(s,t) exsts, then v mx X, d(s,v mx) = dst G(s,v mx) nd d(t,v mx) = dst G(t,v mx). PROOF. It follows from Lemm 4 tht lbel(s) lbel(t) = LABEL(s) LABEL(t). As the proof of Theorem 1 shows tht v mx LABEL(s) LABEL(t), we lso hve v mx X. The proof of Theorem 1 defnes sequence, S = s = u 1,u 2,...,u α = v mx = v β,...,v 2,v 1 = t, extrcted from SP G(s,t). In prtculr, the proof shows tht the ede (u,u +1) exsts n G l(u ) nd l(u +1) > l(u ), for 1 < α. Thus, ccordn to Defnton 3, we dd the entry (u +1,(d(s,u ) + ω Gl(u (u,u+1))) to lbel(s). Snce ech ) ωg (u,u+1) l(u ) preserves the dstnce between u nd u +1, nd d(s,u 1) = dst G(s,u 1), t follows thtd(s,v mx = u α) = dst G(s,v mx = u α). Smlrly, we hve d(t,v mx) = dst G(t,v mx). 460
5 Fnlly, the follown theorem sttes the correctness of query processn usn lbel(.). d d THEOREM 2. Gven P2P dstnce query,sndt,dst G(s,t) evluted by Equton 1 s correct. PROOF. The proof follows drectly from Theorem 1, Lemms 4 nd A KLEVEL VERTEX HIERARCHY In Defnton 1, we do not lmt the heht h of the vertex herrchy,.e., the number of levels n the herrchy. Ths defnton ensures tht n ndependent setl cn lwys be obtned for ech G, for 1 h. However, when the ven rph s mssve, there re two problems ssocted wth the heht of the vertex herrchy. Frst, s the number of levels h ncreses, the lbel sze of the vertces t the lower levels (.e., vertces wth smller level number) lso ncreses. Snce vertex lbels requre store spce nd re drectly relted to query processn, there s need to lmt the vertex lbel sze. Second, s we wll dscuss n Secton 5, the complexty of constructn the vertex herrchy s lner n h. Thus, reducn h cn lso mprove the effcency of ndex constructon. In ths secton, we propose to lmt the heht h by klevel vertex herrchy, where k s normlly much smller thn h, nd dscuss how the bovementoned problems re resolved. 4.1 Lmtn the Heht of Vertex Herrchy The mn de s to termnte the constructon of the vertex herrchy erler t level when certn condton s met. We frst defne the klevel vertex herrchy. DEFINITION 4 (KLEVEL VERTEX HIERARCHY). Gven rph G = (V G,E G,ω G), vertex herrchy structure H = (L,G) ofg, nd n nteer k, where 1 < k (h+1) nd h s the number of levels nh, klevel vertex herrchy structure of G s defned by pr (H <k,g k ), where H <k nd G k re defned s follows: H <k = (L <k,g <k ) conssts of the frst (k 1) levels of H,.e.,L <k = {L 1,...,L k 1 } ndg <k = {G 1,...,G k 1 }; G k s the sme G k s the G k ng. The klevel vertex herrchy smply tkes the frst (k 1) L L, for 1 < k, nd the frst k G G, for 1 k. We set the vlue of k s follows: let be the frst level such tht ( G / G 1 ) > σ, where σ (0 < σ 1) s threshold for the effect of G ; then, k =. Ifk = (h+1), thenh <k s smplyhndg k s n empty rph. In prctce, vlue of σ tht ttns resonble ndexn cost nd store use wll often ve k h. For the klevel vertex herrchy, we ssn the level number l(v) = for ech vertex v L(), where 1 (k 1), whle for ech vertex v V Gk, we ssn l(v) = k. In ths wy, we cn compute lbel(v) (or LABEL(v)) for ech vertex v V G n the sme wy s dscussed n Secton 3.2. Note tht lbel(v) = {(v,0)} for ech vertexv V Gk snce v hs the hhest level number mon ll vertces nv G. EXAMPLE 5. Let us consder our runnn exmple n Fure 1, f we set k = 2, there s only one level L 1 n L <k, the rph G 2 s the hhest level rph nd s not further decomposed. The k level vertex herrchy s shown n Fure 3. The mxmum level of vertces s 2, snce ll vertces v ng 2 re ssned l(v) = 2. The lbels for the vertces nl 1 re shown n the follown tble. b c e f 1 1 h Fure 3: A klevel vertex herrchy (k = 2) lbel(c) {(b,1),(c,0)} lbel(f) {(e,3),(f,0),(h,1)} lbel() {(e,1),(,0)} 4.2 P2P Dstnce Queryn by klevel Vertex Herrchy Accordn to Secton 4.1, l(v) nd lbel(v) computed from the klevel vertex herrchy my be dfferent from those computed from the ornl vertex herrchy. However, we show lter n ths secton tht these lbels re hhly useful for they cpture ll the nformton tht s essentl fromg G k for contnued dstnce serch n G k. Gven P2P dstnce query, s nd t, we process the query ccordn to whether s nd t re n G k. We hve the follown two possble types of queres. Type 1: s / V Gk nd t / V Gk, nd ether (V[lbel(s)] V Gk ) = or (V[lbel(t)] V Gk ) =. Type 1 queres re evluted by Equton 1. Type 2: queres tht re not Type 1. Type 2 queres re evluted by lbelbsed bdjkstr serch procedure. We hve dscussed query processn by Equton 1 n Secton 3.3. We now dscuss how we process Type 2 queres s follows Lbelbsed bdjkstr Serch We descrbe bdrectonl Djkstr s lorthm tht utlzes vertex lbels for effectve prunn. The lorthm conssts of two mn stes: (1) ntlzton of dstnce queues nd prunn condton, nd (2) snle bdrectonl Djkstr serch. As shown n Alorthm 1, we frst ntlze forwrd nd reverse mnprorty queue, FQ nd RQ, whch re to be used for runnn Djkstr s snlesource shortest pth lorthm from s nd t, respectvely. For ny vertex v V Gk, f (v,d(s,v)) lbel(s), we dd(v,d(s,v)) to FQ wthd(s,v) s the key. For ll other vertces n V Gk but not n lbel(s), we dd the record (v, ) to FQ. Smlrly, we ntlze RQ. The vertex lbels cn lso be used for prunn the serch spce. If there exsts pth between s nd t tht psses throuh some vertex w (V G V Gk {s,t}), then Lnes 56 ntlzes µ s the mnmum lenth of such pth. Note tht µ dst G(s,t). We now descrbe Ste 2 of the query processn. We run Djkstr s lorthm smultneously from s nd t by extrctn the vertex v wth the mnmum key from FQ or RQ (Lne 9). Let (v,d(x,v)) be the extrcted record, where x = s f the record s extrcted from FQ ndx = t otherwse. At ths pont, Djkstr s lorthm urntees tht the dstnce from x to v s found,.e., d(x,v) = dst G(x,v). Then, n Lnes 1318, the dstnce from x to every nehbor u of v n G k s updted, f u s stll n FQ (f x = s) or RQ (fx = t). In ddton to strtn the serch n both drectons from s nd t n Djkstr s lorthm, we lso dd prunn condton n Lne b e 2 h 461
6 Alorthm 1: Lbelbsed bdjkstr Serch Input :s,t,lbel(s), lbel(t), G k Output :dst G (s,t) // Ste 1: ntlzton of dstnce queues nd prunn condton // FQ (RQ): forwrd (reverse) mnprorty queue 1 ntlze FQ wth the set{(v,d(s,v)) : v V Gk, (v, d(s, v)) lbel(s)}, wth d(s, v) s the key; 2 ntlze RQ wth the set{(v,d(t,v)) : v V Gk, (v,d(t,v)) lbel(t)}, wth d(t,v) s the key; 3 v V G nd v not n FQ(RQ), nsert (v, ) nto FQ(RQ); // µ: shortest dstnce from s to t found so fr // µ s used for prunn n Ste 2 4 µ ; 5 X lbel(s) lbel(t); 6 f X then µ mn w X {d(s,w)+d(w,t)}; // Ste 2: bdrectonl Djkstr serch 7 S ; 8 whle both FQ nd RQ re not empty, nd (mn(fq)+mn(rq)) < µ do 9 (v,d(x,v)) extrctmn(fq,rq) ; // x = s or x = t 10 let x = t f x = s, nd x = s f x = t; 11 f v,dst G (x,v) s not n S then 12 nsert v,dst G (x,v) nto S; 13 forech u dj Gk (v) do 14 f d(x,u) > d(x,v)+ω Gk (v,u) then 15 d(x,u) d(x,v)+ω Gk (v,u); 16 updte d(x,u) n FQ (f x = s) or RQ (f x = t); 17 f u,dst G (x,u) s n S then 18 µ mn{µ,d(x,u)+dst G (x,u)}; 19 return µ; 8 tht requres the sum of the mnmum keys of FQ nd RQ to be less thn µ. If ths sum s not less thn µ, then t mens tht no pth from s to t of shorter dstnce thn µ cn be found (proved n Theorem 4) nd hence we returndst G(s,t) = µ. To mprove the prunn effect so s to convere the serch quckly, we keep updtn µ whenever d(x, u) s updted f dst G(x,u) hs been found (Lnes 1718), snce u s potentl vertex on SP G(s,t). We use set S to keep set of vertces whose dstnce from s or t hs been found. Whenever dst G(x,v) s found for vertex v, f v s not yet n S, we nsert v, toether wthdst G(x,v), ntos. We ve n exmple to llustrte how queres re processed s follows. EXAMPLE 6. Let us consder Exmple 5. Suppose we need to process dstnce query between vertcescnd,.e. s = c,t =. In lbel(c), b s n G k, nd therefore we enter (b,d(c,b) = 1) nto FQ. In lbel(), e s n G k, hence we enter (e,d(,e) = 1) nto RQ. lbel(c) lbel() = φ, hence µ = fter Ste 1 of Alorthm 1. In Ste 2, let us extrct (b,1) from FQ frst, b, 1 s nserted nto S, nd we enter (, 2), (e, 2), nto F Q. Next we extrct (e,1) from RQ, nd nsert e,1 nto S. (,2), (d,2), (b,2) re entered nto RQ. Snce b s n S, we updte µ to = 3. At ths pont (mn(fq) + mn(rq)) > µ nd we return dst G(c,) = Correctness We now prove the correctness of query processn by theklevel vertex herrchy. We frst prove the correctness for processn Type 1 queres. THEOREM 3. Gven P2P dstnce query, s nd t, f the query belons to Type 1, thendst G(s,t) evluted by Equton 1 s correct. PROOF. Frst, we show tht f the query belons to Type 1, then SP G(s,t) does not contn ny vertex n V Gk. Suppose on the contrry tht SP G(s,t) contns vertex n V Gk. Then, consder the subpth of SP G(s,t) from s to x, where x s the only vertex on the subpth tht s nv Gk. SnceSP G(s,t) s shortest pth n G, ths subpth s shortest pth fromstoxng. LetSP G(s,x) be the subpth. Consder the query wth two nput vertces s nd x; then, by smlr rument s n the proof of Lemm 3 we hve v mx = x onsp G(s,x), nd by smlr rument s n the proof of Lemm 5 we hve x = v mx V[lbel(s)]. A symmetrc nlyss on the subpth from t to some vertexy, where y s the only vertex on the subpth tht s nv Gk, shows tht y = v mx on SP G(t,y) ndy V[lbel(t)]. Ths contrdcts the defnton of Type 1 query tht ether (V[lbel(s)] V Gk ) = or (V[lbel(t)] V Gk ) =. Now f SP G(s,t) does not contn ny vertex n V Gk, then the query cn be nswered usn only lbel entres of vertces from the frst (k 1) levels of the vertex herrchy. These entres wll hve dentcl occurrences nd contents n the vertex lbels t the frstk levels of ny vertex herrchy H <j, where k j h + 1, whch s formed by lmtn the heht of ven H. Thus, the correctness of query nswer follows from Theorem 2. Note tht Type 1 queres exst only f there exst more thn one connected component n G such tht ll vertces n some connected component(s) hve level number lower thn k. Next we prove the correctness for processn Type 2 queres. THEOREM 4. Gven P2P dstnce query, s nd t, f the query belons to Type 2, then dst G(s,t) evluted by the lbelbsed bdjkstr serch procedure s correct. PROOF. We hve two cses: (1)SP G(s,t) does not contn ny vertex nv Gk, or (2) otherwse. If SP G(s,t) does not contn ny vertex n V Gk, then dst G(s,t) s computed n Lnes 56 of Alorthm 1, or n other words by Equton 1. As explned n the proof of Theorem 3, the correctness of query nswer follows from Theorem 2. If SP G(s,t) contns t lest one vertex n V Gk, then consder the two subpths,sp G(s,x) ndsp G(t,y), defned n the proof of Theorem 3 (note tht t s possble s = x nd/or x = y nd/or y = t). dst G(s,x) nd dst G(t,y) cn be nswered usn only lbel entres of vertces nl <k nd ther ncestors ng k for (H <k,g k ). From the lbeln mechnsm, the occurrences nd contents of such lbel entres wll be dentcl n the lbels of vertces n the frst k levels of ny vertex herrchy H <j, k j h + 1, whch s formed by lmtn the heht of ven H. Hence by Theorem 2, dst G(s,x) nd dst G(t,y) re correctly ntlzed n Lnes 13 of Alorthm 1. Thus, f we do not consder the prunn condton n Lne 8, then Djkstr s lorthm urntees the dstnce from s (ndt) to ny vertex ng k correctly computed, from whch we cn obtn dst G(s,t). Now we consder query processn wth prunn. Let µ = µ, nd mn f = mn(fq) nd mn r = mn(rq), when the serch stops. If µ s the vlue of µ ntlzed n Lne 6, then we must hve x = y (lbel(s) lbel(t)) nd hence µ = (dst G(s,x) + dst G(t,x)). Otherwse, µ s vlue ssned to µ n Lne 18 nd suppose to the contrry tht there exsts shorter pth between s nd t wth lenth p such tht p < µ. Snce the pth psses throuh vertces n G k, there must exst n ede (v,u) ng k such thtp = dst G(s,v)+ω Gk (v,u)+dst G(u,t), dst G(s,v) < mn f nd dst G(u,t) < mn r. The exstence of 462
7 ths ede s urnteed becuse p < µ (mn f +mn r). Snce dst G(s,v) < mn f nd dst G(u,t) < mn r, by Djkstr s lorthm, bothdst G(s,v) nddst G(t,u) hve been computed when the serch stops. Thus, µ should hve been updted to vlue not reter thn p n Lne 18 when the ede (v, u) ws processed. Ths contrdcts our ssumpton nd hence µ = dst G(s,t). 4.3 Hndln Drected Grphs To hndle drected rphs, we need to mke the follown chnes. Let us use (u,v) to ndcte drected ede from u to v n ths subsecton. The concept of ndependent set cn be ppled n the sme wy by smply norn the drecton of the edes. However, for dstnce preservton, we crete n umentn ede (u,w) t G only f v L 1 such tht (u,v),(v,w) E G 1. We dstnush two types of ncestors for vertex v: nncestors nd outncestors. The defnton of nncestors s smlr to tht of ncestors n undrected rphs, except tht we only consder edes from hherlevel vertces to lowerlevel vertces. Anloously, the defnton of outncestors concerns edes on from lowerlevel vertces to hherlevel vertces. The lbeln needs to hndle two drectons. For ech vertex v, we need two types of lbels defned s follows. The nlbel of vertex v V G, denoted by LABEL n(v), s defned s LABEL n(v) = {(u,dst G(u,v)) : u V G s n nncestor of v}. The outlbel of vertex v V G, denoted by LABEL out(v), s defned s LABEL out(v) = {(u,dst G(v,u)) : u V G s n outncestor of v}. Gven P2P dstnce query wth two nput vertces, s nd t, we compute X = LABEL out(s) LABEL n(t) nd then nswer the query n the sme wy s ven n Equton ALGORITHMS In ths secton, we present the lorthms for ndex constructon (.e., vertex herrchy constructon nd vertex lbeln) nd query processn usn the vertex lbels. In recent yers, due to the prolferton of mny mssve rel world networks, there hs been n ncresn nterest n lorthms tht hndle lre rphs. For processn lre rphs tht cnnot ft n mn memory, I/O cost usully domntes. Thus, we propose I/Oeffcent lorthms, from whch the nmemory lorthms cn lso be esly devsed. For the nlyss of the I/O complexty n ths secton, we defne the follown notton [5]. Let scn(n) = Θ(N/B) nd sort(n) = Θ( N lo B M/B N ), where N s the mount of dt ben red or wrtten from/to dsk, M s the mn memory sze, nd B B s the dsk block sze (1 B M/2). 5.1 Alorthm for Index Constructon Althouh the vertex herrchy, except G k, s not requred for query processn, t s needed for vertex lbeln. The vertex herrchy conssts of two components, L nd G; thus we hve two mn steps: (1) computn ech ndependent vertex set L L, nd (2) constructn ech dstncepreservn rph G G. We frst descrbe these two steps, followed by the constructon of the overll vertex herrchy, nd fnlly the vertex lbeln Constructn L We wnt to mxmze the sze of ech L s ths helps to mnmze the number of levels h nd hence lso mnmzes the vertex lbel sze. However, mxmzn L mens computn the mxmum ndependent set of G, whch s n NPhrd problem. We dopt reedy strtey to pproxmte the set of mxmum ndependent set ofg by selectn the vertex wth mnmum deree t ech step [21], snce smll deree vertces hve smller number Alorthm 2: Constructn L Input : A rph G = (V G,E G,ω G ) Output :L nd ADJ(L ) = {dj G (v) : v L } 1 llocte buffer for L nd ADJ(L ), nd buffer for L ; 2 G G ; 3 sortdj G (v) n G n scendn order of de G (v); 4 forech dj G (u) red n G do 5 f u L then 6 nsert u nto L, nd nsert dj G (u) nto ADJ(L ); 7 forech v dj G (u) do 8 f v L then nsert v nto L ; 9 f buffer for L nd ADJ(L ) s full then flush the buffer; 10 f buffer for L s full then 11 scn G to delete ll v L nd dj G (v), nd cler L ; Alorthm 3: Constructn G Input :G 1, L 1 nd ADJ(L 1 ) Output :G 1 G G 1 ; 2 remove fromg ll v L 1 nd dj G 1 (v); 3 E A ; 4 forech dj G 1 (v) ADJ(L 1 ) do 5 forech u,w dj G 1 (v), where u < w do 6 nsert nto E A the edes (u,w) nd (w,u), wth ω G (u,w) = ω G (w,u) = (ω G 1 (u,v)+ω G 1 (v,w)); 7 sort the edes n E A by vertex ID s; 8 scn E A nd G to dd ech ede (u,w) E A to G, or updte ω G (u,w) wth the smller weht f (u,w) lredy exsts n G ; of dependent (.e., djcent) vertces nd hence more vertces re left s cnddtes for ndependent set t the next step. Moreover, the reedy lorthm cn lso be esly extended to ve n I/Oeffcent lorthm tht hndles the cse when G s too lre to ft n mn memory, s descrbed n Alorthm 2. The lorthm computes n ndependent set L of G, toether wth the djcency lsts of the vertces nl, denoted byadj(l ). We use ADJ(L ) to construct G +1 n Secton To compute L, we lso keep those vertces tht hve been excluded froml n the lorthm, s denoted byl. We use buffer to keep the current L nd ADJ(L ), nd nother buffer to keep L. The lorthm frst mkes copy of G, let t be G, nd then sorts the djcency lsts n G n scendn order of the vertex derees (.e., the szes of the djcency lsts). Then, we red G n ths sorted order,.e., the djcency lsts of vertces wth smller derees re red frst. For ech dj G (u) red, f u s not n L, we nclude u ntol nd dd dj G (u) to ADJ(L ). Menwhle, we exclude ll vertces n dj G (u) from L becuse of ther dependence wth u,.e., we dd these vertces to L. The lorthm termntes when dj G (u) for llung re red. If G s very lre, t s possble tht L nd ADJ(L ) re too lre to be kept by memory buffer. We cn smply wrte the currentl ndadj(l ) n the buffer to dsk, nd then cler the buffer for new contents of L nd ADJ(L ). However, when the buffer for L s full, we cnnot smply flush the buffer snce t s possble tht u L, dj G (u) hs not been red yet. To tckle ths wthout ncurrn rndom dsk ccesses, we scn G to remove ll the vertces currently n L, toether wth ther djcency lsts, from G, becuse these vertces hve lredy been excluded from L. 463
8 Then, we cler the buffer for L. IfG cn be resdent n mn memory, Lnes of Alorthm 2 re not necessry nd we only need to scn G once. If G s resdent on dsk, t s esy to see tht only sequentl scns of G re needed nd expensve rndom dsk ccess s voded. Alorthm 2 tkes sort( G ) I/Os to sort G. If L < M, we need notherscn( G ) I/Os to redg. Otherwse,O( L /M) scn( G ) I/Os re requred Constructn G After obtnnl 1 ndadj(l 1), we use them to construct G. As shown n Alorthm 3, we frst ntlze G by removn the occurrences of ll vertces n L 1, toether wth ther djcency lsts, from G 1. However, the resultnt G my not stsfy the dstnce preservton property. As dscussed n Secton 3.1, the volton to ths property cn be fxed by the creton of set of umentn edes. We crete these umentn edes from ADJ(L 1) s follows. When vertexv L 1, toether wthdj G 1 (v), s removed from G 1 to form G, wht s mssn n G s the pth u,v,w for ny u,w dj G 1 (v), where u < w (.e., u s ordered before w). Thus, to preserve the dstnce we only need to crete the umentn ede (u, w), nd symmetrclly (w, u) for undrected rphs, wth weht (ω G 1 (u,v)+ω G 1 (v,w)). We crete ll such umentn edes n Lnes 46 of Alorthm 3 nd store them n n rry E A. Then, we sort the edes n E A frst n scendn order of the frst vertex nd then of the second vertex. Then, we scn both E A nd G (lredy sorted n ts djcency lst representton), so tht ech ede n E A s mered nto G. If n ede ne A s lredy ng, then ts weht s updted to the smller vlue of ts weht recorded n E A nd n G. In ddton we cn dopt the prunn method n [13] to prune umentn edes bsed on trnle nequlty. If mn memory s not suffcent, Lne 2 of Alorthm 3 uses O( L 1 /M) scn( G 1 ) I/Os, f E A < G then Lnes 36 nd 8 use scn( G ) I/Os, nd Lne 7 uses sort( G ) I/Os, else we my sort prtl E A ech tme t flls up memory nd then scn G, so the IO cost so( E A /M)scn( G ) Constructn (L, G) The overll scheme to construct the vertex herrchy, (L, G), s to strt wth the ven G 1 = G, nd keep repetn the two steps of computn L (Alorthm 2) nd constructn G (Alorthm 3) untl we rech level k (see Secton 4.1 for the vlue of k) TopDown Vertex Lbeln Defnton 3 essentlly defnes procedure for computn lbel(v) for ech v V G. However, creful nlyss wll show tht such procedure, f mplemented drectly s t s descrbed, nvolves much redundnt processn s mpled by the follown corollry of Lemm 4. COROLLARY 1. Gven vertexv L, we hvev[lbel(v)] = {v} ( u dj G (v) V[lbel(u)]). PROOF. By Defnton 3, u dj G (v), u wll be ncluded nto V[lbel(v)]. From the result of Lemm 4, we hve u V[lbel(v)], u s n ncestor of v by Defnton 2. In the sme wy, we hve w V[lbel(u)], w V[lbel(v)] snce w s then lso n ncestor of v. Thus, u dj G (v), V[lbel(u)] V[lbel(v)]. Next, w V[lbel(v)]\{v}, w V[lbel(u)] for some u dj G (v) becuse w s ncluded nto V[lbel(v)] from some u by Alorthm 4: TopDown Vertex Lbeln Input :(L,G) Output :lbel(v), v V G // Intlzton of vertex lbels 1 for = 1,...,k 1 do 2 forech v L do 3 lbel(v) {(v,0)} {(u,ω G (v,u)) : u dj G (v)}; 4 v V Gk : lbel(v) {(v,0)}; // Topdown vertex lbeln 5 for = k 1,...,1 do 6 llocte buffer B L nd lod lbel(v), for ech v L, n B L ; 7 llocte buffer B U nd lod lbel(v), for ech v L j for < j < k nd for ech v V Gk, n B U ; 8 forech block B L do 9 forech block B U do 10 forech lbel(v) n B L do 11 forech lbel(u) n B U do 12 f (u, d(v, u)) lbel(v) then 13 forech (w,d(u,w)) lbel(u) do 14 f (w, d(v, w)) lbel(v) then 15 dd (w,d(v,u)+d(u,w)) to lbel(v); 16 else 17 d(v,w) = mn(d(v, w), d(v, u)+d(u, w)); Defnton 3, nd by the sme procedure w wll be ncluded nto V[lbel(u)] when we compute lbel(u). Corollry 1 mples tht lbel(v) cn be computed from lbel(u), for ech u dj G (v), nsted of from scrtch. Bsed on ths, we desn more effcent topdown lorthm for vertex lbeln s shown n Alorthm 4. The lorthm conssts of two stes: ntlzton of vertex lbels nd topdown vertex lbeln by block nested loop jon, dscussed s follows. Accordn to Corollry 1, we only need to dd (v,0) nd (u,ω G (v,u)) for ll u dj G (v) to lbel(v), nd then derve other entres of lbel(v) from lbel(u) n the topdown process. For echv V Gk, however, we only need to dd(v,0) tolbel(v) snce ech v V Gk hs only one ncestor,.e.,v tself. After the ntlzton, we compute the lbels for the vertces strtn from the top levels to the bottom levels,.e., from level(k 1) down to level 1. We ssume tht the set of lbels t ech level my not be ble to ft n mn memory nd hence use block nested loop jon to fnd the mtchn lbels,.e., lbel(u) for ech u dj G (v) when we process v t level. Note tht fu dj G (v), then (u,d(v,u)) lbel(v) by the ntlzton. Thus, s shown n Lnes 1116, we derve the entres of other ncestors of v from lbel(u) drectly, whch essentlly follows the rule specfed n Defnton 3. The complexty of the lorthm s pprently domnted by the topdown process. Let b L() = {lbel(v) : v L }, nd b U() = <j<k {lbel(v) : v Lj} {lbel(v) : v VG }. k The I/O complexty for the block nested loop jon s ven by (b L()/M) (b U()/B). Thus, the I/O complexty of Alorthm 4 s ven by O( k 1 =1 ((bl()/m) (bu()/b))). 5.2 Alorthm for Query Processn 464
9 For processn lre dtsets, the vertex lbels my not ft n mn memory nd re stored on dsk. The entres n ech lbel(v) re stored sequentlly on dsk nd re sorted by the vertex ID s of the ncestors of v. Thus, lbel(s) lbel(t) nvolves smple sequentl scnnn of the entres n lbel(s) nd lbel(t). From our experments, the vertex lbels re smll n sze nd retrevn vertex lbel from dsk tkes only one I/O. The CPU tme for query processn comes mostly from the bdjkstr serch. For rph G = (V,E), bnry hep cn be used nd Djkstr s lorthms runs no(( E + V )lo V ) tme. 6. EXPERIMENTAL EVALUATION We evlute the performnce of our method nd compre wth other relted methods for processn P2P dstnce queres [23, 39]. All methods tested were prormmed n C++ nd compled wth the sme compler. All experments were run on computer wth n Intel 3.3 GHz CPU, 4GB RAM nd 7200 RPM SATA hrd dsk, runnn Ubuntu Lnux OS. We use both undrected nd drected rel dtsets. For the undrected dtsets: BTC s semntc rph converted from the Bllon Trple Chllene 2009 RDF dtset (vmlon25.der.e/), where ech vertex represents n object such s person, document, nd n event, nd ech ede represents the reltonshp between two nodes such s hsuthor, lnksto, nd hsttle. Web (brcelon.reserch.yhoo.net/webspm) s subrph of the UK Web rph, where vertces re pes nd edes re hyperlnks. The ornl rph G s drected nd converted nto undrected rph G s follows: f two vertces re rechble from ech other wthn w hops n G, where w {1,2}, they hve n undrected ede wth weht w n G. Snce there re mny connected components n G, we extrct the lrest connected component. As Sktter s n Internet topoloy rph from trceroutes run dly n 2005 (www.cd.or/tools/mesurement/sktter). EmlEnron s the communcton network from Enron. CAstroph s the collborton network of Arxv Astro Physcs. The homo nd erdos dtsets re bolocl network nd socl network from [39]. For the drected rphs: ukweb s subrph of the UK Web rph. The wktlk rph s communcton network from Wkped. EmlEuAll s the eml network from EU reserch nsttuton. Socsnslshdot nd socepnons re socl networks. The p2p rph s the Gnutell peer to peer network. CtHepPh s the Arxv Hh Enery Physcs pper ctton network. The wkvote rph s the Wkped whovotesonwhom network. More detls of the follown dtsets cn be found n (snp.stnford.edu): s Sktter, emlenron, Astroph, wktlk, emleuall, socsnslshdot, socepnons, p2p, cthepph, nd wkvote. We lst the dtsets n Tble Comprson wth Other Methods We compre wth two most recent works on ponttopont dstnce queryn, HCL [23] for drected rphs nd TEDI [39] for undrected rphs. In [23, 39], HCL nd TEDI were shown to outperform other exstn methods for dstnce queryn n drected nd undrected rphs, respectvely. Snce ISLbel uses bdrectonl Djkstr serch (BDIJ) n G k, we lso report the results of BDIJ on the ornl rph G s reference. We use σ = 0.95 s our defult threshold n ISLbel to obtn G k,.e., when ( G / G 1 ) > σ, we set k =. To ssess query performnce, we rndomly enerte 1000 queres n ech dtset nd compute the vere query tme. Tble 2 reports both the ndexn performnce nd query performnce of ll the methods. The results clerly show tht ISLbel snfcntly outperforms both HCL nd TEDI n ll spects. Frst, V E Av. de Mx. de Dsk sze Undrected rphs BTC 164.7M 361.1M , GB Web 6.9M 113.0M , GB ssktter 1.7M 22.2M , MB EmlEnron 37K 368K , MB castroph 19K 396K MB homo 7K 40K MB erdos 7K 24K MB Drected rphs ukweb 105.9M 297.4M , GB wktlk 2.4M 5.0M , MB EmlEuAll 265K 419K , MB socsnslshdot 77K 517K ,532 8MB socepnons 76K 509K , MB p2p 63K 148K MB cthepph 35K 421K MB wkvote 7K 104K MB Tble 1: Rel dtsets ISLbel s fr more sclble thn HCL nd TEDI. ISLbel cn process rphs up to three nd four orders of mntude lrer thn those HCL nd TEDI cn hndle. For most of the rphs tested, we were not ble to obtn the result for HCL nd TEDI due to the prohbtvely hh cost of llprs shortest pth computton. Second, even for processn those smll rphs whch HCL nd TEDI cn hndle, both the ndexn tme nd queryn tme of ISLbel re up to orders of mntude shorter thn those of HCL n ll cses. TEDI s fster n ndexn thn ISLbel but TEDI s only ble to hndle very smll rphs wth only 7K vertces. For the reltvely smller rphs, ISLbel obtns complete vertex herrchy,.e.,k = (h+1) ndg k s n empty rph, but the ndexn process s stll very fst. The lbel sze s n enerl lrer thn when we hve nonempty G k, but the lrest overll lbel sze s only round 1 GB whch s certnly cceptble. Note tht f store spce s crtcl, we cn esly lmt the heht of the vertex herrchy to obtn smller lbel sze, s we hve done for the lre rphs. Ths shows the flexblty of our lbeln scheme for processn rphs of dfferent szes nd/or computn resources. Compred wth BDIJ, ISLbel s snfcntly fster for processn ll dtsets. The need for n ndex becomes clerer for processn lrer rphs. For processn the dtsets BTC nd ukweb, we could not obtn the result for BDIJ snce the memory consumpton of BDIJ exceeds the mn memory cpcty. In concluson, our lbeln scheme s b step forwrd n the development of n effcent ndex for nswern ponttopont dstnce queres n rel world enerl rphs (both drected nd undrected). Ths s evdent from the results tht ISLbel s ble to hndle rphs up to three nd four orders of mntude lrer thn the lrest rphs used to test HCL [23] nd TEDI [39], respectvely. Furthermore, even for processn smll rphs, ISLbel lso snfcntly outperforms the most recent work, HCL [23], n ll spects. 6.2 Effect of Grph Densty In ths experment, we exmne the effect of densty on the performnce of ISLbel. We enerte two types of synthetc rphs usn the rph enertor provded by [40]: the preferentl ttchment model (modeln rphs wth powerlw deree dstrbuton) [10], nd the smll world model (modeln rphs wth short vere dstnce nd smll communtes) [38]. We fx the rph sze to 1 mllon vertces nd vry the vere deree of the vertces from 5 to 80. We report the totl lbel sze for ech vere deree vlue n Fure 4. The ndexn tme nd query tme follow smlr trend s the lbel sze. 465
10 k V Gk E Gk lbel Index sze Indexn tme (s) Query tme (ms) Dt rphs ISLbel HCL TEDI ISLbel HCL TEDI ISLbel HCL TEDI BDIJ Undrected BTC 6 134K 16.4M GB Web K 14.5M GB ssktter 6 86K 8.5M MB EmlEnron MB 46.4MB castroph MB 78.4MB homo MB 9.4MB 27.9MB erdos MB 2.2MB 1.9MB Drected ukweb M 54.5M GB n n n.. wktlk 4 14K 1.1M MB n n n EmlEuAll K MB n n n socsnslshdot GB n n n socepnons GB n n n p2p MB n n n cthepph MB 63.9MB n n n wkvote MB 2.6MB n n n Tble 2: Performnce results of ISLbel, HCL, TEDI, nd BDjkstr (BDIJ): the sze of G k nd vere number of entres per lbel, lbel, of ISLbel; nd the totl ndex sze, totl ndexn tme, nd vere query tme of ll methods. The results show tht our lbel sze s not snfcntly ncresed when the densty ncreses for both preferentl ttchment nd smllworld models. The more rpd ncrese n the lbel sze when the deree ncreses from 5 to 20 s becuse lrer k,.e., more levels n the vertex herrchy, s computed for smller rphs. However, when the densty becomes lrer, the ncrese n the lbel sze becomes smll. Lbel sze (MB) Preferentl Attchment Smll World Avere deree Fure 4: Performnce results of densty chne 6.3 Effect of klevel Vertex Herrchy For hndln lre rphs, ISLbel restrcts the number of levels n the vertex herrchy to k n order to combt the ncresn lbel sze, nd then run the bdjsktr lorthm ong k. In ths experment, we test the effect of k on the performnce. In prtculr, we exmne whether G k s too dense for the bdjsktr lorthm to be effcent. We report the results n Tble 3, where we use the two lrer rphs BTC nd Web to demonstrte the effect of k (the results on other dtsets re smlr). The vlue of k computed by our lorthm s 6 nd 19 for BTC nd Web, respectvely. And we mnully set 4 k 8 nd 15 k 23 to test the effect. The results show tht for ny two level numberk1 ndk2, where k1 < k2, G k2 s denser thn tht of G k1. The ncrese n densty s lrely due to the decrese n the vertex number, but the overll sze (n terms of both ede number nd vertex number) of G k2 s smller thn tht of G k1. Thus, s k ncreses, bdjkstr runs on denser but smller rph G k2. As shown by Qtme2 n Tble 3, bdjkstr s stll fster ng k2 thn ng k1, thouh G k2 s denser. The overll query tme,.e., the sum of Qtme1 nd Qtme2, ncreses s k ncreses. Ths s mnly due to the fct tht the lbel sze ncreses when k ncreses,.e., the number of levels n k V Gk E Gk Lbel Indexn Qtme1 Qtme2 sze tme (s) (ms) (ms) BTC 4 232K 18.7M 3.8 GB BTC 5 167K 17.2M 4.9 GB BTC 6 134K 16.4M 7.1 GB BTC 7 114K 15.8M 11.2 GB BTC 8 100K 15.4M 18.1 GB Web K 17.8M 5.8 GB Web K 16.0M 7.1 GB Web K 14.5M 8.1 GB Web K 13.2M 9.0 GB Web K 12.2M 9.9 GB Tble 3: Performnce results of dfferent k: the sze of G k nd lbel, ndexn tme, Qtme1 for the tme tken to process the lbels nd Qtme2 for the tme to run bdjsktr ng k the vertex herrchy ncreses. Thus, the tme to retreve the lbels from dsk (ledn to hh I/O cost) nd to ntersect the lbel sets,.e., Qtme1, becomes more expensve. However, we note tht fk s too smll, t becomes very costly to run bdjkstr n G k. For exmple, t tkes ms to run bdjkstr n G 0 = G for the Web rph, whch s lrer thn the sum of Qtme1 nd Qtme2 for nyk shown n Tble 3. Fnlly, we cn lso see from the tble tht the vlue of k computed by our lorthm s effectve. In fct, for the Web rph, k = 19 computed by our lorthm s the optml vlue. 7. LIMITATIONS OF EXISTING WORK We hhlht the chllenes of computn P2P dstnce by dscussn exstn pproches nd ther lmttons. 7.1 Indexn Approches Cohen et l. [16] proposed the 2hop lbeln tht computes for ech vertex v two sets, L n(v) nd L out(v), where for ech vertex u L n(v) nd w L out(v), there s pth from u to v nd from v to w. The dstnces dst G(u,v) nd dst G(v,w) re precomputed. Gven dstnce query, s nd t, the ndex ensures tht dst G(s,t) cn be nswered s mn v (Lout(s) Ln (t)){dst G(s,v)+dst G(v,t)}. However, computn the 2hop lbeln, ncludn the heurstc lorthms [15, 35], s very costly for lre rphs. Xo et l. [41] explot symmetrc structures n n unwehted undrected rph to compress BFS trees to nswer dstnce queres. However, the overll sze of ll the compressed BFS trees s prohbtvely lre even for medum szed rphs. 466
11 We [39] proposed n ndex bsed on tree decomposton of n undrected rph G, where ech node n the tree stores set of vertces n G. The dstnce between ech pr of vertces stored n ech tree node s precomputed, so tht queres cn be nswered by consdern the mnmum dstnce between vertces stored on smple pth n the tree. However, the number of vertces stored n the root node s lre nd thus the prwse dstnces for these vertces re expensve to compute nd requre hue store spce. As result, the method cnnot scle to hndle lre rphs. The lbeln method n [16] s very costly. Jn et l. [23] proposed to use spnnn tree s hhwy structure n drected rph, so tht dstnce from s tots computed s the lenth of the shortest pth from s to some vertex u nd v the hhwy (.e., pth n the spnnn tree) to some vertex v, nd from v to t. Every vertex s ven lbel so tht set of entry ponts n the hhwy (e..,u) nd set of ext ponts (e..,v) cn be obtned. However, the lbeln requres ll prs shortest pths to be computed nd s too costly for processn lre rphs. Chen et l. [13] proposed the VCndex for computn the dstnces from source vertex to ll other vertces. The use of vertex cover n [13] hs nspred the use of ndependent set n our method. An ndependent set s the complement of vertex cover n rph. VCndex cn be used to nswer P2P dstnce queres f we force the serch from source s to stop when httn tret t. However, ther method s not lbeln technque nd much computton wll be wsted n computn the dstnces from the source to mny rrelevnt vertces. Vertex cover hs lso been used for nswern khop rechblty queres [14], t s lso not lbeln method. The problem of P2P dstnce queryn hs been well studed for rod networks. Abrhm et l. [2] recently proposed hubbsed lbeln lorthm, whch s the fstest known lorthm n the rod network settn. Other fst lorthms such s [32], [18], nd [9] re lso bsed on the concept of hhwys to reduce the serch spce. However, t hs been shown n [4] nd [1] tht the effectveness of these methods reles on propertes such s low VC dmensons nd low hhwy dmensons, whch re typcl n rod networks but my not hold for other types of rphs. Another pproch s bsed on concse representton of ll prs shortest pths [31, 33]. However, ths pproch hevly depends on the sptl coherence of vertces nd ther nterconnectvty. To et l. [36] proposed the kskp shortest pth on rod networks, whch s to return t lest one out of every k consecutve vertces n shortest pth. Whle P2P dstnce queryn hs been qute successfully resolved for rod networks, these methods re n enerl not pplcble to rphs from other sources. 7.2 Other Approches When the nput rph s too lre to ft n mn memory, externl memory lorthms cn be used to reduce the hh dsk I/O cost. Exstn externl memory lorthms re mnly for computn snlesource shortest pths [24, 28, 26, 27] or BFS [6, 7, 11, 25, 29], whch re wsteful for computn P2P dstnce. There re lso number of pproxmton methods [8, 20, 30, 34, 37] proposed to compute P2P dstnce. Althouh these methods hve lower complexty thn the exct methods n enerl, they re stll qute costly for processn lre rphs, n terms of both preprocessn tme nd store spce. We focus on exct dstnce queryn but remrk tht pproxmton cn be ppled on top of our method (e.., on the rph G k defned n Secton 4). 7.3 Methods wth Smlr Chrcterstcs We lso wnt to specfclly compre nd contrst wth severl methods for rodnetworks tht shre some smlr chrcterstcs wth ISLbel. Frst, we consder the lndmrk pproch proposed n [19], n whch set of lndmrks L re selected nd for ech vertex, the dstnce to nd from ech lndmrk x L s precomputed. By trnle nequlty, dst G(s,t) s lower bounded by mx x L{ dst G(s,x) dst G(t,x) }, whch helps speed up bdjkstr serch. Wth the full vertex herrchy n ISLbel, we lso store precomputed dstnces n lbels, except tht the lbels cn lwys ve the exct vlue of dst G(s,t) nsted of lower bound. Next, we compre wth the multlevel overly rphs n [22] for rod networks, where overly rphs re bult on top of shrnkn sets S of vertces, preservn the dstnces mon vertces n S. The overly rphs cn lmt the serch n rph smller thn G. However, n buldn overly rph for vertex set S, ech vertex n S underoes Djkstr s snle source shortest pth serch n G. The complexty s hh nd the emprcl studes n [22] hndled rphs wth less thn 500,000 vertces. Whle ll overly rphs re mntned n [22] for queryn, we do not keep ny rph for full vertex herrchy nd keep onlyg k for klevel herrchy. Lbeln technque s lso used n the hubbsed lbeln lorthm (HL) [2], whch s the fstest known lorthm for dstnce queryn n rod networks. As ponted out by the sme uthors n [3], for rphs other thn rod networks, the contrcton herrchy (CH) preprocessn n HL s not effectve for enerl rphs. To ddress ths problem they proposed herrchcl hub lbeln (HHL) for other rph types [3]. Insted of the bottom up CH method, topdown method ws proposed for HHL, s nspred by [16]. HHL mntns shortest pth tree for every vertex to represent ll uncovered shortest pths strtn t ech vertex. The computton nd store complextes of HHL re not sclble for hndln lre rphs. Wth RAM of 96GB, HHL ws tested only on preferentl ttchment rphs nd smll world rphs wth V = 100,000 nd vere deree 10. In contrst, our lbeln technque ccommodtes I/O effcent lorthms tht work wth smll RAM szes, such s 4GB, nd we cn hndle preferentl ttchment rphs nd smll world rphs wth V = 1,000,000 nd much hher vere deree. 8. PATH QUERIES In ths secton, we dscuss the extenson of our method to nswer shortestpth queres. To nswer P2P shortestpth query, we need to keep some extr nformton n the vertex lbels. When n umentn ede (u,w) s creted n G wth ω G (u,w) = ω G 1 (u,v)+ω G 1 (v,w), we lso keep the ntermedte vertex v lon wth the umentn ede to ndcte tht the ede represents the pth u,v,w. Note tht (u,v) nd (v,w) re edes n G 1, whch n turn cn be umentn edes. In the lbeln process, nsted of ddn the entry (w,d(u,w)) to lbel(u), we lso ttch the ntermedte vertex v (f ny) for (u,w). Thus, the entry becomes trple (w,d(u,w),v) (or (w,d(u,w),φ), f there s no ntermedte vertex). Note tht we keep the rph G k, nd thus the ntermedte vertex of ny umentn ede n G k s drectly ttched to the ede. Gven query,s ndt, f the query s of Type 1, the nswer s determned by two lbel entres, (w,d(s,w),v) nd (w,d(t,w),v ). If v φ (smlrly for v ), we form two new queres (s,v) nd (v, w). In ths wy, we recursvely form queres untl the ntermedte vertex n lbel entry s φ. It s then strhtforwrd to obtn the resultn pth by lnkn ll the ntermedte vertces. If the query s of Type 2, then the nswer s determned by two lbel entres nd pth n G k. The subpths from the two lbel entres re derved n the sme wy s we do for Type 1 query. The pth n 467
12 G k s expnded nto the ornl pth ngby formn new queres, u nd v nd v nd w, for ny umentn ede (u,w) wth the ntermedte vertex v. For ech such query, the correspondn subpth s obtned s dscussed bove. The I/O complexty of the overll process s ven by O( SP G(s,t) ), where SP G(s,t) s the number of edes onsp G(s,t). 9. CONCLUSIONS We ntroduced n effectve dskbsed lbel ndexn method for dstnce nd shortest pth queryn n lre relworld rphs. Our vertex lbeln process s uded by n ndependentset bsed vertex herrchy. For mssve rphs, we cn lmt the heht of the herrchy to control the the lbel sze, our theoretcl nlyss show tht we need t most one nmemory bdjkstr s serch on the resdul rph to obtn the fnl soluton. Our method smultneously solves the problem of rechblty. Gven the low costs of ISLABEL n ndex constructon nd queryn, t s expected to hndle very lrer rphs for rechblty queres. Ths s to be confrmed n our future work. 10. ACKNOWLEDGEMENTS We thnk Ynyn Hsu for her help n the mplementton of the drected verson of the ISLbel lorthm. We thnk Shumo Chu for hs help n the use of the dtsets BTC nd Web. Ths work ws supported by the CUHK RGC Drect Grnt Allocton REFERENCES [1] I. Abrhm, D. Delln, A. Ft, A. V. Goldber, nd R. F. F. Werneck. Vcdmenson nd shortest pth lorthms. In ICALP (1), pes , [2] I. Abrhm, D. Delln, A. V. Goldber, nd R. F. F. Werneck. A hubbsed lbeln lorthm for shortest pths n rod networks. In SEA, pes , [3] I. Abrhm, D. Delln, A. V. Goldber, nd R. F. F. Werneck. Herrchcl hub lbelns for shortest pths. In Proceedns of the 20th Annul Europen Conference on Alorthms (ESA), pes 24 35, [4] I. Abrhm, A. Ft, A. V. Goldber, nd R. F. F. Werneck. Hhwy dmenson, shortest pths, nd provbly effcent lorthms. In SODA, pes , [5] A. Arwl nd J. S. Vtter. The nput/output complexty of sortn nd relted problems. Commun. ACM, 31(9): , [6] D. Ajwn, R. Dementev, nd U. Meyer. A computtonl study of externlmemory BFS lorthms. In SODA, pes , [7] D. Ajwn, U. Meyer, nd V. Ospov. Improved externl memory bfs mplementton. In ALENEX, [8] S. Bswn nd S. Sen. Approxmte dstnce orcles for unwehted rphs n expected o(n 2 ) tme. ACM Trnsctons on Alorthms, 2(4): , [9] R. Buer, D. Delln, P. Snders, D. Scheferdecker, D. Schultes, nd D. Wner. Combnn herrchcl nd oldrected speedup technques for djkstr s lorthm. ACM Journl of Expermentl Alorthmcs, 15, [10] T. Bu nd D. F. Towsley. On dstnushn between nternet power lw topoloy enertors. In INFOCOM, [11] A. L. Buchsbum, M. H. Goldwsser, S. Venktsubrmnn, nd J. Westbrook. On externl memory rph trversl. In SODA, pes , [12] L. Chn, J. Yu, L. Qn, H. Chen, nd M. Qo. The exct dstnce to destnton n undrected world. The VLDB Journl, pes 1 20, 2012 (Onlne Frst). [13] J. Chen, Y. Ke, S. Chu, nd C. Chen. Effcent processn of dstnce queres n lre rphs: vertex cover pproch. In SIGMOD Conference, pes , [14] J. Chen, Z. Shn, H. Chen, H. Wn, nd J. X. Yu. Krech: Who s n your smll world. PVLDB, 5(11): , [15] J. Chen nd J. X. Yu. Onlne exct shortest dstnce query processn. In EDBT, pes , [16] E. Cohen, E. Hlpern, H. Kpln, nd U. Zwck. Rechblty nd dstnce queres v 2hop lbels. SIAM J. Comput., 32(5): , [17] A. W.C. Fu, H. Wu, J. Chen, S. Cho, nd R. C.W. Won. Islbel: n ndependentset lbeln scheme for ponttopont dstnce queryn on lre rphs. rxv: , [18] R. Gesberer, P. Snders, D. Schultes, nd D. Delln. Contrcton herrches: Fster nd smpler herrchcl routn n rod networks. In WEA, pes , [19] A. V. Goldber nd C. Hrrelson. Computn the shortest pth: A* serch meets rph theory. In Proceedns of the Annul ACMSIAM Symposum on Dscrete Alorthms (SODA), pes , [20] A. Gubchev, S. J. Bedthur, S. Seufert, nd G. Wekum. Fst nd ccurte estmton of shortest pths n lre rphs. In CIKM, pes , [21] M. M. Hlldórsson nd J. Rdhkrshnn. Greed s ood: Approxmtn ndependent sets n sprse nd boundedderee rphs. Alorthmc, 18(1): , [22] M. Holzer, F. Schulz, nd D. Wner. Enneern multlevel overly rphs for shortestpth queres. ACM Journl of Expermentl Alorthmcs, 13(2.5), [23] R. Jn, N. Run, Y. Xn, nd V. E. Lee. A hhwycentrc lbeln pproch for nswern dstnce queres on lre sprse rphs. In SIGMOD Conference, pes , [24] V. Kumr nd E. J. Schwbe. Improved lorthms nd dt structures for solvn rph problems n externl memory. In IEEE Symp. on Prllel nd Dstrbuted Processn, pes , [25] K. Mehlhorn nd U. Meyer. Externlmemory bredthfrst serch wth sublner I/O. In ESA, pes , [26] U. Meyer. V detours to I/Oeffcent shortest pths. In Effcent Alorthms, pes , [27] U. Meyer nd V. Ospov. Desn nd mplementton of prctcl /oeffcent shortest pths lorthm. In ALENEX, pes 85 96, [28] U. Meyer nd N. Zeh. I/Oeffcent undrected shortest pths wth unbounded ede lenths. In ESA, pes , [29] K. Munl nd A. G. Rnde. I/ocomplexty of rph lorthms. In SODA, pes , [30] M. Potms, F. Bonch, C. Cstllo, nd A. Gons. Fst shortest pth dstnce estmton n lre networks. In CIKM, pes , [31] H. Smet, J. Snkrnrynn, nd H. Alborz. Sclble network dstnce browsn n sptl dtbses. In SIGMOD Conference, pes 43 54, [32] P. Snders nd D. Schultes. Hhwy herrches hsten exct shortest pth queres. In ESA, pes , [33] J. Snkrnrynn, H. Smet, nd H. Alborz. Pth orcles for sptl networks. PVLDB, 2(1): , [34] A. D. Srm, S. Gollpud, M. Njork, nd R. Pnrhy. A sketchbsed dstnce orcle for webscle rphs. In WSDM, pes , [35] R. Schenkel, A. Theobld, nd G. Wekum. Hop: An effcent connecton ndex for complex xml document collectons. In EDBT, pes , [36] Y. To, C. Shen, nd J. Pe. On kskp shortest pths. In SIGMOD Conference, pes 43 54, [37] M. Thorup nd U. Zwck. Approxmte dstnce orcles. J. ACM, 52(1):1 24, [38] D. Wtts nd S. Strotz. Collectve dynmcs of smllworld networks. Nture, 393(6684): , [39] F. We. Ted: effcent shortest pth query nswern on rphs. In SIGMOD Conference, pes , [40] H. Wu, J. Chen, A. W.C. Fu, nd S. Chu. Genertn mssve rphs wth lmted memory. Techncl Report, Deprtment of Computer Scence nd Enneern, The Chnese Unversty of Hon Kon, (CSTR ):1 9, [41] Y. Xo, W. Wu, J. Pe, W. Wn, nd Z. He. Effcently ndexn shortest pths by explotn symmetry n rphs. In EDBT, pes ,
More equal but less mobile? Education financing and intergenerational mobility in Italy and in the US
Journl of Publc Economcs 74 (1999) 351 393 www.elsever.nl/ locte/ econbse More equl but less moble? Educton fnncng nd ntergenertonl moblty n Itly nd n the US *, Aldo Rustchn b, c Dnele Checch, Andre Ichno
More informationAVR32723: Sensor Field Oriented Control for Brushless DC motors with AT32UC3B0256. 32bit Microcontrollers. Application Note. Features.
AVR7: Sensor Feld Orented Control for Brushless DC motors wth ATUCB056 Fetures Stndlone Spce Vector Modulton lbrry for AVR UC mcrocontroller. Prk nd Clrke mthemtcl trnsformton lbrry for AVR UC mcrocontroller.
More informationWhen Simulation Meets Antichains (on Checking Language Inclusion of NFAs)
When Simultion Meets Antichins (on Checking Lnguge Inclusion of NFAs) Prosh Aziz Abdull 1, YuFng Chen 1, Lukáš Holík 2, Richrd Myr 3, nd Tomáš Vojnr 2 1 Uppsl University 2 Brno University of Technology
More informationOn the Robustness of Most Probable Explanations
On the Robustness of Most Probble Explntions Hei Chn School of Electricl Engineering nd Computer Science Oregon Stte University Corvllis, OR 97330 chnhe@eecs.oregonstte.edu Adnn Drwiche Computer Science
More informationSCRIBE: A largescale and decentralized applicationlevel multicast infrastructure
!! IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 2, NO. 8, OCTOBER 22 1 SCRIBE: A lrgescle nd decentrlized pplictionlevel multicst infrstructure Miguel Cstro, Peter Druschel, AnneMrie Kermrrec
More informationStable Distributions, Pseudorandom Generators, Embeddings, and Data Stream Computation
Stable Dstrbutons, Pseudorandom Generators, Embeddngs, and Data Stream Computaton PIOTR INDYK MIT, Cambrdge, Massachusetts Abstract. In ths artcle, we show several results obtaned by combnng the use of
More informationMANY of the problems that arise in early vision can be
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 26, NO. 2, FEBRUARY 2004 147 What Energy Functons Can Be Mnmzed va Graph Cuts? Vladmr Kolmogorov, Member, IEEE, and Ramn Zabh, Member,
More informationAlgebraic Point Set Surfaces
Algebrac Pont Set Surfaces Gae l Guennebaud Markus Gross ETH Zurch Fgure : Illustraton of the central features of our algebrac MLS framework From left to rght: effcent handlng of very complex pont sets,
More informationComplete Fairness in Secure TwoParty Computation
Complete Farness n Secure TwoParty Computaton S. Dov Gordon Carmt Hazay Jonathan Katz Yehuda Lndell Abstract In the settng of secure twoparty computaton, two mutually dstrustng partes wsh to compute
More informationDP5: A Private Presence Service
DP5: A Prvate Presence Servce Nkta Borsov Unversty of Illnos at UrbanaChampagn, Unted States nkta@llnos.edu George Danezs Unversty College London, Unted Kngdom g.danezs@ucl.ac.uk Ian Goldberg Unversty
More informationDocumentation for the TIMES Model PART I
Energy Technology Systems Analyss Programme http://www.etsap.org/tools.htm Documentaton for the TIMES Model PART I Aprl 2005 Authors: Rchard Loulou Uwe Remne Amt Kanuda Antt Lehtla Gary Goldsten 1 General
More informationBoosting as a Regularized Path to a Maximum Margin Classifier
Journal of Machne Learnng Research 5 (2004) 941 973 Submtted 5/03; Revsed 10/03; Publshed 8/04 Boostng as a Regularzed Path to a Maxmum Margn Classfer Saharon Rosset Data Analytcs Research Group IBM T.J.
More informationAn Algorithm for Computing Nucleic Acid BasePairing Probabilities Including Pseudoknots
An Alorthm for Computn Nuclec Acd BaseParn Proaltes Includn Pseudoknots ROBERT M. DIRKS, 1 NILES A. PIERCE 2 1 Department of Chemstry, Calforna Insttute of Technoloy, Pasadena, Calforna 91125 2 Departments
More informationCiphers with Arbitrary Finite Domains
Cphers wth Arbtrary Fnte Domans John Black 1 and Phllp Rogaway 2 1 Dept. of Computer Scence, Unversty of Nevada, Reno NV 89557, USA, jrb@cs.unr.edu, WWW home page: http://www.cs.unr.edu/~jrb 2 Dept. of
More informationSolving BAMO Problems
Solving BAMO Problems Tom Dvis tomrdvis@erthlink.net http://www.geometer.org/mthcircles Februry 20, 2000 Abstrct Strtegies for solving problems in the BAMO contest (the By Are Mthemticl Olympid). Only
More informationDropout: A Simple Way to Prevent Neural Networks from Overfitting
Journal of Machne Learnng Research 15 (2014) 19291958 Submtted 11/13; Publshed 6/14 Dropout: A Smple Way to Prevent Neural Networks from Overfttng Ntsh Srvastava Geoffrey Hnton Alex Krzhevsky Ilya Sutskever
More information(Almost) No Label No Cry
(Almost) No Label No Cry Gorgo Patrn,, Rchard Nock,, Paul Rvera,, Tbero Caetano,3,4 Australan Natonal Unversty, NICTA, Unversty of New South Wales 3, Ambata 4 Sydney, NSW, Australa {namesurname}@anueduau
More informationSequential DOE via dynamic programming
IIE Transactons (00) 34, 1087 1100 Sequental DOE va dynamc programmng IRAD BENGAL 1 and MICHAEL CARAMANIS 1 Department of Industral Engneerng, Tel Avv Unversty, Ramat Avv, Tel Avv 69978, Israel Emal:
More informationMagnetism from Conductors, and Enhanced NonLinear Phenomena
Mnetism from Conductors, nd Enhnced NonLiner Phenomen JB Pendry, AJ Holden, DJ Roins, nd WJ Stewrt Astrct  We show tht microstructures uilt from nonmnetic conductin sheets exhiit n effective mnetic
More informationEVERY GOOD REGULATOR OF A SYSTEM MUST BE A MODEL OF THAT SYSTEM 1
Int. J. Systems Sc., 1970, vol. 1, No. 2, 8997 EVERY GOOD REGULATOR OF A SYSTEM MUST BE A MODEL OF THAT SYSTEM 1 Roger C. Conant Department of Informaton Engneerng, Unversty of Illnos, Box 4348, Chcago,
More informationUniform topologies on types
Theoretcal Economcs 5 (00), 445 478 555756/000445 Unform topologes on types YChun Chen Department of Economcs, Natonal Unversty of Sngapore Alfredo D Tllo IGIER and Department of Economcs, Unverstà Lug
More informationFirst variation. (onevariable problem) January 21, 2015
First vrition (onevrible problem) Jnury 21, 2015 Contents 1 Sttionrity of n integrl functionl 2 1.1 Euler eqution (Optimlity conditions)............... 2 1.2 First integrls: Three specil cses.................
More informationINTERCHANGING TWO LIMITS. Zoran Kadelburg and Milosav M. Marjanović
THE TEACHING OF MATHEMATICS 2005, Vol. VIII, 1, pp. 15 29 INTERCHANGING TWO LIMITS Zorn Kdelburg nd Milosv M. Mrjnović This pper is dedicted to the memory of our illustrious professor of nlysis Slobodn
More informationIntroduction to Integration Part 2: The Definite Integral
Mthemtics Lerning Centre Introduction to Integrtion Prt : The Definite Integrl Mr Brnes c 999 Universit of Sdne Contents Introduction. Objectives...... Finding Ares 3 Ares Under Curves 4 3. Wht is the
More informationA National Look at the High School Counseling Office
A Ntionl Look t the High School Counseling Office Wht Is It Doing nd Wht Role Cn It Ply in Fcilitting Students Pths to College? by Alexndri Wlton Rdford, Nicole Ifill, nd Terry Lew Introduction Between
More informationThe Relationship between Exchange Rates and Stock Prices: Studied in a Multivariate Model Desislava Dimitrova, The College of Wooster
Issues n Poltcal Economy, Vol. 4, August 005 The Relatonshp between Exchange Rates and Stock Prces: Studed n a Multvarate Model Desslava Dmtrova, The College of Wooster In the perod November 00 to February
More informationCORRELATION OF DIFFUSION COEFFICIENTS IN DILUTE SOLUTIONS
Applctons of holup t to expln the effect of ffusvty on the vporzton of lqus n pckngs n to estmte effectve nterfcl res for mss trnsfer hve been outlne. ACKNOWLEDGMENT The uthors wsh to cknowlege support
More informationAssessing health efficiency across countries with a twostep and bootstrap analysis *
Assessng health effcency across countres wth a twostep and bootstrap analyss * Antóno Afonso # $ and Mguel St. Aubyn # February 2007 Abstract We estmate a semparametrc model of health producton process
More informationSome Techniques for Proving Correctness of Programs which Alter Data Structures
Some Techniques for Proving Correctness of Progrms which Alter Dt Structures R. M. Burstll Deprtment of Mchine Intelligence University of Edinburgh 1. INTRODUCTION Consider the following sequence of instructions
More informationTHE FUNDAMENTAL GROUP AND COVERING SPACES
THE FUNDAMENTAL GROUP AND COVERING SPACES JESPER M. MØLLER Astrct. These notes, from first course in lgeric topology, introduce the fundmentl group nd the fundmentl groupoid of topologicl spce nd use them
More information