Holistic Twig Joins: Optimal XML Pattern Matching Nicolas Bruno
Columbia University
Nick Koudas
AT&T Labs–Research
Divesh Srivastava
AT&T Labs–Research
[email protected] [email protected] [email protected]
ABSTRACT
!" $#%'&(#& ') # +* ,-. /,-)0$1 23,&4 02,- '&5 -34 &61 ) -) 1,7,&8 69 1:2 ;=<>-)&?-)&@6')% &2A '0B2CD"FEG-@! 23,&-)&&DAD 3'9 -H"
%,3- '&I0J '!AK* , -)&@ ;DLM- '6E: 'NDC23 F -')K ! % KC+FE.-@ 23,&I-)& D9 -)&'O2' P '&C-)Q'&R&2 'F ,& &ST - '&C-) %#+&2 FE.-@"" C-)&2@"-H C -U +92V P -WS8-)&2@6'2XY '-)&@ -C"! 6" CZC 9-)&2[ - '&C-\ " @3'-)&"C 923 #'& P -)-WS]-C -)&@K @3C2+C923-7 C2; ^_)- - - &I 0=C -1 3`CD0$ A7 C -)&@+FEG-@" ,&A- C A-)&"- ] 1-a &Z@3b@ #BU ,&TE.C2&ZC -)& 21&25 ' A-aA'17 '1"&23@ 9 ; cd&DC -A ' %#>E.1 ' % 3]"& U ,=C2 )--+FEG-@1X -)&Z@ -C+#ef%ghi jkl'm3#0$ 'B" C -)&@1'&7A6* ,1E.-@H 23,&>; nb5C &-* 26Z`C'-)&o '01)-)&NK3`N6 Z &p '-b ! + F '$0* 2, C#ME.C -C C,&T ! % D 6 '9'-)&q7 C2H0$ 'rC27E.-@" 23,&>; sqC2&ZC FE.-@] ,&1 '&'& F ,&2'&!,' - &2C-) A9%E:,&5,"&# ef%ghi jkl'mH-ct3nu&2wv.L4xK -7'H3" '&@')H* 2,&-'@ -C27"C23p ZC",&-) -)& 2VM->->)-)&'=-)&"C.y 02-a4 02CM-)& 2M)-='& C z&'%G)-#9 4-)& %,& ,&1 0{C2-aH '0%-)&,"?-3 ;Os5C2&KC 'EQC E| [ P D" -)z2 - '&} '0S1~4 #%' &2@E.-CTef%ghi jkl'm #% 6"3`CT* 2E.-@" 23,&2 -)&79 $)-)&'H-7 ;=<>-)&2) #E.4 ",&= '='&'-:EG-C %,-",&.1 '&T"'&@ " 04='& &C-6 # &2* ,5E.-@ ,&;
1.
INTRODUCTION Dq,F2 _" ,!0$ '5, ,&-)&2@ ;7b2,-A-)&ZI* ,+'&@' @3 P #>3; @;\#{ #{?#B
JS F -')+ /,-)0$" ,&. '0{,- '&5 -3H '&5p-) ",&!C23AC2U3" "7 %,-)zq",3- '& C-) ;H<2 'H #%C b,6 - '&{V 3%3"$'{d3'3 d ¡3%G¢£¤DD$¥ %d
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ACM SIGMOD ’2002 June 4-6, Madison, Wisconsin, USA Copyright 2002 ACM 1-58113-497-5/02/06 ... 5.00.
¦
"3`C7k'§j ¨© ª+,7,& C P -WSpCU 6`C-)q 9/,",& « ¬ E.-CZ &,&!k ¬® # P -)-WSbCU "6C -)T 9%",&7¯ ¬ E.-C &,&.°© ® #&2 P -)-)-WS.' ,&2'& '0%±©©'m!,7,&HC23 C'U3+C -)qj%gj¯ ® 9%",&6E.-CO '&,&!²³´ ;%µ.C -7 - '&w'&69%., ,&5 =p& ,$'9%,E.-@ P 'H7') S> ,&6E.-C6",&.&27-)&2@!U'). M& .'9/,; <>-)&?-)&@I) ,,&26 '01DE.-@ 23,&I-)&o 923 -6 ' ' /, - &K-)&KA_* ,Z -)&2@#b9% 3CI-)&O, - &2H- ",& - &26 0HAO 3'9 #='&-)&Z& -U3 AO 3'9 ;7L8- "E: 'N P #%0$ 13 3#.\¶
?#B
'·#4¶¸?# ¶¹# ¶ #3
3¸?#¶,JSC { -')7 % 3"C4FE.-@G &1-)& ": '0M9-)&2 P ',&FC -)D'&'& &2'&Sb, - '&C-) 2A9%E.&] '-)H 0>& # ; @ ;# Cb '&C-)[, - '&C-) 2 P ±©©'m%# j%gj¯ ® S>&2 P k'§j ¨© ª2# « ¬ S,#3'&+CA'& ,& &[ - '&C-\ P ±©©'m%#k'§j ¨© ªS,;ºµGCD* 2,_E.-@ ,&O&KC,&q9%+"3`CZ9 P -WS 7 C -)&@Z3`Co '0C2 9-)&2Z2 b - '&C-) 25 @ -)&27C26AO 3'9 # '& P -)-WS]»F-`C-)&@ ¼+ 3@ C,rC2A9 -!"3`C; <2 M U -)&2@1C8zM9 $ '9½ '0"3`C-)&2@A9-)&'1, 'H, - &2C- 2#!¾ C'&@Z"$;A
¸b ' / KDU'- - &
'0=C1 -- '&':",@3.X '-)&D@ -C2+#{C1p-)$ -3 ",@3]XY '-)& P L=D¿1À Á1S"'@3 '-C+#1923K '&_CRÂél Ä°=Å ´ ® « jÆ©ÇRÈÊÉ%gh ¨jÆ©ÇMÅ ´ ® Ë® ¯ Ì §Í{Î", ,& - &º '0! % -) - '&+ 01R,"&]&2K-)&@ZU') P DÏ?- '&}
; Ð 0$ A-)1'9% 21C-b, ,&3- '&/S,;Aµ.C,-)A 1C E. C +CDL4D¿1À ÁÑ@ -C2Ê _ ' %,0$ Ò&2' ÓHÔA~.DÏ+X -)&q'@3 '-C""97 '6C2&q'&Õ ',6 '0G" @& -) ;o '+& #H^b)FÖAC')-)0$O"'$;\¶ 'NO U'& @3
'0=C1 7A, ,& - &D '0M % 3-- '&1 '0=AD,7,&A U -5ct nQ&2ÕvGL=x½ ' -"'BX '-)&q@ -C2"!0$ '!"3`C-)&@ 9-)&22'{, - &2C-) %! @3'-)&A'&wAZ 923 ; µ.C '&K9 $ '9× '0!-C-)&2@q @3C,C+923- "3`C+ 92-)&2u-)&2@Z9-)&2|»'¼XY '-)&]* -) -,&-)0$ -)&@Rq@ IX -)&R -)&2@I-)&}I 3$923R"& &,# 'N-)&@K,-U --q'&u-)&,7?-3ØD-aZ-"3 -)& Z3 '&;OcJ&OC- ' %,#:E.+C E|C23"+9 -+)- - - '&T '0:C- P -- '&'WS 3`CD0$ 'r" C-)&2@* ,E.-@ ,&.-bC .-)&,7?-3p H-a'&5@3HU , @ # U3,&OEGC,&OC]-)& "'&Øz&'H"-a"+12CO" ' "&23@ 9 ;T^A1+#=E.6,NT+9%,7 ')- '&o C2 '9Ù 0=" C-)&2@5* 2,6FEG-@" ,&H,Ú6,-& ; cd&IC-" 2 %,#HE." ' % 3[& U ,pÛ2Ü ÝÞ\ßàÞWá]à$âMÞ)ã"äÜÞdåZ' CD0$ '"3`C-)&2@Z* ,E.-@" 23,&#>E.C,,-)&D&2 '@3]-)&,7?-3]"] %;wnb !C& -* +2 C"Âél Ä°=Å"´ ® « jÆ©Ç}ÈæÉ%gh ¨jÆ©Ç>Å7´ ® Ë® ¯ Ì §Í{Î , ,&' - '&O 0b / -- '&6 '0AK",&"&2q-)&@U)2 P C23 ,-)&I 26 H, - &2C-) 2+9/E.,&q&2 -)&7C2=A6 '9 S,;.c$> bMH`C'-)&7 '0)-)& Nç6 N>
!, ,&4 '-' : A-)&2-U -? M* ,1 $'0H C#4E.C-`CO]C,&q % 3q '9'-)&O"3`C 7C21* ,+FE.-@ 23,&{; Ï -)&2b1@ =' '0% 3A-4 %7 A9%. ' -)& - '&'r 3'9 5" P )AC6"X '7ÔA~.DÏZU3,&2 ' -)&,)?-)&/@Znb3, #=c$~.è'&Z+-, 3 '0$1 U --)&2@T % '"0$ "y çS,#. '6 D U -+U -,&C ÓHÔ~.DÏ["b& "2@3",&C2,-)r -7 '0=* ,] ' -)&2@D @'-" +-)&,) +C ')--FE.-@"X '-)& 0$ !,Ú6,-,& y* ,Z -)&@ ;}nb 2Z-]* 2)Ø,U& 0J ' & -U3+I* ,&2@-)&2#=-)&]C ')--FE.-@ X -)&2!'6'& Ú6,-,&=F F'F-": @3A0$ '="3`C-)&@1A+* ,A &2#M-)&O '&3" C]& ,F3F-"+ 3`Co '0H2-)&@ 1'U3,'; s 49%Outline D @-)&"9A and ,&-)Contributions &@p9 N@' &6" ,- P " ,$# * ,6E.-@1 23,'&] / -- '&'M & - '&1 '0{ ",&S.-)&TÏ?- '&T
?;:nb"'-)&D &-)9 - '&!' V é s=U , "FE. .0$ !-))-4 0Û2Ü ÝÞ\ßàÞWá/êëàÛ4äÜÞWåA'@3 '-C" -)&6Ï- &5ÐA A7 C"+* ,p 3F '$'0% C40d z2-,& ;"µ.C z#>Æk j ¨i jkl'm#%@3,&,')-a"C2 Ï?3`N µ>,FÔA49 -)&'! X -)&6'@3 '-CQ '0B\¶#3E.C -) C25 &2%#AÆk j ¨³Æ³2ì#.@ &2,)-aCL4D¿1À Áí9 -) &2X -)&_'@3 '-Cæ 0+
¸;½sDD'&'aZÆk j ¨i jkl'm '&C EQC A-1-"cFt n½'&qv.L4xº ' -"'H3" '&@') * ,&-'H@ -C2"7C23p3C6,&-)"-)& #4&2 C23HE. 'F31 --A)-)&1-)&C12| 0M-)& 2 '&+ 2 2-a7î'ïàMÞdå2ðñêñå2ðñå2à%Üò1àÛ2ñpßÞ)óñßÜò1Þdåàñôõ ö ñðÞdëà$ñ1ôñßï?Ýàdß; é sDC,&_ U , ½ef%ghi jkl'm-)&½Ï- &R·#AOÛ2Ü ÝÞ\ßà$Þdá à$âMÞ)ã1äÜÞdåZ'@3 '-CèC23 P -WSA,z&2 Æk j ¨i jkl'm6 & C ! 5 ! I0$ 6 '&+ F '$0 C
'0HDE.-@+ ,&O )-)Nç,I +CU 6"3`C-)&2@D -)& 3C2, 23C2H 0=C21FEG-@! 23,&>#%&2 P -)-WSb"@ H, !0$ '7C26-)÷%,,&" 3 $'0 23C2 -)&OC6* 2, E.-@+ ,&{#. 3 2C6 -)I ' 2;TsØC,& C2H* ,"FEG-@14 & 6&2 'F ,& &b,3- '& C -) "9%FE.,&O,7,&#.E.6&2-'K " '& C236ef%ghi jkl'm+-cFt nÑ'&_v.L4xí ' -"! " &2@q') * ,&-'=@ '-C"1C .3C21,&-)1-)& ; é <>-)&2) #.-)&oÏ?- '&u+E." &" %,-7,&'
'&w &2@3
0M'B'& &C2-" 3 #%&2* ,+FE.-@ 23, " 3 ",& '1'&'-'= V C2!92&-'= %,0$ "'& 9%&2,zA 0 ø sD-) &2@KC C2ER
)--KE.-@ZX -)&2D U ,D9 -)&'}2' X -)&2 P 0$ 'H9 -"X '-)&w ',S,; 4C EC { " &2@HC2 )--G CHXY '-)&7'@ -C27# ø sD Æk j ¨i jkl'm"-"-@& -)z&dq0$ ,7C'&OÆk j ¨³Æ³2ì; µ.C -1U)- 3 C"&2-'. 1" &23 -)&@]C!ct3nR'&v.L4x} ' -"')-F '0=Æk j ¨i jkl'm; >C8 ø <2 '0G >ef%Cg=hi jk.l' m 0-1E.9%-@. 23, ,P 9/& #CZE.-)=&qC- '7ET]C2&23T 23S C'&qC"-)&2, %,&,&]6 '0Æk j ¨i jkl'm6 '&O3`C F '02 C{# U ,&7E.C2,&!C.FEG-@. ,&7 & '-)&b '&C-)'M,3- '&C -) ; ø sDC2 E|C2 Eí 2T" ?-)z3- '&½ 0!~4F# ,&2 3A~=#' '&@+E.-Cwef%ghi jkl'm# %, 0$ K" C -)&@A 02* ,E.-@. 23,&2>-)&6ßïîõFÝÞdå2ñëô à$Þ ö ñ; sD6 -)9%],3qE. 'ND-)&oÏ?- '&Où #B'&Ø '&,)2+9 -,-)&2@ &2@3 '-)&@+&2+0d1E. 'N6-)&TÏ- '&T¸;
2.
BACKGROUND
2.1
H^ &ZData ØModel 923"-and 1]0$ Query 1 '0= Twig
%#{ 'Patterns ,%#>'9% #H CK&2 ' % &2-)&@K Ø&K,",& '5ZU)2 # '&qC25@ &-)&2@ P -)S!,",&F9%,7,&+ ,7,&FU')26, - &2C-) ;6ÁA '9%" '&-1 '0G]A '0 P -)9 #.U')S '-)#.E.C-`Co Ú " " , @3#HÄÃ# ÄÃÉúû#3 ;=µ.C2 ',-)&2@7 '0M-)9)-)&@]& .- )-,-W z & " 3'{ ', '&wC2A& b-)&7 # '9'-)&9]1 ', U ,. 0HC" & ;6<>-@'[¶6C EH1C2" , , ,&3- '&O '0H3 +AO 2"&; P µ.C2 -))-q 0HC2 &p9%b3 ,- EG-C5C1b& HEG-))%9%1 -)&2+-)& Ï- '&T
; Ð;)S
1.1
book
title
(1,2:4,2)
allauthors
(1,5:60,2)
(1,1:150,1)
year (1,64:93,2)
(1,6:20,3) (1,3,3)
XML author
chapter
(1,61:63,2)
(1,62,3)
author
author
title
2000
section
(1,65:67,3)
(1,68:78,3)
(1,7:9,4)
fn
ln
fn
ln
fn
(1,69:71,4)
ln
XML
head
(1,66,4)
jane poe john doe
jane
doe
Origins
übýdþ%ÿ "! !(1,70,5) ý#$ (1,8,5) (1,11,5)
(1,26,5)
(1,43,5)
(1,46,5)
b,-M-)&6A5* 2p&2@23@ 4)-)NçHAb,"
F#b-)H) ' &DA(YAK '="N " '0 P & 9%,S FEG-@" ,& 0$ =" C -)&@A,U&8 % - '&. '0/ 3b-)&6C.A5 3'9 ; µ.C2=E.-@. ,&1& ='9%,M-)&,)2H,"&M @ #3-)9 , U') '- &2#1&2O-)&2@qU')#'&IC* 2IE.-@ ,&T@ !'!,-C, '&C-)Ø @3 P -Õ-)&@ +-)&@'6)-)&2S
'!&2 'F ,& &"@ P -Õ-)&@ " '9 !)-)&2S,;:<2 '3 #%C21b,6 - '&{V 3 '%$,3"$>H¢£'¤%33+'&()(*({d E.C-`CT" Cb±©©'m7,"&1C23 P -WS4C2U3 6C -)Dj%gj¯ ® 9%,"&E.-C} '&,&²³´ #:'& P -)-WS+C'U3ZIC-), +®kª 9%,"&EG-C_ '&,&. -/// #.'&I9/+, ,&_ 6C2 E.-@ &K-)&_<>-@'Z
P S,;½nb&Ø '&C-)y@ +' -)&OC -!3 ;Ï - -) #HC27Ab,D - '&O-)&qC2 -)& 2- &q&9%p & HC FEG-@" ,&5-)&Z<>-@ Z
P 9%S,;_ÁA 3C23+&K'& F ,&2'&D@ -"2 9%FE.,&wC2A±©©'m ,",&'&+C!k'§j ¨© ª ",&; cd&"@3,&2'$# M3`C!& .-)&6C.* , FE.-@b ,&{#C,.- 5å2Üðñ4ê{ôñðÞdá,ëà$ñ. &C1 -)92 P ; @ ;# @# '&,&S. '0BC2 & 6-)&K* - '&{;q<2 ' C2" % 36 '0C- ' /,#.3 book title
book year 2000
XML (a)
title XML (b)
author fn
ln
üHýdþ%ÿ0"216ÿ345!76 ýJþ3 jane !!)3 doe
E.C 1- %,!-Ø-)&OC- ?-3+- & ""3,-'$;ÕÏç-!-) #=C2! C-., ,&3- '&K 0.C & p-)&qC" 923 -b& .,U'&1 "CA A-)&DC-b ' /,;c.0d z10$ ! '1 % C !C2 9%",Ú ,-,&! "`C' &-" P `C634-)& 6S4 A-,&-)0$6C2H&2 4-)&5C Z '9 1C H3-0$+&]@-U ,&5&2 1 -39 8#2&2 &D" | '0=7 C2; :$< ; 2.2
b¿ -U3,Twig &51* 2,Pattern 7E.-@p Matching &.=y'&6'&6 3'9 ?>w#ç ë $ à á Û
@ 0 u = ) A & > 4 , & -)z+9"1" -)&2@!0d ½&2 4-)&A= ö !&2 .-)B & >+#2CC V P -WS.* ,"&2 p - A' -z96C21 % &2-)&2@ 923 & P C2A-7 @ b& ,rC2!"' -)&2@çS,#M'& P -)-WSAC!2' P '&C-)Ø&2 &2 'F,& &SG,3- '&C -) /b9%FE.,&5* ,"&2 . 3-z2[95C2! ' % '&?-)&@ '9 !&2 ;Hµ.C26ëåßâMñô !* , =yE.-D C C]&2 A'&69%A, ,&3.'D & C ", 3- '&wEGC, C6 FP EHGIJJJIKEL S8 &2-: '0MCH 3'9 & AC .-,&-)0$"--)&21" C M0 =}-) & >+; <>-)&?-)&@D')H"3`C! '0+* ,DE.-@+ ,&Z-)&O&Z 923A-.1 A ' /, - &+-)&* 2 -)&2@#29% C -)&6,3- '&'M- "& - '&A 0M 3'9 #'& -)&6&' -U3A_ 3'9 ;ocJ&OC-" 2 %,#HE.6 &2-,C+FE.-@ &D" C -)&@" 9 +V ¿b-U3,&D"* ,+FEG-@! 23, & = #'&'&Z '9 >RC >C M-)&2"4 H- &-)0$" '9 .& C -0$5 CD 'M0 =9N b& 1 ?- #{ ! C &2E.1O
= 'D & >+; v. '&-,# 0$ D ! #7C2T* 2,_E.-@I ,&}-)&½<>-@' T
P S,#H&2KCD 3'9 D[-)&_<>-@ q¶ ;}µ.C -5* 2, FE.-@ &C231 '& "3`C-)&DC! 3] C "' AC & A-)&DC2!* ,+ 6Cp 3A '0=C! 3]&2+-AzA&2 C-)92;
2.3
Representing Positions of Elements and String Values in an XML Database
µ.C N 5'&qÚ6,-,&#>&-)0$ ' "C2& - 0$ '!F3 -7 P XY '-)&9 2S1" C-)&2@ 0H* 2FEG-@6 23,&p-16 % ' -- &2M, ,& - &Z 0M ,& '0=,",&A&2 -)&@IU)2+-)&}CA½ 3'9 P #A3; @;\#H ù #r¸?#r
¸JS,# E.C-`CO&26C26,3-+-)&U ,q-)&2q 6-)& -)&0$ " - &-U'H)
3
F; sD.& , ,&=C4 % -- &5 '0%-)&2@1 ,&.-)&6C q 3'9 "31]ÐF qÂél Ä°=Å"´ ® « jÆ©ÇMÅ!´ ® Ë® ¯ Ì §Í{Î # &25'&' 3@ 'W #>CA % 3-- '&T '0M&,",&A , &213H ÐF ZÂél Ä°=Å7´ ® « jÆ©ÇRÈ×É%gh ¨jÆ©ÇMÅ"´ ® Ë® ¯ Ì §Í{Î'#E.C, P -WS.él Ä°A-HCb-,&-)z21 '0BC21 ,",&P P -)-WSb´ ® « jÆ©ÇA&2 É%gh ¨jÆ©ÇH'&69%@ ,&,3]9" '&-)&2@6E. &19%,40d 3 C+9%@-)& &-)&@K '0!C ,",&él Ä°&-)1C'+&2 C6,&Ø 0C26,7, /-U HPH'& P -)-)-WS6´ ® Ë® ¯ Ì §Í6- C&2-)&@I, C_ '0!C,"& P '5-)&2@qU')S]-)&_C ,",&;_<>-@'q¶C2 EH"Ð +3 ,- _E.-CK 3" & #>9 q '&ÕC -1, ,& - & P C"él Ä°]0J '!') & b-`C ,&D !9%1 '&S,; Ï2 b - '&C-) %+9%FE.,&O6&2 6E.C2 3] % 3-) - &21A -)&DC-b0$3C - &Z&9%! -)&23-)2V P -WS5ëå2á,ñßà$Üô`õYðñßáñå2ð ëåàdV!]& BCHQ5EGC 6 % -- &K-)& C"Ø 923"-1,&2 D P > Q ISR Q $V T Q IU Q S.-1], ,&2'& 0"T[& 5 C G E.C % -- &R-+,& _ P > G ISR G VVT G ISU G S -)÷> G.W > Q IXR GBY R Q #.&2ZT Q Y T G G P GK[\)]_^a`Sbc3d'ef]'gahi*d efk`;l b)^aq`gadrefk`;dfb)s `b)drefk` S m') n3) o_p 3,3* n3) o b*^aq` j p
t
P -)-WSGêëôFñ'åàJõYáÛ2Þ\Ýð'V%!A& 2C Q E.C2 3b % 3-- '&D-)&DC2A '9 !-b&2 D P >9Q IXR Q!VT;Q IXU QS4-"`C-)D '0=" & .C G EGC " % 3-- '&O- ,& Z3 P > G ISR G VT G ISU G Sb-)÷ > GVW > Q ISR G Y R Q I T Q Y T G #2'& U G@u ¶ W U Q ;<2 13 #2-)&Z<>-@ 6¶ #%C1'C 'A& "E.-C % -- & P ¶ I ù6V)
v I ÐçS -=A,& &. '0/C249/ 'N!&2 HEG-C7 % -- & P ¶ I ¶1V ¶* v I ¶S,# '&+CA-)&@Z»Yk ¬® ¼AE.-C+ % 3-- '& P ¶ I I 3S8-H C-)+ '0BC2 k'§j ¨© ª1&2 1E.-C % -- & P ¶ I ¸ V¹ I ·S,; ^ÑNI % '-)&DE. 'CK& -)&@K'9/ 'C-+, ,& - &½ '0 & % -- &2+-)&_CA_ q+-6C236`CN-)&2@O'& '& F ,&2'&Z,3- '&C -) º-3- I C`N-)&@ 2,&F`C-)u - '&C-) P E.6&KC2`NZ0J '6&K'& ,& &. 2,3- '&C - DE.-C2 2MN&2 E.@ 1 0%C2 -)&,"?-3]& 1 &qCp C/S,;"^H #{C -1, ,& - &
'0{ % -- &2! '0{&2 ') Ey0$ H`CN-)&2@6 , P ; @ ;# &2 OC Q 0$ ) 'EH1&2 w C G SA&2D2 4 - - P ; @ ;#2&2 . CxQ!- ",&'&1E.-C -)&DÐ!U ,1 r0 C G S4, - &2C-) 2; 3. 3.1
HOLISTIC PATH JOIN ALGORITHMS
P E.-C" ME.-C 'M 9,-) S8,& .FEG-@H 23,&# 3 { 38 Notation E.,){3 P -)&`C'&@ 9 SACb .& 1 0MC1E.-@ ,&{; cJ&T '!'@3 '-C"#=E.""N " 0HC2!0$ ') E.-)&2@DE.-@6&2
' /, - &2V5gÇ´ ® k « V UyzE{2|~} yyz #=gÇ É©© j V UyE{2|} yy # k ª ®'¬ jV UyE{A|UyzE{ #=l'¨{g¯ °ª ®'¬ V UyE{A|zUyE{z
#M&2 Ç'§±jª ®® Ì© ° ® ÇV UyE{|zUyE{z
;OLM Co* 2-]CU '&
'&+C-)Ø %,!& #: C,E.-l'¨{g¯ °ª ®'¬ P 83Sp &"C]
'0B`C-),&&2 H '0@8;Mµ.C2H H 0=Ç'§±jª ®® Ì©'° ® Ç P 83S8-HC2 & 2 8 &2)>- ,&2'&; ^ ,- 5E.-C6 C"& 8b-)&51* , FE.-@A 23,&5C2, -."ßà$ôñë ö :$< ;Mµ.C2H3Q &'-)&HC2. % 3-- '&'> & - &2: '0%CH 3'9 b& 4C ="3`C6C4& H ?-3 1C6E.-@] &Z&2 w8 P % 3-)9 T '9'-)&Z2-)&@&q,0d z,-,&1 A7`C'&-+#MCD A&-)&2 S,;µ.C2 & 1-)&TC2" í'" [9C,-)TÂél Ä°=Å"´ ® « jÆ©Ç2Î U');ѵ.CZ ' /, - &2Z U3,3"'3V ® © « #rk ° Ë k ¬ l ® # ¬® j # ¬® j´ç#&2 ¬® jÉ;Mµ.C2H HE: 1 ' %,3- '&b&5C2 ´ ® « jÆ©Ç &2DÉ%gh ¨jÆ©Ç ?-)& !-)&ZC % 3-- '&'H, , ,&3- '&T '0MCA&A,",&b-)&DC13+# /-U ; cd&6 '.3`N$9 7'@ -C27#2Æk j ¨i jkl'mH&2"ef%ghi jkl'mç# E.!' 5 ,-3]E.-CT CD* ,+&2 86ßà$ëSá 2 < ; = C "&2 1-)&ZC1 N &2-1 0.! 2-)V P % -- &2., , ,&3- '&7 '0G& 80d 3 :x<'# % '-)&= b.& M-) & k ª ®'¬ j
C7-)&+CHA '9 3# &2 P -)-WS4CA4 0>3`N= &'-)&6áÜ ö ê2ëáà%ñå2áÜ'ð õ Þdåã+ 04 '-.&2D ='&E.,1 6C"* 2E.-@] ,&{# E.C -C6&", ,&M-)&")-)&'H bH % &-')6 % &2,&- P -)&OC2"&p9/,6 '0* ,& Sp&219%, '0H&2E." C2 * ,+FEG-@! 23,&># H-)))23[9/, Ep; r$$_Ð ;¶ ; =Þ)ãï ôF ñ ZÞ\ÝWÝï?ßà$ôëà$ñß1àÛ2ñ"ßà$ëSá ñ'åá,ÜðÞdåã6Üò ëå ßâMñô`ßràÜ5ëAê2ëà Û ï ñSô .òÜô1ë6ßë ö ê%Ýñ ðëà$ë ßñFà w2Û2ñ"ëå ßâMñô Q IS} Q IS G :Þ\ßñå2áÜ'ðñðAßÞdå2áñ G êÜÞdå2àdß.à$Ü } Q ëå2ð } Q êÜÞdå2àdß à$¡ Ü ¡Q¢£%Þdåá,rñ G ÞßAîñÝÜ â ¡Q6Üå6àÛ2ñAßàëSá "¤ GSI} Q IXG .Þß ë Ý)ßÜ]ëåDëå ßâMñ7ô 9=ÞWå2ë Ýd¥Ý ßÞWå2á,ñ } G Þ\ß"îñÝÜâ } Q ÜåàÛ2ñ ßà$ëSá $¦ ëå2ð }§G êÜÞdå2àdß6à$ Ü G GSIS}§G)ISG 7Þ\ßwë Ý)ßÜZëåOëå ßâMñ'Sô ¨1Üà$ñ"àÛ2ëà. Q IS} G IS G rÞ\ß7å2ÜàHëåZëå ßâMñ'ô ßÞdå2á¡ ñ Q Þ\ß'9/ 'U3 àÛ2ñ åÜ'ð2 ñ © G«ª Üå+ßàëSá $¤yà$Ü6â%Û2ÞdáÛ }§G êÜÞdå2àdß
A1 B1
A
A2
B
B2
C
C1
B2 A2 C1 B1 A1 SC SB SA (c) Stack encoding A1 B1 C1 A1 B2 C1 A2 B2 C1
üHýdþ%ÿ ¬$(a)9Data #$ 3 ®(b) !Query 3®#$¯=ýF>þ #(d) ° 3 Query 62 results ÿ3 ýF>þ2 ! ®±H ² sD+"N,,-A+ '0rC -5 ! 23" NO,& ?-)&@Z-)&
r'@3 '-C"#%Æk j ¨i jkl'm!'&+ef%ghi jkl'm; 3.2
^H@ 'PathStack -C½Æk j ¨i jkl'm #3E.C -C6 3 2='&E.,M H* 2, C6 ,&{#-8 ,&]-)&5<>-@'A·# 0$ ':Cb AE.C,&6C ". '&'-)&5&2 .0d 3!-)&@'1AD ,27,&;=sØC,& C"3"1 &'-)&q&2 10d í1 -) Aq ,27,&# C+@ -C2Ò-7 -)O,& K D"* 2)-I 01él Ä° 9/,0$ '17'&-) -&2@CA& H-)&DC21 "H'& N;
¢3m3' ³wn'z´µz¶K·¸ (¹wº.»>¥*¼½·¾ (z& ·S¿À L Á m3?z ´ )µ7¼½·¾ ()Â ç ·7À B o'3£ ¥)o)¶K·¸wl Ã)ÃÄ ^a`Sb*h d'efb ÄKÅ d ()Æ º ¼F»>7 ³zÇ) %*¼½È EG&! HC4* ,H'0;B(-)&H
?#-)&7^b@3 '-CRÆk j ¨i jkl'm# -,&-)zC è &'-)&-)&2@KC+&"&2 9%+ ' %;K(-)&+ÐY[" U 6 2-'!&2E. 0W C N C {'&& >9%=,& H &2E.# @-U ,&!N&2 E.@ . 0 CA&H ½&2 19%A %;.%-)&21ù7'@ ",&HC '-.&2E:,1,& [-)&qC! N1EG-CDC &ER3 & ;=sØC,&2U ,HA& G-M 2C6 '&6CH w N $#{C" N1 '&-)& &Z&2 -)&@ 0H ='&E.,1 +C"* , 23C>#{'&Z^b@3 ' -C Ç'¨© fi©¯'§j2g© ¬ Ç"-]-)&U3 'NI9Ø^H@ -C2×Æk j ¨i jkl'm P )-)&!¸¹çS. Z» 2 2¼6C1'&E.,; ^|&23 1E.Z0$ +^H@ -C2 Ç'¨© fi©¯'§j%g© ¬ Ç+ 2 2 * ,K 23CR&2E:,&2 y-)& C2Z3`N+-D B C F C :'A-)& "'0W $ H ',H 0MCA* ," 23C>;:µGC-
E.-))H,& 6C #= U ,!C6* ,&2+ '0:-)&U 3- '&] 0^b@ -C|Ç'¨© fi©¯'§j2g© ¬ Ç89"^H@ '-CQÆk j ¨i jkl'mç#C2H&2E. C]* , 23CO'" 3 2Z-)&q0dF '$ ! ',; <>-@'qZC 'EH52C_Z ?0$ C3E.C,&_ '& '& F ,&2'&1 @3AA &b-)&DC1* 2," C{; n3*µdfd'¥q3s 'w è^a g gaeFé o)e'¶XkÈHb)å eÕ efÈHkæ `¸ d'efb dê\cxefk`ëzq`7]'é ` oc3\)]ºd'´gas Ã)Ãç h\ì`Sd"jcí]f\)sîefk`]'\Ä \)e3e'j \ efk` q]']f`SheêÄKÅ ^a`7bc$h\zì`_ïê` Ã)à b*]'`gahe'`7]'`7d'ef`Sì;gah b)h ð`b Ä `Sdfdf`Sì b)d Ã)à ^adf\ b)dfd'qs `_e'kb)e3ï3Ä `;kb `rb Ä7Ä i)^a\*ðb)^b)]f]'È3bñ é ÙXòFÕKóSóSó7Õ È3ñ ô ò t Ã)Ãç \cxè\)gahe'`7]'d$ef\¡e'k`dfe'b p `7^a`Ss `7hzefd ¥3Ì*ñ Ù)óaó ô ò Ã)à K Ä Å ]'`7è]'`7d'`7hzefd$efk`Mè\)dfgae'ga\)h¡gah2efk` e'k9d'efb e'kb)e Ã)p à ï3¥3`;Ì)b)ñ ]fõ `rò gahef`S]f`Sdfe'`7ìgah9cí\*]e'k` q]f]'`7thze3d'\*õf^aö qe'ga\)h ÄKïÅ k`S]f` Ã)à efk`rð\)efe'\)sî\cx`7b k dfe'b kb*Ä dè\)dfgae'ga\*h Ùt j Ã)Ã Ä ÄKÅ b)] ï3`;b)]f`gahzef`S]f`Sdfef`Sì¡gah2è\*d'gaefga\)h \c$d'efb Ã)Ã÷ Å ÈHæ ÄKÅ2ÈHå t ( ¹ '¥3Ì)ñ Èxå ò ÈHæ ï3`;b)]f`gah2efk`M]f\\)e (z & Z¶XÈH\)} å qefè.q eêdfÙ \)¸w^aqÃ*efà ga\)hdHc]'\)se'k`dfe'b d () Ã)à ÄKÅ ()Æ ')Ç Á ]f` ¼½È@qñ ]'ô dfòFg ó ` ¥ b)^aÌ)^ ñ ô òFÕSóKóSó7Õ È3ñ ÙKòFó '¥3Ì)ñ ÙXò ¾ (z Ð *o .Ã*Ã Ä p Ä ()Ñ ç'/õ Ù 3È@ñ ÈHå òFó ¥3Ì*ñ ÈHå òFó 3Ç '3 3 Ç 3' ()× o 3ºz'´ )o)¶KÈxåùø Ù)Õ õK¸ üHýdþ%ÿú"§û #$®=¯ ÿDÇ'¨© fi©¯'§j2g© ¬ Ç
sqC2,&O 2,&F`C-)K@ 7'] ,&!-)&IC+* , C{# E.q' K&R KNqC2o´ ® Ë® ¯ Ì §ÍZ-)&0$ '"3- '&º-)& y3, &;_Æk j ¨i jkl'm "& "&2K C'&@ #H9 6E.]& ",&"C23H CD-"7Ç'¨© fi©¯'§j2g© ¬ Çb-H-)&U N%#(-H & 1 ' 2A-)& '1 #>-)&T -- '&O 6'U3 '--)&2@& &, IE. N%;Qµ.C-+&K9%3`C-U3u9K7 ?-)0$ -)&@KC+, ,-U Z') P )-)&ù¸3S" Z`CNI0$ 6 2,&F`C-)R@ #.-)& E.C -C7 = '& 1ßÞdåã Ýñ>,-U .') P Ç'¨© fi©¯'§j%g© ¬ Ç P Uü ¶ I 4a U J g ¬ ° ® U J % -)&, C2 2,& NSS]& 9%-)&U N%#!'0$,wU ,-)0J -)&2@KC CZ´ ® Ë® ¯ Ì §ÍT '0!CZFE. & ?-)÷/,A96 '& ;=> -)&@+C '@'CD)>& b-)&DC1 N 4 Uýü ¶,%E: '+-))%9%A '#92=-.E. '+ 1" AE. N C'&-H-+& ; cd0AE:" -)+C]z&2H'&E.,! C26* , Cq9%" , ,&!-)&" F '0% , P 3M ' % ] H 0d '$ 3A ',S,#2-H-A3+ 6!C23b-A H&2 3AÚ6!C23 3`CD-)&U 3- '&O '0GÇ'¨© fi©¯'§j%g© ¬ Ç1 ' 21&2E.1,&2 -)&qC6 N-)&qC" F '$0 ',;+µM 6 +&2E. -)&OC26 F '0 ',#=E."E. Z&q I»$9 N¼ '&E.,#=&2q,ØC,-)6 2 &-)E.6+]C !&2 '&E.,6 - '5 DC2-)&oC2 " ',5&I9%5 (; µ.C26'-)6 0bC EQ 3`C-U 5C -!&23 )I'" ,& -)&q Ð'{'&'1 3 -+C,A0$ 'H3 '&A 0= 23 ; r$$_Ð ;
?O ; þMÜå ßÞdðñô àÛ2ñ"Ýñ$òà ö Ü ßà(êëàÛ ±©©'$m ÿj%gj¯ ® ÿ ²³´ ÞdåñëáÛÜò!àÛ2á ñ ïñ7ô "à$âMÞ)ã ß7ܧ ò =Þ ã?ïô ñ ò!âMñ+ïßñð6à\Û2ñ îÞdå2ëSô ]ßà$ô,ïáàïôë ÝçäÜÞdåqë Ý ãÜô,ÞWà\Û ö ß!Ü ò 7 âMñ5âMÜï?Ý ð .ôßà å2ññ,ðDà$ÜáÜ ö ê{ï à$ñ ö ëà$áÛ2ñß7à$ÜZÜå2ñ5Üò+àÛ2ñpêëôñå2àdõYá,Û2ÞÝð]ßàôïáõ à$ï ôFë Ý{ôñÝëà$ÞdÜå ßYÛ2Þ ê%ß %±©©'$m ÿj%gj¯ ® Üôbj%gj¯ ® ÿ²³çH´ H£%Þdå2áñ )ñ ñ7ô ±©©'mÕÛ2ë ß6ë+j%gj¯ ® àÛ2Þ\ß6îÞdå2ëSô AäÜÞWåØâMÜïÝð]ê{ôFÜ'ðïáñ]ëDÝÜàAÜò å RîÜ)Ü ß"ðëà$ëîë ßñ )ñ ñåZâ%Û2ñåØàÛ2ñôñ ö ëàáÛ2ñß7ëã?ëÞWå ßàHë ëôñ1Üå¥Ý 1ë.òñâZîÜ')Ü ßHâ%Û2Ü ßñAà$ÞdàdÝñ1Þ\ß @ò ÞWå ßà$ñëð âMñ .ôßà áÜ ö ê{ïà$ñ,ð ö ëà$áÛ2ñßHà$ÜAj%gj¯ ® ÿ²³´ âMñ âMÜïÝð ë Ý)ßÜ ö ëà$á,ÛAêëÞdôß ïå2ðñô1l'¨k j ® ªZñÝñ ö ñå2àdß ë ß6ÞdåqàÛ2 ñ Rðëà$ëDà$ôññ+Ü ò =Þ)ã õ ïôñ â%Û2ÞdáÛKðÜqå2Üà!ñ à$ñå2ðDàÜqà$Üà$ë ÝHëå ßâMñô`ßwàÜqàÛ2B ñ 'ïñ7ô êëàÛ]ê2ëà$à$ñô,å >ßÞdå ã AÝ ã?ÜôÞdàÛ ö Æk j ¨i jklm ê2ëôà$Þdë ÝMëåßâMñôß ëôñM 3 Dôñê{ôFñßñå2à$ñ,ðHÞdå7à\Û2ñ=ßà$ëSá ß ëå2ð1å2Üà2Üïà ê{ï Fà >ßõ ÞdåãàÛ2 ñ Kðëà$ëà$ôññ]Ü2 ò =Þ)ãï ôFñ Üå ¥Ý +Üå2ñ ':'&E., Þdðñå2à$Þ .ñðî)àÛ2ñ ö ë,êê{Þdåã"!p±©©'m | P ¶ I ¶qVA¶*v I ¶S j%gj¯ ® | P ¶ I
V· I
S ²³´ |èP ¶ I Ð I ÐS # Þ\ß:ñ'åá,ÜðñðAÞdå"àÛ2ñ4ßà$ëSá çß
3.3
.µ CGAnalysis 0J ') E.-)&2@" of
' % 3PathStack -- '&D-.pNç" !'9)-C-)&%@6C2 ' &2A '0B^b@3 '-CÑÆk j ¨i jkl'm;
$%'&"&(*),+-).&0/ºÐ ;¶ ; òbâMñ 1 å2Üð3ñ 2 àÛ2ñGßñS'ïñå2áñ.ÜòHá,ë ßñß îñà$âMñ,ñå"å2Üðñ2ºëå2ð1å2Üðñß54Üå"ÞWå2áôñë ßÞdåçãbÜôFðñ'ô:ÜòM´ ® « jÆ©Ç © Rª Þ\6ß P 8¶ 7
S 9:Ð 9:· 9z þMë ßñß ëå29 ð þMë ßñß 1ëôFñbÞWå2à$ñ'ôÝñë'ñð àÛ2ñå ë ÝWÝ=å2Üðñß!ÞWå þMë ß ñ Dîñ$òÜôñ7ëHå +å2Üðñ"ÞWå þMë ß ñ ; ëå2ð .å2ë ÝdÝ¥ ë ÝWÝ>åÜ'ðñßÞd å þMë ß<ñ ;©ßñ, ñ =Þ)ãï ôFñ = ª Case 1 Property
Segments
X.R
X Y
Case 2
Case 3
Case 4
X.LY.R
X.L>Y.L X.R
X.L>Y.R
X
X
Y
Y
Root
Root
X Y
Root
Root
X
Tree
Y X
Y
Y
Y X
X
üHýJþ/ÿ?>"29 °K#x Æk j ¨i jkl'mO 3¯Ief%ghi jkl'm
@3;}Ð ;¶ ; £%ïêêÜ ßñ1àÛ2ëà2òÜô1ëåTëô,îÞdà$ôëôS"å2Üðñ¡8DÞdåDàÛ2ñ êëàÛ[êëà$à$ñ'ôå ïñô7 âMñ5Û2ëñà\Û2ëàHh ® j³%g ¬ i©'§ªl ® P 83S W 8BA9 AÝ)ßÜ ßïêêÜ ßñ"àÛ2ëàC
<2 . C"&2 C -)&7E.C -C C êëà\Û.êëàà$ñôå 87ëå2ðAë å ðëà$ëîë ß? ñ > AÝ ãÜô,ÞWà\Û ö Æk j ¨i jkl'mTáÜô,ôFñ,áàd¥Ý 6ôñà$ï ôå ß7ë ÝdÝ:ëå õ ßâMñô`ß=òÜ_ô 8Üw å > sD &1C2 E½ ' -")- ;w¿b-U ,&Õ'&qØ* , 23CZ 0 &2@3 C CB#Æk j ¨i jkl'mr'N¡ C+-)& b)-H '0=b& ' 9_Âél Ä°=Å7´ ® « jÆ©Ç2Î # &2T &Z 2 [)-
r0 C F .C :" C5C2* 2,! 23C>;:c=-.'-@C0$ 'E. .C #3,)?-)&@"C4-)&U - '&. rÇ'¨© fi©¯'§j%g© ¬ Ç# C cFt n|'&qv.L4xº ! '0GÆk j ¨i jkl'm6'")-)&'"-)&OC62Ñ 0 -a
0.Cw C-)& p)-;5Ï -)&6C2" 1 '0GÇ'¨© fi©¯'§j%g© ¬ Ç -! % '- &2! C+-a5 '0rC26 ' 2")-#HE."C'U3+C 0J ') E.-)&2@5 ' -"')-F[V IKJ$-&-%$Ð ;
?M ; LHÞ ñå1¡ ë ï ñSô >ê2ëàÛ4êëà$àñôå 8!âMÞdà Û C[åÜ'ðñß ëåð+ë å _ðëà$ëîë ß;ñ > AÝ ãÜôÞdàÛ ö Æk j ¨i jkl'm5Û2ë ß!âMÜôßàdõ áë ß ñ ONPºëå2 ð þQRà$Þ ö ñá,Ü ö ê%Ý*ñ Þdà$Þdñß1ÝÞdå2ñëô ÞdåqàÛ2ñ]ßï ö Üò ßÞ)óñß6Üò6à\Û2O ñ CRÞdå'ê{ïà.ÝÞ\ßàdß6ëåðàÛ2ñ+Üïà ê{ï à.ÝÞ\ßFà %ï ôàÛ2ñô àÛ2ñ âMÜôßàJõYá,ë ßñ ß$êëá,ñ"áÜ ö ê%Ýñ ÞdFà 6Üò AÝ ãÜô,ÞWà\Û ö Æk j ¨i jkl'mTÞ\ß7àÛ2ñ ò ©Þ ª àÛ2ñ]ßï ö Üò6ßÞ)óñß"Üò5àÛ2 ñ C½Þdå'ê{ïàGÝÞßàdß ëå2ð ö Þdå2Þ ö ï ö Ü ©ÞdÞ ª àÛ2ñ ö Bë Þ ö ï ö ÝñåãàÛ+Üò1ë6ôÜÜàdõà$Ü õFÝñ,ëò>êëàÛ+Þdw å > c$ -" 2-, I- % '&+ & C 6C25E. 'F3 -7] -T '0:^b@ -C2 Æk j ¨i jkl'm -5Þdå2ðñêñå2ðñå2àMÜò àÛ2ñ1ßÞ ó'ñßÜò1ëåH"Þdåàñô ö ñðÞdëà$ñAôFñßïÝàdß,;
3.4
^ PathMPMJ í '-@C0$ 'E.I@3,&2')-a3- '&} '01C+L=D¿1À Á|'@3 ' -CÙ
¸%0$ 4 C5* ,-. H '&A3Q =!-"A @ A')= )2- &2;pvG &2-,rC21 23CD* 2 8 G*RSR 8Q RSR 8T;.µ.C2 9 -+-[-7 10$ ') EHV¿A C"z P &S1,"& 0d CA3 :$<UA&2wã?ñå2ñôFëàñHë ÝdÝßÜ Ýïà$ÞdÜå ß=C2341C234 2 -,'!,",&A0d 3 : <U ;HµGC,&{#% U'& : <U &2qîëSá àôFëSá :
&>;=sDb,0$H C- '@3 '-CÑ HÆk j ¨³Æ³2ìÌkg Ë® #-)& '1 %,-",&; c$1 &
21C 17'-)&'-)&-)&@Ø & D '&""N /,! P 0$ 49 N N-)&2@1 % 3S4-4 A-)&,Ú6-,-)&A)%"N &I % -)&] TC25')-5@ 7,&"C 6'&o" COC2 ,,&6,"&]-)ù & : <U P C è 0!C26 "& S,;}^ 9%"3@ -" +]Zßà$ëSá [ 0H"'N#=3 ,-)9%Õ-)& ^b@3 '-CÙÆk j ¨³Æ³2ì=-)&D<>-@'"¸;=cJ&wC -H 2- -a@3,&,') -a3- '&D '0{L=D¿1À Á # C+* ,"& EG-))%& 4CU 11-)&@' "N-)&ZC +#%9 H» Y¼6"'N1E.C, Y+-1Cp&19%,
'0{-.'& .-)&+CA* , r; = C5"'N6 % -)&b 1&)-, % 3-- '&Z-)&wC2! 5#2'&+0$ A* ,"& 2 8#%C2 ZfN C"N -"C]z % -)& -)Z & : < CKC "C6,",&"-)Z & : < '0J,C21,,&H,7,&b-)&DC1 | r0 8N ZfN Cw'& ; ¢ m3 ,³.n')nS[)¶K·¸ l ( ¹wºD¼F»{z¼Í < ¾'Êý¼Fo ¼F·¾E\ 3Ì')¼F·¾3Ë3b*ì Ì b*l h ¼íÇ'3`ì`Sd *¼½`7·h¾fì¾'¾fb)¾ he'd (& çD ¼F·SÀ3ÝOo3'£3¥)o7¼F·¾'¾ Ã)à p Ä Ä (* º ¼d3 Ì') ¼F·SÀ¾ Ëw Ì* ¼íÇ * ¼½·7ÀF¾'¾f¾ (*Æ )¥ Ò'z µ ¶fÍ
I AÝ ãÜôÞdàÛ ö Æk j ¨³Æ³2ìTáÜô,ôFñ,áàdÝ¥ôFñàïôå ß5ë ÝdÝëå õ ßâMñ'ôßMòÜô8Üåw> sqC -)qCFE. Z,&- '&D '07L4D¿1À ÁÑ /'D- -)# C?-)÷%,&2[9%E.&KC,-)+ %0$ '"&2+- & -'9 #13 E..C'){.-)&5C. %,-7,&'B- '&{;=< C2,#ç =E. =C2 31EG-CwL4D¿1À Á!#2^H@ '-CíÆk j ¨³Æ³2ì4-b& H3 2 3 -) ' -"'=,-C,; 4. 4.1
TWIG JOIN ALGORITHMS
^ Limitations | -@'C0$ E.'ZE:of 'DUsing
'0G PathStack -)&2@D'&E.,! +* , E.-@ 23,&I-7 3 % DC+E.-@-)& Z1 -) [ 3 '$0> C6 ,&# HÆk j ¨i jkl'mA 1-,&-)0$6 ')- '&A 3`C6-)&?-U -2M 23C>#&26C,&6",@3,X '-)&5CA )2- &2H 3 ACH'&E.,= 1C2H* , ;=µ.C -=' C{#2E.C -C5E.
%,-",&)ZU') 1-)&TÏ- '&T# 0$3HC1 "10d&2' 7,&' 9 3MC2=C &-* 49 " & 9-)&'!2' XY '-) E.'.1C2 )-- )2- &>V ö ëåH!Þdå2à$ñô ö ñðÞdëà$ñbôFñßïÝàdß ö ë "å2Üà=îñGêëôà4Üò1ëHå _ .å2ë Ý%ëå ßâMñô`#ç b-))) [9% 'E1; _$$; ¢y·;\¶3 ; þMÜåßÞdðñôà\Û22 ñ ï ñSô ßï îõà$âMÞ)ã6ôÜÜà$ñð]ëà=àÛ2ñ k'§j ¨© ªoå2ÜðñÜòDàÛ2ñà$âMÞ)ã[êëà$à$ñô,åOÞdå =Þ ã?ïôG ñ ©î ª `.ãëÞdå ßà àÛ2ñ Oðëà$ëî,ë ßñ1Þd å =Þ)ãï ôFñ à\Û2ñ!à$âMÜ êëà\Û ßrÜò àÛ2Þ\? ß ï ñSô S k'§j ¨© Hª ÿ « ¬ ÿk ¬® ëå2ðTk'§j ¨© Hª ÿ3¯ ¬ ÿ°© ® Û2ë 'ñTàâMÜqßÜ Ýïà$ÞdÜå ß ñëáÛ îïà4àÛ22 ñ 'ïñ7ô !à$âMÞ)ãAê2ëà$à$ñô,å7Û2ë ß1Üå ¥Ý !Üå2ñ1ßÜ Ýïà$ÞdÜHå cd&K@ &2,$#b-)0!C* , P 3 $'0S C]C'U37'& )2- &2!C A "&2 31 '&-)9" 6C21z &'=&2E:,#22-)&@ Æk j ¨i jkl'm P MH9 $ 2-)&S8-M9% ' -"$#?-)& C23>C. U , ). 23- '&q A0$ 1+FE.-@ &-1 % '- &2.& XF2 ]C!-aA 0.C1-)& 21&2C1z &'= 2 2#%92' 7C2!-a '0M-)&,"?-3 ;cJ&DC-A- &>#%E:1,N 1 U3, 7AC-b9% 2-")-62-)&@"^b@3 '-C|ef%ghi jkl'm; 4.2
H^ @ 'TwigStack -C½ef%ghi jkl'm #3E.C -C6 3 2='&E.,M H* 2, FE.-@ 23,&{#b-" ,&I-)&_<>-@ D #.0$ 5C23E.C2,& C3"+ &'-)&K& ]0d 3èZ-)&2@ZA_ ,27,&; ^6EG-C_^H@ -C2 Æk j ¨i jkl'm#HE.C2&KC "5 '&-)& & >0d _1 -) A] ,",&#C='@ -C2½->3-) ,&2D 6A* ')-F 0.él Ä°19%,0J '""& -) -)&@C & b-)&DC1 7b&2 &C 3`N; ¢ m3 ,k³w b)dfÓ)` ºÙ Sm´zµz¶X·z¸ Ã)Ã^a ( ¹Oº?»{'¥z¼F·¾ (& ·*bcEd(B m £3 Ì') ¼F·¾ (* Z ¶K»8 o l z ¶K·*bcHdK¸)¸ (*Æ µ ´z µ) ¶fÇ ¶K·*bcHdK¸ Ö 3Ì'¢¶K·bcEdK¸*¸ (Ð 5 ¼F o l ¼F· bcHd ¾-\2»>7³zÇ*%)¼FÈ Ç3' 7 ³zÇ* %)¼FÈ$¾Êá¼d3 Ç l ¼½È$¾ Ë nroHpq ¾f¾ (& Ç3 ǶKȸ üHýdþ%ÿ Gs" .dHþ #$ý!)ä èef%ghi jkl'm
^H@ '-Cíef%ghi jkl'm1 ' /, .-)&DFE. p C ;GcJ&5C2Az C P )-)& ¶,¶3¶S,# 3" P îï à{å2ÜàMë ÝdÝ SM ')- '&A 1-)&2-U -%' * ," F '0M CA' ! %;HcJ&5C1 &26 C P )-)&Z¶
3S,#MC+ )2- &26'5",@3,X '-)&q ! +C &2E:,A !C2!* ,6E.-@" 23,&>;
µ.C )ñ 1ðÞ tAñôñå2áñ89/E.,&6Æk j ¨i jkl'm'&"Cbz8 C23 ' 0Bef%ghi jkl'mH-bC =9%,0$ A1&2 u$
'0rC25 7 : ' -"')-F 0$ '{* , êëàÛpêëàà$ñôå ßS,;%µ.C#EGC,&wC2* 2,5E.-@1 23,&+C H '& '& F ,&2'&!@ # CD ')- '&T "3`C-)&-U -? * , F '0A Cq-6ãïëôëå2à$ññ,ð5 +9%+"@ ,X -)&29 E.-Cq A " &26 ')- '&O 3`CÕ '0HC6 C,1 F '$0 C; µ.C-1,& !C b& ]-)&"- 6 ')- '&q-A'@3, C'&DCAz &'B'&E., "C1* 2,5E.-@ ,&{; µ.C] '&Z",@3,X '-)&T C 5 '0H^H@ '-Cef%ghi jkl'm7- )-)&'5-)&KC+è '0A-!-)& 2 P C25 ')- '& [-)&-U -? F '0% 23C2SM'&" 2 2 P Cb&2E:,= ACH* 2,!E.-@ ,&/S>-a#3 '&1E.C2,&!CM-)& 2='M-)&7 '1 ,B '0C2 3"" '&O z25 '0rC25?-)÷%,&+* ,Ø 3F '$'01 C; µ.C -!* -)]C 7C25 ')- '&+ +-)&?-U -%'!* , C 9%5 ' "-)&I F '01 6 "E:,)$#HE.C -CI&-3 9 `N-)&@PwÇ'¨© fi©¯'§j2g© ¬ Ç P 0d 3Ò<>-@ Õ S,#1E.C-`C} ' ')- '&A-)&D '+'0dF 3H ',#%'&& .9%12%; r$$_· ;
?O ; þMÜå ßÞdðñô.ëãëÞdå6àÛ2 ñ 'ïñ7ô !ÜKò x1ë ö ê%Ýyñ ;$ â%Û2ÞdáÛÞß"àÛ2ñ1ßïîõà$âMÞ)ã+ôFÜ'Üà$ñð6ëà.àÛ2ñ1k'§j ¨© ªDå2Üðñ Üò"àÛ2ñ"à$âMÞ)ã êëà$àñôåÞWÁ å =Þ)ãï ôF ñ ©`î ª ëå2ðàÛ2ñ _ðëà$ëîë ßñ!à$ôññ]ÞWÁ å =Þ)ã õ ïôñ ^zHñ$òÜôF^ ñ AÝ ãÜôÞdàÛ ö ef%ghi jkl'm!ê{ïßÛ2ñßëå6k'§j ¨© ªå2Üðñ ÜåqàÛ2ñ+ßà$ëSá w'{O|O}O~E ÞdàAñå ßï ôFñß"àÛ2ëàAàÛ2Þ\ßpk'§j ¨© ªqå2Üðñ"Û2ë 6ß ©Þ ª ëDðñßáñå2ðëå2à « ¬ å2Üðñ6Þdåqà\Û2ñ"ßà$ôñë ö ::E©â%Û2ÞdáÛZÞdåZà$ï ôå Û2ë ßë6ðñßáñ'åðëå àk ¬® å2ÜðñÞd9 å :- { O
ª ëå2 ð ©ÞdÞ ª ë6ðñßáñå2ðëå2à ¯ ¬ åÜ'ðñ7ÞdåZàÛ2ñ ßàôFñ,ë ö :'A©â%Û2ÞdáÛÞdåZà$ïô,å5Û2ë ß!ëðñßáñå2ðëå2à °© ® å2ÜðñAÞd2 å :-E
ª 2Û2ïß Üå ¥Ý 1Üåñ1ÜòbàÛ2ñ1àÛ2ôññ.k'§j ¨© ª6åÜ'ðñß ©á,Üôôñß$ê2ÜåðÞdå ã!à$Ü]àÛ2ñ1àÛ2ÞdôFð]ëïàÛ2Üô ª òôÜ ö àÛ2< ñ Oðëàë7àôFñ,ñ Þdw å =Þ)ãï ôFñ Þ\ßMê{ï?ßYÛ2ñ,ð1Üå6àÛ2ñbßà$ëSá çß _£%ïîßSñ ï ñå2àßà$ñê%ß.ñå ßïôñ àÛ2ëà>Üå ¥Ý 1ÜåñbßÜ Ýï à$ÞdÜå"à$Ü"ñëáÛ]ÜòàÛ2ñAà$âMÜbêëàÛ ßHÜòAàÛ2Þ\;ß ïñ7ô r k'§j ¨© Hª ÿ « ¬ ÿk ¬® ëå2ð:k'§j ¨© Hª ÿ3¯ ¬ ÿ°© ® Þ\ß=á,Ü ö ê{ïàñð =Þdå2ë Ýd¥Ý àÛ2ñ ö ñôdãñõ)äÜÞWårêÛ2ë ßñ1áÜ ö ê{ïà$ñßàÛ2ñ!ðñßÞdôFñ,ð!ëå ßâMñ'Sô 4.3
dc &RCAnalysis -- '&½of E:TwigStack -,CZ & 0"@ -C2 ef%ghi jkl'm0$ + -)&@IE.-@O* 2,-#1'&KC2&_E.&2 a6- 3 - ;T " 0HC] '0$1-)&OC -"- '&O'
!-+0$ 'H3`Nw '0M &2&+9%A0J '&2+-)&q Ð'F; )/5),+)&5/Q· ;¶ O ; þMÜå ßÞdðñôMë à$âMÞ) ã ïñ'Sô =;%Üô=ñ,ëáÛ"å2Üðñ 8 w Ç'§±jª ®® Ì© ° ® Ç P =1S"âMñ]ðOñ .åñ àÛ2ñAC2 KÜ; ò 8 ðñå2Üà$ñ^ ð u < ë ß!àÛ2ñ :ô`ßà4ñÝñ ö ñ'åà4Þd å :x<+àÛ2ëà/êëôàÞWá'Þ ê2ëà$ñßHÞdåë6ßÜ Ýïà$ÞdÜåAòÜô àÛ2ñAßïîKõ ïñ'Sô 1ôÜÜà$ñð ë$à 85ñpßë !à\Û2ëàMë6å2Üðñ 87Û2ë ßëp!-)& -) "= ,&2'&1,&2- &}Þ ò àÛ2ñôñ!Þ\ß!ë6ßÜ Ýïà$ÞdÜåAòÜô1àÛ2ñ ßïîõ ï ñSô "ôÜÜà$ñð]ëêà 8áÜ ö ê2Ü ßñð"ñå2à$Þdôñ¥Ý "Üò!àÛ2ñAÛ2ñëð6ñÝñ ö ñå2àdß1Üò Ç'§±jª ®® Ì© ° ® Çz©K ª LM ' % 3-- '&_Ð;\¶3#89 Ø &O<>-@'ù #>- -! % '& 0J '7 '9)-C-)&2@CA0$ ') E.-)&@+""V @ê;;R·;\¶3 ; £%ïêêÜ ßñ1àÛ2ëà2òÜô1ëåZëôîÞdà$ôëSô "å2Üð¡ñ 8DÞdåDà\Û2ñ à$âMÞ) ã ï ñSô AâMñHÛ2ë ñAàÛ2ëàh ® jÌ ® j P 83S W 8BA22Û2ñå àÛ2ñ>òÜ ÝdÝÜâ>õ ÞdåãAê{ôÜ,êñôàÞWñß8Û2Ü Ýð8 8BA½Û2ë ß1ë ö Þdå2Þ ö ë Ý{ðñßáñ'åðëå2à%ñ à$ñå ßÞdÜHå ¡%Üô+ñëáÛØåÜ'ð2 ñ 8r w Ç'§±jª ®® Ì© ° ® Ç P 8 A S à\Û2ñ :ô`ßà1ñÝñõ å : < Þ\_ß u < ö ñå2à=Þdw
^x.ÞWà\Û2ñôw©ë ª 8 W 8
ô ©`î ª k ª ®'¬ j P 8 A S5ðÜ'ñß6åÜàHÛ2ë 'ñ A Ü. ë ö ÞdåÞ ö ë Ý{ôÞ)ãÛ2à4ñ*à$ñå ßÞWÜå]îñá,ëïßñÜò8A ©ëå2ðbêÜ ßßÞWîÝ¥ ÜàÛ2ñ'ô7å2Üðñß ª åIÜàÛ2ñô]âMÜôFð ß àÛ2ñ+ßÜ Ýï à$ÞdÜåTôÜÜà$ñ,ðDëà W k ª ®'¬ j P 8 A S1àÛ2ëà4ïßñß3u:[ðÜ'ñßå2ÜàMïßñßÜ ö ñÜàÛ2ñ'ô:ñÝñ ö ñå2à>â%Û2Ü ßñ R á,Ü ö êÜå2ñå2à%Þ\ß.Ýëôdãñô àÛ2ëå+àÛ2ëàMÜòyu$< x-)&2@"Cb"""9% U #E.'&6 'U3" Ð%C HE.C2,&5 3" & 9 8 A -G &+96h ® jÌ ® j:# u
3C26,"& -)&OC+3"" 0!Ç'§±jª ®® Ì©'° ® Ç P 83S,;Zµ.C,&># Cq-"6C23 8 A W h ® jÌ ® j P 83Sb- +'0.& 3#4E:
2 2 )= ')- '&1C23.2 u 9!"'-)&-)& -)&@" '&H N /,M&2 .-)&5C2.* , ; IKJ$-&-%$· ;¶ M ; LHÞ ñå ë ïñ'Sô Aà$âMÞ)ã4êëà$à$ñ'ô;å 8"ëå2ð1ë å ðëà$ëîë ß? ñ > AÝ ãÜô,ÞWà\Û ö ef%ghi jkl'mTáÜô,ôFñ,áàd¥Ý 6ôñà$ï ôå ß7ë ÝdÝ:ëå õ ßâMñô`ß=òÜ_ô 8Üw å > $%'&&-^±!®¢ä06cd&R^H@ -C2Êef%ghi jkl'm#1E:[, / ?yz&Rh ® jÌ ® j P 83S]0$ 'D* ,ù 8 P )-)&K
3S,;Ñ^A"qC h ® jÌ ® j P 8 S W 8 A ;=> ""D· ;¶ # ' /,_¶ ;}cJ0?8W 8 A '& k ª ®'¬ j P 8 A S7N @Z3`Nq-6 # & 8 A A&2 3bC'U3"'&D&2 '!&2- &>;!µ.C2,0$ '1- -!@''&& 1 6 2-,-) +-)&T'&D ')- '&{#4 E: 3? U&2 8 A -)&O)-)&2Z¶3¶'&I &-)&2E.-CoC26&2"-,3- '&{; nAC,E.- #>& á 8AC23A9% Cq&2 '7'&Z,& &" &2- &2='&"C,,0$ 4-> 2-,-) 4-)&7 > M '&. )2- &>; sDHC2&",'&.8 A N M N P )-)&AùS>&2! Cu -)&')3#>-)0 8 A -A"04& 3#%E.1 ' 1C ')- '& 0W |C1 N P )-)&A,¶ vS,; sqC -) '&2=C2 40J ':* 2,7E.-@A 23,&4E.-C69% C &2 'F,& &'&Ø ',&FC -)_@ #HE:+&I 'U3
2-7')-O '&0$ "C6 5EGC,6C]* ,ZFE.-@[ ,& C = '&"&2 'F ,& &b @3;=µGC4-)&-- '&-=- ; Ï -)& E:A C-)& "C1 NA '&+",&C23GCU 19% C 7 ,&2'&1&2&&2 '1,&2- &>#{E.11@'''& C .& ",7,&AC H .&2 3G '--) 23 -)&&+ ')- '&D- C2+-)& 7'&"3`N%;=µ.C2,0$ '3# CA7,@ H % -)&@ +-A 2-7'$#{'&+E.ACU 1CA0$ ') E.-)&2@+ ; IKJ$-&-%$· ;
?O ; þMÜå ßÞdðñô6ë ïñ7ô Zà$âMÞ)ã+êëà$àñôÁ å 8KâMÞWà\5 Û C åÜ'ðñß ëåðIÜå ¥Ý Zëåá,ñßàÜôõðñßáñå ðëåà1ñ,ðãñß ëå2ðOëv å ðëà$ëîë ß ñ >AÝ ã?ÜôÞdàÛ ö ef%ghi jkl'm5Û2ë ß7âMÜô`ßàdõáë ßñ ONP½ëå2ð þQíà$Þ ö ñqá,Ü ö ê%Ý*ñ ?ÞWàÞWñß6ÝÞdåñ,ëôÞdå}à\Û2ñZßï ö ÜòßÞ)óñßDÜòDàÛ2ñ CºÞdå'ê{ïàAÝÞ\ßàdßwëå2ðZàÛ2ñÜïà ê{ï àHÝÞ\ßßà %ïô,àÛ2ñô àÛ2ñâMÜô`ßàdõáë ßñ ß$êëá,ñ5á,Ü ö ê%Ý*ñ ÞdFà +Ü ò AÝ ãÜô,ÞdàÛ ö ef%ghi jkl'mOÞ\ß5àÛ2ñ ö ÞdåÞ ö ï ö ÜO ò ©Þ ª àÛ2ñ1ßï ö ÜòpßÞ)óñß1Üò1àÛ2 ñ CIÞdåê{ï àMÝÞ\ßàJß ëå2. ð ©ÞdÞ ª COàÞ ö ñß àÛ2ñ ö Bë Þ ö ï ö ÝñåãàÛ+Üò1ë6ôÜÜàdõà$Ü õÝñëò>ê2ëàÛ+ÞWw å >D c$A-p '-,'Z- / ''&7 +&2 3]C #{0$ '!C6 " 0 * ,5E.-@ EG-CD&2 'F,& &1@ #%C1E. 'F3 -7] -T '0:^b@ -C2 ef%ghi jkl'm -5Þdå2ðñêñå2ðñå2àMÜò àÛ2ñ1ßÞ ó'ñßÜòAßÜ Ýïà$ÞdÜå ßHà$Ü6ëHå !ôÜÜàdõà$Ü õÝñëò>êëà\Û5Üò1à\Û2ñ!à$âMÞ)ã ;
4.4
Parent-Child Edges .µ C 'Suboptimality · ;
C2 & for I0J ' * ,OE.-@ 5EG-C}'& ,& &.@ ;=xH& 0$ & # -)&6CH HE.C,HC2HE.-@ ,&T '&-)&2!] '&C-)Ø @3 9%FE.,&TE. 6,",& P ; @ ;#%!C2"* ,+-)&5= ! "·;)
3S,#>^H@ -C2 ef%ghi jkl'm -"&2 D '&@ ,w@'''&K 9%DcFt nÙ&2ovGL=xí ' -"'$; cJ& '-,'#:C2"@ -C2 -@'C1 6+ ')- '&O0$ '! &2 F '0. CTC231 p& " CZE.-CT'& )2- &Ø-)& '& C, F '$04 C{; v. '&-,6C"* 2FEG-@+ &ZE.-CqC & V I«} '& #'&+ 2,&F`C-)D @3b9/E.,& P IS} S='&+9%E:,& P IX S,;I{6C25AR Z+ &2-5 '0A& G #.E.-C C -),& P -)&} ',á S Q IS} Q IX Q#A`C_C Q+C23`C-),& } G IS G ;Qµ.CCD 7 : ¤ I : ¦ &2ù :RC'U33+C,-) z ,",&2 G IS} G '& G /-U ;DcJ&ÕC -! 3#ME. áëå2å2Üà%'"-)0B'&6 '0BC2½ 2-,-) A-)&w )2- &DEG-C ' U'&,-)&@
3C2,= "#&2!E.='&& = U'&2b&1 9%,0J ' N& EG-)&@]-)0:-A 2-,-) 231-)&q6 ')- '&{;"^A" #
' -")-D'&5&2 &2@3,19%1@2'&%; 4.5
H^ @ 'Using -C"qXB-Trees Æk j ¨i jkl'mO'&Ref%ghi jkl'mq&2R I 3`C"& G-)& C24-)& 24)-= AC`N7E.C2C2,: 'M& >-M-M 2
'0{&+&2E:,H 1CA* , P C5 'HFE.-@S> 23,&>;=sqC2,&wC2 -)& .)-bAU3, '&@ #C -H""Np 3. '0{-" ;:cd&+C- - &>#%E:A % !C2A! '0="U'-&A 0=~4F#2,& z:õà$ôññ# '&wC2A-)& A)-A 7 %+ C-b -)&@ ; 4.5.1
^ [-+XB-Tree & "qDescription @ @3#"CqA~4F-DIU-'&Z 06C2 ~4F #B -@&2Ø0$ -)& -)&2@qC / -- '&', ,& - & Âél Ä°=Å"´ ® « jÆ©ÇRÈÊÉ%gh ¨jÆ©ÇMÅ ´ ® Ë® ¯ Ì §Í{ÎH '0:,7,&p-)& CA_ ;qsD -)9%C]-)&IEGC,&o') & H9%, &2@6 "C1 "1 ,",& P%C1,&- '&D 1 -) " ,27,&A-H'-@'C0J 'E.(; µ.Cp& A-)&ZCp'0= 23@ '0:C2!A~4F!'1 9 C,-)w´ ® « jÆ©Ç 'P R S U')P1C- -6- -) DC2+'0A @3
'0D~4F6 '&OC R U');TµGC+-)÷%,&2+9/E.,&O~4 6'&q'&OA~= -!-)&IC6 37'-)&'-)&K3p-)&,&' @ ; = CK&2 U -)&_'&K-)&&2 @3 0"CA~4F &2-. 02A9/ '&2-)&2@!@3",&H UJ RVI«UJ T. P EGC, R ,&2 3 ´ ® « jÆ©Çb&2. TK &2 3.É%gh ¨jÆ©ÇS(&261 % '-)&A A-:`C-) @ UJ -S {!P E.C -C6 &'-)&4&2 =E.-C"9% '&?-)&@"@3",& 3 , -)&,)2"-)& UJaRIKUJ TGJS,;>µ.C89/ '&2-)&2@!@3",&
'0{&2 H-)&+-)&,&'{ 23@ H -@Cb '-') U3,' {# 92HC,-) R % 3-- '&+]-)&q-)&2 -)&@q ',;Z~.- #: Cq 23@ ? C !] % -)&,6 +C" 2,&A @ J ¡ { C5CA&2ZC -)&@3, J ¡ { C5CH¢C E{B£ EGC-CZ- C -)& 0HC2!&2 -)" & J ¡ { C5C C A % -)& 923`ND?
;"µ.C" '&- '&O'&D"'-)&,&'&
'0=&~4Fb-U ,6- -)! "C2 3p-)&w"~4F #2-)&@6C2 R U)2"3ACANH P%C!?-)÷%,&2 -AC C22 TRU')b& 9%A ' @3 CA-)&2 3; 4.5.2
sD""Using -)&'-)&OXB-Trees " % '-)&, 8¤ C W P 8¤ CE S {I 8¤ CE¢C E{¥£ Sb 6C2 E B { £ E C ¢ C N Z C &
6-)&q 23@ 8¤ CE S { '0C+~4F ;Dµ.C2, 8¤ 'E. 1 %,3- '&b U3,HCAA~=bC :'÷%.C -= % '-)&,V ¶ ;Gk ° Ë k ¬ l ® ;=cJ0 8¤ C W P 8¤ CH S { I 8¤ CE¢C E{¥£ S4 b& b / '-)& ZC+ "&2 +-)&_C+,,&" 23@ #HE:- O U'& 8¤ CH¢C E{B£ ;KnAC,E.-DE.], 8¤ C!EG-CoC2 U') P 8¤ CE S {J -¡ { C0C I 8¤ CH S { J -¡ { C5CH¢C E{B£ S4&26, ,-U ,D U'&p-;
;H°ª%g¯¯ é f ¬ ;rcJ0 8¤ C W P 8¤ CE S {I 8¤ CE¢C E{¥£ S,# 8¤ CH S { - &2 3+q'0" @3 #1&2 U -C 8¤ CE¢C E{B£ N CI& -)& 8¤ CH S { #AE.+ 3 8¤ C"E.-C P'UJ S {I vS6 qC23]- % '-)& "CAz .& 1-)& UJ ; cd& --) 8¤ C W P ¡ yy CE S {I vçS,#? / '-)&-)&@+ "Cbz.&2 A-)& C 3A 23@ 6 '0:C27A~4F ;!sqC2,& 8¤ CG % -)& 5C21 & b-)& ¡ yy CE S { '&]E:b3 U&2H-#E.4z& -CwC2HU ,$; sDA&" -)0$5C2A U - 'A@ -C2"1 -)+ !21~4 ;+^H@ -C2èef%ghi jkl'mç8² ¦ #(-)&O<>-@ 5¹ #M&2"^b@3 ' -CQef%ghi jkl'mG 1C238-M24~4F;Mµ.Cb & 7`C'&@ Z-)&½C2Z)-)&-)&?- ½9u ',&C; µGCZ0d&2- & gÇ Æ¯k2g ¬ § k¯§ ® &221-)0.C! '{ % '-)&,1-)&TC ~4 -A % '-)&-)&@Z 6]'0.& P 32.U)2"-)&qC
-@'-)&' 6S,;:cJ0BE.A,z&26gÇ Æ¯k2g ¬ § k¯§ ® P µS W AE.C,&µI-.& &DA~4FA9A"@''z 3#%C -1@ '-CÙ1 "C U - 21 &2 ; ¢3m3 '³wÓ)ºSmz´zµ¥i¶K·¸ (¹wº'»{¥)¼F·¾ (z& · bcEd m3£3 Ì ¼½·¾ ¶f(*¸6`5 ¼F on3l ¥ ¨3,3X ¼íÍ 7 ³zÇ') %)¼FÈ Ç 7 ³zÇ') %¼½È"¾Ê¼W Ç l ¼FÈ$¾ Ë nroHpOq ¾f¾ (z& Ç Ç¶Kȸ übýdþ%ÿ ?«" .dHþ #$ý!)ä ef%ghi jkl'mS² ¦
IKJ$-&-%$· ; Ð M ; LHÞñå ë ïñ'ôSAà$âMÞ)ã4êëà$à$ñ'ôå;8"ëå2ð1ëå ð ëà$ëîë ßñê> rÝ ãÜôÞdàÛ ö ef%ghi jkl'm²8¦1áÜôôñá'àdÝ¥Hôñà$ïô,å ß=ë ÝWÝëå õ ßâMñô`ß=òÜô_8Üåw> sqC -)ZE:+ Õ& "CU D'&I&2-'!+9% '+C Ú6,-,&I 01^H@ '-Cèef%ghi jkl'mS² ¦3#.E.6C 'Eí %-",& )IC "-" %,0$ """3`C-)&@Ø 01* ,IFE.-@[ ,&"-)& ßïîõFÝÞdå2ñëô.à$Þ ö ñ;
5.
dc &6EXPERIMENTAL C -:- '&5E.= &4 EVALUATION /,-",&( . &6CG /, 0$ "'&Z 0"C]XY '-)&}'@ -C27[-)& 2y-)& Ï?- '&Ð '&· -)&2@"9% 3C'B'&+ &C-" ; 5.1
s -Experimental D ",&Ø).Setting X '-)&q@ -C2"1-)&Ov u u -)&@ Cpz Ù3AC @ !,&@'-)& ;1^H)M %-",&1E., &6 '&713* v +CaHLM,&-)Qccc2 ':E.-C6¸ù ~q 0%"'-)& "7 '6'&6
¿A~K* 6 0=?-Nw 23 ; sD+2Ø9% 3CK &C-&2q')FE. K 3 ;Oµ.C2 & C- 7AA'& 3Ùb@3,&, +-)&@+CA 2 7,Vðñê{à\Û #òëå õYÜï à%'&Då2ï ö îñôbÜòðÞ tAñôFñ'åà(ÝëîñÝ)ß;%<2 " 3b 0=C2! %-",&A ,&+-)&U3 'U -)&%@ &C-" #1E:@3,&2 K0d) 9-)&2y&2_,&'K;|xb& %-)z2_ )-,- #1C+& +9%,+-)&KC6E.]& -) 0$ I--)9 %;ísD-_ C, & z@' - &2 P '@3, 0$&2 26'&Z'& 3è 2C"-)&KC+S!'&I' D2OC2 A3`C¶
H'&qANI
'ù.9%,&`C"N;Zµ.C2 3] '1 3 -+0$ H N '0B 23!'&'&59%A0$ '&+-)&q Ð; µ.CA'% 74-H'&o»& 0$ ¼"0d3@ ",&: '0MC1ÔA~:>L '9 3;HcJ& C2ÔA~.{LØ 7#3`C5'C 'H-4, ,& 9+!&23" #% C " 23@ #%&2D )-1 '0M ' /,;cJ&w &{#% C ' %,= '&'-)&=b-3#C2= & 0$,&2.E.C2,=->E.3( 9)-C2># '&"H)-4 0% 2C ';=sD.@ &2,36 'M &0$ "0d3@ "&
'0Ô~.>LR3p0J ') EH;sD+ZE.-CO'&q9 -Z'C ' '&q '&U3,ZC6 ' % '&?-)&@Z-)& 0J '"3- '&K I0$ ' "3;4< 'H3`C5 2 %,#%E.H, C 3'C2 A& "1E.-C C]3'.-)&0$ '7 - '&O0$ '7C !'C2 ;sD6 '&-)&q & 0$ ?-)&@'C2 A &-):E.A3`CD" U - 2T'U3,D' C '#M ", CI 0*
vzv'C2 ;µ.C2"-)&@ZAK .C A, CD vç '&' &Ð" -)))- &Z&2 #2, ,&-)&@ ¹ Ð#)Ð ù6-)÷%,,&H 2 %,b0W |Ð ù# z¹ vv &-* 2"2C '; 5.2
dc &RCBinary - %,-Structural ",&TE. Joins 'q 'vsCPathStack
')--KÆk j ¨i jkl'm '@3 '-CÒ3@ -)&26 @'-6C 125 3p9-)& - '&_ 0A9-) &'D2'{X -)&26\¶;7<2 '!C-1 % 3#4E: 2Z+ & C-Z q+ '&--)&2@K 0+¶3Q # vzvv # vvzvZ&2 '&K-K-)0d 0$,&p9%, V G I Q IJJJI ^¬ ; sD"-2IC CO* , GXRSR Q RSRJJJ*RrR ¬ '&"U') ]-M2-)&@"Æk j ¨i jkl'm3;Mµ.C2,&{# E.U') 5')>9-)&' XY '-)&5 @-b -)&@"0d º' -)&@')= % -)9 X -)&q ',;7<>-@'[¶ v+C Eb1C",2- & -"H '0/')X -)&6 @'-#E.C2b C6 @3p-M, ,& E.-C"H92;MsD4 1C2 EqE.-C"H ')-")-)&HC2=,- '&5-"
'0BÆk j ¨i jkl'm #&26E.-C1 6)-)&21CA-7A-.'Nç. ! "* ,&-='&D U ACA-)& 1 3 P '9/,MS,; <2 1C-1* 2 #%Æk j ¨i jkl'm! 'NT
J 8Ð #2)-@CZ" '!C'& C]¶ J çS¸ 1'N&96C * ,&-.&D U ,rC21-)& 1 3 ; cJ&T & #{C2"3@'- 923D '&D9 -)&'Z'{X '-)& '&@ Ø0d 3Ò¶ù J ¶ [ T'Ð J vçS¸ ;onb "z6 '&,)- '&_-6C23
' - -a3- '&K "'&Z-! % '& "0$ '!9 -)&'q' X -)&2#-)&29 ZXY '-)&_ ',-)&@q'&K]-)&_D &_C23 -+7 'C'&_C-"6E. C2&_C2+9%] '&{;½nb &2 '&,)2- &-HC HCAC2 )--" @3"-b %,- 1 C] 3`CO 0b-)&@[9-)&2Z MX -)&2 0J '7'9-' X -)&I P4-)&OC -7 #M- -)&O" 6C2&ID- $0$ ' - U "&p-)&T,- '&O-"7 'U3,1C 9%1 @3C23 b9-)&2+'%X -)&2;
ìb)efb b)h \)he'b*gah s b)hzé¡s \)]f`^ab)ð`7^ad Q \)ef`;efkb)ee'k`b e'qb*^® ðªqerefkb)e_ì\z`7dh\)Äerb°H` er÷\)q¯ ]_e'` khÄ gaëzq`7Ä d$d'gah `;ï3`\)h^aé9b `Sdfde'k` j Ä Ä ÄSÄ gahì*` ±`Sd3\c$^ab)ð`S^ad3è]'`7d'`7hze3gah2efk`Ä ëzq`7]'é t
Binary Joins
Execution time (seconds)
60
PathStack
SS
50 40 30 20 10
üHýdþ%ÿ08²$ ³#$$ý½ !ý® H3¯v´MýF3 4µ*#%ýF3 °K#$ 3 !)ä·¶{ÿ3ý
5.3
dc &!C Paths: -M- '&7PathStack E.41C2.vs Ú6,PathMPMJ -,&1 '0C.?-)÷/,,&MC2 )- -1 C5X '-)&D@ '-C"! '0:Ï- &ZÐ;Hs1z ! 2 C FE. DU ,- &26 '0rÆk j ¨³Æ³2ì;qsD]qù3· ÖÑ &C-D 3 1EG-C9%, G IJJJ GO¸ #{'&-2 CT* ,-! '0:?-)÷% & ,&@ C;q<>-@'Z¶ ¶6C 'EH"C+,- '&K-7" '09% C `C& -* #: 1E.,)G 1C]-7"'Nç,&Z0$ !* 2&-''&
U3,6C]-)& 6 3 ;qÆk j ¨³Æ³2ìÌk2g Ëç® -"1`CO E.,6 'Ø DC+ ' - -aIÆk j ¨³Æ³2ì P @ ,&,)I U , '&O ',
0!" @& -S,;½µ.C2+3 '&K-5C23]Æk j ¨³Æ³2ìÌkg Ë® -5 '&,U -U !E.C2&]9 N N-)&@+'&" HU '{-".& &'" % '- &2H 0MCb P -)& G %,-" :p`C 3"¶+-"1" ' & C'&ÕÆk j ¨³Æ³2ìS,;6Ï -)&2]C %0$ ' 7'&. '0Æk j ¨³Æ³2ìÌk2g Ë® @' = '&-,'9"E.-C!C2=-a
0MCA ".'&+Cb,&@ CD 0{C2A-)& H* 2 #2E.H & '&- ,!C-A3@ "0$ C2A7'-)& ,! 0MC-b ' %;
<>-@ 6¶Ð!C2 EH.CA,2- &D-"1'&"&219%, 0MU') 3Õ0J '7E. 5- + CO* ,-6 U ,7C]& 0$ IÔA~:>L 6 P &2 3 CA @3'-C -6'! '&DCºy3 -S,;HÔb C+ %-)z2&2-)&2@Z ' %,- 9/E.,&I& -)&oC -6 #CHÆk j ¨³Æ³2ì='@ -C2| /,&2.12C6-"H923`N3`N-)&@ '&3 !U3,':-"!C263""U');5<2 '1-)&'& #M0$ Cb C* ," 0>,&@ CwC b-)&<>-@ "¶Ð #Æk j ¨³Æ³2ì4 E: " ',H '0="3@'&-2"" 1,"&AC'&DÆk j ¨i jklmç; 5.4
s ]&Twigs: D
EQ0$ ,"PathStack
'&oE.-@* ,vs -#HTwigStack &2q 3 'ef%ghi jkl'm @3'-)&"C &2-U 5' )-3- '&_ 0HÆk j ¨i jklm6 5 CZ9'&`C -)&5C2.0$ ') E.]9"!",@3b >;=^A=C 'E.&6-)&DÏ- &5· # ef%ghi jkl'mH-4 2-7'%0$ ':'& t',&'&b - '&C-) %# 924-=-G U'9]9% 2-"M0$ '= ',&t`C-)[ - '&C-) %; cJ&wC -- &>#%E.'&'a7C21FE. "3H, ' ; AUTHOR (2)
PAPER
A1 A2
A5
A3
A6
A4
A7
PathMPMJ
PathMPMJNaive
Execution Time (seconds)
20
15
10
5
0 2
3
4
5
6
7
8
9
10
üHýdþ%ÿ1Æk j ¨³Æ³2ì ¹H ÿ3 6Æk j ¨³Æ³2ìÌk g Ë® Path Length
sD]& E| 'Æk j ¨i jkl'm53@ '-)&+Æk j ¨³Æ³2ì;OcJ&O<>-@' ¶
AE.HC2 EKCH,- '&w-"A&26Cb&p9%H '0%& I0d 3è?-NK0$ + C_* ,- 0!?-)÷%,&+,&@ C}'&K &C-Z T6 '0"¶3# vzvv# vzvvZ&2 5'&y¶ vT?-)÷%,&+' 9/,;v4' #{Æk j ¨i jkl'mA A-)&D &2-,9 9/,H %, 0J '"&2!C'&DÆk j ¨³Æ³2ì#'&C-A-)÷%,,&"-)&, 1EG-C &2@3,Z C½* ,-; µGC--D '-)&9_C2Z0$3C Æk j ¨i jkl'm5"N7-)&2@[ " U3,6C -)& 26 #:E.C -) Æk j ¨³Æ³2ì%&> .923`N3`N!&2A 1 @3'-)&!'@34 % '- &2M 0 ;=<2 'H-)&'& #20$ A1 CD* ,6 '0M,&@ Cq¶ v #2Æk j ¨³Æ³2ì MC2=* -U',&. 0 zU =-"MC4-a. '0C2= '-@-)&2% # 3 ,&q-)&I<>-@ D¶
P 9%S,;Dcd&q<>-@'Z¶
P S,#>0J '! 23CI* ,-
0M,&@ CTE. #2C ,2- &Z-7
0.Æk j ¨i jkl'm1- '&- 9 T 'E:,!C2&qC 1 '0GC26* ,&-'G'&{#M'&Z, 3,7 Æk j ¨³Æ³2ì;Mµ.C -49/,C2U - b-:?A 1Cb0$3=C2380$ .Cb C * ,5 '0M,&@ CDFE. #CA&219%,r '0= ')- '&A-b3C2b@ P 7 '!C2&q¶vv# vzvvçS,#% ]7 A 0.C12- &q-"1-A2 -)&5 -)&2@7C2 ')- '&A&25EG--)&@"C9 N6 1-N%; < '1 '&@ CT* 2-#MC &219%,7 '0: ')- '&"-1 '&- '9"),#M&2C"2- &q '0:Æk j ¨i jkl'm1-1, ! 7* 2&-':'&w'&p`Cw" '1Ú6,-,&C2&DÆk j ¨³Æ³2ì;
A2 A4 A6 A3 A5 A7
YEAR
CO-AUTHOR
2000
PAPER
(parameter d)
YEAR CO-AUTHOR
(parameter d)
1990 PAPER YEAR 1980
übýdþ%ÿ(a) ã32 66ýdþ·¶{ÿ3ý(b) 6ÿ3 ¯_ýF!)ä38»ê (c)ýF Á$!
5.4.1
SS
A1
s ]zAncestor-Descendant D pqC]* ,ZC E.Relationships &Ø-)&O<>-@ D¶· P çSp U3,6-)0d 0$,&A &C-')D@ &2,3D 3];;43`CD 6HE.3 @ &2,3K 60W )r,&2q ;Kµ.C+z 692 0!C2 H&2 " &'-)&Z & +& A'9%, G I Q I T &2B ^¼3; µ.C21 '& 91 &'-)&&2 .'9%Á G I ^½ I ^¬A&2 ^¾3;A<>-)&') #BC2!C -)D927 '&-)&2T')M % 3-)9 "& ; v4'3#1C2"&I 2-'! )2- &2-)&_Cz FE. 92 9"C2 3+ [& ! 2'&Z 3 ')- '&{; nb&]C1C-)+92! &'-)&A 2> )2- &2;HsD1U'- C1-a
0=C2!C-) 91, -U3" "C1-a1 '0=CAz E: A0d RÀ¿R !
'·8¿ P 9%3 '&]C M % -)&.C2H&219%,: '0{ ) - '&49% "H A@ S,;=<>-@'A¶ P 9/SMC2 EIC.,2- & -"H '0/Æk j ¨i jkl'mH'&"ef%ghi jkl'm:'&"C2.&p9/,. 02 '-' ')- '&! CD'@3 '-C 2A9%,0$ C 7,@'-)&@+, {; µ.C26 &2-&"@ Ø9/E.,&qef%ghi jkl'm6&2ZÆk j ¨i jkl'm7, ]0d 3èC2+3,@3,&2 -)&@I')1 '-! ')- '&+0d CGz.FE. 1 9:EGC-C+. ,H- 6-)&CH",@ , P G RrR Q RSR T RrR ^¼SKÁEÂ P G RSR ½ RSR ¬ RSR ¾ S,;!^AA,&-)& <>-@'¶ P 9/S,#MC &219%, '0. '-H ')- '&" 2Z9 Æk j ¨i jkl'm"-"U ,H '," 0H" @& -+'@ 6C2&OC23
'0{CHef%ghi jkl'mH'@3 '-C+;Hµ.C2.&p9%H '0% )2- &2 1C2 * ,6 +9"9% Cw'@ -C27A-#2 '0B ' #C213" ; sD"C,&ZC!E.-@+* , '0G<>-@'[¶· P 9/SA'&@3,&, Z?-)÷/,,&" &C-6 31-)&qC2!0$ ') E.-)&2@TE. ;"^ 9%,0J ' #3`Cw 3 .-.10d)M,&'7 ;=µ.C2Hz .9 p& 1 '&'-)&Õ'&&2 1'9%, Q" '2 T ;"µ.C" &2 927 1& A '&'-)&Õ'&B ¼ '2 ½ & ;7<>-)&2) #=C2 C-) 9! H&2 3A &'-)&T'&. ^¬1 ' ¾ &2 ;Hµ.C2, 0$ #>C, -A& 1U ,&T+-)&@'6 ')- '&q0$ !C27* 2,FE.-@ # 'C '@'Cw C5 9 '&-)&2HA'@3b&p9/,H '0% '-> )- '&;6µGC""-)&Z-)÷%,&25E.-CZC U - '" %-",& -6C23"E.6&2I D" ,-)-aZ&I-)&,"?-3]X -)&I 9%,0J '6@ -)&@DC2"z&2H'&E.,;µ.C,,0$ #MC,]-1&
PathStack
PathMPMJ
6000000
25
5000000
20
Values read
Execution time (seconds)
SS 30
15 10
PathStack
PathMPMJ
4000000 3000000 2000000 1000000
5
0
0 2
4
6 Path length
8
2
10
4
6 Path length
8
P S =,- '&T-" P 9%S.Áb19%, '0=,",&b üHýdþ%ÿ0"rÆk j ¨i jkl'm¹H ÿ3 6Æk j ¨³Æ³2ìrÿ3 ýF>þÁ 43$!)ä3!ý®¯ ! !
SS
PathStack
PathMPMJ
PathStack
PathMPMJ
100000000
10000000
100
Values Read
Execution time (seconds)
1000
10
10
1000000
100000
1
10000
P S=,- '&T-" P 9%S.Áb19%, '0=,",&b üHýdþ%ÿ¢¬"!Æk j ¨i jkl' m ¹H ÿ3 6Æk j ¨³Æ³2ì;°K#$!)ä3Dÿ"°«#$¯¯vÃÄ2û ¯ ! B ! PAPER//YEAR
PAPER//YEAR//1960
,2- &q @ ]-)&@Æk j ¨i jkl'm!C23AU - !" -')-a,-)&@ !9 -@"-)&,"?-3 ;.<>-@'+¶ P S.C 'EHHC1,- '& -7]0$ !Æk j ¨i jkl'm+&2Tef%ghi jkl'm]0J '!-)÷%,,&6 -a P & =C8 3@ '-C -'S,;B<2 'BC2>3M 3b P E.-C7
'·3Ð Ö & S,#=Æk j ¨i jkl'm6 'Z&2 3Az &-C{#.-)&+C -)&,"?-3 Hz )D')BC21U'-)9 6 ! '&w?-N P r
Å } S,; 5.4.2
^ 1 Parent-Child -)&2I-)&OÏ?Relationships - '&O· #Bef%ghi jkl'm]-1& ! ' -"'.0J ' '&t'C -)q, - &2C-) 2;5s & ERC 'E½C 1U3,&Z-)&TC - #ef%ghi jklmH %0$ '"=12C69%,:C2&5Æk j ¨i jkl'm ;M< ' C 6 % 3 #1E." -)zRC* 2,-+-)&R<>-@ Z¶· P 9/S 3 -)&@+CA0$ ') E.-)&2@5 '&'-)&V:')B'& 'F,&'&1, 3- '&C -) /]" & &D9+ 23CZ 0.,&@ CZ9%E.&q '& &2C P C -1'&9%!`CN+95 ! 2-)&2@C"´ ® Ë® ¯ Ì §Í U)26 0AC" % -- &21, ,& - &2S,;q<>-@ D¶ùDC2 EH C" 0$ '!C6 %-",&B ; 4U3,&Z-)&qC" ,&2] 0 '&C-) '&'-)&#ef%ghi jkl'm.-. &2-,'9+7 'A0d z,-,&6C'&OÆk j ¨i jkl'm3;Zcd&Z '-,'#<>-@'¶ù P 9/S C2 EH C =CG&19%,: '0% 2-'% )2- &2H "9 ef%ghi jkl'm P C '@'CT&2 31 -)& -7'WSp-1")$;6µ.C2 & '&F -)&-"')-W-!U -) ,&A0d 3ÙC" 92,U3- '&qC 1C &p9%! '0= 2-': ') - &21 ?Z9ef%ghi jkl'm!- 3"-"1'@3,7C2&ZC &19%,1 0= > )2- &2! "C1* 2+E.-@; sD1' 5U') DC21* ,5 '0:<>-@']¶· P SH 'U3,C21& 0J 'KÔA~.{LQ Z;Kµ.C -6* ,I3N 0J '62C '5EG-C ' /,. 9 )-C-)&C1 *
vzvv#2E.C2 1C'U31 " 2C ' E.-C51 2 %,. 9)-C[-)&D¶¹ ¹ v#2E.C A-)&&]C : " C ':E.-C5b ' %,:-)&¶¹ z v ;MsDHU'"Cb) E.6 2C"-)&5C - '&C-) ÆÇSÈSÉ8e ÊÇ v É Ë8ËØ8Æ ÈÆúÉ2#-$; ;#MC"&219%,6 0 C 'H&26 2 %,HE.A'&U3,A0d º @-U ,&D2C '#0d 3 v P & 6 ')- '&Sp 6и;Aµ.Cp '!C2 E.&-)&D<>-@ 5¶¸?; sD!'&w C .0$ 1C1* ,-#{ef%ghi jkl'mA-A3@ -)&Z" Ú6,-,&C2&DÆk j ¨i jkl'm ;
PAPER//YEAR
5.5
PAPER//YEAR//1960
sD4&Sub-Linearity:
'Eq !C. U'&Using @3= '02XB-Trees -)&2@1~4FM . C6&26E.-@1* ,-;GcJ&! 2-, #%E..C EIC =C2.& 9%,= 0&2 =C23(&! .9%43A0d _C2=A~= P &-)&@ 9% 3C 0%'&1-)&,&2 & S(-M-@'&-)z2'&W""').C'&7C2 -a '0{C2.-)& #2E.C-`C52. 9$)-)&2'A9/,C2U - b-)&5 H) @ -C25;4^ME.=EG-)) #3A~=ME.-C"") & b' ,-- &D,÷%-U3,DN-) Z"&]04& #(9ACp&p9/,1 04-)& ,&'%& :'U3,"-.'@3 ;:nb&+CH C,.C'&(#0$ '='@3 & 6 23,--"C," 0JE.,-)&,&2.& 6 #>9 A~= '&&2 3]N-) O"&0A& !9%2CZ -! "7 ')- '&;s7 %,-"&')I 92-)&2ØC 9% AE.C,&+-)&2@6&2 !' ,--A'&@'-)&@]0d 3Q·" "ù3· ; <2 .CH %,-7,&.-)&+C-=- '&{#E.HU') 5?-)÷/,,& * ,-12-)&@Æk j ¨i jkl'm!'&Zef%ghi jklmç#%EG-CT'&DEG-C ' A~=;Hs1U-C1&2 ' ,-F '0:C2!A~4FG9/, E:,&
G&26¶ # v
·AU')M %,M-)& p& 3;4<>-@ 1¶ P S>C EH CG&19%,H 0>U)2= -)&5CHA~4F P , '3"-)& p-)& ,&'H&2D'0 SA0$ '!C6 31'&Z 23Cq* ,- Ø-)&oÏ- '&}; Ð;Z<>-@ Z¶ P 9/S C EH"C26]E.C,& -)&2@DC26FEG-@* ,D '0H<>-@ D¶· P S,#M&2ZC6 31 '0 Ï- '&Ø?; · ;1<>-)&') #=<>-@ ¶ P SAC 'EHC2 10$ 'rC2 E.-@* 2,1-)&6<>-@ !¶· P S> 'U3,=C4 &0$ 6Ô~.>LZ ; cd&Z@3,&2'$#MC" M&219%,! 0.& 1U ---)&qC"A~4 µ>"-" &2-&Ø7'),5C'&OC26-)& " 3-a]0$ " E.- "&2@3+ '0:&2 + 23,--;D<2 "C6 &C2-5 3# E.H '9'-)&+9%,..0$ 'H 6* 2-;Hcd&6C2 31- - '&#A~4FM'&" &2H-@'&-)z'&. % - '&4 0%C2.-)& ;:cd&+ '& #0$ .-! ,r* 2-#2E..&6 !@ ! ]-)& C ~4FA&2 #2-)&D"&+3H E.&D "Cp'U3#%-)& C,"'&O ')- '&- %,RC 2@C2 2CE.C2 6;<2 'r 3+EG-CD )2- &27 '&,&3 '&2 ,-)&+ % - '&A 0>CA #C2H- 23H '0BA~4F=-." ' -@'&-)z'&#{-)&2 "&]-)&,&'M& A&+9%!N-) %%;
Partial TwigStack
PathStack 1000000
25
100000
20 15 10
Partial PathStack
Total
10000 1000 100 10
5
1
0 8%
9%
10%
11%
12%
13%
15%
17%
20%
8%
24%
TwigStack
100 Execution time (seconds)
TwigStack
Number of solutions
Execution time (seconds)
SS 30
9%
PathStack
10
1
0.1
0.01
10% 11% 12% 13% 15% 17% 20% 24%
3K
9K
27K
Fraction of data set with solutions
81K
243K
P çS42- &Z-" P 9%S.ÁH219%, '0= )2- &2 P S_=,- '&T-"p0J 'H" * , übýdþ%ÿú"1Æk j ¨i jkl'mM¹H ÿ3 6ef%ghi jkl'm9°«#$!762#B!766ýdþ¶{ÿ3'ý
Fraction of data set with solutions
SS
TwigStack
Partial TwigStack
PathStack
Total
100000
Number of solutions
6 5 4 3 2 1 0
10000 1000 100 10
9%
10%
11%
12%
13%
15%
17%
20%
24%
PathStack
10
1
0.1
0.01
1 8%
TwigStack
100 Execution time (seconds)
7 Execution time (seconds)
Partial PathStack
Data size
8%
9%
10% 11% 12% 13% 15% 17% 20% 24%
3K
9K
27K
81K
243K
Data size
P çS42- &Z-" P 9%S.ÁH219%, '0= )2- &2 P S_=,- '&T-"p0J 'H" * , üHýdþ%ÿÀ>"1Æk j ¨i jkl'mM¹H ÿ3 6ef%ghi jkl'm°K#$2 3 "!ÌS®¢äMý߯!S66ýdþ¶>ÿ34 Fraction of data set with solutions
6.
Percentage of data set with solutions
RELATED WORK À -)&1 -)&2@1->&' H 3'9 .- ",&3- '&D¶Ð'F; < '1-)&* 2)-+XY '-)&q &2-- '&#M92&26X -)&K ¹M@ '-C"" )-9 WAE.C,&6C,. -=bz"-C2"-b-)÷%,&2H9%, FE.,&5CAU') '02XY '-)&3-)9 ;GÏç`C5@ '-C"1b& )-9 WA-)&5 'H 3"'-)&534C,b-M& A&2 3- '& 0%z27'-C 7-6?-)÷%,&2 ;DcJ&TC" '&
0H 23-''&Z1 -7?- 923#%CA 9 í '0B ! -)&2@1X -)&2H9%FE.,&5 2-)b 0 -!,&--"C "9%,&o '&-,%#1E.C2,5 7" '&IC - 6 04-)&,A-1 'U3,' T9%E:,&T 23-':,&--6\¶· # )
v #%¶2-)&5p-) -",&- '&;Hµ.C2HC &-* AU ' %6-)& C-. 2 %,'H, + !2C!X '-)&w ' %,3- '&y; Í 'E:U ,#C - " '&-,q !E.,): 1C6`C&-* 27E."U , 1 %,-= "CA&23 ! '0= %X '-)&5 9 +; cd&RCq '&T '06!-2º'&Q 923# * ,KU)23- '&º'&y 2-!-a - &QC +3 yq + 0 'CR3,&- '&{; cJ&K '-,'#!E. NK '&-)&_C2D> Ô~.DÏ+)
¶ #2¶ù #2¶¸F#'&6C2HÁH- @ Ù¶¹'F#C23. '&- "U'- 2H /= '0{* 2p -)&@" '& 2C5 3 ;M !'&"U'- 2.-4-)&5C,-)H '3@ =E.,)%34* , ' -)&2@1-)&2@1, - &2{ 3'9 A"8CU .& 9%,& '&- ,]-)&D\¶
?#
· #
'Ð#· #¶ v #¶ ¶,F;=cd&¶
#
'·#2¶ ¶#çC2H" -)&@ '0=Aq 5 ]"&p9/,! '0=, - &2!E.3A &2-, '&@E.-Cq&23- '&O '0G 9! '0HI* ,-! +,' - &2H* ,-;wcJ&T 9* ,& E: 'NO)
Ð #{· #=¶ v'F#{C2"2C ' '&- ,C2H 9 | 0> 9)-C-\&@+ ,",&.0d 3 - '&'7 '9 ;ºnb 6C ')--X '-)&_3@ q0$ ' * 2, FE.-@ 23,&A&U ,3@ !C2A U - 21`C& -* ; µ.C4, ,& - & 0( / -- '&H '0{A5,"&6Âél Ä°=Å i jk ªjÆ©Ç}Èæú ¬ °Æ©ÇMÅ!´ ® Ë® ¯ Ì §Í{Î(-M,&-)]C M 0%v. & &21&2D+-) #{E.C2 6 &2-,Z60d @3",& '0:C2!L%^4µ_ 'C -)&@ %,3 ' 0$ 1-)&2 -)&@Z! 3'9 5 ù#M¸#M&2 -,+ 2-!-a - &ZC& -* .0$ ':Cb@ ,9 ;:µ.C -4 ,& - &ZE.3b " 3 2! '&-)&27,&p - '&C-) 2
9%FE.,&_»Fb@'- '&¼+-)&TC2!H 3'9 ;rµGC10$ ,A '0 C HE. 'N5E.3H '&C -'M-#EG-C 'A'9% -)&@ '& ,Ú6-,&A@ '-C"A0$ -)&2@5C2A - '&C-) %; <>-)&') #6CZ,&E: 'N '0]¾C'&@K$;")
3¸!&2R^H) ÖAC')-)0$6H'$;{\¶M1, ,6, " ';.µ.C" % 9-)&2+ X '-)&w'@ -C27A = - --U3b0J 'H"3`C-)&@ * ,+FEG-@" ,&;Hnb^b@3 '-CÑÆk j ¨³Æ³2ì.-A"@3,&,') -a3- '&K 0HC]L=D¿1À ÁQ@ -C2è 0
¸. 5" Cq* , C#4&2T^b@ -C27"Æk j ¨i jkl'm6'&Zef%ghi jkl'm66@ ,& ,)-a - &2D '0!C N$923K'@3 '-C" 0"¶,r Z" C * ,] CA&25* 2,5E.-@ , %-U ,3;
7.
dc &RCONCLUSION C-+ 2 %,DE.U3, ' % C ')--X -)&R@ -C2"0$ "3`C-)&2@DAO* 2ZE.-@+ ,&#M ] %,3- '&O,& ' A1`C6 0%A* ,1 -)&2@#9% C60$ M&23-U HA * ,I 'D- ",&3- '&%Z&2K0$ , - &26A * ,[ ;DcJ&D '-,'#:^b@ -C2 ef%ghi jkl'm6E.3 C 'E.&5 A9%rct nK'&5v.L4xK 2-">0$ .A@ 1,3. '0{* , E.-@ &2#%&26 3-')D,Ú6-,&; µ.C, -!" '" 6,Ú ,-,&!AI* ,+ -)&@C'&T- E.-C -)&_C % 0!C -" ' %;RsD+C2U +-)&-- R,÷% Z3 7 0!C2-;|nb&`CK--)&U U C] '013 )-)Nç « ©¯¯© f%g ¬ Àh ÎÇ2g`±¯2g ¬ h"-)&oALM Co - '&#H-)&K -- '&} C" '5 7" '&ØKl'¨{g¯ °&2 ° ® Çl ®'¬ °k ¬ j+3 P q-)&_C -6 2 %, T %,-)0$KFE.-@ 23 ,&S,y; Í 'EK'&DE. &2E.A "LM C - &2 E.-C`C53* Ï[^H&2 3C2.-21-)&U U C2H -,-)&2@5 @3C2
'0MC ')--6FEG-@X '-)&AE.-CDU'),$9236X '-)& P -)&,)?-)&@+)-)& N A ,",&SH 9 -)D,÷%-U3 * ,6 &2;
SS
TwigStack
PathStack
TwigStack
PathStack
300000
30
Partial Solutions
Execution time (seconds)
40
20
10
200000
100000
0
0
0
1
5
9
13
17
21
25
29
33
37
0
1
5
9
13
17
21
25
29
33
37
Depth of candidate papers
Depth of candidate papers
P S =,- '&T-" P 9/SGÁH219%, 0M 2-'= ')- '& üHýdþ%ÿÀ]"1Æk j ¨i jkl'mM¹H ÿ3 6ef%ghi jkl'm#$ H¯ ! ! PathStack-XB(Internal)
TwigStack-XB(leaves)
PathStack
700000
1000000
600000
TwigStack-XB(internal)
TwigStack
TwigStack-XB(leaves)
400000
400000 300000 200000
200000
2
4
8
16
32
64
128
256
512
1024
1200000 800000 400000
100000
0
TwigStack
1600000 Values read
600000
2-Path query TwigStack-XB(internal)
2000000
500000
800000
Values read
Values read
PathStack-XB(leaves) 1200000
0
0 2
4
8
16
32 64 128 Node capacity
256
512
1024
2
4
8
16
32 64 128 Node capacity
256
512
1024
P S.LM CD* , P /9 S.µbE.-@"* , P S=µbE.-@6* , üHýdþ%ÿ8s"MÐw ýF>þÁÄ^ÌS!) Ñf -ÒBÓ^ÑÔ´Ò966ý!)ä 34 $!)ä3!ý®¯ ! B ! SÓM H3¯ÕÑf®Ò966ý!)äqÿ"°«#$¯¯ÃÄ9Mû ¯ ! Node capacity
8. REFERENCES ^ ØOÙkb)^ag cíb b)i)b*ìgad'k Ù\)qìb*d b)ef`S^ ñ ÙKò×Ö t ç ]fg b)dfe'b b jBÚb)ht8ì^Û;Þ tÜ q ef]'j q ª e't q]fb)^à'\)gahjrd Üt ÷ èt ]'agas gaefg j `3cí\*] ÝX` á t Ö ga`Shp e5® p j ëq`S]fé;èt8b)ß efe'`7t ]'hÖ s b)Ä e kgahi hãÞäÔç åXæEçHçHèéêrëìp åíïî.ðSç Ä ê8îOç ÷ äê¯ óîéOåêóôõ1åê*íçäEçXêæEçå6Ä êMö^ótÔîOâ ó êrëéêçHçäéêrë j÷B÷Sj jñ ×ò ÖñHòòò \)b)ñ i Ý kb)s¡ð`S]f^agah [`7]'hb)hì` ú Ý ò [$^a\)]f`Sd q j t ÷ tSø \)ðga` j tùÖ gas `S\)h b*hì j ÷ t Ö ef`Kcb)h`Sd Ä q^j ®3ü_t q`S]fé Ù Ä ÷ Þ$j ç h ®ÜSt ÷ û ¯ ü_qÀj `SÜ]fét ¯ b)hi)qb)j i)` t \)] Å gahi Ý ]fbce çrp b)gat ^ab)ð^a` c]'\)M sîkefe'è ïïï ï \)6t]fi ß·ýrù·ß ±zëq`K]'é Ý ` jt ÷B÷ Ù ]fqh\ Þ Ã)à Ù\)qt ìb*ýd t à þ ]'û g à b)dfefb b j \)^agaÄ dfte'g ït gai \*gahd ñ ý ò ª èÀt efø gas b)8^ ® j ª t b)efe'`7]'h j Ý t b)Ö e kp gahi p çHt æÚ ðBê8éæEóôy Ä þ ç åäî Ü Þ ÿ õåô é.ó ÷ -ê8¯ é a çäìé,î ÷ ÷ b*] Ä k Ä j÷¥÷rj t
b)]f `Sé Ù ga`7]'hb) h t Ö kb*hsqi)t b*dFqhìzb*]'bs k` gae'b ñ ò ÷b)ht ì ù q ð f ] ) b s b)hgab)h rj ® Ü¢t gaìì^a`7ïêb)j ]f_`t c\)Ö ] Å j j r ¢ Ü t Ö Ö ÿ a ç 3 ª þ Þ ÷ èqð^agadft kgahir\)ðSàf` e3]f`S^ab)t efga\)hb)û ^ìb)efbb)d® ì\ qs `7hzefd ÷ ¯ Ä ãäÔåæHçHçEèé,êrëìMåíÄ-ö j÷B÷B÷ t kb)s¡ð`7]'^agah j \)ðga` t b)hì [$^a\)]f`Sd q ürqga^ae h ñ ò Ý® t Ý tëù q`S]fé^ab)hi*qb)jBi)Ü`3trcíû \*]k`Sefj `S]f\)i)`SÝ h`7t \)qd$ìb)efÄ b;td'\*q] `Sd Þ$ç h ÷ ç ¯ ö ê*í6å6ä óôãäÔåæHçHçEèé,êrëì j÷B÷B÷ M Ä Bt â \)hñ d'`7hd b)hì a g a ^ \ è f e a g s g S ú a g h i ë q S ` f ] a g S ` 3 d ) \ h
^a`7d h j t ñ ò ÷ãäÔt åa æHçHt8çEùèé,êrëìMåí^õ"!$ þ t# ÷ !(t 'ÿ ö Ù * ) ) & ñ % d"t cí\*]ëzq`7]'égahie'` ±ze tBâ ) \ h ' d 7 ` h d ) b h ì a g a ^ \ a ^ ) i 7 ` ð ' ] ) b j ñ + ò ÷]f`Si)t gaa \*ht8dù hMãäÔåXæEçHçEèéêrþ ët ì÷ åíKî.ðSt ç,ç ^õ-!$# å6ìé å6ê ãäéêæXé t ô çâ ì×åí_ö^óîOó óì*ç/# ìîOç ì Ù )*) . `7q e'd k [`S]f hb)hì` ú Ý [$j ^a\*]'`7d t q ` é b)hì ñ 0 ò ç t Ý q gaq Ä ® j ÷ t ØEü Ä `3cíj \)ç ] t ® ¯ p j b)ga^ab*ð^a` z ë q 7 ` ' ] ¡ é a ^ ) b h ) i q ) b * i j t Ö kÄ efe'è t ÷ ï¯ ïï ¯3ï Þç \)]fi ÷ ¯ t çrp cÝ ]'\)t sî ØO±s ^ ØFëz^ M 1Ù )*` ) 0 b)^aqb)efga\)h Þ Ã)à b)qt i)ýktef\)h à b*þ hû ì à ª ÿ þ kh`7gaì`S] taj hO ` a g f e e ñ )ò Ý\c$t hÝ \)h9ß `Sëqg 8j à'\)Ügat h¡ª b)^ai)\*]'gaefks j d ãäÔåXÝ æEçHt çHÖ èÄ éêrëì åí^õt ç "!2# p t !3'ö ñ*% t j ÷ñ Ù ò ÷ Ù )&)[Ù t`S]fhb)hì*` úb*hì Ý Ö q Ä gaq Ö ga^ Å \)qe'` Þ þ ]'b*ìgahi;ð`7eFïê`7`Sh ]f`S^at b)efga\)hd$b*h ì ® t j÷¥÷Bû ÷ ÷ ¯ t \zt4 b)hì98 `7] 5\)e'7ef` 6 j b*^aqt b)e'gahiëq`S]fga`Sd3\)h Ùñ )ÙKò þdfe't]fq [$gaef`7qð]fgai; `ïgae'k9b ÷ `Sdfdd'qÅ èè\)]':t e" ]'p `7^ab)e'ga\*hd ãäåæHçEçHèéêrëì åí Ä ö j÷B÷¥÷ ÄSt Ä ç t ëzq`7]'égah< i ® Ùñ j ò ìÝ b)t ef["b;^aq\)]'df`7gaj hd Äi;q b)b)h ht ì Ý t ÙM\*d'dfs b)h t Ö ö^ef\)óîO]'ógahiêrb)ëhé,ì ÷ îéê¯ ê E ç X ç ä é r ê
ë ôô çM ò jBj ¼ ¾XÞ j +1; Ù )&û )*Ý ) ÷ ø Ö t ñHòòò j Ùñ ý ò 8 t 8ý]fb)`Kc` ý t ü_j q`S]fé t ` p b)^aqb)efga\)h;ef` Ä khgaëq`Sdxcí\)]^ab)]fi)`_ìb)e'b*ðb)d'`7d t
^õ"! õ1å î.é,êrë=# ä ç ì?>/åô å qh` d3