A Dictionary for Approximate String Search and Longest Prefix Search Sreenivas Gollapudi
Rina Panigraphy
Ebrary, Inc.
Stanford University
[email protected]
[email protected] " 0 #y 0L ;M>
*:- ? 45)$DH
ABSTRACT
! " #$% #& ' ())+*,
t 0L LE 0B#E4D) ? ?TaA 0L L /°*,= 7 ??2M"?5)6NB
( -. / 0&12 31! 45)$' ( -67 /$82*,9
*J0 A1 L ?63) -@C67 0&? ?H.I !3635?L[T
*,:*;6??@67 0& -A ( -CBD$@ E*FG/2 ?HJI
-?!& L[T
??" E8 0L / # HICB" 0 @ / d
0& 3 ()!)K/ L CB=) /@3M"N #& B" 0 N ( -
E?? ?D
:J @²0³F´µ¶·¸&¹
Bt{??:t{A ( -
12O L -? (?6363'M>P12O*FQ0 ?HSR? M9 ? L L2$DTD1 C = #& B :0*VU & 6W ( - ?T? &C0*VL -70*
º
A4D)$ 0"dA BL 367 0&
0"d)dAL (9 º ? (N67 0&@745)$d" #E63 63 e?? z E (& 0?H+I
XAY[Z@\ T+ /]/Q^*F06_ ( -. / #! .4D)$
¹²³FµK²³,´&µ¶0·¸&¹A A ?6363P63 C) /P ?#3 ?L
( -" 0 `a! *;6b2 ?L ? (.67 #!SB5$ScG?2 d) (9
0 DN*13 )N ( -H»E P>??L L ?DN> 2 '*
- 8 0& 8 ())^0*EL / #d e?P S4D)$ 63^/4D) L
/> 67 0E ( - 67 0& -TaK/ = z*F?^¼ /½#¾
\ HyI J63/ J 0z2*{cd| T gXA f Y L -hUjiDk lmn"opq rts(uVvw i(} vw x k lm i(} ?y{45)$: 63~ + Y(#\ HI * - M/ D K& 0u ?
C*,??? 11 H
0 : 0z & La 0L / #
1yc3 67 L L?L 0 :
× ¤
¿KÀÁDÂ,ÃaÂ;ÄÂ;ÅÃ ¶·"²
×
H3ÆÇ¹CÈÉÊ;ËOÉÊ,Ì?Ë?Í"ÎÏÈÑÐ!¹!µ[Ò{¹¹!·Óµ[Ò{ÔP´µ[Õ!³,·5Ö´
³F´ µ,ǹdØE³F·³FØEÙ5ØÚ·Ù5Ø3Ð&¹!ÕÔ(Û¹²0³Fµ3Ô!ܹ!Õ(¶µ[³ÝÔ·´+Õ¹Þ
*,: /> 67 #zL -? (!M>C / 0&H
i × ¤ µÔ × ÆÇ¹@¹²³,µ=Ô!ܹ!Õ¶0µ[³ÝÔ·´C³F·"¸?á Ù²¹ ß Ù5³FÕ¹²µÔµ[Õ¶·´,ÛÔÕ!Ø ià ³F·´?¹!Õ&µ[³ÝÔ·´â²D¹á ¹!µ[³[Ô·´â~µ[Õ¶·´ÜÔ0´&³,µ[³ÝÔ·´â1¶0·²3´&Ùдµ[³Fµ[Ù5µ[³ÝÔ·´ à
1.
= 0L / # H{J 5!? ( -A ?; 0Lj/ 0 =
NǶØEØN³F·5Ö
Z
H~ 63L /) / 07B:) ?3KB& C 63 L 0{? )L2
ã~21 (& 0?: L -0 63
/ CB: ? L e?/@??" -K
INTRODUCTION
RD -+67 0& -@ L L /1 - ?T1 &P E 0L 5#1.
0#> 67 0J ( -E67 #! -K 1 0 D?-& 0La" 0* 0 *,9 67 # P ? L ($ (?61 - AB /P8!3? ?D
0??? * ??2M"z *F67 # *;6L 0-y?L L ? J0* #& H I1 h JL 0& :*{K E
#/ z*"3? ?D~D? 0*jL :45) ? ?H~IJ e?:0*5 /$a
0& y?L L ? 167 !> 0K ( - 67 #! - $d>? H7J/> 67 #N ( 67 #! -K L L /1 1*,
5 ~1 L z ? -KJ #& B" 0 J*, 0867 0& ?H8J0A 0/ d1 /> 67 # ( 67 #! -./ 0Bd L /O 71@d 0& 0B" 0 2 ?L2*= !) : #& H1: *=)L #: 0L / # *F0y />59 67 #y ( -A67 0& -E 1 ?L L 9&?&5 -H 8 ATh+ 0L2$8 0/> 67 0 ( -^67 #! - z*FL L /1 -C4D) ?
9
²³F´µ¶·"¸&¹=¼ #ä/¾ H ¿KÀÁDÂ,ÃaÂ;ÄÂ;ÅÃ
ä HJåg´Ü¹¸³Ý¶á¸&¶0´?¹AÔtÛKµ,ǹ3¹²³Fµ
²³F´µ¶·¸&¹!âÒǹ!Õ¹
µ,ǹ@´µ[Õ!³F·DÖ´+¶Õ¹+Ô(Û+¹ ß Ù¶áJá ¹!·DÖµ,ÇO¶·²^µ,ǹ¹²³FµNÔ!ܹ!Õ(¶µ[³ÝÔ·´d¶Õ¹ á ³FØN³Fµ¹²µÔ.´&Ùдµ[³Fµ[Ù5µ[³ÝÔ·´âA³F´7µ,ǹ7æjÍç.çÊFÎjè°ÉÊ,Ì?Ë?Í"ÎÏÈ ÆÇ¹ à ǶØNØE³F·DÖC²0³F´µ¶·¸&¹=³,´y¶á ´!Ô7¶AØ7¹!µ[Õ&³Ý¸Kµ,Ƕ0µ{´!¶µ[³F´;é¹!´yµ[Õ&³Ý¶·DÖá ¹=³F·Þ ¹ ß Ù¶á ³Fµ[ê à IJB" 0 h*F 0L LBL ?63 { 5L 5 -K ( -K?63 0 {?L / L" #N67 #! -BL ?6G1!? A / 0& *F0J N" #Eë @ E- ?C!> £ H~Iy 0B#y!M"?C63 ? *F06S~! (h*67 D$: /> 67 #~ 0y67 #! BL ?63 ?H ì7ííî ÊFÏÍË/Ê,ï"ÎðÍñ#È5Í"ÌK91R63K*hN L / 0 ^ 0/ 0 y*{ 9
?N 0& 0B" 0 ¢*UA63
^#00%505O z¡ £¤¥£ ¥?¦¦?¦?¥£ TDM"A)2* =- 4D)$3§= / 0 { 3 i n #& B H
?8 dL; #- !>A©ª*63 ?T
^D/0¨D5D ^¡ M"^)EC0`a E0*J d- ?P& 7N0&' . >5/H
^«0¬D50S¨¨"0D®0¯% N¡ ? N ! " #$0*¢°0* U363 £!¤?¥(£ ¥/¦?¦?¦?¥(£ T0M"K) 0L L63 N{ #& B" 0 i n
/> 67 0h ( -z67 0& -: #?63)& # " 0LB L -0$DT - L D? -T" *F067 0 ! 0LÝT " #?-2 H t%?63)& 0 LyB L -$DT=òzó:ô /4D)??? @/ 0SB ?? Y KT~I:T ¡ T õ
\ HöVD5 -d)67 0&? yd +4D)!$ ?45)?C N . 6309
L 0-@>5 30C O L B70*z*F)C! 0& 0
& Dh {0*a-?63 ? ?H»~> 63L TD E> ~67 0&E)L - y *F67 # @ 0B)z 2 *z-?y /4D)??z -?63HÓO 0/> 67 0@67 #!8?)L O- +07 9 *F067 0 )& y5)6NB:0*{6N)& #
Y ?2 \
N-?
/4D)?HR5)"5$ -y2`a?? ~B??Ayòzó:O /4D)?? *F063
zB J0*67 D$7 () ? 1 @?L ) " #$CB L -0$DH
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. CIKM ’06, November 6–11, Arlington, Virginia USA Copyright 200X ACM X-XXXXX-XX-X/XX/XX ... ± 5.00.
td *,67 # ? L[T ?L L!?!5 -C = L dB)z 6A9 & 0Dz 0L / # d*h /> 67 #y ( -767 0& -H1öDD9 -3) )B ( - + AL 0-=!>0:?L L d*~D?)63?D *;?@) y /> 67 #: ( -E67 0& -=AB& z`a ! *y+ )B ( -P .?L 67 0&O O+L 0-d>5/HGJ9 1 63& 05 0L / # @
/ L! 0& !
??-2
1? yh -2 e?/z>5 V*;?=" /
0 ?HR? 0&9
-@1 ^ ?T?2E ^74D)$ ( -+0K7 #& B" 0
0E?- e?@ 63 L; #2t$'*J ( - A" 0A 05)?/PBD$P *F!G ! 1J?L 1*,6< E- @ ( -H
( -T") ? /> 67 #z ( -A67 #! -H JN 0/ 0 A )&P 0 E ??)2t$?63L /$. 0#> 67 03 ( 67 #! -d 8 ({&&!! N1!? 8 (0& 3 #
&!?K 0- 0 (~ L (0* L /
9 ??)2t$: (0&N ( - j" #
1.2 Contribution of this study
:)J? )L2: = 7 0& 7 ())K 0y) ? :L / #= " 0?A 0"
\ 63
*F
K 0& 0B" J*V& 9 # BL $ÑX3 f Y L -{U iDk lmno p5q rtsuvtw x vw 6 ( - ?H ^M"d S0*N& 0"6 ( - @
P
#K??63?C5)L & BL JA& &5 -ABD$C67 L ? ) J) ?H
-
J>5
H ^y?63 (& #JJ3? ?$C*)1 0&
1.1 Related Work
1 ?! T"{y? 51z (& 0=*y 0J + />59
()!)zBD$C> 63?D
EL 0-= 0* ( - ?H
^EB L $dL; 0 2*,$> ( - L 2& 09
67 #E ( -67 0& -H
)y /> 67 #z ( -A67 #! -E DEy/ 0?- ? ?H
Í"Ì?ÈÉOÌ/Ï0æjÈçÈÌJ9{R& LV ()" ? 1 )--? (J635 ¾ HhI K67 7 ( - {KB29?0 { 6363 -y ?N¼ ä T # ?D; 0Ly / PB? -P 0- ? )!% 0?6EB/ -T1?!9 45)? *, /> 67 0^ ? 0&G S 6363 -' ?/ SB ? 0 /%0 ' ( - ?HI63/ )d*K-D5? @0*
0'?6EB/ -+ N) )" 0L L $^*F?' @²³F´µÔÕ&µ[³ÝÔ·HPI E
0L 5/1^dB370
Y 0 A @6N)L2 L / 0 3*[ 0 \
5)??8 (& ?? A1 L & 0 (*F063 -*;6
h5¼ ½/¾
?+' 0/H
9
63
)--? ( . 63L 0!
B / ( -@ -L - ?5= ( - y D ?HCI / y 5 g D)63?D= 0 N C K*1 0L Lh2 y )B ( - =0*
?& L -VH%I!$O #-)@" 07 63 L 0CD?)63?D 3 #
09h *zC LK¼ ä#¾
L ?L2$'^67 08^ 63 L 07 ! ?H
>5?"
1! 4D):A5)?zB29?!
12 ?0 / L-) 09
/\ H!??5L2$DT XAYä#" k lm$k lmk lm$ \
0D??
!$@ 0! E 7 (0 d* XAY
7 63#/.BD$: (#5 D$P7 0LK¼ 0¾
) -y635 B" 0 /EA?) 1 -L -H~" Et9
%
\ ? ()!K 5$P¼ !¾ ) AL D/ L 2t$ ? 3 - Y öjR ¤ ¤ \ T1U7 {L ?-N*" f Y U 0& : ())h* e? XA ¤ ¤ F¤ °¤ \ f Y U !> 0" : 1 A (0 *[ 0J 0" XA U 1
2 *)
'& (
+(-,
'&/.0 '132
y)1B)7*,y4D)!$L ?-VH
ñ0Ê,È
) ? y ? 26
Y )A>+? \
@ (AN>5/H7IA / 0&P 0L -9
1 ?3N? L12 BL z
) -N$" 063
6
-0& 6363 -.¼
T
¾ HdI767 ^ D& 0-7*
? K K
? 0&N 63h "???D0*{ e?0*h>5/HI5) ?T$ XAY c5U \ 1 L zz /& 0-z? z
XAY[Z@\ HI= " 0?K?63L !>2$ JL / 0/HJ:@y 63yT y0*z ) 12 yB" 0 /?& 45)?
" 01z9
-Approximate String Match
IK 0/> 67 0y! +*= ( -367 #! -ABL ?6
5L ? L L #1 -A)Nc30 1?C?63) -=J/ 0 (
Q
SRG?0E 3M"2E 0L " 0By#J1 !dK ( - A #& B J 0JM/aH»0?L 02$DTDL THUWV RX2V Hh»0 0D$ ( -*Y=Z[R] \ T{=?zyL ?-@0*y ( -EB5$DV Y^V 0" Y_
X[` 9Ý &" #& !J0*aY T5*Fb`a. Z ¼ ¥ V Y^V ¾ H% )B ( -A*-Y *,6]&" #& !c~ ` 3! 0& !]3 d :?0/@BD$eY_f f Dg H ¡ ?+ #& B =>5bhiZ5R]y \ 1 KL -+ JU. @ 34D)$ ( j ZkR \ 1 dL ?-0O Z TdM"dc59 /> 67 0 ( -A67 #!
67 0& C A- d45)$DH ^y/G*,67 L L2$dM"z JB9 L ?6@H=öV
E5Hml³on¹!·ph=â j âK¶·"².¶·¹!Õ!Õ(ÔÕEܶÕ(¶Ø7¹!µ¹!Õ3caâ ]0n ¶Õ&³Ý¶·µ[´1Ô(Û j ³F·XhÓÒÇD³Ý¸&ÇN´¶0µ[³F´;Û!ê Yj ¥ h_f f g \Qq c.Û?Ô0Õ rq ` q U ¶·"²sdutv`âEÒǹ!Õ¹ Y ¦ ¥¦ \ ³F´µ,ǹ²³,´&µ¶0·¸&¹ Û!Ù5·¸µ[³[Ô· ·Aµ,Ç5³F´~´µ[Ù²êâVÒ{¹{Ù´¹µ,ǹ¹²0³Fµ²³F´µ¶·¸&¹¶´¶:Ø3¹¶´ÙÕ¹ àw Ô(Ûz´µ[Õ!³,·5ÖC´³FØN³[á ¶Õ&³Fµ[ê ¿KÀÁDÂ,ÃaÂ;ÄÂ;ÅÃ
Õ¹!µ[Ù5Õ&·@¶áFá5¸?á Ô´¹
à
»0cD9 /> 67 # ( -y67 0& -TD 0L L /1 -=*F0{ 631 6A9 ? . E? )L z )L2/ dE?L 63?D:*
E9
6
? ?DK L -263 3¼
mx
T !¾ HCIA 63? . 0 ? y*;6ª
" #& 63!j z h 0L -263 1 &= L L /1 j*F0 6367 #!?
, x
" #3 # 12 8c Y(
\
(& ?*;6
@4D)!$DH.t.
()"5$DTA/ 0 )L #3 /> 67 # dBD$+E!y 0& 63!9 JcH
M"'67 D$.) ? 3 ? 0& -.L #-@?L L ?HI{ (9 ? =4D)$E 63*F0 K :
c
2.1
5ÍÌ?ÈÉÌ/Ï0æjÈçÈÌ:9{IK : AL !& 30*" 0
4
2. PRELIMINARIES
ÈË?Ïæ
sy
t):M"2 0* 1BL ?6@T5=" /y E 0$
*
63 ?T 74D)$
j
(& 0?c.*
j
0 *F0y L L63
12 3" 06363 -
z?=?
HI) ?T*FEL 0-C>5 K1CU
/ 0ÓB?63 / 58 P *
Z
Oh T
( - @ 0" (/
*,67 0?A :*,) 635& 0L L $ ?d 45)$@L ?-VHEI*,
8 0$1 &S? %?%B.4D) /VH*EU° 09
L #-74D) ? J?"+ /E CD=!*F67 0?N?63 0/
& LL ?-0*K 0L L63 3 O+ " 0$DT 0O/ #L !? )L2
y !NB" 0 /N?&;4D)? ?H õ L 1h L¼ ¾ # ?0 / L
0(
1 k lmn p k lmk lmn , Z ,;: \ 4D)$d 63A " -)" #& D?? K* XAY v 798 0 1 XAY U (+< k lmn p \ ?T1!=) ¤ >)
#y? (& D =? H i 798 @ î ïaïaçBA1Ê î Ë?È5ñC Í"Ì?ÈÉÑÌ/ÏæÈçÈÌA9zJ0E #& + ()) 0 " / )/% #?D *K? / #!Ó D{ L D6 M"L29 !A¼ E ¾ Hy: zB?@1;?L2$d) /+ d0@ L / 0 3¼ F T G T G ¾ HN" 0 EB?.) /. ( -D?? -8¼ F T E ¾ H^JL L{0* ? A () ? z ?H{ L D6ªML !K = 7 " 93? ?D 0& ' ())8 0 (!+63?6EB! 4D) ? ?H
I^ 0&
())`a! = )?? {?? ?D& 0 C0* y C 0L L /1 *,=63?6NB 4D) ? J1 $d 67 0L L*[ L 3 = " ·"ÔK*F L A- 0 ?Tj[H H TN ())=1 L L~?J)+) 1?+4D)!$ -E*F0z E636EB 0JD > (: z /H
Iy2 ? ^ DJ 2e?67 &!3¼ K0¾ E -& 0L e/ # .0* *{ L D6 ML2Ed 0 (!74D) ? K*3*F06 t L8L A @?L ?635*JM"L2N? M E1!y?L ?? J0 63 L 02$ M"/E)"!
" 06363 -:63! HOz % 06363 -: (& JD?
, 0 ( < k l97 m8 { 1 p
\ T~/ PBCB) L2N ' 63 XAY U , 0 1 (+< k l7|m8 $ p , U:L -{U \ T
0"'" 0 7 ^4D)$P 63C?63L > $'* 0 1 XAY[Z , ( k lm{ p L -hL -{U ,S: \ ¼ ¾ T1h (& 0D }) ¤ ¥ ) ? H v 798 i ) E " 0?
XAY U
2`a?D3*F06E)L # O0*K /> 67 # ( -.67 #! -
BL ?6@T 0K*;?' / 0 K .L 2& 0)T~/ 0L N12.L 0- (& 0 >5 )!N BD5 1!? N{- 0L :M"K L LL D/ #9
j h _f f _ &
/~ h
q
`-Z~
\ P )&K 0 Y cy*,~ 0L L
HtK )& ¥ } / 0 ?
:52:!>/ Bz9D?? /7EB) L;C "!>
d
. )7!3? ?DC 0$O4D) ? ?H%*[ 0/T1) -^ 63:D?? J B/@ B#T
BL 6/ @BJ/)?/ @C 0/> 67 0367 #! -@BL ?6BD$^B/ 5 -+)^ >5 D: 67 L L ~L ?-0A -L ? ~ K/ # -z/ 0!A -L 1 0
C!6 XAY[Z
Iy/1A? ?Dy635 :?09
A ! " #$DH
?? y>5J L -{L -{U
,;:
XAY UyL -{U \ \
63K + (z45) ? @ 63
63HE 0& + ())7" #E?6A9
L /$ j~" 06363 -1 (& 0?h63 h) ? " 0? XAY U
0 (+
67 0
"2 =M"/@ .R5? L - (:M>C67 0&
9
âK¶·².¶0·%¹!Õ&ÕÔÕNܶնØ3¹!µ¹!Õ7câ
j ¶·"²h? K 079?63)/^ 0". (?.
)!d" #
1!? O@5)6EBE*1Û?¶á ´?¹EÜÔ´³Fµ[³ ¹!´3 0+63 63 e??P12
FHml³on¹!·Dh=â j
¿NÀÁDÂ,Ãa ÄÂ,ÅVÃ
*B29?0
/A*,6
Y
,+
\ µ¶ ¹!´¶:Õ¶·"²ÔØ
'
ÅÅVÁ : )63 -d #
( ! -L ? ?T+ !
L@C )&@ =
?$7" #
:B29? & ? 7 & 6 0L ) Z6- K ¥ ,/ { H»7 A@B" B L 2$ ¤ \ ) 6E) (EB ,7ä - 5 *) -8 B2A/4D)" 0L Y( { L*U8) H : ez*zB29?!
"
k i
ó:0z" #
*F: E& 6 ( -T1 -@B B L 2t$DT
(O*F0
5)6NB*V ( h -L h ~???D& 0/N?L 1
,:9
u?
L -
Y(/\ H
67 0 ( -67 #!VH
^^1 L LN ##ô d 0&
()) / 8B@>5?/P L d 0)& 0L
?L 0>/9 +*yc59 0/> 67 0zL - (:M>767 #!BL ?6@H »2 (/Ty2*K4D)$O *NL -
0L LE ( - #P*3L ?- BL 6
T^? S )63d" #
cHJD$% L ) G )&S
/ 0BC/ 0 L2$P!>"?^ 0& 0B" ( - E*: 09
B2& 0$L -OB5$' 63L $8 02 -P ( - 7BD$') ?2
L ?-0 N N/ 0? (16N)L2 L * ä c 0"3 / #! -E @ #
O
63 (h=" #2 ?H ^11 L L& L ~L 0{ A { ?! H
#
*" e ×
$ %#%#& #= @A 0CB Sy
à
G>y
Y× ¤ ¥ × \ Hãh 0!7/ ~? )L ~ 9 i -L ? jB? -12`a5/HR~ ! 2`aj = 063 ( .L 63? D ?H ÅÅVÁ :öV
R ?JJ67 0 -=*;6
JHK
! {NB2
?0 ? {J !
2`a?? 1 @>?!& 0 VT{y" /:zD0*tH
#
õ L / 0L2$DT~ L /!A L )30*
L
*
NB!/H@IjD+ 67 0L L @ L )
]1 L L: ( !+ e?d^+ e0*yd L " B!
NM
67 5 -@B27?0 0 HG:)7B (? + 3.? ) c
3.1 Special case of -approximate string match IA 63L 2*,$7= 0" L2$ ?T{y? ;J L Lj ( -
ABy 09
/> 67 #?L2$.*7 063L ?-H^öj #A{ #
" 0N2A
63L =C>5?" A L2$ : ( - z0*{ 0$ -7L ?-0 ?H öV
0L La 0& 0B" 0 : ( -
345)$A ( -K=B*L -
ä H
À
»2 (/T? ?D{ #& ())~*F{ ??2M/ {*cD9
0#> 67 0: ( -A67 0&*,/4D)" 0LL ?-+ 0& 0B" y ( -
L -{UCB2 ?H ^
!M"h67 Y×\ h &N0* ( -
? )L2 -E*;6:67 -E &63H
cH@IC$ (?P ^ K L -026 =+67 ^ #& B" 0
( - {=B29?! {0*VL -C 0/> 67 0?L2$
9 ä
H~I67 9
" #C & 0"6 ?!1*L -
( -*yL ?-
"
$
? )L2 7 & 0"6
B
H~IjN
?"aT G/ NBz )&
k "i
J /$K1!J 0L L
-L ? h 0
/ 0L2$E ( *,{ J& 6
XTT -UL - , )J1 L L
( -H{» L " B!1* e? ? )z ?H
O
0P KP
ÍË?ÍÓÌ?Ë?ñ ÏË ñ0È'9=öV?6367
ä
63L E7*FL L /1 -P 0&
J@ . 0L Lh ( - y B29?! z0*
L ?-0;H
()!)H
õ 9
-K) ? {J{?L L 95/1C?6EB? -K0*j?21 (& 0?J63
()! N& BL : ( -3/ 0!B21?! L -A12 2 1 - L
@ 6363 -63 .¼ ½ T
( -H%Ij. / #!O ^- O4D)!$
~5{ +¼ ½/¾
¾ HSI+67 -!M"?BD$
L ? ~ z 63L 1?63)& # A) -=D?)63?D
s #h !*
j
j
T{@?63) 2 367 VT
67 Y K\ T "7 / #! 1 7& BL HhL )-T2
10
?!9
j
-L ? =" #K =/ 0 ($ 63L ?63?Dy ^& ?H
? #$P" 0E67 Y K\
!/H~ L[H¼ ä/¾ //C/% )& K -L -E635C? BJ) /
-5B/TL ?6367
A & ?= 0@?6EB? -KA 6363 -N " 0?z12+ (
>?& # HhR5T2*J?D$3?0? -EK67 Y K\ D
#=63 (
N/\
XAY
[J B" 0
¼ #¾ TdN
HE: (#5 5$+ "
ä
? ? ? N1 'C67 P0*:2 A/ 0 ( 63L A" 0E$'2`a7 B
7 5Q j $
0K?D& P / #B5$ ( -T7 / #!^ . L LhB)& y?L
j
j
+67 0 Y K\ TjÝH H T~ 0L LhB29?0 y" 0N `a!K*;6
67 Y K\
L ?-0 0*j: &-?& #/ ?? CzL ?-00*
(/ .*J ( -d7?D2C ( -d P7& 0BL T/
1!c K367 0> 6E)6] L L /
0BL 0E ^M" - ?L ? (
#63 (
5$ Q
7
B2 ?H
( -HAR5??2M"? L L2$DT{E-) ( - y 5! 0L :* e?
y9B2z?: &d*~K ( -H=IN !
ä c
Y \ ?h j-) -J& 0 T =YXZJHt3 h ()"$DT:) J 6363 -= (&
(0A 0- ^
67 0& ?H .~) ~ "> Y
7?63)?') -^ 63 67 - !?63H (/ 0*
1!
063L -
WB2
*F0J63" # -E ( - ?Hhö) {" 0{" /5 -N = !70* e?°5)? ¤
?L L B" 0B L $'* HOI5) ?T&D - U G i yB" B L 2$@*L L K7ä½# H1óJy" #1=/ @ L 63)@+L ?-0*
^*F) O*yd5)6NB30* ( - ?T5UT5 3/ &A& -T5 ?$DTL -{UHtE { ()"5$DT{J !h L )K0*g7 A? (& D/HG?63" # +Bt{??@N4D)$
?? ?D=A0EB!t?P 0?D; 0Lh67 #! ^3
63 (
">/zBD$:!$ V*L ?-=L -
L;
;
1B2 ?TD 63L
,
#;
O
SB ?H ^
?7)
N$7AL D5):& 0BL K "7
1B2 {
0" C0?D L67 0&d : yBN?L A2*h$d2`ay ^ #
7 ( B2 ~ ~ 63L /NBD$NL 6367 ä HI
" 0?1?63L > $ $ 0*y 0& E ()): ?L / #L $L / #/H
PjÈ5ñ PË/Ê[çÈ+Ïïaç
?63)1J &7* N4D)$7 0"7) : !3NL D5) N 0N" +& 0BL N*,= 767 0&HzIK" d& BL K
H`j )&A" 0~1L ?-7*a4D)!$A { ` , /\\ H~I~)6EB*& -? j ???D =~67 0> 6E)6%L -=0* 1 ( -J =h #& B" 0 H}
2) / #!7 { ">/ABD$
` ¥
& -J¼ ä c
ä c Y
L *-?& 0L $DT"L ) 0 )63:y)6EB*& -? 1AB
Q Hyãh 0!d& -E :? ?D/+BD$d 3" 0 & 0BL T _(Ta" 0: !S_ , )T/1!"S_" #~h5)6NB
*h ( - z K& 0-Hyòz) -7N9D? - (T
íî È jÊ,Ë +9hR {z / 0&C L La?D ?
7 5Q B2 ?T5J5)6EB!{0* j ` ´ Q = q$ h 5 ?
? 0&/C P 1 ` | 7 5Q H~Iz )6 g _ g $ L ? " 0; p H1t " 0 ?)L 0/Ta2*hc;y| TN4D)$ 63y
012`a
*,6
& BL 0"74D)$ ( -H+òz) -+4D)$ -Tj7 63 L 0L2$
67 Y K\ #
63 (
" #2 .3 0& 0B" 7 ( - N D+ 0 03& 0- E 0"
= .K (KK?)5
? 7?)Dz0*{ ( - z d/ && 0-H + 0& ?$?)5/H
.N/Ñ ?Dz3 0L -263 z*FK? () -A !9
0$ 0& N ())H
X3 f Y(/\ H
$#%'&&2Å(*)Ä52Â,Ã,+*-Ã,.?À2Ä0/1 ¥ ¥ 32
ìCî è"ï"ñ0Ê,Ë/æç
3.2 High Probability Bounds
ä ?)5#¼ "> Y Y \¾ , , E 1ÈÎÉï"ñ F#ïñ`}U 5 Q Éjï ½ 7_ 6?)D/¼ ` ¾ 1 ÈÎÉï"ñ ^#ïñCÍ îFî Y= Z Éï G 6 V Y^V 6 8` 6 > Y Y \ K 5)?= E -L y × 0* e? B2?0 Y Y \ 6 " Y Y \ - ä9 5)6NB0*B2 #ä $ Y Y \ 6 63L ; Y U L -!S_ , ) \ B2 E L ) Y Y \ 6_ 63L 'WB F
5$:9[$ Y Y \ ¥ 0L ) Y Y \; 4 _ #½ ÈÎjÉïñ
»7 + -DC P63 ?? @ 0" 0L $ ?T{@ )63
( - + #& 6@H
7
5$ Q
I^ 0B0^ ) ÓB /" #
j
N>?!/5)6NBy0*1B2 =1 !.67 0 Y K\
67 0@*~2 / #? (:? -5Bz2`a/aH: BL =" 0"
{){ /
0)" 0Ly2`a?d -0/ 0" 0O ?H
" #
=B B L 2t$*~2B? -36N)& -? 0J : 67 L L[H
»67 L L2$DT zB" 0B L $7" 012 `a! BD$7630:" 0C1 zy 0B0
,7
ä
2`a? 063 (
BD$
J@ ##a C /4D)" 0L $DH°R5TBD$
XAY L -hU \ "???D1 (& 0?? *y #& A ())T
) -
1 L -026W/ AB167 {y )???/K1 3 -AB" 0B L 2t$DH L T ^745)$d 63A?63L > $?63)& 0 Tj{C (9 )63/ 0=35)6NB=*15 ? K ' @B)!!= K? (& D/H - 0 VT 67 ?$71B:):12+ N 67 0L LVB" 0B L $DHhR ? &C ( -
Y 0 )63 -z
67 0 =d & 6
?/.5)6NB=*19
? 1B)&
L 1 2$DT12+B" B L 2$
,7
eJ@ ## 1 ?45) L29
HhJ- TBD$
=kFH H7ÆÇ¹
ä T"=B)&1D& -7y/ #? (
? -5B 0163 (
tE?D ?HR5T2*yL 6321)1 ? 0& +L2$t ?D NKB)& ?Tj?P 0- VT1
µ,ǹA´(Ç5³F·5Öá ¹Eҳݲµ,Ç
XAY L -U \
-
K
Ð&¹P³FØ:Üá ¹!Ø3¹!·µ¹²Ù´³F·DÖÓ¶·a¹¶Õ'á ³,·a¹¶Õ.´³ #¹²¶µ¶
´µ[Õ&Ù¸µ[ÙÕ¹¶·²
ß Ù¹!Õ!êµ[³,Ø7¹'¶µ ØAÔ´µ Ò³Fµ,ÇCÇ5³ Ö#ÇEÜ"Õ(Ôжг[á ³Fµ[ê à
XAY L -hU iDk lm5n"o pq rts u vw vw x
@
5$ Q
âµ[³FØ7¹!´
\
,+
µ¶ ¹!´d³F·ð¶ ß Ù"¹!Õ&ê§â ß Ù¹!Õ!êO¶á ÖÔÕ&³Fµ,Ç5Ø =âJ¶·² µ,ǹC¶á,á ÔÒh¶Ð?á ¹3¹!Õ!Õ(ÔÕKc8³,·3é~·"²³F·DÖd¶
à ß Ù¹!Õ&ê µ,Ç5³F´E³F´EµÔ@µ[Õ&ê^¶áFáµ,ǹ ²³ J¹!Õ
Û&ÕÔØ]µ,ǹ
HJåz´´Ù5ØE³F·DÖ'´µ[Õ&³F·5Ö´d¶0Õ¹dÕ(¶·²ÔØEâAµ,ǶµE³F´µ,ǹ
ª´(Ç5³F·5Öá ¹!´C¶0Õ¹C·¹¶0Õ@²³,´&µ[³,·¸µ[â=ÔÙ5ÕNcaÞt¶!ÜÜ"ÕÔ ³,Ø3¶µ¹ ´µ[Õ!³,·5Ö
ØA¶µ¸&ǰ¸&¶0·
4.
/
+
ÛNµ,ǹ7¸ÔØ:Ü"Ù5µ¹² ¹!ê=Û?ÔÕNµ,ǹ ß Ù¹!Õ!ê²Ô#¹!´K·Ô0µy¹ ³F´µ³F· à µ,ǹz¶!ÜÜ"ÕÔ!ÜÕ!³Ý¶0µ¹JǶ´(Ç7µ¶Ð?á ¹!â{ Ò ¹ {³ Ü@гFµ[´1³F·7µ,ǹ ¹!ê{Û?ÔÕ P ` ´ â
=q ` q 7
0B L 2t$DH .z )6367 0 e?:12 :*FL L /1 -3??6@H
w
Ø3¶0µ¸&Ç
(& ? J0*y 0& E ())T{y )??/12+ -B9
aÀÅ 2À%
#ïñmYXZ4OÉjï
*?
#+ ,+ BA
+
_ Q_
ÆÇ¶µ³F´âÒ{¹:Ò{¶0·µµÔAá Ô/Ô 0Ù#ܶáFá ¹!ê0´Jµ,Ƕµ
+
a`
¹!ê³F·P¶µØ3Ô0´&µ KгFµ[´
·¹NÒh¶ê µÔ+²Ô
à ´³FØJÜá ¹!ÕA³FØJÜá ¹Þ _ `g Q ´ µ[Õ&³¹!´ à å< Ø7¹!·µ¶µ[³ÝÔ·³F´µÔ=µ[Õ!ê=Õ¶0·²ÔØu`Þtг,µ { ? ³ ÜCÒǹ!Õ¹y¹¶¸&ÇCг,µ³F´,?{³ Üܹ² Ò³Fµ,Ç3ÜÕÔжг[á ³,µ[ê K7ä L8µ[³FØ7¹!´ å¸ÔÙ#ÜÔ·.¸ÔáFá ¹¸µ[³ÝÔ·.¶ÕÝÖÙ5Ø7¹!·µ à ÒhÔÙá ²7³,Ø:Üá êAµ,Ƕµ1²Ô³,·5Ö7´Ù¸&Ç Õ¶·"²ÔØC{ ? ³ Ü"´ L1L -L'µ[³,Ø7¹!´=¸Ô#n#Þ ¹!Õ&´ ¶áFá¸ÔØAгF·¶µ[³[Ô·´7Ò³Fµ,Ç^ÇD³ Ö#Ç+Ü"Õ(Ôжг[á ³Fµ[ê ·8Õ¹¶á ³,µ[êâzÒ³Fµ,Ç àpw cL'µ[Õ&³Ý¶á ´â~µ,ǹ1ÜÕÔжг[á ³,µ[ê ÔtÛyØN³F´´³F·5ÖA³Fµ{³,´y¶µhØ3Ô´µ HED 7 à
LpU
Pg
ALGORITHMS FOR APPROXIMATE STRING MATCHING
^1/O )6367 0 e?J 0L -263 ~*,
0#> 67 0
( 5. APPROXIMATE LONGEST PREFIX MATCH
67 #! -H~Iy )Ey L -026 E * ( - ?T :T
.y) z= 0& E ())z*,: /> 67 #z ( -367 0&9
!>& 0/7*,6< KL 0-z!>101?L L ? *D?)63?D ?TD
-T? B/z z?5 ) V ? VT#
?63) 1c59 0/> 67 0
e?:* K -L T =T5 @ = ( -T 0"3: e?:* !VT 7T0*
L -? (M>J67 0&yB??K
- y ( - "zh 0& 0B"
? &K ( -HIh ( - #{ 0 )63/:
B*[ 0 L2$z& 0"6S "
( - ?Hdt (? ^0*J (0 -d L L BL M>? y*,3 @- ?
92 T" #E ?T~d ( -d-& #? A +D9-& 6
630
3 ( -T{N??d 3 &+*{ 3 ( - zM>? BD$)/ #9
@?Hh*,67 L L2$DT)J 0L -26d2 K/ #? (A/!A*
? &A ( -= N) ? !!3 0 ~ :$K A z N& 0BL H~I
L ?-0
| ä
A)"/8L ?-0
¦ H.I5) ?T{ @M>^*
¦ o;k lm
=5)6EB/HjI Y Y \ *,) E ~ : 63L ~*F) *F0: -A ( - B /eJ % !/
)L H
! 0& 0 ?H»)63T~{ -0) L L1 ( -
/ 0B L / ? 0& 0L $OBD$O 67 0L L: ( -' /> 67 #
Y § \
E15)y E -L = × 0* e? F 1 B ? Y § \ 6 Y § \ ½ 1 !$ Y § \ 6 063L ; Y U L -" _ , ) \ B2 1 L ) Y § \ 6_ 63L 'ÑB2 !/Y cH £ ) 6 _ Y !$ Y § \\ H Ê ? Y L ) Y § \ ¥ #Y cH £ ) \ q c7Ë/æjÈÎ G 6 ñ#ÈË Pjñ0Î. 0L ) K È î Ì?È ï"ñ`OU 7 5$ Q Éjï `Q ´ `Q ´ /ä U £ : `T Y 6 E ï"ñXdU A_ U £ : `T _ yY Éjï F " %)CA ` B2 Ó 0L L Pg /_ `g Q ´ 0 / 67 #* FH /½ Y c H £ ) 6 _ Y $ Y § \\ H / Ê ? Y 0L ) Y § \ ¥ / Y cH £ ) \ q cË?æjÈÎ ñ0È5ËKPñÎP L ) G ÈÎÉPÊ 6 ?!
" /B ä9K ÈÎÉ ï"ñ äD ÈÎjÉïñ ää ÈÎÉ.Ê ä E ñ#È5ËKPjñ0Î.*[ L )
&" #& @ "L ? D' >& -H
!
#
tK14D)!$ -: Tz67 ){ /?)-A5)6A9
B:*~B2 J
$ "
d d/ K*h0:M" -7 7 ? 0&$@ + ¤ HdI " K
" 0 .& BL T7 K75)6EB!=*
%
5)6NB{0*j L
*F01/ &C 1* " !
-
?$
!
y5)6EB
0*B2
# ?9
a
f 7 5Q , $ ä `g Q ´ 1QdE
" VH ^y0z" 0J #JE 63:=
" d63y" 0+?=B2 7M"+ 0 0#> 67 0=67 #!VH
IK ( - J3B= /+ @K ! " #$@=& 63L $
9KK#K
#½
-& #/8*;6_ 7*
) 4D)C0& 3BD$P?/ #9
" # -P d& "63L2$8!D -. ^ ??2M"?5)6NBA0*y& ?H
.3 !N =5)6NBz
½ H+I35)6EB=0*1 ( - =
0 E 0L
" #& 63 e?? 13 N63 L L C*FJ)1> 63?D ?H~R!9 ½
-7N)6EB0*{0& z
-?!& 0/d ( - y0*{L ?-
&
9FE12+ N63/ L - *OF
=
0$ -N*;6
ó:0 0{) -= 67 L L"5)6EB~*L D5)
ä H
Y ä\ T5B9
,7
ä N H t
B L 2$0*{M" - 7/ #? (= -5B= ^ CB)!!z &J / 0 {~ )?? B" B L 2$K ?$
6K
T{ ?$
])
0"K??5)6EB0*L D5) h D
)L EBz /
1& BL H~IJ>?/35)6NB~*L D) h ???D{ E>5& 3&" 0& 0 ?HKÑ " 0$d :?d/ #/d*,=/ 0! M>=L ?-E "N L L5M>? * 063{L ?-0A #
(/K ; #: " #$DH~IjyM"N /> 67 01L -? ( 6363EM>VT?63)1M>? ~*a4D)!$
j
"
(& # -@12.3L -? (N!M>aTj{AM""d3?L ? (A67 #!
JL ?-00*:$ BJ*L D5)
;
: 0
Q
P_ ` _ ´ H~I { 63L
NL 0-z5)6A9
Y >5 0L
)
\ HJ!: 0 & {)L
B7d{.'6E)L2 L 7? ? E0*JC 0& + ())T~)
5%:/{?/T ./ 0L $.7?)L P@12 6#K )???
B B L 2t$ º {z)L ??sA F ? ? 1*y #& E ())H
L -hUO? ? E .*F /H
('
L 1L ? 15)6EB{* ? ?Hh»01 Y(
*,/ 0!M>7) -Ky 0/> 67 0J ( -A67 0& -E 0L -9
K
¦ ½ 0\ º
26@Hh:?:{zM" E67 #!VTD= (VH I5) ?T#63?63$1/4D)2/:
63)~ /> 67 0L -? (
f
XAY UzL - ¤ ¤ \ HJI=) -3 63= JL - X Y L - ¤ ¤ \ H::=*N D& 0-? J*~ BD$@ 3*F 0z0* A 6363+M>
f
0 &ð +" #d63 (+0*3.cS L L //ð/2 d 0P S
& 0 L -8&" #& ! C 0/ B@)/ #/O2*ydL ?-0* 0& 0B" P ( - #+^4D)$Ó #.0+/ d*
¦ H
%J/?!/Tz5)6EB!*)/ #/7! 0& ! J 1
630 K *
M>KL -VHI5) ?T- ?3 zM>K0*aL - ä| B2 ?TaK)? 0/dL ?-0^ zL ? z" 0 ä| Ta1 =U ä| ¦ o k lm < F < i3$ x A
5)6EB0*V)/ #/A&" 0& 0 ?H
)63 -y& 0"6g ( - 1 3)2*,6
3 $
B2 K 0K*F6ôC67 0 Y ¦ \
L C*V:L -{U
*
C- ?.M>aT{CL D
630 7c
/2 hy)/ # HA*[ !/T){> 63?D i /S 0
: *F067 0 @L J 63 67 L / 0L 2$DH
6.2 Results
t.CM (A E*J> 63?D K{@ 0" L2$e?C3 63 0"
! .K?63 0=
" 0?N?45)2?63?D J0*{)z 0& 3 ())H
63?630$@& BD$d)K #& ()!)E ?63? /d H
.E K ) 4D)NL (K* K#KKK#KK ( - =12^ . /!& - L ?-00*cF ä &" #& ! ?HOI63 /IV CD' 0B) ä ä J 0*"63?630$J (
0L L~& 0 ? j1 L {{ " #$ D 6#6 ª J 9h B)bE ¦ /) HhI 163?630$3 e?y
0 B& ?d125)U7 E B2 y 0"BPU ä#K B2 ?HK» -) /1 A) - 63? y*F0A4D)$ -7 0$*FE2`a5
? ? 1 y5)6NB
*~0 J =4D)$C ( -H
J » -)
/1 ?T1 L -0 6Ñ*F063 ~$y?L L N63 *
K ¦ ää [F ä
) - 63 2& L2$
EXPERIMENTS
A ~ ? VT{J L L ) (& #!3? ?!$3*a1 ?
^E? (z3 L -263 z12.2`a?Dy L )? :*
0& 63! $7 e?= # BL =0 ) T e?=0* ( -A !!7T0:cTL - 0*45) ? TD5)6EB!h0*a ( - h A #& B" 0 JU
"E?2 º
&" 0& 0 N PL ?-VH+I
4D) ? 1+ A " 0$C?D& -
= /& 0-/0
KK#KKK#K
K#KKK
( - ?H
J L -) :CK) -A 63N :N5)6NB*hL D5)
" #$' #& + ())C ' 0/> 67 07 ( -d67 0& -H
º
63 j:M"N 0A 0/> 67 0
67 0&^*,E +45)$^ #& - -
? z 63?
/1 @» -)
6.
õ L / #L $DT1@) - 63
L )? 70*K+C 0& 63!/H
=4D)$N& ? ~y)7 0 0#> 67 0167 #!VH~:)h 6E)L #9 8? )L2 3 / 0A 5)6NBE0*zL D5) A*F0C />59 67 0 ( -8 / 0&S @ 67 0L LÝHQ»+ 8 #& B .0*
-F
( - ~0*L ?-03 B)
ä
KKK#KK#K
! 0& 0 / &T )?? (*F)L4D)!
=F y/ 0^BN*F063/ )"
!`a? 45)$7 63? ?T ??)& $* E67 0&T5)6NB
*"
12. #=63 (
& 0BL yL D5) ?T 0"6363$DH
$L D5) ?H@=3 063A 63E3 )??? =& 030*
M"" -
6.1 Implementation details
63 (
z ! " #$3NB
C) -Kz4D)$7 ???DL2$3 / 0!*:? ? ?H
/½
63?6A9
pt?C 0/> 67 0y67 #!C*F= )4D)!$12+ # X F 0 y =F G ¦ ä# HAI z )?? z& 0A? BE ? /
^N !:=67 #> 6N)6L ?-0d*h C ( -77BK "!>?@ #ä G ! 0& 0 ?HhI L 632 {J)6EB 0*z ">.& 0- E ä9K HC^
0 )63@ 0L L
( - 7 #@ 0AL ? (
- M/ DL2$BD$d) -6E)L2 L N? y*A #& ())
5FC? ? z0*hN 0&
»0z> 63L TaBD$ ) -AE4D)$@
14
1800 "time.dat"
B=30,k=2 1600
12 1400 10
memory lookups
Running time (ms)
1200 8
6
1000
800
600 4 400 2 200
0
0 1
1.5
2
2.5
A1Ê,è5Pñ0È #
P
3 Error (k)
3.5
.
jÎÎÊFÎjèPË?Ê[çÈ
4
4.5
5
0
2
6 NumberError of extra (k) bits (c)
A1Ê,è5Pjñ#È ~ïVï
Jñ#ñ#ï"ñ{c
jÌ
G ¦K
())T{: ?J )?? & 0z / J
4
Hht3
P 63?D ?TD: !J)6EB
0*? ? 1*z 0& N ()):
H
0 0
4 6 8 Number of copies of the dictionary
A1Ê,è5Pjñ#ÈSAÍ"Ê î Pñ0È
1200 B=30 B=32 B=36 B=38 B=40
1000
2
H
í ñ#ï jÍ Ê î Ê,Ë
1
10
jÌ Pç
~È5ñ7ï
12
Ïï í Ê,ÈÌ
pE' /1 ?Tz5)6NB 0*EL D) @ 9 .$'L 0- Y G K K \ *,>)5U #ä H
õ L / 0L2$DT= 0 +» -) memory lookups
800
/ 0 ? 7*,6_/ 0L2$
I h63 #? ~) hy {: 0L !" 0 *V) -=?
-)
*= #& A ())= ") -A 67 0L Lj L )? 10* z7 & ?
600
z? 2/ )??? 1& 0H
bFy /1 h1 #`a?~15)6NB*V? ? ~*a1 0&
» -) 400
()!){ K4D)$K 0??)& $=1 &N >?!/N 0 4D)$C)?63:*F0:/ 0!@ 0& N ())y 1 "???D/H~I *[ 0 L )3B" B L 2$.5 y!>?D L L2$d12E)6EB:*
200
X ^KM> kUE K 0"e)SUzE5H=»6QKM-)TK/ M() (!EN? ?
1 L L- z) !B" B L 2$ *~ #)" K H IE" 0& 063 SA ) 0" ] #3$d 63& 05yCA!9 /ð *F067 ?N0*{)z 0& 7 ()!)H:» -) ½ " ? ? ?H
?z 01) -
0 1
1.5
2
2.5
3 Error (k)
A1Ê,è5Pjñ#È ~ïaï
3.5
4
4.5
5
P í
jÌEc
*[ 0 L )B B L 2t$. N *F) P0*
? 7" #& 63! ?H+I
P E ! N0*J!>! 635 z{7 L L ) (& #C7)6EB
]): "
5)6NBz0*? ? = y z
0*L D5) 1*F063/ 0 J K*F) *z" #& 63
*,6
AL ?-0^0*14D)$d ( -
??" !>! 635
/!& -?d#!y
K#KK#K
H7IE)6EB:*
L D) z
HE3 L L ) (& 0 :y*[ 0 5) H.
EM>: UkE K
4D) ? ?HJ» -)
A5)6NB:0*
L D5) y y>5 0L~
DU
0".c
ä H I35)6EB!y*
? K*
3 #& ()!)A
H3IA= L )N
0 =! -/
H^3M (E> 63?D
)
Q)bUE5Hh» -)
½
U EK
1 L .
/1 0
*F0z 0D$CM>/
L )~* T0*[ 0 L ){B" 0B L $K?!/ ? 1 =~0" #9 & 63!/H7»0E 0D$M>/cTjE*[ 0 L )7B B L 2t$?/ 0 ?
)@ 0"P A 363)?/.*,7L 0-
12O !/ @
0.9
0.25 k=1 k=2 k=3 k=4 k=5 k=6
0.8
time success rate
0.2
0.6
0.15
Success Rate
Lookup time
Failure probability
0.7
0.1 0.5
0.05 0.4
0.3
0 1
2
3
4
5 6 Number of extra bits (c)
AÊ;è5Pjñ#ÈSAjÍÊ î Pjñ#È
7
8
9
10
1
2
3
4
A1Ê,è5Pjñ#È hÈÏË3ï
Ì X)
í ñ#ï Í Ê î Ê,Ë
ÏÈÌ/ÌEñ#ÍËÈÍÎÉ
î ïaï
P
5 6 Trial number
:Ë/æÈ^Î ç
P
í
Ë/ÊFçÈ
~È5ñ7ï
7
8
9
10
KP
JË?ñ0Ê,Í î ÌCïÎË/æjÈÌ Ï
0.8 k=1 k=2 k=3 k=4 k=5 k=6
0.75 0.7
800 # of copies = 4 # of copies = 1 700
600
Failure probability
0.65
Memory Lookups
0.6 0.55 0.5 0.45
500
400
300
200
0.4 0.35
100
0.3 30
A1Ê,è
32
34
P
SAjÍ"Ê î Pjñ#È
jñ#È
36
38
40
0 10-20
Ì '
Sketch size (B)
ï L )? 1*~cH{» 67 L LV ?Ty5)6NB
*>5& EB2 1) / @y &+3" /y #zy 63= 63" 0J 1$ *,KL 0-3 ?H7I K = C? /4D)??A/Ñ6E)!+
-)
*F L )=B" 0B L $ 0 ?
*,:2`a?D1 L )?
0* H » -)
/1 A + 63 L #A?0?L 0 8Bt{??.C !
'W C:*[ 0 L )yB B L 2t$ 0 :*,)"B!t?
e?
5)6EBE*z!>& B2 7 '*F L )+B" 0B L $DH8*F /T
C) ?D B)7/
0&'7& 0L5)6EBN*:B2 ) /^@?? ?DA @$^ P)E 0$DH J % ??32N E0 B0
0"
) -+CB 7 63 L; #AB? / 0NyH /H A*[ 0 L )B 09 B L 2$ 1@K0*y 0& 63! 1 &" -/ 1 L =? y
M>/aH @ D? ( -3B 0 + )--? ( -3y) y*~6E)L L ? C*:+ 0& ^ ())@ (/ O0*yL 0- ! e??
20-30
30-40
A1Ê,è5Pjñ#È {ÈÏËAï î ïaï P í Ì
í ñ#ï Í Ê î Ê,Ë
J
K#KK#K
ET, U 9ä K
40-50 Query Length
P
JË/æÈ
jÈ5ñ
50-60
60-70
70-80
P
î ÈÎè"Ë/æïÎOË?æjÈÎ ç
È5ñ
e)cUiEHIK 63?
!E /& 0-/+#
TV 0"
4D) ? ?Hy:B K 0=? N 63y*[ L L y - M9
/ 05L2$BD$+)"
½
1 L 7 0yA 63E 63KA )??? y& 0
? ? 13 L 63 (
6ä
H
» " 0L L2$7 ()" ?3`aK*174D)!$L ?-.. 5)6NB{0*L D5) ?HtD)2 ?L2$DTD21 ?63 {" #J)6EB{* L D5) )L N ?
12N45)$=L ?-0HI ~ ?TD/
9 ?!/T0
/ 0 Ht2; 0L L $DT 45)$KL ?-0A / 0 ? ?TD A=)6EB10*~L D5) ?H»:45) ? :0*L 0-!yL ?-0 ?Ta 0
>EK )--? ( ?T5:?/3*F{
L D5) { G L L ) (& #? 1
B?" /5 *,J2`a5
)1 L2$
R5? M" K67 0&H» -)
5)6NB
*? J0*= 0& N ())H
yN*[ !K 0y12^? &^ "??"?Dz)VTA5)6NBz0* L D) ?T "=?{4D)!$y 63 ?T?/ 0
-2M/ DL2$N 63 (
*V103 ??63 {KBzJ 7/ 0L
) ?Hó:0
7. CONCLUSIONS
. /C = 0$C 0& = ())*,
( -K / #!
0y{3 (.4D)$ -3 0$ E*FL L /1 -+)
12! z1!EE45)$@ ( - 67 ?$d2`a:*,6]K>59
?" /J y )?? (*F)L2{*F01 =4D)$DH
h1 631 63T
??@67 0& -A ( -CBD$ A*FG/2 ?HJI J 0& 3 ())
)?? & 0 / h -2M"/ 05L2$N N{5)6EBj*"29
/ 07 L =B) /NzM"N1 0& 0B" 0 J ( -z12AL - (
0L { #
/ 0 /VH» -)
?6363AM>K12A*FO ?H~»0h*,! ?T5){63!5
0
J 0L 1- ?H{C )TDz5)6EB!*j
5)?$N*FL D5) ?T5 ?? L L2$72*J4D)$A ( -
0
bJ L L ) (& 0 ~
B#B 0
L #-H
REFERENCES
~ t"5$aHãA? ?D1 L -0263 ÕÔ/¸&¹¹²³F·5Ö´NÔ(Û µ,ǹ#µ,Çd¶0··Ù¶áå Þ å Ú´ê0Ø:ÜÔ´³FÙ5Ø]Ô·y³,´¸Õ¹!µ¹ w ¶á ÖÔÕ&³Fµ,Ç5ØNT" - /ä#K E /ä5/ä T ä#K#K H º ¼ ä/¾ > #9 h !*tTI:H"RaH ?$5& 6@TBbIz& )- 63/T
>J /Iy)67 #/HJ/> 67 # -E?2 (& ? 3 5L2$DHt ÕÔ/¸ µ,Ç ê0Ø:ÜÔ´³FÙ5ØQÔ· =ÔÙ5·²¶µ[³[Ô·´=ÔtÛ ~ÔØJÜ"Ù5µ¹!Õ " ¸³¹!·¸&¹à = A ! T" 0-? ½½9K º ½½#6 T ä#K#K FH ¼ E ¾ {)e%KH hL D6@HaR5" # 63:& 9`a 1 @ ?5 -E12+ L L /
0BL N! ?H"~ Ô0ØEØEÙ5·³Ý¸¶µ[³ÝÔ·´=Ô(Ûzµ,ǹ å d
T E Y \ F ää º F ä# T 6 K H ¼ !¾
¶·²
G
¼
8.
JL > 0"J
¾
F
sJH/J 2e??67 &/HóJt{ M"L2 h S )$DT ä#K#Kä
KH h5J "
L / 0 *BL D6
¼ ½/¾
H
J? h5/Ha:C: ?6EBL; 0?= 0"C?D& 63?D
ÕÔ/¸&¹¹²³F·5Ö´NÔ(Û~ ÔØJÜ"Õ¹!´´³ÝÔ·^¶·"² ~ÔØJÜá ¹ ³Fµ[êCÔ(Û# %$#&'$"()*$+ , -$.&" 0/ a¹ ß Ù¹!·¸&¹!´,1 2-0T 6#6 G H J? H ~5/T J ? õ " # 0/TJL 0[JH"» e?T
eJ &" LOJ 2e??67 &/H J 9Ý1 K ???D 6N)& 0 ?H45 3 ÔÙ5Õ!·"¶áÔ(Û~ ÔØJÜ"Ù5µ¹!ÕN¶·² ê0´µ¹!Ø ¸³Ý¹!·¸&¹!´T KY E \ E K º ½#6 T ä#KK#K H *~D?)635 ?H5
¼ #¾
¼ ¾
J
õ L Taö?!9tJ ¡ 0L BT 0" ö!? (? H"ò: ! " #$ 67 #! -A 0" > -K1
&" #&
ÕÔ/¸&¹¹²³F·DÖ´EÔtÛyµ,ǹ65%70µ,Ç
0 : 0" V / #? ?Ht
¶··Ù¶áaå
Æ A
G
´ê0Ø:ÜÔ´³FÙ5Ø]Ô·8ÆÇ¹ÔÕ&ê ÔtÛK¸ÔØJÜ"Ù5µ[³F·5Ö
T" -?
6 º K#K T ä9KK FH
98
¼ ¾Kõ ( dã (& + 0"
¡ ?0- h 0-? Hó:S & 0Ay63/ )?63?D1 0??)D - h»D?) -A
:?L ? D ?T - -Ay63 ?H"å
~ÔØJÜ"Ù5µ à ê´µ à T
ÆÕ¶0·´
à E \ ä K º E E5T ä9KK EH 6 ¾ 0:"5$A ">: KM(?eJ 0t
0[H#> 67 0 ¼# ? 0? ( -5B /
0& 6305 -Kz) y* ä5Y
ÕÔ/¸ Ô(Û95%0µ,ÇCå : ê0Ø:ÜÔ´³FÙ5Ø]Ô· ~ÔØ:Ü"Ù5µ[³F·DÖ à Æ A T" 0-? K F º E5T 6#6 G H : 6PIy2 &+ eJ &" LOJ 2e??67 &/H òz (& ?9 ? yBL D6M"L2 ?Ht
Õ(Ô/¸!¹¹²³F·DÖ´NÔ(Û å@0 7 T ä#K#K H 63? " 0L $DHt ÆÇ¹ÔÕ&êÔ(Û
K
¼ 0¾
I
¼ ¾
*h) L
ã$5 L y) L ?52eT : #*[ 0 L: (# D$DT
J B [H
ã3? ?D / 0& *F0z 0#> 67 0:/ #? (? -5B0J
Õ(Ô/¸ ÔtÛ 5%# µ,Çå
ê0Ø:ÜÔ0´&³,ÙØ]Ô·8ÆÇ¹ÔÕ&êCÔ(Û~ÔØ:ÜÙà µ[³,·5Ö jÆ A T - F º ä E5T 6#6 G H 8 5 Hã3? ?D ( ¡ eJH"ö " )+ 0" :e?4: 67 0& -N12@763 67 0&? ?H~ÆÇ¹ÔÕ¹!µ[³Ý¸¶á"~ ÔØJÜ"Ù5µ¹!Õ ¸³Ý¹!·¸&¹!T FE ä E 6 º ä F 6 T 6 G H JHòEH J tL L2#$DHòz??L 635*~ E ?L L -3L (/H w $?$?$ ÆÕ(¶·´!¶¸µ[³ÝÔ0·´NÔ·A~ ÔØEØNÙ5·³Ý¸¶µ[³ÝÔ0·´T E KY(/\ 65 66 T 6 G ä H 063? ]IAH J )L L + 0"òz ?L* H J@ 0-L ; 0 Haº Ó& L y* y ?L L -3!?! ?H0 Ô(Û!µ[Òh¶Õ¹6B6
Õ(¶¸µ[³Ý¸&¹A¶·"² $ !ܹ!Õ!³¹!·"¸&¹!T ä#KY\ ä½ º E K T 66#K H ¡ e/ L 3ó: # 0HÓ-) /7)
A /> 67 0: ( 67 0& -H"å C~ Ô0Ø:Ü"Ù5µ[³F·DÖ Ù5Õn¹!ê´T EE Y(/\ E º GG T -+ 63? " 0L ?? ?Ht
¼ /ä#¾
E
¼ ¼
F
¾
¼ /½#¾
¾
#K#K ä
¼ 0¾
H
*h) L/J B [Hö/S (
J 0*[ 0 L: (#5 5$ 0"
Õ(Ô/¸&¹&¹²³,·5Ö´NÔ(Ûzµ,ǹ 5#µ,Çå··Ù¶áå D ê0Ø:ÜÔ´³FÙ5ØQÔ·8ÆÇ¹ÔÕ&êÔ(Û ÔØJÜ"Ù5µ[³F·5ÖT" -? ä5 G º ää FT ä#KK½ H ~
?6NB/ - *,/2J (& 0?Ht
¼
¾
%NH"R -A I:H %NH J & 0LÝH"I ? 1*FJ 0/> 67 0
!J ?Tòy /5 >I= 0-/T»& I= D?T 0">%: 0 L 05 " VH õ &hÓ / L BL t@R5 ? T B!
F ÕÔ/¸&¹¹²³F·DÖ´EÔtÛyµ,ǹ9GAå : w l# A
~Ô·/Û/¹!Õ¹!·¸&¹!T" -? F 6 #K T ä9KK H
?9Ij9 ?!JL D)@ 5 ?z*F0: D L / 0 ?H
*F0: )B ( -N/ #? -5B0JBL 6@H
¼ ¾
$=$?$gÆÕ(¶·´!¶¸µ[³[Ô·´NÔ·E=·"ÔÒ1á ¹²/ÖD¹ )K¶µ¶6$·5Ö³F·¹&¹!w Õ&³F·DÖT G Y F \ ½ F K º ½ F^5T 66 H
( -A67 0& -H
t
6
¼ #¾
º ã1H :5H» " -3 /> 67 0z 0 ( - ?H
35ÔÙ5Õ!·"¶áÔ(ÛJåJá ÖÔÕ&³Fµ,Ç5ØN´T
E
ä º
E5T 6 G
½ H