%!PS (but not EPSF because of memory limits) %%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software %%Title: main.dvi %%Pages: 163 1 %%BoundingBox: 0 0 612 792 %%EndComments %%BeginProcSet: tex.pro /TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{ isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale Resolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10 N}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{ /vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{ statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail} B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image} imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{ moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{ S p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w }B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{clear SS restore}B end %%EndProcSet %%BeginProcSet: lprep68.procs systemdict/currentpacking known{currentpacking true setpacking}if /LW{0}def /LW+{LW 2 eq}bind def /ok{systemdict/statusdict known dup{LW 0 gt and}if}bind def /md 250 dict def md begin /av 0 def /T true def/F false def/mtx matrix def/s75 75 string def/s8 8 string def/s1 ( ) def/pxs 1 def/pys 1 def 1 0 mtx defaultmatrix dtransform exch atan/pa exch def/nlw .24 def/ppr [-32 -29.52 762 582.48] def /pgs 1 def/por true def/xb 500 array def/so true def/tso true def/fillflag false def/pnm 1 def/fmv true def /sfl false def/ma 0 def/invertflag false def/dbinvertflag false def/xflip false def/yflip false def/noflips true def/scaleby96 false def/fNote true def/fBitStretch true def /fg (Rvd\001\001\000\000\177) def /bdf{bind def}bind def /xdf{exch def}bdf /xl{neg exch neg translate}bdf /fp{pnsh 0 ne pnsv 0 ne and}bdf /nop{}bdf/lnop[/nop load]cvx bdf /vrb[ {fp{fg 6 get 0 ne{gsave stroke grestore}{gsave 1 setlinewidth pnsh pnsv scale stroke grestore}ifelse}if newpath}bind /eofill load dup /newpath load 2 index dup {clip newpath}bind {}bind dup 2 copy ]def currentscreen/spf xdf/rot xdf/freq xdf /doop{vrb exch get exec}bdf /psu{/tso xdf /fNote xdf/fBitStretch xdf/scaleby96 xdf/yflip xdf/xflip xdf /invertflag xdf/dbinvertflag invertflag statusdict begin version cvr 47.0 ge product (LaserWriter) eq not and end invertflag and {not}if def xflip yflip or{/noflips false def}if /pgs xdf 2 index .72 mul exch div/pys xdf div .72 mul/pxs xdf ppr astore pop/por xdf sn and/so xdf}bdf /tab{statusdict /11x17 known{statusdict begin /11x17 load end}{statusdict /setpage known{statusdict begin 792 1224 1 setpage end}{statusdict /setpageparams known{statusdict begin 792 1224 0 1 setpageparams end}if}ifelse}ifelse}bdf /txpose{ pxs pys scale ppr aload pop por{ noflips{ pop exch neg exch translate pop 1 -1 scale }if xflip yflip and{ pop exch neg exch translate 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate }if xflip yflip not and{ pop exch neg exch translate pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 translate }if yflip xflip not and{ ppr 1 get neg ppr 0 get neg translate }if }{ noflips{ translate pop pop 270 rotate 1 -1 scale }if xflip yflip and{ translate pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate }if xflip yflip not and{ translate pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 translate }if yflip xflip not and{ translate pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 exch translate }if }ifelse statusdict begin waittimeout 300 lt{ /waittimeout 300 def }if end scaleby96{ ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy translate .96 dup scale neg exch neg exch translate }if }bdf /fr{4 copy ppr aload pop 3 -1 roll add 3 1 roll exch add 6 2 roll 3 -1 roll sub 3 1 roll exch sub 3 -1 roll exch div 3 1 roll div exch scale pop pop xl}bdf /obl{{0.212557 mul}{pop 0}ifelse}bdf /sfd{ps fg 5 -1 roll get mul 100 div 0 ps 5 -1 roll obl ps neg 0 0 6a astore makefont setfont}bdf /fnt{findfont sfd}bdf /bt{sa 3 1 roll 3 index and put}bdf /sa(\000\000\000\000\000\000\000\000\000\000)def /fs{0 1 bt 1 2 bt 2 4 bt 3 8 bt 4 16 bt 5 32 bt 6 64 bt 7 128 bt sa exch 8 exch put}bdf /mx1 matrix def /mx2 matrix def /mx3 matrix def /bu{currentpoint currentgray currentlinewidth currentlinecap currentlinejoin currentdash exch aload length fg 5 sfl{1}{0}ifelse put pnsv pnsh 2t aload pop 3a aload pop mx2 aload pop mx1 aload pop mtx currentmatrix aload pop mx3 aload pop ps pm restore/ps xdf mx3 astore pop}bdf /bn{/pm save def mx3 setmatrix newpath 0 0 moveto ct dup 39 get 0 exch getinterval cvx exec mtx astore setmatrix mx1 astore pop mx2 astore pop 3a astore pop 2t astore pop/pnsh xdf/pnsv xdf gw /sfl fg 5 get 0 ne def array astore exch setdash setlinejoin setlinecap setlinewidth setgray moveto}bdf /fc{save vmstatus exch sub 50000 lt {(%%[|0|]%%)=print flush}if pop restore}bdf /tc{32768 div add 3 1 roll 32768 div add 2t astore pop}bdf /3a [0 0 0] def /2t 2 array def /tp{3a astore pop}bdf /tt{mx2 currentmatrix pop currentpoint 2 copy 2t aload pop qa 2 copy translate 3a aload pop exch dup 0 eq {pop}{1 eq{-1 1}{1 -1}ifelse scale}ifelse rotate pop neg exch neg exch translate moveto}bdf /te{mx2 setmatrix}bdf /th{3 -1 roll div 3 1 roll exch div 2 copy mx1 scale pop scale/sfl true def}bdf /tu{1 1 mx1 itransform scale/sfl false def}bdf /ts{1 1 mx1 transform scale/sfl true def}bdf /fz{/ps xdf}bdf /dv{dup 0 ne{div}{pop}ifelse}bdf /pop4{pop pop pop pop}bdf /it{sfl{mx1 itransform}if}bdf /gm{exch it moveto}bdf/rm{it rmoveto}bdf /lm{currentpoint sfl{mx1 transform}if exch pop sub 0 exch it rmoveto}bdf /fm{statusdict/manualfeed known}bdf /se{statusdict exch/manualfeed exch put}bdf /mf{dup/ma exch def 0 gt{fm se/t1 5 st ok ma 1 gt and{/t2 0 st/t3 0 st statusdict/manualfeedtimeout 3600 put }if}if}bdf /jn{/statusdict where exch pop{statusdict exch /jobname exch put}if}bdf /pen{pnm mul/pnsh xdf pnm mul/pnsv xdf pnsh setlinewidth}bdf /min{2 copy gt{exch}if pop}bdf /max{2 copy lt{exch}if pop}bdf /dh{fg 6 1 put array astore dup {1 pxs div mul exch}forall astore exch pop exch pop exch setdash}bdf /ih[currentdash]def /rh{fg 6 0 put ih aload pop setdash}bdf /dl{gsave nlw pys div setlinewidth 0 setgray}bdf /dlin{exch currentpoint currentlinewidth 2 div dup translate newpath moveto lineto currentpoint stroke grestore moveto}bdf /lin{fg 6 get 0 ne{exch lineto currentpoint 0 doop moveto} {exch currentpoint/pnlv xdf/pnlh xdf gsave newpath/@1 xdf/@2 xdf fp{pnlh @2 lt{pnlv @1 ge {pnlh pnlv moveto @2 @1 lineto pnsh 0 rlineto 0 pnsv rlineto pnlh pnsh add pnlv pnsv add lineto pnsh neg 0 rlineto} {pnlh pnlv moveto pnsh 0 rlineto @2 pnsh add @1 lineto 0 pnsv rlineto pnsh neg 0 rlineto pnlh pnlv pnsv add lineto}ifelse}{pnlv @1 gt {@2 @1 moveto pnsh 0 rlineto pnlh pnsh add pnlv lineto 0 pnsv rlineto pnsh neg 0 rlineto @2 @1 pnsv add lineto}{pnlh pnlv moveto pnsh 0 rlineto 0 pnsv rlineto @2 pnsh add @1 pnsv add lineto pnsh neg 0 rlineto 0 pnsv neg rlineto}ifelse}ifelse closepath fill}if @2 @1 grestore moveto}ifelse}bdf /gw{/pnm fg 3 get fg 4 get div def}bdf /lw{fg exch 4 exch put fg exch 3 exch put gw pnsv pnsh pen}bdf /barc{/@1 xdf/@2 xdf/@3 xdf/@4 xdf/@5 xdf /@6 xdf/@7 xdf/@8 xdf gsave @5 @7 add 2 div @6 @8 add 2 div translate newpath 0 0 moveto @5 @7 sub @6 @8 sub mtx currentmatrix pop scale @1{newpath}if 0 0 0.5 @4 @3 arc @4 @3 sub abs 360 ge{closepath}if mtx setmatrix @2 doop grestore}bdf /ar{dup 0 eq barc}bdf /ov{0 exch 360 exch true barc}bdf /rc{/@t xdf currentpoint 6 2 roll newpath 4 copy 4 2 roll exch moveto 6 -1 roll lineto lineto lineto closepath @t doop moveto}bdf /mup{dup pnsh 2 div le exch pnsv 2 div le or}bdf /rr{/@1 xdf 2. div/@2 xdf 2. div/@3 xdf /@4 xdf/@5 xdf/@6 xdf/@7 xdf @7 @5 eq @6 @4 eq @2 mup or or{@7 @6 @5 @4 @1 rc} {@4 @6 sub 2. div dup @2 lt{/@2 xdf}{pop}ifelse @5 @7 sub 2. div dup @2 lt{/@2 xdf}{pop}ifelse @1 0 eq{/@2 @2 pnsh 2 div 2 copy gt{sub def}{0 pop4}ifelse}if currentpoint newpath @4 @6 add 2. div @7 moveto @4 @7 @4 @5 @2 arcto pop4 @4 @5 @6 @5 @2 arcto pop4 @6 @5 @6 @7 @2 arcto pop4 @6 @7 @4 @7 @2 arcto pop4 closepath @1 doop moveto}ifelse}bdf /pr{gsave newpath/pl{exch moveto/pl{exch lineto}def}def}bdf /pl{exch lineto}bdf /ep{dup 0 eq{{moveto}{exch lin}{}{(%%[|1|]%%)= flush}pathforall pop grestore}{doop grestore}ifelse currentpoint newpath moveto}bdf /gr{64. div setgray}bdf /pat{s8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi s8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}setscreen gr}bdf /sg{freq rot/spf load setscreen gr}bdf /dc{transform round .5 sub exch round .5 sub exch itransform}bdf /sn{userdict/smooth4 known}bdf /x8{3 bitshift}bdf /x4{2 bitshift}bdf /d4{-2 bitshift}bdf /d8{-3 bitshift}bdf /rb{15 add -4 bitshift 1 bitshift}bdf /db{/@7 save def/@1 xdf/@2 xdf/@3 xdf/@4 xdf/@5 xdf/@6 @5 @3 4 add mul def dc translate scale/xdbit 1 1 idtransform abs/ydbit exch def abs def{0 0 1 ydbit add 1 10 rc clip}if @1 0 eq @1 4 eq or{1 setgray ydbit 0 1 ydbit add 1 2 rc}if @1 3 eq @1 7 eq or{1}{0}ifelse setgray/@9 @1 0 eq @1 1 eq @1 3 eq or or dbinvertflag xor def/@13 @6 def @2 fBitStretch or{/@10 @4 x4 def/@11 @3 x4 def/@12 @10 rb def/@13 @12 @11 mul def/@15 1 1 dtransform abs/calcY 1 index def round cvi/@14 exch def abs/calcX 1 index def round cvi scaleby96 not{1 add}if def/@16 @15 rb def/@17 @16 @14 mul def}if sn @13 60000 lt and @2 fBitStretch or and{mtx currentmatrix dup 1 get exch 2 get 0. eq exch 0. eq and @17 60000 lt and fBitStretch and{@16 3 bitshift @14 @9 [calcX 0 0 calcY 0 0]{@17 string @13 string currentfile @6 string readhexstring pop 1 index @4 @3 @5 @12 @2 smooth4 @10 @11 @12 dup string 5 index @15 @14 @16 dup string stretch}imagemask}{@12 x8 @11 @9 [@10 0 0 @11 0 0]{@13 string currentfile @6 string readhexstring pop 1 index @4 @3 @5 @12 @2 smooth4}imagemask}ifelse}{@5 3 bitshift @3 4 add @9 [@4 0 0 @3 0 2]{currentfile @6 string readhexstring pop}imagemask}ifelse @7 restore}bdf /multibit{/mbdeep exch def/mbY exch def/mbX exch def save mbX mbY mbdeep[mbX 0 0 mbY 0 0]{currentfile picstr readhexstring pop}image restore}bdf /wd 16 dict def /mfont 14 dict def /mdf{mfont wcheck not{/mfont 14 dict def}if mfont begin xdf end}bdf /cf{{1 index/FID ne{def}{pop pop}ifelse}forall}bdf/rf{/@1 exch def/@2 exch def FontDirectory @2 known{cleartomark pop}{findfont dup begin dup length @1 add dict begin cf{/Encoding macvec def}{Encoding dup length array copy/Encoding exch def counttomark 2 idiv{Encoding 3 1 roll put}repeat}ifelse pop exec currentdict end end @2 exch definefont pop}ifelse}bdf /bmbc{exch begin wd begin /cr xdf save CharTable cr 6 mul 6 getinterval{}forall /bitheight xdf/bitwidth xdf .96 div/width xdf Gkernmax add/XOffset xdf Gdescent add/YOffset xdf/rowbytes xdf rowbytes 255 eq{0 0 0 0 0 0 setcachedevice} {Gnormsize dup scale width 0 XOffset YOffset bitwidth XOffset add bitheight YOffset add setcachedevice rowbytes 0 ne{ XOffset YOffset translate newpath 0 0 moveto bitwidth bitheight scale sn{ /xSmt bitwidth x4 def /ySmt bitheight x4 def /rSmt xSmt rb def rSmt x8 ySmt true [xSmt 0 0 ySmt neg 0 ySmt] {rSmt ySmt mul string CharData cr get 1 index bitwidth bitheight rowbytes rSmt tso smooth4} }{rowbytes 3 bitshift bitheight 4 add true [bitwidth 0 0 bitheight neg 0 bitheight 2 add] {CharData cr get} }ifelse imagemask }if }ifelse restore end end }bdf /bb{.96 exch div/Gnormsize mdf 2 index /Gkernmax mdf 1 index/Gdescent mdf 3 index div 4 1 roll 2 index div 1. 5 2 roll exch div 4 1 roll 4 array astore/FontBBox mdf }bdf /cdf{mfont/CharData get 3 1 roll put}bdf /bf{ mfont begin /FontType 3 def /FontMatrix [1 0 0 1 0 0] def /Encoding macvec def /BuildChar/bmbc load def end mfont definefont pop }bdf /wi LW 1 eq{{gsave 0 0 0 0 0 0 0 0 moveto lineto lineto lineto closepath clip stringwidth grestore}bind}{/stringwidth load}ifelse def /aps{0 get 124 eq}bdf /xc{s75 cvs dup}bdf /xp{put cvn}bdf /scs{xc 3 67 put dup 0 95 xp}bdf /sos{xc 3 79 xp}bdf /sbs{xc 1 66 xp}bdf /sis{xc 2 73 xp}bdf /sob{xc 2 79 xp}bdf /sss{xc 4 83 xp}bdf /dd{exch 1 index add 3 1 roll add exch}bdf /smc{moveto dup show}bdf /kwn{FontDirectory 1 index known{findfont exch pop}}bdf /gl{1 currentgray sub setgray}bdf /mm{/mfont 10 dict def mfont begin /FontMatrix [1 0 0 1 0 0] def /FontType 3 def /Encoding macvec def /df 4 index findfont def /FontBBox [0 0 1 1] def /xda xdf/mbc xdf /BuildChar{wd begin/cr xdf/fd xdf/cs s1 dup 0 cr put def fd/mbc get exec end}def exec end mfont definefont}bdf /ac{dup scs kwn{exch findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall fmv{/Encoding macvec def}if/StrokeWidth nlw 1000 mul pys div ps div dup 12 lt{pop 12}if def /PaintType 2 def currentdict end definefont}ifelse}bdf /mb{dup sbs kwn{exch{pop}{bbc}{}mm}ifelse sfd}bdf /mo{dup sos kwn{exch{pop}{boc}{}mm}ifelse sfd}bdf /ms{dup sss kwn{exch{pop}{bsc}{}mm}ifelse sfd}bdf /ou{dup sos kwn{exch dup ac pop{scs findfont /df2 xdf}{aoc}{}mm}ifelse sfd}bdf /su{dup sss kwn{exch dup ac pop{scs findfont /df2 xdf}{asc}{}mm}ifelse sfd}bdf /ao{/fmv true def ou}bdf/as{/fmv true def su}bdf /vo{/fmv false def ou}bdf/vs{/fmv false def su}bdf /bbc{/da .03 def fd/df get setfont gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth cs 0 0 smc da 0 smc da da smc 0 da moveto show}bdf /boc{/da 1 ps div def fd/df get setfont gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth cs 0 0 smc da 0 smc da da smc 0 da smc gl da 2. div dup moveto show}bdf /bsc{/da 1 ps div def /ds .05 def/da2 da 2. div def fd/df get setfont gsave cs wi 1 index 0 ne{exch ds add da2 add exch}if grestore setcharwidth cs ds da2 add .01 add 0 smc 0 ds da2 sub translate 0 0 smc da 0 smc da da smc 0 da smc gl da 2. div dup moveto show}bdf /aoc{fd/df get setfont gsave cs wi grestore setcharwidth gl cs 0 0 smc fd/df2 get setfont gl 0 0 moveto show}bdf /asc{/da .05 def fd/df get setfont gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth cs da .01 add 0 smc 0 da translate gl 0 0 smc gl fd/df2 get setfont 0 0 moveto show}bdf /st{1000 mul usertime add dup 2147483647 gt{2147483647 sub}if def}bdf /the{usertime sub dup 0 lt exch -2147483648 gt and}bdf /6a 6 array def /2a 2 array def /3q 3 array def /qs{3 -1 roll sub exch 3 -1 roll sub exch}bdf /qa{3 -1 roll add exch 3 -1 roll add exch}bdf /qm{3 -1 roll 1 index mul 3 1 roll mul}bdf /qn{6a exch get mul}bdf /qA .166667 def/qB .833333 def/qC .5 def /qx{6a astore pop qA 0 qn qB 2 qn add qA 1 qn qB 3 qn add qB 2 qn qA 4 qn add qB 3 qn qA 5 qn add qC 2 qn qC 4 qn add qC 3 qn qC 5 qn add}bdf /qp{6 copy 12 -2 roll pop pop}bdf /qc{exch qp qx curveto}bdf /qi{{exch 4 copy 2a astore aload pop qa .5 qm newpath moveto}{exch 2 copy 6 -2 roll 2 qm qs 4 2 roll}ifelse}bdf /qq{{qc 2a aload pop qx curveto}{exch 4 copy qs qa qx curveto}ifelse}bdf /pt{currentpoint newpath moveto}bdf /qf{/fillflag true def}bdf /ec{1 and 0 ne{0 doop}if grestore currentpoint newpath moveto/fillflag false def}bdf /eu{currentpoint fp{0 ep}{grestore newpath}ifelse moveto/fillflag false def}bdf /bp{currentpoint newpath 2 copy moveto}bdf /ef{gsave fillflag{gsave eofill grestore}if}bdf /sm{0 exch{@1 eq{1 add}if}forall}bdf /lshow{4 1 roll exch/@1 exch def{1 index wi pop sub 1 index sm dv 0 @1 4 -1 roll widthshow}{1 index wi pop sub 1 index dup sm 10 mul exch length 1 sub add dv dup 10. mul 0 @1 4 -1 roll 0 6 -1 roll awidthshow}ifelse}bdf /setTxMode{sa 9 2 index put 3 eq{1}{0}ifelse setgray}bdf /SwToSym{{}mark false/Symbol/|______Symbol 0 rf 0 sa 6 get 0 ne{pop 1}{sa 7 get 0 eq{pop 2}if}ifelse sa 1 get 0 ne/|______Symbol sa 4 get 0 ne{vs}{sa 3 get 0 ne{vo}{fnt}ifelse}ifelse}bdf /mc{0 3 1 roll transform neg exch pop}bdf /ul{dup 0 ne sa 2 get 0 ne and{gsave 0 0 /UnderlinePosition kif{mc}{ps -10 div}ifelse/UnderlineThickness kif{mc}{ps 15 div}ifelse abs setlinewidth neg rmoveto sa 4 get 0 ne{gsave currentlinewidth 2. div dup rmoveto currentpoint newpath moveto 2 copy rlineto stroke grestore}if sa 3 get sa 4 get or 0 ne{gsave gl 2 copy rlineto stroke grestore rlineto strokepath nlw pys div setlinewidth}{rlineto}ifelse stroke grestore}{pop}ifelse}bdf /sgt{2 copy known{get true}{pop pop false}ifelse}bdf /kif{currentfont dup/FontMatrix get exch/FontInfo sgt{true}{currentfont/df sgt {dup/FontInfo sgt{3 1 roll/FontMatrix get mtx concatmatrix exch true}{pop pop pop false} ifelse}{pop pop false}ifelse}ifelse{3 -1 roll sgt{exch true}{pop false}ifelse}{false}ifelse}bdf /blank/Times-Roman findfont/CharStrings get/space get def /macvec 256 array def /NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI /DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US macvec 0 32 getinterval astore pop macvec 32/Times-Roman findfont/Encoding get 32 96 getinterval putinterval macvec dup 39/quotesingle put 96/grave put /Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute /agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave /ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute /ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis /dagger/degree/cent/sterling/section/bullet/paragraph/germandbls /registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash /infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation /product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash /questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft /guillemotright/ellipsis/blank/Agrave/Atilde/Otilde/OE/oe /endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge /ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl /daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand/Acircumflex/Ecircumflex/Aacute /Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex /apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde /macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron macvec 128 128 getinterval astore pop {}mark true/Courier/|______Courier 0 rf {/Metrics 21 dict begin/zero 600 def/one 600 def/two 600 def/three 600 def/four 600 def/five 600 def/six 600 def/seven 600 def/eight 600 def /nine 600 def/comma 600 def/period 600 def/dollar 600 def/numbersign 600 def/percent 600 def/plus 600 def/hyphen 600 def/E 600 def/parenleft 600 def/parenright 600 def/space 600 def currentdict end def currentdict/UniqueID known{/UniqueID 16#800000 def}if/FontBBox FontBBox 4 array astore def}mark true/Helvetica/|______Seattle 1 rf /oldsettransfer/settransfer load def /concatprocs{/proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx}def /settransfer{currenttransfer concatprocs oldsettransfer}def /PaintBlack{{1 exch sub}settransfer gsave newpath clippath 1 setgray fill grestore}def /od{(Rvd\001\001\000\000\177) fg copy pop txpose 1 0 mtx defaultmatrix dtransform exch atan/pa exch def newpath clippath mark {transform{itransform moveto}}{transform{itransform lineto}} {6 -2 roll transform 6 -2 roll transform 6 -2 roll transform {itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}} {{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}bdf /cd{}bdf /op{/sfl false def/pm save def}bdf /cp{ pop pop pm restore } bdf /px{0 3 1 roll tp tt}bdf /psb{/us save def}bdf /pse{us restore}bdf /ct 40 string def /nc{currentpoint initclip newpath gc{dup type dup/arraytype eq exch/packedarraytype eq or{exec}if} forall clip newpath moveto}def /kp{ct 0 2 index length 2 index 39 2 index put getinterval copy cvx exec mx3 currentmatrix pop}bdf /av 68 def end LW 1 eq userdict/a4small known not and{/a4small [[300 72 div 0 0 -300 72 div -120 3381] 280 3255 {statusdict/jobstate (printing) put 0 setblink margins exch 196 add exch 304 add 8 div round cvi frametoroket statusdict/jobstate (busy) put 1 setblink} /framedevice load 60 45{dup mul exch dup mul add 1.0 exch sub}/setscreen load {}/settransfer load/initgraphics load/erasepage load]cvx statusdict begin bind end readonly def}if md begin/bigs[lnop userdict/letter known{/letter load}{lnop}ifelse userdict/legal known{/legal load}{lnop}ifelse userdict/a4 known{/a4 load}{lnop}ifelse userdict/b5 known{/b5 load}{lnop}ifelse lnop lnop lnop /tab load]def /smalls[lnop userdict/lettersmall known{/lettersmall load}{userdict/note known{/note load}{lnop}ifelse}ifelse userdict/legal known{/legal load}{lnop}ifelse userdict/a4small known{/a4small load}{lnop}ifelse userdict/b5 known{/b5 load}{userdict/note known{/note load}{lnop}ifelse}ifelse lnop lnop lnop /tab load]def end systemdict/currentpacking known{setpacking}if %%EndProcSet %%BeginProcSet: special.pro TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP false N /BBcalc false N /p 3 def}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{ @scaleunit div /vsc X}B /@hsize{/hs X /CLIP true N}B /@vsize{/vs X /CLIP true N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X} B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X /BBcalc true N}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{md begin /letter{}N /note{}N /legal{}N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{ itransform moveto}}{transform{itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{ PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if} ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp{pop pop showpage pm restore}N end}if} if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{ DVImag dup scale}if}N /psfts{S 65536 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale false def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults}N /@setspecial{CLIP{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate BBcalc{rwi urx llx sub div dup scale llx neg lly neg TR}if /showpage{}N /erasepage{}N /copypage{}N newpath}N /@endspecial{grestore clear SpecialSave restore end}N /@defspecial{SDict begin}N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%EndProlog %%BeginSetup %%Feature: *Resolution 300 TeXDict begin %%EndSetup 1000 300 300 @start bos /Fa 6 109 df<1FE0003FF8007FFE007C3E007C1F00380F00003F 0007FF001FFF007FCF00FC0F00F00F00F00F00F81F00F83F007FFFE03FF7E00FC3E013127E9116 >97 D<001E0000FF8001FF8003EF8003CF8003C20003C0007FFF00FFFF00FFFF0003C00003C000 03C00003C00003C00003C00003C00003C00003C00003C00003C00003C0007FFE00FFFF007FFE00 11197F9816>102 D<07E7800FFFE03FFFE03C3DE07C3EC0781E00781E00781E007C3E003C3C00 3FFC003FF0007FE0007000007800003FFC003FFF007FFFC07003C0F001E0E000E0E000E0E000E0 F001E07C07C03FFF800FFE0003F800131C7F9116>I<01C00003E00003E00003E00001C0000000 000000000000007FE0007FE0007FE00001E00001E00001E00001E00001E00001E00001E00001E0 0001E00001E00001E00001E0007FFF80FFFF807FFF80111A7E9916>105 D<007000F800F800F800700000000000003FF83FF83FF800780078007800780078007800780078 00780078007800780078007800780078007800787078F8F8F8F0FFE07FC03F800D237E9916>I< FFE000FFE000FFE00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000 01E00001E00001E00001E00001E00001E00001E00001E00001E000FFFFC0FFFFC0FFFFC012197E 9816>108 D E /Fb 1 62 df<00C000C001C00180038003000700060006000E000C001C001800 18003800300070006000E000C000C0000A157E8F0F>61 D E /Fc 2 55 df<0CFCFC1C1C1C1C1C1C1C1CFFFF080D7D8C0E>49 D<0F001F8033806380E000FF00FF80E1C0 E1C0E1C061C03F801E000A0D7E8C0E>54 D E /Fd 4 111 df<03C00FE01EF03DE078C0780078 00F000F000702070E03FC01F000C0D7F8C0F>99 D<03000780078007000000000000001C003E00 6700CE00CE000E001C001C00398039803B003F001C00091480930C>105 D<003000780070006000000000000003C007E00CF00CE018E000E000E001C001C001C001C00380 038003807380F700FF00FE0078000D1A81930E>I<1C7C003EFE006F8E00CF0E00CE0E000E0E00 0E0E001C1C001C1CC01C38C01C3980381F00180E00120D808C15>110 D E /Fe 1 1 df0 D E /Ff 2 113 df0 D<00000000C000000001C0000000018000000003800000000300000000070000000006 000000000E000000000C000000001C000000001800000000380000000030000000007000000000 6000000000E000000000C000000001C00000000180000000038000000003000006000700001E00 0600003F000E00007F000C0000C7801C0000078018000003C038000003C030000003C070000001 E060000001E0E0000000F0C0000000F1C000000079800000007B800000003F000000003F000000 001E000000001E000000000C000000000C000000222A7E8123>112 D E /Fg 11 73 df<00030003000700060006000E000C000C001C0018001800380030003000700060 006000E000C000C001C0018001800380030003000700060006000E000C000C001C001800180038 0030003000700060006000E000C000C000102C81AA0E>2 D<0000000000300000000000F00000 000003C0000000000F00000000003C0000000000F00000000003C0000000000F00000000003C00 00000000F00000000003C0000000000F00000000003C0000000000F00000000003C0000000000F 00000000003C0000000000F00000000003C0000000000F00000000003C0000000000F000000000 00C000000000002C1781952A>8 D<000200001E00007E0001FE000FFE00FFFE00FFFE000FFE00 01FE00007E00001E00000200110C7E852A>27 D<0000000000300000000000700000000001E000 0000000380000000000700000000000E00000000003C0000000000700000000000E00000000001 C0000000000780000000000E00000000001C0000000000780000000000E00000000001C0000000 000380000000000F00000000001C0000000000380000000000700000000001E000000000038000 0000000700000000001E0000000000380000000000700000000000E00000000003C00000000007 00000000000E00000000001C0000000000780000000000E00000000000C000000000002C2381A1 2A>35 D<0000000000F0000000003FF00000000FFF00000003FFC0000000FFF00000003FFC0000 000FFF00000000FFC000000000F000000000002C0981872A>40 D<000000000030000000000070 0000000000E00000000003C0000000000700000000000E00000000001C00000000003800000000 00F00000000001C0000000000380000000000700000000000E00000000003C0000000000700000 000000E00000000001C0000000000380000000000F00000000001C000000000038000000000070 0000000000E00000000003C0000000000700000000000E00000000001C00000000003800000000 00F00000000001C0000000000380000000000700000000000E00000000003C0000000000700000 000000E00000000000C000000000002C2581A32A>44 D<8000F000FC00FF00FFE0FFFEFFFEFFE0 FF00FC00F00080000F0C67852A>I<06000600060006000F000F000F001F801F803FC03FC07FE0 7FE07FE0FFF00C0F86A72A>54 D63 D66 D72 D E /Fh 5 109 df<07C00FE01FF03C783838783C783CF01EF01EF01EF01EF01EF01EF01EF01EF0 1E783C783C3C783C781FF00FE007C00F177E9614>48 D<0180038007800F803F80FF80FF804780 078007800780078007800780078007800780078007800780FFF8FFF8FFF80D177D9614>I<0380 07C007C007C00380000000000000FFC0FFC0FFC003C003C003C003C003C003C003C003C003C003 C0FFFFFFFFFFFF10187E9714>105 D107 DI E /Fi 1 51 df<7FFFFFC0FFFFFFE0C0000060C0000060C0000060C0000060C0000060C0000060 C0000060C0000060C0000060C0000060C0000060C0000060C0000060C0000060C0000060C00000 60C0000060C0000060C0000060C0000060C0000060C0000060C0000060FFFFFFE0FFFFFFE01B1B 7B9E25>50 D E /Fj 1 120 df<0007F80000003FFF000000FFFFC00003FFFFF00007FFFFF800 0FFFFFFC001FFFFFFE001FFFFFFE003FFFFFFF003FFFFFFF007FFFFFFF807FFFFFFF807FFFFFFF 80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFF FFC07FFFFFFF807FFFFFFF807FFFFFFF803FFFFFFF003FFFFFFF001FFFFFFE001FFFFFFE000FFF FFFC0007FFFFF80003FFFFF00000FFFFC000003FFF00000007F800002222919021>119 D E /Fk 16 107 df<00000000001800000000007C0000000001FC0000000007F8000000001FF0 000000007FC000000001FF0000000007FC000000001FF0000000007FC000000001FF0000000007 FC000000001FF0000000007FC000000001FF0000000007FC000000001FF0000000007FC0000000 01FF0000000007FC000000001FF0000000007FC000000000FF0000000000FC0000000000700000 0000002E1982962A>8 D<0000003000000078000000F8000000F8000001F0000003F0000003E0 000007C0000007C000000F8000001F8000001F0000003E0000003E0000007C000000FC000000F8 000001F0000001F0000003E0000007E0000007C000000F8000000F8000001F0000003F0000003E 0000007C0000007C000000F8000001F8000001F0000003E0000003E0000007C000000FC000000F 8000001F0000001F0000003E0000007E0000007C000000F8000000F8000000F000000060000000 1D2E82AB19>20 D<000040000000C0000001E0000003E0000007F0000007F000000FF800001FF8 00003FFC00007FFC0000FFFE0001FFFE0003FFFF0007FFFF000FFFFF801FFFFF803FFC00007C00 0000800000001A137F922A>25 D<02000003000003C00003E00003F80003FC0007FF0007FF8007 FFE007FFF007FFF80FFFE00FFFC00FFF000FFC001FF8001FF0001FC0001F80003F00003C000038 0000700000600000400000800000151A80991C>29 D<00000000001800000000007C0000000001 FC0000000003F8000000000FF0000000003FC0000000007F0000000001FE0000000007F8000000 000FE0000000003FC000000000FF0000000001FC0000000007F8000000001FE0000000007F8000 000000FE0000000003FC000000000FF0000000001FC0000000007F8000000001FE0000000003F8 000000000FF0000000003FC0000000007F0000000000FE0000000000F800000000006000000000 002E1D829A2A>34 D<0000008000001F00001FFE00FFFFFC00FFFFF8007FFFF0007FFFE0003FFF C0003FFF80001FFF00001FFE00000FFC00000FF8000007F0000007F0000003E0000003C0000001 80000001000000191370942A>42 D<800000E00000F80000FF0000FFC000FFF800FFFF00FFFFE0 FFFFFEFFFFFEFFFFE0FFFF00FFF800FFC000FF0000F80000E0000080000017126F882A>45 D<00C00000C00000C00000C00001E00001E00001E00003F00003F00003F00007F80007F80007F8 000FFC000FFC001FFE001FFE001FFE003FFF003FFF007FFF807FFF80FFFFC0121789A72A>54 D63 D<60000000F0000000F8000000F80000007C0000007C0000003E0000003E0000001F0000001F00 00000F8000000F80000007C0000007C0000003E0000003E0000001F0000001F0000000F8000000 F80000007C0000007C0000003E0000003E0000001F0000001F0000000F8000000F80000007C000 0007C0000003E0000003E0000001F0000001F0000000F8000000F80000007C0000007C0000003E 0000003E0000001F0000001F0000000F8000000F800000078000000300192E82AB15>65 D<700000000000FC0000000000FF00000000007FC0000000001FF00000000007FC0000000001FF 00000000007FC0000000001FF00000000007FC0000000001FF00000000007FC0000000001FF000 00000007FC0000000001FF00000000007FC0000000001FF00000000007FC0000000001FF000000 00007FC0000000001FF00000000007F80000000001FC00000000007C0000000000182E1982962A >72 D<600000000000F80000000000FC00000000007F00000000003F80000000000FE000000000 07F00000000001FC0000000000FE00000000003F80000000001FC00000000007F00000000003F8 0000000000FE00000000007F00000000001FC0000000000FE00000000003F80000000001FC0000 0000007F00000000003F80000000000FE00000000007F00000000001FC0000000000FE00000000 003F80000000001FC00000000007F00000000003F80000000000FC00000000007C000000000018 2E20829D2A>81 D<60000000F0000000F8000000F80000007C0000007E0000003E0000001F0000 001F0000000F8000000FC0000007C0000003E0000003E0000001F0000001F8000000F80000007C 0000007C0000003E0000003F0000001F0000000F8000000F80000007C0000007E0000003E00000 01F0000001F0000000F8000000FC0000007C0000003E0000003E0000001F0000001F8000000F80 000007C0000007C0000003E0000003F0000001F0000000F8000000F800000078000000301D2E82 AB19>84 D<000200000600001E00003E0000FE0001FE0007FF000FFF003FFF007FFF00FFFF003F FF801FFF8007FF8001FF8000FFC0007FC0001FC0000FC00007E00001E00000E000007000003000 0010000008151A79991C>94 D<600000000000F80000000000FE00000000007F00000000003FC0 000000000FF00000000003F80000000001FE00000000007F80000000001FC0000000000FF00000 000003FC0000000000FE00000000007F80000000001FE00000000007F80000000003FC00000000 00FF00000000003FC0000000000FE00000000007F80000000001FE00000000007F00000000003F C0000000000FF00000000003F80000000001FC00000000007C0000000000182E1D829A2A>98 D<010000000180000003C0000003E0000007F0000007F000000FF800000FFC00001FFE00001FFF 00003FFF80003FFFC0007FFFE0007FFFF000FFFFF800FFFFFC00001FFE0000001F000000008019 1370922A>106 D E /Fl 1 1 df0 D E /Fm 9 116 df<01E60007FF000E1F001C1F003C1E00381E00781E00781E00F03C00F03C00F03C00F0 3C80F07980E07980F0F98071FB003FBF001E1E0011127C9115>97 D<000FE0001FE00003E00003 C00003C00003C00003C000078000078000078000078001EF0007FF000E1F001C1F003C1E00381E 00781E00781E00F03C00F03C00F03C00F03C80F07980E07980F0F98071FB003FBF001E1E00131D 7C9C15>100 D<00F003FC0F0C1C0C3C0C380C78387FF0FFC0F000F000F000F0007008701C3878 3FE00F800E127C9113>I<0FE0001FE00003E00003C00003C00003C00003C00007800007800007 80000780000F3E000FFF000FC7800F07801F07801E07801E07801E07803C0F003C0F003C0F003C 1E20781E60781E60783C60781CC0F01F80600F00131D7E9C15>104 D<1C1F83E03F3FCFF06761 FC7867C1F078CF81F078CF01E0780F01E0780F01E0781E03C0F01E03C0F01E03C0F01E03C1E23C 0781E63C0781E63C0783C63C0781CC780F01F8300600F01F127D9122>109 D<1C1F003F7F8067E3C06783C0CF83C0CF03C00F03C00F03C01E07801E07801E07801E0F103C0F 303C0F303C1E303C0E60780FC030078014127D9117>I<00F80003FC000F0E001E07001C070038 0700780780780780F00F00F00F00F00F00F00E00F01E00F01C0070380078F0003FE0000F800011 127C9115>I<1C3C3F7E67C36787CF0FCF0F0F060F001E001E001E001E003C003C003C003C0078 00300010127D9112>114 D<01F007F806180E3C1C781E301F801FE01FF00FF007F820787070F0 70F060E0E07FC01F000E127D9111>I E /Fn 28 122 df<003F000001FF800003C1C1800781E1 800F00F1801E00F3003E00F3007C00FB007C007E007C007E00F8007C00F8007800F8007800F800 7800780078007801F8007803F8003C0E38C01FFC3F8007E00F001A147F931D>11 D<000F80003FC000706000E06001C00001C00003C00003C00003C00003F00001F80000FC00007E 0001FF0003DF00078F000F07001E07003E07007C07007C07007C0700F80600F80600F80E00F80C 00F80C00781C007818003830001FF0000FE00013207F9F14>14 D<78FCFCFEFE7E0606060C0C18 387020070F7D850D>59 D<000001C00000078000001E00000078000001E00000078000000E0000 003C000000F0000003C000000F0000003C000000F0000000F00000003C0000000F00000003C000 0000F00000003C0000000E0000000780000001E0000000780000001E0000000780000001C01A1A 7C9723>I62 D<00FFFFFF8000FFFFFF00000F800F00000F800700000F800700001F000300001F000300001F00 0300001F000600003E030600003E030600003E030000003E070000007C0E0000007FFE0000007F FE0000007C0E000000F80C000000F80C000000F80C000000F80C000001F000000001F000000001 F000000001F000000003E000000003E000000003E000000003E00000007FFF000000FFFF000000 211F7F9E1D>70 D<0000FE030007FF86001F81CE003C007E00F8003E01E0003C03C0001C078000 1C0F80001C0F0000181F0000183E0000183E0000003C0000007C0000007C0000007C0000007800 0000F800FFFCF800FFFCF80003E0780007C0780007C07C0007C03C0007C03C000F801E000F800F 001F8007E0778003FFE300007F0100201F7E9E24>I<00FFFE0000FFFE00000F8000000F800000 0F8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C0000 007C0000007C0000007C000000F8000000F8000000F8006000F8006001F000C001F000C001F001 8001F0018003E0038003E0070003E00F0003E03F007FFFFE00FFFFFE001B1F7F9E1F>76 D<00FFFFE000FFFFF8000F807C000F801E000F801E001F001F001F001F001F001F001F001F003E 003E003E003E003E003C003E0078007C00F8007C03E0007FFFC0007FFE0000F8000000F8000000 F8000000F8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E00000 7FFE0000FFFE0000201F7F9E1D>80 D<0001FC00000FFF00001F07C0007803E000F001E001E000 F003C000F0078000F80F8000781F0000781F0000783E0000783E0000F83C0000F87C0000F87C00 00F87C0000F8F80001F0F80001F0F80001E0F80003E0F80003C0780007C078000F807C1C0F003C 7E1E003EE33C001EC1F8000FC3E00007FF800000FF008000018080000181800001810000038700 0003FE000003FE000001FC000001F8000000F0001D287E9E24>I<0007E180001FF30000383F00 00F00F0000E00F0001E0060003C0060003C0060003C0060007C0000007C0000007E0000003FE00 0003FFC00003FFE00001FFF000007FF000000FF0000001F8000000F8000000F8000000F0003000 F0003000F0003000E0007001E0007001C000780380007E0F0000E7FE000081F80000191F7D9E1C >83 D<0FFFFFFC1FFFFFF81E03E0781803E0383803E0183007C0183007C0186007C0186007C030 C00F8030C00F8030000F8000000F8000001F0000001F0000001F0000001F0000003E0000003E00 00003E0000003E0000007C0000007C0000007C0000007C000000F8000000F8000000F8000001F8 00007FFFE0007FFFE0001E1F7F9E1B>I<007E0001FF0007C3800F01801E01803E01803C03007C 0E007FFC007FE000F80000F80000F800007800007800007801003803803C0F001FFC0007F00011 147F9315>101 D<0000F00003FC00073C00077C000F7C000F38000F00001E00001E00001E0000 1E00001E0003FFF007FFF0003C00003C00003C0000780000780000780000780000780000F80000 F00000F00000F00000F00000F00001E00001E00001E00001E00001C00003C00003C000738000FB 8000FF0000F70000FE000078000016297D9F16>I<003C6000FEF003C3E00783E00F01E00F01E0 1E03C03E03C03E03C03E03C07C07807C07807C07807C07807C0F003C0F003C1F001C3F000FFE00 079E00001E00001E00003C00703C00F83C00F87800F1F000FFE0003F0000141D7F9316>I<0070 00F800F800F000E000000000000000000000000007001FC039C031E061E063C0C3C00780078007 800F000F000F001E181E303C303C601CE01FC007000D1F7F9E10>105 D<0003800007C00007C0 00078000070000000000000000000000000000000000000000780000FE00018F00030F00060F00 060F000C1E00001E00001E00001E00003C00003C00003C00003C00007800007800007800007800 00F00000F00000F00000F00001E00071E000F9E000FBC000F78000FF00007C00001228809E13> I<00F0000FF0000FE00001E00001E00001E00003C00003C00003C00003C0000780000780000781 C00787E00F0E300F18F00F31F00F61F01EC1E01F81C01F80001FE0003DF0003C78003C78003C3C 307878607878607878407838C0F01F80600F0014207E9F18>I<0E03F03F003F8FF87F8033DC3D C3C063F03F81C063E01F01E063C01E01E0C7C03C03C007803C03C007803C03C007803C03C00F00 7807800F007807800F007807800F00780F0C1E00F00F181E00F01E181E00F01E301E00F00E703C 01E00FE01800C0038026147F9328>109 D<0E07E0003F8FF00033F8780063F0380063E03C0063 C03C00C78078000780780007807800078078000F00F0000F00F0000F00F0000F01E1801E01E300 1E03C3001E03C6001E01CE003C01FC001800700019147F931B>I<003F0001FFC003C1E00780F0 0F00F01E00F03E00F87C00F87C00F87C00F8F801F0F801F0F801F0F803E07803C0780780780F00 3C1E001FFC0007E00015147F9316>I<0E0F003FBF8033F18063E3C063C7C063C7C0C787800787 000780000780000F00000F00000F00000F00001E00001E00001E00001E00003C00001800001214 7F9315>114 D<007C01FE0387070F070F070E0F000FF007FC07FE03FE00FF001F780FF80EF80E F01C70383FF01FC010147E9315>I<0700181FC03C39C07831E07861E07863C078C3C0F00780F0 0780F00780F00F01E00F01E00F01E00F01E30F03C60F03C60F07C60F0FCC07F9FC01F07018147F 931A>117 D<0701C01FC3E039C3F031E3F061E1F063C0F0C3C0600780600780600780600F00C0 0F00C00F00C00F01800F01800F03000F0200078E0003FC0001F00014147F9316>I<070030701F C078F839C0F0FC31E0F0FC61E0F07C63C0F03CC3C1E0180781E0180781E0180781E0180F03C030 0F03C0300F03C0300F03C0600F03C0600F03C0C00F07C0C0078FE38003FCFF0001F07C001E147F 9321>I<07C3C00FE7E0187C603078F06079F06079F0C0F1E000F1C000F00000F00001E00001E0 0039E00079E030FBC060FBC060F3C0C0E7E3807CFF00383C0014147E931A>I<0700301FC07839 C0F031E0F061E0F063C0F0C3C1E00781E00781E00781E00F03C00F03C00F03C00F03C00F07800F 07800F07800F1F8007FF0001EF00000F00000F00381E007C1C007C3C0078780070F0003FE0001F 8000151D7F9316>I E /Fo 69 123 df<2008783CF83EF83EF83EF83EF83EF83EF83EF83EF83E F83E783C30180F0E7C9C18>34 D<03E00007F0000FF8000FF8001F7C001E3C001E3C001E3C001E 7FF01E7FF01EFFF01FFFF00FEF000FCF000F8F003F9F007F9E007FDE00FBFE00F3FC00F1FC00F0 F800F0F8F0F9FEF07FFFF07FFFF03FCFE01F07C0141C7F9B18>38 D<1C3E3F3F1F0F0F0F1F3E7E FCF870080E799B18>I<007800F801F803E007C00F801F001E003E003C007C0078007800F800F0 00F000F000F000F000F000F000F000F800780078007C003C003E001E001F000F8007C003E001F8 00F800780D247A9F18>I<7000F8007C003E001F000F8007C003C003E001E001F000F000F000F8 0078007800780078007800780078007800F800F000F001F001E003E003C007C00F801F003E007C 00F80070000D247C9F18>I<01C00001C00001E00001E000E1E380F9EF80FDFF80FFFF803FFE00 0FF8000FF8003FFE00FFFF80FDFF80F9EF80E1E38001E00001E00001C00001C00011147D9718> I<00600000F00000F00000F00000F00000F00000F00000F0007FFFC0FFFFE0FFFFE07FFFC000F0 0000F00000F00000F00000F00000F00000F00000600013147E9718>I<1E003F007F007F807F80 3F801F800F801F007F00FE00FC007000090D798618>I<7FFF00FFFF80FFFF807FFF0011047D8F 18>I<000300000780000F80000F80000F00001F00001F00003E00003E00003C00007C00007C00 00F80000F80000F00001F00001F00003E00003E00007C00007C0000780000F80000F80001F0000 1F00001E00003E00003E00007C00007C0000780000F80000F80000F0000060000011247D9F18> 47 D<01F00007FC000FFE001FFF001F1F003E0F807C07C07803C07803C0F001E0F001E0F001E0 F001E0F001E0F001E0F001E0F001E0F001E0F803E07803C07803C07C07C03E0F801F1F001FFF00 0FFE0007FC0001F000131C7E9B18>I<01C001C003C007C00FC03FC0FFC0FFC0FBC063C003C003 C003C003C003C003C003C003C003C003C003C003C003C003C07FFEFFFFFFFF7FFE101C7C9B18> I<07F8001FFE003FFF007FFF80FC1FC0F807C0F803E0F801E07001E00001E00001E00003E00003 C00007C0000F80001F00003E00007C0000F80001F00007E0000FC0001F81E03E01E07FFFE0FFFF E0FFFFE07FFFE0131C7E9B18>I<07F8001FFE003FFF007FFF807C0FC07C07C07C03C03803C000 03C00007C0001F8003FF0003FE0003FE0003FF00000F800003C00003E00001E00001E07001E0F8 03E0F803C0FC0FC07FFF807FFF001FFE0007F800131C7E9B18>I<003F00007F0000FF0000EF00 01EF0003CF0003CF00078F000F8F000F0F001F0F003E0F003C0F007C0F00F80F00FFFFF8FFFFF8 FFFFF8FFFFF8000F00000F00000F00000F00000F0000FFF001FFF801FFF800FFF0151C7F9B18> I<387CFEFEFE7C38000000000000387CFEFEFE7C380714789318>58 D<1C3E7F7F7F3E1C000000 0000001C3E7F7F7F3F1F1F1E7EFCF870081A799318>I<7FFFC0FFFFE0FFFFE0FFFFE000000000 0000000000000000FFFFE0FFFFE0FFFFE07FFFC0130C7E9318>61 D<0FF0003FFE007FFF00FFFF 00F81F80F80780F80F80703F80007F0000FE0001F80003F00003E00003C00003C00003C00003C0 0003800000000000000000000000000000000003800007C00007C00007C000038000111C7D9B18 >63 D<00F80000F80000F80001FC0001DC0001DC0001DC0003DE0003DE0003DE0003DE00038E00 078F00078F00078F00078F00078F000F07800FFF800FFF800FFF800FFF801E03C01E03C07F8FF0 FFDFF8FFDFF87F8FF0151C7F9B18>65 DI<01F8E003FFE00FFFE0 0FFFE01F87E03E03E07C03E07C01E07801E0F801E0F80000F00000F00000F00000F00000F00000 F00000F80000F801E07801E07C01E07C01E03E03E01F87C00FFF800FFF0003FE0001F800131C7E 9B18>I<7FF800FFFE00FFFF007FFF801E0FC01E07C01E03E01E01E01E01E01E01F01E00F01E00 F01E00F01E00F01E00F01E00F01E00F01E00F01E01F01E01E01E01E01E03E01E07C01E0FC07FFF 80FFFF00FFFE007FF800141C7F9B18>III<01F9C007FFC00FFFC01FFFC01F8FC03E07C07C07C07C03C07803C0F803C0F00000F000 00F00000F00000F00000F01FF0F03FF0F03FF0F81FF07803C07C07C07C07C03E07C01F8FC01FFF C00FFFC007FFC001FBC0141C7E9B18>I<7F8FF0FFDFF8FFDFF87F8FF01E03C01E03C01E03C01E 03C01E03C01E03C01E03C01FFFC01FFFC01FFFC01FFFC01E03C01E03C01E03C01E03C01E03C01E 03C01E03C01E03C01E03C07F8FF0FFDFF8FFDFF87F8FF0151C7F9B18>I<7FFF80FFFFC0FFFFC0 7FFF8001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000 01E00001E00001E00001E00001E00001E00001E00001E0007FFF80FFFFC0FFFFC07FFF80121C7D 9B18>I<7F8FF0FFDFF8FFDFF87F8FF01E0F801E0F801E1F001E3E001E3C001E7C001EF8001EF0 001FF8001FF8001FFC001FFC001FBC001F3E001F1E001E1F001E0F001E0F801E07801E07C07F87 F0FFCFF8FFCFF87F87F0151C7F9B18>75 D<7FF000FFF000FFF0007FF0000F00000F00000F0000 0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00F0 0F00F00F00F00F00F00F00F07FFFF0FFFFF0FFFFF07FFFF0141C7F9B18>II<7F8FF0FF9FF8FFDFF87FCFF01EC3C01EC3C01EE3C01EE3C01EE3C01EE3C01EE3C01E 73C01E73C01E73C01E73C01E73C01E73C01E3BC01E3BC01E3BC01E3BC01E3BC01E1BC01E1BC07F 9FC0FFDFC0FFCFC07F8FC0151C7F9B18>I<0FF8003FFE007FFF007FFF007C1F00F80F80F00780 F00780F00780F00780F00780F00780F00780F00780F00780F00780F00780F00780F00780F00780 F00780F00780F80F807C1F007FFF007FFF003FFE000FF800111C7D9B18>II<7FF800FFFC00FFFF007FFF801E1F801E07C01E03C01E03C01E03C01E03C01E07C01E 1F801FFF801FFF001FFE001FFF001E1F801E0F801E07801E07801E07801E07801E07BC1E07BC7F 87FCFFC3FCFFC1F87F80F0161C7F9B18>82 D<07F3801FFF803FFF807FFF807C1F80F80780F007 80F00780F00000F800007C00007FC0003FFC001FFF0007FF80007FC00007C00003E00001E00001 E07001E0F001E0F003E0FC07C0FFFFC0FFFF80FFFF00E7FC00131C7E9B18>I<7FFFF8FFFFF8FF FFF8FFFFF8F07878F07878F07878F0787800780000780000780000780000780000780000780000 780000780000780000780000780000780000780000780000780007FF8007FF8007FF8007FF8015 1C7F9B18>IIII91 D93 D<0E1F3F7E7CF8F0F0F0F8FCFC7C38080E789E18>96 D<1FF0003FFC007FFE007FFF007C1F8038078000078007FF801FFF803FFF807FFF80FC0780F007 80F00780F80F80FC3F807FFFF83FFFF81FFBF80FE1F815147E9318>I<7F0000FF0000FF00007F 00000F00000F00000F00000F00000F3F000FFFC00FFFE00FFFF00FE1F80F80F80F807C0F007C0F 003C0F003C0F003C0F003C0F807C0F807C0FC0F80FE3F80FFFF00FFFE00FFFC0073F00161C809B 18>I<01FE0007FF001FFF803FFF803F0F807C0700780000F80000F00000F00000F00000F00000 F803C07803C07C07C03F07803FFF801FFF0007FE0001F80012147D9318>I<001FC0003FC0003F C0001FC00003C00003C00003C00003C003F3C00FFFC01FFFC03FFFC07F0FC07C07C0F807C0F803 C0F003C0F003C0F003C0F003C0F807C0F807C07C0FC07E1FC03FFFF81FFFFC0FFBFC03F3F8161C 7F9B18>I<01F80007FE000FFF001FFF803F0FC07C03C07803E0F801E0FFFFE0FFFFE0FFFFE0FF FFE0F801E07801E07E03E03F87C01FFFC00FFF8007FF0001FC0013147E9318>I<000F80003FC0 007FE000FFE001F3E001E1C001E00001E0007FFFC0FFFFC0FFFFC0FFFFC001E00001E00001E000 01E00001E00001E00001E00001E00001E00001E00001E00001E0007FFF807FFF807FFF807FFF80 131C7F9B18>I<01F1F007FFF80FFFF81FFFF81F1F703E0F803C07803C07803C07803E0F801F1F 001FFF003FFE003FFC003DF0003C00003C00003FFF001FFFC03FFFE07FFFF0FC01F8F800F8F000 78F00078F800F87E03F07FFFF03FFFE00FFF8003FE00151F7F9318>I<7F0000FF0000FF00007F 00000F00000F00000F00000F00000F3F000FFF800FFFC00FFFE00FE3E00F81E00F81E00F01E00F 01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E07FE1FCFFF3FEFFF3FE7FE1FC171C809B 18>I<01C00003E00003E00003E00001C0000000000000000000000000007FE000FFE000FFE000 7FE00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000 FFFF80FFFFC0FFFFC0FFFF80121D7D9C18>I<001C003E003E003E001C00000000000000000FFE 1FFE1FFE0FFE001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E00 1E001E001E001E703EF87CFFF8FFF07FE03FC00F277E9C18>II< 7FF000FFF000FFF0007FF00000F00000F00000F00000F00000F00000F00000F00000F00000F000 00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0007FFFE0FFFFF0 FFFFF07FFFE0141C7E9B18>I<7EF8F800FFFDFC00FFFFFE007FFFFE001F9F9E001F1F1E001E1E 1E001E1E1E001E1E1E001E1E1E001E1E1E001E1E1E001E1E1E001E1E1E001E1E1E001E1E1E007F 9F9F80FFDFDFC0FFDFDFC07F8F8F801A14819318>I<7F3F00FFFF80FFFFC07FFFE00FE3E00F81 E00F81E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E07FE1FCFFF3FEFFF3 FE7FE1FC1714809318>I<01F0000FFE001FFF003FFF803E0F807C07C07803C0F001E0F001E0F0 01E0F001E0F001E0F803E07803C07C07C03E0F803FFF801FFF000FFE0001F00013147E9318>I< 7F3F00FFFFC0FFFFE07FFFF00FE1F80F80F80F807C0F007C0F003C0F003C0F003C0F003C0F807C 0F807C0FC0F80FE3F80FFFF00FFFE00FFFC00F3F000F00000F00000F00000F00000F00000F0000 7FE000FFF000FFF0007FE000161E809318>I<03F3C00FFFC01FFFC03FFFC07E1FC07C0FC0F807 C0F807C0F003C0F003C0F003C0F003C0F807C0F807C07C0FC07E1FC03FFFC01FFFC00FFBC007E3 C00003C00003C00003C00003C00003C00003C0003FFC003FFC003FFC003FFC161E7E9318>I<7F C7E0FFDFF0FFFFF87FFFF803FCF803F07003F00003E00003E00003C00003C00003C00003C00003 C00003C00003C0007FFF00FFFF80FFFF807FFF0015147F9318>I<0FFF003FFF007FFF00FFFF00 F80F00F00F00F00000FE00007FF0003FFC000FFE00007F00700F80F00780F80780FC1F80FFFF00 FFFF00FFFE00E7F80011147D9318>I<01C00003C00003C00003C00003C0007FFFC0FFFFC0FFFF C0FFFFC003C00003C00003C00003C00003C00003C00003C0C003C1E003C1E003C1E003C3E003E3 C001FFC001FF8000FF00007E0013197F9818>I<7F0FE0FF1FE0FF1FE07F0FE00F01E00F01E00F 01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F07E00FFFFC0FFFFE07FFFE03 FDFC1714809318>I<7F8FF0FF8FF8FF8FF87F8FF00F07800F07800F07800F8F80078F00078F00 078F00038E0003DE0003DE0003DE0001DC0001FC0001FC0001FC0000F80015147F9318>II<7F8FF0FF9FF0FF9FF07F8FF007 DF0003DE0003FC0001FC0000F80000F00000F80001FC0001FC0003DE00079F00078F007F8FF0FF 8FF8FF8FF87F8FF015147F9318>I<7F8FF0FF8FF8FF8FF87F8FF00F07800F07800F8780078780 078F00078F0003CF0003CE0003CE0001CE0001DE0001DC0000FC0000FC0000FC00007800007800 00780000F00000F0007DF0007FE0007FE0007FC0003F80001E0000151E7F9318>I<3FFFF07FFF F07FFFF07FFFF07807E0780FC0781F80003E00007C0000F80001F00003E00007C0F01F80F03F00 F07E00F0FFFFF0FFFFF0FFFFF0FFFFF014147F9318>I E /Fp 11 107 df0 D<78FCFCFCFC7806067D8D0D>I17 D<000000C0000003C000 000F0000003C000000F0000003C000000F0000001C00000078000001E00000078000001E000000 78000000E0000000780000001E0000000780000001E0000000780000001C0000000F00000003C0 000000F00000003C0000000F00000003C0000000C0000000000000000000000000000000000000 00000000000000000000FFFFFFC0FFFFFFC01A247C9C23>20 D<007FF801FFF80780000E00001C 0000380000300000700000600000600000E00000C00000C00000FFFFF8FFFFF8C00000C00000E0 00006000006000007000003000003800001C00000E000007800001FFF8007FF8151C7C981E>50 D<00000C00001C0000180000380000300000700000600000E00000C00001C00001800003800003 00000700000600000E00000C00001C0000180000380000300000300000700000600000E00000C0 0001C0000180000380000300000700000600000E00000C00001C00001800003800003000007000 00600000E00000C00000162A7A9F00>54 D<00060000060003FE0007FC001E1E001C0E00381F00 381F00701B80703B80703380F033C0F033C0F073C0F063C0F063C0F0E3C0F0C3C0F0C3C0F0C3C0 F1C3C0F183C0F183C0F383C0F303C07303807303807703803E07003E07001E0E001E1E000FFC00 0FF0001C000018000018000012257EA117>59 D91 D<001F007F00F801E003C003 C003C003C003C003C003C003C003C003C003C003C003C003C003C007800F00FE00F800FE000F00 078003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C001E000F8007F00 1F102D7DA117>102 DI106 D E /Fq 6 56 df<060C183830707060E0E0E0E0E0E0E0E0E0E06070703038180C0607 1A7F920C>40 D I<0C007C00FC009C001C001C001C001C001C001C001C001C001C001C00FF80FF8009107E8F0F> 49 D<1F007F80C3C0E1E0E0E000E001E001C0038007000E00186030607FC0FFC0FFC00B107F8F 0F>I<1F003F8073C073C023C003800F800F0003C001C001E041E0E1E0E1C07F803F000B107F8F 0F>I<60007FE07FE07FC0C180C180030006000E000C000C001C001C001C001C001C0008000B11 7E900F>55 D E /Fr 16 92 df<0006000C001800380070006000E001C001C003800380070007 000E000E001E001C001C003C003C0038003800780078007800780078007000F000F000F000F000 F000F000F000F000F000F000F000F000F000F000F000F000F000F0007000780078007800780078 00380038003C003C001C001C001E000E000E00070007000380038001C001C000E0006000700038 0018000C00060F4A788119>16 DI<0000300000600000C0000180000380000700000E00000C00001C 0000380000380000700000E00000E00001C00001C00003C0000380000380000700000700000F00 000E00000E00001E00001E00001C00001C00003C00003C00003C00003800007800007800007800 00780000780000780000700000F00000F00000F00000F00000F00000F00000F00000F00000F000 00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000007000 007800007800007800007800007800007800003800003C00003C00003C00001C00001C00001E00 001E00000E00000E00000F000007000007000003800003800003C00001C00001C00000E00000E0 00007000003800003800001C00000C00000E000007000003800001800000C00000600000301463 77811F>II<000018 0000300000700000E00000C0000180000380000700000700000E00000E00001C00003C00003800 00780000700000F00000F00001E00001E00001C00003C00003C00003C000078000078000078000 0F00000F00000F00001F00001F00001E00001E00001E00003E00003E00003E00003C00003C0000 7C00007C00007C00007C00007C00007C00007C0000780000780000F80000F80000F80000F80000 F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000 F80000F80000F80000F80000F80000F80000F80000F80000F800007800007800007C00007C0000 7C00007C00007C00007C00007C00003C00003C00003E00003E00003E00001E00001E00001E0000 1F00001F00000F00000F00000F000007800007800007800003C00003C00003C00001C00001E000 01E00000F00000F000007000007800003800003C00001C00000E00000E00000700000700000380 0001800000C00000E0000070000030000018157C768121>32 DIII<00000C0000180000380000300000700000E00000C0 0001C0000380000380000700000700000F00000E00001E00001C00003C00003C00007800007800 00F80000F00000F00001F00001E00003E00003E00003C00003C00007C00007C00007C0000F8000 0F80000F80000F80001F80001F00001F00001F00001F00003F00003F00003F00003E00003E0000 3E00003E00007E00007E00007E00007E00007E00007E00007E00007C00007C00007C0000FC0000 FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000 FC0000FC0000FC0000164B748024>48 DI64 D<0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00 00FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000F80000F80000F80001F800 01F80001F80001F80001F80001F80001F80001F00001F00001F00001F00003F00003F00003F000 03E00003E00003E00003E00007E00007C00007C00007C00007C0000F80000F80000F80000F0000 0F00001F00001F00001E00003E00003C00003C00007C0000780000780000F00000F00000E00001 E00001C00003C0000380000380000700000700000E00000C00001C000038000030000070000060 0000C00000164B7F8224>I80 D88 D<000000038000000007C00000000E 600000001CF00000001DF00000003DF000000039F000000038E000000078000000007800000000 7000000000F000000000F000000000F000000000F000000001E000000001E000000001E0000000 03E000000003E000000003C000000003C000000007C000000007C000000007C000000007C00000 000F800000000F800000000F800000000F800000001F800000001F800000001F000000001F0000 00003F000000003F000000003F000000003F000000003E000000007E000000007E000000007E00 0000007E000000007E00000000FC00000000FC00000000FC00000000FC00000001F800000001F8 00000001F800000001F800000001F800000001F000000003F000000003F000000003F000000003 F000000003E000000003E000000007E000000007E000000007C000000007C000000007C0000000 07C00000000F800000000F800000000F800000000F800000000F000000000F000000001F000000 001F000000001E000000001E000000001E000000003C000000003C000000003C000000003C0000 000078000000007800000000780000007070000000F8F0000000F8E0000000F9E0000000F1C000 000063800000003F000000001E00000000245C7E7F17>90 D<600000000300F00000000780F000 00000780F00000000780F00000000780F00000000780F00000000780F00000000780F000000007 80F00000000780F00000000780F00000000780F00000000780F00000000780F00000000780F000 00000780F00000000780F00000000780F00000000780F00000000780F00000000780F000000007 80F00000000780F00000000780F00000000780F00000000780F00000000780F00000000780F000 00000780F00000000780F00000000780F00000000780F00000000780F00000000780F000000007 80F00000000780F00000000780F00000000780F00000000780F00000000780F00000000780F800 00000F80F80000000F80780000000F007C0000001F007C0000001F003E0000003E003E0000003E 001F0000007C001F800000FC000FC00001F80007F00007F00003FC001FE00000FF80FF8000007F FFFF0000001FFFFC00000007FFF000000000FF800000293A7E7F2E>I E /Fs 11 111 df<07C00007E00001F00001F00000F00000F00000F800007800007800007C00003C 00003C00003E00003E00001E00001F00003F00007F0000EF0001CF8003C7800787800F07C01E03 C03C03C07803E0F801E0F001E0E000F0141D7E9C18>21 D<70F0F8F8781818183030706040050D 7D840C>59 D62 D<0003F800001FFE00007C0F8000F007C003E003C007C001E0078001E00F0001F01E0001F03E00 01F03E0001F07C0001F07C0001F07C0001F0F80003E0F80003E0F80003E0F80007C0F80007C0F8 000F80F8000F0078001F007C003E003C007C003E00F0001F83E00007FF800001FC00001C1C7E9B 20>79 D<01FFFF0003FFFFC0003C03E0003C01F0003C01F0003C01F0007801F0007801F0007801 F0007801E000F003E000F003C000F0078000F01F0001FFFE0001FFF00001E0000001E0000003C0 000003C0000003C0000003C0000007800000078000000780000007800000FFF80000FFF000001C 1C7E9B1B>I<1FFFFFF01FFFFFF03C0780F0380780607007806060078060600F0060C00F0060C0 0F0060C00F0060001E0000001E0000001E0000001E0000003C0000003C0000003C0000003C0000 0078000000780000007800000078000000F0000000F0000000F0000000F000007FFF80007FFF80 001C1C7F9B18>84 D<00F803FE071E0E1F1C3E381E78007800F000F000F000F000F000F004700E 383C1FF00FC010127F9112>99 D<00F803FE0F061E063C063806781C7FF8FFE0F000F000F000F0 007004700E383C1FF00FC00F127F9113>101 D<00E001E003E003E001C0000000000000000000 000F001F8033C063C04780C78007800F000F000F001E001E203C603C603CE03CC01F800F000B1C 7F9B0E>105 D<1E0FC1F8003F1FE3FC0067B0F61E0063E0FC1E00C7C0F81E00C780F01E000780 F01E000780F01E000F01E03C000F01E03C000F01E03C000F01E078401E03C078C01E03C078C01E 03C0F1801E03C0F3803C07807F001803003C0022127F9124>109 D<1E0F803F3FC067F1E063C1 E0C7C1E0C781E00781E00781E00F03C00F03C00F03C00F07841E078C1E078C1E0F181E0F383C07 F01803C016127F9119>I E /Ft 9 107 df0 D<070007000700E738FFF87FF01FC01FC07FF0FFF8E7380700070007000D0E7E8E12>3 D<0000300000F00003C0000700001E0000780001E0000780000E00003C0000F00000F000003C00 000E000007800001E000007800001E000007000003C00000F00000300000000000000000000000 00000000000000FFFFF0FFFFF0141E7D951B>20 D<0000018000000180000000C0000000E00000 0070FFFFFFFCFFFFFFF800000070000000E0000000C000000180000001801E0C7E8D23>33 D<0E1F1F1F1E3E3E3C3C7C78787070F0E06008117F910A>48 D<07C00FC01FF03FE03FFC7C7070 7EF018E03FC01CC01F800CC00F800CC007C00CC007E00CE00FF01C603DF83838F8FFF01FF03FE0 0FC00F801E0E7E8D23>I100 DI106 D E /Fu 51 123 df<0000FFC0FF00000FFFF7FFC0003FFFFFFFE000FFC0 FFCFF001FE01FF8FF003FC01FF0FF007FC01FF0FF007F801FE0FF007F801FE07E007F801FE0000 07F801FE000007F801FE000007F801FE000007F801FE000007F801FE0000FFFFFFFFF800FFFFFF FFF800FFFFFFFFF800FFFFFFFFF80007F801FE000007F801FE000007F801FE000007F801FE0000 07F801FE000007F801FE000007F801FE000007F801FE000007F801FE000007F801FE000007F801 FE000007F801FE000007F801FE000007F801FE000007F801FE000007F801FE000007F801FE0000 07F801FE000007F801FE00007FFF0FFFF0007FFF0FFFF0007FFF0FFFF0007FFF0FFFF0002C2A7F A928>11 D45 D<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A0A7C8913>I<000700001F00007F0007FF 00FFFF00FFFF00FFFF00F8FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF 0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF 0000FF0000FF0000FF0000FF0000FF007FFFFE7FFFFE7FFFFE7FFFFE17277BA622>49 D<00FF800007FFF0001FFFFC003FFFFE007E07FF807F01FF80FF80FFC0FF80FFC0FF807FE0FF80 7FE0FF803FE07F003FE01C007FE000007FE000007FE000007FC00000FFC00000FF800001FF0000 01FE000003FC000007F000000FE000001FC000003F0000007E01E0007C01E000F801E001F003C0 03C003C0078003C00FFFFFC01FFFFFC03FFFFFC07FFFFFC0FFFFFF80FFFFFF80FFFFFF80FFFFFF 801B277DA622>I<007F800003FFF00007FFFC000FFFFE001F83FF003FC1FF003FC0FF803FC0FF 803FE0FF803FC0FF801FC0FF800F81FF800001FF000001FF000003FE000007F80000FFF00000FF C00000FFF8000003FE000000FF000000FF8000007FC000007FC000007FE000007FE01C007FE07F 007FE0FF807FE0FF807FE0FF807FE0FF807FC0FF80FFC0FF00FF807F01FF003FFFFE001FFFFC00 07FFF00000FF80001B277DA622>I<00001F0000003F0000003F0000007F000000FF000001FF00 0001FF000003FF000007FF00000FFF00001F7F00001E7F00003C7F0000787F0000F87F0001F07F 0001E07F0003C07F0007807F000F807F000F007F001E007F003C007F007C007F00F8007F00FFFF FFF8FFFFFFF8FFFFFFF8FFFFFFF80000FF000000FF000000FF000000FF000000FF000000FF0000 7FFFF8007FFFF8007FFFF8007FFFF81D277EA622>I<180003001F803F001FFFFF001FFFFE001F FFFC001FFFFC001FFFF0001FFFE0001FFF80001FFC00001E0000001E0000001E0000001E000000 1E0000001E3FC0001FFFF8001FFFFC001F80FF001F007F801E007F8000003FC000003FC000003F E000003FE018003FE07E003FE0FF003FE0FF003FE0FF003FE0FF003FC0FF007FC0FE007FC07C00 FF803F01FF003FFFFE000FFFF80003FFE00000FF00001B277DA622>I<0007F000003FFC0000FF FE0001FFFF0007FC1F000FF03F800FE07F801FE07F803FC07F803FC07F807FC03F007F801E007F 8000007F800000FF820000FF9FF000FFFFFC00FFFFFE00FFE07F00FFE03F80FFC03FC0FFC03FC0 FF803FE0FF803FE0FF803FE0FF803FE0FF803FE07F803FE07F803FE07F803FE07F803FE03F803F C03FC03FC01FC07F800FE0FF0007FFFE0003FFFC0000FFF000003FC0001B277DA622>I<000007 C00000000007C0000000000FE0000000000FE0000000000FE0000000001FF0000000001FF00000 00003FF8000000003FF8000000003FF8000000007FFC000000007FFC00000000FFFE00000000F3 FE00000000F3FE00000001F3FF00000001E1FF00000003E1FF80000003C0FF80000003C0FF8000 0007C0FFC0000007807FC000000F807FE000000F003FE000000F003FE000001F003FF000001E00 1FF000003FFFFFF800003FFFFFF800003FFFFFF800007FFFFFFC0000780007FC0000F80007FE00 00F00003FE0000F00003FE0001F00003FF0001E00001FF00FFFF003FFFFEFFFF003FFFFEFFFF00 3FFFFEFFFF003FFFFE2F297EA834>65 DI<00003F F003800003FFFE0780000FFFFF8F80003FFFFFFF8000FFF807FF8001FF8001FF8007FF00007F80 0FFC00003F800FF800001F801FF800001F803FF000000F803FF000000F807FE0000007807FE000 0007807FE000000780FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000 FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC0000000007FE000 0000007FE0000007807FE0000007803FF0000007803FF000000F801FF800000F800FF800001F00 0FFC00001F0007FF00003E0001FF8000FC0000FFF803F800003FFFFFF000000FFFFFC0000003FF FF000000003FF0000029297CA832>IIII<00007FE007000003FF FC0F00001FFFFF1F00007FFFFFFF0000FFF00FFF0003FF8001FF0007FE0000FF000FFC00007F00 0FF800003F001FF000003F003FF000001F003FE000001F007FE000000F007FE000000F007FE000 000F00FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000 FFC000000000FFC000000000FFC000000000FFC003FFFFF8FFC003FFFFF87FE003FFFFF87FE003 FFFFF87FE00001FF003FE00001FF003FF00001FF001FF00001FF000FF80001FF000FFC0001FF00 07FE0001FF0003FF8003FF0000FFF007FF00007FFFFFFF00001FFFFFBF000003FFFE0F0000007F F003002D297CA836>III76 DII<0000FFE000000007FFFC0000003FFF FF8000007FC07FC00001FF001FF00003FC0007F80007F80003FC000FF80003FE001FF00001FF00 1FF00001FF003FE00000FF803FE00000FF807FE00000FFC07FC000007FC07FC000007FC07FC000 007FC0FFC000007FE0FFC000007FE0FFC000007FE0FFC000007FE0FFC000007FE0FFC000007FE0 FFC000007FE0FFC000007FE0FFC000007FE0FFC000007FE07FC000007FC07FE00000FFC07FE000 00FFC03FE00000FF803FE00000FF801FF00001FF001FF00001FF000FF80003FE0007FC0007FC00 03FE000FF80001FF001FF00000FFC07FE000003FFFFF8000000FFFFE00000000FFE000002B297C A834>II 82 D<007F80E003FFF1E00FFFFFE01FFFFFE03FC07FE03F001FE07F000FE07E0007E0FE0003E0 FE0003E0FE0001E0FF0001E0FF0001E0FF800000FFF80000FFFF80007FFFF8007FFFFE003FFFFF 001FFFFFC00FFFFFC007FFFFE001FFFFF0003FFFF00001FFF800001FF800000FF8000007F8F000 07F8F00003F8F00003F8F00003F8F80003F8FC0007F0FE0007F0FF000FE0FFE01FE0FFFFFFC0FF FFFF00F0FFFE00E01FF0001D297CA826>I<7FFFFFFFFFC07FFFFFFFFFC07FFFFFFFFFC07FFFFF FFFFC07F807FC03FC07E007FC00FC07C007FC007C07C007FC007C0F8007FC003E0F8007FC003E0 F8007FC003E0F0007FC001E0F0007FC001E0F0007FC001E0F0007FC001E0F0007FC001E000007F C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC00000 00007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC00000 00FFFFFFE00000FFFFFFE00000FFFFFFE00000FFFFFFE0002B287EA730>I<01FF80000FFFF000 1FFFFC003FC1FE003FC0FF003FC0FF003FC07F803FC07F800F007F8000007F800000FF80007FFF 8003FFFF800FFFFF803FF07F807FC07F807F807F80FF807F80FF007F80FF007F80FF007F80FF80 FF807F81FF807FC3FFFC3FFFFFFC0FFF1FFC01FC07FC1E1B7E9A21>97 DI<001FF00000FFFE0003FFFF000FF07F801FE07F803FC07F803FC0 7F807FC07F807F801E00FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF 800000FF8000007FC000007FC000003FC003C03FE007C01FF007C00FFC1F8003FFFF0000FFFC00 001FE0001A1B7E9A1F>I<00007FF80000007FF80000007FF80000007FF800000007F800000007 F800000007F800000007F800000007F800000007F800000007F800000007F800000007F8000000 07F800000007F800003FC7F80001FFF7F80003FFFFF8000FF83FF8001FE00FF8003FC007F8003F C007F8007FC007F8007F8007F800FF8007F800FF8007F800FF8007F800FF8007F800FF8007F800 FF8007F800FF8007F800FF8007F800FF8007F8007F8007F8007F8007F8003FC007F8003FC00FF8 001FE01FF8000FF07FFF8007FFFFFF8001FFF7FF80003F87FF80212A7EA926>I<003FE00001FF F80003FFFE000FF07F001FE03F803FC03FC03FC01FC07F801FC07F800FE0FF800FE0FF800FE0FF FFFFE0FFFFFFE0FFFFFFE0FF800000FF800000FF800000FF8000007F8000007FC000003FC001E0 3FE003E01FF003C00FFC0FC003FFFF8000FFFE00001FF0001B1B7E9A20>I<0003F800001FFE00 007FFF0001FF7F8003FE7F8003FC7F8007F87F8007F87F8007F83F0007F8000007F8000007F800 0007F8000007F8000007F80000FFFFC000FFFFC000FFFFC000FFFFC00007F8000007F8000007F8 000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007 F8000007F8000007F8000007F8000007F8000007F8000007F800007FFFC0007FFFC0007FFFC000 7FFFC000192A7EA915>I<00FF81F003FFEFF80FFFFFFC1FC1FEFC3FC1FEFC3F80FEFC7F80FF30 7F80FF007F80FF007F80FF007F80FF007F80FF003F80FE003FC1FE001FC1FC001FFFF8001FFFE0 003CFF80003C0000003E0000003E0000003FFFF8003FFFFF003FFFFFC01FFFFFE00FFFFFF01FFF FFF03FFFFFF87E000FF8FE0003F8FC0001F8FC0001F8FC0001F8FE0003F87E0003F07F0007F03F C01FE00FFFFF8003FFFE00007FF0001E287E9A22>II<07800FE01FF03FF03FF03FF03FF01FF00FE00780000000000000000000000000FFF0 FFF0FFF0FFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F F00FF00FF0FFFFFFFFFFFFFFFF102B7EAA13>I 107 DIII<003FE00001FFFC0003FFFE000FF07F801FC01FC03FC01FE03F800FE07F800FF07F800FF0 7F800FF0FF800FF8FF800FF8FF800FF8FF800FF8FF800FF8FF800FF8FF800FF8FF800FF87F800F F07F800FF03F800FE03FC01FE01FE03FC00FF07F8007FFFF0001FFFC00003FE0001D1B7E9A22> II<003FC0780000FFF0F80003FFF9F8000FF83FF8001FF01FF8003FE00FF8003F E00FF8007FC007F8007FC007F800FF8007F800FF8007F800FF8007F800FF8007F800FF8007F800 FF8007F800FF8007F800FF8007F800FF8007F8007FC007F8007FC007F8003FC007F8003FE00FF8 001FF01FF8000FF87FF80007FFFFF80001FFF7F800003F87F800000007F800000007F800000007 F800000007F800000007F800000007F800000007F800000007F80000007FFF8000007FFF800000 7FFF8000007FFF8021277E9A24>II<03FE700FFFF03FFFF07E03F07C01 F0F800F0F800F0FC00F0FF0000FFF800FFFF007FFFC07FFFF03FFFF80FFFF803FFFC003FFC0001 FCF000FCF0007CF8007CF8007CFC00F8FF01F8FFFFF0FFFFC0E1FE00161B7E9A1B>I<00780000 780000780000780000F80000F80000F80001F80003F80003F80007F8001FFFF0FFFFF0FFFFF0FF FFF007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007 F87807F87807F87807F87807F87807F87807F8F803FCF001FFF000FFC0003F8015267FA51B>I< FFF07FF800FFF07FF800FFF07FF800FFF07FF8000FF007F8000FF007F8000FF007F8000FF007F8 000FF007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007 F8000FF007F8000FF007F8000FF007F8000FF007F8000FF00FF8000FF00FF8000FF01FF80007F8 3FFF8007FFFFFF8001FFF7FF80007FC7FF80211B7D9A26>IIIII<3FFFFF803FFFFF803FFFFF803F81FF003E03FF003C07 FE007C07FC007C0FF800781FF800781FF000783FE000007FE00000FFC00000FF800001FF878003 FF078003FE078007FC07800FFC0F800FF80F801FF00F003FF01F007FE03F007FC0FF00FFFFFF00 FFFFFF00FFFFFF00191B7E9A1F>I E /Fv 7 113 df<07C01FC0380070007F80FF80E000600070 803F801F000A0B7E8A0D>15 D<183C307E60FE61C76183C306E306761C7FF83FF00FC00E000C00 1C001C00180010107E8A14>39 D<07801FC039C070807000E000E000E00060407FC01F800A0B7E 8A0E>99 D<06070600000000387CCEDC1C38383B767E3C08127F910B>105 D<3C78F0007FFDFC00CF8F1C00CF0E1C000E0E1C001C1C38001C1C38001C1C39801C1C73003838 7F0018183C00190B7F8A1B>109 D<3CF0007FFC00CF1C00CE1C000E1C001C38001C38001C3980 1C7300387F00183C00110B7F8A13>I<1E703FFC678C670E070E0E1C0E1C0E1C0E381FF01DC01C 001C003800FE00FE000F10808A10>112 D E /Fw 39 121 df<007801FC038607000700060007 00078003C001E007F00E781C383C38781878187838F0307030706070603FC01F8002000F188096 10>14 D<03F00FE03C0078007000FFC0FFC0F000F000F000F00078603FE00F800C0E7F8D0E>I< 0601800E03800E03800E03801C07001C07001C07001C0700380E00380E60381E603C3E407FEFC0 77C780700000700000E00000E00000E00000C0000013147F8D15>22 D<7C0180FC03801C03801C 0700380700380E00380E00381C0070780070F00073C0007F8000FE0000F00000110E7F8D11>I< 0FFFE01FFFF03FFFE0718C00C18C00019C00039C00031C00031C00071C00071C000E1E000E0E00 0C0C00140E808D14>25 D<180780301FC0603FE06070E0C06060C0C060C0C060C180C0C180C0E1 83807B0F003FFE001FFC0007F0000700000600000E00000E00000E00000C000013147E8D17>39 D<70F8F8F87005057E840A>58 D<70F0F8F878181830306040050B7E840A>I<0000300000F000 03C0000700001E0000780001E0000780000E00003C0000F00000F000003C00000E000007800001 E000007800001E000007000003C00000F000003014167D921B>I<001800180038003000300070 0060006000E000C001C0018001800380030003000700060006000E000C000C001C001800380030 003000700060006000E000C000C0000D217E9812>II<0000C00001C00001E00003E00003E00007E0000DE000 0DE00019E00019E00031E00071E00061E000C1F000C1F001FFF003FFF00300F00600F00600F00E 00F07F87FEFF07FE17177F961A>65 D<001F8600FFCC03E07C07803C0F003C1E00183C00183800 18780018700000F00000F00000F00000E00000E00060E00060E000C0F000C07001807803003E0E 001FFC0007E00017177E9619>67 D<07FF3FF807FF3FF800F0078000F0078000F0078001E00F00 01E00F0001E00F0001E00F0003C01E0003FFFE0003FFFE0003C01E0007803C0007803C0007803C 0007803C000F0078000F0078000F0078000F007800FFE7FF00FFC7FE001D177F961D>72 D<07F80FF807F80FF800FC018000FC018000FE0180019E0300019E0300018F0300018F03000307 8600030786000307C6000303C6000603CC000601EC000601EC000600FC000C00F8000C00F8000C 0078001C007800FF803000FF0030001D177F961C>78 D<001FC0007FF001F07803C03C07001C0F 001E1E001E1C001E3C001E38001E78001E78001E78001E78003CF0003C7000787800787800F078 01E03C03C01E0F800FFE0003F00017177F961B>I<07FFF00007FFFC0000F01E0000F00F0000F0 0F0001E00F0001E00F0001E00F0001E01E0003C07C0003FFF00003FFE00003C0F0000780780007 80780007807800078078000F00F0000F00F0000F00F1800F00F380FFE07F00FFC03E0019177F96 1B>82 D<003E3000FF6001C1E00300E00700E00E00C00E00C00F00000F80000FF80007FE0003FF 0000FF80000F80000780000380300380600700700700700E00781C00FFF80087E00014177E9615 >I<03CC0FFC1C3C383C7038F038F038F038E070E073E0F3F1F27FFE1E3C100E7F8D13>97 D<7E007C001C001C001C00380038003800380077C07FE078707078E078E078E078E078C0F0C0F0 C0E0E3C07F803E000D177F960F>I<03E00FF01C7838787870F000F000F000E000E000E0107070 3FE01F800D0E7F8D0F>I<03E00FF03C1878187070FFE0FF80F000E000E000F01070703FE01F80 0D0E7F8D10>101 D<1F80001F00000700000700000700000E00000E00000E00000E00001CF800 1DFE001F0E001E0E003C0E003C0E00380E00381C00701C00701CC07038C0703980E01F00600E00 12177F9614>104 D<018003C003C00180000000000000000000001E003F0067006700C7000E00 0E000E001C001CC038C039801F000E000A1780960C>I<0018003C003C00180000000000000000 000001E003F006380C38187000700070007000E000E000E000E001C001C001C071C0F380F700FE 007C000E1D80960E>I<1F801F000700070007000E000E000E000E001C1E1C3E1C671DCF3B1E3F 0C3FC039E070E070E370E370E6E07C603810177F9612>I<3F3E0E0E0E1C1C1C1C383838387070 7070E0E6E6E4FC7808177F960B>I<1C3E0F803E7FBFC067C3F1C06783E1C0CF03C1C00F0381C0 0E0381C00E0383801C0703801C0703981C0707181C070730380E03E0180601C01D0E808D1F>I< 1C3E003E7F8067C380678380CF03800F03800E03800E07001C07001C07301C0E301C0E603807C0 180380140E808D15>I<03E00FF81C1C381E781EF01EF01EF01EE03CE03CE07870F03FC01F000F 0E7F8D11>I<0E3E001F7F0033C3803383C06703C00703C00703C00703C00E07800E07800E0700 0F1E001FFC001DF0001C00001C0000380000380000FF0000FE00001214818D12>I<03C40FEC1C 3C383C7038F038F038F038E070E070E0F0F1F07FE01EE000E000E001C001C00FF80FF00E147F8D 10>I<1C703FF8679C673CCE780E300E000E001C001C001C001C00380018000E0E808D10>I<07C0 0FE01CF01CF03CE03F801FC00FE001E0F0E0F0E0E1C0FF803F000C0E7E8D10>I<060007000E00 0E000E000E00FFC0FFC01C001C003800380038003800700070C070C071807F003E000A147F930D >I<1E01803F0380670380670380C707000E07000E07000E07001C0E001C0E601C1E600E3E400F FFC003C780130E808D14>I<1E0C3F1E671F670FC7060E060E060E061C0C1C0C1C180E380FF003 C0100E808D11>I<1E030C3F071E67071F67070FC70E060E0E060E0E060E0E061C1C0C1C1C0C1C 1C180E3E180FFFF003C3E0180E808D19>I<0F1E003FBF0071E38060E780C1CF0001C60001C000 01C000638000F38300F38300E78600FFFC0038F800110E7F8D14>I E /Fx 32 113 df0 D<78FCFCFCFC7806067C8E0E>II<03F0000FFC 001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC07FFF 807FFF803FFF001FFE000FFC0003F00012147D9519>15 D17 D<001FFFFC007FFFFC01E00000078000000E0000001C000000380000003000000070000000 60000000E0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000E00000 00600000007000000030000000380000001C0000000E0000000780000001E00000007FFFFC001F FFFC00000000000000000000000000000000000000000000000000000000000000007FFFFFFC7F FFFFFC1E277C9F27>I<0000000C0000003C000000F0000003C000000F0000003C000000F00000 07C000001F00000078000001E00000078000001E00000078000000E0000000780000001E000000 0780000001E0000000780000001F00000007C0000000F00000003C0000000F00000003C0000000 F00000003C0000000C000000000000000000000000000000000000000000000000000000000000 0000FFFFFFFCFFFFFFFC1E277C9F27>20 DI<07E000010FF800011FFC0001381E 0003700780036003C006C001E00EC000781C80003FF880001FF0800007E0200B7D9127>24 D<07E000011FF800013FFE0001781F000360078003C001E006C000F81E80007FFC80001FF88000 07E0000000000000000007E000011FF800013FFE0001781F000360078003C001E006C000F81E80 007FFC80001FF8800007E020167D9727>I<001FFFFC00FFFFFC01E00000078000000E0000001C 0000003800000030000000700000006000000060000000E0000000C0000000C0000000C0000000 C0000000C0000000C0000000E000000060000000600000007000000030000000380000001C0000 000E0000000780000001E0000000FFFFFC001FFFFC1E1E7C9A27>I<0000001800600000007801 E0000001E00780000003800E0000000F003C0000003C00F0000000F003C0000003C00F00000007 001C0000001E00780000007801E0000001E00780000007801E0000000E00380000003C00F00000 00F003C0000000F003C00000003C00F00000000E003800000007801E00000001E0078000000078 01E00000001E007800000007001C00000003C00F00000000F003C00000003C00F00000000F003C 00000003800E00000001E007800000007801E00000001800602B207D9B32>28 D<000000006000000000003000000000003000000000001800000000001800000000000C000000 00000600000000000380FFFFFFFFFFE0FFFFFFFFFFC0000000000380000000000600000000000C 000000000018000000000018000000000030000000000030000000000060002B127D9432>33 D<0000006000000000006000000000003000000000001800000000001800000000000C00000000 00060000000000030000FFFFFFFF8000FFFFFFFFC000000000007000000000001C00000000000F 800000000003E0000000000780000000001E00000000003800000000006000FFFFFFFFC000FFFF FFFF80000000000700000000000600000000000C00000000001800000000003000000000003000 000000006000000000006000002B1C7D9932>41 D<01F80003F00007FF000FFC000FFF803F8E00 1E1FE07C03003807F0F001807003F9E000C06001FBC000C0E000FF800060C0007F000060C0003F 000060C0003F800060C0001F800060C0001FC00060C0003FE000E060007BF000C06000F3F801C0 3001E1FC03801807C0FF0F000E3F803FFE0007FE001FFC0001F80003F0002B157D9432>49 D<001FFF00FFFF01E0000780000E00001C0000380000300000700000600000600000E00000C000 00C00000FFFFFFFFFFFFC00000C00000E000006000006000007000003000003800001C00000E00 0007800001E00000FFFF001FFF181E7C9A21>I<00000300000700000600000E00000C00001C00 00180000380000300000700000600000E00000C00001C000018000038000030000070000060000 0E00000C00001C0000180000180000380000300000700000600000E00000C00001C00001800003 80000300000700000600000E00000C00001C0000180000380000300000700000600000E00000C0 0000182E79A200>54 D 56 D<00030000030001FF0007FE000F0F001C07803C0FC0380DC0380DC0700CE0701CE07018E0 F018F0F018F0F038F0F030F0F030F0F030F0F070F0F060F0F060F0F0E0F0F0C0F0F0C0F0F0C0F0 F1C0F0F180F07180E07180E07B81E03B01C03B01C03F03C01F03800F0F0007FE0007F8000E0000 0C00000C000014287EA419>59 D<0F800FC0001FC07FE00038E1F3E000307383F000607F01F000 603E01F800603C00FC00703C00FC00303E007E00383E003E001C3E003F000E3E001F00063E001F 80073E000F00033E003C00033E00F000033FFFC000033FFF0000633E0F8000673E0F8000663E0F 80003E3E0F80001C3E0F8000003E0F8000003E0F8000003E0F8000003E0F8000003C0F8000003C 0F8000703C0F8000E0380F8000307807C700387007CE001FE003F80007C000F00021237EA224> I<0000000F000000001F000000001F000000003F000000007F000000007F00000000FF00000000 DF00000001DF000000019F000000039F000000071F000000071F0000000E1F0000000C1F000000 1C1F000000381F000000381F000000701F000000E01F000000E01F000001C01F000003801F0000 03801F000007FFFF00000FFFFF00001FFFFF80001C001F802038001F806070000F8070F0000F80 FFE0000FC0FFC0000FCEFF80000FFEFF000007F87E000007E03C0000000027257EA328>65 D<00380FF000F87FF803F8FFFC07FBC1FC0EFF80FC00FF007C00FE007C01FE007801FC00F801FC 00F001F801E001F807C001F01F0003F07C0003E3FF0003E7FFC003E7FFE003C01FF007C007F007 C003F807C001F8078001F80F8000F80F8000F80F8000F80F0000F01F0001F01F0001E01E0003C0 3EE007803DFC1E007FFFFC007BFFF000E07F80001E227FA121>I<000007C000001FE000007FF0 0001FFF00003C7F0000783E0000F03E0001F0380001E0200003E0000003C0000007C0000007800 0000F8000000F8000001F0000001F0000001F0000003E0000003E0000003E0000007E0000007C0 000007C0000007C000000F8000080F80003C0F0000781FFC00F81FFFE0F03FFFFFE07FFFFF80F0 7FFF00C003F8001F227EA122>76 D91 D98 D<0030003000300030003000300030003000300030003000300030 003000300030003000300030003000300030003000300030003000300030003000300030003000 30003000300030003000300030003000300030003000300030003000300030FFF0FFF00C3280A4 16>III<0007C0003FC0007C0000F00001E00001E0 0001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0 0001E00003C00003C0000F8000FE0000F80000FE00000F800003C00003C00001E00001E00001E0 0001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0 0000F000007C00003FC00007C012317DA419>II106 D<0000000003000000000300000000070000000006000000000E000000000C000000001C000000 0018000000003800000000300000000070000000006000000000E000000000C000000001C00000 00018000000003800000000300000000070000000006000000000E000000000C000000001C0000 00001800000000380003000030000F000070001F800060003F8000E000E7C000C00047C001C000 03E001800003E003800003E003000001F007000001F006000000F80E000000F80C0000007C1C00 00007C180000003E380000003E300000001F700000001F600000000FE00000000FC000000007C0 000000078000000003800000000300000028327D812A>112 D E /Fy 47 123 df<000180000300000600000C00001C0000380000700000600000E00001C00001C0000380 000380000700000700000F00000E00001E00001E00001C00003C00003C00003800003800007800 00780000700000700000700000700000F00000F00000F00000F00000F00000F000007000007000 007000007000007000003000003800001800001C00000C0000112E7AA113>40 D<001800000C00000E000006000007000007000003000003800003800003800003800003800003 80000380000380000380000380000780000780000780000700000700000F00000F00000E00000E 00001E00001C00001C00003C0000380000380000700000700000E00000E00001C00001C0000380 000700000600000C00001C0000380000600000C00000112E80A113>I<7FF07FF0FFE07FE00C04 7D8B10>45 D<00020006000E001C003C01FC07BC067800780078007800F000F000F000F001E001 E001E001E003C003C003C003C00780078007800780FFF8FFF80F1D7B9C17>49 D<001F80007FC000E0E00180700330780338780618780E30780C30780C60780CE0780FC0F00700 E00001E00003C0000700001E0000380000E00003C0000700000E00301C00701800603F81E07FFF C061FF80C07F00C03C00151D7D9C17>I<07000F801F801F801F000E0000000000000000000000 00000000000038007C00FC00FC00F800700009147B930E>58 D<0000060000000E0000000E0000 001F0000001F0000003F0000003F0000007F000000DF000000DF0000019F0000019F0000031F00 00031F0000061F00000C1F00000C1F0000181F0000181F8000300F80003FFF80007FFF8000E00F 8000C00F8001800F8001800F8003000F8003000F800F000F807FE0FFF8FFC0FFF81D1F7E9E22> 65 D<01FFFFC001FFFFF0001F00F8001F0078001F007C003E007C003E007C003E007C003E007C 007C00F8007C00F8007C01F0007C03E000F80FC000FFFF0000FFFF8000F807C001F003E001F003 E001F001E001F001E003E003E003E003E003E003E003E003C007C007C007C00F8007C01F0007C0 3E00FFFFFC00FFFFE0001E1F7D9E20>I<0000FC060007FF0C001F819C007C00FC00F0007C01E0 007803C00038078000380F8000380F0000301F0000303E0000303E0000003C0000007C0000007C 0000007C00000078000000F8000000F8000000F80000C07800018078000180780003007C000300 3C0006001E000C000F00380007C0F00003FFC00000FE00001F1F7A9E21>I<01FFFF8001FFFFE0 001F01F0001F0078001F003C003E003C003E001E003E001E003E001E007C001E007C001E007C00 1E007C001E00F8003E00F8003E00F8003E00F8003E01F0007C01F0007C01F0007C01F0007803E0 00F003E000F003E001E003E003C007C007C007C00F8007C01E0007C07C00FFFFF000FFFFC0001F 1F7D9E22>I<01FFFFFE01FFFFFC001F003C001F001C001F001C003E000C003E000C003E000C00 3E0018007C0C18007C0C18007C0C00007C1C0000F8380000FFF80000FFF80000F8380001F03000 01F0300001F0303001F0306003E0006003E0006003E000C003E001C007C0018007C0038007C007 0007C01F00FFFFFF00FFFFFE001F1F7D9E1F>I<0001FC0C0007FF18001F03B8007C01F800F000 F801E000F003C00070078000700F8000700F0000601F0000603E0000603E0000007C0000007C00 00007C0000007C000000F8000000F801FFF0F801FFF0F8000F8078001F0078001F0078001F007C 001F003C003E001E003E001F007E000FC1DE0003FF8C0000FE04001E1F7A9E23>71 D<01FFF3FFE001FFF3FFE0001F007C00001F007C00001F007C00003E00F800003E00F800003E00 F800003E00F800007C01F000007C01F000007C01F000007C01F00000F803E00000FFFFE00000FF FFE00000F803E00001F007C00001F007C00001F007C00001F007C00003E00F800003E00F800003 E00F800003E00F800007C01F000007C01F000007C01F000007C01F0000FFF9FFF000FFF9FFE000 231F7D9E22>I<01FFF801FFF8001F00001F00001F00003E00003E00003E00003E00007C00007C 00007C00007C0000F80000F80000F80000F80001F00001F00001F00001F00003E00003E00003E0 0003E00007C00007C00007C00007C000FFFC00FFFC00151F7E9E12>I<01FFF87FE001FFF87FE0 001F001F00001F001C00001F003000003E006000003E00C000003E018000003E070000007C0E00 00007C1C0000007C300000007C70000000F8F8000000F9F8000000FBF8000000FE7C000001FC7C 000001F87C000001F03E000001F03E000003E03E000003E03F000003E01F000003E01F000007C0 1F800007C00F800007C00F800007C00FC000FFFC7FF800FFF87FF800231F7D9E23>75 D<01FFFC0001FFFC00001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C 0000007C0000007C0000007C000000F8000000F8000000F8000000F8000001F0000001F0000001 F0018001F0018003E0030003E0030003E0060003E0060007C00E0007C01C0007C03C0007C0FC00 FFFFF800FFFFF800191F7D9E1D>I<01FF8001FFC001FF8001FFC0001F8003F800001F8003F800 001F8006F80000378007F0000037800DF0000037800DF00000378019F00000678033E000006780 33E00000678063E00000678063E00000C3C0C7C00000C3C0C7C00000C3C187C00000C3C187C000 0183C30F80000183C60F80000183C60F80000183CC0F80000303CC1F00000303D81F00000303D8 1F00000303F01F00000603F03E00000603E03E00000603C03E00000E03C03E0000FFE387FFE000 FFC387FFC0002A1F7D9E29>I<01FF80FFE001FF80FFE0001F801E00001FC00C00001FC00C0000 37C018000033E018000033E018000033E018000063F030000061F030000061F030000061F83000 00C0F8600000C0F8600000C0FC600000C07C600001807CC00001807CC00001803EC00001803EC0 0003003F800003001F800003001F800003001F800006000F000006000F000006000F00000E000F 0000FFE0060000FFC0060000231F7D9E22>I<01FFFF8001FFFFE0001F01F0001F0078001F0078 003E007C003E007C003E007C003E007C007C00F8007C00F8007C00F0007C01E000F803E000F80F 8000FFFF0000FFF80001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0 000007C0000007C0000007C0000007C00000FFFC0000FFF800001E1F7D9E1F>80 D<01FFFF0001FFFFC0001F03E0001F00F0001F00F8003E00F8003E00F8003E00F8003E00F8007C 01F0007C01F0007C03E0007C07C000F81F0000FFFE0000FFF80000F83C0001F03E0001F01E0001 F01F0001F01F0003E03E0003E03E0003E03E0003E03E0007C07C0007C07C1807C07C1807C03E30 FFFC1FE0FFF80FC01D1F7D9E21>82 D<0007E0C0001FF980003C1F800070078000E0078001E003 0003C0030003C0030003C0030007C0000007C0000007F0000003FE000003FFC00001FFE00000FF F000007FF8000007F8000000FC0000007C0000007C000000780030007800300078003000700070 00F0007001E0007801C0007E078000E7FF000081FC00001A1F7D9E1A>I<0FFFFFF01FFFFFE01E 07C1E01807C0E03807C060300F8060300F8060600F8060600F80C0C01F00C0C01F00C0001F0000 001F0000003E0000003E0000003E0000003E0000007C0000007C0000007C0000007C000000F800 0000F8000000F8000000F8000001F0000001F0000001F0000003F00000FFFF8000FFFF80001C1F 789E21>I86 D<00F18003FBC0070F800E0F801C07803C07803C 0F00780F00780F00780F00F01E00F01E00F01E00F01E30F03C60F03C60707C6070FCC03F9F800F 0F0014147C9317>97 D<03C0003FC0003F80000780000780000780000F00000F00000F00000F00 001E00001E00001E78001FFE003F8E003E07003C07003C0780780780780780780780780780F00F 00F00F00F00F00F01E00F01C00703C0070380038F0003FE0000F800011207C9F15>I<007E0001 FF000387800F0F801E0F801C0F003C0600780000780000780000F00000F00000F00000F00000F0 0000700200700700381E001FF80007E00011147C9315>I<0000780007F80007F00000F00000F0 0000F00001E00001E00001E00001E00003C00003C000F3C003FBC0070F800E0F801C07803C0780 3C0F00780F00780F00780F00F01E00F01E00F01E00F01E30F03C60F03C60707C6070FCC03F9F80 0F0F0015207C9F17>I<007C0001FF000783000F01801E01803C01803C0300780E007FFC007FE0 00F00000F00000F00000F000007000007002007807003C1E001FF80007E00011147C9315>I<00 01E00003F8000778000FF8000EF8001E70001E00001E00001E00003E00003C00003C0007FFE007 FFE0003C0000780000780000780000780000780000F00000F00000F00000F00000F00001E00001 E00001E00001E00001E00003C00003C00003C00003C000038000778000FF0000FF0000F60000FC 00007800001529819F0E>I<003E3000FF7801E3F00381F00780F00700F00F01E01E01E01E01E0 1E01E03C03C03C03C03C03C03C03C03C07801C07801C0F800E3F800FFF0003CF00000F00000F00 001E00701E00F81E00F83C00F0F800FFF0003F8000151D7E9315>I<00F0000FF0000FE00001E0 0001E00001E00003C00003C00003C00003C000078000078000079F0007FF800FE3C00F81C00F01 E00F01E01E03C01E03C01E03C01E03C03C07803C07803C07803C0F0C780F18780E18781E30780E 70F00FE060078016207E9F17>I<006000F001F001F000E00000000000000000000000000F001F 8033C033C063C063C0C780078007800F000F001E001E001E303C603C603CC03CC01F800F000C1F 7D9E0E>I<0003800007C00007C000078000070000000000000000000000000000000000000000 7C0000FE00018F00030F00060F00060F000C1E00001E00001E00001E00003C00003C00003C0000 3C0000780000780000780000780000F00000F00000F00000F00001E00071E000F9E000FBC000F7 8000FF00007C00001228819E0E>I<00F0000FF0000FE00001E00001E00001E00003C00003C000 03C00003C0000780000780000781E00783E00F0E300F18F00F11F00F21F01E41E01F81C01F8000 1FF0003CF8003C3C003C3C003C1E30783C60783C60783C60781CC0F01F80600F0014207E9F15> I<01E01FE01FC003C003C003C007800780078007800F000F000F000F001E001E001E001E003C00 3C003C003C0078007800780078C0F180F180F180F3007E003C000B207D9F0C>I<0F07C0F8001F 9FE3FC0033F8F71E0063E07C0E0063C0780F0063C0780F00C780F01E000780F01E000780F01E00 0780F01E000F01E03C000F01E03C000F01E03C000F01E078601E03C078C01E03C070C01E03C0F1 801E03C073803C07807F001803003C0023147D9325>I<0F07C01F9FE033F8F063E07063C07863 C078C780F00780F00780F00780F00F01E00F01E00F01E00F03C31E03C61E03861E078C1E039C3C 03F81801E018147D931A>I<007C0001FF000383800F01C01E01C01C01E03C01E07801E07801E0 7801E0F003C0F003C0F003C0F00780F00700700F00701E003838001FF00007C00013147C9317> I<01E1E003F3F8067E1C0C7C1C0C781E0C781E18F01E00F01E00F01E00F01E01E03C01E03C01E0 3C01E07803C07803C07003E0E003E1C007BF80079E000780000780000F00000F00000F00000F00 001E0000FFE000FFE000171D809317>I<0F1E001FBF0033E18063C3C063C7C063C7C0C7878007 87000780000780000F00000F00000F00000F00001E00001E00001E00001E00003C000018000012 147D9313>114 D<00FC03FE0707060F0E0F0E0E1E001FE00FF80FFC07FC01FE003E781EF81CF8 1CF01860703FE01F8010147D9313>I<00C001E003C003C003C003C007800780FFF0FFF00F000F 000F000F001E001E001E001E003C003C003C003C307860786078C079C03F801E000C1C7C9B0F> I<0780601FC0F039C1E031E1E061C1E063C1E0C3C3C00783C00783C00783C00F07800F07800F07 800F078C0F0F180E0F180F0F180F1F3007F7E003E3C016147D9318>I<0781C01FC3C039C3E031 E1E061C0E063C0E0C3C0C00780C00780C00780C00F01800F01800F01800F03000F03000F06000F 06000F0C0007F80001E00013147D9315>I<078060E01FC0F1E039C1E1F031E1E0F061C1E07063 C1E070C3C3C0600783C0600783C0600783C0600F0780C00F0780C00F0780C00F0781800F078180 0F0781000F0F8300071F860007FBFC0001F0F8001C147D931E>I<0780301FC07839C0F031E0F0 61C0F063C0F0C3C1E00781E00781E00781E00F03C00F03C00F03C00F03C00F07800F07800F0780 0F1F8007FF0001EF00000F00000E00381E007C1C007C3C0078780070F0003FC0001F0000151D7D 9316>121 D<00E06003F0C007FFC00FFF800C0300000600000C0000180000300000600000C000 0180000300000600C00C01801803803FFF007FFE0060FC00C0780013147E9313>I E /Fz 64 125 df0 D<001F8000FFC001E0E003C0F00781F00F01F00F00E00F00000F00000F00000F00000F0000FFFF F0FFFFF00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00 F00F00F00F00F00F00F00F00F0FFC3FFFFC3FF1820809F19>12 D<006000C00180038007000600 0E001C001C003C003800380078007000700070007000F000F000F000F000F000F000F000F000F0 00F000F000F00070007000700070007800380038003C001C001C000E00060007000380018000C0 00600B2E7DA112>40 DI<018001C001800180 C183E187F99F7DBE1FF807E007E01FF87DBEF99FE187C1830180018001C0018010147DA117>I< 78FCFCFEFE7E0606060C0C18387020070F7D850D>44 DI<78FCFC FCFC7806067D850D>I<03F0000FFC001E1E003C0F00380700780780780780780780F807C0F807 C0F807C0F807C0F807C0F807C0F807C0F807C0F807C0F807C0F807C0F807C0F807C07807807807 807807803C0F003C0F001E1E000FFC0003F000121D7E9C17>48 D<00C001C00FC0FFC0F3C003C0 03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003 C003C07FFF7FFF101D7D9C17>I<07F0001FFC00383E00601F00F80F80FC0F80FC0FC0FC07C078 07C03007C0000FC0000F80000F80001F00001E00003C0000780000F00000E00001C00003800007 00C00E00C01C00C01801C03FFF807FFF80FFFF80FFFF80121D7E9C17>I<07F0001FFC00383E00 381F007C1F807C0F807C0F803C1F80001F00001F00001E00003C0003F80003F000003C00001E00 000F00000F80000FC0000FC0300FC0780FC0FC0FC0FC0F80FC0F80781F00383E001FFC0007F000 121D7E9C17>I<000E00000E00001E00003E00003E00007E0000FE0000DE00019E00039E00031E 00061E000E1E000C1E00181E00381E00301E00601E00E01E00FFFFF0FFFFF0001E00001E00001E 00001E00001E00001E0001FFE001FFE0141D7F9C17>I<3803003FFF003FFE003FFC003FF0003F C00030000030000030000030000030000031F00037FC003E1E00380F003007800007800007C000 07C00007C07807C0F807C0F807C0F80780F00F80600F00383E001FF80007E000121D7E9C17>I< 007C0001FE000783000F07801E0F801C0F803C0700780000780000780000F80000F9FC00FBFE00 FE0F00FC0700FC0780F807C0F807C0F807C0F807C07807C07807C07807C03807803C07801C0F00 0E1E0007FC0003F000121D7E9C17>I<78FCFCFCFC78000000000000000078FCFCFCFC7806147D 930D>58 D<78FCFCFCFC78000000000000000070F8FCFCFC7C0C0C0C181838306020061D7D930D >I<7FFFFFE0FFFFFFF00000000000000000000000000000000000000000000000000000000000 000000FFFFFFF07FFFFFE01C0C7D9023>61 D<0003800000038000000380000007C0000007C000 0007C000000FE000000FE000000FE0000019F0000019F0000019F0000030F8000030F8000030F8 0000607C0000607C0000607C0000C03E0000C03E0000FFFE0001FFFF0001801F0001801F000300 0F8003000F8003000F80070007C00F8007C0FFE07FFEFFE07FFE1F1F7F9E22>65 DI<001FC040007FF0C001F819C003E00FC0078007C00F0003C0 1F0001C03E0001C03E0001C07E0000C07C0000C07C0000C0FC000000FC000000FC000000FC0000 00FC000000FC000000FC0000007C0000007C0000C07E0000C03E0000C03E0000C01F0001800F00 01800780030003E0060001F81C00007FF800001FC0001A1F7D9E21>IIII<000FE020007FF8 6001F81CE003E007E007C003E00F8001E01F0000E03E0000E03E0000E07E0000607C0000607C00 0060FC000000FC000000FC000000FC000000FC000000FC000000FC00FFFC7C00FFFC7C0003E07E 0003E03E0003E03E0003E01F0003E00F8003E007C003E003E007E001F80FE0007FFCE0000FE020 1E1F7D9E24>III76 DII80 D<003FC00000FFF00003F0FC0007C03E000F801F001F000F801F000F803E0007C03E0007C07E00 07E07C0003E0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC 0003F07C0003E07E0007E07E0007E03E0007C01F0F0F801F1F8F800FB0DF0007F07E0003F0FC00 00FFF000003FF010000030100000381000003C3000003FF000003FF000001FE000001FE000000F C0000007801C287D9E23>II<07E0800FF9803C1F8038078070 0380700380F00180F00180F00180F80000F80000FE00007FE0007FFC003FFE001FFF0007FF8000 FF80000F800007C00007C00003C0C003C0C003C0C003C0E00380E00780F00700FE0E00CFFC0083 F800121F7D9E19>I<7FFFFFE07FFFFFE07C0F81E0700F80E0600F8060600F8060E00F8070C00F 8030C00F8030C00F8030C00F8030000F8000000F8000000F8000000F8000000F8000000F800000 0F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000 000F8000000F800007FFFF0007FFFF001C1F7E9E21>II91 D93 D<07F0001FFC003E1E003E0F003E 07801C078000078000078003FF800FFF803F07807C07807C0780F80798F80798F80798F80F987C 1FF83FF3F00FC1E015147F9317>97 D<0F0000FF0000FF00000F00000F00000F00000F00000F00 000F00000F00000F00000F00000F1F800F7FC00FE1E00F80F00F00780F00780F007C0F007C0F00 7C0F007C0F007C0F007C0F007C0F00780F00780F00F80F80F00EC1E00E7FC00C1F001620809F19 >I<03F00FFC1E3E3C3E3C3E781C7800F800F800F800F800F800F80078007C003C033E031F0E0F FC03F010147E9314>I<0003C0003FC0003FC00003C00003C00003C00003C00003C00003C00003 C00003C00003C003E3C00FFBC01E0FC03C07C07C03C07803C07803C0F803C0F803C0F803C0F803 C0F803C0F803C07803C07803C07803C03C07C01E1FC00FFBFC03E3FC16207E9F19>I<03F0000F FC001E1E003C0F003C0F00780F00780780F80780FFFF80FFFF80F80000F80000F800007800007C 00003C01801E03800F070007FE0001F80011147F9314>I<003E0000FF0003CF80078F80078F80 0F07000F00000F00000F00000F00000F00000F0000FFF000FFF0000F00000F00000F00000F0000 0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000FFF000 FFF0001120809F0E>I<03F1E00FFFF01E1F703C0F607C0F807C0F807C0F807C0F807C0F803C0F 001E1E001FFC0033F0003000003000003800003FFE003FFF801FFFC03FFFE07801E07000F0E000 70E00070E000707000E07801E03E07C00FFF0003FC00141E7F9317>I<0F0000FF0000FF00000F 00000F00000F00000F00000F00000F00000F00000F00000F00000F1F800F7FC00FE1E00FC0F00F 80F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F 00F0FFF3FFFFF3FF1820809F19>I<0E001F003F003F001F000E00000000000000000000000F00 7F007F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00FFE0FFE00B 1F809E0D>I<0F0000FF0000FF00000F00000F00000F00000F00000F00000F00000F00000F0000 0F00000F0FF80F0FF80F07C00F07000F06000F0C000F18000F38000F78000FFC000FBC000F1E00 0F1F000F0F000F0F800F07C00F03C00F03E0FFE7FCFFE7FC1620809F18>107 D<0F00FF00FF000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00 0F000F000F000F000F000F000F000F000F000F000F00FFF0FFF00C20809F0D>I<0F0FC07E00FF 3FE1FF00FFE0F707800FC07E03C00F807C03C00F007803C00F007803C00F007803C00F007803C0 0F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803 C00F007803C0FFF3FF9FFCFFF3FF9FFC2614809327>I<0F1F80FF7FC0FFE1E00FC0F00F80F00F 00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F0FF F3FFFFF3FF1814809319>I<01F80007FE001F0F803C03C03C03C07801E07801E0F801F0F801F0 F801F0F801F0F801F0F801F07801E07801E03C03C03C03C01F0F8007FE0001F80014147F9317> I<0F1F80FF7FC0FFE1E00F81F00F00F80F00F80F007C0F007C0F007C0F007C0F007C0F007C0F00 7C0F00780F00F80F00F80F81F00FC3E00F7FC00F1F000F00000F00000F00000F00000F00000F00 000F0000FFF000FFF000161D809319>I<03E0C00FF9C01F1DC03E07C07C07C07C03C07803C0F8 03C0F803C0F803C0F803C0F803C0F803C07803C07C03C07C07C03E07C01E1FC00FFBC003E3C000 03C00003C00003C00003C00003C00003C00003C0003FFC003FFC161D7E9318>I<0F7CFFFEFFDF 0F9F0F9F0F0E0F000F000F000F000F000F000F000F000F000F000F000F00FFF0FFF01014809312 >I<0FB03FF07070E030E030E030F000FF007FC03FE01FF003F80078C038C038E038E030F070FF E08F800D147E9312>I<06000600060006000E000E001E003E00FFF8FFF81E001E001E001E001E 001E001E001E001E001E001E181E181E181E181E180F3007E003C00D1C7F9B12>I<0F00F0FF0F F0FF0FF00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00 F00F01F00F01F00707F003FEFF01F8FF1814809319>III<7FE7FC7FE7FC0783E007838003C30001E600 01EE0000FC00007800007800003C00007E0000FE0001CF000187800387800703C00F03E0FFCFFE FFCFFE1714809318>II<3FFF3FFF381E303E703C607860 F861F001E003E007C007830F831F031E073C067C06781EFFFEFFFE10147F9314>I124 D E /FA 26 122 df<0000E000000001F000000001F00000 0003F800000003F800000003F800000007FC00000007FC0000000FFE0000000EFE0000000EFE00 00001CFF0000001C7F0000003C7F800000383F800000383F800000703FC00000701FC00000F01F E00000E00FE00000FFFFE00001FFFFF00001FFFFF00003C007F800038003F800038003F8000700 01FC00070001FC00FFF01FFFE0FFF01FFFE0FFF01FFFE0231F7E9E28>65 D<0007FC06003FFF0E00FFFFDE03FE03FE07F800FE0FE0007E1FC0003E3F80001E3F80001E7F80 000E7F00000E7F00000EFF000000FF000000FF000000FF000000FF000000FF000000FF0000007F 0000007F00000E7F80000E3F80000E3F80001C1FC0001C0FE0003807F8007803FE01F000FFFFC0 003FFF800007FC001F1F7D9E26>67 DI77 D<03FC180FFF381FFFF83E03F87C00F8780078 F80078F80038F80038FC0000FF0000FFF8007FFF007FFFC03FFFE01FFFF00FFFF803FFF8001FFC 0001FC0000FC00007CE0007CE0007CE0007CF00078F800F8FE01F0FFFFE0E7FFC0C1FF00161F7D 9E1D>83 D<03FC000FFF801FFFC03F8FE03F83F03F83F01F03F00E03F001FFF00FFFF03FC3F07E 03F0FC03F0FC03F0FC03F0FC03F07E0FF07FFDFE3FF9FE0FE07E17147F9319>97 DI<01FC0007FF001FFF803F9FC03F1FC07E1FC07E0F 80FE0700FE0000FE0000FE0000FE0000FE00007E00007F00E03F00E03F83C01FFF8007FF0001FC 0013147E9317>I<0007FC000007FC000007FC000000FC000000FC000000FC000000FC000000FC 000000FC000000FC000000FC000000FC0003F8FC000FFFFC001FFFFC003F83FC007F00FC007E00 FC00FE00FC00FE00FC00FE00FC00FE00FC00FE00FC00FE00FC00FE00FC00FE00FC007E00FC007E 01FC003F07FC001FFFFF800FFEFF8003F0FF8019207E9F1D>I<01FE0007FF801FFFE03F87F07F 03F07F01F8FE01F8FFFFF8FFFFF8FFFFF8FE0000FE0000FE00007E00007F00383F80783FC0F00F FFF007FFC000FF0015147F9318>I<001FC0007FE001FFF003F0F007E7F00FC7F00FC3E00FC3E0 0FC0000FC0000FC0000FC000FFFC00FFFC00FFFC000FC0000FC0000FC0000FC0000FC0000FC000 0FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0007FFC007FFC007FFC0014207F9F10> I<03FC7C0FFFFE1FFFFE3F0FFE3E07DC7E07E07E07E07E07E07E07E03E07C03F0FC01FFF801FFF 003BFC003800003800003FFF803FFFF01FFFF81FFFFC7FFFFC7C00FEF8003EF8003EF8003E7C00 7C7F01FC3FFFF80FFFE001FF00171E7F931A>II<0E 003F803F807F807F803F803F800E0000000000000000000000FF80FF80FF801F801F801F801F80 1F801F801F801F801F801F801F801F801F801F80FFF0FFF0FFF00C217EA00F>I108 DII<01FF0007FFC01FFFF03F83F83F01F87E00FC7E00FCFE00FEFE00FEFE00FEFE 00FEFE00FEFE00FE7E00FC7E00FC3F01F83F83F81FFFF007FFC001FF0017147F931A>II114 D<0FE63FFE7FFE781EF00EF00EFC00FFE07FF87FFC1FFE0FFF00FFE00FE00FF00FF81EFFFEFFFC C7F010147E9315>I<0380038003800380078007800F800F803F80FFFCFFFCFFFC1F801F801F80 1F801F801F801F801F801F801F8E1F8E1F8E1F8E1F8C0FFC07F803F00F1D7F9C14>IIII121 D E /FB 64 123 df<003F000000FFC00003C1E0600780F0C00F00F0 C01E0078C03E0079803C0079807C007B007C007B007C007E00F8007E00F8007C00F8007800F800 7800780078007800F8003803BC403C0F3CE01FFC1FC007E00F001B157E941F>11 D<000FC0003FE000783000E01801C00001C00003C00003800003C00003C00003E00003F00001F8 0000FC00007E0000FF0003FF80078F800F07801E03803E03803C03807C03807C03807C0380F803 00F80300F80700F80600F80600780C00780C003C18001FF0000FE00015237EA216>14 D<007E03FE07800F001E003C007C007800FFF8FFF8F800F000F000F000F000F000780078043C1E 1FF807E00F157D9414>I<1E03E03F8FF063DC7863F03CC3E03CC3C03CC3C03C07807807807807 80780780780F00F00F00F00F00F00F00F01E01E01E01E01E01E01E01E03C03C01803C00003C000 03C0000780000780000780000780000F00000F00000F00000600171F7F9418>17 D<03E00003F00000F800007C00007C00003C00003E00003E00001E00001E00001F00000F00000F 00000F800007800007800007C00007C00003C00003C00007E0000DE0001DE00039F00070F000E0 F001C0F80380F80780780F00781E007C3C003C78003CF0003E60001E17237EA21C>21 D<00C00C0001E01E0001E01E0003C03C0003C03C0003C03C0003C03C0007807800078078000780 7800078078000F00F0000F00F0000F00F0800F00F0C01F01E1801F01E1801F03E1001F86E3003F FCFE003DF03C003C0000003C00000078000000780000007800000078000000F0000000F0000000 F0000000600000001A1F7F941D>I<07FFFF800FFFFFC01FFFFF803FFFFF8070318000E0618000 C06180000061800000E3800000C3800001C3800001C3800001C3800003838000038380000783C0 000703C0000F03C0000F03E0000E01E0000E01C0001A157F941C>25 D<007FFF8001FFFFC003FF FF8007FFFF800F83C0001E01E0003C01E0003C01E0007801E0007801E0007801E000F003C000F0 03C000F003C000F0078000F0070000700F0000701E0000383800001FF0000007C000001A157E94 1C>27 D<0F8000201FE0006031F000C061F0018020F8038000F8030000780600007C0C00003C18 00003C3000003E6000001EC000001FC000001F8000001F0000000F0000000F0000001F80000037 80000067800000E7800000C7C0000183C0000303E0000603E0000C01E0001801F0403000F0C070 00F8C060007F80C0001F001B1F7F941F>31 D<0C001F0018007F801800FFC03001FFE06003C1E0 600700E060060060C00C0060C00C0060C0180060C01800E0C01000C0C03001C0E0300380E03007 0078601E003F60FC003FFFF8000FFFF00007FFC00000FF000001C0000001C0000001C0000003C0 000003C0000003800000078000000780000007800000070000001B1F7E9420>39 D<78FCFCFCFC7806067C850E>58 D<78FCFCFEFE7E0606060C0C1C1830706007107C850E>I<00 00001800000078000001E00000078000001E00000078000003E000000F8000003C000000F00000 03C000000F0000003C000000F0000000F00000003C0000000F00000003C0000000F00000003C00 00000F80000003E0000000780000001E0000000780000001E000000078000000181D1C7C9926> I<000180000180000380000300000300000700000600000600000E00000C00000C00001C000018 0000180000180000380000300000300000700000600000600000E00000C00000C00001C0000180 000180000380000300000300000700000600000600000E00000C00000C00000C00001C00001800 00180000380000300000300000700000600000600000E00000C00000C0000011317DA418>I I<000001C000000001C000000003C000000007C000000007C00000000FC00000000FC00000001F C000000037C000000037C000000067E000000063E0000000C3E000000183E000000183E0000003 03E000000303E000000603E000000E03E000000C03E000001803F000001803F000003FFFF00000 7FFFF000006001F00000C001F00000C001F000018001F000038001F000030001F000070001F800 1F0001F800FFE01FFF80FFC01FFF8021227EA125>65 D<007FFFFC0000FFFFFF000007C00F8000 07C007C0000F8007C0000F8003C0000F8003E0000F8003E0001F0003C0001F0007C0001F0007C0 001F000F80003E001F00003E003E00003E007C00003FFFF000007FFFF000007C00F800007C007C 00007C003E0000F8003E0000F8001E0000F8001F0000F8001F0001F0003E0001F0003E0001F000 3E0001F0007C0003E0007C0003E000F80003E003F00007E007C0007FFFFF8000FFFFFC00002322 7EA125>I<0000FE010003FF83000F80C7003E006F0078003E01F0003E03E0001E07C0001E0780 001C0F00001C1F00001C1E00001C3E0000187C0000187C0000007C000000F8000000F8000000F8 000000F8000000F8000000F0000060F0000060F00000C0F80000C0F80001807800018078000300 3C0006003E000C001F00180007C0F00003FFC00000FF000020227DA123>I<007FFFF80000FFFF FE000007C01F000007C00780000F8003C0000F8003C0000F8001E0000F8001E0001F0001E0001F 0001F0001F0001F0001F0001F0003E0001F0003E0001F0003E0001F0003E0001F0007C0003E000 7C0003E0007C0003E0007C0003E000F80007C000F80007C000F800078000F8000F8001F0000F00 01F0001E0001F0003E0001F0003C0003E000780003E000F00003E003E00007E00F80007FFFFE00 00FFFFF8000024227EA128>I<007FFFFFC000FFFFFFC00007C007C00007C003C0000F8001C000 0F8001C0000F800180000F800180001F000180001F018180001F018180001F018180003E030000 003E030000003E070000003FFF0000007FFE0000007C0E0000007C0E0000007C0E000000F80C00 0000F80C030000F80C030000F800060001F000060001F0000C0001F0000C0001F0001C0003E000 180003E000380003E000F00007E003F0007FFFFFF000FFFFFFE00022227EA124>I<007FFFFFC0 00FFFFFFC00007C007C00007C003C0000F8001C0000F8001C0000F800180000F800180001F0001 80001F000180001F018180001F018180003E030000003E030000003E070000003E0F0000007FFE 0000007FFE0000007C0E0000007C0E000000F80C000000F80C000000F80C000000F80C000001F0 00000001F000000001F000000001F000000003E000000003E000000003E000000007E00000007F FF000000FFFF00000022227EA120>I<00007F00800003FFC180000FC0E380003E003780007800 1F0000F0001F0001E0000F0003C0000F000780000E000F00000E001F00000E001E00000E003E00 000C007C00000C007C000000007C00000000F800000000F800000000F800000000F800000000F8 007FFF00F8007FFF00F00001F000F80001F000F80003E000F80003E000780003E0007C0003E000 3C0007C0001E0007C0000F000FC00007E03BC00003FFF18000007F80800021227DA126>I<007F FE3FFF00FFFE7FFF0007C003E00007C003E0000F8007C0000F8007C0000F8007C0000F8007C000 1F000F80001F000F80001F000F80001F000F80003E001F00003E001F00003E001F00003FFFFF00 007FFFFE00007C003E00007C003E00007C003E0000F8007C0000F8007C0000F8007C0000F8007C 0001F000F80001F000F80001F000F80001F000F80003E001F00003E001F00003E001F00007E003 F0007FFE3FFF00FFFE7FFF0028227EA128>I<00FFFE00FFFE0007C00007C0000F80000F80000F 80000F80001F00001F00001F00001F00003E00003E00003E00003E00007C00007C00007C00007C 0000F80000F80000F80000F80001F00001F00001F00001F00003E00003E00003E00007E000FFFE 00FFFE0017227FA116>I<007FFE07FF00FFFE07FF0007C001F00007C001C0000F800380000F80 0700000F800C00000F801800001F003000001F006000001F01C000001F038000003E060000003E 0E0000003E1E0000003E3F0000007CFF0000007DDF0000007F0F8000007E0F800000FC0FC00000 F807C00000F807C00000F807E00001F003E00001F003E00001F003F00001F001F00003E001F000 03E001F80003E000F80007E001FC007FFE0FFF80FFFE0FFF8028227EA129>75 D<007FFF0000FFFF000007C0000007C000000F8000000F8000000F8000000F8000001F0000001F 0000001F0000001F0000003E0000003E0000003E0000003E0000007C0000007C0000007C000000 7C000000F8000000F8003000F8003000F8006001F0006001F0006001F000C001F000C003E001C0 03E0038003E0078007E01F807FFFFF00FFFFFF001C227EA121>I<007FF00007FF00FFF00007FF 0007F0000FE00007F0001BE0000DF0001FC0000DF00037C0000DF00037C0000DF00067C00019F0 00CF800019F000CF800019F0018F800018F8018F800030F8031F000030F8031F000030F8061F00 0030F80C1F000060F80C3E000060F8183E000060F8183E000060F8303E0000C0F8607C0000C0F8 607C0000C0F8C07C0000C07CC07C0001807D80F80001807F00F80001807F00F80001807E00F800 03007E01F00003007C01F00003007C01F0000F807803F0007FF0703FFF00FFF0707FFF0030227E A12F>I<007FE007FF00FFE00FFF0007E000F00007F000E0000DF000C0000DF000C0000CF800C0 000CF800C00018F8018000187C018000187C018000187E018000303E030000303E030000303F03 0000301F030000601F060000601F860000600F860000600F860000C00FCC0000C007CC0000C007 CC0000C003EC00018003F800018003F800018001F800018001F800030001F000030000F0000300 00F0000F8000F0007FF0006000FFF000600028227EA127>I<0000FF000007FFC0001F03E0003C 00F800F8007801E0003C03C0003E07C0001E0F80001E0F00001F1F00001F3E00001F3E00001F7C 00001F7C00001F7C00001FF800003EF800003EF800003EF800007CF800007CF800007CF80000F8 F80000F0F80001F0F80003E0F80003C0780007807C000F003E001E001F007C000F81F00007FFC0 0000FE000020227DA125>I<007FFFF00000FFFFFC000007C03E000007C00F00000F800F80000F 800780000F800780000F800780001F000F80001F000F80001F000F80001F000F00003E001F0000 3E001E00003E003C00003E007800007C01F000007FFFC000007FFF0000007C00000000F8000000 00F800000000F800000000F800000001F000000001F000000001F000000001F000000003E00000 0003E000000003E000000007E00000007FFE000000FFFE00000021227EA11F>I<0000FF000007 FFC0001F83E0003C00F800F8007801F0003C03E0003E07C0001E0F80001E0F00001F1F00001F3E 00001F3E00001F7C00001F7C00001F7C00001FF800003EF800003EF800003EF800003CF800007C F000007CF00000F8F00000F0F00001F0F80001E0F81E03C0783F07807C618F003CC09E001EC0FC 000FC1F00007FFC00000FE8020000080200000C0600001C0400001C0C00001E1800001FF800001 FF000000FF000000FE0000007800202C7DA127>I<007FFFE00000FFFFFC000007C03E000007C0 0F00000F800F80000F800780000F800780000F800780001F000F80001F000F80001F000F80001F 001F00003E001E00003E003C00003E007800003E01F000007FFFC000007FFF8000007C07C00000 7C03E00000F801E00000F801F00000F801F00000F801F00001F003E00001F003E00001F003E000 01F003E00003E007C00003E007C0C003E007C0C007E003E1807FFE01FF00FFFE007E0022227EA1 25>I<0003F020000FFC60001C0EE0003003E0006003C000E001C001C001C001C001C003800180 0380018003C0000003C0000003E0000003FC000001FF800001FFF00000FFF800003FFC000007FC 0000007E0000003E0000001E0000001E0000001E0030001C0030001C0030001C00300038007000 3000780070007C00E0006F03C000C7FF000081FC00001B227DA11E>I<1FFFFFFE1FFFFFFE1F01 F01E3C01F00E3803E00E3003E00E7003E00C6003E00C6007C00CC007C00CC007C00CC007C00C00 0F8000000F8000000F8000000F8000001F0000001F0000001F0000001F0000003E0000003E0000 003E0000003E0000007C0000007C0000007C0000007C000000F8000000F8000000F8000001F800 007FFFE000FFFFE0001F227EA11D>I<7FFE07FFFFFE0FFF07C000F007C000E00F8000C00F8000 C00F8000C00F8000C01F0001801F0001801F0001801F0001803E0003003E0003003E0003003E00 03007C0006007C0006007C0006007C000600F8000C00F8000C00F8000C00F8000C00F0001800F0 001800F0003000F0003000F00060007800C000780380003E0F00000FFC000003F0000020227CA1 21>II<007FFE0FFF007FFE0FFF0007F003F0 0003E001C00003F003800003F007000001F00E000001F80C000000F818000000FC30000000FC60 0000007CC00000007F800000007F800000003F000000003F000000001F000000001F800000003F 800000006F80000000CFC00000018FC000000387C000000707E000000E03E000001C03F0000018 03F000003001F000006001F80000C001F80001C000F80007C001FC00FFF007FFC0FFF00FFFC028 227FA128>88 D<007FFFFE007FFFFE007E007C00F800F800E001F800E001F001C003E0018007C0 01800F8003001F0003003F0003003E0000007C000000F8000001F0000003F0000003E0000007C0 00000F8000001F0000003F0060007E0060007C006000F800C001F000C003E000C007E0018007C0 03800F8003801F0007003E001F007E007F00FFFFFE00FFFFFE001F227DA121>90 D<0078C001FDE00387E00707C00F03C01E03C03E03C03C07807C07807C07807C0780F80F00F80F 00F80F08F80F0CF81E18781E18783E1038EE301FCFE00F03C016157E941A>97 D<03E0003FC0003FC00003C00003C0000780000780000780000780000F00000F00000F00000F00 001E00001E7C001FFE001F87003F07803E03803C03C03C07C07807C07807C07807C07807C0F00F 80F00F80F00F80F01F00F01E00701C00703C0038F0001FE0000F800012237EA215>I<003F0000 FF8003C1C00783C00F07C01E07C03E03803C00007C00007C00007C0000F80000F80000F80000F8 00007800407800C03803803C0F001FFC0007F00012157E9415>I<00003E0003FC0003FC00003C 00003C0000780000780000780000780000F00000F00000F00000F00001E00079E001FDE00387E0 0707C00F03C01E03C03E03C03C07807C07807C07807C0780F80F00F80F00F80F08F80F0CF81E18 781E18783E1038EE301FCFE00F03C017237EA219>I<007C0003FF000783800F01801E01803C01 807C0300780E00FFFC00FFE000F80000F00000F00000F00000F00000F00080F00180780700381E 001FF8000FE00011157D9417>I<00003E0000007F000000EF800001CF800001CF000003C60000 03C000000380000007800000078000000780000007800000078000000F000001FFFC0001FFFC00 000F0000000F0000001E0000001E0000001E0000001E0000001E0000003C0000003C0000003C00 00003C0000003C000000780000007800000078000000780000007800000070000000F0000000F0 000000F0000000E0000000E0000039E0000079C00000F9800000FB8000007F0000003C00000019 2D7EA218>I<000F8C003FDE0078FE00E07C01E03C03C03C07C03C0780780F80780F80780F8078 1F00F01F00F01F00F01F00F01F01E00F01E00F03E0078FE003FFC001F3C00003C00003C0000780 000780380780780F00F81E00F83C007FF8003FE000171F809417>I<00F8000FF0000FF00000F0 0000F00001E00001E00001E00001E00003C00003C00003C00003C000078000078F8007BFC007F1 E00FC0F00F80F00F00F00F00F01E01E01E01E01E01E01E01E03C03C03C03C03C07823C07837807 86780F06780F0C780718F007F06001E018237EA21C>I<007000F800F800F000E0000000000000 000000000000000000000F001F8033C061C0C3C0C3C0C3C00780078007800F000F001E001E101E 183C303C303C603CE01FC00F000E227FA111>I<0000600000F00001F00001F00000E000000000 0000000000000000000000000000000000000000001E00007F8000E3C001C3C00183C00303C003 03C0000780000780000780000780000F00000F00000F00000F00001E00001E00001E00001E0000 3C00003C00003C00003C0000780000780038780078F000F9E000FBC0007F80003E0000142C81A1 14>I<00F8000FF0000FF00000F00000F00001E00001E00001E00001E00003C00003C00003C000 03C0000780000780F00781F807830C0F0E3C0F187C0F307C0F60781FC0301FC0001FF8001E7C00 3C1E003C1F003C0F083C0F0C781E18781E18781E30780E30F007E06003C016237EA219>I<01F0 1FE01FE001E001E003C003C003C003C007800780078007800F000F000F000F001E001E001E001E 003C003C003C003C0078007800788078C0F180F180F18073007F001E000C237EA20F>I<1E03F0 1F80003F8FF87FC00063DC3CE1E00063F01F80F000C3E01F00F000C3C01E00F000C3C01E00F000 07803C01E00007803C01E00007803C01E00007803C01E0000F007803C0000F007803C0000F0078 0782000F00780783001E00F00786001E00F00F06001E00F00F0C001E00F00718003C01E007F000 1800C001E00029157F942B>I<1E03E0003F8FF00063DC780063F03C00C3E03C00C3C03C00C3C0 3C00078078000780780007807800078078000F00F0000F00F0000F01E0800F01E0C01E01E1801E 03C1801E03C3001E01C6003C01FC00180078001B157F941D>I<003E0000FF8003C3C00781E00F 01E01E01F03E01F03C01F07C01F07C01F07C01F0F803E0F803E0F803C0F807C0780780780F0078 0E003C3C001FF80007E00014157E9417>I<03C0F007F3FC0C7F1E0C7C1E18780F18780F18780F 00F01F00F01F00F01F00F01F01E03E01E03E01E03E01E03C03C07803C07803E0F003F1E007BF80 079E000780000780000F00000F00000F00000F00001E00001E0000FFE000FFE000181F819418> I<007C1001FE7003C7F00703E00F01E01E01E03E01E03C03C07C03C07C03C07C03C0F80780F807 80F80780F80780F80F00780F00781F003C7F001FFE000F9E00001E00001E00003C00003C00003C 00003C0000780000780007FF8007FF80141F7E9416>I<1E07803F9FC063F8E063E1E0C3E3E0C3 C3E0C3C3C00781800780000780000780000F00000F00000F00000F00001E00001E00001E00001E 00003C000018000014157F9416>I<007E0000FF0001C38003838007078007078007020007C000 07FC0007FE0003FF0001FF80001F80300780780780F80700F80700F00E00701C003FF8000FE000 11157E9417>I<00E001E001E001E001E003C003C003C003C00780FFFCFFFC07800F000F000F00 0F001E001E001E001E003C003C003C083C0C78187838783038E03FC00F000E1F7F9E12>I<0F80 18001FC03C0031E03C0061E07800E1E07800C1E07800C3C0780003C0F0000780F0000780F00007 80F0000F01E0000F01E0000F01E1000F01E1800F03C3000F03C3000F07C200070DC60007F9FC00 01F078001A157F941C>I<0F80E01FC1F031E1F861E1F8E1E0F8C1E078C3C03803C03007803007 80300780300F00600F00600F00C00F00C00F01800F01800F030007860003FC0001F80016157F94 18>I<0F80181C001FC03C3E0031E03C3F0061E0783F00E1E0781F00C1E0780F00C3C078070003 C0F006000780F006000780F006000780F006000F01E00C000F01E00C000F01E00C000F01E01800 0F01E018000F01E030000F03E060000786F0E00003FC7F800000F81F000021157F9423>I<03E0 F00FF3F81C3F1C303E3C303C7C603C7C603C7800783000780000780000780000F00000F00038F0 0878F00CF9E018F9E018F1E0306370E07E3FC03C1F0016157E941C>I<0F80181FC03C31E03C61 E078E1E078C1E078C3C07803C0F00780F00780F00780F00F01E00F01E00F01E00F01E00F03C00F 03C00F07C0070FC007FF8001F780000780000780000F003C0F007C1E007C3C0078380070F0003F E0001F8000171F7F9418>I<00E03003F87007FCE007FFC00C07800C0300000600000C00001800 00300000600000C0000180000300400600600C00C01F03C03FFF8079FF0060FE00C0780014157E 9417>I E /FC 60 123 df<0007F800003FFC0000FFFE0003F83F0007F07F0007E07F000FC07F 000FC07F000FC03E000FC008000FC000000FC000000FC00000FFFFFF00FFFFFF00FFFFFF000FC0 3F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000F C03F000FC03F000FC03F000FC03F000FC03F000FC03F007FF0FFE07FF0FFE07FF0FFE01B237FA2 1F>12 D<0007FF00003FFF0000FFFF0003F87F0007E07F0007E07F000FC07F000FC03F000FC03F 000FC03F000FC03F000FC03F000FC03F00FFFFFF00FFFFFF00FFFFFF000FC03F000FC03F000FC0 3F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000F C03F000FC03F000FC03F000FC03F007FF9FFE07FF9FFE07FF9FFE01B237FA21F>I<001C003800 7000E001E003C0078007800F001F001E003E003E003E007C007C007C007C00FC00F800F800F800 F800F800F800F800F800F800F800F800FC007C007C007C007C003E003E003E001E001F000F0007 80078003C001E000E000700038001C0E317CA416>40 DI45 D<3C7EFFFFFFFF7E3C0808 7C8710>I<00180000780003F800FFF800FFF800FFF80003F80003F80003F80003F80003F80003 F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003 F80003F80003F80003F80003F8007FFFE07FFFE07FFFE013207C9F1C>49 D<03FC001FFF003FFF807C3FE0FE0FE0FF07F0FF07F0FF07F8FF03F87E03F81803F80007F80007 F00007F0000FE0000FC0001F80003F00003E0000780000F03801E03803C0380780380F00781FFF F81FFFF03FFFF07FFFF0FFFFF0FFFFF0FFFFF015207D9F1C>I<00FE0003FF800FFFE01F07F01F 87F03FC3F83FC3F83FC3F83FC3F81F87F80F07F0000FE0001FC001FF8001FE0001FFC00007F000 03F80001FC0001FC3E01FE7F01FEFF81FEFF81FEFF81FEFF81FCFF01FC7F03F83E07F01FFFE00F FFC001FE0017207E9F1C>I<0001E00003E00007E00007E0000FE0001FE0003FE0003FE0007FE0 00FFE001EFE003CFE0038FE0078FE00F0FE01E0FE01C0FE03C0FE0780FE0F00FE0FFFFFEFFFFFE FFFFFE000FE0000FE0000FE0000FE0000FE0000FE001FFFE01FFFE01FFFE17207E9F1C>I<3000 603C01E03FFFE03FFFC03FFF803FFF003FFE003FF80039000038000038000038000039FC003BFF 003FFFC03E0FE03C07E03807F00007F00007F80007F83C07F87E07F8FE07F8FF07F8FF07F0FE07 F07C0FE07C1FC03FFF801FFF0007F80015207D9F1C>I<7000007C00007FFFFE7FFFFE7FFFFE7F FFFC7FFFF87FFFF0FFFFF0F000E0E001C0E00380E00700E00E00000E00001C00003C00003C0000 7C00007C0000F80000F80001F80001F80001F80001F80003F80003F80003F80003F80003F80003 F80001F00000E00017227DA11C>55 D<00FE0003FFC007FFE00F83F01E01F01E00F83E00F83E00 F83F80F83FC0F83FF1F03FFFF01FFFE01FFF800FFFE007FFF00FFFF81FFFFC3E3FFC7C0FFE7C03 FEF801FEF8007EF8003EF8003EF8003C7C003C7E00783F01F01FFFE00FFFC001FE0017207E9F1C >I<3C7EFFFFFFFF7E3C0000000000003C7EFFFFFFFF7E3C08167C9510>58 D<00007000000000F800000000F800000000F800000001FC00000001FC00000003FE00000003FE 00000003FE00000007FF00000007FF0000000FFF8000000E7F8000000E7F8000001E7FC000001C 3FC000001C3FC00000381FE00000381FE00000781FF00000700FF00000700FF00000E00FF80000 FFFFF80001FFFFFC0001FFFFFC0001C003FC0003C003FE00038001FE00038001FE00070000FF00 FFF01FFFF8FFF01FFFF8FFF01FFFF825227EA12A>65 DI<0003FE0180001FFF838000FFFFE78001FF00FF8003F8003F8007F0001F800FE0000F 801FC0000F803F800007803F800007807F800003807F000003807F00000380FF00000000FF0000 0000FF00000000FF00000000FF00000000FF00000000FF00000000FF000000007F000000007F00 0003807F800003803F800003803F800007801FC00007000FE0000F0007F0001E0003F8003C0001 FF00F80000FFFFF000001FFFC0000003FE000021227DA128>IIII<0003FE00C0001FFFC1C0007FFFF3C001FF80 FFC003FC003FC007F0000FC00FE00007C01FC00007C03FC00003C03F800003C07F800001C07F00 0001C07F000001C0FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF 00000000FF001FFFFC7F001FFFFC7F001FFFFC7F80003FC03F80003FC03FC0003FC01FC0003FC0 0FE0003FC007F0003FC003FC003FC001FF80FFC0007FFFEFC0001FFFC3C00003FF00C026227DA1 2C>III75 DIII80 D82 D<01FC0C07FF9C1FFFFC3F03FC3E00FC7C007C7C003CFC001CFC001CFE001CFE0000FF8000FFFC 007FFFC07FFFE03FFFF01FFFF80FFFFC07FFFE01FFFE000FFF0000FF00007F00007FE0003FE000 3FE0003FF0003EF0003EFC007CFF00FCFFFFF8E7FFE0C0FF8018227DA11F>I<7FFFFFFF807FFF FFFF807FFFFFFF807E07F81F807807F807807807F807807007F80380F007F803C0F007F803C0E0 07F801C0E007F801C0E007F801C0E007F801C00007F800000007F800000007F800000007F80000 0007F800000007F800000007F800000007F800000007F800000007F800000007F800000007F800 000007F800000007F800000007F800000007F800000007F800000007F8000007FFFFF80007FFFF F80007FFFFF80022227EA127>II87 D<3FFFFFE03FFFFFE03FFFFFE03FC07FC03F007F803E00FF803C00FF007801FF 007803FE007803FC007007FC007007F800700FF800001FF000001FE000003FE000007FC000007F C00000FF800000FF00E001FF00E003FE00E003FC00E007FC00E007F801E00FF801E01FF001C01F E003C03FE007C03FC00FC07FC03FC0FFFFFFC0FFFFFFC0FFFFFFC01B227DA122>90 DI93 D<07FC001FFF803FFFC07F0FE07F07E07F03F03E03F01C 03F00003F001FFF00FFFF03FE3F07F83F07F03F0FE03F0FE03F0FE03F0FE07F07F0FF03FFDFF1F F8FF0FC07F18167E951B>97 DI<00FF0007FFC00FFFE01F87F03F07F07F07F07E03E07E01C0FE0000FE0000FE0000FE00 00FE0000FE00007E00007F00007F00703F80701FC1E00FFFC007FF8000FE0014167E9519>I<00 03FE000003FE000003FE0000007E0000007E0000007E0000007E0000007E0000007E0000007E00 00007E0000007E0000007E0001FC7E0007FF7E001FFFFE003F81FE003F007E007E007E007E007E 00FE007E00FE007E00FE007E00FE007E00FE007E00FE007E00FE007E00FE007E007E007E007E00 7E003F00FE003F83FE001FFFFFC007FF7FC001F87FC01A237EA21F>I<00FE0007FF800FFFC01F 87E03F03F07E01F07E01F8FE01F8FFFFF8FFFFF8FFFFF8FE0000FE0000FE00007E00007E00007F 00383F00781FC0F00FFFE003FFC000FE0015167E951A>I<001FC0007FE001FFF003F0F007E7F0 07C7F00FC7F00FC3E00FC0000FC0000FC0000FC0000FC000FFFC00FFFC00FFFC000FC0000FC000 0FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC000 0FC0007FFC007FFC007FFC0014237FA211>I<01FC1E0007FF7F001FFFFF803F07EF803E03E700 7E03F2007E03F0007E03F0007E03F0007E03F0003E03E0003F07E0001FFFC0001FFF000039FC00 0038000000380000003C0000003FFFE0003FFFF8001FFFFE001FFFFF003FFFFF007C003F80F800 0F80F8000F80F8000F80F8000F807C001F003F007E001FFFFC000FFFF80001FFC00019217F951C >II<0E003F003F807F 807F803F803F000E00000000000000000000000000FF80FF80FF801F801F801F801F801F801F80 1F801F801F801F801F801F801F801F801F801F80FFF0FFF0FFF00C247FA30F>I107 DIII<00FE0007FFC00FFFE01F83F03F01 F87E00FC7E00FC7E00FCFE00FEFE00FEFE00FEFE00FEFE00FEFE00FEFE00FE7E00FC7E00FC3F01 F81F83F00FFFE007FFC000FE0017167E951C>II<01 FC070007FF0F000FFFCF001FC1FF003F807F007F007F007F003F00FE003F00FE003F00FE003F00 FE003F00FE003F00FE003F00FE003F00FE003F007F003F007F003F003F80FF001FC1FF001FFFFF 0007FF3F0001FC3F0000003F0000003F0000003F0000003F0000003F0000003F0000003F000001 FFE00001FFE00001FFE01B207E951E>II<07F3001FFF007FFF00780F00F00700F00700F00000FE0000FFF000 7FFC003FFE001FFF0007FF00007F80000F80E00780E00780F00780FC0F00FFFE00FFFC00C7F000 11167E9516>I<01C00001C00001C00001C00003C00003C00007C00007C0000FC0003FC000FFFF 00FFFF00FFFF000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC3 800FC3800FC3800FC3800FC3800FE70007FF0003FE0001F80011207F9F16>IIII121 D<7FFFF07FFFF07FFFF07C0FE0781FC0F01F80F03F80E07F00E0FE00E0FE0001 FC0003F87007F07007F0700FE0701FC0F01F80E03F81E07F07E0FFFFE0FFFFE0FFFFE014167E95 19>I E /FD 66 124 df<003F0F8000FFFFC003E3F3E00787E3E00707C3E00F07C1C00F03C000 0F03C0000F03C0000F03C0000F03C000FFFFFC00FFFFFC000F03C0000F03C0000F03C0000F03C0 000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03 C0007F87FC007F87FC001B1D809C18>11 D<003F0000FF8003E3800787C00707C00F07C00F0380 0F00000F00000F00000F0000FFFFC0FFFFC00F03C00F03C00F03C00F03C00F03C00F03C00F03C0 0F03C00F03C00F03C00F03C00F03C00F03C00F03C07F87F87F87F8151D809C17>I<001F03F000 00FFDFF80003E1FC38000783F07C000703F07C000F03E07C000F01E038000F01E000000F01E000 000F01E000000F01E00000FFFFFFFC00FFFFFFFC000F01E03C000F01E03C000F01E03C000F01E0 3C000F01E03C000F01E03C000F01E03C000F01E03C000F01E03C000F01E03C000F01E03C000F01 E03C000F01E03C000F01E03C007FC7F8FF807FC7F8FF80211D809C23>14 D<70F8FCFC7C0C0C0C1818306040060D7D9C0C>39 D<00C00180030007000E000E001C001C0038 00380038007000700070007000F000F000F000F000F000F000F000F000F000F000F000F0007000 7000700070003800380038001C001C000E000E0007000300018000C00A2A7D9E10>II<000600000006000000060000000600000006000000060000000600000006 00000006000000060000000600000006000000060000FFFFFFE0FFFFFFE0000600000006000000 060000000600000006000000060000000600000006000000060000000600000006000000060000 000600001B1C7E9720>43 D<70F0F8F8781818183030706040050D7D840C>II<70F8F8F87005057D840C>I<07E00FF01C38381C781E700E700EF00FF00FF00FF00F F00FF00FF00FF00FF00FF00FF00FF00FF00F700E700E781E381C1C380FF007E0101B7E9A15>48 D<018003801F80FF80E78007800780078007800780078007800780078007800780078007800780 078007800780078007800780FFFCFFFC0E1B7D9A15>I<07E01FF8307C783EFC1EFC1FFC1FFC0F 780F001F001E001E003C003C007800F000E001C0038007030E031C0318073FFE7FFEFFFEFFFE10 1B7E9A15>I<07E01FF0387C7C3C7C3E7E1E7C3E383E003C003C007807E007E00078003C001E00 1E001F301F781FFC1FFC1FFC1E783C78783FF00FC0101B7E9A15>I<001C00001C00003C00007C 00007C0000FC0001FC0003BC00033C00073C000E3C000C3C00183C00383C00303C00603C00E03C 00FFFFC0FFFFC0003C00003C00003C00003C00003C00003C0003FFC003FFC0121B7F9A15>I<30 0C3FFC3FF83FF03FC03000300030003000300033E03FF03C3C301C301E001E001F001F701FF81F F81FF81EF81E603C30781FF00FC0101B7E9A15>I<00F003FC070C0C1E1C3E383E381C70007000 F000F3F0F7F8FC1CF80EF80EF00FF00FF00FF00F700F700F700E380E381C1C380FF003E0101B7E 9A15>I<6000007FFF807FFF807FFF007FFF00E00600C00C00C01800C018000030000060000060 0000E00000E00001C00001C00003C00003C00003C00003C00007C00007C00007C00007C00007C0 0007C00007C000038000111C7E9B15>I<07E00FF01C38381C300E700E700E780E7C1C7F1C3FB8 1FF00FF80FFC1DFE38FE703FE01FE00FE007E007E0077006700C3C3C1FF007E0101B7E9A15>I< 07E00FF01C38381C701C700EF00EF00EF00FF00FF00FF00F701F701F383F1FEF0FCF000F000E00 0E381E7C1C7C18783830F03FE00F80101B7E9A15>I<70F8F8F870000000000000000070F0F8F8 781818183030706040051A7D910C>59 D<7FFFFFC0FFFFFFE00000000000000000000000000000 000000000000000000000000000000000000FFFFFFE07FFFFFC01B0C7E8F20>61 D<00060000000F0000000F0000000F0000001F8000001F8000001F8000003FC0000037C0000037 C0000077E0000063E0000063E00000E3F00000C1F00000C1F00001C1F8000180F8000180F80003 FFFC0003FFFC0003007C0007007E0006003E0006003E001F003F00FFC1FFF0FFC1FFF01C1C7F9B 1F>65 DI<001F808000FFE18003F03B8007C00F800F0007801E00 07803E0003803C0003807C00018078000180F8000180F8000000F8000000F8000000F8000000F8 000000F8000000F8000000780001807C0001803C0001803E0003001E0003000F00060007C00C00 03F0380000FFF000001FC000191C7E9B1E>IIII<001F808000FFE18003F03B8007C00F800F0007801E0007803E0003803C0003 807C00018078000180F8000180F8000000F8000000F8000000F8000000F8000000F801FFF0F801 FFF078000F807C000F803C000F803E000F801E000F800F000F8007C00F8003F03F8000FFF38000 1FC0801C1C7E9B21>I73 D75 D77 DI<003F800001FFF00003E0F80007803C000F001E001E000F003C0007803C0007807C0007C0 780003C0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E07C0007 C07C0007C03C0007803E000F801E000F000F001E0007803C0003E0F80001FFF000003F80001B1C 7E9B20>II82 D<07E0801FF9803C1F80780780700380F00380 F00180F00180F80000F80000FF00007FF0003FFC001FFE000FFF0003FF80003F800007C00007C0 0003C0C003C0C003C0C00380E00380F00700FC0F00CFFC0083F800121C7E9B17>I<7FFFFFC07F FFFFC0781F03C0701F01C0601F00C0E01F00E0C01F0060C01F0060C01F0060C01F0060001F0000 001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F00 00001F0000001F0000001F0000001F0000001F000007FFFC0007FFFC001B1C7F9B1E>I86 DI 91 D93 D<1FE0003FF8007C3C007C1E007C1E00381E00001E0007FE001FFE 003C1E00781E00F01E00F01E60F01E60F03E60787FE03FFFC00F8F8013127F9115>97 DI<03F00FF81E7C387C787C7038F000F000F000F000F000 F000780078063C061E0C0FF803E00F127F9112>I<003F80003F80000780000780000780000780 00078000078000078000078000078003E7800FFF801E1F80380780780780700780F00780F00780 F00780F00780F00780F00780700780780780380F801E1F800FF7F007E7F0141D7F9C17>I<03E0 0FF01C38381C781E700EFFFEFFFEF000F000F000F000700078063C061E0C0FF803E00F127F9112 >I<007C01FE03DF079F0F1F0F0E0F000F000F000F000F00FFE0FFE00F000F000F000F000F000F 000F000F000F000F000F000F000F000F007FF07FF0101D809C0D>I<07E3800FFFC03C3DC0381D 80781E00781E00781E00781E00381C003C3C003FF00037E0007000007000003FF8003FFE001FFF 003FFF807007C0E001C0E001C0E001C0E001C07003803C0F001FFE0007F800121B7F9115>II<1C003E003E003E001C00000000000000000000000000FE00 FE001E001E001E001E001E001E001E001E001E001E001E001E001E001E00FFC0FFC00A1D809C0B >I107 DIII<03F0000FFC001E1E00 380700780780700380F003C0F003C0F003C0F003C0F003C0F003C07003807807803807001E1E00 0FFC0003F00012127F9115>II114 D<1FB03FF07070E030E030F000FE 007FC07FE01FF007F80078C038C038E038F070FFE08F800D127F9110>I<06000600060006000E 000E001E003E00FFE0FFE01E001E001E001E001E001E001E001E001E301E301E301E301E300E60 0FE003C00C1A7F9910>IIII<7FCFF07FCFF00F878007860003CC0003DC0001F80000 F00000F00000780000FC0001FC00019E00031F00070F000F0780FF9FF8FF9FF81512809116>I< FF8FE0FF8FE01E07801E03000F06000F06000F0600078C00078C0007DC0003D80003D80003F800 01F00001F00000E00000E00000E00000C00000C00070C000F98000C18000C700007E00003C0000 131A7F9116>I123 D E /FE 8 57 df<06001E00FE00EE000E000E 000E000E000E000E000E000E000E000E000E000E000E007FE07FE00B137E9211>49 D<1F007FC0FBE0F9E0F8F070F000F000F001E001C0038007000E000C30183030707FE0FFE0FFE0 0C137E9211>I<0FC03FE03870787878783878007000F00FC00FC000700038703CF83CF83CF838 70783FF01FC00E137F9211>I<00E001E001E003E007E00EE01CE018E030E070E0E0E0FFFCFFFC 00E000E000E000E007FC07FC0E137F9211>I<60607FE07FC07F006000600060006F007FC071E0 60E000F000F070F0F0F0F0E0E1C07F801F000C137E9211>I<03E00FF01C38387878787030F000 F7E0FFF0F838F03CF03CF03CF03C703C703838701FE007C00E137F9211>I<60007FFC7FFC7FF8 E030C060C0C000C001800300070007000E000E000E001E001E001E001E000C000E147E9311>I< 0FC01FE038707038703878387E703FE01FC01FF03BF870FCE03CE01CE01CE01878383FF00FC00E 137F9211>I E /FF 69 124 df<00001FC0F800007FE1FC0000F1F3BE0001C1F73E0001C1EF3C 0003C0CF180003C00E000007801E000007801E000007801E000007801E000007803C00000F003C 00000F003C0001FFFFFFE001FFFFFFE0000F003C00001E007800001E007800001E007800001E00 7800001E007800003C00F000003C00F000003C00F000003C00F000003C00F000007801E0000078 01E000007801E000007801E000007801E00000F003C00000F003C00000F003C00000F003C00000 E003800001E007800001E007000039C707000079CF0E0000FB9F0E0000FB1F3C00007F0FF00000 3C07E00000272D82A21E>11 D<00000FF000003FFC0000F01C0001C03E0001C03E0003C03C0003 8038000780000007800000078000000F0000000F0000000F0000000F000001FFFFF001FFFFF000 1E00F0001E01E0001E01E0001E01E0001E01E0003C03C0003C03C0003C03C0003C03C0003C0780 00780780007807880078078C00780F1800780F1800F00F1800F0073000F007E000F001C000E000 0001E0000001E0000001C0000039C000007BC00000FB800000FB0000007E0000003C0000001F2D 82A21B>I<00000FE3C000003FF7800000F0FF800001E0FF800001C0F7800003C06F000003C00F 000003800F000007800F000007801E000007801E000007801E00000F001E00000F003C0001FFFF FC0001FFFFFC00000F003C00001E007800001E007800001E007800001E007800001E00F000001E 00F000003C00F000003C00F000003C01E000003C01E000003C01E200007801E300007803C60000 7803C600007803C600007801CC0000F001F80000F000700000F000000000E000000000E0000000 01E000000039C000000079C0000000F980000000FB800000007F000000003C00000000222D82A2 1D>I<00000FC01FC78000003FE0FFEF00000071F1E1FF000000E1F381FF000001C1E381EF0000 03C0C780DE000003C007001E000003C00F001E000003C00F001E000007800F003C000007800F00 3C000007801E003C000007801E003C000007801E00780000FFFFFFFFF80001FFFFFFFFF800000F 003C007800000F003C00F000000F003C00F000001E003C00F000001E003C00F000001E007801E0 00001E007801E000001E007801E000003C007801E000003C007803C000003C00F003C000003C00 F003C400003C00F003C600007800F0078C00007800F0078C00007801E0078C00007801E0039800 007801E003F00000F001E000E00000F001C000000000F003C000000000E003C000000000E00380 00000039E3838000000079C78700000000F9CF8600000000FB8F9E000000007F07F8000000003E 03F000000000312D82A22C>15 D<0E001F003F003F803F801F0003000300060006000C001C0018 007000E000C000091076A20F>39 D<0E1E3F3E3E1E06060C0C18383060C08008107D850F>44 D<7FF87FF8FFF07FF00D047D8B11>I<387CFCFCF87006067B850F>I<000FC0003FF000F0F801E0 7803C03C07803C07803C0F003C0F003C1F003C1E007C3E007C3E007C3E007C7C00F87C00F87C00 F87C00F8F801F0F801F0F801F0F801E0F003E0F003C0F003C0F00780F00780F00F00781E007C3C 003FF0000FC00016207B9F19>48 D<000080000180000300000700000F00003F0003FE0007DE00 001E00001E00003C00003C00003C00003C0000780000780000780000780000F00000F00000F000 00F00001E00001E00001E00001E00003C00003C00003C00007C000FFFE00FFFE0011207B9F19> I<000F80003FE00070F000C07801803C03103C06183C06183E0C183E0C183E18307C18307C1860 7C18C0F80F80F00F01E00003C0000780000F00003C0000700001E0000380000600000C00181800 383E00703FFFE077FFE060FFC0C07F80C01E0017207C9F19>I<000FC0007FF000F07801803803 003C06303C0E303C0C303C0C303C0C603807C0780380700000E00001C0007F8000FE00000F0000 07800003C00003C00003C00003C00007C07807C0F807C0F80780F00F80C00F00C01E00707C003F F0001FC00016207B9F19>I<0000300000780000F00000F00000F00000F00001E00001E00001C0 0003C00003C0000380000780000700000F00000E00001E00001C00003C000038000070C00061E0 00E3C001C3C00183C00303C00607800C07801F87807FE780E07F00401FF0000FC0000F00001E00 001E00001E00001E00003C00003C00003C00001800152A7E9F19>I<00800C00E03C00FFF801FF E001FFC001FF00018000030000030000030000030000060000067E0007FF000783800E03C00C03 C00003E00003E00003E00003E00003E07807C0F807C0F807C0F80F80F00F00C01E00E03C007078 003FF0000F800016207B9F19>I<0007E0001FF0003C3000703801E0F801C0F80381F00780F00F 00000F00001F00001E00003EFE003FFF007F07807E03807E03C07C03C0FC07C0F807C0F807C0F8 07C0F00F80F00F80F00F80F00F00F01E00F01E00703C007870003FE0000F800015207A9F19>I< 063C0306FE060DFE0E0FFF1C1FFFF81F83F83C00303800707000E06000E0E001C00003C0000380 000780000700000F00001F00001E00003E00003C00007C00007C00007C0000F80000F80001F800 01F00001F00003F00003F00003E00001C00018207A9F19>I<000FC0003FE000707000C0380180 3803803803003807003807803807807007C0E007F1C007FB8003FF0001FE0001FF0003FF800F1F C01C0FC03807C03803E07001E0E001C0E001C0E001C0E00180E00380E00700700E00783C003FF0 000FC00015207B9F19>I<000F80003FE00070F000E07001C07803C0780780780F80780F80780F 80781F00F81F00F81F00F81F01F81E01F01E03F00E03F00F07F007FFE003F3E00003C00007C000 0780000780780F007C0E00F81E00F83C00E0780060F0007FC0001F000015207B9F19>I<07800F 800FC01F800F800F0000000000000000000000000000000000000038007C00FC00FC00F8007000 0A157B940F>I<01E003E003F007E003E003C00000000000000000000000000000000000000E00 1E003F003E003E001E00060006000C000C001800380030006000C00080000C1F7D940F>I<3FFF FFFF3FFFFFFF0000000000000000000000000000000000000000000000000000000000000000FF FFFFFCFFFFFFFC200C7B9125>61 D<00000300000007000000070000000F0000001F0000001F00 00003F0000003F8000007F8000006F800000CF800001CF8000018F8000030F8000030F8000060F 8000060F80000C0F80000C0F8000180F8000300F8000300F80007FFFC0007FFFC000C007C000C0 07C0018007C0038007C0030007C0060007C0060007C01E0007C0FFC07FFCFF807FFC1E227DA124 >65 D<00FFFFE000FFFFF8000F807C000F803E001F001E001F001F001F001F001F001F003E001E 003E003E003E003E003E007C007C0078007C00F0007C03E0007FFFC000FFFFC000F803E000F801 F000F800F801F000F801F0007801F0007C01F0007C03E000F803E000F803E000F803E001F007C0 01F007C003E007C007C007C01F00FFFFFE00FFFFF00020227DA122>I<0000FE010003FF83000F 80C7003E006F0078003E01F0003E03E0001E07C0001E0780001C0F00001C1F00001C1E00001C3E 0000187C0000187C0000007C000000F8000000F8000000F8000000F8000000F8000000F0000060 F0000060F00000C0F80000C0F800018078000180780003003C0006003E000C001F00180007C0F0 0003FFC00000FF0000202279A123>I<00FFFFF00000FFFFFC00000F803E00000F800F00001F00 0780001F000780001F0003C0001F0003C0003E0003C0003E0003E0003E0003E0003E0003E0007C 0003E0007C0003E0007C0003E0007C0003E000F80007C000F80007C000F80007C000F80007C001 F0000F8001F0000F8001F0000F0001F0001F0003E0001E0003E0003C0003E0007C0003E0007800 07C000F00007C001E00007C007800007C01F0000FFFFFC0000FFFFF0000023227DA125>I<00FF FFFF8000FFFFFF80000F800F80000F800780001F000380001F000380001F000300001F00030000 3E000300003E030300003E030300003E030300007C060000007C060000007C0E0000007FFE0000 00FFFC000000F81C000000F81C000000F81C000001F018000001F0180C0001F0180C0001F00018 0003E000180003E000300003E000300003E000700007C000600007C000E00007C001C00007C00F C000FFFFFFC000FFFFFF800021227DA121>I<00FFFFFF00FFFFFF000F801F000F8007001F0007 001F0007001F0006001F0006003E0006003E0006003E0306003E0306007C0600007C0600007C0E 00007C1E0000FFFC0000FFFC0000F81C0000F81C0001F0180001F0180001F0180001F0180003E0 000003E0000003E0000003E0000007C0000007C0000007C0000007C00000FFFE0000FFFE000020 227DA120>I<0000FE010003FF83000F80C7003E006F0078003E01F0003E03E0001E07C0001E07 80001C0F00001C1F00001C1E00001C3E0000187C0000187C0000007C000000F8000000F8000000 F8000000F8000000F8007FFCF0007FFCF00003E0F00003E0F80007C0F80007C0780007C0780007 C03C000F803E000F801F001F8007C0778003FFE30000FF0100202279A126>I<00FFFCFFFC00FF FCFFFC000F800F80000F800F80001F001F00001F001F00001F001F00001F001F00003E003E0000 3E003E00003E003E00003E003E00007C007C00007C007C00007C007C00007FFFFC0000FFFFF800 00F800F80000F800F80000F800F80001F001F00001F001F00001F001F00001F001F00003E003E0 0003E003E00003E003E00003E003E00007C007C00007C007C00007C007C00007C007C000FFFCFF FC00FFFCFFFC0026227DA124>I<00FFFC00FFFC000F80000F80001F00001F00001F00001F0000 3E00003E00003E00003E00007C00007C00007C00007C0000F80000F80000F80000F80001F00001 F00001F00001F00003E00003E00003E00003E00007C00007C00007C00007C000FFFC00FFFC0016 227DA113>I<0007FFE0000FFFC000003E0000003E0000007C0000007C0000007C0000007C0000 00F8000000F8000000F8000000F8000001F0000001F0000001F0000001F0000003E0000003E000 0003E0000003E0000007C0000007C0000007C0000007C000000F8000180F80003C0F80007E0F80 00FC1F0000FC1E0000F83E000070F800003FF000000FC000001B227DA11A>I<00FFFE0000FFFE 00000F8000000F8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E 0000007C0000007C0000007C0000007C000000F8000000F8000000F8000000F8000001F0000001 F0006001F0006001F000C003E000C003E000C003E0018003E0018007C0038007C0070007C00F00 07C03F00FFFFFE00FFFFFE001B227DA11F>76 D<00FFE0001FFC00FFE0001FFC000FE0003F8000 0FE0006F80001BE0007F00001BE000DF00001BE000DF00001BE0019F000033E001BE000033E003 3E000033E0063E000033E0063E000063E00C7C000063E00C7C000061F0187C000061F0187C0000 C1F030F80000C1F060F80000C1F060F80000C1F0C0F8000181F0C1F0000181F181F0000181F181 F0000181F301F0000301F603E0000301F603E0000301FC03E0000300FC03E0000600F807C00006 00F807C0000600F007C0001F00E007C000FFE0E0FFFC00FFE0C0FFFC002E227DA12C>I<00FFC0 1FFC00FFC01FFC000FC003C0000FE00380001BE00300001BE00300001BF003000019F003000031 F006000031F806000030F806000030F806000060FC0C0000607C0C0000607C0C0000607C0C0000 C03E180000C03E180000C03E180000C01F180001801F300001801F300001800FB00001800FB000 03000FE000030007E000030007E000030007E000060007C000060003C000060003C0001F0003C0 00FFE0018000FFE001800026227DA124>I<0000FE000007FF80001F03E0003C01F000F000F801 E0007803C0003C0780003C0F80003C0F00003E1F00003E3E00003E3E00003E7C00003E7C00003E 7C00003EF800007CF800007CF800007CF80000F8F80000F8F80000F8F00001F0F00001F0F80003 E0F80003C0F800078078000F007C001E003C003C001E00F8000F83E00007FFC00000FE00001F22 79A125>I<00FFFFE000FFFFF8000F807C000F801E001F001F001F000F001F000F001F000F003E 001F003E001F003E001F003E001E007C003E007C003C007C0078007C00F000F803E000FFFF8000 FFFE0000F8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E00000 07C0000007C0000007C0000007C00000FFFC0000FFFC000020227DA121>I<0000FE000007FF80 001F03E0003C01F000F800F801E0007803C0007C07C0003C0F80003C0F00003E1F00003E3E0000 3E3E00003E7C00003E7C00003E7C00003EF800007CF800007CF800007CF8000078F80000F8F000 00F8F00001F0F00001F0F00003E0F80003C0F81E0780783F0F007C611E003CC1BC001EC1F8000F C3E00007FFC00000FF804000018040000180C000018080000181800001C3000003FF000001FE00 0001FE000001FC000000F0001F2C79A125>I<00FFFFC000FFFFF0000F80F8000F803C001F001E 001F001E001F001E001F001E003E003E003E003E003E003E003E007C007C0078007C00F8007C01 F0007C07C000FFFF0000FFFE0000F80F0000F80F8001F007C001F007C001F007C001F007C003E0 0F8003E00F8003E00F8003E00F8007C01F0007C01F0307C01F0307C00F86FFFC07FCFFFC01F820 227DA124>I<0003F040000FFCC0001E0FC0003807C00070038000E0038001E0038001E0038003 C0030003C0030003E0000003E0000003F0000003FE000001FFC00001FFF00000FFF800007FFC00 000FFC000001FE0000007E0000003E0000003E0000003E0030003C0030003C0030003C00300078 00700070007800F0007C01E0006F03C000C7FF000081FC00001A227DA11B>I<1FFFFFF81FFFFF F81E03E0783803E0383807C0383007C0387007C0306007C030600F8030C00F8030C00F8030C00F 8030001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C000000 7C0000007C0000007C000000F8000000F8000000F8000000F8000001F0000001F0000001F00000 03F00000FFFFC000FFFF80001D2277A123>I<3FFF07FF3FFF07FF03E000F003E000E007C000C0 07C000C007C000C007C000C00F8001800F8001800F8001800F8001801F0003001F0003001F0003 001F0003003E0006003E0006003E0006003E0006007C000C007C000C007C000C007C000C007800 1800F80018007800300078003000780060003800C0003C0180001E0700000FFC000003F0000020 2277A124>II89 D<007C6001FEF003C7F00703E00F01E01E01E03E 01E03C03C07C03C07C03C07C03C0F80780F80780F80788F8078CF80F18780F18781F183C77301F E7E00F81C016157C9419>97 D<03E0003FC0003FC00003C00003C0000780000780000780000780 000F00000F00000F00000F00001E00001E78001FFE001F8F003E0F003C07803C07803C0780780F 80780F80780F80780F80F01F00F01F00F01F00F01E00F03C00703C0070780038F0003FC0000F00 0011237BA216>I<003F0000FF8003C1C00783C00F07C01E07C03E03803C00007C00007C00007C 0000F80000F80000F80000F800007800807801803807003C1E001FF80007E00012157C9416>I< 00001F0001FE0001FE00001E00001E00003C00003C00003C00003C000078000078000078000078 0000F0007CF001FEF003C7F00703E00F01E01E01E03E01E03C03C07C03C07C03C07C03C0F80780 F80780F80788F8078CF80F18780F18781F183C77301FE7E00F81C018237CA219>I<007C03FE07 870F031E033C037C06781CFFF8FFC0F800F000F000F000F000F001F003780E383C1FF00FC01015 7B9416>I<00003C0000FE0001DF0001DF0003DE00038C000780000780000780000780000F0000 0F00000F00000F0001FFF801FFF8001E00001E00001E00001E00001E00003C00003C00003C0000 3C00003C0000780000780000780000780000780000F00000F00000F00000F00000E00001E00001 E00001C00039C0007BC000FB8000FB00007E00003C0000182D82A20F>I<000F18003FBC0070FC 00E0F801E07803C07807C0780780F00F80F00F80F00F80F01F01E01F01E01F01E01F01E01F03C0 0F03C00F07C0071FC003FF8001E780000780000780000F00000F00380F00781E00F81C00F87800 7FF0003FC000161F7F9416>I<00F8000FF0000FF00000F00000F00001E00001E00001E00001E0 0003C00003C00003C00003C000078000078F8007BFC007F1E00FC0F00F80F00F00F00F00F01E01 E01E01E01E01E01E01E03C03C03C03C03C03C43C078678078C780F0C780F18780738F007F06001 C017237DA219>I<006000F001F001F000C000000000000000000000000000000F001F8033C063 C0C3C0C780C78007800F000F000F001E001E001E203C303C60786078C039C03F800E000D217CA0 0F>I<00F8000FF0000FF00000F00000F00001E00001E00001E00001E00003C00003C00003C000 03C0000780000781E00783F00786300F08F00F11F00F21F00F41E01F80C01F80001FE0001EF000 3C78003C7C003C3C203C3C307878607878607878407838C0F01F80600F0014237DA216>107 D<01F01FE01FE001E001E003C003C003C003C007800780078007800F000F000F000F001E001E00 1E001E003C003C003C003C007800780079007980F300F300F30073007E001C000C237CA20C>I< 1E07E03E003F1FF0FF0067B879C78067E03F03C0C7C03E03C0C7803C03C0C7803C03C00F007807 800F007807800F007807800F007807801E00F00F001E00F00F001E00F00F101E00F01E183C01E0 1E303C01E03C303C01E03C603C01E01CE07803C01FC0300180070026157C9428>I<1E07C0003F 1FE00067B8F00067E07800C7C07800C7807800C78078000F00F0000F00F0000F00F0000F00F000 1E01E0001E01E0001E01E2001E03C3003C03C6003C0786003C078C003C039C007803F8003000E0 0019157C941B>I<003F0000FFC003E1E00780F00F00F01E00F83E00F83C00F87C00F87C00F87C 00F8F801F0F801F0F801E0F803E07803C0780780380F003C1E001FFC0007E00015157C9419>I< 01E0F80003F3FC00067F0E00067E0F000C7C07000C7807800C780F8000F00F8000F00F8000F00F 8000F00F8001E01F0001E01F0001E01F0001E03E0003C03C0003E0380003E0780003F1E00007BF C000079F000007800000078000000F0000000F0000000F0000000F0000001E0000001E000000FF E00000FFE00000191F809419>I<00786001FCE00387E00707C00F03C01E03C03E03C03C07807C 07807C07807C0780F80F00F80F00F80F00F80F00F81E00781E00783E0038FE001FFC000F3C0000 3C00003C0000780000780000780000780000F00000F0000FFF000FFF00131F7C9416>I<1E0F00 3F3FC067F0C067C1E0C7C3E0C783E0C783C00F01800F00000F00000F00001E00001E00001E0000 1E00003C00003C00003C00003C000078000030000014157C9415>I<007C0001FF000383800703 800E07800E07800E02000F80000FF8000FFC0007FE0001FF00001F00300F00780F00F80E00F80E 00F01C007038003FF0001FC00011157D9414>I<00E001E001E001E001E003C003C003C003C007 80FFF8FFF807800F000F000F000F001E001E001E001E003C003C003C103C1878307830786038C0 3F800F000D1F7C9E10>I<0F00301F807833C07863C0F0C3C0F0C780F0C780F00781E00F01E00F 01E00F01E01E03C01E03C01E03C41E03C61E078C1E078C1E0F8C0E1B980FF3F003E0E018157C94 1A>I<0F01801F83C033C7E063C7E0C3C3E0C781E0C780E00780C00F00C00F00C00F00C01E0180 1E01801E01801E03001E03001E06001E04000F1C0007F80003E00014157C9416>I<0F0060601F 80F0F033C0F1F863C1E1F8C3C1E0F8C781E078C781E0380783C0300F03C0300F03C0300F03C030 1E0780601E0780601E0780601E0780C01E0780C01E0781801E0F81800F1BC30007F9FE0003E0F8 001E157C9420>I<03C3C00FE7E0187C70307CF07079F06079F06079E000F0C000F00000F00000 F00001E00001E00039E02079E030FBC060FBC060F3C0C0E7E3807CFF00383C0014157D9416>I< 0F00301F807833C07863C0F0C3C0F0C780F0C780F00781E00F01E00F01E00F01E01E03C01E03C0 1E03C01E03C01E07801E07801E0F800E1F800FFF0003EF00000F00000F00001E00781E00F83C00 F83800F07000E1E0007FC0003F0000161F7C9418>I<00F03003F87007FEE007FFC00C07800C03 00000600000C0000180000300000600000C0000180000300400600600C00C01F03C03FFF8079FF 0060FE00C0380014157E9414>II E /FG 54 122 df<01F00003F80007FC000FFC001F3E001E1E001E1E001E1E001E1E001E3EFC1E7DFC1EF9 FC1FFBFC0FF3C00FE3C00FC7C01F87803FC7807FCF807FEF00F9FF00F1FE00F0FE00F07C18F07E 3CF8FF3C7FFFFC3FFFF81FE7F80F81F0161E7F9D1A>38 D<007800F801F803E007C00F800F001F 001E003E003C007C0078007800F800F000F000F000F000F000F000F000F000F000F000F8007800 78007C003C003E001E001F000F000F8007C003E001F800F800780D2878A21A>40 D<7000F8007C003E001F000F80078007C003C003E001E001F000F000F000F80078007800780078 00780078007800780078007800F800F000F001F001E003E003C007C007800F801F003E007C00F8 0070000D287CA21A>I<1E003F007F007F807F803F801F800F800F801F007E00FC00F800700009 0E78861A>44 D<7FFFC0FFFFE0FFFFE07FFFC013047D901A>I<387CFEFEFE7C38070777861A>I< 00E00000E00001E00003E00007E0000FE0007FE000FFE000FDE00079E00001E00001E00001E000 01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000 7FFF807FFF807FFF807FFF80111E7C9D1A>49 D<387CFEFEFE7C3800000000000000387CFEFEFE 7C38071577941A>58 D<7FFFF0FFFFF8FFFFF87FFFF00000000000000000000000007FFFF0FFFF F8FFFFF87FFFF0150C7E941A>61 D<007E0001FF8003FFC007FFE00FC3E01F0FF03E3FF03C7FF0 7C7FF878F9F8F8F0F8F9F0F8F1E078F1E078F1E078F1E078F1E078F1E078F9F0F8F8F0F078F9F0 7C7FE03C7FE03E3FC01F0F780FC1F807FFF803FFE001FFC0007F00151E7E9D1A>64 D<007C00007C0000FE0000FE0000EE0000EE0000EE0001EF0001EF0001EF0001C70001C70003C7 8003C78003C78003C7800783C00783C00783C007FFC007FFC00FFFE00FFFE00F01E00F01E01F01 F07F83FCFFC7FEFFC7FE7F83FC171E7F9D1A>I<00FE3803FF7807FFF80FFFF81FC3F81F01F83E 00F87C00F87C0078780078F80078F80000F00000F00000F00000F00000F00000F00000F80000F8 00787800787C00787C00783E00F81F00F01FC3F00FFFE007FFC003FF8000FE00151E7E9D1A>67 D<7FFE00FFFF00FFFF807FFFC01E07E01E03F01E01F01E00F81E00781E00781E007C1E003C1E00 3C1E003C1E003C1E003C1E003C1E003C1E003C1E007C1E00781E00781E00F81E01F01E01F01E07 E07FFFC0FFFFC0FFFF007FFE00161E7F9D1A>II< 7FFFFCFFFFFCFFFFFC7FFFFC0F003C0F003C0F003C0F003C0F00000F00000F07800F07800F0780 0FFF800FFF800FFF800FFF800F07800F07800F07800F00000F00000F00000F00000F00000F0000 7FF000FFF000FFF0007FF000161E7F9D1A>I<01F8E003FFE007FFE00FFFE01F87E03E03E03E03 E07C01E07801E07801E0F801E0F00000F00000F00000F00000F00000F01FF8F01FF8F01FF8F81F F87801E07801E07C03E03E03E03E07E01F8FE00FFFE007FFE003FFE001F9E0151E7E9D1A>III<7F87 F8FFCFFCFFCFFC7F87F81E07C01E07C01E0F801E1F001E1E001E3E001E7C001EF8001EF8001FFC 001FFC001FFE001FFE001F9F001F9F001F0F801E0F801E07C01E03C01E03E01E01E01E01F07F83 FCFFC3FEFFC3FE7F83FC171E7F9D1A>75 D<7FF000FFF800FFF8007FF0000F00000F00000F0000 0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000 0F00000F003C0F003C0F003C0F003C0F003C7FFFFCFFFFFCFFFFFC7FFFFC161E7F9D1A>I<7F80 FF00FF80FF80FFC1FF807FC1FF001EC1BC001EC1BC001EE3BC001EE3BC001EE3BC001EE3BC001E F7BC001E773C001E773C001E773C001E773C001E773C001E3E3C001E3E3C001E3E3C001E1C3C00 1E003C001E003C001E003C001E003C001E003C001E003C007F80FF00FFC1FF80FFC1FF807F80FF 00191E809D1A>II<0FFE003FFF807FFFC07FFFC0 7C07C0F803E0F803E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0 F001E0F001E0F001E0F001E0F001E0F001E0F803E0F803E07C07C07FFFC07FFFC03FFF800FFE00 131E7D9D1A>II82 D<07F1C01FFFC03FFFC07FFFC07C1FC0F807C0F003C0F003C0F003C0F00000F800 007E00007FC0003FFC000FFF0007FF80007FC00007C00003E00001E00001E07001E0F001E0F003 E0F803E0FE07C0FFFF80FFFF00FFFE00E3FC00131E7D9D1A>I<7FFFFEFFFFFEFFFFFEFFFFFEF0 3C1EF03C1EF03C1EF03C1E003C00003C00003C00003C00003C00003C00003C00003C00003C0000 3C00003C00003C00003C00003C00003C00003C00003C00003C0003FFC003FFC003FFC003FFC017 1E7F9D1A>IIII91 D93 D<0FF8001FFF003FFF803FFFC03E0FE01C03E00001E000FFE00FFFE01FFFE07FE1E07E01E0F801 E0F001E0F001E0F803E07C0FE07FFFFE3FFFFE1FFCFE07F07E17157E941A>97 DI<01FF8007FFC00FFFE01FFFE03F03E07E01C078 0000F80000F00000F00000F00000F00000F00000F800F07C00F07E01F03F83E01FFFE00FFFC007 FF8001FE0014157D941A>I<001FE0001FE0001FE0001FE00001E00001E00001E00001E00001E0 03F1E00FFDE01FFFE03FFFE07F0FE07C03E07801E0F801E0F001E0F001E0F001E0F001E0F001E0 F803E07803E07C07E07E1FE03FFFFE1FFFFE0FF9FE03F1FE171E7E9D1A>I<01FC0007FF000FFF 801FFFC03F07E07C03E07801F0F801F0FFFFF0FFFFF0FFFFF0FFFFF0F00000F800F07C00F07E01 F03F83E01FFFE00FFFC007FF0001FC0014157D941A>I<0007E0001FF0003FF8007FF800FCF800 F07000F00000F00000F0007FFFF0FFFFF0FFFFF0FFFFF000F00000F00000F00000F00000F00000 F00000F00000F00000F00000F00000F00000F00000F0003FFFC07FFFE07FFFE03FFFC0151E7F9D 1A>I<01F8FC07FFFE0FFFFE1FFFFE1F0F9C3E07C03C03C03C03C03C03C03E07C01F0F801FFF80 1FFF001FFE003DF8003C00003C00001FFF801FFFE01FFFF83FFFFC7C00FCF8003EF0001EF0001E F0001EF8003EFC007E7F01FC3FFFF81FFFF007FFC001FF0017217F941A>II<00E00001F00001F00001F00000E0000000000000000000000000000000007FF0007FF0007F F0007FF00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000 F00000F0007FFFC0FFFFE0FFFFE07FFFC0131F7D9E1A>I107 DI<7E7C3E00FFFEFF00FFFFFF007FFF FF801F8FC7801F0F87801F0F87801E0F07801E0F07801E0F07801E0F07801E0F07801E0F07801E 0F07801E0F07801E0F07801E0F07807F8FC7E0FFCFE7F0FFCFE7F07F8FC7E01C1581941A>II<01FC0007FF000FFF801FFFC03F07E07C01F07800F0F800F8F00078 F00078F00078F00078F00078F800F87800F07C01F03F07E01FFFC00FFF8007FF0001FC0015157E 941A>II<7FC3F8FFCFFCFFDFFE7F FFFE03FE3E03F81C03F00003E00003E00003C00003C00003C00003C00003C00003C00003C00003 C0007FFF80FFFF80FFFF807FFF8017157F941A>114 D<0FFB803FFF807FFF807FFF80FC0F80F0 0780F00780FC00007FE0003FFC001FFF0001FF80000FC07003C0F003C0F803C0FC0FC0FFFF80FF FF00FFFE00E7F80012157C941A>I<01C00003C00003C00003C00003C00003C00003C0007FFFE0 FFFFE0FFFFE0FFFFE003C00003C00003C00003C00003C00003C00003C00003C06003C0F003C0F0 03C0F003E1F003E3E001FFE001FFC000FF80003E00141C7F9B1A>II<7FC7FCFFC7FEFFC7FE7FC7FC0F01E00F01E00F83E00783C00783C00783C003C78003C78003 C78001C70001EF0001EF0000EE0000FE0000FE0000FE00007C0017157F941A>I<7FC7F87FCFFC 7FCFFC7FC7F807C78003EF8001FF0000FE0000FC00007C00007C00007C0000FE0001EF0003EF00 03C7800783C07FC7FCFFC7FEFFC7FE7FC7FC17157F941A>120 D<7FC7FCFFC7FEFFC7FE7FC7FC 0F01E00F81E00783E00783C003C3C003C3C003C78001E78001E78001E70000E70000EF0000EE00 007E00007E00007E00003C00003C00007C0000780000780010F8007CF0007DF0007FE0007FC000 3F80001E000017207F941A>I E /FH 97 128 df0 D<000FE000007FFC0001F83F0003E00F8007C007C00F8003E01F0001F01F00 01F03E0000F83E0000F87E0000FC7C00007C7C00007CFC30187EFC30187EFC3FF87EFC3FF87EFC 3FF87EFC3FF87EFC30187EFC30187E7C00007C7C00007C7E0000FC3E0000F83E0000F81F0001F0 1F0001F00F8003E007C007C003E00F8001F83F00007FFC00000FE0001F227DA126>2 D5 DI<001FE00000FFFC0003F03F0007C00F800F8007C01F0003E0 3F0003F03F0003F07E0001F87E0001F87E0001F87E0001F87E0001F87E0001F87E0001F83E0001 F03F0003F03F0003F01F0003E01F0003E00F0003C00F8007C0078007800380070003C00F00C1C0 0E0CC1C00E0C60C00C1860C00C1860E01C187FE01FF87FE01FF83FE01FF03FE01FF01E227EA123 >10 D<000FC1F0003FF7F800F87E3C01E0FC7C03C0FC7C03C0F838078078000780780007807800 0780780007807800078078000780780007807800FFFFFFC0FFFFFFC00780780007807800078078 000780780007807800078078000780780007807800078078000780780007807800078078000780 7800078078000780780007807800078078007FE1FFC07FE1FFC01E2380A21C>I<000FC000003F E00000F8700001E0780003C0F80003C0F8000780F8000780700007800000078000000780000007 8000000780000007800000FFFFF800FFFFF8000780F80007807800078078000780780007807800 078078000780780007807800078078000780780007807800078078000780780007807800078078 0007807800078078007FE1FF807FE1FF80192380A21B>I<000FD800003FF80000F8F80001E0F8 0003C0F80003C07800078078000780780007807800078078000780780007807800078078000780 7800FFFFF800FFFFF8000780780007807800078078000780780007807800078078000780780007 807800078078000780780007807800078078000780780007807800078078000780780007807800 7FF3FF807FF3FF80192380A21B>I<0007E03F00003FF1FF8000F83FC1C001E03F01E003C07E03 E003C07E03E007807C03E007803C01C007803C000007803C000007803C000007803C000007803C 000007803C0000FFFFFFFFE0FFFFFFFFE007803C03E007803C01E007803C01E007803C01E00780 3C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007 803C01E007803C01E007803C01E007803C01E007803C01E07FF1FF8FFE7FF1FF8FFE272380A229 >I<0007E03F60003FF1FFE000F83FC3E001E07F03E003C07E03E003C07E01E007803C01E00780 3C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E0FFFFFFFFE0FF FFFFFFE007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E0 07803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01 E007803C01E007803C01E07FF1FF8FFE7FF1FF8FFE272380A229>I<038007800F800F001E003C 0038007000E0004000090A77A218>19 D<78FCFCFCFCFCFCFC7878787878787878787878303030 3030000000000078FCFCFCFC7806237CA20E>33 D<781E00FC3F00FC3F00FE3F80FE3F807E1F80 0601800601800601800C03000C03001C0700180600300C00701C0060180011107EA218>I<0780 000C001FC0001C001C600018003870007800703C00F000703FFFE000F01BFFE000F01800C000F0 1801C000F018038000F018030000F018070000F0180E0000F0180C000070301C00007030180000 38703800001C607000001FC06000000780E03C000001C07E00000180E300000381C300000703C1 800006038180000E0380C0000C0780C0001C0780C000380780C000300780C000700780C000E007 80C000C00780C001C00380C00180038180038003C180070001C300060000E3000E00007E000C00 003C0022287DA429>37 D<003C000000007E00000000E300000001C180000001C180000003C180 000003C180000003C180000003C180000003C300000003C700000003C600000003CC00000001D8 00000001F807FF8001F007FF8001E000FC0001F000700003F000600007F800C0000E7800C0001C 7C0180003C3C018000781E030000781F060000F80F060000F8078C0000F807D80000F803F00000 F801F003007C00F803007C01FC06003F073E0E000FFE0FFC0003F003F00021237EA226>I<78FC FCFEFE7E0606060C0C1C1830706007107CA20E>I<0030006000C001800380070006000E000E00 1C001C003800380038007800700070007000F000F000F000F000F000F000F000F000F000F000F0 00F000F000F00070007000700078003800380038001C001C000E000E00060007000380018000C0 006000300C327DA413>I I<0001800000018000000180000001800000018000000180000001800000018000000180000001 8000000180000001800000018000000180000001800000018000FFFFFFFEFFFFFFFE0001800000 018000000180000001800000018000000180000001800000018000000180000001800000018000 00018000000180000001800000018000000180001F227D9C26>43 D<78FCFCFEFE7E0606060C0C 1C1830706007107C850E>II<78FCFCFCFC7806067C850E>I<0001 80000180000380000300000300000700000600000600000E00000C00000C00001C000018000018 0000180000380000300000300000700000600000600000E00000C00000C00001C0000180000180 000380000300000300000700000600000600000E00000C00000C00000C00001C00001800001800 00380000300000300000700000600000600000E00000C00000C0000011317DA418>I<01F00007 FC000F1E001C07003C07803803807803C07803C07803C0F803E0F803E0F803E0F803E0F803E0F8 03E0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E07803C07803C07803C03803803C 07801E0F000F1E0007FC0001F00013207E9F18>I<00C001C007C0FFC0FBC003C003C003C003C0 03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003 C003C0FFFFFFFF10207C9F18>I<03F0000FFE00383F00300F80600FC0F807C0FC07E0FC07E0FC 03E07803E03007E00007E00007C00007C0000F80000F00001E00003E00003C0000700000E00001 C0000180000300600600600C00601800E03800C03FFFC07FFFC0FFFFC0FFFFC013207E9F18>I< 03F0000FFE001C1F00380F807C0F807C0FC07C07C03C0FC0180FC0000F80000F80000F00001F00 003C0003F80003F000001E00000F00000F800007C00007C00007E03007E07807E0FC07E0FC07E0 FC07C0F80FC0700F803C1F001FFC0003F00013207E9F18>I<000700000700000F00001F00001F 00003F00007F00006F0000CF0001CF00018F00038F00030F00060F000E0F000C0F00180F00380F 00300F00600F00E00F00FFFFF8FFFFF8000F00000F00000F00000F00000F00000F00000F0001FF F801FFF815207F9F18>I<1000801C07801FFF001FFE001FFC001FF8001FC00018000018000018 000018000018000019F8001FFE001E0F001807801807800003C00003C00003E00003E00003E078 03E0F803E0F803E0F803C0F003C0600780300F003C1E000FFC0003F00013207E9F18>I<007E00 01FF0003C3800701C00E03C01E07C03C07C03C03807C0000780000780000F80000F9FC00FBFE00 FE0700FC0780FC03C0FC03C0F803E0F803E0F803E0F803E07803E07803E07803E07803C03803C0 3C03801C07000F0F0007FC0001F80013207E9F18>I<6000007000007FFFE07FFFE07FFFC07FFF C0600180E00300C00300C00600C00C00000C0000180000300000300000600000600000E00000E0 0001E00001C00001C00003C00003C00003C00003C00007C00007C00007C00007C00007C00007C0 0007C00003800013227DA118>I<01F80007FE000E0F001803803003807001C07001C07001C078 01C07C03807E03803F87001FEE000FFC0007FC0003FE000FFF001C7F80381FC0700FC07003E0E0 01E0E000E0E000E0E000E0E000E07000C07001C03803801E0F000FFE0003F80013207E9F18>I< 01F00007FC000E0E001C07003C07807803807803C0F803C0F803C0F803C0F803E0F803E0F803E0 F803E07807E07807E03C07E01C0FE00FFBE007F3E00003E00003C00003C00003C03807807C0780 7C0700780E00301C003838001FF00007C00013207E9F18>I<78FCFCFCFC780000000000000000 0078FCFCFCFC7806157C940E>I<78FCFCFCFC7800000000000000000070F8FCFCFC7C0C0C0C1C 181830306040061F7C940E>I61 D<0FE01FF8383C601EF0 1FF81FF81FF81F701F003E003E007C00F000E001C001C001800380030003000300030003000300 0000000000000000000007800FC00FC00FC00FC0078010237DA217>63 D<000180000003C00000 03C0000003C0000007E0000007E0000007E000000FF000000DF000000DF0000018F8000018F800 0018F80000307C0000307C0000307C0000603E0000603E0000603E0000C01F0000C01F0001C01F 8001FFFF8001FFFF8003800FC0030007C0030007C0070007E0060003E0060003E00E0003F01F00 03F0FFC01FFFFFC01FFF20227EA125>65 DI<000FE010003FF83000FC0E7001E003F007C001F00F8001F00F0000F01F0000F03E00 00703E0000707E0000307C0000307C000030FC000030FC000000FC000000FC000000FC000000FC 000000FC000000FC0000007C0000307C0000307E0000303E0000303E0000601F0000600F0000C0 0F8000C007C0018001F0030000FC0E00003FFC00000FE0001C227DA123>IIII<0007F008003FFC18 00FC0E3801F0037803C001F8078000F80F0000781F0000783E0000383E0000387E0000387C0000 187C000018FC000018FC000000FC000000FC000000FC000000FC000000FC000000FC003FFF7C00 3FFF7E0000F87E0000F83E0000F83E0000F81F0000F80F8000F8078000F803E000F801F001F800 FE0738003FFE180007F80820227DA126>III<03FFF803FFF8000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8000 0F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8030 0F80780F80FC0F80FC0F80FC1F00781F00783E001FF80007E00015227FA119>IIIII<000FE000007FFC0001F83F0003E00F8007C007C00F8003E01F0001F01F 0001F03E0000F83E0000F87E0000FC7C00007C7C00007CFC00007EFC00007EFC00007EFC00007E FC00007EFC00007EFC00007EFC00007E7C00007C7E0000FC7E0000FC3E0000F83E0000F81F0001 F01F0001F00F8003E007C007C003E00F8001F83F00007FFC00000FE0001F227DA126>II<000FE000007FFC0001F83F0003E00F80 07C007C00F8003E01F0001F01F0001F03E0000F83E0000F87E0000FC7C00007C7C00007CFC0000 7EFC00007EFC00007EFC00007EFC00007EFC00007EFC00007EFC00007E7C00007C7C00007C7E00 00FC3E0000F83E0000F81F0781F01F0FE1F00F9C33E007D817C003F81F8001FC3F00007FFC0000 0FEC0200000C0200000C0200000E0600000F0E00000FFE000007FC000007FC000007F8000003F8 000001E01F2C7DA126>II<03F0200FFC601E 0FE03803E07801E07000E0F000E0F00060F00060F00060F80000F800007C00007FC0003FFC003F FF001FFF8007FFC000FFC0000FE00003E00001F00001F00000F0C000F0C000F0C000F0E000E0E0 00E0F001E0F801C0FE0780C7FF0081FC0014227DA11B>I<7FFFFFF87FFFFFF87C07C0F87007C0 386007C0186007C018E007C01CE007C00CC007C00CC007C00CC007C00CC007C00C0007C0000007 C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000 07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00003FFFF80 03FFFF801E227EA123>IIII<7FFC0FFF 007FFC0FFF0007F003F00003F001C00001F001800001F803800000FC030000007C060000007E0E 0000003E0C0000003F180000001FB80000000FB00000000FE000000007E000000003E000000003 F000000003F000000003F800000007FC000000067C0000000C7E0000001C3F000000181F000000 301F800000700F800000600FC00000C007E00001C003E000018003F000038001F8000FC001F800 FFF00FFFC0FFF00FFFC022227FA125>II<7F FFFE7FFFFE7F007C7C007C7000F87001F8E001F0E003F0C003E0C007C0C007C0C00F80001F8000 1F00003F00003E00007C00007C0000F80001F80001F00303F00303E00307C00307C0030F80071F 80071F00063F000E3E000E7C003E7C00FEFFFFFEFFFFFE18227DA11E>II<0C03001C0700180600300C00701C00601800601800C03000C03000C03000FC 3F00FE3F80FE3F807E1F807E1F803C0F0011107CA218>II<0C1C1830706060C0C0C0FCFEFE7E7E3C07107DA20E>96 D<1FE0003FF8007C3C007C1E007C 0F00380F00000F00000F0003FF000FFF003F0F007C0F007C0F00F80F00F80F18F80F18F80F1878 1F187C3FB83FE7F00F83C015157E9418>I<0F0000FF0000FF00001F00000F00000F00000F0000 0F00000F00000F00000F00000F00000F00000F00000F1F800F7FE00FE1F00F80780F00780F003C 0F003C0F003E0F003E0F003E0F003E0F003E0F003E0F003E0F003C0F003C0F00780F80F00EE1F0 0E7FC00C1F0017237FA21B>I<01FE0007FF000F0F801E0F803C0F807C0700780000F80000F800 00F80000F80000F80000F80000F800007C00007C00C03C00C01E01800F830007FE0001F8001215 7E9416>I<0001E0001FE0001FE00003E00001E00001E00001E00001E00001E00001E00001E000 01E00001E00001E003F1E007FDE01F07E03E03E03C01E07801E07801E0F801E0F801E0F801E0F8 01E0F801E0F801E0F801E07801E07801E03C01E03C03E01F0FF00FFDFE03F1FE17237EA21B>I< 01FC0007FF000F0F801E07C03C03C07C03E07801E0FFFFE0FFFFE0F80000F80000F80000F80000 F800007800007C00603C00601E00C00F838007FF0000FC0013157F9416>I<001E00007F0001E7 8001CF8003CF80078700078000078000078000078000078000078000078000078000FFF800FFF8 000780000780000780000780000780000780000780000780000780000780000780000780000780 000780000780000780000780007FFC007FFC00112380A20F>I<03F0F00FFFF81E1F383C0F303C 0F007C0F807C0F807C0F807C0F803C0F003C0F001E1E001FFC0033F0003000003000003800003F FE003FFFC01FFFE03FFFF07801F0700078E00038E00038E00038E000387000703800E01E03C00F FF8001FC0015207F9418>I<0F0000FF0000FF00001F00000F00000F00000F00000F00000F0000 0F00000F00000F00000F00000F00000F1F800F7FC00FE1E00FC0F00F80F00F00F00F00F00F00F0 0F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F0FFF3FFFFF3FF 18237FA21B>I<0E001F003F003F001F000E0000000000000000000000000000000F00FF00FF00 1F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00FFE0FFE00B2280 A10D>I<00F001F801F801F801F800F00000000000000000000000000000007807F807F800F800 780078007800780078007800780078007800780078007800780078007800780078007800780078 00787078F870F8F0F9E07FC01F000D2C83A10F>I<0F0000FF0000FF00001F00000F00000F0000 0F00000F00000F00000F00000F00000F00000F00000F00000F0FFC0F0FFC0F03E00F03800F0700 0F0E000F1C000F38000F78000FFC000FBE000F1E000F1F000F0F800F07800F07C00F03C00F03E0 0F03F0FFE7FEFFE7FE17237FA21A>I<0F00FF00FF001F000F000F000F000F000F000F000F000F 000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00 0F000F00FFF0FFF00C2380A20D>I<0F0FC07E00FF3FE1FF00FFE0F707801FC07E03C00F807C03 C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F0078 03C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C0FFF3FF9FFCFFF3 FF9FFC26157F9429>I<0F1F80FF7FC0FFE1E01FC0F00F80F00F00F00F00F00F00F00F00F00F00 F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F0FFF3FFFFF3FF18157F941B >I<01FC0007FF000F07801E03C03C01E07800F07800F0F800F8F800F8F800F8F800F8F800F8F8 00F8F800F87800F07C01F03C01E01E03C00F078007FF0001FC0015157F9418>I<0F1F80FF7FE0 FFE1F00F80F80F00780F007C0F007C0F003E0F003E0F003E0F003E0F003E0F003E0F003E0F007C 0F007C0F00780F80F00FE1F00F7FC00F1F000F00000F00000F00000F00000F00000F00000F0000 0F0000FFF000FFF000171F7F941B>I<01F06007FCE00F0EE01E03E03C03E07C01E07C01E0F801 E0F801E0F801E0F801E0F801E0F801E0F801E07C01E07C01E03C03E03E03E01F0FE00FFDE003F1 E00001E00001E00001E00001E00001E00001E00001E00001E0001FFE001FFE171F7E941A>I<0F 7CFFFEFFDF1F9F0F9F0F0E0F000F000F000F000F000F000F000F000F000F000F000F000F00FFF8 FFF810157F9413>I<0FD83FF870786018E018E018F000FC007FC03FE01FF00FF8007CC03CC01C E01CE01CF018F838FFF08FC00E157E9413>I<03000300030003000700070007000F001F003F00 FFF8FFF80F000F000F000F000F000F000F000F000F000F000F0C0F0C0F0C0F0C0F0C0F0C079803 F001E00E1F7F9E13>I<0F00F0FF0FF0FF0FF01F01F00F00F00F00F00F00F00F00F00F00F00F00 F00F00F00F00F00F00F00F00F00F00F00F00F00F01F00F01F00787F803FEFF01F8FF18157F941B >III<7FE3FF007FE3FF0007C1F00003C0E00003E1C00001E3800000F3000000FF0000 007E0000003C0000003E0000003E0000007F00000067800000C7C00001C3C0000181E0000381F0 000F81F800FFC3FF80FFC3FF80191580941A>II<3FFFC03FFFC03C0780380F00301F00703E00603C0060780060F80001F00001E00003E0C0 07C0C00780C00F00C01F01C03E01803C0380780780FFFF80FFFF8012157F9416>III<78787878787870707070F0F0E0 E0E0E0C0C040400D0A7AA218>I<7070F8F8F8F8F8F8F8F870700E067BA118>127 D E /FI 17 112 df<0180030006000C001C001800380030007000700060006000E000E000E000 E000E000E000E000E000E000E00060006000700070003000380018001C000C0006000300018009 227E980E>40 DI<003000003000003000003000003000003000003000003000003000003000003000FFFF FCFFFFFC0030000030000030000030000030000030000030000030000030000030000030001618 7E931B>43 D<07C01FF03C78783C701C701CF01EF01EF01EF01EF01EF01EF01EF01EF01E701C70 1C783C3C781FF007C00F157F9412>48 D<03000F00FF00F7000700070007000700070007000700 070007000700070007000700070007007FF07FF00C157E9412>I<1F803FE071F0F8F0F878F878 70780078007800F000E001C0038007000E000C18181830387FF0FFF0FFF00D157E9412>I<0FC0 1FF03078783C783C783C103C007800F007E007E00078003C001E701EF81EF81EF83C70383FF00F C00F157F9412>I<007000F000F001F003F0077006700E701C70187030707070E070FFFEFFFE00 7000700070007003FE03FE0F157F9412>I<60307FF07FE07F8060006000600060006F807FC070 E06070007800786078F078F078F07060E03FC01F000D157E9412>I<01F007F80E1C1C3C383C70 187000F080F7F0FFF8F81CF81CF01EF01EF01E701E701E381C3C381FF007C00F157F9412>I<60 007FFE7FFE7FFCE018C018C030006000C001800180038003000700070007000F000F000F000F00 0F0006000F167E9512>I<07C01FF03838701C701C701C7C1C3F383FF00FE01FF83DFC70FCE03E E00EE00EE00E700C78383FF00FC00F157F9412>I<07C01FF038387038F01CF01CF01EF01EF01E 703E703E3FFE1FDE021E001C301C7838783870F03FC01F800F157F9412>I61 D<0F9E3FFF7077F078F0 78F078F07870707FE06F8060007FF03FF87FFCE01EE00EE00EE00E783C3FF80FE010157F8D12> 103 D108 D<07C01FF03838701C701CF01EF01EF01EF01EF01E 701C38381FF007C00F0E7F8D12>111 D E /FJ 21 119 df<387CFEFEFE7C3807077B8611>46 D<000018000000003C000000003C000000003C000000007E000000007E000000007E00000000FF 00000000FF00000000FF000000019F800000019F800000019F800000030FC00000030FC0000003 0FC000000607E000000607E000000E07F000000C03F000000C03F000001C03F800001801F80000 1801F800003001FC00003000FC00003FFFFC00007FFFFE00007FFFFE000060007E0000C0003F00 00C0003F0000C0003F000180001F800180001F800180001F800380000FC00FC0000FC0FFF801FF FFFFF801FFFFFFF801FFFF28297EA82D>65 DI<0000FF 00100007FFE030001FFFF870007FC03CF000FE000FF001F80007F003F00003F007E00001F00FC0 0000F01F800000F01F800000703F000000703F000000707F000000307F000000307E00000030FE 00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000 FE0001FFFF7E0001FFFF7F0001FFFF7F000003F03F000003F03F000003F01F800003F01F800003 F00FC00003F007E00003F003F00003F001F80003F000FE0007F0007FC03DF0001FFFF8F00007FF F0700000FF801028297DA82F>71 D82 D<00FE010003FFC3000FFFE7001F81FF003E003F003C001F007C000F0078000F00F8000700F800 0700F8000300F8000300FC000300FC0000007E0000007FC000007FFC00003FFFC0001FFFF0000F FFF80007FFFC0001FFFE00001FFF000001FF8000003F8000001F8000000FC000000FC0C00007C0 C00007C0C00007C0C00007C0E0000780E0000780F0000F80F8000F00FE001E00FFC07C00E7FFF8 00C1FFF000803FC0001A297DA821>I<07FC00001FFF80003E07C0003F01E0003F01F0003F00F8 001E00F8000000F8000000F8000000F800001FF80001FFF80007F8F8001FC0F8003F00F8007E00 F8007E00F800FC00F860FC00F860FC00F860FC00F860FC01F8607E03F8603F067FC01FFC7F8003 F01F001B1A7E991E>97 D<007FE001FFF807C07C0F80FC1F00FC3E00FC3E00787E00007C0000FC 0000FC0000FC0000FC0000FC0000FC0000FC0000FC00007C00007E00003E000C3F000C1F00180F 803007E06001FFC0007F00161A7E991B>99 D<07C00000FFC00000FFC00000FFC000000FC00000 07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000 0007C0000007C1F80007C7FE0007DC1F0007F81F0007F00F8007E00F8007E00F8007C00F8007C0 0F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007 C00F8007C00F8007C00F8007C00F8007C00F80FFFE7FFCFFFE7FFCFFFE7FFC1E2A7FA921>104 D<07000F801FC01FC01FC00F8007000000000000000000000000000000000007C07FC07FC07FC0 0FC007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C0FF FCFFFCFFFC0E2980A810>I<001C003E007F007F007F003E001C00000000000000000000000000 000000001F03FF03FF03FF003F001F001F001F001F001F001F001F001F001F001F001F001F001F 001F001F001F001F001F001F001F001F001F001F001F001F001F781FFC1EFC3EFC3C78783FF01F C0103583A812>I<07C00000FFC00000FFC00000FFC000000FC0000007C0000007C0000007C000 0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0FFF007C0 FFF007C0FFF007C07E0007C0380007C0700007C0E00007C1C00007C3800007C7000007CF800007 DF800007FFC00007E7C00007C7E00007C3F00007C1F00007C1F80007C0FC0007C07C0007C07E00 07C03F0007C03F80FFFCFFF8FFFCFFF8FFFCFFF81D2A7FA920>I<07C0FFC0FFC0FFC00FC007C0 07C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007 C007C007C007C007C007C007C007C007C007C007C007C007C007C0FFFEFFFEFFFE0F2A80A910> I<07C1FC01FC00FFC7FE07FE00FFCE1F0E1F00FFD80F980F800FF007F007C007E007E007C007E0 07E007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007 C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C0 07C007C007C007C007C007C007C007C007C007C007C0FFFE7FFE7FFEFFFE7FFE7FFEFFFE7FFE7F FE2F1A7F9932>I<007F000001FFC00007C1F0000F0078001E003C003E003E003E003E007C001F 007C001F00FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F807C00 1F007C001F003E003E003E003E001F007C000F80F80007C1F00001FFC000007F0000191A7E991E >111 D<07C3F800FFCFFE00FFDC1F00FFF00F8007E007C007C007E007C003E007C003F007C003 F007C001F807C001F807C001F807C001F807C001F807C001F807C001F807C001F807C003F007C0 03F007C003E007C007E007E007C007F00F8007D83F0007CFFC0007C3F00007C0000007C0000007 C0000007C0000007C0000007C0000007C0000007C0000007C00000FFFE0000FFFE0000FFFE0000 1D267F9921>I<07CF80FFDFE0FFF1E0FFE3F00FE3F007E3F007C1E007C00007C00007C00007C0 0007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C000FFFF 00FFFF00FFFF00141A7F9917>114 D<07F8C01FFFC03C07C07803C07001C0F000C0F000C0F800 C0FC0000FF80007FF8003FFE001FFF000FFF8001FFC0000FE0C003E0C003E0E001E0E001E0E001 E0F001C0F803C0FE0780C7FE0083F800131A7E9918>I<00C00000C00000C00000C00001C00001 C00001C00003C00003C00007C0000FC0001FFF80FFFF80FFFF8007C00007C00007C00007C00007 C00007C00007C00007C00007C00007C00007C00007C00007C0C007C0C007C0C007C0C007C0C007 C0C007C0C003E18001E18000FF00007C0012257FA417>I<07C00F80FFC1FF80FFC1FF80FFC1FF 800FC01F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C0 0F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C01F8007C01F8003C03FC001 E0EFFC00FFCFFC007F0FFC1E1A7F9921>II E /FK 34 123 df<0000F0000001F0000007F000003FF0001FFFF0 00FFFFF000FFFFF000FFFFF000E03FF000003FF000003FF000003FF000003FF000003FF000003F F000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF00000 3FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000 003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF0007FFFFFF07FFFFF F07FFFFFF07FFFFFF01C2E7AAD29>49 D<003FF00001FFFE0007FFFF801FFFFFE03F80FFF07F80 7FF87FC01FFCFFE01FFEFFE00FFEFFE00FFEFFE007FFFFE007FFFFE007FF7FC007FF1F0007FF00 0007FF000007FF00000FFE00000FFE00000FFC00001FFC00001FF800003FF000007FE000007F80 0000FF000001FE000003F8000007F000000FE00F001FC00F003F800F007E000F00FC001E01F800 1E01F0003E03FFFFFE07FFFFFE0FFFFFFE1FFFFFFE3FFFFFFE7FFFFFFEFFFFFFFCFFFFFFFCFFFF FFFCFFFFFFFC202E7CAD29>I<000FF80000007FFF800001FFFFE00003F03FF00007C01FF8000F E00FFC000FF80FFE001FFC0FFE001FFC0FFE001FFC0FFE001FFC0FFE001FFC0FFE001FFC0FFE00 0FF80FFC0007F01FFC0001C01FF80000003FF80000003FF00000007FE000001FFF8000001FFE00 00001FFF8000001FFFE00000001FF80000000FFC00000007FE00000007FF00000003FF80000003 FF80060003FFC01F8003FFC07FE003FFC07FE003FFC0FFF003FFC0FFF003FFC0FFF003FFC0FFF0 03FF80FFF003FF80FFE007FF807FE007FF003F800FFE003FE01FFC000FFFFFF80007FFFFE00001 FFFF8000001FF80000222E7DAD29>I<000000F800000001F800000003F800000007F80000000F F80000000FF80000001FF80000003FF80000007FF8000000FFF8000000FFF8000001FFF8000003 EFF8000007CFF800000F8FF800000F8FF800001F0FF800003E0FF800007C0FF80000F80FF80000 F80FF80001F00FF80003E00FF80007C00FF8000F800FF8000F800FF8001F000FF8003E000FF800 7C000FF800FC000FF800FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF000001FF80000001FF8 0000001FF80000001FF80000001FF80000001FF80000001FF80000001FF800001FFFFFF0001FFF FFF0001FFFFFF0001FFFFFF0242E7EAD29>I<0000007C000000000000FE000000000000FE0000 00000001FF000000000001FF000000000001FF000000000003FF800000000003FF800000000007 FFC00000000007FFC00000000007FFC0000000000FFFE0000000000FFFE0000000001FFFF00000 00001F7FF0000000001F7FF0000000003F7FF8000000003E3FF8000000003E3FF8000000007E3F FC000000007C1FFC00000000FC1FFE00000000F80FFE00000000F80FFE00000001F80FFF000000 01F007FF00000003F007FF80000003E003FF80000003E003FF80000007E003FFC0000007C001FF C000000FC001FFE000000F8000FFE000000FFFFFFFE000001FFFFFFFF000001FFFFFFFF000003F FFFFFFF800003E00003FF800003E00003FF800007E00003FFC00007C00001FFC0000FC00001FFE 0000F800000FFE0000F800000FFE0001F800000FFF00FFFFE003FFFFFEFFFFE003FFFFFEFFFFE0 03FFFFFEFFFFE003FFFFFE37317DB03E>65 D<000003FF80038000003FFFF007800001FFFFFC0F 800007FFFFFF3F80001FFF803FFF80007FF8000FFF8000FFE00003FF8001FFC00001FF8003FF80 0000FF8007FF0000007F800FFE0000007F801FFE0000003F801FFC0000003F803FFC0000001F80 3FF80000001F803FF80000001F807FF80000000F807FF80000000F807FF00000000F80FFF00000 000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000FF F00000000000FFF00000000000FFF00000000000FFF00000000000FFF000000000007FF0000000 00007FF800000007807FF800000007803FF800000007803FF800000007803FFC0000000F801FFC 0000000F001FFE0000000F000FFE0000001F0007FF0000003E0003FF8000007C0001FFC00000FC 0000FFF00001F800007FFC0007F000001FFF801FC0000007FFFFFF80000001FFFFFE000000003F FFF80000000003FF80000031317BB03C>67 DI73 D<00000FFE0000000000FFFFE0 00000007FFFFFC0000001FFFFFFF0000003FFC07FF800000FFE000FFE00001FFC0007FF00003FF 80003FF80007FF00001FFC0007FE00000FFC000FFC000007FE001FFC000007FF001FF8000003FF 003FF8000003FF803FF8000003FF803FF8000003FF807FF0000001FFC07FF0000001FFC07FF000 0001FFC0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0 FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF00000 01FFE07FF0000001FFC07FF0000001FFC07FF8000003FFC07FF8000003FFC03FF8000003FF803F F8000003FF801FFC000007FF001FFC000007FF000FFE00000FFE000FFE00000FFE0007FF00001F FC0003FF80003FF80001FFC0007FF00000FFF001FFE000003FFC07FF8000001FFFFFFF00000007 FFFFFC00000000FFFFE0000000000FFE00000033317BB03E>79 D82 D<001FF0038000FFFF078003FFFFCF8007FFFFFF801FF00FFF801FC001FF803F80007F807F8000 3F807F00001F807F00001F80FF00000F80FF00000F80FF00000780FF80000780FFC0000780FFE0 000000FFF0000000FFFF8000007FFFF800007FFFFF80007FFFFFE0003FFFFFF8001FFFFFFC000F FFFFFE0007FFFFFF0003FFFFFF8000FFFFFF80003FFFFFC00003FFFFC000003FFFC0000001FFE0 000000FFE00000007FE00000003FE0F000003FE0F000001FE0F000001FE0F000001FE0F800001F C0F800001FC0FC00003FC0FE00003F80FF00007F80FFC000FF00FFFC01FE00FFFFFFFC00F9FFFF F800F03FFFE000E007FF000023317BB02E>I<3FFFFFFFFFFF003FFFFFFFFFFF003FFFFFFFFFFF 003FFFFFFFFFFF003FE00FFE01FF007F800FFE007F807F000FFE001F807E000FFE001F807C000F FE000F807C000FFE000F8078000FFE00078078000FFE00078078000FFE00078078000FFE000780 F0000FFE0003C0F0000FFE0003C0F0000FFE0003C0F0000FFE0003C000000FFE00000000000FFE 00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000 000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00 000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000000000 0FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000 0000000FFE00000000000FFE000000007FFFFFFFC000007FFFFFFFC000007FFFFFFFC000007FFF FFFFC00032307DAF39>I<007FF8000001FFFF000007FFFFC0000FFFFFF0001FF81FF8001FF80F FC001FF807FC001FF807FE001FF803FE000FF003FE0007E003FE00000003FE00000007FE00000F FFFE0000FFFFFE0003FFFFFE000FFF83FE003FF803FE007FF003FE007FE003FE00FFC003FE00FF 8003FE00FF8003FE00FF8003FE00FF8007FE00FFC007FE007FE00FFE007FF03FFF003FFFFDFFF8 0FFFF8FFF807FFE07FF800FF003FF825207E9F28>97 D<01FC000000FFFC000000FFFC000000FF FC000000FFFC0000000FFC00000007FC00000007FC00000007FC00000007FC00000007FC000000 07FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC0FF8 0007FC7FFF0007FDFFFFC007FFFFFFE007FFE03FF007FF801FF807FE000FFC07FC0007FC07FC00 07FE07FC0003FE07FC0003FE07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC 0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FE07FC0007FE07FC0007FE07 FE0007FC07FF000FF807FF801FF807FFE07FF007F3FFFFE007E1FFFF8007C07FFE0007800FF000 28327EB12E>I<0007FF00007FFFC001FFFFF003FFFFF807FC0FFC0FF80FFC1FF00FFC3FE00FFC 3FE00FFC7FE007F87FC003F0FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000 00FFC00000FFC00000FFC000007FE000007FE000003FE0001E3FF0001E1FF8003E0FFC007C07FF 01F803FFFFF001FFFFE0007FFF800007FC001F207D9F25>I<0000000FE0000007FFE0000007FF E0000007FFE0000007FFE00000007FE00000003FE00000003FE00000003FE00000003FE0000000 3FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE0000F F03FE0007FFE3FE001FFFFBFE007FFFFFFE00FFE03FFE01FF800FFE01FF0007FE03FE0003FE07F E0003FE07FE0003FE07FC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0 FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE07FC0003FE07FC0003FE07FE0003F E03FE0007FE03FF000FFE01FF801FFE00FFC07FFF007FFFFFFFF01FFFF3FFF00FFFC3FFF001FE0 3FFF28327DB12E>I<000FFE0000007FFFC00001FFFFE00003FFFFF00007FE0FF8000FF803FC00 1FF001FE003FE000FF003FE000FF007FE0007F007FC0007F807FC0007F80FFC0007F80FFFFFFFF 80FFFFFFFF80FFFFFFFF80FFFFFFFF80FFC0000000FFC0000000FFC00000007FC00000007FE000 00007FE00000003FE00007803FF00007801FF8000F800FFC001F0007FF80FE0003FFFFFC0000FF FFF800003FFFE0000007FF000021207E9F26>I<00003FC00003FFF0000FFFF8003FFFF8007FEF FC00FF8FFC01FF0FFC01FF0FFC03FE0FFC03FE07F803FE07F803FE01E003FE000003FE000003FE 000003FE000003FE000003FE0000FFFFF800FFFFF800FFFFF800FFFFF80003FE000003FE000003 FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE0000 03FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE00 0003FE000003FE00007FFFF8007FFFF8007FFFF8007FFFF8001E327EB119>I<001FF807C000FF FF3FF003FFFFFFF807FFFFFFF80FF81FF3F81FF00FFBF81FE007F9F03FE007FCE03FE007FC003F E007FC003FE007FC003FE007FC003FE007FC003FE007FC001FE007F8001FF00FF8000FF81FF000 07FFFFE00007FFFFC0000FFFFF00000F1FF800001F000000001F000000001F800000001FC00000 001FFFFFC0001FFFFFF8000FFFFFFE000FFFFFFF8007FFFFFFC007FFFFFFC01FFFFFFFE03FFFFF FFE07F80007FF0FF00000FF0FE00000FF0FE000007F0FE000007F0FE000007F0FF00000FF07F80 001FE07FC0003FE03FF801FFC00FFFFFFF0003FFFFFC0000FFFFF000000FFF0000252F7E9F29> I<01FC00000000FFFC00000000FFFC00000000FFFC00000000FFFC000000000FFC0000000007FC 0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000 0007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC07FC000007FC 1FFF000007FC7FFFC00007FDFFFFC00007FFF07FE00007FFC03FE00007FF801FF00007FF001FF0 0007FE001FF00007FE001FF00007FE001FF00007FC001FF00007FC001FF00007FC001FF00007FC 001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF0 0007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC 001FF000FFFFE3FFFF80FFFFE3FFFF80FFFFE3FFFF80FFFFE3FFFF8029327DB12E>I<03E00007 F0000FF8001FFC001FFC001FFE001FFE001FFC001FFC000FF80007F00003E00000000000000000 000000000000000000000000000001FC00FFFC00FFFC00FFFC00FFFC000FFC0007FC0007FC0007 FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007 FC0007FC0007FC0007FC0007FC0007FC0007FC00FFFFC0FFFFC0FFFFC0FFFFC012337EB216>I< 01FC000000FFFC000000FFFC000000FFFC000000FFFC0000000FFC00000007FC00000007FC0000 0007FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC00 000007FC00000007FC00000007FC01FFFC07FC01FFFC07FC01FFFC07FC01FFFC07FC003F0007FC 007E0007FC01FC0007FC03F00007FC07E00007FC0FC00007FC3F800007FC7E000007FCFE000007 FDFF000007FFFF800007FFFFC00007FFFFC00007FF7FE00007FE3FF00007F81FF80007F81FFC00 07F80FFC0007F807FE0007F803FF0007F801FF8007F801FF8007F800FFC007F8007FE0FFFFC1FF FFFFFFC1FFFFFFFFC1FFFFFFFFC1FFFF28327EB12C>107 D<01FC00FFFC00FFFC00FFFC00FFFC 000FFC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC 0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC 0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC 0007FC0007FC00FFFFE0FFFFE0FFFFE0FFFFE013327EB116>I<01F803FC0007F80000FFF81FFF 803FFF0000FFF87FFFC0FFFF8000FFF8FFFFE1FFFFC000FFFBF03FF7E07FE0000FFBC01FF7803F E00007FF801FFF003FF00007FF000FFE001FF00007FE000FFC001FF00007FE000FFC001FF00007 FE000FFC001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000F F8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001F F00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007 FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000F F8001FF000FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FF FF8041207D9F46>I<01F807FC0000FFF81FFF0000FFF87FFFC000FFF9FFFFC000FFFBF07FE000 0FFFC03FE00007FF801FF00007FF001FF00007FE001FF00007FE001FF00007FE001FF00007FC00 1FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF000 07FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC00 1FF00007FC001FF00007FC001FF00007FC001FF000FFFFE3FFFF80FFFFE3FFFF80FFFFE3FFFF80 FFFFE3FFFF8029207D9F2E>I<0007FE0000003FFFC00000FFFFF00003FFFFFC0007FE07FE000F F801FF001FE0007F803FE0007FC03FE0007FC07FC0003FE07FC0003FE07FC0003FE0FFC0003FF0 FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF07FC0003F E07FC0003FE07FC0003FE03FE0007FC03FE0007FC01FF000FF800FF801FF0007FE07FE0003FFFF FC0001FFFFF800003FFFC0000007FE000024207E9F29>I<01FC0FF800FFFC7FFF00FFFDFFFFC0 FFFFFFFFE0FFFFE07FF007FF801FF807FE001FFC07FC000FFC07FC0007FE07FC0007FE07FC0007 FE07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC00 03FF07FC0003FF07FC0007FF07FC0007FE07FC0007FE07FC000FFE07FE000FFC07FF001FF807FF 803FF807FFE07FF007FFFFFFE007FDFFFF8007FC7FFE0007FC0FF00007FC00000007FC00000007 FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC000000 FFFFE00000FFFFE00000FFFFE00000FFFFE00000282E7E9F2E>I<000FF001E0007FFE03E001FF FF87E007FFFFC7E00FFE07EFE01FFC01FFE01FF800FFE03FF0007FE07FF0007FE07FE0003FE07F E0003FE0FFE0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0 FFC0003FE0FFC0003FE0FFC0003FE07FE0003FE07FE0003FE07FE0003FE03FF0007FE03FF800FF E01FF801FFE00FFE0FFFE007FFFFFFE001FFFF3FE0007FFC3FE0001FE03FE00000003FE0000000 3FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000 003FE0000007FFFF000007FFFF000007FFFF000007FFFF282E7D9F2C>I<01F87E00FFF9FFC0FF FBFFE0FFFBFFF0FFFFDFF80FFF9FF807FF1FF807FE1FF807FE1FF807FE0FF007FE07E007FC0000 07FC000007FC000007FC000007FC000007FC000007FC000007FC000007FC000007FC000007FC00 0007FC000007FC000007FC000007FC000007FC000007FC0000FFFFF000FFFFF000FFFFF000FFFF F0001D207E9F22>I<00FF870007FFFF001FFFFF003FFFFF007F007F007E001F00FC000F00FC00 0F00FC000F00FE000000FFC00000FFFF0000FFFFE0007FFFF8003FFFFC001FFFFF000FFFFF0003 FFFF8000FFFFC00007FFC000007FC0F0001FC0F0000FC0F8000FC0F8000FC0FC001F80FE001F80 FF807F80FFFFFF00FFFFFC00FBFFF800E07FC0001A207D9F21>I<003C00003C00003C00003C00 003C00007C00007C00007C0000FC0000FC0001FC0003FC0007FC001FFC00FFFFFEFFFFFEFFFFFE FFFFFE07FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC00 07FC0007FC0007FC0007FC0F07FC0F07FC0F07FC0F07FC0F07FC0F07FC0F07FE1F03FE3E03FFFE 01FFFC007FF0001FC0182E7EAD20>I<01FC0007F000FFFC03FFF000FFFC03FFF000FFFC03FFF0 00FFFC03FFF0000FFC003FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC 001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF0 0007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC 003FF00007FC003FF00007FC007FF00007FC00FFF00003FE03FFF80003FFFFFFFF8001FFFF9FFF 80007FFE1FFF80001FF81FFF8029207D9F2E>I119 D<3FFFFFFC3FFFFFFC3FFFFFFC3FFFFFFC3FC03FF8 3F003FF03E007FE07C00FFE07C01FFC07C01FF807803FF007807FF00780FFE00780FFC00001FF8 00003FF800007FF01E007FE01E00FFC01E01FFC01E03FF801E03FF003E07FE003E0FFE003E1FFC 007C1FF800FC3FF001FC7FF007FCFFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC1F207E9F25>122 D E bop 587 203 a FK(On)27 b(Randomization)h(in)272 276 y(Sequen)n(tial)g(and)f (Distributed)i(Algorithms)161 584 y FJ(Ra)s(jiv)20 b(Gupta)204 b(Scott)20 b(A.)f(Smolk)m(a)1119 566 y FI(1)1374 584 y FJ(Sha)s(ji)j(Bhask)m (ar)111 689 y FH(GE)16 b(Corp)q(orate)i(R&D)85 b(Dept.)21 b(of)16 b(Computer)h(Science)101 b(Bell)16 b(Northern)g(Researc)o(h)87 761 y(KW-C313,)i(P)l(.O.)d(Bo)o(x)h(8)112 b(SUNY)15 b(at)h(Ston)o(y)h(Bro)q (ok)243 b(35)17 b(Da)o(vis)g(Driv)o(e)76 833 y(Sc)o(henectady)l(,)e(NY)g (12301)88 b(Ston)o(y)16 b(Bro)q(ok,)g(NY)f(11794)88 b(Res.)21 b(T)l(riangle)d(Pk,)e(NC)g(27709)121 916 y FG(gupta@crd.)o(ge)o(.co)o(m)164 b(sas@cs.sun)o(ysb)o(.ed)o(u)240 b(bhaskar@bnr)o(.ca)779 1127 y FH(Septem)o(b)q(er)15 b(8,)h(1993)73 1333 y FF(I)i(r)n(eturne)n(d,)f(and)h (saw)f(under)h(the)g(sun,)g(that)g(the)g(r)n(ac)n(e)f(is)h(not)g(to)g(the)g (swift,)g(nor)f(the)h(b)n(attle)h(to)e(the)0 1405 y(str)n(ong,)h(neither)h (yet)f(br)n(e)n(ad)f(to)h(the)h(wise,)f(nor)g(yet)g(riches)g(to)g(men)h(of)f (understanding,)h(nor)f(yet)g(favor)0 1477 y(to)g(men)g(of)f(skil)r(l;)i(but) f(time)g(and)g(chanc)n(e)g(happ)n(eneth)g(to)f(them)h(al)r(l.)1219 1621 y(Ec)n(clesiastes)k FH(\(King)17 b(James)g(V)l(ersion\))0 1764 y FF(Chaos)g(umpir)n(e)g(sits,)0 1837 y(A)o(nd)h(by)f(de)n(cision)h(mor) n(e)f(embr)n(oils)g(the)h(fr)n(ay)0 1909 y(By)f(which)h(he)g(r)n(eigns:)23 b(next)c(him)e(high)g(arbiter)0 1981 y(Chanc)n(e)h(governs)g(al)r(l.)1367 2125 y(Par)n(adise)f(L)n(ost,)e FH(John)i(Milton)p 0 2613 780 2 v 56 2644 a FE(1)75 2659 y FD(Researc)o(h)12 b(supp)q(orted)g(b)o(y)e(the)i (National)f(Science)i(F)m(oundation)e(under)g(gran)o(ts)g(CCR{8704309,)e (CCR{9120995,)f(and)0 2704 y(CCR{9208585;)i(and)i(b)o(y)g(the)h(Air)g(F)m (orce)g(O\016ce)g(of)e(Sp)q(ecial)k(Researc)o(h)e(under)g(gran)o(t)f(AF)o (OSR)h(F49620-93-1-025)o(0DEF.)p eop bop 0 203 a FK(Con)n(ten)n(ts)0 354 y FC(1)45 b(In)n(tro)r(duction)1541 b(4)73 457 y FH(1.1)50 b(Probabilisti)q(c)19 b(T)l(ec)o(hniques)37 b FB(:)25 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)92 b FH(7)73 559 y(1.2)50 b(T)l(radeo\013s)18 b FB(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(14)0 710 y FC(2)45 b(Sequen)n(tial)20 b(Randomized)e(Algorithms)955 b(15)73 812 y FH(2.1)50 b(The)17 b(So)q(c)o(k)f(Selection)h(Problem)34 b FB(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(16)73 914 y(2.2)50 b(Primalit)o(y)18 b(T)l(esting)31 b FB(:)25 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)67 b FH(18)73 1017 y(2.3)50 b(Net)o(w)o(orks)16 b(without)h(Large)g(Hierarc)o(hies)k FB(:)j(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(26)73 1119 y(2.4)50 b(Probabilisti)q(c)19 b(Hashing)24 b FB(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(30)185 1221 y(2.4.1)56 b(P)o(erfect)15 b(Hashing)27 b FB(:)d(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)67 b FH(31)185 1323 y(2.4.2)56 b(Univ)o(ersal)17 b(Hashing)e FB(:)25 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(34)185 1425 y(2.4.3)56 b(Some)16 b(Recen)o(t)f(Results)32 b FB(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(36)73 1528 y(2.5)50 b(The)17 b(Nearest)e(Neigh)o(b)q(ors)j(Problem)25 b FB(:)f(:)h(:)f(:)h(:)f(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) 67 b FH(38)73 1630 y(2.6)50 b(In)o(teractiv)o(e)15 b(Probabilisti)q(c)k(Pro)q (ofs)47 b FB(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(41)0 1781 y FC(3)45 b(Distributed)19 b(Randomized)g(Algorithms)926 b(48)73 1883 y FH(3.1)50 b(The)17 b(Dining)h(Philosophers)h(Problem)25 b FB(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)67 b FH(49)73 1985 y(3.2)50 b(Comm)o(unication)18 b(Guard)f(Sc)o(heduling)f FB(:)25 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(52)73 2088 y(3.3)50 b(Leader)17 b(Election)32 b FB(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(55)73 2190 y(3.4)50 b(Message)17 b(Routing)42 b FB(:)25 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)67 b FH(58)73 2292 y(3.5)50 b(Byzan)o(tine)16 b(Agreemen)o(t)j FB(:)25 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(68)0 2443 y FC(4)45 b(Additional)21 b(T)-5 b(opics)20 b(of)f(In)n(terest)f(and)h (Conclusions)699 b(74)963 2828 y FH(2)p eop bop 875 195 a FA(Abstract)190 333 y Fz(Probabilistic,)11 b(or)h(randomized,)g (algorithms)e(are)i(fast)g(b)q(ecoming)g(as)g(commonplace)e(as)j(con-)122 418 y(v)o(en)o(tional)21 b(deterministic)f(algorithms.)38 b(This)22 b(surv)o(ey)g(presen)o(ts)g(\014v)o(e)g(tec)o(hniques)h(that)e(ha)o(v)o(e)122 503 y(b)q(een)g(widely)f(used)h(in)f(the)h(design)f(of)g(randomized)f (algorithms.)32 b(These)21 b(tec)o(hniques)g(are)f(il-)122 588 y(lustrated)c(using)h(12)f(randomized)g(algorithms)e(|)j(b)q(oth)g (sequen)o(tial)f(and)h(distributed)f(|)i(that)122 672 y(span)e(a)g(wide)g (range)g(of)g(applications,)f(including:)22 b Fy(primality)17 b(testing)f Fz(\(a)f(classical)g(problem)g(in)122 757 y(n)o(um)o(b)q(er)c (theory\),)h Fy(universal)g(hashing)g Fz(\(c)o(ho)q(osing)f(the)g(hash)h (function)g(dynamically)e(and)i(at)f(ran-)122 842 y(dom\),)g Fy(inter)n(active)i(pr)n(ob)n(abilistic)f(pr)n(o)n(of)i(systems)d Fz(\(a)h(new)g(metho)q(d)g(of)g(program)e(testing\),)h Fy(dining)122 926 y(philosophers)k Fz(\(a)g(classical)f(problem)f(in)j(distributed)e (computing\),)f(and)j Fy(Byzantine)f(agr)n(e)n(ement)122 1011 y Fz(\(reac)o(hing)i(agreemen)o(t)e(in)j(the)f(presence)i(of)e(malicious)e (pro)q(cessors\).)26 b(Included)19 b(with)e(eac)o(h)h(al-)122 1096 y(gorithm)f(is)h(a)h(discussion)g(of)g(its)f(correctness)h(and)g(its)f (computational)f(complexit)o(y)l(.)30 b(Sev)o(eral)122 1180 y(related)17 b(topics)g(of)g(in)o(terest)f(are)h(also)f(addressed,)j (including)e(the)g(theory)g(of)g(probabilistic)f(au-)122 1265 y(tomata,)e(probabilistic)h(analysis)g(of)h(con)o(v)o(en)o(tional)f (algorithms,)e(deterministic)i(ampli\014cation,)122 1350 y(and)j (derandomization)e(of)h(randomized)g(algorithms.)25 b(Finally)l(,)17 b(a)g(comprehensiv)o(e)h(annotated)122 1434 y(bibliograph)o(y)c(is)g(giv)o (en.)122 1609 y Fy(Cate)n(gories)e(and)h(Subje)n(ct)g(Descriptors:)18 b Fz(I.1.2)11 b([)p FA(Computing)h(Metho)q(dologies)p Fz(]:)17 b(Algorithms;)122 1694 y(F.1.2)c([)p FA(Computation)j(b)o(y)f(Abstract)i (Devices)p Fz(]:)h(Mo)q(des)d(of)f(Computation)e(-)j(Probabilistic)122 1778 y(Computation;)d(D.1)j([)p FA(Soft)o(w)o(are)p Fz(]:)j(Programm)o(ing)12 b(T)l(ec)o(hniques.)122 1923 y Fy(Gener)n(al)17 b(T)m(erms:)k Fz(Randomized)16 b(Algorithms;)e(Probabilistic)h(T)l(ec)o(hniques;)i (Analysis)f(of)g(Algo-)122 2008 y(rithms.)122 2182 y Fy(A)n(dditional)11 b(Keywor)n(ds)h(and)f(Phr)n(ases:)17 b Fz(Probabilistic)8 b(Algorithms;)h (Sequen)o(tial)h(and)g(Distributed)122 2267 y(Algorithms;)21 b(Computational)d(Complexit)o(y;)k(Randomized)f(Quic)o(ksort;)i(Primalit)o(y) 18 b(T)l(esting;)122 2352 y(T)l(ransitiv)o(e)12 b(T)l(ournamen)o(ts;)g (Hashing;)h(P)o(erfect)g(Hashing;)g(Univ)o(ersal)f(Hashing;)h(Nearest)g (Neigh-)122 2436 y(b)q(ors)20 b(Problem;)h(In)o(teractiv)o(e)e(Probabilistic) f(Pro)q(of)h(Systems;)i(Graph)f(Isomorphism;)g(Dining)122 2521 y(Philosophers)12 b(Problem;)f(CSP;)h(Leader)h(Election;)f(Message)g (Routing;)g(Byzan)o(tine)h(Agreemen)o(t.)963 2828 y FH(3)p eop bop 0 203 a FK(1)83 b(In)n(tro)r(duction)0 355 y FH(W)l(e)19 b(examine)f(the)h(\014eld)g(of)g FF(pr)n(ob)n(abilistic)h(algorithms)t FH(,)f(that)h(is,)g(algorithms)h(con)o(taining)f(statemen)o(ts)0 427 y(of)d(the)f(form:)603 499 y FF(x)i(:=)g(outc)n(ome)f(of)h(tossing)g(a)f (fair)g(c)n(oin)73 629 y FH(Probabilisti)q(c)j(algorithms)f(t)o(ypically)g (toss)f(coins)g(in)g(order)g(to)f(mak)o(e)g(m)o(ulti-w)o(a)o(y)h(decisions)h (so,)e(in)0 701 y(general,)f(the)f(coins)i(in)f(question)h(are)e FB(n)p FH(-sided.)22 b(One)16 b(of)f(the)h(goals)h(of)f(this)h(surv)o(ey)d (is)j(to)f(illustrate)h(the)0 773 y(in)o(teresting)g(and)g(p)q(o)o(w)o(erful) g(e\013ects)f(coin)h(tossing)h(can)e(ha)o(v)o(e)g(on)g(the)g(b)q(eha)o(vior)i (of)e(algorithms.)73 875 y(The)i(action)h(of)g(tossing)h(a)e(coin)h(is)g (often)f(implicit)i(in)f(a)f(probabilisti)q(c)i(algorithm)g(and)f(ma)o(y)f (tak)o(e)0 948 y(on)f(v)m(arious)h(guises.)23 b(Actions)17 b(suc)o(h)f(as)h(\\randomly)h(select)e(an)h(item)g FB(x)f FH(from)g(a)h(set)g FB(S)s FH(",)f(or)h(\\randomly)0 1020 y(c)o(ho)q(ose)12 b(a)g(pro)q(cess)g (with)g(whic)o(h)g(to)g(comm)o(unicate")f(are)g(t)o(ypical)i(examples.)19 b(Computationally)l(,)c(tossing)0 1092 y(a)j(coin)g(can)g(b)q(e)g(view)o(ed)f (as)i(generating)g(a)f(random)g(n)o(um)o(b)q(er)f(b)q(et)o(w)o(een)g(1)h(and) g FB(n)p FH(.)25 b(As)18 b(suc)o(h,)f(the)h(term)0 1164 y FF(r)n(andomize)n (d)13 b(algorithm)g FH(is)h(often)f(used)g(in)h(the)f(literature)g(as)h(a)g (synon)o(ym)e(for)h(probabilisti)q(c)j(algorithm,)0 1236 y(and)j(so)f(it)h (shall)g(b)q(e)f(here.)26 b(An)18 b(algorithm)i(not)e(ha)o(ving)h(an)o(y)f (coin)g(tossing)i(statemen)o(ts)e(is)g(said)i(to)e(b)q(e)0 1309 y FF(deterministic)s FH(.)73 1411 y(Randomized)i(algorithms)h(en)o (tered)d(the)g(computer)h(science)f(sp)q(otligh)o(t)k(with)e(the)e (publication)k(of)0 1483 y(Mic)o(hael)15 b(Rabin's)g(seminal)h(pap)q(er)g (\\Probabilistic)i(Algorithms")e([Rab76)q(],)e(although)j(their)e(existence)0 1555 y(can)21 b(b)q(e)g(traced)g(bac)o(k)g(m)o(uc)o(h)f(further)g([Sha92a)r (].)35 b(Rabin's)22 b(pap)q(er)f(presen)o(ted)g(surprisingly)i(e\016cien)o(t) 0 1628 y(randomized)14 b(algorithms)i(for)e(t)o(w)o(o)f(w)o(ell-kno)o(wn)i (problems,)f(Nearest)f(Neigh)o(b)q(ors|a)i(problem)f(in)g(com-)0 1700 y(putational)22 b(geometry)l(,)e(and)g(Primalit)o(y)h(T)l(esting|the)g (problem)f(of)g(determining)g(whether)g(a)g(giv)o(en)0 1772 y(in)o(teger)g(is)i(divisible)g(b)o(y)e(an)o(y)g(n)o(um)o(b)q(er)g(other)h (than)g(itself)g(and)g(one.)34 b(The)20 b(probabilisti)q(c)j(algorithm)0 1844 y(of)17 b(Solo)o(v)m(a)o(y)g(and)g(Strassen)f([SS77)q(,)g(SS78)q(],)f (also)j(for)e(primalit)o(y)i(testing,)f(is)g(another)f(celebrated)h(result)0 1917 y(in)h(the)e(\014eld.)24 b(A)16 b(resurgence)h(of)g(in)o(terest)f(in)i (randomized)f(algorithms)i(o)q(ccurred)e(in)h(the)e(early)i(1980's)0 1989 y(with)g(the)g(disco)o(v)o(ery)f(of)h(the)f(imp)q(ortan)o(t)i(role)f (randomization)i(can)d(pla)o(y)h(in)h(distributed)g(computing,)0 2061 y(e.g.,)c([FR80,)h(LR81)q(,)g(BO83].)73 2163 y(More)i(recen)o(tly)l(,)e (randomized)i(algorithms)i(ha)o(v)o(e)d(b)q(een)h(the)f(sub)s(ject)g(of)h(an) g(A)o(CM)f(T)l(uring)i(Aw)o(ard)0 2235 y(Lecture)h([Kar86)q(],)h(an)g(A)o(CM) f(Distinguished)k(Dissertation)f([Kil90)q(],)e(and)g(of)g(a)h(n)o(um)o(b)q (er)e(of)h(surv)o(eys)0 2308 y(including)e([W)l(ei78)q(,)d(Hop81)q(,)h(W)l (el83)q(,)g(Kro85)q(,)f(MSV85,)h(Har87)q(,)f(V)l(al87)r(,)g(BB88,)h(Rag90)q (,)g(Kar90)q(].)23 b(Our)0 2380 y(surv)o(ey)18 b(is)h(closest)g(in)g(spirit)h (to)f([Har87,)f(V)l(al87)r(,)g(BB88)o(,)h(Kar90)q(])f(in)h(its)g(extensiv)o (e)f(co)o(v)o(erage)f(of)i(b)q(oth)0 2452 y(sequen)o(tial)e(and)g (distributed)g(randomized)g(algorithms.)963 2828 y(4)p eop bop 73 195 a FH(A)13 b(distinguishing)k(asp)q(ect)d(of)f(our)h(surv)o(ey)e (is)i(the)f(classi\014cation)j(w)o(e)d(presen)o(t)g(in)h(Section)f(1.1)h(of)g (gen-)0 267 y(eral)f(tec)o(hniques)f(used)g(in)h(the)f(design)i(of)e (randomized)h(algorithms.)1259 249 y FI(2)1301 267 y FH(In)f(Section)h(1.2,)g (w)o(e)f(then)g(iden)o(tify)0 340 y(certain)18 b(tradeo\013s)i(one)e(ma)o(y)f (encoun)o(ter)g(in)i(using)g(these)f(tec)o(hniques.)26 b(F)l(or)18 b(example,)g(the)g(Primalit)o(y)0 412 y(T)l(esting)f(algorithm)h(of)e([Rab76) q(],)f(whic)o(h)h(uses)g(a)g(tec)o(hnique)f(w)o(e)h(call)h(\\random)g(searc)o (h",)e(outp)q(erforms)0 484 y(all)j(kno)o(wn)f(deterministic)g(algorithms)i (for)d(the)h(problem,)f(y)o(et)g(cannot,)h(in)g(general,)g(guaran)o(tee)g (abso-)0 556 y(lutely)d(that)f(the)g(answ)o(er)h(pro)q(duced)g(is)g(correct.) 19 b(W)l(e)13 b(next)g(presen)o(t)f(12)i(randomized)g(algorithms)i(whic)o(h)0 628 y(w)o(e)j(b)q(eliev)o(e)h(to)g(b)q(e)f(represen)o(tativ)o(e)g(of)h(the)f (\014eld;)i(in)f(the)g(least,)g(they)f(collectiv)o(ely)h(mak)o(e)f(use)g(of)h (the)0 701 y(tec)o(hniques)15 b(that)g(w)o(e)g(ha)o(v)o(e)f(presen)o(ted.)20 b(Sev)o(en)15 b(of)g(these)g(algorithms)i(are)e(sequen)o(tial)h(\(Section)g (2\))f(and)0 773 y(\014v)o(e)i(are)g(distributed)i(\(Section)f(3\).)26 b(Finally)l(,)19 b(in)f(Section)h(4,)e(w)o(e)h(sp)q(otligh)o(t)h(sev)o(eral)f (remaining)h(issues)0 845 y(in)d(the)g(\014eld)f(of)h(randomized)g (algorithms.)24 b(A)15 b(comprehensiv)o(e)g(annotated)h(bibliograph)o(y)i(is) f(included.)73 947 y(The)f(in)o(tended)g(audience)h(is)f(one)h(with)g(a)f (basic)h(bac)o(kground)g(in)f(algorithm)i(design)g(and)e(analysis,)0 1020 y(but)c(not)f(necessarily)i(familiar)g(with)f(the)f(use)h(of)g (probabilistic)i(tec)o(hniques)d(in)h(algorithm)h(construction.)0 1092 y(F)l(amiliarit)o(y)i(with)g(an)e(imp)q(erativ)o(e,)h(sequen)o(tial)g (programming)h(language)h(suc)o(h)d(as)h(P)o(ascal)h(is)f(assumed,)0 1164 y(as)i(the)g(algorithms)i(are)e(presen)o(ted)f(in)h(pseudo)g(co)q(de)g (with)h(a)f(distinctiv)o(e)h(P)o(ascal)g(\015a)o(v)o(or.)k(The)15 b(pseudo)0 1236 y(co)q(de)23 b(mak)o(es)f(use)h(of)g(con)o(trol)g(constructs) g(suc)o(h)g(as)g FG(REPEAT)g(UNTIL,)h(FOR,)g(WHILE)p FH(,)c(and)k FG(IF)g(THEN)0 1309 y(ELSE)10 b FH(for)j(the)e(sequen)o(tial)i(algorithms.)22 b(F)l(or)12 b(the)g(distributed)h(case,)f(message)g(passing)i(constructs)e FG(SEND)0 1381 y FH(and)20 b FG(RECEIVE)p FH(,)d(as)j(w)o(ell)h(as)f (constructs)g(for)g(shared)g(memory)f(access,)h(are)g(added)g(to)g(the)f (language.)0 1453 y(Their)e(seman)o(tics)f(are)g(discussed)i(in)f(the)f(in)o (tro)q(duction)i(to)e(Section)h(3.)73 1555 y(As)j(previously)i(men)o(tioned,) f(w)o(e)f(surv)o(ey)f(b)q(oth)i(sequen)o(tial)g(and)g(distributed)h (randomized)f(algo-)0 1627 y(rithms.)h(In)16 b(the)g(sequen)o(tial)h(case,)e (w)o(e)h(examine:)60 1771 y(1.)24 b(So)q(c)o(k)16 b(Selection)h(\()p FF(So)n(ckSel)5 b FH(\))60 1885 y(2.)24 b(Primalit)o(y)17 b(T)l(esting)h(\()p FF(PrimeT)l(est)5 b FH(\))60 1999 y(3.)24 b(Net)o(w)o(orks)15 b(without)j(Large)f(Hierarc)o(hies)f(\()p FF(NetHier)n(ar)n(chy)t FH(\))60 2112 y(4.)24 b(P)o(erfect)15 b(Hashing)i(\()p FF(PerfHash)t FH(\))60 2226 y(5.)24 b(Univ)o(ersal)17 b(Hashing)g(\()p FF(UnivHash)t FH(\))60 2340 y(6.)24 b(Nearest)16 b(Neigh)o(b)q(ors)h(\()p FF(Ne)n(arNeb)s FH(\))60 2454 y(7.)24 b(Graph)17 b(Isomorphism)g(Program)g(T) l(esting)h(\()p FF(GI-V)l(erify)t FH(\))p 0 2635 780 2 v 56 2683 a FE(2)75 2698 y FD(Karp's)c(recen)o(t)h(and)f(excellen)o(t)j(surv)o(ey) d([Kar90])f(con)o(tains)i(a)e(sligh)o(tly)j(di\013eren)o(t)g (classi\014cation.)963 2828 y FH(5)p eop bop 0 195 a FH(The)16 b(distributed)i(randomized)f(algorithms)h(w)o(e)e (consider)h(are:)60 339 y(1.)24 b(Dining)18 b(Philosophers)h(\()p FF(DinPhil)5 b FH(\))60 453 y(2.)24 b(Comm)o(unication)18 b(Guard)f(Sc)o (heduling)g(\()p FF(CommGuar)n(d)5 b FH(\))60 566 y(3.)24 b(Leader)16 b(Election)i(in)f(a)f(Ring)i(\()p FF(L)n(e)n(adEle)n(ct)5 b FH(\))60 680 y(4.)24 b(Message)16 b(Routing)i(in)f(a)g(Net)o(w)o(ork)e(\()p FF(MsgR)n(oute)t FH(\))60 794 y(5.)24 b(Byzan)o(tine)16 b(Agreemen)o(t)e(\()p FF(ByzA)n(gr)n(e)n(e)t FH(\))73 938 y(F)l(or)g(eac)o(h)g(algorithm)i(w)o(e)e (brie\015y)g(de\014ne)g(the)g(basic)h(problem)g(and,)f(when)h(appropriate,)g (the)f(mo)q(del)0 1010 y(of)j(computation.)25 b(W)l(e)17 b(then)g(explain)h (wh)o(y)f(eac)o(h)f(algorithm)j(is)f(correct,)e(and)i(examine)f(its)g (computa-)0 1082 y(tional)22 b(complexit)o(y)l(.)31 b(Only)20 b(a)g(limited)h(amoun)o(t)f(of)g(probabilit)o(y)i(theory)d(is)i(required)e (to)h(understand)0 1154 y(the)f(correctness)g(and)h(complexit)o(y)g (analyses,)h(as)f(our)g(emphasis)g(is)h(on)e(illustrating)k(the)d(tec)o (hniques)0 1226 y(in)o(v)o(olv)o(ed)c(rather)g(than)h(on)g(pro)o(viding)h (formal)f(pro)q(ofs.)73 1329 y(T)l(o)h(b)q(e)f(able)h(to)f(cogen)o(tly)g (discuss)i(the)d(computational)k(complexit)o(y)c(of)i(randomized)f (algorithms,)0 1401 y(it)j(is)g(useful)g(to)g(\014rst)g(in)o(tro)q(duce)f (sev)o(eral)h(criteria)g(for)g(ev)m(aluating)h(the)e(p)q(erformance)h(of)f (algorithms.)0 1473 y(Let)d Fx(A)24 b FH(b)q(e)16 b(a)h(sequen)o(tial)f (algorithm)i(with)f(input)g FB(I)i FH(and)e(output)g FB(O)q FH(.)k(If)16 b Fx(A)24 b FH(is)17 b(deterministic,)f(than)h(an)0 1545 y(oft-used)d(y)o(ardstic)o(k)f(of)h Fx(A)8 b FH('s)13 b(p)q(erformance)g(is)h(its)g FF(aver)n(age)i(running)g(time)t FH(:)j(the)14 b(a)o(v)o(erage)e(time)i(tak)o(en)f(b)o(y)0 1618 y Fx(A)25 b FH(when,)17 b(for)g(input)g FB(I)k FH(of)c(a)g(giv)o(en)g(size,)g (eac)o(h)f(p)q(ossible)j(instance)f(of)f FB(I)j FH(is)e(considered)f(equally) h(lik)o(ely)l(.)0 1690 y(That)f(is,)g(a)f(uniform)h(distribution)i(on)e (inputs)g(is)g(assumed.)73 1792 y(F)l(or)e Fx(A)23 b FH(a)15 b(randomized)g(algorithm,)h(its)g(running)g(time)e(on)h(a)g FF(\014xe)n(d)h FH(instance)f FB(i)f FH(of)h FB(I)j FH(ma)o(y)c(v)m(ary)h (from)0 1864 y(execution)k(to)g(execution.)30 b(Therefore,)18 b(a)i(more)f(natural)h(measure)f(of)g(p)q(erformance)g(is)h(the)e FF(exp)n(e)n(cte)n(d)0 1937 y(running)g(time)g(of)e Fx(A)25 b FF(on)18 b(a)f(\014xe)n(d)g(instanc)n(e)h FB(i)f FF(of)g FB(I)t FH(:)j(the)15 b(mean)h(time)g(tak)o(en)f(b)o(y)g Fx(A)24 b FH(to)16 b(solv)o(e)g(instance)g FB(i)0 2009 y FH(o)o(v)o(er)f(and)i(o)o(v) o(er.)73 2111 y(In)g(the)g(randomized)h(case,)f(it)h(is)g(also)h(useful)f(to) g(talk)g(ab)q(out)h(the)e(running)h(time)g(of)f Fx(A)26 b FH(with)18 b(high)0 2183 y(probabilit)o(y)k(or)d(the)h(running)g(time)g(of)g Fx(A)27 b FH(that)20 b(o)q(ccurs)g(almost)h(surely)l(.)31 b(Let)19 b FB(T)7 b FH(\()p FB(n)p FH(\))19 b(b)q(e)h(a)g(b)q(ound)h(on)0 2255 y(the)h(running)i(time)f(of)g Fx(A)30 b FH(on)23 b(inputs)h(of)f(size)g FB(n)p FH(.)40 b(The)23 b(running)h(time)e(of)h Fx(A)31 b FH(is)23 b(said)h(to)f(b)q(e)g FB(T)7 b FH(\()p FB(n)p FH(\))0 2328 y FF(with)21 b(high)f(pr)n(ob)n(ability)f FH(if)g Fx(A)28 b FH(terminates)19 b(in)h(time)f FB(T)7 b FH(\()p FB(n)p FH(\))19 b(with)h(probabilit)o(y)i(at)d(least)h(1)14 b Fx(\000)f FH(1)p FB(=n)p FH(.)31 b(The)0 2400 y(running)24 b(time)f(of)g Fx(A)31 b FH(is)23 b(said)i(to)e(b)q(e)g FF(almost)g(sur)n(ely)g FB(T)7 b FH(\()p FB(n)p FH(\))22 b(if)h(the)g(algorithm)i(terminates)e(in)g(time)0 2472 y FB(T)7 b FH(\()p FB(n)p FH(\))18 b(with)h(probabilit)o(y)h(at)f(least) g(1)13 b Fx(\000)f FH(1)p FB(=)p FH(2)823 2454 y Fw(n)844 2442 y Fv(c)864 2472 y FH(,)18 b(for)g(some)h(constan)o(t)f FB(c)g(>)f FH(0.)28 b(In)17 b(this)j(surv)o(ey)l(,)d(w)o(e)h(ha)o(v)o(e)0 2544 y(opted,)h(whenev)o(er)e(p)q(ossible,)k(to)d(giv)o(e)h(the)f(exact)g (expression)h(for)g(the)f(termination)h(probabilit)o(y)i(of)e(a)0 2617 y(randomized)e(algorithm)i(instead)e(of)g(using)h(qualitativ)o(e)g (terms)e(suc)o(h)h(as)g(\\with)h(high)g(probabilit)o(y")h(or)0 2689 y(\\almost)f(surely)l(.")963 2828 y(6)p eop bop 73 195 a FH(These)14 b(p)q(erformance)h(criteria)g(can)f(b)q(e)h(applied) h(to)f(distributed)g(algorithms)i(as)e(w)o(ell.)21 b(In)14 b(this)h(case,)0 267 y(the)20 b(quan)o(tities)g(of)g(in)o(terest)g(include)g FF(c)n(ommunic)n(ation)h(c)n(omplexity)t FH(,)h(the)d(total)i(n)o(um)o(b)q (er)e(and)i(size)f(of)0 340 y(messages)f(transmitted)g(during)h(the)e (execution)h(of)g(a)g(distributed)h(algorithm;)h FF(queueing)h(delay)t FH(,)d(the)0 412 y(total)h(time)f(sp)q(en)o(t)h(b)o(y)e(messages)i(in)g (message)f(queues)g(w)o(aiting)i(to)e(tra)o(v)o(erse)f(in-use)i(comm)o (unication)0 484 y(links;)d(and)g(the)f(total)h(n)o(um)o(b)q(er)f(of)g (accesses)g(to)h(shared)g(v)m(ariables/resources.)0 696 y Fu(1.1)70 b(Probabilistic)24 b(T)-6 b(ec)n(hniques)0 830 y FH(W)l(e)16 b(no)o(w)g(discuss)h(a)g(n)o(um)o(b)q(er)e(of)h(fundamen)o(tal)h(tec)o (hniques)e(used)i(b)o(y)e(designers)i(of)f(randomized)h(algo-)0 902 y(rithms.)k(This)15 b(list)h(is)f(not)f(mean)o(t)g(to)g(b)q(e)h (exhaustiv)o(e,)e(and)i(the)f(tec)o(hniques)g(considered)g(o)o(v)o(erlap)g (in)h(the)0 975 y(sense)h(that)h(more)f(than)h(one)f(ma)o(y)g(apply)h(to)f(a) h(giv)o(en)f(randomized)h(algorithm.)0 1179 y FC(Input)c(Randomization)p FH(|Consider)g(an)e(algorithm)i Fx(A)19 b FH(with)12 b(input)g FB(I)i FH(and)e(output)f FB(O)q FH(.)20 b(As)11 b(discussed)0 1251 y(ab)q(o)o(v)o(e,)23 b(if)g(w)o(e)f(\014x)g(the)g(size)g(of)g FB(I)t FH(,)h(then)f(the)g FF(aver)n(age)h FH(running)g(time)g(of)f Fx(A)30 b FH(refers)22 b(to)h(the)e(a)o(v)o(erage)0 1324 y(time)e(tak)o(en)h (b)o(y)f(the)g(algorithm)j(when)d(eac)o(h)g(p)q(ossible)j(instance)e(of)g FB(I)j FH(is)e(considered)f(equally)g(lik)o(ely)l(.)0 1396 y(That)e(is,)g(a)f(uniform)h(distribution)i(on)e(inputs)g(is)g(assumed.)25 b(Ho)o(w)o(ev)o(er,)15 b(this)j(ma)o(y)f(not)h(b)q(e)f(the)g(actual)0 1468 y(input)i(distribution)i(to)e(whic)o(h)g(the)f(algorithm)j(is)e(exp)q (osed,)g(making)h(the)e(a)o(v)o(erage)g(time)g(complexit)o(y)0 1540 y(misleading.)26 b(On)17 b(the)g(other)g(hand,)g(the)g FF(exp)n(e)n(cte)n(d)h FH(running)g(time)f(of)g Fx(A)25 b FH(on)18 b(instance)g FB(i)e FH(of)i FB(I)i FH(refers)d(to)0 1612 y(the)f(mean)g(time) g(that)h(the)f(algorithm)i(w)o(ould)f(tak)o(e)f(to)h(solv)o(e)f(instance)h FB(i)f FH(o)o(v)o(er)f(and)i(o)o(v)o(er.)73 1715 y FF(Input)22 b(r)n(andomization)t FH(,)d(i.e.,)h(rearranging)i(or)e(p)q(erm)o(uting)h(the) f(input)h(to)f(rid)h(it)f(of)h(an)o(y)f(existing)0 1787 y(patterns,)14 b(ensures)g(that)g(for)g FF(al)r(l)h FH(inputs,)g(the)f(exp)q(ected)e (running)j(time)f(matc)o(hes)f(the)g(a)o(v)o(erage)h(running)0 1859 y(time.)25 b(This)19 b(tec)o(hnique)e(can)g(b)q(e)h(e\013ectiv)o(e)f(on) h(problems)g(that)g(ha)o(v)o(e)f(algorithms)j(with)e(go)q(o)q(d)h(a)o(v)o (erage)0 1931 y(running)f(time)e(but)g(p)q(o)q(or)i(w)o(orst-case)f(running)g (time)f(due)h(to)f(some)g(unfa)o(v)o(orable)h(input)g(patterns.)73 2034 y(A)23 b(w)o(ell-kno)o(wn)i(example)f(of)g(this)g(tec)o(hnique)f(is)i FF(r)n(andomize)n(d)e(quicksort)i FH([Kn)o(u73].)43 b(Quic)o(ksort)0 2106 y(p)q(erforms)19 b(v)o(ery)f(w)o(ell)h(if)h(the)e(list)j(of)e(n)o(um)o (b)q(ers)f(to)i(b)q(e)f(sorted)g(has)g(a)h(random)f(order)g(to)h(it.)29 b(Ho)o(w)o(ev)o(er,)0 2178 y(quic)o(ksort)14 b(degenerates)g(to)h(a)f (comparison)i(of)e(ev)o(ery)e(n)o(um)o(b)q(er)i(with)h(ev)o(ery)d(other)i(n)o (um)o(b)q(er)g(if)g(the)g(input)0 2250 y(is)i(already)f(nearly)g(sorted.)21 b(One)15 b(can)g(think)g(of)g(randomized)h(quic)o(ksort)f(as)g(a)g(t)o(w)o(o) g(step)g(pro)q(cedure.)20 b(In)0 2323 y(the)e(\014rst)h(step,)f(the)g(input)h (sequence)e(to)i(b)q(e)f(sorted)h(is)g(randomly)g(p)q(erm)o(uted.)26 b(The)18 b(usual)i(quic)o(ksort)0 2395 y(algorithm)e(is)e(then)f(applied)i (to)f(the)g(resulting)h(sequence.)j(Although)c(the)g(input)g(randomization)i (step)0 2467 y(can)h(b)q(e)f(p)q(erformed)g(in)i(linear)f(time,)g(in)g (practice,)f(it)h(is)g(usually)i(more)d(e\016cien)o(t)f(to)i(simply)g(pic)o (k)f(the)0 2539 y(piv)o(ot)f(elemen)o(t)e(randomly)l(.)22 b(Our)16 b(so)q(c)o(k)g(selection)h(problem)g(\()p FF(So)n(ckSel)5 b FH(\))18 b(is)f(another)g(illustration)j(of)c(the)0 2611 y(p)q(o)o(w)o(er)g (of)h(input)g(randomization.)963 2828 y(7)p eop bop 73 195 a FH(An)14 b(in)o(teresting)g(application)i(of)e(input)h (randomization)h(is)e(seen)g(in)g(some)g FF(pr)n(ob)n(abilistic)h(inter)n (active)0 267 y(pr)n(o)n(of-systems)p FH(.)k(Here)12 b(a)h FF(pr)n(over)5 b FH(,)13 b(whic)o(h)h(supp)q(osedly)g(can)g(solv)o(e)f(a)h (hard)f(problem,)h(tries)f(to)h(con)o(vince)f(a)0 340 y(sk)o(eptical)j FF(veri\014er)21 b FH(of)15 b(its)h(pro)o(w)o(ess.)21 b(F)l(or)15 b(some)h(problems,)f(the)g(v)o(eri\014er's)f(task)i(essen)o(tially)g (consists)h(of)0 412 y(randomizing)h(the)e(input)h(to)g(the)f(pro)o(v)o(er.) 21 b(This)c(constitutes)g(an)g(attempt)f(b)o(y)g(the)g(v)o(eri\014er)g(to)g FF(c)n(onfuse)0 484 y FH(the)g(pro)o(v)o(er)g(ab)q(out)i(the)f(sp)q(eci\014c) g(problem)g(instance)g(it)g(is)h(b)q(eing)g(ask)o(ed)e(to)h(w)o(ork)g(on.)23 b(In)16 b(Section)h(2.6,)0 556 y(w)o(e)k(will)i(see)e(this)h(use)g(of)f (input)h(randomization)i(in)e(action)g(for)g(v)o(erifying)f(the)h (correctness)e(of)i(an)o(y)0 628 y(program)g(that)f(purp)q(ortedly)h(solv)o (es)g(the)e(graph)i(isomorphism)h(problem.)36 b(The)21 b(pro)q(of)h(system)e (will)0 701 y(ha)o(v)o(e)h(the)h(additional)j(feature)d(that)h(the)f(pro)o(v) o(er)f(can)h(con)o(vince)g(the)g(v)o(eri\014er)g(of)g(its)h(isomorphism-)0 773 y(c)o(hec)o(king)14 b(pro)o(w)o(ess)h(without)h(the)e(v)o(eri\014er)g(ha) o(ving)i(to)f(solv)o(e)g(the)f(graph)i(isomorphism)h(problem)e(in)g(an)o(y)0 845 y(sense.)73 947 y(Input)k(randomization)i(is)e(not)g(restricted)g(to)g (sequen)o(tial)g(algorithms.)30 b(Some)19 b(randomized)g(mes-)0 1020 y(sage)24 b(routing)h(algorithms,)i(e.g.,)d(V)l(alian)o(t's)g(algorithm) h(for)f(h)o(yp)q(ercub)q(es)f([V)l(al82)q(])g(and)h(Aleluinas's)0 1092 y(algorithm)19 b(for)f FB(b)p FH(-w)o(a)o(y)f(sh)o(u\017e)g(net)o(w)o (orks)g([Ale82],)f(exhibit)i(what)g(ma)o(y)f(b)q(e)h(termed)e FF(distribute)n(d)i(input)0 1164 y(r)n(andomization)t FH(.)36 b(In)22 b(the)f(message)h(routing)h(problem,)g(a)f(set)f(of)h(messages)g(m)o (ust)g(b)q(e)f(routed)h(from)0 1236 y(source)d(no)q(des)g(to)g(destination)h (no)q(des)g(in)f(a)g(net)o(w)o(ork)e(of)i(computers.)28 b(Moreo)o(v)o(er,)17 b(the)h(routing)i(m)o(ust)0 1309 y(b)q(e)h(done)g(in)g(a)g(distributed)h (manner,)g(i.e.,)e(without)i(the)f(help)g(of)g(a)g(cen)o(tral)g(arbiter.)35 b(In)21 b(the)f(algo-)0 1381 y(rithms)d(of)g([V)l(al82)q(,)f(Ale82)q(],)f (eac)o(h)h(message)h(is)h(\014rst)f(sen)o(t)f(to)h(a)g(randomly)g(c)o(hosen)g (in)o(termediate)f(no)q(de)0 1453 y(b)q(efore)j(b)q(eing)h(transmitted)g(to)f (its)h(\014nal)h(destination.)31 b(This)20 b(randomization)i(step)d (eliminates)h(\\hot)0 1525 y(p)q(oin)o(ts")f(b)o(y)e(distributing)k(the)c (tra\016c)g(uniformly)i(o)o(v)o(er)e(the)g(net)o(w)o(ork.)25 b(That)18 b(is,)g(it)g(rids)h(the)e(input)i(of)0 1597 y(an)o(y)c(patterns)g (that)g(ma)o(y)f(exist)h(b)q(et)o(w)o(een)f(source)h(no)q(des)h(and)f (destination)i(no)q(des.)22 b(In)14 b(Section)h(3.4,)g(w)o(e)0 1670 y(describ)q(e)i(the)g(message)g(routing)h(algorithms)h(of)e(V)l(alian)o (t)h(and)g(Aleluinas)g(as)g(w)o(ell)f(as)g(a)h(tec)o(hnique)e(for)0 1742 y(m)o(ulti-butter\015y)h(net)o(w)o(orks)e(based)i(on)g(randomizing)h (the)e(in)o(terconnections)h(b)q(et)o(w)o(een)e(no)q(des.)0 1946 y FC(Random)j(Searc)n(h)p FH(|Random)e(searc)o(h)g(is)g(one)g(of)g(the)g (most)g(widely)g(used)g(probabilisti)q(c)i(tec)o(hniques.)0 2019 y(Man)o(y)i(problems)i(naturally)g(in)o(v)o(olv)o(e)e(searc)o(hing)i(a)f (large)h(space)e(for)h(an)g(elemen)o(t)f(ha)o(ving)i(a)f(desired)0 2091 y(prop)q(ert)o(y)l(.)35 b(If)20 b(the)h(prop)q(ert)o(y)g(in)g(question)h (is)g(easily)g(v)o(eri\014ed)e(and)h(the)g(elemen)o(ts)f(p)q(ossessing)k(it)d (are)0 2163 y(abundan)o(t,)c(random)g(searc)o(h)e(can)i(b)q(e)f(v)o(ery)f (e\013ectiv)o(e.)73 2265 y(Consider,)i(for)g(example,)e(the)h(problem)h(of)g (v)o(erifying)f(the)g(p)q(olynomial)j(iden)o(tit)o(y)721 2376 y FB(f)5 b FH(\()p FB(X)809 2383 y FI(1)829 2376 y FB(;)j(X)891 2383 y FI(2)911 2376 y FB(;)g FH(.)g(.)g(.)g FB(;)g(X)1061 2383 y Fw(n)1085 2376 y FH(\))24 b(=)h(0)p FB(:)0 2487 y FH(If)15 b FB(f)20 b FH(is)c(iden)o(tically)g(zero,)f(then)g(for)g(all)h(assignmen)o (ts)h(of)e(the)g FB(X)1186 2494 y Fw(i)1200 2487 y FH('s)g(it)h(will)h(ev)m (aluate)e(to)h(zero.)k(Ho)o(w)o(ev)o(er,)0 2559 y(if)i FB(f)27 b FH(is)22 b(non-zero,)h(then)e(it)h(can)f(b)q(e)h(sho)o(wn)g(that)g(for)g (an)o(y)f(suitably)i(constructed)e(set)h(of)f(inputs,)j FB(f)0 2631 y FH(will)e(p)q(ossess)g(only)f(a)g(b)q(ounded)g(n)o(um)o(b)q(er)f(of)h (zeros.)33 b(In)20 b(particular,)j(if)e FB(S)i FH(is)e(a)g(set)f(with)h(more) f(than)0 2704 y FB(c)9 b Fx(\001)f FB(deg)r FH(\()p FB(f)d FH(\))15 b(elemen)o(ts)f(from)h(the)g(\014eld)h(generated)e(b)o(y)h(the)g(co) q(e\016cien)o(ts)f(of)i FB(f)5 b FH(,)15 b(then)g FB(f)20 b FH(can)15 b(ha)o(v)o(e)f(at)i(most)963 2828 y(8)p eop bop 5 178 a Ft(j)p Fw(S)r Ft(j)48 167 y Fv(n)p 5 190 65 2 v 29 219 a Fw(c)89 202 y FH(zeros)14 b(in)i FB(S)298 184 y Fw(n)321 202 y FH(,)f(for)g(some)f(constan)o(t)h FB(c)g FH([Sc)o(h79].)20 b(Th)o(us)15 b(ev)o(ery)e(trial)j(ev)m(aluation)h(of)e FB(f)20 b FH(on)15 b(a)g(randomly)0 274 y(pic)o(k)o(ed)g(elemen)o(t)g(of)h FB(S)418 256 y Fw(n)457 274 y FH(will)i(either)d(pro)o(v)o(e)g(the)h(falsit)o (y)h(of)f(the)f(iden)o(tit)o(y)l(,)h(or)g(yield)g(credence)f(to)h(it)g(with)0 346 y(1)p FB(=c)22 b FH(as)f(the)g(probabilit)o(y)i(of)e(b)q(eing)h(wrong.)36 b(In)21 b FB(k)i FH(trials,)g(therefore,)e(one)g(can)g(either)g(dispro)o(v)o (e)g(the)0 418 y(iden)o(tit)o(y)g(or)h(come)e(to)i(b)q(eliev)o(e)f(it)h(to)f (b)q(e)h(true)f(with)h(error)f(probabilit)o(y)i(less)f(than)g(1)p FB(=c)1685 400 y Fw(k)1707 418 y FH(,)g(a)g(n)o(um)o(b)q(er)0 491 y(that)f(can)g(b)q(e)h(easily)g(made)e(smaller)i(than)g(the)e(probabilit) o(y)j(of)f(a)f(stra)o(y)g FB(\013)p FH(-particle)h(disrupting)h(the)0 563 y(computation.)40 b(Randomized)23 b(algorithms)h(for)f(testing)g(p)q (olynomial)i(iden)o(tities)e(and)g(prop)q(erties)g(of)0 635 y(systems)16 b(of)h(p)q(olynomials)i(are)d(discussed)h(in)g(detail)h(in)f ([Sc)o(h79)o(,)f(Zip79)q(].)73 737 y(The)f(probabilisti)q(c)i(test)e(for)g(p) q(olynomial)j(iden)o(tities)e(can)f(also)h(b)q(e)f(used)g(for)h(determining)f (whether)0 810 y(a)g(giv)o(en)f(undirected)g(graph)h FB(G)p FH(\()p FB(V)s(;)8 b(E)s FH(\))15 b(has)g(a)f FF(p)n(erfe)n(ct)h(matching)t FH(,)h(i.e.,)d(a)i(set)f(of)h(edges)f(that)g(co)o(v)o(ers)g(eac)o(h)0 882 y(v)o(ertex)f(exactly)h(once.)20 b(T)l(o)15 b(see)f(this,)i(let)e FB(V)25 b FH(=)14 b Fx(f)p FH(1)p FB(;)8 b FH(2)p FB(;)g FH(.)g(.)g(.)g FB(n)p Fx(g)14 b FH(b)q(e)h(the)f(v)o(ertex)f(set)h(and)h(asso)q(ciate)h(v)m (ariable)0 954 y FB(x)28 961 y Fw(ij)78 954 y FH(with)22 b(edge)e FB(e)332 961 y Fw(ij)383 954 y Fx(2)h FB(E)s FH(.)34 b(De\014ne)20 b(the)g FB(n)14 b Fx(\002)g FB(n)20 b FH(matrix)h FB(B)i FH(=)e([)p FB(b)1229 961 y Fw(ij)1259 954 y FH(])f(as)h(follo)o(ws.)35 b(If)20 b(there)g(is)h(no)g(edge)0 1026 y(b)q(et)o(w)o(een)d(v)o(ertex)g FB(i)h FH(and)h(v)o(ertex)e FB(j)k FH(them)d FB(b)818 1033 y Fw(ij)867 1026 y FH(=)g(0.)31 b(Otherwise,)20 b FB(b)1262 1033 y Fw(ij)1311 1026 y FH(=)f FB(x)1396 1033 y Fw(ij)1445 1026 y FH(if)h FB(i)f(>)g(j)j FH(and)e FB(b)1747 1033 y Fw(ij)1796 1026 y FH(=)f Fx(\000)p FB(x)1920 1033 y Fw(ij)0 1098 y FH(if)h FB(i)e(<)h(j)s FH(.)30 b(T)l(utte)20 b([T)l(ut47])f(pro)o(v)o(ed)f(that)i FB(G)g FH(has)g(a)f(p)q(erfect)g(matc)o(hing)h(if)f(and)h(only)g(if)g(det\()p FB(B)s FH(\))f(is)h(not)0 1171 y(iden)o(tically)j(equal)g(to)f(zero.)37 b(It)22 b(w)o(as)g(\014rst)g(observ)o(ed)g(b)o(y)f(L\023)-24 b(ov\023)g(asz)23 b([Lo)o(v79])f(that)g(since)g(det\()p FB(B)s FH(\))f(is)i(a)0 1243 y(p)q(olynomial)d(in)e(the)g FB(x)425 1250 y Fw(ij)455 1243 y FH('s,)f(one)h(can)f(test)h(for)f(the)h(v)m(alidit)o (y)h(of)e(the)h(p)q(olynomial)i(iden)o(tit)o(y)d(det\()p FB(B)s FH(\))f(=)g(0)0 1315 y(using)h(the)d(probabilisti)q(c)k(tec)o(hnique)c (describ)q(ed)i(ab)q(o)o(v)o(e.)21 b(L\023)-24 b(ov\023)g(asz,)15 b(in)h(the)f(same)g(pap)q(er,)h(also)g(describ)q(es)0 1387 y(a)h(probabilistic)i(metho)q(d)e(for)f(determining)h(the)f(actual)h(p)q (erfect)f(matc)o(hing,)g(if)h(one)f(exists.)73 1490 y(More)k(e\016cien)o(t)g (sequen)o(tial)h(metho)q(ds)g(for)f(computing)i(the)e(p)q(erfect)g(matc)o (hing,)h(though)h(consid-)0 1562 y(erably)e(more)g(complicated,)h(ha)o(v)o(e) e(b)q(een)h(describ)q(ed)g(in)h(the)e(literature.)33 b(The)20 b(b)q(eaut)o(y)g(of)g(the)g(ab)q(o)o(v)o(e)0 1634 y(sc)o(heme)f(is)j(its)f (simplicit)o(y)l(.)36 b(In)20 b(addition,)j(it)e(can)g(b)q(e)g(e\016cien)o (tly)f(parallelized:)32 b(the)20 b(parallel)j(imple-)0 1706 y(men)o(tation)c(has)h(the)e(same)h(resource)g(requiremen)o(ts)e(as)j(those)f (for)g(ev)m(aluating)i(a)e(determinan)o(t,)g(viz.,)0 1779 y FB(O)q FH(\(log)121 1757 y FI(2)149 1779 y FB(n)p FH(\))i(time)g(using)i FB(O)q FH(\()p FB(n)553 1760 y FI(3)p Fw(:)p FI(5)601 1779 y FH(\))e(pro)q(cessors)i([KUW86,)d(MVV87].)36 b(This)23 b(is)f(signi\014can) o(t)h(as)f(p)q(erfect)0 1851 y(matc)o(hing)d(is)h(a)f(fundamen)o(tal)h (problem)f(that)h(is)f(not)h(kno)o(wn)f(to)g(b)q(e)g(in)h FF(NC)7 b FH(,)18 b(the)h(class)h(of)f(problems)0 1923 y(ha)o(ving)13 b(parallel)i(algorithms)f(that)f(run)f(in)h(p)q(olylog)i(time)d(while)h (using)h(a)f(p)q(olynomially)i(b)q(ounded)e(n)o(um-)0 1995 y(b)q(er)20 b(of)g(pro)q(cessors.)33 b(The)19 b(randomized)h(parallel)i (algorithms)g(of)e([KUW86,)f(MVV87])g(do,)i(ho)o(w)o(ev)o(er,)0 2067 y(place)16 b(p)q(erfect)e(matc)o(hing)i(in)f FF(R)n(andom)h(NC)7 b FH(.)15 b(One)g(can)g(also)i(determine)d(the)h(actual)h(p)q(erfect)f(matc)o (hing)0 2140 y(in)i(parallel;)h(see)e([KUW86,)f(MVV87])h(for)g(details.)73 2242 y(Random)c(searc)o(h)g(has)g(also)h(b)q(een)f(used)g(in)g(algorithms)i (on)e(\014nite)g(\014elds)h([Rab80b,)f(Ber70].)19 b(It)11 b(can)h(b)q(e)0 2314 y(sho)o(wn)j(\(e.g.,)e(see)g([Ber70]\))g(that)i(one)f(in)h(ab)q(out)g (ev)o(ery)d FB(n)i FH(p)q(olynomials)j(in)e FB(Z)1435 2321 y Fw(p)1455 2314 y FH([)p FB(x)p FH(])e(\(the)h(\014eld)g(of)g(residues)0 2386 y(\(mo)q(d)23 b FB(p)p FH(\),)h(where)d FB(p)i FH(is)g(prime\))g(is)g (an)f(irreducible)i(monic)e(p)q(olynomial)j(of)e(degree)f FB(n)p FH(.)39 b(This)24 b(result)0 2459 y(has)f(b)q(een)f(repro)o(v)o(ed,)g(using)h (a)g(di\013eren)o(t)f(tec)o(hnique,)h(in)f([Rab80b)q(].)39 b(Th)o(us)22 b(a)h(plausible)h(algorithm)0 2531 y(for)e(\014nding)g(an)g (irreducible)h(p)q(olynomial)h(is)e(to)g(rep)q(eatedly)f(pic)o(k)g(one)h(at)g (random)g(and)g(test)f(it)h(for)0 2603 y(irreducibilit)o(y)l(.)32 b(Since)19 b(it)h(tak)o(es)f FB(O)q FH(\()p FB(n)710 2585 y FI(2)730 2603 y FH(\(log)10 b FB(n)p FH(\))868 2585 y FI(2)896 2603 y FH(log)h(log)f FB(n)e FH(log)j FB(p)p FH(\))19 b(steps)h(to)f(test)g (for)h(irreducibilit)o(y)l(,)h(one)0 2675 y(can)d(\014nd)h(an)f(irreducible)h (p)q(olynomial)i(in)e(a)g(reasonable)g(amoun)o(t)g(of)f(time.)27 b(Algorithms)19 b(for)g(\014nding)963 2828 y(9)p eop bop 0 195 a FH(ro)q(ots)18 b(and)e(irreducible)i(factors)e(based)h(on)g (random)g(searc)o(h)f(are)g(also)i(giv)o(en)e(in)h([Rab80b)q(].)73 297 y(There)22 b(is)h(a)g(long)h(history)f(in)h(n)o(um)o(b)q(er)d(theory)h (of)h(using)h(random)f(searc)o(h.)39 b(F)l(or)23 b(example,)g(the)0 370 y(result)c(that)h(1)f(out)g(of)g FB(n)g FH(p)q(olynomials)j(of)d(degree)f FB(n)h FH(o)o(v)o(er)f(a)h(\014nite)g(\014eld)h(is)f(irreducible,)h(used)f (ab)q(o)o(v)o(e)0 442 y(to)i(deriv)o(e)f(a)h(randomized)h(algorithm)h(for)e (\014nding)h(an)f(irreducible)h(p)q(olynomial,)i(w)o(as)d(published)h(in)0 514 y(1856)c(b)o(y)e(Ric)o(hard)h(Dedekind)g([J.)f(Reine)h(Angew.)22 b(Math.].)g(Evidence)17 b(exists)g(that)g(Gauss)h(knew)e(this)0 586 y(result)22 b(for)f(the)g(in)o(tegers)g(\(mo)q(d)h FB(p)p FH(\).)36 b(Ev)o(en)21 b(earlier,)h(Galois)i(noted)d(that)h(a)f(go)q(o)q(d)i (w)o(a)o(y)e(to)h(select)f(an)0 658 y(irreducible)h(p)q(olynomial)j(o)o(v)o (er)20 b(a)i(\014nite)g(\014eld)g(w)o(as)g(b)o(y)f(trial.)39 b(Similarly)l(,)24 b(a)e(pap)q(er)g(b)o(y)f(P)o(o)q(c)o(klington)0 731 y([Pro)q(c.)26 b(Cam)o(bridge)18 b(Phil.)27 b(So)q(c.,)18 b(1917])h(on)f(computing)h(square)f(ro)q(ots)h(mo)q(d)f FB(p)h FH(giv)o(es)f(an)g(estimate)g(of)0 803 y(the)e(probabilit)o(y)i(that)f(a)g (random)f(searc)o(h)g(will)j(succeed)c(and)i(tak)o(e)e(no)i(more)f(than)h (cubic)f(time.)73 905 y(In)i(this)h(surv)o(ey)l(,)f(the)g(algorithms)i(w)o(e) e(presen)o(t)f(for)i(primalit)o(y)g(testing)g(\()p FF(PrimeT)l(est)5 b FH(\))19 b(and)g(p)q(erfect)0 977 y(hashing)f(\()p FF(PerfHash)t FH(\))e(also)i(use)e(random)h(searc)o(h.)73 1080 y(An)j(implicit)h (prerequisite)f(for)g(e\013ectiv)o(e)f(random)i(searc)o(h)e(is)i(the)f (abilit)o(y)h(to)f(randomly)h(pic)o(k)f(an)0 1152 y(elemen)o(t,)14 b(more)i(or)g(less)g(uniformly)l(,)g(from)g(the)f(space)h(under)g (consideration;)h(e.g.,)e(the)g(space)h(of)g(\\wit-)0 1224 y(nesses")k(ha)o(ving)h(a)f(certain)g(prop)q(ert)o(y)l(,)g(the)g(space)g(of)g (spanning)i(trees)d(of)h(a)g(graph,)h(or)f(the)g(space)g(of)0 1296 y(degree-)p FB(n)c FH(p)q(olynomials.)24 b(Determining)17 b(the)f(spaces)h(for)f(whic)o(h)h(this)g(is)g(p)q(ossible)h(is)f(in)g(itself) g(an)g(in)o(ter-)0 1369 y(esting)h(problem.)24 b(F)l(or)17 b(example,)g(it)h(is)g(not)f(immediately)h(clear)f(ho)o(w)h(one)f(w)o(ould)h (pic)o(k)f(one)g(spanning)0 1441 y(tree,)22 b(uniformly)h(at)g(random,)g (from)f(the)g(space)g(of)h(all)g(p)q(ossible)i(spanning)f(trees)d(of)i(a)f (connected,)0 1513 y(undirected)g(graph.)41 b(This)23 b(particular)h(problem) f(w)o(as)g(solv)o(ed)f(b)o(y)g(Bro)q(der)h([Bro89])f(who)h(presen)o(ted)0 1585 y(a)g(randomized)g(algorithm)h(with)g(an)f(exp)q(ected)e(running)j(time) e(of)h FB(O)q FH(\()p FB(n)8 b FH(log)j FB(n)p FH(\))23 b(p)q(er)f(generated) h(tree)0 1657 y(for)c(almost)i(all)f(graphs.)31 b(In)19 b(the)g(w)o(orst)h (case,)f(the)g(algorithm)i(requires)e FB(O)q FH(\()p FB(n)1483 1639 y FI(3)1504 1657 y FH(\))g(time)g(p)q(er)g(generated)0 1730 y(tree.)39 b(Babai)24 b([Bab91])e(presen)o(ts)h(a)g(randomized)g (algorithm)h(that)f(constructs)g(an)g(e\016cien)o(t)f(nearly)0 1802 y(uniform)i(random)g(generator)g(for)f(\014nite)h(groups)g(in)g(a)g(v)o (ery)e(general)i(setting.)43 b(Other)23 b(in)o(teresting)0 1874 y(w)o(ork)15 b(on)h(the)f(random)h(generation)g(of)g(com)o(binatorial)h (structures)e(and)h(sample)g(spaces)g(can)f(b)q(e)g(found)0 1946 y(in)i([JVV86)o(,)f(A)o(GHP90].)73 2049 y(Not)d(all)i(algorithms)g (based)f(on)g(random)g(searc)o(h)f(con)o(tain)h(a)f(v)o(eri\014cation)h (step.)20 b(If)13 b(the)g(searc)o(h)g(space)0 2121 y(is)j(teeming)f(with)i (elemen)o(ts)d(p)q(ossessing)k(the)d(desired)h(prop)q(ert)o(y)l(,)f(one)g (can)h(ev)o(en)e(disp)q(ense)i(with)h(c)o(hec)o(k-)0 2193 y(ing)f(the)f(prop) q(ert)o(y)l(.)20 b(This)c(is)g(particularly)h(useful)e(if)h(the)f(prop)q(ert) o(y)f(in)i(question)g(is)f(not)h(easily)g(c)o(hec)o(k)o(ed.)0 2265 y(F)l(or)d(example,)g(the)g(problem)h FF(NetHier)n(ar)n(chy)e FH(calls)j(for)e(constructing)h(a)g(net)o(w)o(ork)e(\(a)i(complete)e (directed)0 2338 y(graph\))j(on)g FB(n)g FH(no)q(des)g(that)g(do)q(es)g(not)g (con)o(tain)g(a)g(hierarc)o(h)o(y)f(on)h(an)o(y)f(subset)h(of)f FB(m)g FH(no)q(des.)22 b(A)14 b FF(hier)n(ar)n(chy)t FH(,)0 2410 y(also)22 b(kno)o(wn)f(as)g(a)f FF(tr)n(ansitive)i(tournament)f FH([ES74)q(],)g(is)g(a)g(graph)g(in)g(whic)o(h)g(for)g(all)g(no)q(des)h FB(x)p FH(,)e FB(y)i FH(and)0 2482 y FB(z)r FH(,)d(if)h(the)f(directed)g (edges)h(\()p FB(x;)8 b(y)r FH(\))18 b(and)i(\()p FB(y)r(;)8 b(z)r FH(\))18 b(exist)i(then)f(the)g(edge)g(\()p FB(x;)8 b(z)r FH(\))19 b(also)i(exists.)30 b(W)l(e)19 b(will)i(see)0 2554 y(that)14 b(with)h(high)g(probabilit)o(y)l(,)h FF(any)e FH(randomly)h (selected)f(net)o(w)o(ork)f(on)i FB(n)f FH(no)q(des)h(will)g(b)q(e)g(dev)o (oid)f(of)g(large)0 2626 y(hierarc)o(hies)j(as)g(long)g(as)g FB(m)f FH(is)h(su\016cien)o(tly)f(\\large".)951 2828 y(10)p eop bop 0 297 a FC(Con)n(trol)22 b(Randomization)p FH(|Consider)f(a)e(problem)f (for)h(whic)o(h)f(man)o(y)g(algorithms)j(exist,)d(suc)o(h)g(as)0 370 y(sorting.)34 b(If)19 b(eac)o(h)h(of)g(these)g(algorithms)i(has)f(go)q(o) q(d)h(exp)q(ected)d(p)q(erformance)h(for)g(some)g(problem)g(in-)0 442 y(stances)15 b(but)f(p)q(o)q(or)i(w)o(orst-case)f(p)q(erformance,)f(it)h (is)g(v)o(ery)e(risky)i(to)f(use)h(an)o(y)f(single)i(one)e(of)h(them.)20 b(This)0 514 y(is)c(esp)q(ecially)i(true)d(if)h(the)f(input)i(probabilit)o(y) h(distribution)g(is)e(not)g(kno)o(wn.)21 b(It)16 b(ma)o(y)f(happ)q(en)h(that) g(the)0 586 y(input)h(is)f(biased)h(in)g(suc)o(h)e(a)h(w)o(a)o(y)g(that)g(it) h(fa)o(v)o(ors)e(the)h(bad)g(cases.)22 b(In)15 b(suc)o(h)h(a)g(situation,)i (go)q(o)q(d)f(a)o(v)o(erage)0 658 y(p)q(erformance,)23 b(whic)o(h)f(is)h(t)o (ypically)g(computed)e(assuming)j(uniform)f(input)f(distribution,)k(do)q(es)d (not)0 731 y(guaran)o(tee)18 b(m)o(uc)o(h.)23 b(A)16 b(w)o(a)o(y)h(around)i (this)f(problem)f(is)i(to)e(randomly)h(pic)o(k)f(one)h(of)f(the)g(algorithms) j(for)0 803 y(eac)o(h)14 b(input)h(instance.)21 b(This)15 b(strategy)g (assumes,)f(of)h(course,)f(that)g(there)g(is)h(no)g(signi\014can)o(t)g (correlation)0 875 y(among)i(the)f(algorithms)j(on)d(what)h(constitutes)g (the)f(bad)h(inputs.)73 977 y(The)c(randomized)g(string)g(matc)o(hing)g (algorithm)i(of)e(Karp)g(and)g(Rabin)g([KR87])f(exempli\014es)h(the)f(use)0 1050 y(of)k(con)o(trol)h(randomization.)23 b(Here)15 b(the)g(problem)h(is)h (to)f(determine)f(if)h(a)h(giv)o(en)f(pattern)g(of)g FB(m)f FH(sym)o(b)q(ols)0 1122 y(o)q(ccurs)d(in)f(a)h(text)e(of)i(length)g FB(n)p FH(.)19 b(A)11 b(naiv)o(e)g(algorithm)i(w)o(ould)f(compare)f(the)g (pattern)g(to)h(the)f(substrings)i(at)0 1194 y(all)i(p)q(ossible)h(text)e(lo) q(cations)i(resulting)g(in)e FB(O)q FH(\()p FB(nm)p FH(\))g(time)g(complexit) o(y)l(.)20 b(Karp)14 b(and)h(Rabin)g(do)f(b)q(etter)g(b)o(y)0 1266 y(using)j(a)e FF(\014ngerprinting)k(function)d FH(that)g(asso)q(ciates)h (an)f(in)o(teger)f(with)h(a)g(text)e(string)j(using)g(arithmetic)0 1339 y(calculations)j(mo)q(dulo)f(a)f(giv)o(en)f(prime)h(n)o(um)o(b)q(er.)24 b(They)17 b(need)g(only)h(compare)f(the)h(\014ngerprin)o(t)g(of)f(the)0 1411 y(pattern)h(to)f(the)g(\014ngerprin)o(ts)h(of)g(all)h(p)q(ossible)g (text)e(lo)q(cations.)27 b(Con)o(trol)19 b(randomization)g(comes)e(in)o(to)0 1483 y(pla)o(y)f(as)g(the)f(\014ngerprin)o(ting)i(function,)f(actually)h(the) e(prime)g(n)o(um)o(b)q(er)g(underlying)h(the)f(\014ngerprin)o(ting)0 1555 y(function,)i(is)g(c)o(hosen)f(at)g(random.)73 1657 y(Although)21 b(the)e(w)o(orst)g(case)h(running)g(time)f(of)h(their)f(algorithm)j(is)e FB(O)q FH(\(\()p FB(n)14 b Fx(\000)e FB(m)h FH(+)g(1\))p FB(m)p FH(\),)20 b(lik)o(e)f(the)0 1730 y(naiv)o(e)d(algorithm,)i(in)e(practice)g (one)g(can)h(exp)q(ect)e(it)h(to)h(run)f(in)h(time)e FB(O)q FH(\()p FB(n)d FH(+)e FB(m)p FH(\).)1522 1712 y FI(3)1563 1730 y FH(There)15 b(is,)i(ho)o(w)o(ev)o(er,)0 1802 y(a)22 b(small)h(probabilit)o (y)h(\()458 1782 y FI(1)p 458 1790 18 2 v 458 1819 a Fw(q)480 1802 y FH(,)f(where)e FB(q)i FH(is)f(the)g(prime)f(n)o(um)o(b)q(er)g(used)h (in)g(the)f(\014ngerprin)o(ting)i(function\))0 1874 y(that)18 b(the)f(algorithm)j(detects)d(a)g(false)i(or)f FF(spurious)f FH(matc)o(h.)24 b(As)18 b(a)f(result,)h(the)g(algorithm)h(incurs)f(the)0 1946 y(additional)h(o)o(v)o(erhead)d(needed)f(to)i(c)o(hec)o(k)e(that)h (detected)f(matc)o(hes)h(are)g(actually)i(v)m(alid.)73 2049 y(It)k(is)h(w)o(orth)g(noting)g(that)g(a)g(comp)q(etitiv)o(e)f(alternativ)o (e)h(to)f(the)g(Karp-Rabin)i(algorithm)g(is)f(the)0 2121 y FF(deterministic)e FH(Kn)o(uth-Morris-Pratt)g(algorithm)h([KMP77])d(whic)o(h) h(runs)g(in)h(time)e FB(O)q FH(\()p FB(n)14 b FH(+)g FB(m)p FH(\).)31 b(The)0 2193 y(main)18 b(no)o(v)o(el)g(idea)g(b)q(ehind)h(this)g (algorithm)g(is)g(the)e(calculation)j(of)e(the)g FF(pr)n(e\014x)h(function)t FH(,)g(whic)o(h)f(for)g(a)0 2265 y(giv)o(en)c(pattern)h(encapsulates)g(kno)o (wledge)g(ab)q(out)g(ho)o(w)g(the)f(pattern)g(matc)o(hes)g(against)i(shifts)f (of)g(itself.)73 2368 y(As)f(w)o(e)f(will)j(see,)d(the)h(problem)g(of)g(univ) o(ersal)h(hashing)h(\()p FF(UnivHash)t FH(\))e(also)h(admits)g(a)f(solution)j (based)0 2440 y(on)g(con)o(trol)g(randomization.)p 0 2474 780 2 v 56 2504 a FE(3)75 2519 y FD(The)11 b(w)o(orst)h(case)g(b)q(eha)o(vior)g (manifests)h(itself)g(in)e(the)h(presence)i(of)d Fs(O)q FD(\()p Fs(n)p FD(\))g(o)q(ccurrences)k(of)10 b(the)i(pattern)g(in)g(the)g(text.)18 b(A)0 2594 y(more)13 b(realistic,)i(constan)o(t)f(n)o(um)o(b)q(er)f(of)f(o)q (ccurrences)k(of)c(the)i(pattern)f(within)h(the)g(text)f(leads)h(to)f(the)g Fs(O)q FD(\()p Fs(n)7 b FD(+)h Fs(m)p FD(\))13 b(running)0 2669 y(time)i(cited)g(ab)q(o)o(v)o(e.)951 2828 y FH(11)p eop bop 0 297 a FC(Random)21 b(Sampling)p FH(|Sometimes)e(it)g(is)g(p)q(ossible)h (to)f(ascertain,)g(with)g(high)g(probabilit)o(y)l(,)i(certain)0 370 y(prop)q(erties)e(of)f(a)g(set)g FB(S)i FH(from)e(a)g(randomly)h(c)o (hosen)e(subset)h(of)h FB(S)s FH(.)25 b(This)19 b(tec)o(hnique)e(is)i (usually)g(called)0 442 y(\\random)12 b(sampling.")22 b(As)12 b(a)g(simple)g(example,)g(consider)g(a)g(set)f FB(S)j FH(of)e FB(n)g FH(real)g(n)o(um)o(b)q(ers,)f(and)h(a)g(randomly)0 514 y(c)o(hosen)i(subset)g FB(R)h FH(of)f FB(S)j FH(of)d(size)h FB(r)g FH([CS89)q(].)20 b FB(R)14 b FH(con)o(tains)h(a)g(lot)g(of)f (information)i(ab)q(out)f FB(S)s FH(.)21 b(F)l(or)14 b(example,)0 586 y(if)21 b(w)o(e)g(let)g FB(S)231 593 y Fw(>)282 586 y FH(b)q(e)g(the)f (subset)i(of)f(n)o(um)o(b)q(ers)f(in)i FB(S)i FH(that)d(are)g(greater)g(than) h(the)e(maxim)o(um)h(v)m(alue)g(in)0 658 y FB(R)p FH(,)h(then)f(the)g(exp)q (ected)f(size)h(of)h FB(S)674 665 y Fw(>)724 658 y FH(is)g FB(O)q FH(\()p FB(n=r)q FH(\).)37 b(Th)o(us)21 b(the)g(size)g(of)h FB(S)1386 665 y Fw(>)1436 658 y FH(diminishes)h(as)f(more)e(and)0 731 y(more)c(v)m(alues)g(from)g FB(S)j FH(are)d(sampled.)22 b(Similarly)l(,)17 b(the)f(exp)q(ected)e(size)i(of)h(the)e(corresp)q(onding)j (set)e FB(S)1872 738 y Fw(<)1917 731 y FH(is)0 803 y FB(O)q FH(\()p FB(n=r)q FH(\).)73 905 y(As)e(another)g(example)g(of)g(random)g (sampling,)i(consider)f(the)e(problem)i(of)f(n)o(umerically)g(computing)0 977 y(the)i(in)o(tegral)815 1060 y FB(I)h FH(=)906 1001 y Fr(Z)948 1014 y Fw(b)929 1095 y(a)973 1060 y FB(f)5 b FH(\()p FB(x)p FH(\))p FB(dx;)0 1161 y FH(using)20 b FF(Monte)g(Carlo)f(inte)n(gr)n(ation)g FH(\(not)g(to)g(b)q(e)g(confused)g(with)g(Mon)o(te)f(Carlo)i(algorithms)h (discussed)0 1233 y(in)16 b(Section)h(1.2\).)k(Assuming)c(that)f FB(f)5 b FH(\()p FB(x)p FH(\))15 b(is)i(b)q(ounded)g(b)o(y)e FB(c)p FH(,)g(for)h FB(a)e Fx(\024)f FB(x)h Fx(\024)f FB(b)p FH(,)j(this)g(is)h(accomplished)g(b)o(y)0 1306 y(\014rst)g(randomly)g(c)o(ho) q(osing)h(a)e(set)h(of)f(p)q(oin)o(ts)i(that)e(lie)h(within)h(the)e (rectangle)h(\012)f(giv)o(en)h(b)o(y)602 1421 y(\012)d(=)g Fx(f)p FH(\()p FB(x;)8 b(y)r FH(\))i Fx(j)h FB(a)i Fx(\024)h FB(x)f Fx(\024)h FB(b;)8 b FH(0)14 b Fx(\024)f FB(y)j Fx(\024)d FB(c)p Fx(g)p FB(;)0 1537 y FH(Next,)19 b(assuming)i(that)e(our)h(random)g (sample)g(con)o(tains)h FB(N)j FH(p)q(oin)o(ts,)d(determine)e(the)g(n)o(um)o (b)q(er)g FB(N)1858 1544 y Fw(H)1911 1537 y FH(of)0 1609 y(these)13 b(p)q(oin)o(ts)i(\(the)f(\\hit)g(p)q(oin)o(ts"\))i(that)e(lie)g(b)q(eneath)g (the)f(curv)o(e.)20 b(Then)13 b(the)h(desired)g(in)o(tegral)h FB(I)t FH(,)e(whic)o(h)0 1681 y(is)k(equal)g(to)f(the)g(area)h(under)f(the)g (curv)o(e)f(within)j(the)e(b)q(ounding)i(rectangle)f(\012,)f(is)h(appro)o (ximated)g(b)o(y)784 1806 y FB(I)31 b Fx(\031)d FB(c)p FH(\()p FB(b)10 b Fx(\000)h FB(a)p FH(\))1075 1772 y FB(N)1114 1779 y Fw(H)p 1075 1794 73 2 v 1089 1840 a FB(N)1152 1806 y(;)0 1921 y FH(i.e.,)h(the)g(fraction)h(of)f(hit)h(p)q(oin)o(ts)g(in)g(our)f (random)h(sample)g(m)o(ultiplied)g(b)o(y)f(the)g(area)g(of)h(\012)f(\(see)g (Figure)g(1\).)0 1994 y(The)23 b(error)f(in)i(the)e(computation)i(dep)q(ends) f(on)h(the)e(n)o(um)o(b)q(er)g(of)h(p)q(oin)o(ts)h(c)o(hosen.)41 b(The)23 b(larger)g(the)0 2066 y(random)f(sample,)h(the)e(less)h(lik)o(ely)g (it)g(is)h(that)f(the)f(computed)g(area)h(di\013ers)g(signi\014can)o(tly)i (from)d(the)0 2138 y(correct)16 b(answ)o(er.)73 2240 y(Note)f(that)h(for)f (the)g(computation)i(of)f(ordinary)g(in)o(tegrals)h(with)f(\\w)o(ell)h(b)q (eha)o(v)o(ed")e(in)o(tegrands,)h(one)0 2312 y(is)21 b(b)q(etter)g(o\013)g (e\016ciency-wise)f(and)i(accuracy-wise)f(using)h(traditional)h(n)o(umerical) e(tec)o(hniques)f(suc)o(h)0 2385 y(as)f(the)g(trap)q(ezoidal)h(and)f (Simpson's)h(rules.)29 b(Mon)o(te)18 b(Carlo)i(in)o(tegration)g(b)q(ecomes)f (attractiv)o(e)f(if)h(the)0 2457 y(function)e(fails)h(to)f(b)q(e)f(regular)h (whic)o(h)g(is)g(often)f(the)g(case)g(for)h(m)o(ultidimensional)i(in)o (tegrals)f([Rub81].)73 2559 y(A)g(more)g(in)o(v)o(olv)o(ed)g(use)g(of)h (random)g(sampling)h(will)g(b)q(e)e(seen)g(in)h(Rabin's)g([Rab76)q(])f (algorithm)i(for)0 2631 y(the)15 b(nearest)g(neigh)o(b)q(ors)i(problem)e(\()p FF(Ne)n(arNeb)s FH(\).)22 b(Here)14 b(the)h(distance)g FB(\016)i FH(separating)g(the)e(closest)h(pair)g(of)0 2704 y(p)q(oin)o(ts)j(in)f(a)f (giv)o(en)h(set)f FB(S)s FH(,)g(is)h(deduced)f(from)g(a)g(random)h(subset)g (of)g FB(S)i FH(con)o(taining)f FB(n)1625 2672 y Fq(2)p 1625 2678 16 2 v 1625 2698 a(3)1665 2704 y FH(of)e(the)g(p)q(oin)o(ts.)951 2828 y(12)p eop bop 405 154 a 17997903 14938257 9209446 26970521 28943974 43415961 startTexFig 405 154 a %%BeginDocument: monte.ps md begin T T -226 -218 5534 4232 55 288 288 1 F F F F T T T psu (Mac SE; document: scottfig-Layer#1)jn 0 mf od op 0 0 xl 1 1 pen 0 0 gm (nc 0 0 5308 4014 6 rc)kp 0 setlinecap currentscreen 3 1 roll pop pop 60 45 3 -1 roll setscreen 676 944 gm pr 676 944 pl 743 961 pl 743 944 pl 743 927 pl 676 944 pl 1 ep 8 8 pen 739 940 gm 2404 940 lin 1528 1970 gm 6.62890 0 rmoveto 1 setTxMode 1 fs bu fc {}mark T /Helvetica-Bold /|______Helvetica-Bold 0 rf bn 96 fz bu fc 2 F /|______Helvetica-Bold fnt bn (miss)show 2408 2956 gm 0 gr pr 2408 2956 pl 2425 2889 pl 2408 2889 pl 2391 2889 pl 2408 2956 pl 1 ep 2404 2885 gm 2404 940 lin 1256 1492 gm 2400 1492 lin 1248 2664 gm 2392 2664 lin 1248 1492 gm 1248 2664 lin 2216 2418 gm 5.37109 0 rmoveto 1 setTxMode (hit)show 0 gr 2240 2412 2276 2446 1 ov 2240 2412 2276 2446 0 ov 2504 1481 gm 1 setTxMode 2 fs bu fc {}mark T /Times-Italic /|______Times-Italic 0 rf bn 72 fz bu fc 2 F /|______Times-Italic fnt bn (a)show 2504 2650 gm (b)show 2224 1660 gm 0.02050 0 rmoveto (I)show 2144 2010 gm 4.06054 0 rmoveto (f\(x\))show 1276 781 gm (c)show 0 0 2 9 9 2 dh 1252 948 gm 0 gr 1252 1492 lin rh 856 786 gm 2.02148 0 rmoveto 1 setTxMode (y)show 2496 2950 gm 2.02148 0 rmoveto (x)show 0 gr 1706 1496 2262 2132 180 270 0 ar 1706 1658 1733 1950 270 360 0 ar 1808 2181 1842 2443 90 180 0 ar 1781 2141 1842 2427 0 90 0 ar 1604 2603 1635 2738 180 270 0 ar 1852 2096 gm pr 1852 2096 pl 1919 2113 pl 1919 2096 pl 1919 2079 pl 1852 2096 pl 1 ep 2032 2092 gm 1915 2092 lin 2 setlinecap 0 0 pen 1720 1967 gm 1720 1967 lin nc ct 39 0 put 8 8 pen 1714 1936 gm bp 1720 1967 F qi 1752 2047 qc 1783 2102 qc 1798 2116 F qq ef 1 ec (nc 0 0 5308 4014 6 rc)kp 0 setlinecap 2 setlinecap 0 0 pen 1830 2184 gm 1830 2184 lin nc ct 39 0 put 8 8 pen 1833 2200 gm bp 1830 2184 F qi 1815 2144 qc 1799 2117 qc 1792 2110 F qq ef 1 ec (nc 0 0 5308 4014 6 rc)kp 0 setlinecap 2 setlinecap 0 0 pen 1620 2589 gm 1620 2589 lin nc ct 39 0 put 8 8 pen 1614 2606 gm bp 1620 2589 F qi 1655 2546 qc 1690 2517 qc 1706 2509 F qq ef 1 ec (nc 0 0 5308 4014 6 rc)kp 0 setlinecap 2 setlinecap 0 0 pen 1725 2503 gm 1725 2503 lin nc ct 39 0 put 8 8 pen 1706 2509 gm bp 1725 2503 F qi 1775 2470 qc 1808 2437 qc 1818 2422 F qq ef 1 ec (nc 0 0 5308 4014 6 rc)kp 0 setlinecap 1396 1970 1432 2004 1 ov 1396 1970 1432 2004 0 ov 1672 1587 gm 2.35839 0 rmoveto 1 setTxMode 3 fs bu fc {}mark T /Helvetica-BoldOblique /|______Helvetica-BoldOblique 0 rf bn bu fc 2 F /|______Helvetica-BoldOblique fnt bn currentfont SwToSym (W)show setfont F T cp cd end %%EndDocument 405 154 a endTexFig 0 1214 a FH(Figure)18 b(1:)23 b(Graphical)c(depiction)f(of)f(Mon)o(te)g (Carlo)h(in)o(tegration)h(from)e([Rub81)q(]:)22 b(\012)17 b(is)h(the)f(b)q (ounding)0 1286 y(rectangle;)e FB(I)t FH(,)g(the)f(desired)i(in)o(tegral,)g (is)f(the)g(area)g(under)g(the)g(curv)o(e;)f(sample)h(p)q(oin)o(ts)i(ab)q(o)o (v)o(e)d(the)h(curv)o(e)0 1358 y(are)h(misses)h(and)g(those)g(b)q(elo)o(w)g (are)f(hits.)0 1483 y(The)j(exp)q(ected)e(running)j(time)f(of)f(this)i (algorithm)h(is)e(b)q(etter)f(than)h(an)o(y)g(kno)o(wn)g(deterministic)g (algo-)0 1555 y(rithm,)d(under)g(certain)h(reasonable)h(assumptions.)0 1759 y FC(Symmetry)23 b(Breaking)p FH(|There)f(are)g(certain)h(problems)g(in) g(distributed)g(computing,)h(in)f(partic-)0 1831 y(ular,)i(problems)e(in)g (whic)o(h)g(pro)q(cesses)h(m)o(ust)e(reac)o(h)g(some)g(sort)i(of)f(agreemen)o (t,)f(that)i(do)f FF(not)g FH(ha)o(v)o(e)0 1904 y(deterministic)14 b(solutions.)23 b(This)15 b(dilemma)f(surfaces)g(when)f(pro)q(cesses)h(b)q (eha)o(v)o(e)f(in)h(a)g(deterministic)g(and)0 1976 y(iden)o(tical)21 b(fashion,)h(without)f(making)g(an)o(y)f(concessions)h(to)o(w)o(ard)f(the)g (goal)i(of)e(reac)o(hing)g(agreemen)o(t.)0 2048 y(By)15 b(in)o(tro)q(ducing)k (randomization)f(in)o(to)f(the)f(b)q(eha)o(vior)h(of)f(the)g(pro)q(cesses)h (themselv)o(es,)e(these)h(patterns)0 2120 y(of)h(iden)o(tical)g(or)g (\\symmetric")f(b)q(eha)o(vior)h(can)f(b)q(e)h(brok)o(en,)e(thereb)o(y)g (leading)j(to)f(agreemen)o(t.)73 2223 y(F)l(or)d(example)f(consider)i(the)e (\\narro)o(w)i(do)q(or")g(problem)f(in)h(whic)o(h)f(t)o(w)o(o)f(p)q(eople)i (are)f(trying)g(to)g(exit)g(a)0 2295 y(ro)q(om)g(through)h(a)f(do)q(or)g (that)g(at)g(most)g(one)f(p)q(erson)h(can)g(squeeze)e(through)j(at)f(a)f (time.)21 b(If)13 b(b)q(oth)h(p)q(ersons)0 2367 y(react)j(to)g(a)g(collision) j(at)d(the)g(do)q(or)h(b)o(y)f(bac)o(king)g(up)g(t)o(w)o(o)g(feet)f(and)i (retrying)f(after)g(\014v)o(e)f(seconds,)h(then)0 2439 y(an)j(initial)i (collision)h(could)e(conceiv)m(ably)f(result)g(in)h(a)f(nev)o(er-ending)f (succession)i(of)f(collisions,)j(with)0 2512 y(neither)16 b(part)o(y)h(ev)o (er)e(succeeding)h(in)h(lea)o(ving)h(the)e(ro)q(om.)23 b(A)16 b(distributed)h(algorithm)i(that)d(guaran)o(tees)0 2584 y(with)f(probabilit)o (y)h(1)e(that)g(someone)g(will)i(ev)o(en)o(tually)d(b)q(e)h(able)h(to)f(lea)o (v)o(e)f(the)h(ro)q(om)g(w)o(ould)h(require)f(eac)o(h)0 2656 y(participan)o(t)j(to)f(w)o(ait)h(a)f(randomly)g(distributed)h(amoun)o(t)f (of)g(time)g(after)g(eac)o(h)f(collision)j(b)q(efore)e(trying)951 2828 y(13)p eop bop 0 195 a FH(again.)32 b(This)20 b(essen)o(tially)h(describ)q(es)e(the)g (hardw)o(are)h(proto)q(col)h(for)f(the)e(Ethernet.)30 b(Other)19 b(examples)0 267 y(of)h(symmetry)f(breaking)i(include)g(the)f(dining)i (philosophers)g(problem)f(\()p FF(DinPhil)5 b FH(\),)21 b(comm)o(unication)0 340 y(guard)c(sc)o(heduling)h(\()p FF(CommGuar)n(d)5 b FH(\),)14 b(and)j(leader)f(election)h(\()p FF(L)n(e)n(adEle)n(ct)5 b FH(\).)0 551 y Fu(1.2)70 b(T)-6 b(radeo\013s)0 686 y FH(T)l(radeo\013s)23 b(are)f(often)g(in)o(v)o(olv)o(ed)g(in)g(the)g(use)g(of)g(randomized)g (algorithms.)40 b(Bene\014ts)22 b(to)g(b)q(e)g(reap)q(ed)0 758 y(b)o(y)17 b(in)o(tro)q(ducing)j(randomization)f(in)o(to)g(algorithms)g (include,)g(in)f(the)f(sequen)o(tial)i(case,)e(reductions)h(in)0 830 y(time)k(complexit)o(y)g(\(e.g.,)h FF(PrimeT)l(est)5 b FH(,)23 b FF(So)n(ckSel)5 b FH(,)25 b(and)e FF(Ne)n(arNeb)s FH(\))g(and)g(in)g(space)f(complexit)o(y)g(\(e.g.,)0 902 y FF(PerfHash)t FH(\).)73 1005 y(In)f(the)g(distributed)h(case,)g(reductions)g (in)g(comm)o(unication)f(complexit)o(y)g(\(e.g.,)g FF(ByzA)n(gr)n(e)n(e)t FH(\))f(and)0 1077 y(queueing)15 b(dela)o(y)g(\(e.g.,)f FF(MsgR)n(oute)t FH(\))g(can)h(b)q(e)g(obtained,)g(and)h(an)f(algorithm's)h(resiliency)g(to)f (faults)h(can)0 1149 y(b)q(e)f(impro)o(v)o(ed)g(\(e.g.,)f FF(MsgR)n(oute)t FH(\).)21 b(P)o(erhaps)15 b(an)h(ev)o(en)e(more)h(fundamen)o(tal)h(b)q (ene\014t)f(of)h(randomization)0 1221 y(in)e(the)f(distributed)i(setting)f (is)g(the)g(abilit)o(y)h(to)e(solv)o(e)h(problems)g(that)g(ha)o(v)o(e)f(no)g (deterministic)h(solutions)0 1294 y(\(e.g.,)h FF(DinPhil)5 b FH(,)16 b FF(CommGuar)n(d)5 b FH(,)15 b(and)h FF(L)n(e)n(adEle)n(ct)5 b FH(\).)73 1396 y(In)12 b(addition)i(to)e(these)f(gains,)j(a)e(randomized)h (algorithm)g(is)g(almost)g(alw)o(a)o(ys)g(simpler)f(to)g(understand)0 1468 y(and)17 b(easier)f(to)g(implemen)o(t)g(than)g(its)h(deterministic)g (coun)o(terpart.)k(This)c(is)g(p)q(erhaps)g(b)q(est)f(illustrated)0 1540 y(b)o(y)j(L\023)-24 b(ov\023)g(asz's)20 b(probabilistic)i(algorithm)g (for)d(p)q(erfect)g(matc)o(hing)h(discussed)g(earlier.)32 b(As)19 b(w)o(e)g(will)i(see,)0 1612 y(conceptual)c(elegance)g(and)h(simplicit)o(y)g (are)f(a)g(hallmark)h(of)f(all)h(the)f(randomized)g(algorithms)i(treated)0 1685 y(in)c(this)g(surv)o(ey)l(.)k(In)14 b(an)g(age)h(of)f(rising)i(soft)o(w) o(are)e(complexit)o(y)g(and)h(cost,)f(the)g(simplicit)o(y)h(of)f(randomized)0 1757 y(algorithms)k(will)h(b)q(e)d(a)h(k)o(ey)e(determining)i(factor)f(in)h (their)g(acceptance)e(b)o(y)h(the)g(soft)o(w)o(are)g(comm)o(unit)o(y)l(.)73 1859 y(T)l(o)i(pro\014t)h(from)e(the)g(use)h(of)g(randomization,)i(one)e(m)o (ust)f(often)h(sacri\014ce)g(the)f(traditional)k(notion)0 1931 y(of)g(absolute)g(program)h(correctness)e(for)g(a)h(notion)h(of)f(\\correct)f (with)h(probabilit)o(y)h(1)14 b Fx(\000)g FB(\017)p FH(.")34 b(F)l(or)20 b(the)0 2004 y(distributed)e(algorithms)h FF(DinPhil)5 b FH(,)17 b FF(CommGuar)n(d)5 b FH(,)15 b(and)i FF(ByzA)n(gr)n(e)n(e)f FH(the)h FB(\017)f FH(is)i(zero,)e(so)i(w)o(e)e(ha)o(v)o(e)g(ev)o(en-)0 2076 y(tual)k(agreemen)o(t)f(with)h(probabilit)o(y)i(1.)31 b(In)19 b(other)h(cases,)g(suc)o(h)f(as)h FF(PrimeT)l(est)5 b FH(,)21 b(the)e FB(\017)g FH(can)h(b)q(e)f(made)0 2148 y(exp)q(onen)o (tially)i(small)h(in)e(the)g(length)h(of)f(the)g(input)g(b)o(y)g(iterating)h (the)f(algorithm)i(some)e(n)o(um)o(b)q(er)f(of)0 2220 y(times.)j(The)17 b(b)q(eaut)o(y)f(of)h(these)f(algorithms)j(is)f(that)f(usually)h(only)f(a)g (small)h(n)o(um)o(b)q(er)e(of)h(iterations)h(are)0 2293 y(required)e(to)h (establish)h(a)e(v)o(ery)f(high)j(degree)e(of)g(con\014dence)g(in)h(their)f (output.)73 2395 y(Another)24 b(p)q(oten)o(tial)i(problem)e(with)h (randomized)g(algorithms)h(is)f(that)f(sometimes)g(there)g(is)h(a)0 2467 y(small)c(probabilit)o(y)g(of)f(taking)h(an)f(inordinate)h(amoun)o(t)f (of)g(time)f(to)h(execute)e(\(e.g.,)h FF(Ne)n(arNeb)s FH(\))h(or)g(of)0 2539 y(ev)o(en)15 b(failing)k(to)d(halt)i(\(e.g.,)d FF(L)n(e)n(adEle)n(ct)5 b FH(\).)73 2641 y(Analogous)14 b(to)e(the)f(space-time)g(tradeo\013)i (inheren)o(t)e(to)h(deterministic)g(sequen)o(tial)g(algorithms,)i(with)951 2828 y(14)p eop bop 0 195 a FH(randomized)24 b(algorithms,)k(there)23 b(is)i(a)f(tradeo\013)h (in)o(v)o(olving)g(resource)e(requiremen)o(ts)g(and)i(absolute)0 267 y(correctness.)40 b(In)23 b(fact,)h(this)f(tradeo\013)h(has)f(led)h(to)f (the)f(distinction)j(of)e(t)o(w)o(o)g(t)o(yp)q(es)f(of)h(randomized)0 340 y(algorithms:)f FF(Monte)14 b(Carlo)f FH(algorithms)i(are)e(alw)o(a)o(ys) g(fast)g(and)h(probably)g(correct,)e(whereas)h FF(L)n(as)g(V)l(e)n(gas)0 412 y FH(algorithms)19 b(are)f(probably)g(fast)g(and,)g(up)q(on)g (termination,)g(alw)o(a)o(ys)g(correct.)24 b(Las)18 b(V)l(egas)f(algorithms,) 0 484 y(ho)o(w)o(ev)o(er,)h(ma)o(y)h(fail)i(to)e(terminate)g(for)h(some)f (inputs.)31 b(F)l(or)20 b(example,)f(the)g(algorithm)i(for)f(primalit)o(y)0 556 y(testing)c(\()p FF(PrimeT)l(est)5 b FH(\))15 b(is)i(of)e(the)g(Mon)o(te) g(Carlo)h(v)m(ariet)o(y)l(,)f(while)i(the)e(algorithm)i(for)e(nearest)h (neigh)o(b)q(ors)0 628 y(\()p FF(Ne)n(arNeb)s FH(\))h(is)g(of)f(the)g(Las)i (V)l(egas)e(v)m(ariet)o(y)l(.)73 731 y(If)j(a)i(purp)q(orted)f(solution)i(to) e(a)h(problem)f(is)g(easily)h(v)o(eri\014able)g(then)e(a)h(Mon)o(te)g(Carlo)h (algorithm)0 803 y FF(MC)f FH(for)14 b(it)g(can)g(b)q(e)f(con)o(v)o(erted)g (in)o(to)h(a)g(Las)g(V)l(egas)g(algorithm)h(b)o(y)e(simply)i(rep)q(eating)f FF(MC)21 b FH(till)15 b(a)f(correct)0 875 y(solution)21 b(is)e(found.)29 b(Similarly)l(,)21 b(an)o(y)d(Las)i(V)l(egas)f(algorithm)i FF(L)-5 b(V)18 b FH(can)h(b)q(e)g(trivially)h(con)o(v)o(erted)d(in)o(to)j(a)0 947 y(Mon)o(te)c(Carlo)j(algorithm:)24 b(one)17 b(can)g(alw)o(a)o(ys)h (return)f(a)g(wrong)h(answ)o(er)f(\(e\016cien)o(tly!\))22 b(if)c FF(L)-5 b(V)16 b FH(seems)h(to)0 1020 y(b)q(e)i(taking)h(to)q(o)h(long.)31 b(Since)19 b FF(L)-5 b(V)19 b FH(is)h(fast)f(with)h(high)h(probabilit)o(y)l (,)g(the)e(mo)q(di\014ed)h(algorithm)h(will)g(b)q(e)0 1092 y(correct)16 b(with)h(high)g(probabilit)o(y)l(.)73 1194 y(The)j(Karp-Rabin)h (string)g(matc)o(hing)f(algorithm)h(describ)q(ed)f(ab)q(o)o(v)o(e)g(is)g(a)g (go)q(o)q(d)h(example)f(of)g(ho)o(w)0 1266 y(to)h(con)o(v)o(ert)e(a)i(Mon)o (te)f(Carlo)j(algorithm)f(in)o(to)f(a)g(Las)h(V)l(egas)f(algorithm:)32 b(the)20 b(k)o(ernel)g(of)h(the)f(Karp-)0 1339 y(Rabin)i(algorithm)h(will,)g (from)e(time)g(to)g(time,)g(rep)q(ort)h(spurious)g(matc)o(hes.)35 b(By)20 b(\014rst)h(c)o(hec)o(king)f(if)i(a)0 1411 y(purp)q(orted)16 b(matc)o(h)f(is)i(a)f(v)m(alid)h(matc)o(h,)e(the)g(Karp-Rabin)i(algorithm)h (alw)o(a)o(ys)e(giv)o(es)g(a)g(correct)f(answ)o(er.)0 1483 y(Muth)o(ukrishnan)i([Mut93])f(giv)o(es)g(an)h(e\016cien)o(t)e(parallel)k (algorithm)f(for)e(exactly)g(this)i(problem.)73 1585 y(In)f([BB88)o(],)f(Las) i(V)l(egas)f(algorithms)i(p)q(ossessing)g(b)q(ounded)f(time)e(requiremen)o (ts)g(are)h(called)g FF(Sher-)0 1657 y(wo)n(o)n(d)i FH(algorithms.)33 b(Randomized)19 b(quic)o(ksort)h(is)g(an)g(example)f(of)h(a)g(Sherw)o(o)q(o)q (d)h(algorithm.)32 b(It)19 b(tak)o(es)0 1730 y(at)h(most)f FB(O)q FH(\()p FB(n)271 1712 y FI(2)291 1730 y FH(\))g(time)g(on)h(an)o(y)f (problem)h(instance.)30 b(Note)19 b(that)h(a)f(Las)i(V)l(egas)e(algorithm)i (that)f(ma)o(y)0 1802 y(p)q(ossibly)f(not)d(terminate)g(\(e.g.,)f FF(L)n(e)n(adEle)n(ct)5 b FH(\),)16 b(cannot)h(b)q(e)f(a)h(Sherw)o(o)q(o)q(d) g(algorithm.)0 2044 y FK(2)83 b(Sequen)n(tial)28 b(Randomized)e(Algorithms)0 2196 y FH(In)14 b(the)h(\014rst)f(part)h(of)g(this)h(surv)o(ey)l(,)d(w)o(e)h (presen)o(t)g(sev)o(en)g(sequen)o(tial)h(randomized)g(algorithms.)23 b(The)15 b(\014rst)0 2268 y(algorithm)j(\()p FF(So)n(ckSel)5 b FH(\))18 b(is)e(a)h(simple)f(illustratio)q(n)j(of)d(the)f(input)i (randomization)h(tec)o(hnique.)j(The)16 b(next)0 2340 y(three)h(algorithms)j (\()p FF(PrimeT)l(est)5 b FH(,)17 b FF(NetHier)n(ar)n(chy)t FH(,)h(and)g FF(PerfHash)t FH(\))f(illustrate)j(the)d(p)q(o)o(w)o(er)h(of)f (random)0 2412 y(searc)o(h.)i(W)l(e)11 b(then)g(giv)o(e)h(an)f(example)g(of)h (con)o(trol)g(strategy)f(randomization)j(\()p FF(UnivHash)t FH(\).)20 b(W)l(e)11 b(conclude)0 2484 y(this)17 b(section)g(with)g(a)g (randomized)g(algorithm)h(that)e(uses)h(random)g(sampling)h(\()p FF(Ne)n(arNeb)s FH(\).)951 2828 y(15)p eop bop 0 195 a Fu(2.1)70 b(The)22 b(So)r(c)n(k)h(Selection)f(Problem)0 330 y FH(In)17 b(this)i(section,)e(w)o(e)h(pro)o(vide)f(a)h(randomized)g (solution)i(to)e(the)f(So)q(c)o(k)g(Selection)i(problem)e(\()p FF(So)n(ckSel)5 b FH(\).)0 402 y(This)13 b(problem,)g(although)g(somewhat)g (con)o(triv)o(ed,)f(illustrates)i(the)d(tec)o(hnique)g(of)h(input)h (randomization)0 474 y(in)k(a)g(simple)g(manner.)k(It)15 b(also)j(b)q(ears)f (connections)g(with)h(certain)e(resource)g(allo)q(cation)k(problems.)73 576 y(Consider)f(a)e(dresser)g(dra)o(w)o(er)g(of)h(2)p FB(n)g FH(so)q(c)o(ks,)f(half)h(of)g(whic)o(h)f(are)h(red)f(and)g(half)i(of)e(whic)o (h)h(are)f(blue.)0 648 y(P)o(erson)e(X)f(has)i(just)f(a)o(w)o(ok)o(en)f(and)i (is)f(in)h(dire)f(need)f(of)i(a)f(matc)o(hing)g(pair)h(of)f(so)q(c)o(ks;)g(a) h(matc)o(hing)f(pair)h(of)0 721 y(either)i(color)h(will)h(do.)27 b(In)18 b(his)h(elusiv)o(e)f(searc)o(h)g(for)g(this)h(holy)g(grail,)h(p)q (erson)e(X)g(randomly)h(extracts)f(a)0 793 y(so)q(c)o(k)c(at)h(a)f(time)g (from)g(the)g(dra)o(w)o(er,)g(and)g(ma)o(y)g(also)i(thro)o(w)e(so)q(c)o(ks)g (a)o(w)o(a)o(y)g(\(one)g(at)h(a)f(time\))g(if)h(he)f(b)q(eliev)o(es)0 865 y(he)k(has)g(no)g(use)g(for)g(them.)26 b(He)17 b(is)h(not)g(allo)o(w)o (ed)h(to)g(put)f(a)g(so)q(c)o(k)g(bac)o(k)f(in)h(the)g(dra)o(w)o(er.)25 b(The)18 b(question)0 937 y(is,)f(then:)22 b(Ho)o(w)16 b(man)o(y)g(so)q(c)o (ks)h(need)f(p)q(erson)i(X)e(remo)o(v)o(e)f(from)h(the)h(dra)o(w)o(er)f(b)q (efore)h(a)g(matc)o(hing)g(pair)g(is)0 1010 y(obtained?)73 1112 y(If)i(there)g(is)h(no)g(limit)g(to)g(the)f(n)o(um)o(b)q(er)f(of)i(so)q (c)o(ks)g(p)q(erson)g(X)f(can)g(ha)o(v)o(e)g(in)g(his)i(p)q(ossession)g(at)f (an)o(y)0 1184 y(one)e(time,)g(then)g(the)g(problem)h(is)g(trivial.)28 b(He)18 b(simply)h(remo)o(v)o(es)e(three)g(so)q(c)o(ks)i(from)f(the)g(dra)o (w)o(er)f(and)0 1256 y(discards)i(the)e(so)q(c)o(k)h(that)g(is)g(not)g (needed.)25 b(Since)17 b(t)o(w)o(o)h(so)q(c)o(ks)g(out)g(of)g(three)f(m)o (ust)g(b)q(e)h(the)f(same)g(color,)0 1328 y(this)g(pro)q(cedure)f(will)j (terminate)d(in)h(constan)o(t)f(time.)73 1431 y(The)k(problem)g(b)q(ecomes)f (more)g(in)o(teresting)i(if)f(p)q(erson)g(X)f(can)h(ha)o(v)o(e)f(in)h(his)h (p)q(ossession)h(at)e(most)0 1503 y(t)o(w)o(o)f(so)q(c)o(ks)g(at)h(an)o(y)f (one)g(time,)g(and)h(this)g(is)g(the)f(so)q(c)o(k)g(selection)h(problem)f(w)o (e)g(study)l(.)30 b(The)19 b(simplest)0 1575 y(deterministic)f(solution,)i (whic)o(h)e(is)h(basically)h(a)e(sequen)o(tial)g(searc)o(h)g(through)h(the)e (sequence)g(of)h(so)q(c)o(ks)0 1647 y(extracted)d(from)i(the)f(dra)o(w)o(er,) f(is)i(as)g(follo)o(ws.)0 1813 y Fy(So)n(ckSel1)29 b Fp(f)23 b Fo(\(*)h(First)f(Try)g(at)h(Sock)f(Selection)g(*\))119 1898 y(s1)h(:=)f(get-sock\(\))119 1982 y(s2)h(:=)f(get-sock\(\))119 2067 y(WHILE)g(color-of\(s1\))g Fn(<>)h Fo(color-of\(s2\))f(DO)g Fp(f)239 2152 y Fo(discard-sock\(s2\))239 2237 y(s2)g(:=)h(get-sock\(\))119 2321 y Fp(g)g Fo(\(*)f(end)h(while)f(*\))0 2406 y Fp(g)73 2559 y FH(It)18 b(is)h(not)g(di\016cult)g(to)f(see)g(that)h(in)g(the)f(w)o(orst)g (case)h(this)g(algorithm)h(will)g(tak)o(e)e FB(O)q FH(\()p FB(n)p FH(\))h(time.)27 b(The)0 2631 y(w)o(orst)14 b(case)g(b)q(eha)o(vior)h (is)f(manifest)h(when)e(the)h(sequence)f(of)h(so)q(c)o(ks)g(returned)f(b)o(y) g FG(get-sock\(\))d FH(is)15 b(either)0 2704 y FB(r)q(ed)p FH(,)d FB(bl)q(ue)p FH(,)f FB(bl)q(ue)p FH(,)g(.)d(.)g(.)g FB(;)j(bl)q(ue)p FH(,)g FB(r)q(ed)h FH(or)g FB(bl)q(ue)p FH(,)f FB(r)q(ed)p FH(,)h FB(r)q(ed)p FH(,)g(.)c(.)g(.)g FB(;)j(r)q(ed)p FH(,)i FB(bl)q(ue)p FH(,)d(where)i(the)f(n)o(um)o(b)q(er)g(of)h(in)o(terv)o (ening)951 2828 y(16)p eop bop 0 195 a FH(so)q(c)o(ks)15 b(of)f(opp)q(osite)i(color)g(is)f FB(O)q FH(\()p FB(n)p FH(\).)21 b(In)14 b(fact)h(w)o(e)f(can)g(mak)o(e)g(a)g (stronger)h(statemen)o(t:)20 b FF(any)14 b FH(deterministic)0 267 y(algorithm)k(will)g(ha)o(v)o(e)e FB(O)q FH(\()p FB(n)p FH(\))h(w)o(orst)f(case)h(running)g(time.)73 370 y(The)g(ab)q(o)o(v)o(e)g (\\w)o(orst)h(case")f(sequences)g(of)g(so)q(c)o(ks)g(returned)g(b)o(y)f FG(get-sock\(\))e FH(capture)j(the)f(dra)o(w)o(er)0 442 y(in)24 b(an)g(adv)o(ersarial)h(role)f(with)g(resp)q(ect)f(to)h(p)q(erson)g(X.)e(F)l (or)i(most)f(of)h(the)f(sequences)g(returned)g(b)o(y)0 514 y FG(get-sock\(\))o FH(,)13 b(ho)o(w)o(ev)o(er,)h(the)h(while-lo)q(op)k(will) f(terminate)e(b)q(efore)f FB(n)h FH(steps.)22 b(Th)o(us)16 b(it)g(is)g(reasonable)i(to)0 586 y(an)o(ticipate)f(that)f(the)g(a)o(v)o (erage)g(running)h(time)f(of)g FF(So)n(ckSel1)25 b FH(is)17 b(m)o(uc)o(h)e(less)h(than)h FB(O)q FH(\()p FB(n)p FH(\).)22 b(This)17 b(suggests)0 658 y(the)f(randomized)h(algorithm)h FF(So)n(ckSel2)7 b FH(,)17 b(an)g(impro)o(v)o(ed)f(v)o(ersion)g(of)h FF(So)n(ckSel1)7 b FH(.)0 825 y Fy(So)n(ckSel2)29 b Fp(f)23 b Fo(\(*)h(Revised)f(Sock)g(Selection)g(Algorithm)f(*\))114 910 y(s1)h(:=)h(get-sock\(\))114 995 y(s2)f(:=)h(get-sock\(\))114 1079 y(WHILE)f(color-of\(s1\))f Fn(<>)j Fo(color-of\(s2\))d(DO)h Fp(f)227 1164 y Fo(toss)h(a)f(perfect)g(two-sided)g(coin)227 1249 y(IF)h(heads)f(THEN)g Fp(f)341 1333 y Fo(discard-sock\(s1\))341 1418 y(s1)g(:=)h(get-sock\(\))p Fp(g)227 1503 y Fo(ELSE)g Fp(f)341 1588 y Fo(discard-sock\(s2\))341 1672 y(s2)f(:=)h(get-sock\(\))p Fp(g)114 1757 y(g)f Fo(\(*)h(end)f(while)g(*\))0 1842 y Fp(g)73 1996 y FH(Here)17 b(w)o(e)g(assume)h(that)g(the)g(dra)o(w)o(er)f(do)q(es)i (not)f(kno)o(w)g(the)f(random)h(c)o(hoices)g(made)g(b)o(y)f FF(So)n(ckSel2)7 b FH(,)0 2068 y(i.e.,)16 b(the)i(coin)g(tosses)g(are)f FF(private)p FH(.)665 2050 y FI(4)710 2068 y FH(This)h(assumption)h(is)f (critical)h(for,)e(without)i(it,)f(the)f(dra)o(w)o(er)g(can)0 2140 y(force)g FF(So)n(ckSel2)i FH(in)o(to)e(long)i FB(O)q FH(\()p FB(n)p FH(\)-step)f(executions.)24 b(Ev)o(en)16 b(w)o(orse,)h(if)h (the)f(coin)h(tosses)f(are)h(public,)g(an)0 2213 y(adv)o(ersarial)g(dra)o(w)o (er)e(can)g(force)g(p)q(erson)i(X)e(to)g(end)h(up)f(with)h(a)g(mismatc)o (hing)g(pair)h(of)e(so)q(c)o(ks)h(after)f(the)0 2285 y(dra)o(w)o(er)g(has)h (b)q(een)f(emptied.)73 2387 y(The)h(w)o(a)o(y)g FF(So)n(ckSel2)i FH(is)f(form)o(ulated)g(ab)q(o)o(v)o(e,)f(the)g(latter)h(problem)f(do)q(es)h (not)g(completely)f(go)h(a)o(w)o(a)o(y)0 2459 y(ev)o(en)13 b(when)h(the)f(coin)i(tosses)f(are)g(hidden)g(from)g(the)g(dra)o(w)o(er:)19 b(with)c(probabilit)o(y)h(that)e(is)g(exp)q(onen)o(tially)p 0 2503 780 2 v 56 2533 a FE(4)75 2548 y FD(F)m(or)k(a)g(discussion)j(of)d (priv)n(ate)h(vs.)32 b(public)20 b(coin)f(tosses,)h(see)g(the)f(last)g (paragraph)f(of)g(Section)i(2.6)d(and)h([GS89)o(].)0 2623 y(A)f(related)h (concept)g(called)g Fm(shar)n(e)n(d)f(r)n(andomness)s FD(,)h(whic)o(h)g(is)f (w)o(eak)o(er)g(than)g(b)q(oth)g(priv)n(ate)g(and)f(public)j(coin)e(tosses,)h (is)0 2698 y(discussed)f(in)d([BDMP91)o(].)951 2828 y FH(17)p eop bop 0 195 a FH(small)17 b(in)e FB(n)p FH(,)g FF(So)n(ckSel2)i FH(can)f(return)f(a)g(mismatc)o(hed)g(pair)h(of)g(so)q(c)o(ks.)21 b FF(So)n(ckSel2)c FH(can)e(b)q(e)g(made)g(fo)q(olpro)q(of)0 267 y(b)o(y)i(emplo)o(ying)i(t)o(w)o(o)f(coun)o(ters,)g(one)g(for)g(the)g(n)o (um)o(b)q(er)f(of)h(red)g(so)q(c)o(ks)g(left)g(in)h(the)f(dra)o(w)o(er)f(and) i(one)f(for)0 340 y(the)h(n)o(um)o(b)q(er)f(of)h(blue)g(so)q(c)o(ks)g(left)g (in)h(the)e(dra)o(w)o(er.)29 b(If)18 b(it)i(\014nds)f(that)g(it)h(p)q (ossesses)g(the)f(last)h(so)q(c)o(k)e(of)i(a)0 412 y(particular)d(color,)e (then)g(it)h(should)g(immediately)g(discard)g(that)f(so)q(c)o(k.)21 b(The)15 b(next)f(call)i(to)g FG(get-sock\()o(\))0 484 y FH(will)i(return)e (a)h(matc)o(hing)g(so)q(c)o(k.)73 586 y(Assuming)i FF(So)n(ckSel2)p FH('s)h(coin)f(tosses)f(are)h(priv)m(ate,)f(a)h(viable)g(strategy)f(for)h (the)f(dra)o(w)o(er)f(is)i(to)g(ha)o(v)o(e)0 658 y FG(get-sock\(\))11 b FH(return)j(so)q(c)o(ks)h(of)g(di\013eren)o(t)f(colors)i(on)f(the)f (\014rst)h(t)o(w)o(o)f(calls)i(and)f(thereafter)f(\015ip)h(a)g(p)q(erfect)0 731 y(t)o(w)o(o-sided)g(coin)f(to)h(determine)e(the)h(color)h(of)f(the)g (next)f(so)q(c)o(k)h(to)h(return.)20 b(In)13 b(this)i(case,)f(the)g (probabilit)o(y)0 803 y(that)j(the)g(while-lo)q(op)i(will)g(b)q(e)e(executed) e FB(i)i FH(times)f(is)i(\(1)p FB(=)p FH(2\))1111 785 y Fw(i)1126 803 y FH(,)f FB(i)d Fx(\025)g FH(1,)j(and,)g(th)o(us,)f(the)h(probabilit)o(y) i(that)0 875 y FG(get-sock\(\))11 b FH(is)16 b(called)h(exactly)d(\()p FB(i)9 b FH(+)g(2\))15 b(times)g(is)h(\(1)p FB(=)p FH(2\))1060 857 y Fw(i)1075 875 y FH(.)21 b(The)15 b(exp)q(ected)g(running)h(time,)f(for) g(large)h FB(n)p FH(,)0 947 y(is)h(giv)o(en)f(b)o(y)751 987 y Fw(i)p FI(=)p Fw(n)751 1000 y Fr(X)752 1091 y Fw(i)p FI(=1)811 1041 y FH(\()p FB(i)11 b FH(+)g(2\)\(1)p FB(=)p FH(2\))1060 1021 y Fw(i)1103 1041 y Fx(\030)28 b FH(4)p FB(:)680 b FH(\(1\))73 1191 y(Notice)11 b(that)g(the)g(running)h(time)e(of)i FF(So)n(ckSel1)g FH(a)o(v)o(eraged)f(o)o(v)o(er)f(all)i(sequences)e(returned)g(b)o(y)h FG(get-sock\()o(\))0 1263 y FH(is)i(4,)g(the)f(same)g(as)h(the)f(exp)q(ected) f(running)j(time)e(of)g FF(So)n(ckSel2)j FH(for)d FF(any)g FH(input)h(sequence.)19 b(The)12 b(follo)o(wing)0 1335 y(prop)q(erties)17 b(can)g(th)o(us)f(b)q(e)g(ascrib)q(ed)i(to)e(problems)h(amenable)g(to)g (solution)h(b)o(y)e(input)h(randomization:)60 1479 y(1.)24 b(The)16 b(problem)h(should)h(ha)o(v)o(e)d(a)i(deterministic)g(algorithm)h (with)f(go)q(o)q(d)h(a)o(v)o(erage)e(running)h(time.)60 1593 y(2.)24 b(The)18 b(random)h(transformation)i(applied)f(to)f(the)f(input)h (for)g(ac)o(hieving)g(uniform)g(running)h(time)122 1665 y(for)c(all)i(the)e (inputs)i(should)f(tak)o(e)f(less)h(time)f(than)h(the)f(algorithm)i(itself.) 73 1809 y(The)h(problem)g(of)g(primalit)o(y)h(testing)f(considered)g(next)f (illustrates)j(another)e(tec)o(hnique)f(for)h(ran-)0 1881 y(domized)d (algorithms:)24 b(random)17 b(searc)o(h.)0 2093 y Fu(2.2)70 b(Primalit)n(y)24 b(T)-6 b(esting)0 2227 y FH(The)15 b(problem)h(of)f FF(primality)h(testing)h FH(is,)f(Giv)o(en)f(a)h(p)q(ositiv)o(e)g(in)o(teger) g FB(n)f FH(expressed)g(in)h(binary)g(notation,)0 2299 y(is)j FB(n)g FH(a)g(prime)f(n)o(um)o(b)q(er?)28 b(Recall)19 b(that)g(a)f(n)o(um)o (b)q(er)g FB(n)h FH(is)g(prime)f(if)h(the)f(only)i(n)o(um)o(b)q(ers)e(b)o(y)g (whic)o(h)g(it)h(is)0 2372 y(divisible)f(are)f(1)f(and)h(itself;)g (otherwise,)f FB(n)h FH(is)g(said)g(to)g(b)q(e)f FF(c)n(omp)n(osite)t FH(.)73 2474 y(Since)k(the)f(da)o(wn)g(of)h(n)o(um)o(b)q(er)e(theory)l(,)i (prime)f(n)o(um)o(b)q(ers)f(ha)o(v)o(e)h(enjo)o(y)o(ed)f(considerable)j (atten)o(tion.)0 2546 y(Despite)e(all)g(the)f(progress)h(in)g(the)f(\014eld,) g(to)h(date)f(there)g(is)h(no)f(form)o(ula)h(\(similar)h(to,)e(sa)o(y)l(,)g (Fib)q(onacci)0 2618 y(n)o(um)o(b)q(ers\))d(to)h(en)o(umerate)e(all)j(the)f (prime)f(n)o(um)o(b)q(ers.)21 b(F)l(ermat's)14 b(primes,)i(some)f(of)h(whic)o (h)g(are)g(actually)0 2691 y(not)g(prime,)g(and)g(the)g(ancien)o(t)g(Chinese) g(assertion)i(that)e FB(n)g FH(is)h(prime)e(if)i(and)f(only)h(if)f FB(n)g FH(divides)h(2)1829 2672 y Fw(n)1863 2691 y Fx(\000)10 b FH(2,)951 2828 y(18)p eop bop 0 195 a FH(are)13 b(wrong)h(results)f(whic)o(h)g(exemplify)g(the)f(m)o (ysteries)g(enshrined)i(in)f(prime)g(n)o(um)o(b)q(ers.)19 b(\(F)l(or)13 b(the)g(latter,)0 267 y(consider,)j(for)h(example,)f FB(n)e FH(=)f(341.\))73 370 y(Of)i(late)g(extremely)e(large)i(prime)g(n)o(um)o(b)q (ers)f(are)g(in)h(great)g(demand)g(b)q(ecause)g(of)f(their)h(use)g(in)g (de\014n-)0 442 y(ing)h(trap-do)q(or)h(functions)f(for)g(public)g(k)o(ey)e (cryptograph)o(y)h(systems)g([RSA78,)f(Sc)o(h84)q(,)g(GM84)q(,)h(Smi83)q(].)0 514 y(F)l(or)k(example,)g(in)h(the)f(Riv)o(est-Shamir-Adleman)h(\(or)f(RSA\)) g(cryptosystem)f([RSA78])h(the)g(k)o(eys)f(are)0 586 y(200-digit)i(n)o(um)o (b)q(ers.)k(An)16 b(encryption)i(k)o(ey)e(is)i(the)f(pro)q(duct)h(of)f(t)o(w) o(o)g(secret)g(primes,)g(ha)o(ving)h(appro)o(xi-)0 658 y(mately)f(100)h (digits)h(eac)o(h,)d(whic)o(h)h(are)g(kno)o(wn)g(only)h(to)f(the)g(creator)g (of)g(the)g(k)o(ey)l(.)22 b(The)17 b(corresp)q(onding)0 731 y(decryption)f(k)o(ey)e(is)i(computed)e(from)i(the)f(same)g(t)o(w)o(o)g (prime)g(n)o(um)o(b)q(ers)g(using)h(a)g(publicly)h(kno)o(wn)e(algo-)0 803 y(rithm.)21 b(Di\016cult)o(y)16 b(in)g(factoring)h(large)g(n)o(um)o(b)q (ers)e(is)h(at)g(heart)f(of)h(this)h(cryptosystem:)j(it)c(ensures)g(that)0 875 y(one)i(cannot)g(easily)h(deduce,)e(in)h(an)o(y)f(reasonable)j(amoun)o(t) d(of)h(time,)g(the)f(prime)h(n)o(um)o(b)q(ers)f(that)h(w)o(en)o(t)0 947 y(in)o(to)i(forming)h(the)e(publicly)i(adv)o(ertized)d(encryption)i(k)o (ey)l(.)30 b(Clearly)l(,)21 b(large)f(primes)g(are)f(essen)o(tial)i(to)0 1020 y(this)d(sc)o(heme.)j(Using)d(randomized)f(searc)o(h)f(for)h(testing)h (whether)e(a)i(giv)o(en)e(n)o(um)o(b)q(er)g(is)i(prime)f(|)f(suc)o(h)0 1092 y(a)h(test)f(can)g(b)q(e)h(used)f(for)g(generating)i(large)f(prime)f(n)o (um)o(b)q(ers)g(|)g(is)h(the)f(sub)s(ject)g(of)g(this)h(section.)73 1207 y(In)22 b(the)g(absence)g(of)h(a)g(form)o(ula,)h(a)f(plausible)h (strategy)f(for)f(generating)i(large)f(prime)g(n)o(um)o(b)q(ers)0 1291 y(migh)o(t)17 b(b)q(e:)0 1447 y Fy(GenPrime)s Fp(f)143 1532 y Fo(REPEAT)p Fp(f)285 1617 y Fo(Pick)24 b(a)f(large)h(number)f(at)g (random;)285 1701 y(Test)h(whether)f(it)g(is)h(prime;)p Fp(g)143 1786 y Fo(UNTIL)f(a)h(prime)f(number)g(of)g(desired)g(size)h(is)f(found)0 1871 y Fp(g)73 2015 y FH(The)17 b(mean)g(distance)g(b)q(et)o(w)o(een)f (primes)h(in)g(the)g(neigh)o(b)q(orho)q(o)q(d)i(of)f(a)f(n)o(um)o(b)q(er)f FB(n)h FH(is)g FB(O)q FH(\(log)11 b FB(n)p FH(\))17 b(\(see,)0 2087 y(e.g.,)i([Sc)o(h84)o(]\).)32 b(Th)o(us)20 b(w)o(e)g(do)g(not)h(ha)o(v)o (e)e(to)h(test)g(v)o(ery)f(man)o(y)g(n)o(um)o(b)q(ers)g(b)q(efore)h (\014nding)i(one)e(in)g(the)0 2159 y(desired)14 b(range.)21 b(F)l(or)14 b(example,)g(in)h(order)f(to)g(\014nd)g(a)h(prime)e(n)o(um)o(b)q (er)h(ab)q(out)h(10)1469 2141 y FI(20)1521 2159 y FH(in)f(size,)h(w)o(e)e (only)i(ha)o(v)o(e)0 2231 y(to)j(test)g(ab)q(out)i(48)f(n)o(um)o(b)q(ers.)26 b(The)18 b(catc)o(h,)g(ho)o(w)o(ev)o(er,)f(is)i(to)f(test)g(suc)o(h)g(large)h (n)o(um)o(b)q(ers)f(for)g(primalit)o(y)0 2303 y(in)f(a)g(mo)q(derate)f(amoun) o(t)g(of)h(time.)73 2406 y(One)j(migh)o(t)g(con)o(template)g(using)i(trial)f (division,)i(or)e(ev)o(en)e(Wilson's)j(theorem)d(|)h(whic)o(h)h(states)0 2478 y(that)16 b(a)g(n)o(um)o(b)q(er)f FB(n)g FH(is)h(prime)g(if)g(and)g (only)g(if)g FB(n)g FH(divides)g(\()p FB(n)10 b Fx(\000)f FH(1\)!)h(+)f(1)16 b(without)h(remainder)e(|)h(in)g(order)0 2550 y(to)k(c)o(hec)o(k)e(for)i (primalit)o(y)l(.)33 b(Rep)q(eated)19 b(trial)i(divisions)h(are)e(clearly)g (v)o(ery)f(ine\016cien)o(t)g(b)q(ecause)h(ev)o(en)f(if)0 2622 y(one)d(w)o(ere)f(to)h(try)f(divisions)j(with)f(only)f(the)g(prime)g(n)o(um)o (b)q(ers)f(b)q(et)o(w)o(een)g(1)h(and)g FB(n)g FH(|)f(not)o(withstanding)0 2695 y(the)g(fact)h(that)f(there)g(is)i(no)e(form)o(ula)h(for)g(generating)h (them)e(|)g(one)g(still)j(has)e(to)g(conduct)f FB(O)q FH(\()p FB(n=)8 b FH(log)k FB(n)p FH(\))951 2828 y(19)p eop bop 0 195 a FH(divisions.)24 b(Since)16 b FB(n)g FH(is)h(enco)q(ded)g(in)f Fx(d)p FH(log)s(\()p FB(n)11 b FH(+)g(1\))p Fx(e)16 b FH(bits,)h(rep)q(eated) f(divisions)j(will)f(tak)o(e)d(exp)q(onen)o(tially)0 267 y(long.)38 b(F)l(urthermore,)21 b(the)h(sigh)o(t)g(of)f(the)h(factorial)h(should)g(disp) q(el)g(an)o(y)e(hop)q(e)h(for)f(success)h(in)g(using)0 340 y(Wilson's)c(theorem)e(as)h(a)f(practical)i(test)e(for)g(primalit)o(y)l(.)73 442 y(Another)h(fundamen)o(tal)g(result)g(from)g(n)o(um)o(b)q(er)f(theory)g (also)j(app)q(ears)f(promising.)24 b(Pierre)17 b(de)f(F)l(er-)0 514 y(mat,)k(a)g(F)l(renc)o(h)e(mathematician,)j(sho)o(w)o(ed)e(that)h(if)g (a)f(n)o(um)o(b)q(er)g FB(n)h FH(is)g(prime)f(then,)h(for)f(all)i FB(x)p FH(,)f FB(n)f FH(do)q(es)0 586 y(not)e(divide)h FB(x)e FH(implies)i FB(n)f FH(divides)g FB(x)681 568 y Fw(n)p Ft(\000)p FI(1)761 586 y Fx(\000)11 b FH(1)17 b([Sc)o(h84].)22 b(This)c(result)f(has)g (b)q(ecome)g(kno)o(wn)f(as)i(F)l(ermat's)0 658 y(theorem,)d(not)h(to)g(b)q(e) f(confused)h(with)h(his)f FF(last)g FH(theorem.)21 b(The)15 b(condition)i FB(n)f FH(divides)h FB(x)1645 640 y Fw(n)p Ft(\000)p FI(1)1723 658 y Fx(\000)9 b FH(1)16 b(can)g(b)q(e)0 731 y(restated)g(as)h FB(x)275 713 y Fw(n)p Ft(\000)p FI(1)357 731 y Fx(\021)d FH(1)50 b(\(mo)q(d)17 b FB(n)p FH(\),)f(whic)o(h)h(w)o(e)e(refer)h(to)g(as)h(F)l (ermat's)f(congruence.)73 833 y(The)e(con)o(trap)q(ositiv)o(e)h(of)f(F)l (ermat's)f(theorem)h(yields)g(a)h(tec)o(hnique)e(for)h(sho)o(wing)h(the)f (comp)q(ositeness)0 905 y(of)i(a)f(n)o(um)o(b)q(er)g FB(n)p FH(.)21 b(That)16 b(is,)g FB(n)f FH(can)h(b)q(e)f(pro)o(v)o(en)g(comp)q (osite)h(if)g(w)o(e)f(can)h(\014nd)f(an)h FB(x)f FH(suc)o(h)g(that)h FB(n)f FH(do)q(es)i(not)0 977 y(divide)f FB(x)f FH(or)g FB(x)273 959 y Fw(n)p Ft(\000)p FI(1)350 977 y Fx(\000)8 b FH(1)16 b(\(elemen)o(tary)e (prop)q(erties)i(of)f(mo)q(dular)i(arithmetic)e(allo)o(w)i(the)e(latter)g (condition)0 1050 y(to)h(b)q(e)f(v)o(eri\014ed)g(without)i(ev)o(er)d (computing)i(the)f(n)o(um)o(b)q(er)f FB(x)1104 1032 y Fw(n)p Ft(\000)p FI(1)1182 1050 y Fx(\000)9 b FH(1\).)21 b(Let)16 b(us)f(call)i(suc)o(h)e FB(x)g FF(witnesses)j(to)0 1122 y(the)h(c)n(omp)n (ositeness)g(of)e FB(n)p FH(.)24 b(Note)17 b(that)h(a)g(reasonable)h(searc)o (h)e(space)g(for)h FB(x)f FH(are)g(the)g(in)o(tegers)h(b)q(et)o(w)o(een)0 1194 y(1)f(and)f FB(n)c Fx(\000)e FH(1,)17 b(inclusiv)o(ely)l(,)g(as)f(these) g(are)h(guaran)o(teed)f(not)h(to)g(b)q(e)f(divisible)i(b)o(y)e FB(n)p FH(.)73 1296 y(The)g(problem)h(with)g(using)g(F)l(ermat's)e(theorem,)g (ho)o(w)o(ev)o(er,)g(is)h(that)h(the)f(con)o(v)o(erse)e(of)j(the)f(theorem)0 1369 y(do)q(es)j(not)f(hold)h(and)g(there)e(therefore)h(exist)g(comp)q(osite) h FB(n)f FH(b)q(earing)i(no)e(witnesses)h(to)g(their)f(comp)q(os-)0 1441 y(iteness.)37 b(Suc)o(h)21 b FB(n)h FH(are)f(kno)o(wn)h(as)g(the)f FF(Carmichael)h(numb)n(ers)t FH(,)h(the)e(\014rst)h(three)e(of)i(whic)o(h)g (are)f(561,)0 1513 y(1105,)15 b(and)g(1729.)22 b(In)o(terestingly)l(,)13 b(as)i(p)q(oin)o(ted)f(out)g(in)h([CLR90)q(],)e(Carmic)o(hael)h(n)o(um)o(b)q (ers)g(are)f(extremely)0 1585 y(rare;)j(there)f(are,)h(for)h(example,)e(only) i(255)g(of)g(them)f(less)g(than)h(100,000,000.)24 b(F)l(urthermore,)15 b(ev)o(en)g(if)i(a)0 1657 y(comp)q(osite)i FB(n)f FH(p)q(ossesses)i(a)e (witness)i FB(x)p FH(,)d(i.e.,)h(it)g(is)h(not)g(a)f(Carmic)o(hael)h(n)o(um)o (b)q(er,)f(there)f(is)i(no)g(ob)o(vious)0 1730 y(w)o(a)o(y)d(to)h(lo)q(cate)g FB(x)p FH(.)73 1832 y(One)23 b(can)h(also)h(obtain)g(a)f(p)q(ositiv)o(e)h (iden)o(ti\014cation)g(of)f(comp)q(osite)h(n)o(um)o(b)q(ers)e(using)i(the)e (Lucas-)0 1904 y(Lehmer)g(heuristic)h([Leh27)q(]:)35 b FB(n)24 b FH(is)g(prime)f(if)h(and)g(only)h(if)f FB(x)1197 1886 y Fw(n)p Ft(\000)p FI(1)1291 1904 y Fx(\021)i FH(1)50 b(\(mo)q(d)17 b FB(n)p FH(\))24 b FF(and)k FB(x)1769 1867 y Fv(n)p Fl(\000)p Fq(1)p 1769 1874 59 2 v 1790 1894 a Fv(p)1861 1904 y Fx(6\021)e FH(1)0 1976 y(\(mo)q(d)17 b FB(n)p FH(\),)e(for)h(eac)o(h)f(prime)h(factor)g FB(p)g FH(of)f FB(n)10 b Fx(\000)g FH(1.)21 b(In)15 b(general,)h(the)f(prime) h(factors)g(of)g FB(n)10 b Fx(\000)f FH(1)16 b(ma)o(y)f(not)h(b)q(e)0 2049 y(kno)o(wn.)21 b(Ho)o(w)o(ev)o(er,)14 b(this)i(test)g(can)f(b)q(e)h (used)g(e\013ectiv)o(ely)f(if)h FB(n)e FH(=)g(2)1227 2031 y Fw(m)1270 2049 y FH(+)c(1)16 b(for)g(some)f(p)q(ositiv)o(e)i(in)o(teger)f FB(m)p FH(,)0 2121 y(a)h(rather)f(restricted)g(subset)h(of)f(the)g(in)o (tegers.)73 2223 y(Let)i FB(n)f FH(=)f(\005)299 2205 y Fw(i)p FI(=)p Fw(m)299 2235 y(i)p FI(=1)371 2223 y FB(p)395 2201 y Fw(\027)412 2206 y Fv(i)395 2235 y Fw(i)446 2223 y FH(b)q(e)i(the)g(unique)g (prime)f(factorization)j(of)e FB(n)p FH(.)26 b(De\014ne)18 b FB(\025)p FH(\()p FB(n)p FH(\))f(=)f(lcm)p Fx(f)p FB(p)1754 2201 y Fw(\027)1771 2206 y Fq(1)1789 2201 y Ft(\000)p FI(1)1754 2234 y(1)1836 2223 y FH(\()p FB(p)1879 2230 y FI(1)1911 2223 y Fx(\000)0 2295 y FH(1\))p FB(;)8 b FH(.)g(.)g(.)g FB(;)g(p)177 2277 y Fw(\027)194 2281 y Fv(m)224 2277 y Ft(\000)p FI(1)177 2308 y Fw(m)271 2295 y FH(\()p FB(p)314 2302 y Fw(m)362 2295 y Fx(\000)13 b FH(1\))p Fx(g)p FH(.)35 b(It)20 b(w)o(as)h(sho)o(wn)h(b)o(y)e (Carmic)o(hael)h([Car12)q(],)g(of)g(the)f(Carmic)o(hael)i(n)o(um)o(b)q(ers)0 2368 y(fame,)d(that)g FB(n)g FH(satis\014es)h(F)l(ermat's)e(congruence)h(if)g (and)h(only)g(if)f FB(\025)p FH(\()p FB(n)p FH(\))g(divides)h(\()p FB(n)13 b Fx(\000)g FH(1\).)29 b(The)19 b(reader)0 2440 y(can)d(v)o(erify)g (that)h FB(\025)p FH(\(561\))g(divides)h(560.)73 2542 y(In)e(ligh)o(t)h(of)f (ab)q(o)o(v)o(e)g(theorem,)f(a)h(plausible)i(approac)o(h)f(to)f(testing)h (primalit)o(y)g(|)f(actually)h(comp)q(os-)0 2614 y(iteness,)f(but)f(for)h(a)g (deterministic)g(algorithm)i(that)e(alw)o(a)o(ys)g(terminates)g(with)g(the)f (correct)g(answ)o(er,)g(it)0 2686 y(do)q(es)20 b(not)f(matter)g(|)f(is)i(as)f (follo)o(ws.)32 b(Divide)19 b(comp)q(osite)h(n)o(um)o(b)q(ers)f(in)o(to)g(t)o (w)o(o)g(categories)h(according)951 2828 y(20)p eop bop 0 195 a FH(to)18 b(whether)g FB(\025)p FH(\()p FB(n)p FH(\))g(divides,)h (or)f(do)q(es)h(not)f(divide,)g(\()p FB(n)13 b Fx(\000)e FH(1\).)27 b(If)17 b FB(\025)p FH(\()p FB(n)p FH(\))h(do)q(es)h(not)f(divide)h(\()p FB(n)12 b Fx(\000)g FH(1\),)18 b(then)0 267 y(b)o(y)d(virtue)h(of)f(Carmic)o (hael's)i(result,)e(one)h(can)g(use)f(F)l(ermat's)g(test.)21 b(On)15 b(the)h(other)f(hand,)h(if)g FB(\025)p FH(\()p FB(n)p FH(\))g(do)q(es)0 340 y(divide)j(\()p FB(n)13 b Fx(\000)f FH(1\))18 b(a)h(new)f(test)g(is)i(necessary)l(.)27 b(If)17 b(an)i(attempt)f(to)h(place) f(a)h(n)o(um)o(b)q(er)f(in)h(either)f(category)0 412 y(fails,)f(it)g(m)o(ust) f(b)q(e)g(prime.)73 526 y(A)c(v)m(ariation)j(of)e(the)f(ab)q(o)o(v)o(e)h (strategy)g(w)o(as)g(emplo)o(y)o(ed)e(b)o(y)h(G.)h(Miller)g(in)h(a)e(pap)q (er)i(that)f(has)g(pro)o(v)o(en)f(to)0 611 y(b)q(e)17 b(v)o(ery)e(useful)i (in)g(primalit)o(y)g(testing)h([Mil76)q(].)j(This)d(pap)q(er)f(de\014ned)f (the)g(basic)i(concepts)e(that)h(w)o(ere)0 696 y(later)e(used)f(b)o(y)g (Rabin)i(to)e(deriv)o(e)g(a)h(probabilistic)i(algorithm)g(for)d(primalit)o(y) i(testing.)21 b(T)l(o)15 b(arriv)o(e)f(at)h(his)0 781 y(algorithm)21 b(for)e(primalit)o(y)h(testing,)g(Miller)f(divided)h(the)e(comp)q(osite)i(n)o (um)o(b)q(ers)f(as)g(suggested)h(ab)q(o)o(v)o(e.)0 865 y(Ho)o(w)o(ev)o(er,)10 b(instead)i(of)f(using)i(Carmic)o(hael's)e FB(\025)p FH(-function,)i(he)e (used)g FB(\025)1264 847 y Ft(0)1277 865 y FH(\()p FB(n)p FH(\))i(=)h(lcm)p Fx(f)p FH(\()p FB(p)1553 872 y FI(1)1574 865 y Fx(\000)p FH(1\))p FB(;)8 b FH(.)g(.)g(.)g FB(;)g FH(\()p FB(p)1809 872 y Fw(m)1843 865 y Fx(\000)p FH(1\))p Fx(g)0 950 y FH(to)16 b(pare)g(do)o(wn)g(the)f(set)g (of)h(comp)q(osite)h(n)o(um)o(b)q(ers)e(that)h(satisfy)g(F)l(ermat's)f (congruence.)21 b(The)15 b(follo)o(wing)0 1035 y(is)i(a)g(simpli\014ed)g(v)o (ersion)g(of)g(Miller's)g(algorithm.)23 b(In)16 b(this)h(algorithm,)h FB(f)j FH(is)c(a)g(computable)g(function.)0 1191 y Fy(PrimeT)m(est)e(\(Mil)r (ler\))24 b Fp(f)g Fo(\(*)f(a)h(deterministic)e(algorithm)h(for)g(primality)g (testing)g(*\))143 1275 y(Input)g Fn(n)143 1360 y Fo(If)g Fn(n)h Fo(is)g(a)g(perfect)f(power,)g(say)g Fn(m)878 1344 y Fw(s)896 1360 y Fo(,)h(output)f(`composite')g(and)g(HALT)143 1445 y(REPEAT)g(FOR)g (EACH)g Fn(x)13 b Fp(\024)g Fn(f)5 b Fz(\()p Fn(n)p Fz(\))24 b Fp(f)285 1529 y Fo(\(1\))g(if)f Fn(x)h Fo(divides)f Fn(n)p Fo(,)h(output)f(`composite')g(and)g(HALT)285 1614 y(\(2\))h(if)f Fn(x)478 1598 y Fw(n)p Ft(\000)p FI(1)560 1614 y Fp(6\021)13 b Fz(1)45 b(\(mo)q(d)14 b Fn(n)p Fz(\))p Fo(,)23 b(output)g(`composite')g (and)g(HALT)285 1699 y(\(3\))h(if)f(there)h(is)f(an)h Fn(i)f Fo(such)h(that)1022 1681 y Fw(n)p Ft(\000)p FI(1)p 1022 1688 67 2 v 1040 1716 a(2)1058 1706 y Fv(i)1106 1699 y Fz(=)13 b Fn(m)24 b Fo(is)f(integral,)381 1784 y(and)g Fz(1)13 b Fn(<)g Fz(gcd\()p Fn(x)672 1767 y Fw(m)715 1784 y Fp(\000)d Fz(1)p Fn(;)e(n)p Fz(\))k Fn(<)h(n)p Fo(,)24 b(output)f(`composite')f(and)i(HALT)285 1868 y Fp(g)143 1953 y Fo(output)f(`prime')g(and)g(HALT)0 2038 y Fp(g)73 2266 y FH(Miller)e(used)e(the)g FB(\025)448 2248 y Ft(0)480 2266 y FH(function)h(to)g(c)o(haracterize)e(the)i(class)g(of)g (comp)q(osite)g(n)o(um)o(b)q(ers)f(that)h(satisfy)0 2338 y(F)l(ermat's)12 b(congruence.)19 b(He)12 b(pro)o(v)o(ed)g(that)h(a)g(function)g FB(f)18 b FH(can)12 b(b)q(e)h(de\014ned)f(suc)o(h)g(that,)i(if)f FB(n)f FH(is)h(comp)q(osite,)0 2410 y(then)19 b(b)o(y)f(testing)i(conditions) h(\(1\))e(through)h(\(3\))f(rep)q(eatedly)l(,)g(for)g(all)h FB(x)e Fx(\024)g FB(f)5 b FH(\()p FB(n)p FH(\),)20 b(the)e(algorithm)j(will)0 2483 y(indeed)12 b(iden)o(tify)g FB(n)f FH(as)h(comp)q(osite.)21 b(F)l(urthermore,)11 b FB(f)5 b FH(\()p FB(n)p FH(\))12 b(can)g(b)q(e)g (de\014ned)f(so)h(that)g(the)g(ab)q(o)o(v)o(e)f(algorithm)0 2555 y(terminates)16 b(in)h FB(O)q FH(\()p FB(n)389 2523 y Fq(1)p 389 2529 16 2 v 389 2550 a(7)412 2555 y FH(\))e(steps.)22 b(Since)16 b FB(n)g FH(is)g(giv)o(en)g(in)h Fx(d)p FH(log)r(\()p FB(n)10 b FH(+)h(1\))p Fx(e)16 b FH(bits,)g FB(O)q FH(\()p FB(n)1464 2523 y Fq(1)p 1465 2529 V 1465 2550 a(7)1487 2555 y FH(\))g(is)h(still)g(exp)q(onen)o(tially)0 2627 y(long.)29 b(Using)19 b(the)f(Extended)g(Riemann)g(Hyp)q(othesis)h(\(ERH\),)f(ho)o(w)o (ev)o(er,)f(Miller)i(pro)o(v)o(ed)f(that)g FB(f)24 b FH(can)0 2699 y(b)q(e)e(de\014ned)g(so)g(that)g(a)g(sligh)o(tly)i(more)d(complex)h(v)o (ersion)g(of)g(the)g(ab)q(o)o(v)o(e)g(algorithm)h(terminates)f(in)951 2828 y(21)p eop bop 0 195 a FB(O)q FH(\()p FB(\021)83 177 y FI(4)111 195 y FH(log)11 b(log)f FB(\021)r FH(\))15 b(steps,)g(where)g FB(\021)h FH(=)e Fx(d)p FH(log)r(\()p FB(n)9 b FH(+)g(1\))p Fx(e)16 b FH(denotes)g(the)f(length)h(of)f(the)g(binary)i(represen)o(tation)0 267 y(of)j FB(n)p FH(.)31 b(Th)o(us,)20 b(the)g(primalit)o(y)g(of)g(a)g(n)o (um)o(b)q(er)f(can)h(b)q(e)g(determined)f(deterministically)i(in)f(p)q (olynomial)0 340 y(time)c(assuming)i(ERH.)73 442 y(Lik)o(e)c(b)q(efore,)g (let)g(us)g(call)h(an)o(y)f(n)o(um)o(b)q(er)f FB(x)g FH(b)q(et)o(w)o(een)g(1) h(and)g FB(n)g FH(for)g(whic)o(h)g(at)g(least)h(one)f(of)g(conditions)0 514 y(\(2\))g(and)g(\(3\))f(in)h(the)g(main)g(b)q(o)q(dy)g(of)g(the)f(ab)q(o) o(v)o(e)g(algorithm)j(is)e(true)f(a)h(witness)g(to)g(the)f(comp)q(ositeness)i (of)0 586 y FB(n)p FH(.)23 b(A)16 b(k)o(ey)f(observ)m(ation)k(whic)o(h)e(mak) o(es)f(randomized)h(testing)g(for)g(primalit)o(y)h(feasible)g(is)f(that)g (there)f(is)0 658 y(an)i(abundance)f(of)h(witnesses)g(for)f(comp)q (ositeness.)25 b(The)17 b(probabilit)o(y)i(that)f(a)f(n)o(um)o(b)q(er)g(is)g (comp)q(osite,)0 731 y(and)g(conditions)h(\(2\))e(and)h(\(3\))g(are)f(not)g (satis\014ed)i(is)f(v)o(ery)e(small.)22 b(In)16 b(fact,)g(Rabin)h([Rab76)q(]) e(has)i(sho)o(wn)0 803 y(that)c(more)f(than)i(half)f(the)g(v)m(alues)g(of)g FB(x)h Fx(2)g(f)p FH(1)p FB(;)8 b FH(2)p FB(;)g(:::;)g(n)t Fx(\000)t FH(1)p Fx(g)j FH(satisfy)j(\(2\))f(or)g(\(3\))g(if)g FB(n)g FH(is)g(indeed)g(comp)q(osite)0 875 y(\(see,)20 b(also,)h([CLR90)q(],) g(Theorem)e(33.38\).)34 b(Monier)21 b([Mon80])f(has)h(subsequen)o(tly)f (strengthened)g(this)0 947 y(result)d(b)o(y)e(sho)o(wing)j(that)e(at)h(least) g(3)p FB(=)p FH(4)g(of)f(the)g FB(x)g FH(are)g(witnesses.)22 b(Ev)o(en)15 b(though)i(Miller's)g(p)q(olynomial)0 1020 y(time)j(algorithm)j (for)e(testing)h(primalit)o(y)f(requires)g(the)f(ERH,)g(these)g(results)i(ab) q(out)g(the)e(densit)o(y)h(of)0 1092 y(witnesses)c(holds)h(in)f(general)g (and)g(can)f(b)q(e)g(pro)o(v)o(ed)g(without)h(recourse)f(to)h(this)g(h)o(yp)q (othesis.)73 1194 y(Figure)f(2)f(illustrates)j(the)c(high)j(densit)o(y)e(of)g (witnesses)h(to)g(comp)q(ositeness.)22 b(The)15 b(\014gure)g(sho)o(ws,)h(for) 0 1266 y(eac)o(h)d(in)o(teger)h FB(n)g FH(in)h(the)f(range)g(10,000)h(to)g (12,000,)g(the)f(p)q(ercen)o(tage)f(of)i(in)o(tegers)f(b)q(et)o(w)o(een)f(1)h (and)h FB(n)f FH(that)0 1339 y(are)k(witnesses)h(to)g(the)f(comp)q(ositeness) h(of)g FB(n)p FH(.)27 b(As)18 b(can)h(b)q(e)f(seen,)g(if)g(the)g(n)o(um)o(b)q (er)g(is)h(comp)q(osite,)g(then)0 1411 y(the)g(p)q(ercen)o(tage)f(of)h (witnesses)h(in)g(this)g(range)f(of)g(n)o(um)o(b)q(ers)g(is)h(almost)g(alw)o (a)o(ys)f(more)g(than)g(98\045;)i(for)0 1483 y(only)16 b(ab)q(out)h(18)g(n)o (um)o(b)q(ers)e(out)h(of)g(2000,)h(the)f(p)q(ercen)o(tage)f(of)h(witnesses)h (lies)f(in)h(the)e(85)i(to)f(98\045)g(range.)0 1555 y(As)j(is)h(to)f(b)q(e)g (exp)q(ected,)f(for)h(primes)h(there)e(are)h(no)g(witnesses,)h(resulting)h (in)f(a)f(sparse)h(set)e(of)i(p)q(oin)o(ts)0 1627 y(along)e FB(y)d FH(=)f(0.)73 1742 y(Miller)21 b(witnesses,)f(in)g(conjunction)h(with)f (Rabin's)g(result)g(ab)q(out)h(their)f(densit)o(y)l(,)f(giv)o(es)h(a)g (rather)0 1827 y(p)q(o)o(w)o(erful)d(primalit)o(y)g(testing)g(algorithm:)0 1983 y Fy(PrimeT)m(est)e(\(R)n(abin\))24 b Fp(f)g Fo(\(*)f(a)h(probabilistic) e(algorithm)h(for)g(primality)g(testing*\))143 2068 y(Input)g Fn(n)143 2152 y Fo(REPEAT)g Fn(r)h Fo(times)p Fp(f)285 2237 y Fo(\(1\))g(randomly)f(pick)g(an)g Fn(x)h Fo(between)f(1)h(and)f Fn(n)285 2322 y Fo(\(2\))h(if)f Fn(x)478 2305 y Fw(n)p Ft(\000)p FI(1)560 2322 y Fp(6\021)13 b Fz(1)45 b(\(mo)q(d)14 b Fn(n)p Fz(\))p Fo(,)23 b(output)g(`composite')g(and)g(HALT)285 2406 y(\(3\))h(if)f(there)h(is)f(an)h Fn(i)f Fo(such)h(that)1022 2389 y Fw(n)p Ft(\000)p FI(1)p 1022 2396 67 2 v 1040 2424 a(2)1058 2414 y Fv(i)1106 2406 y Fz(=)13 b Fn(m)24 b Fo(is)f(integral,)381 2491 y(and)g Fz(1)13 b Fn(<)g Fz(gcd\()p Fn(x)672 2475 y Fw(m)715 2491 y Fp(\000)d Fz(1)p Fn(;)e(n)p Fz(\))k Fn(<)h(n)p Fo(,)24 b(output)f(`composite')f(and)i(HALT)285 2576 y Fp(g)143 2660 y Fo(output)f(`prime')g(and)g(HALT)951 2828 y FH(22)p eop bop -75 758 a 33154007 25197040 4736286 26049576 35522150 49731010 startTexFig -75 758 a %%BeginDocument: witnesses.ps initgraphics erasepage /unscale {scale_pic div 72 mul} def /rot_pic 0.0 def /scale_pic .5706 def /tranx_pic 1.1118 def /trany_pic 5.65 def /font_spec {/Times-Roman findfont} def /move_up {0.0 unscale 5.15 unscale translate} def /move_down {0.0 unscale -5.15 unscale translate} def /switch 0 def /print_pic {switch 0 eq {move_down /switch 1 def} {copypage erasepage move_up /switch 0 def} ifelse } def /print_last_page {switch 1 eq {copypage /switch 0 def} if} def rot_pic rotate scale_pic scale_pic scale tranx_pic unscale trany_pic unscale translate /largefont font_spec 2.000000e+01 scalefont def /smallfont font_spec 1.400000e+01 scalefont def /solid { [] 0 setdash } def /dotted { [0 4] 0 setdash } def /dashed { [4] 0 setdash } def /dotdash { [0 4 3 4] 0 setdash } def /centre {stringwidth pop 2 div neg 0 rmoveto} def /right {stringwidth pop neg 0 rmoveto} def /centre_rot90 {translate 90 rotate 0 0 moveto centre show 0 0 moveto -90 rotate translate} def .5 setlinewidth 1 setlinecap 1 setlinejoin /N {newpath} def /M {moveto} def /L { {lineto} repeat stroke} def solid N 78.09 77.33 757.00 77.33 757.00 570.67 78.09 570.67 78.09 77.33 M 4 L N 78.09 77.33 84.83 77.33 M 1 L N 750.27 77.33 757.00 77.33 M 1 L largefont setfont 73.09 71.33 M (-20) right (-20) show N 78.09 147.81 84.83 147.81 M 1 L N 750.27 147.81 757.00 147.81 M 1 L largefont setfont 73.09 141.81 M (0) right (0) show N 78.09 218.28 84.83 218.28 M 1 L N 750.27 218.28 757.00 218.28 M 1 L largefont setfont 73.09 212.28 M (20) right (20) show N 78.09 288.76 84.83 288.76 M 1 L N 750.27 288.76 757.00 288.76 M 1 L largefont setfont 73.09 282.76 M (40) right (40) show N 78.09 359.24 84.83 359.24 M 1 L N 750.27 359.24 757.00 359.24 M 1 L largefont setfont 73.09 353.24 M (60) right (60) show N 78.09 429.72 84.83 429.72 M 1 L N 750.27 429.72 757.00 429.72 M 1 L largefont setfont 73.09 423.72 M (80) right (80) show N 78.09 500.19 84.83 500.19 M 1 L N 750.27 500.19 757.00 500.19 M 1 L largefont setfont 73.09 494.19 M (100) right (100) show N 78.09 570.67 84.83 570.67 M 1 L N 750.27 570.67 757.00 570.67 M 1 L largefont setfont 73.09 564.67 M (120) right (120) show N 78.09 77.33 78.09 82.53 M 1 L N 78.09 565.47 78.09 570.67 M 1 L largefont setfont 78.09 55.33 M (1) centre (1) show N 145.98 77.33 145.98 82.53 M 1 L N 145.98 565.47 145.98 570.67 M 1 L largefont setfont 145.98 55.33 M (1.02) centre (1.02) show N 213.87 77.33 213.87 82.53 M 1 L N 213.87 565.47 213.87 570.67 M 1 L largefont setfont 213.87 55.33 M (1.04) centre (1.04) show N 281.77 77.33 281.77 82.53 M 1 L N 281.77 565.47 281.77 570.67 M 1 L largefont setfont 281.77 55.33 M (1.06) centre (1.06) show N 349.66 77.33 349.66 82.53 M 1 L N 349.66 565.47 349.66 570.67 M 1 L largefont setfont 349.66 55.33 M (1.08) centre (1.08) show N 417.55 77.33 417.55 82.53 M 1 L N 417.55 565.47 417.55 570.67 M 1 L largefont setfont 417.55 55.33 M (1.1) centre (1.1) show N 485.44 77.33 485.44 82.53 M 1 L N 485.44 565.47 485.44 570.67 M 1 L largefont setfont 485.44 55.33 M (1.12) centre (1.12) show N 553.33 77.33 553.33 82.53 M 1 L N 553.33 565.47 553.33 570.67 M 1 L largefont setfont 553.33 55.33 M (1.14) centre (1.14) show N 621.22 77.33 621.22 82.53 M 1 L N 621.22 565.47 621.22 570.67 M 1 L largefont setfont 621.22 55.33 M (1.16) centre (1.16) show N 689.11 77.33 689.11 82.53 M 1 L N 689.11 565.47 689.11 570.67 M 1 L largefont setfont 689.11 55.33 M (1.18) centre (1.18) show N 757.00 77.33 757.00 82.53 M 1 L N 757.00 565.47 757.00 570.67 M 1 L largefont setfont 757.00 55.33 M (1.2) centre (1.2) show largefont setfont 737.00 14.00 M (x) right (x) show largefont setfont 757.00 14.00 M (10) right (10) show smallfont setfont 758.00 18.80 M (4) show smallfont setfont 76.04 498.84 M (.) show 76.38 495.32 M (.) show 76.72 498.84 M (.) show 77.06 495.32 M (.) show 77.40 498.84 M (.) show 77.74 495.32 M (.) show 78.08 498.84 M (.) show 78.42 146.46 M (.) show 78.76 498.84 M (.) show 79.10 146.46 M (.) show 79.44 498.84 M (.) show 79.78 495.32 M (.) show 80.12 495.32 M (.) show 80.46 495.32 M (.) show 80.80 498.84 M (.) show 81.14 495.32 M (.) show 81.47 498.84 M (.) show 81.81 495.32 M (.) show 82.15 498.84 M (.) show 82.49 495.32 M (.) show 82.83 498.84 M (.) show 83.17 495.32 M (.) show 83.51 498.84 M (.) show 83.85 495.32 M (.) show 84.19 495.32 M (.) show 84.53 495.32 M (.) show 84.87 498.84 M (.) show 85.21 491.79 M (.) show 85.55 498.84 M (.) show 85.89 495.32 M (.) show 86.23 498.84 M (.) show 86.57 495.32 M (.) show 86.91 498.84 M (.) show 87.25 495.32 M (.) show 87.58 498.84 M (.) show 87.92 495.32 M (.) show 88.26 495.32 M (.) show 88.60 146.46 M (.) show 88.94 498.84 M (.) show 89.28 146.46 M (.) show 89.62 498.84 M (.) show 89.96 495.32 M (.) show 90.30 498.84 M (.) show 90.64 495.32 M (.) show 90.98 498.84 M (.) show 91.32 495.32 M (.) show 91.66 498.84 M (.) show 92.00 495.32 M (.) show 92.34 495.32 M (.) show 92.68 495.32 M (.) show 93.02 498.84 M (.) show 93.36 495.32 M (.) show 93.70 498.84 M (.) show 94.03 495.32 M (.) show 94.37 495.32 M (.) show 94.71 495.32 M (.) show 95.05 498.84 M (.) show 95.39 495.32 M (.) show 95.73 498.84 M (.) show 96.07 495.32 M (.) show 96.41 498.84 M (.) show 96.75 146.46 M (.) show 97.09 498.84 M (.) show 97.43 495.32 M (.) show 97.77 498.84 M (.) show 98.11 495.32 M (.) show 98.45 495.32 M (.) show 98.79 146.46 M (.) show 99.13 498.84 M (.) show 99.47 146.46 M (.) show 99.81 498.84 M (.) show 100.14 495.32 M (.) show 100.48 498.84 M (.) show 100.82 495.32 M (.) show 101.16 498.84 M (.) show 101.50 495.32 M (.) show 101.84 495.32 M (.) show 102.18 495.32 M (.) show 102.52 498.84 M (.) show 102.86 146.46 M (.) show 103.20 498.84 M (.) show 103.54 495.32 M (.) show 103.88 498.84 M (.) show 104.22 495.32 M (.) show 104.56 495.32 M (.) show 104.90 495.32 M (.) show 105.24 495.32 M (.) show 105.58 495.32 M (.) show 105.92 498.84 M (.) show 106.25 495.32 M (.) show 106.59 495.32 M (.) show 106.93 146.46 M (.) show 107.27 498.84 M (.) show 107.61 146.46 M (.) show 107.95 498.84 M (.) show 108.29 495.32 M (.) show 108.63 495.32 M (.) show 108.97 495.32 M (.) show 109.31 498.84 M (.) show 109.65 146.46 M (.) show 109.99 498.84 M (.) show 110.33 495.32 M (.) show 110.67 498.84 M (.) show 111.01 146.46 M (.) show 111.35 498.84 M (.) show 111.69 495.32 M (.) show 112.03 495.32 M (.) show 112.37 495.32 M (.) show 112.70 495.32 M (.) show 113.04 495.32 M (.) show 113.38 498.84 M (.) show 113.72 146.46 M (.) show 114.06 498.84 M (.) show 114.40 495.32 M (.) show 114.74 495.32 M (.) show 115.08 495.32 M (.) show 115.42 495.32 M (.) show 115.76 495.32 M (.) show 116.10 498.84 M (.) show 116.44 495.32 M (.) show 116.78 498.84 M (.) show 117.12 495.32 M (.) show 117.46 498.84 M (.) show 117.80 495.32 M (.) show 118.14 498.84 M (.) show 118.48 495.32 M (.) show 118.81 495.32 M (.) show 119.15 495.32 M (.) show 119.49 498.84 M (.) show 119.83 495.32 M (.) show 120.17 498.84 M (.) show 120.51 495.32 M (.) show 120.85 498.84 M (.) show 121.19 146.46 M (.) show 121.53 498.84 M (.) show 121.87 495.32 M (.) show 122.21 495.32 M (.) show 122.55 495.32 M (.) show 122.89 495.32 M (.) show 123.23 146.46 M (.) show 123.57 498.84 M (.) show 123.91 146.46 M (.) show 124.25 498.84 M (.) show 124.59 495.32 M (.) show 124.92 498.84 M (.) show 125.26 495.32 M (.) show 125.60 498.84 M (.) show 125.94 495.32 M (.) show 126.28 498.84 M (.) show 126.62 495.32 M (.) show 126.96 495.32 M (.) show 127.30 146.46 M (.) show 127.64 498.84 M (.) show 127.98 495.32 M (.) show 128.32 498.84 M (.) show 128.66 495.32 M (.) show 129.00 495.32 M (.) show 129.34 495.32 M (.) show 129.68 498.84 M (.) show 130.02 146.46 M (.) show 130.36 498.84 M (.) show 130.70 495.32 M (.) show 131.04 498.84 M (.) show 131.37 146.46 M (.) show 131.71 498.84 M (.) show 132.05 495.32 M (.) show 132.39 498.84 M (.) show 132.73 495.32 M (.) show 133.07 495.32 M (.) show 133.41 146.46 M (.) show 133.75 498.84 M (.) show 134.09 495.32 M (.) show 134.43 498.84 M (.) show 134.77 495.32 M (.) show 135.11 498.84 M (.) show 135.45 495.32 M (.) show 135.79 498.84 M (.) show 136.13 146.46 M (.) show 136.47 498.84 M (.) show 136.81 495.32 M (.) show 137.15 498.84 M (.) show 137.48 146.46 M (.) show 137.82 498.84 M (.) show 138.16 495.32 M (.) show 138.50 498.84 M (.) show 138.84 495.32 M (.) show 139.18 491.79 M (.) show 139.52 495.32 M (.) show 139.86 498.84 M (.) show 140.20 495.32 M (.) show 140.54 498.84 M (.) show 140.88 495.32 M (.) show 141.22 495.32 M (.) show 141.56 146.46 M (.) show 141.90 498.84 M (.) show 142.24 495.32 M (.) show 142.58 498.84 M (.) show 142.92 495.32 M (.) show 143.26 498.84 M (.) show 143.59 495.32 M (.) show 143.93 498.84 M (.) show 144.27 495.32 M (.) show 144.61 498.84 M (.) show 144.95 495.32 M (.) show 145.29 495.32 M (.) show 145.63 495.32 M (.) show 145.97 498.84 M (.) show 146.31 495.32 M (.) show 146.65 498.84 M (.) show 146.99 495.32 M (.) show 147.33 495.32 M (.) show 147.67 146.46 M (.) show 148.01 498.84 M (.) show 148.35 495.32 M (.) show 148.69 498.84 M (.) show 149.03 495.32 M (.) show 149.37 498.84 M (.) show 149.70 495.32 M (.) show 150.04 498.84 M (.) show 150.38 495.32 M (.) show 150.72 498.84 M (.) show 151.06 495.32 M (.) show 151.40 495.32 M (.) show 151.74 146.46 M (.) show 152.08 498.84 M (.) show 152.42 495.32 M (.) show 152.76 498.84 M (.) show 153.10 495.32 M (.) show 153.44 495.32 M (.) show 153.78 495.32 M (.) show 154.12 498.84 M (.) show 154.46 495.32 M (.) show 154.80 498.84 M (.) show 155.14 495.32 M (.) show 155.48 495.32 M (.) show 155.82 495.32 M (.) show 156.15 498.84 M (.) show 156.49 495.32 M (.) show 156.83 498.84 M (.) show 157.17 495.32 M (.) show 157.51 498.84 M (.) show 157.85 495.32 M (.) show 158.19 498.84 M (.) show 158.53 146.46 M (.) show 158.87 498.84 M (.) show 159.21 495.32 M (.) show 159.55 495.32 M (.) show 159.89 146.46 M (.) show 160.23 498.84 M (.) show 160.57 495.32 M (.) show 160.91 498.84 M (.) show 161.25 495.32 M (.) show 161.59 498.84 M (.) show 161.93 146.46 M (.) show 162.26 498.84 M (.) show 162.60 495.32 M (.) show 162.94 495.32 M (.) show 163.28 495.32 M (.) show 163.62 495.32 M (.) show 163.96 146.46 M (.) show 164.30 498.84 M (.) show 164.64 481.22 M (.) show 164.98 498.84 M (.) show 165.32 495.32 M (.) show 165.66 498.84 M (.) show 166.00 495.32 M (.) show 166.34 498.84 M (.) show 166.68 146.46 M (.) show 167.02 498.84 M (.) show 167.36 495.32 M (.) show 167.70 495.32 M (.) show 168.04 146.46 M (.) show 168.37 498.84 M (.) show 168.71 146.46 M (.) show 169.05 498.84 M (.) show 169.39 495.32 M (.) show 169.73 495.32 M (.) show 170.07 495.32 M (.) show 170.41 498.84 M (.) show 170.75 491.79 M (.) show 171.09 498.84 M (.) show 171.43 495.32 M (.) show 171.77 495.32 M (.) show 172.11 495.32 M (.) show 172.45 498.84 M (.) show 172.79 495.32 M (.) show 173.13 498.84 M (.) show 173.47 495.32 M (.) show 173.81 495.32 M (.) show 174.15 146.46 M (.) show 174.49 498.84 M (.) show 174.82 495.32 M (.) show 175.16 495.32 M (.) show 175.50 495.32 M (.) show 175.84 498.84 M (.) show 176.18 495.32 M (.) show 176.52 495.32 M (.) show 176.86 495.32 M (.) show 177.20 498.84 M (.) show 177.54 495.32 M (.) show 177.88 495.32 M (.) show 178.22 146.46 M (.) show 178.56 498.84 M (.) show 178.90 146.46 M (.) show 179.24 498.84 M (.) show 179.58 495.32 M (.) show 179.92 498.84 M (.) show 180.26 495.32 M (.) show 180.60 495.32 M (.) show 180.93 495.32 M (.) show 181.27 498.84 M (.) show 181.61 495.32 M (.) show 181.95 495.32 M (.) show 182.29 146.46 M (.) show 182.63 498.84 M (.) show 182.97 495.32 M (.) show 183.31 498.84 M (.) show 183.65 495.32 M (.) show 183.99 495.32 M (.) show 184.33 495.32 M (.) show 184.67 498.84 M (.) show 185.01 146.46 M (.) show 185.35 498.84 M (.) show 185.69 495.32 M (.) show 186.03 498.84 M (.) show 186.37 495.32 M (.) show 186.71 495.32 M (.) show 187.04 495.32 M (.) show 187.38 498.84 M (.) show 187.72 495.32 M (.) show 188.06 495.32 M (.) show 188.40 146.46 M (.) show 188.74 498.84 M (.) show 189.08 146.46 M (.) show 189.42 498.84 M (.) show 189.76 495.32 M (.) show 190.10 495.32 M (.) show 190.44 146.46 M (.) show 190.78 498.84 M (.) show 191.12 495.32 M (.) show 191.46 498.84 M (.) show 191.80 495.32 M (.) show 192.14 498.84 M (.) show 192.48 146.46 M (.) show 192.82 498.84 M (.) show 193.15 495.32 M (.) show 193.49 498.84 M (.) show 193.83 495.32 M (.) show 194.17 495.32 M (.) show 194.51 484.75 M (.) show 194.85 498.84 M (.) show 195.19 495.32 M (.) show 195.53 498.84 M (.) show 195.87 495.32 M (.) show 196.21 495.32 M (.) show 196.55 495.32 M (.) show 196.89 498.84 M (.) show 197.23 146.46 M (.) show 197.57 498.84 M (.) show 197.91 495.32 M (.) show 198.25 495.32 M (.) show 198.59 495.32 M (.) show 198.93 495.32 M (.) show 199.27 495.32 M (.) show 199.60 498.84 M (.) show 199.94 495.32 M (.) show 200.28 495.32 M (.) show 200.62 495.32 M (.) show 200.96 498.84 M (.) show 201.30 146.46 M (.) show 201.64 498.84 M (.) show 201.98 495.32 M (.) show 202.32 495.32 M (.) show 202.66 495.32 M (.) show 203.00 498.84 M (.) show 203.34 495.32 M (.) show 203.68 498.84 M (.) show 204.02 495.32 M (.) show 204.36 498.84 M (.) show 204.70 495.32 M (.) show 205.04 498.84 M (.) show 205.38 495.32 M (.) show 205.71 495.32 M (.) show 206.05 495.32 M (.) show 206.39 498.84 M (.) show 206.73 495.32 M (.) show 207.07 498.84 M (.) show 207.41 495.32 M (.) show 207.75 495.32 M (.) show 208.09 495.32 M (.) show 208.43 495.32 M (.) show 208.77 146.46 M (.) show 209.11 498.84 M (.) show 209.45 495.32 M (.) show 209.79 498.84 M (.) show 210.13 495.32 M (.) show 210.47 495.32 M (.) show 210.81 495.32 M (.) show 211.15 498.84 M (.) show 211.49 146.46 M (.) show 211.82 498.84 M (.) show 212.16 495.32 M (.) show 212.50 495.32 M (.) show 212.84 495.32 M (.) show 213.18 498.84 M (.) show 213.52 495.32 M (.) show 213.86 495.32 M (.) show 214.20 495.32 M (.) show 214.54 498.84 M (.) show 214.88 495.32 M (.) show 215.22 498.84 M (.) show 215.56 495.32 M (.) show 215.90 498.84 M (.) show 216.24 495.32 M (.) show 216.58 495.32 M (.) show 216.92 495.32 M (.) show 217.26 495.32 M (.) show 217.60 495.32 M (.) show 217.94 498.84 M (.) show 218.27 495.32 M (.) show 218.61 498.84 M (.) show 218.95 495.32 M (.) show 219.29 498.84 M (.) show 219.63 495.32 M (.) show 219.97 495.32 M (.) show 220.31 495.32 M (.) show 220.65 495.32 M (.) show 220.99 146.46 M (.) show 221.33 498.84 M (.) show 221.67 146.46 M (.) show 222.01 498.84 M (.) show 222.35 495.32 M (.) show 222.69 495.32 M (.) show 223.03 146.46 M (.) show 223.37 498.84 M (.) show 223.71 495.32 M (.) show 224.05 498.84 M (.) show 224.38 495.32 M (.) show 224.72 495.32 M (.) show 225.06 495.32 M (.) show 225.40 498.84 M (.) show 225.74 495.32 M (.) show 226.08 498.84 M (.) show 226.42 495.32 M (.) show 226.76 495.32 M (.) show 227.10 495.32 M (.) show 227.44 495.32 M (.) show 227.78 495.32 M (.) show 228.12 498.84 M (.) show 228.46 495.32 M (.) show 228.80 495.32 M (.) show 229.14 495.32 M (.) show 229.48 498.84 M (.) show 229.82 146.46 M (.) show 230.16 498.84 M (.) show 230.49 495.32 M (.) show 230.83 498.84 M (.) show 231.17 146.46 M (.) show 231.51 498.84 M (.) show 231.85 146.46 M (.) show 232.19 498.84 M (.) show 232.53 495.32 M (.) show 232.87 498.84 M (.) show 233.21 146.46 M (.) show 233.55 498.84 M (.) show 233.89 495.32 M (.) show 234.23 498.84 M (.) show 234.57 495.32 M (.) show 234.91 495.32 M (.) show 235.25 495.32 M (.) show 235.59 495.32 M (.) show 235.93 495.32 M (.) show 236.27 498.84 M (.) show 236.60 495.32 M (.) show 236.94 498.84 M (.) show 237.28 495.32 M (.) show 237.62 498.84 M (.) show 237.96 146.46 M (.) show 238.30 498.84 M (.) show 238.64 495.32 M (.) show 238.98 498.84 M (.) show 239.32 495.32 M (.) show 239.66 498.84 M (.) show 240.00 495.32 M (.) show 240.34 498.84 M (.) show 240.68 495.32 M (.) show 241.02 495.32 M (.) show 241.36 146.46 M (.) show 241.70 498.84 M (.) show 242.04 495.32 M (.) show 242.38 498.84 M (.) show 242.72 495.32 M (.) show 243.05 495.32 M (.) show 243.39 495.32 M (.) show 243.73 498.84 M (.) show 244.07 495.32 M (.) show 244.41 495.32 M (.) show 244.75 495.32 M (.) show 245.09 495.32 M (.) show 245.43 146.46 M (.) show 245.77 498.84 M (.) show 246.11 146.46 M (.) show 246.45 498.84 M (.) show 246.79 495.32 M (.) show 247.13 495.32 M (.) show 247.47 495.32 M (.) show 247.81 498.84 M (.) show 248.15 495.32 M (.) show 248.49 495.32 M (.) show 248.83 495.32 M (.) show 249.16 495.32 M (.) show 249.50 495.32 M (.) show 249.84 498.84 M (.) show 250.18 146.46 M (.) show 250.52 498.84 M (.) show 250.86 495.32 M (.) show 251.20 495.32 M (.) show 251.54 495.32 M (.) show 251.88 498.84 M (.) show 252.22 495.32 M (.) show 252.56 498.84 M (.) show 252.90 495.32 M (.) show 253.24 498.84 M (.) show 253.58 495.32 M (.) show 253.92 498.84 M (.) show 254.26 495.32 M (.) show 254.60 498.84 M (.) show 254.94 495.32 M (.) show 255.27 495.32 M (.) show 255.61 146.46 M (.) show 255.95 498.84 M (.) show 256.29 146.46 M (.) show 256.63 498.84 M (.) show 256.97 495.32 M (.) show 257.31 495.32 M (.) show 257.65 495.32 M (.) show 257.99 498.84 M (.) show 258.33 495.32 M (.) show 258.67 498.84 M (.) show 259.01 495.32 M (.) show 259.35 495.32 M (.) show 259.69 495.32 M (.) show 260.03 498.84 M (.) show 260.37 495.32 M (.) show 260.71 498.84 M (.) show 261.05 495.32 M (.) show 261.39 498.84 M (.) show 261.72 495.32 M (.) show 262.06 498.84 M (.) show 262.40 495.32 M (.) show 262.74 495.32 M (.) show 263.08 495.32 M (.) show 263.42 498.84 M (.) show 263.76 495.32 M (.) show 264.10 498.84 M (.) show 264.44 495.32 M (.) show 264.78 498.84 M (.) show 265.12 495.32 M (.) show 265.46 498.84 M (.) show 265.80 146.46 M (.) show 266.14 498.84 M (.) show 266.48 495.32 M (.) show 266.82 498.84 M (.) show 267.16 495.32 M (.) show 267.50 495.32 M (.) show 267.83 495.32 M (.) show 268.17 498.84 M (.) show 268.51 146.46 M (.) show 268.85 498.84 M (.) show 269.19 495.32 M (.) show 269.53 495.32 M (.) show 269.87 495.32 M (.) show 270.21 495.32 M (.) show 270.55 495.32 M (.) show 270.89 498.84 M (.) show 271.23 495.32 M (.) show 271.57 495.32 M (.) show 271.91 495.32 M (.) show 272.25 495.32 M (.) show 272.59 495.32 M (.) show 272.93 498.84 M (.) show 273.27 495.32 M (.) show 273.61 495.32 M (.) show 273.94 495.32 M (.) show 274.28 498.84 M (.) show 274.62 477.70 M (.) show 274.96 498.84 M (.) show 275.30 495.32 M (.) show 275.64 495.32 M (.) show 275.98 146.46 M (.) show 276.32 498.84 M (.) show 276.66 495.32 M (.) show 277.00 498.84 M (.) show 277.34 495.32 M (.) show 277.68 498.84 M (.) show 278.02 495.32 M (.) show 278.36 498.84 M (.) show 278.70 146.46 M (.) show 279.04 498.84 M (.) show 279.38 495.32 M (.) show 279.72 498.84 M (.) show 280.05 146.46 M (.) show 280.39 498.84 M (.) show 280.73 495.32 M (.) show 281.07 498.84 M (.) show 281.41 495.32 M (.) show 281.75 498.84 M (.) show 282.09 146.46 M (.) show 282.43 498.84 M (.) show 282.77 495.32 M (.) show 283.11 498.84 M (.) show 283.45 495.32 M (.) show 283.79 495.32 M (.) show 284.13 146.46 M (.) show 284.47 498.84 M (.) show 284.81 495.32 M (.) show 285.15 498.84 M (.) show 285.49 495.32 M (.) show 285.83 498.84 M (.) show 286.17 495.32 M (.) show 286.50 498.84 M (.) show 286.84 491.79 M (.) show 287.18 498.84 M (.) show 287.52 495.32 M (.) show 287.86 498.84 M (.) show 288.20 495.32 M (.) show 288.54 495.32 M (.) show 288.88 146.46 M (.) show 289.22 498.84 M (.) show 289.56 495.32 M (.) show 289.90 495.32 M (.) show 290.24 146.46 M (.) show 290.58 498.84 M (.) show 290.92 495.32 M (.) show 291.26 498.84 M (.) show 291.60 495.32 M (.) show 291.94 495.32 M (.) show 292.28 495.32 M (.) show 292.61 498.84 M (.) show 292.95 146.46 M (.) show 293.29 498.84 M (.) show 293.63 495.32 M (.) show 293.97 495.32 M (.) show 294.31 495.32 M (.) show 294.65 498.84 M (.) show 294.99 495.32 M (.) show 295.33 498.84 M (.) show 295.67 495.32 M (.) show 296.01 498.84 M (.) show 296.35 488.27 M (.) show 296.69 498.84 M (.) show 297.03 146.46 M (.) show 297.37 498.84 M (.) show 297.71 495.32 M (.) show 298.05 495.32 M (.) show 298.39 495.32 M (.) show 298.72 498.84 M (.) show 299.06 146.46 M (.) show 299.40 498.84 M (.) show 299.74 495.32 M (.) show 300.08 495.32 M (.) show 300.42 495.32 M (.) show 300.76 498.84 M (.) show 301.10 146.46 M (.) show 301.44 498.84 M (.) show 301.78 495.32 M (.) show 302.12 498.84 M (.) show 302.46 146.46 M (.) show 302.80 498.84 M (.) show 303.14 495.32 M (.) show 303.48 498.84 M (.) show 303.82 495.32 M (.) show 304.16 498.84 M (.) show 304.50 495.32 M (.) show 304.84 498.84 M (.) show 305.17 495.32 M (.) show 305.51 498.84 M (.) show 305.85 495.32 M (.) show 306.19 495.32 M (.) show 306.53 495.32 M (.) show 306.87 498.84 M (.) show 307.21 495.32 M (.) show 307.55 498.84 M (.) show 307.89 495.32 M (.) show 308.23 495.32 M (.) show 308.57 495.32 M (.) show 308.91 498.84 M (.) show 309.25 146.46 M (.) show 309.59 498.84 M (.) show 309.93 495.32 M (.) show 310.27 495.32 M (.) show 310.61 146.46 M (.) show 310.95 498.84 M (.) show 311.28 495.32 M (.) show 311.62 498.84 M (.) show 311.96 495.32 M (.) show 312.30 495.32 M (.) show 312.64 495.32 M (.) show 312.98 498.84 M (.) show 313.32 495.32 M (.) show 313.66 498.84 M (.) show 314.00 495.32 M (.) show 314.34 498.84 M (.) show 314.68 495.32 M (.) show 315.02 498.84 M (.) show 315.36 495.32 M (.) show 315.70 495.32 M (.) show 316.04 495.32 M (.) show 316.38 495.32 M (.) show 316.72 146.46 M (.) show 317.06 498.84 M (.) show 317.39 146.46 M (.) show 317.73 498.84 M (.) show 318.07 495.32 M (.) show 318.41 495.32 M (.) show 318.75 495.32 M (.) show 319.09 498.84 M (.) show 319.43 495.32 M (.) show 319.77 498.84 M (.) show 320.11 495.32 M (.) show 320.45 495.32 M (.) show 320.79 495.32 M (.) show 321.13 498.84 M (.) show 321.47 146.46 M (.) show 321.81 498.84 M (.) show 322.15 495.32 M (.) show 322.49 495.32 M (.) show 322.83 495.32 M (.) show 323.17 498.84 M (.) show 323.50 146.46 M (.) show 323.84 498.84 M (.) show 324.18 495.32 M (.) show 324.52 495.32 M (.) show 324.86 146.46 M (.) show 325.20 498.84 M (.) show 325.54 495.32 M (.) show 325.88 495.32 M (.) show 326.22 495.32 M (.) show 326.56 495.32 M (.) show 326.90 146.46 M (.) show 327.24 498.84 M (.) show 327.58 495.32 M (.) show 327.92 498.84 M (.) show 328.26 495.32 M (.) show 328.60 495.32 M (.) show 328.94 495.32 M (.) show 329.28 498.84 M (.) show 329.62 495.32 M (.) show 329.95 498.84 M (.) show 330.29 495.32 M (.) show 330.63 495.32 M (.) show 330.97 495.32 M (.) show 331.31 498.84 M (.) show 331.65 146.46 M (.) show 331.99 498.84 M (.) show 332.33 495.32 M (.) show 332.67 495.32 M (.) show 333.01 495.32 M (.) show 333.35 498.84 M (.) show 333.69 495.32 M (.) show 334.03 498.84 M (.) show 334.37 495.32 M (.) show 334.71 498.84 M (.) show 335.05 495.32 M (.) show 335.39 498.84 M (.) show 335.73 495.32 M (.) show 336.06 498.84 M (.) show 336.40 495.32 M (.) show 336.74 495.32 M (.) show 337.08 495.32 M (.) show 337.42 498.84 M (.) show 337.76 146.46 M (.) show 338.10 498.84 M (.) show 338.44 495.32 M (.) show 338.78 498.84 M (.) show 339.12 495.32 M (.) show 339.46 498.84 M (.) show 339.80 495.32 M (.) show 340.14 498.84 M (.) show 340.48 495.32 M (.) show 340.82 495.32 M (.) show 341.16 146.46 M (.) show 341.50 498.84 M (.) show 341.84 495.32 M (.) show 342.17 498.84 M (.) show 342.51 495.32 M (.) show 342.85 498.84 M (.) show 343.19 495.32 M (.) show 343.53 495.32 M (.) show 343.87 146.46 M (.) show 344.21 498.84 M (.) show 344.55 495.32 M (.) show 344.89 495.32 M (.) show 345.23 495.32 M (.) show 345.57 498.84 M (.) show 345.91 495.32 M (.) show 346.25 498.84 M (.) show 346.59 495.32 M (.) show 346.93 498.84 M (.) show 347.27 146.46 M (.) show 347.61 498.84 M (.) show 347.95 495.32 M (.) show 348.29 495.32 M (.) show 348.62 495.32 M (.) show 348.96 495.32 M (.) show 349.30 495.32 M (.) show 349.64 495.32 M (.) show 349.98 495.32 M (.) show 350.32 498.84 M (.) show 350.66 495.32 M (.) show 351.00 498.84 M (.) show 351.34 495.32 M (.) show 351.68 498.84 M (.) show 352.02 495.32 M (.) show 352.36 498.84 M (.) show 352.70 495.32 M (.) show 353.04 495.32 M (.) show 353.38 495.32 M (.) show 353.72 498.84 M (.) show 354.06 495.32 M (.) show 354.40 498.84 M (.) show 354.73 495.32 M (.) show 355.07 495.32 M (.) show 355.41 495.32 M (.) show 355.75 498.84 M (.) show 356.09 495.32 M (.) show 356.43 498.84 M (.) show 356.77 495.32 M (.) show 357.11 495.32 M (.) show 357.45 495.32 M (.) show 357.79 498.84 M (.) show 358.13 146.46 M (.) show 358.47 498.84 M (.) show 358.81 495.32 M (.) show 359.15 498.84 M (.) show 359.49 495.32 M (.) show 359.83 498.84 M (.) show 360.17 146.46 M (.) show 360.51 498.84 M (.) show 360.84 495.32 M (.) show 361.18 495.32 M (.) show 361.52 495.32 M (.) show 361.86 498.84 M (.) show 362.20 495.32 M (.) show 362.54 498.84 M (.) show 362.88 495.32 M (.) show 363.22 495.32 M (.) show 363.56 146.46 M (.) show 363.90 498.84 M (.) show 364.24 495.32 M (.) show 364.58 498.84 M (.) show 364.92 495.32 M (.) show 365.26 495.32 M (.) show 365.60 146.46 M (.) show 365.94 498.84 M (.) show 366.28 495.32 M (.) show 366.62 498.84 M (.) show 366.95 495.32 M (.) show 367.29 495.32 M (.) show 367.63 146.46 M (.) show 367.97 498.84 M (.) show 368.31 146.46 M (.) show 368.65 498.84 M (.) show 368.99 495.32 M (.) show 369.33 495.32 M (.) show 369.67 495.32 M (.) show 370.01 495.32 M (.) show 370.35 146.46 M (.) show 370.69 498.84 M (.) show 371.03 495.32 M (.) show 371.37 495.32 M (.) show 371.71 495.32 M (.) show 372.05 498.84 M (.) show 372.39 495.32 M (.) show 372.73 498.84 M (.) show 373.07 495.32 M (.) show 373.40 495.32 M (.) show 373.74 495.32 M (.) show 374.08 498.84 M (.) show 374.42 495.32 M (.) show 374.76 498.84 M (.) show 375.10 495.32 M (.) show 375.44 498.84 M (.) show 375.78 146.46 M (.) show 376.12 498.84 M (.) show 376.46 495.32 M (.) show 376.80 498.84 M (.) show 377.14 495.32 M (.) show 377.48 498.84 M (.) show 377.82 146.46 M (.) show 378.16 498.84 M (.) show 378.50 146.46 M (.) show 378.84 498.84 M (.) show 379.18 495.32 M (.) show 379.51 495.32 M (.) show 379.85 495.32 M (.) show 380.19 498.84 M (.) show 380.53 495.32 M (.) show 380.87 498.84 M (.) show 381.21 495.32 M (.) show 381.55 495.32 M (.) show 381.89 495.32 M (.) show 382.23 495.32 M (.) show 382.57 146.46 M (.) show 382.91 498.84 M (.) show 383.25 495.32 M (.) show 383.59 495.32 M (.) show 383.93 495.32 M (.) show 384.27 498.84 M (.) show 384.61 146.46 M (.) show 384.95 498.84 M (.) show 385.29 495.32 M (.) show 385.62 495.32 M (.) show 385.96 495.32 M (.) show 386.30 498.84 M (.) show 386.64 495.32 M (.) show 386.98 498.84 M (.) show 387.32 495.32 M (.) show 387.66 495.32 M (.) show 388.00 495.32 M (.) show 388.34 498.84 M (.) show 388.68 495.32 M (.) show 389.02 498.84 M (.) show 389.36 495.32 M (.) show 389.70 495.32 M (.) show 390.04 495.32 M (.) show 390.38 498.84 M (.) show 390.72 495.32 M (.) show 391.06 498.84 M (.) show 391.40 495.32 M (.) show 391.74 495.32 M (.) show 392.07 495.32 M (.) show 392.41 498.84 M (.) show 392.75 495.32 M (.) show 393.09 498.84 M (.) show 393.43 495.32 M (.) show 393.77 498.84 M (.) show 394.11 146.46 M (.) show 394.45 498.84 M (.) show 394.79 146.46 M (.) show 395.13 498.84 M (.) show 395.47 495.32 M (.) show 395.81 498.84 M (.) show 396.15 495.32 M (.) show 396.49 498.84 M (.) show 396.83 495.32 M (.) show 397.17 495.32 M (.) show 397.51 495.32 M (.) show 397.85 495.32 M (.) show 398.18 146.46 M (.) show 398.52 498.84 M (.) show 398.86 495.32 M (.) show 399.20 498.84 M (.) show 399.54 495.32 M (.) show 399.88 498.84 M (.) show 400.22 495.32 M (.) show 400.56 495.32 M (.) show 400.90 146.46 M (.) show 401.24 498.84 M (.) show 401.58 495.32 M (.) show 401.92 498.84 M (.) show 402.26 495.32 M (.) show 402.60 498.84 M (.) show 402.94 491.79 M (.) show 403.28 498.84 M (.) show 403.62 495.32 M (.) show 403.96 498.84 M (.) show 404.29 495.32 M (.) show 404.63 498.84 M (.) show 404.97 495.32 M (.) show 405.31 498.84 M (.) show 405.65 495.32 M (.) show 405.99 495.32 M (.) show 406.33 146.46 M (.) show 406.67 498.84 M (.) show 407.01 495.32 M (.) show 407.35 498.84 M (.) show 407.69 495.32 M (.) show 408.03 495.32 M (.) show 408.37 146.46 M (.) show 408.71 498.84 M (.) show 409.05 495.32 M (.) show 409.39 498.84 M (.) show 409.73 495.32 M (.) show 410.07 495.32 M (.) show 410.40 495.32 M (.) show 410.74 495.32 M (.) show 411.08 146.46 M (.) show 411.42 498.84 M (.) show 411.76 495.32 M (.) show 412.10 495.32 M (.) show 412.44 495.32 M (.) show 412.78 498.84 M (.) show 413.12 146.46 M (.) show 413.46 498.84 M (.) show 413.80 495.32 M (.) show 414.14 495.32 M (.) show 414.48 495.32 M (.) show 414.82 498.84 M (.) show 415.16 495.32 M (.) show 415.50 498.84 M (.) show 415.84 495.32 M (.) show 416.18 498.84 M (.) show 416.52 146.46 M (.) show 416.85 498.84 M (.) show 417.19 495.32 M (.) show 417.53 498.84 M (.) show 417.87 495.32 M (.) show 418.21 495.32 M (.) show 418.55 495.32 M (.) show 418.89 498.84 M (.) show 419.23 495.32 M (.) show 419.57 498.84 M (.) show 419.91 495.32 M (.) show 420.25 498.84 M (.) show 420.59 495.32 M (.) show 420.93 498.84 M (.) show 421.27 495.32 M (.) show 421.61 498.84 M (.) show 421.95 495.32 M (.) show 422.29 495.32 M (.) show 422.63 495.32 M (.) show 422.96 498.84 M (.) show 423.30 495.32 M (.) show 423.64 498.84 M (.) show 423.98 495.32 M (.) show 424.32 495.32 M (.) show 424.66 146.46 M (.) show 425.00 498.84 M (.) show 425.34 495.32 M (.) show 425.68 498.84 M (.) show 426.02 495.32 M (.) show 426.36 495.32 M (.) show 426.70 495.32 M (.) show 427.04 495.32 M (.) show 427.38 495.32 M (.) show 427.72 495.32 M (.) show 428.06 495.32 M (.) show 428.40 498.84 M (.) show 428.74 495.32 M (.) show 429.07 498.84 M (.) show 429.41 453.03 M (.) show 429.75 498.84 M (.) show 430.09 495.32 M (.) show 430.43 498.84 M (.) show 430.77 495.32 M (.) show 431.11 498.84 M (.) show 431.45 146.46 M (.) show 431.79 498.84 M (.) show 432.13 495.32 M (.) show 432.47 495.32 M (.) show 432.81 495.32 M (.) show 433.15 498.84 M (.) show 433.49 495.32 M (.) show 433.83 498.84 M (.) show 434.17 495.32 M (.) show 434.51 495.32 M (.) show 434.85 146.46 M (.) show 435.19 498.84 M (.) show 435.52 146.46 M (.) show 435.86 498.84 M (.) show 436.20 495.32 M (.) show 436.54 498.84 M (.) show 436.88 495.32 M (.) show 437.22 495.32 M (.) show 437.56 495.32 M (.) show 437.90 495.32 M (.) show 438.24 495.32 M (.) show 438.58 495.32 M (.) show 438.92 146.46 M (.) show 439.26 498.84 M (.) show 439.60 146.46 M (.) show 439.94 498.84 M (.) show 440.28 495.32 M (.) show 440.62 495.32 M (.) show 440.96 495.32 M (.) show 441.30 495.32 M (.) show 441.63 495.32 M (.) show 441.97 495.32 M (.) show 442.31 495.32 M (.) show 442.65 495.32 M (.) show 442.99 495.32 M (.) show 443.33 498.84 M (.) show 443.67 146.46 M (.) show 444.01 498.84 M (.) show 444.35 495.32 M (.) show 444.69 495.32 M (.) show 445.03 146.46 M (.) show 445.37 498.84 M (.) show 445.71 495.32 M (.) show 446.05 498.84 M (.) show 446.39 495.32 M (.) show 446.73 498.84 M (.) show 447.07 146.46 M (.) show 447.41 498.84 M (.) show 447.74 495.32 M (.) show 448.08 498.84 M (.) show 448.42 495.32 M (.) show 448.76 495.32 M (.) show 449.10 495.32 M (.) show 449.44 498.84 M (.) show 449.78 495.32 M (.) show 450.12 498.84 M (.) show 450.46 495.32 M (.) show 450.80 498.84 M (.) show 451.14 495.32 M (.) show 451.48 498.84 M (.) show 451.82 495.32 M (.) show 452.16 498.84 M (.) show 452.50 495.32 M (.) show 452.84 498.84 M (.) show 453.18 495.32 M (.) show 453.52 498.84 M (.) show 453.86 146.46 M (.) show 454.19 498.84 M (.) show 454.53 495.32 M (.) show 454.87 495.32 M (.) show 455.21 146.46 M (.) show 455.55 498.84 M (.) show 455.89 146.46 M (.) show 456.23 498.84 M (.) show 456.57 495.32 M (.) show 456.91 495.32 M (.) show 457.25 495.32 M (.) show 457.59 498.84 M (.) show 457.93 495.32 M (.) show 458.27 498.84 M (.) show 458.61 495.32 M (.) show 458.95 495.32 M (.) show 459.29 495.32 M (.) show 459.63 498.84 M (.) show 459.97 146.46 M (.) show 460.30 498.84 M (.) show 460.64 495.32 M (.) show 460.98 495.32 M (.) show 461.32 495.32 M (.) show 461.66 498.84 M (.) show 462.00 495.32 M (.) show 462.34 498.84 M (.) show 462.68 495.32 M (.) show 463.02 498.84 M (.) show 463.36 495.32 M (.) show 463.70 498.84 M (.) show 464.04 495.32 M (.) show 464.38 495.32 M (.) show 464.72 495.32 M (.) show 465.06 498.84 M (.) show 465.40 495.32 M (.) show 465.74 498.84 M (.) show 466.08 146.46 M (.) show 466.41 498.84 M (.) show 466.75 495.32 M (.) show 467.09 498.84 M (.) show 467.43 495.32 M (.) show 467.77 498.84 M (.) show 468.11 495.32 M (.) show 468.45 498.84 M (.) show 468.79 495.32 M (.) show 469.13 495.32 M (.) show 469.47 146.46 M (.) show 469.81 498.84 M (.) show 470.15 146.46 M (.) show 470.49 498.84 M (.) show 470.83 495.32 M (.) show 471.17 495.32 M (.) show 471.51 495.32 M (.) show 471.85 495.32 M (.) show 472.19 495.32 M (.) show 472.52 498.84 M (.) show 472.86 495.32 M (.) show 473.20 495.32 M (.) show 473.54 146.46 M (.) show 473.88 498.84 M (.) show 474.22 146.46 M (.) show 474.56 498.84 M (.) show 474.90 495.32 M (.) show 475.24 495.32 M (.) show 475.58 146.46 M (.) show 475.92 498.84 M (.) show 476.26 495.32 M (.) show 476.60 495.32 M (.) show 476.94 495.32 M (.) show 477.28 498.84 M (.) show 477.62 495.32 M (.) show 477.96 498.84 M (.) show 478.30 495.32 M (.) show 478.64 498.84 M (.) show 478.97 495.32 M (.) show 479.31 495.32 M (.) show 479.65 495.32 M (.) show 479.99 498.84 M (.) show 480.33 495.32 M (.) show 480.67 498.84 M (.) show 481.01 495.32 M (.) show 481.35 495.32 M (.) show 481.69 495.32 M (.) show 482.03 495.32 M (.) show 482.37 146.46 M (.) show 482.71 498.84 M (.) show 483.05 495.32 M (.) show 483.39 495.32 M (.) show 483.73 495.32 M (.) show 484.07 498.84 M (.) show 484.41 495.32 M (.) show 484.75 498.84 M (.) show 485.08 495.32 M (.) show 485.42 495.32 M (.) show 485.76 495.32 M (.) show 486.10 498.84 M (.) show 486.44 495.32 M (.) show 486.78 498.84 M (.) show 487.12 495.32 M (.) show 487.46 495.32 M (.) show 487.80 146.46 M (.) show 488.14 498.84 M (.) show 488.48 495.32 M (.) show 488.82 495.32 M (.) show 489.16 495.32 M (.) show 489.50 495.32 M (.) show 489.84 495.32 M (.) show 490.18 498.84 M (.) show 490.52 495.32 M (.) show 490.86 498.84 M (.) show 491.19 495.32 M (.) show 491.53 495.32 M (.) show 491.87 495.32 M (.) show 492.21 495.32 M (.) show 492.55 495.32 M (.) show 492.89 498.84 M (.) show 493.23 495.32 M (.) show 493.57 495.32 M (.) show 493.91 495.32 M (.) show 494.25 498.84 M (.) show 494.59 495.32 M (.) show 494.93 498.84 M (.) show 495.27 495.32 M (.) show 495.61 498.84 M (.) show 495.95 495.32 M (.) show 496.29 498.84 M (.) show 496.63 146.46 M (.) show 496.97 498.84 M (.) show 497.31 495.32 M (.) show 497.64 495.32 M (.) show 497.98 146.46 M (.) show 498.32 498.84 M (.) show 498.66 495.32 M (.) show 499.00 498.84 M (.) show 499.34 495.32 M (.) show 499.68 495.32 M (.) show 500.02 495.32 M (.) show 500.36 498.84 M (.) show 500.70 146.46 M (.) show 501.04 498.84 M (.) show 501.38 495.32 M (.) show 501.72 495.32 M (.) show 502.06 495.32 M (.) show 502.40 498.84 M (.) show 502.74 146.46 M (.) show 503.08 498.84 M (.) show 503.42 495.32 M (.) show 503.75 498.84 M (.) show 504.09 146.46 M (.) show 504.43 498.84 M (.) show 504.77 495.32 M (.) show 505.11 498.84 M (.) show 505.45 495.32 M (.) show 505.79 495.32 M (.) show 506.13 495.32 M (.) show 506.47 498.84 M (.) show 506.81 495.32 M (.) show 507.15 498.84 M (.) show 507.49 495.32 M (.) show 507.83 498.84 M (.) show 508.17 146.46 M (.) show 508.51 498.84 M (.) show 508.85 495.32 M (.) show 509.19 498.84 M (.) show 509.53 495.32 M (.) show 509.86 498.84 M (.) show 510.20 146.46 M (.) show 510.54 498.84 M (.) show 510.88 495.32 M (.) show 511.22 498.84 M (.) show 511.56 495.32 M (.) show 511.90 495.32 M (.) show 512.24 495.32 M (.) show 512.58 495.32 M (.) show 512.92 146.46 M (.) show 513.26 498.84 M (.) show 513.60 495.32 M (.) show 513.94 495.32 M (.) show 514.28 495.32 M (.) show 514.62 498.84 M (.) show 514.96 495.32 M (.) show 515.30 498.84 M (.) show 515.64 495.32 M (.) show 515.97 498.84 M (.) show 516.31 495.32 M (.) show 516.65 498.84 M (.) show 516.99 146.46 M (.) show 517.33 498.84 M (.) show 517.67 495.32 M (.) show 518.01 498.84 M (.) show 518.35 495.32 M (.) show 518.69 498.84 M (.) show 519.03 495.32 M (.) show 519.37 498.84 M (.) show 519.71 495.32 M (.) show 520.05 498.84 M (.) show 520.39 495.32 M (.) show 520.73 498.84 M (.) show 521.07 146.46 M (.) show 521.41 498.84 M (.) show 521.75 495.32 M (.) show 522.09 498.84 M (.) show 522.42 495.32 M (.) show 522.76 495.32 M (.) show 523.10 146.46 M (.) show 523.44 498.84 M (.) show 523.78 495.32 M (.) show 524.12 495.32 M (.) show 524.46 146.46 M (.) show 524.80 498.84 M (.) show 525.14 495.32 M (.) show 525.48 498.84 M (.) show 525.82 495.32 M (.) show 526.16 495.32 M (.) show 526.50 495.32 M (.) show 526.84 498.84 M (.) show 527.18 146.46 M (.) show 527.52 498.84 M (.) show 527.86 495.32 M (.) show 528.20 495.32 M (.) show 528.53 495.32 M (.) show 528.87 498.84 M (.) show 529.21 495.32 M (.) show 529.55 498.84 M (.) show 529.89 495.32 M (.) show 530.23 498.84 M (.) show 530.57 495.32 M (.) show 530.91 498.84 M (.) show 531.25 495.32 M (.) show 531.59 498.84 M (.) show 531.93 495.32 M (.) show 532.27 495.32 M (.) show 532.61 495.32 M (.) show 532.95 495.32 M (.) show 533.29 495.32 M (.) show 533.63 498.84 M (.) show 533.97 495.32 M (.) show 534.31 498.84 M (.) show 534.64 146.46 M (.) show 534.98 498.84 M (.) show 535.32 146.46 M (.) show 535.66 498.84 M (.) show 536.00 495.32 M (.) show 536.34 498.84 M (.) show 536.68 495.32 M (.) show 537.02 498.84 M (.) show 537.36 491.79 M (.) show 537.70 498.84 M (.) show 538.04 495.32 M (.) show 538.38 495.32 M (.) show 538.72 495.32 M (.) show 539.06 495.32 M (.) show 539.40 495.32 M (.) show 539.74 498.84 M (.) show 540.08 495.32 M (.) show 540.42 495.32 M (.) show 540.76 146.46 M (.) show 541.09 498.84 M (.) show 541.43 495.32 M (.) show 541.77 498.84 M (.) show 542.11 495.32 M (.) show 542.45 498.84 M (.) show 542.79 495.32 M (.) show 543.13 495.32 M (.) show 543.47 495.32 M (.) show 543.81 498.84 M (.) show 544.15 495.32 M (.) show 544.49 498.84 M (.) show 544.83 495.32 M (.) show 545.17 498.84 M (.) show 545.51 146.46 M (.) show 545.85 498.84 M (.) show 546.19 495.32 M (.) show 546.53 498.84 M (.) show 546.87 495.32 M (.) show 547.20 498.84 M (.) show 547.54 495.32 M (.) show 547.88 498.84 M (.) show 548.22 495.32 M (.) show 548.56 498.84 M (.) show 548.90 146.46 M (.) show 549.24 498.84 M (.) show 549.58 495.32 M (.) show 549.92 495.32 M (.) show 550.26 495.32 M (.) show 550.60 495.32 M (.) show 550.94 146.46 M (.) show 551.28 498.84 M (.) show 551.62 495.32 M (.) show 551.96 498.84 M (.) show 552.30 495.32 M (.) show 552.64 495.32 M (.) show 552.98 495.32 M (.) show 553.31 495.32 M (.) show 553.65 495.32 M (.) show 553.99 495.32 M (.) show 554.33 495.32 M (.) show 554.67 495.32 M (.) show 555.01 146.46 M (.) show 555.35 498.84 M (.) show 555.69 495.32 M (.) show 556.03 498.84 M (.) show 556.37 495.32 M (.) show 556.71 498.84 M (.) show 557.05 495.32 M (.) show 557.39 498.84 M (.) show 557.73 495.32 M (.) show 558.07 495.32 M (.) show 558.41 495.32 M (.) show 558.75 498.84 M (.) show 559.09 146.46 M (.) show 559.42 498.84 M (.) show 559.76 495.32 M (.) show 560.10 498.84 M (.) show 560.44 495.32 M (.) show 560.78 495.32 M (.) show 561.12 495.32 M (.) show 561.46 498.84 M (.) show 561.80 495.32 M (.) show 562.14 495.32 M (.) show 562.48 495.32 M (.) show 562.82 498.84 M (.) show 563.16 495.32 M (.) show 563.50 498.84 M (.) show 563.84 146.46 M (.) show 564.18 498.84 M (.) show 564.52 495.32 M (.) show 564.86 495.32 M (.) show 565.20 495.32 M (.) show 565.54 498.84 M (.) show 565.87 146.46 M (.) show 566.21 498.84 M (.) show 566.55 495.32 M (.) show 566.89 495.32 M (.) show 567.23 146.46 M (.) show 567.57 498.84 M (.) show 567.91 495.32 M (.) show 568.25 498.84 M (.) show 568.59 495.32 M (.) show 568.93 495.32 M (.) show 569.27 495.32 M (.) show 569.61 498.84 M (.) show 569.95 495.32 M (.) show 570.29 498.84 M (.) show 570.63 495.32 M (.) show 570.97 495.32 M (.) show 571.31 495.32 M (.) show 571.65 498.84 M (.) show 571.98 495.32 M (.) show 572.32 498.84 M (.) show 572.66 495.32 M (.) show 573.00 498.84 M (.) show 573.34 495.32 M (.) show 573.68 498.84 M (.) show 574.02 146.46 M (.) show 574.36 498.84 M (.) show 574.70 495.32 M (.) show 575.04 495.32 M (.) show 575.38 146.46 M (.) show 575.72 498.84 M (.) show 576.06 495.32 M (.) show 576.40 498.84 M (.) show 576.74 495.32 M (.) show 577.08 477.70 M (.) show 577.42 495.32 M (.) show 577.76 498.84 M (.) show 578.09 495.32 M (.) show 578.43 498.84 M (.) show 578.77 495.32 M (.) show 579.11 498.84 M (.) show 579.45 146.46 M (.) show 579.79 498.84 M (.) show 580.13 495.32 M (.) show 580.47 498.84 M (.) show 580.81 495.32 M (.) show 581.15 498.84 M (.) show 581.49 146.46 M (.) show 581.83 498.84 M (.) show 582.17 146.46 M (.) show 582.51 498.84 M (.) show 582.85 495.32 M (.) show 583.19 495.32 M (.) show 583.53 495.32 M (.) show 583.87 498.84 M (.) show 584.21 146.46 M (.) show 584.54 498.84 M (.) show 584.88 495.32 M (.) show 585.22 498.84 M (.) show 585.56 495.32 M (.) show 585.90 495.32 M (.) show 586.24 146.46 M (.) show 586.58 498.84 M (.) show 586.92 495.32 M (.) show 587.26 495.32 M (.) show 587.60 495.32 M (.) show 587.94 498.84 M (.) show 588.28 495.32 M (.) show 588.62 498.84 M (.) show 588.96 495.32 M (.) show 589.30 498.84 M (.) show 589.64 495.32 M (.) show 589.98 498.84 M (.) show 590.32 495.32 M (.) show 590.65 498.84 M (.) show 590.99 495.32 M (.) show 591.33 495.32 M (.) show 591.67 146.46 M (.) show 592.01 498.84 M (.) show 592.35 481.22 M (.) show 592.69 498.84 M (.) show 593.03 495.32 M (.) show 593.37 495.32 M (.) show 593.71 495.32 M (.) show 594.05 498.84 M (.) show 594.39 146.46 M (.) show 594.73 498.84 M (.) show 595.07 495.32 M (.) show 595.41 495.32 M (.) show 595.75 495.32 M (.) show 596.09 498.84 M (.) show 596.43 495.32 M (.) show 596.76 498.84 M (.) show 597.10 495.32 M (.) show 597.44 495.32 M (.) show 597.78 495.32 M (.) show 598.12 498.84 M (.) show 598.46 495.32 M (.) show 598.80 498.84 M (.) show 599.14 495.32 M (.) show 599.48 495.32 M (.) show 599.82 495.32 M (.) show 600.16 498.84 M (.) show 600.50 495.32 M (.) show 600.84 495.32 M (.) show 601.18 495.32 M (.) show 601.52 495.32 M (.) show 601.86 146.46 M (.) show 602.20 498.84 M (.) show 602.54 146.46 M (.) show 602.87 498.84 M (.) show 603.21 495.32 M (.) show 603.55 495.32 M (.) show 603.89 495.32 M (.) show 604.23 498.84 M (.) show 604.57 491.79 M (.) show 604.91 498.84 M (.) show 605.25 495.32 M (.) show 605.59 498.84 M (.) show 605.93 495.32 M (.) show 606.27 498.84 M (.) show 606.61 495.32 M (.) show 606.95 498.84 M (.) show 607.29 495.32 M (.) show 607.63 498.84 M (.) show 607.97 495.32 M (.) show 608.31 498.84 M (.) show 608.65 495.32 M (.) show 608.99 498.84 M (.) show 609.32 495.32 M (.) show 609.66 498.84 M (.) show 610.00 495.32 M (.) show 610.34 498.84 M (.) show 610.68 495.32 M (.) show 611.02 498.84 M (.) show 611.36 495.32 M (.) show 611.70 495.32 M (.) show 612.04 146.46 M (.) show 612.38 498.84 M (.) show 612.72 495.32 M (.) show 613.06 498.84 M (.) show 613.40 495.32 M (.) show 613.74 495.32 M (.) show 614.08 495.32 M (.) show 614.42 495.32 M (.) show 614.76 146.46 M (.) show 615.10 498.84 M (.) show 615.43 495.32 M (.) show 615.77 495.32 M (.) show 616.11 495.32 M (.) show 616.45 498.84 M (.) show 616.79 146.46 M (.) show 617.13 498.84 M (.) show 617.47 495.32 M (.) show 617.81 495.32 M (.) show 618.15 146.46 M (.) show 618.49 498.84 M (.) show 618.83 495.32 M (.) show 619.17 495.32 M (.) show 619.51 495.32 M (.) show 619.85 498.84 M (.) show 620.19 495.32 M (.) show 620.53 498.84 M (.) show 620.87 495.32 M (.) show 621.21 498.84 M (.) show 621.54 495.32 M (.) show 621.88 498.84 M (.) show 622.22 495.32 M (.) show 622.56 498.84 M (.) show 622.90 495.32 M (.) show 623.24 498.84 M (.) show 623.58 495.32 M (.) show 623.92 498.84 M (.) show 624.26 495.32 M (.) show 624.60 495.32 M (.) show 624.94 146.46 M (.) show 625.28 498.84 M (.) show 625.62 495.32 M (.) show 625.96 495.32 M (.) show 626.30 146.46 M (.) show 626.64 498.84 M (.) show 626.98 495.32 M (.) show 627.32 498.84 M (.) show 627.66 495.32 M (.) show 627.99 498.84 M (.) show 628.33 495.32 M (.) show 628.67 498.84 M (.) show 629.01 495.32 M (.) show 629.35 498.84 M (.) show 629.69 495.32 M (.) show 630.03 495.32 M (.) show 630.37 146.46 M (.) show 630.71 498.84 M (.) show 631.05 495.32 M (.) show 631.39 498.84 M (.) show 631.73 495.32 M (.) show 632.07 498.84 M (.) show 632.41 495.32 M (.) show 632.75 498.84 M (.) show 633.09 495.32 M (.) show 633.43 498.84 M (.) show 633.77 495.32 M (.) show 634.10 498.84 M (.) show 634.44 495.32 M (.) show 634.78 495.32 M (.) show 635.12 491.79 M (.) show 635.46 498.84 M (.) show 635.80 495.32 M (.) show 636.14 498.84 M (.) show 636.48 495.32 M (.) show 636.82 498.84 M (.) show 637.16 495.32 M (.) show 637.50 498.84 M (.) show 637.84 495.32 M (.) show 638.18 495.32 M (.) show 638.52 146.46 M (.) show 638.86 498.84 M (.) show 639.20 495.32 M (.) show 639.54 498.84 M (.) show 639.88 495.32 M (.) show 640.21 495.32 M (.) show 640.55 495.32 M (.) show 640.89 498.84 M (.) show 641.23 495.32 M (.) show 641.57 498.84 M (.) show 641.91 495.32 M (.) show 642.25 495.32 M (.) show 642.59 495.32 M (.) show 642.93 498.84 M (.) show 643.27 495.32 M (.) show 643.61 498.84 M (.) show 643.95 495.32 M (.) show 644.29 495.32 M (.) show 644.63 495.32 M (.) show 644.97 498.84 M (.) show 645.31 146.46 M (.) show 645.65 498.84 M (.) show 645.99 495.32 M (.) show 646.32 495.32 M (.) show 646.66 146.46 M (.) show 647.00 498.84 M (.) show 647.34 495.32 M (.) show 647.68 495.32 M (.) show 648.02 495.32 M (.) show 648.36 498.84 M (.) show 648.70 495.32 M (.) show 649.04 498.84 M (.) show 649.38 146.46 M (.) show 649.72 498.84 M (.) show 650.06 495.32 M (.) show 650.40 495.32 M (.) show 650.74 495.32 M (.) show 651.08 498.84 M (.) show 651.42 495.32 M (.) show 651.76 498.84 M (.) show 652.10 495.32 M (.) show 652.44 498.84 M (.) show 652.77 146.46 M (.) show 653.11 498.84 M (.) show 653.45 146.46 M (.) show 653.79 498.84 M (.) show 654.13 495.32 M (.) show 654.47 495.32 M (.) show 654.81 495.32 M (.) show 655.15 495.32 M (.) show 655.49 495.32 M (.) show 655.83 498.84 M (.) show 656.17 495.32 M (.) show 656.51 495.32 M (.) show 656.85 495.32 M (.) show 657.19 498.84 M (.) show 657.53 495.32 M (.) show 657.87 498.84 M (.) show 658.21 495.32 M (.) show 658.55 495.32 M (.) show 658.88 146.46 M (.) show 659.22 498.84 M (.) show 659.56 146.46 M (.) show 659.90 498.84 M (.) show 660.24 495.32 M (.) show 660.58 498.84 M (.) show 660.92 495.32 M (.) show 661.26 498.84 M (.) show 661.60 495.32 M (.) show 661.94 495.32 M (.) show 662.28 495.32 M (.) show 662.62 495.32 M (.) show 662.96 495.32 M (.) show 663.30 498.84 M (.) show 663.64 146.46 M (.) show 663.98 498.84 M (.) show 664.32 495.32 M (.) show 664.66 498.84 M (.) show 664.99 495.32 M (.) show 665.33 498.84 M (.) show 665.67 495.32 M (.) show 666.01 498.84 M (.) show 666.35 495.32 M (.) show 666.69 498.84 M (.) show 667.03 495.32 M (.) show 667.37 498.84 M (.) show 667.71 146.46 M (.) show 668.05 498.84 M (.) show 668.39 495.32 M (.) show 668.73 495.32 M (.) show 669.07 495.32 M (.) show 669.41 498.84 M (.) show 669.75 495.32 M (.) show 670.09 498.84 M (.) show 670.43 495.32 M (.) show 670.77 495.32 M (.) show 671.11 495.32 M (.) show 671.44 498.84 M (.) show 671.78 495.32 M (.) show 672.12 498.84 M (.) show 672.46 495.32 M (.) show 672.80 498.84 M (.) show 673.14 495.32 M (.) show 673.48 498.84 M (.) show 673.82 495.32 M (.) show 674.16 498.84 M (.) show 674.50 495.32 M (.) show 674.84 498.84 M (.) show 675.18 495.32 M (.) show 675.52 495.32 M (.) show 675.86 495.32 M (.) show 676.20 495.32 M (.) show 676.54 495.32 M (.) show 676.88 498.84 M (.) show 677.22 495.32 M (.) show 677.55 498.84 M (.) show 677.89 495.32 M (.) show 678.23 498.84 M (.) show 678.57 495.32 M (.) show 678.91 498.84 M (.) show 679.25 146.46 M (.) show 679.59 498.84 M (.) show 679.93 146.46 M (.) show 680.27 498.84 M (.) show 680.61 495.32 M (.) show 680.95 484.75 M (.) show 681.29 146.46 M (.) show 681.63 498.84 M (.) show 681.97 495.32 M (.) show 682.31 495.32 M (.) show 682.65 495.32 M (.) show 682.99 495.32 M (.) show 683.33 146.46 M (.) show 683.66 498.84 M (.) show 684.00 495.32 M (.) show 684.34 498.84 M (.) show 684.68 495.32 M (.) show 685.02 498.84 M (.) show 685.36 495.32 M (.) show 685.70 498.84 M (.) show 686.04 495.32 M (.) show 686.38 498.84 M (.) show 686.72 495.32 M (.) show 687.06 498.84 M (.) show 687.40 146.46 M (.) show 687.74 498.84 M (.) show 688.08 495.32 M (.) show 688.42 498.84 M (.) show 688.76 495.32 M (.) show 689.10 498.84 M (.) show 689.44 146.46 M (.) show 689.77 498.84 M (.) show 690.11 495.32 M (.) show 690.45 498.84 M (.) show 690.79 495.32 M (.) show 691.13 495.32 M (.) show 691.47 146.46 M (.) show 691.81 498.84 M (.) show 692.15 495.32 M (.) show 692.49 495.32 M (.) show 692.83 495.32 M (.) show 693.17 495.32 M (.) show 693.51 495.32 M (.) show 693.85 498.84 M (.) show 694.19 146.46 M (.) show 694.53 498.84 M (.) show 694.87 495.32 M (.) show 695.21 495.32 M (.) show 695.55 495.32 M (.) show 695.89 498.84 M (.) show 696.22 146.46 M (.) show 696.56 498.84 M (.) show 696.90 495.32 M (.) show 697.24 495.32 M (.) show 697.58 146.46 M (.) show 697.92 498.84 M (.) show 698.26 146.46 M (.) show 698.60 498.84 M (.) show 698.94 495.32 M (.) show 699.28 495.32 M (.) show 699.62 495.32 M (.) show 699.96 498.84 M (.) show 700.30 146.46 M (.) show 700.64 498.84 M (.) show 700.98 495.32 M (.) show 701.32 495.32 M (.) show 701.66 495.32 M (.) show 702.00 498.84 M (.) show 702.33 495.32 M (.) show 702.67 498.84 M (.) show 703.01 495.32 M (.) show 703.35 498.84 M (.) show 703.69 495.32 M (.) show 704.03 498.84 M (.) show 704.37 495.32 M (.) show 704.71 498.84 M (.) show 705.05 495.32 M (.) show 705.39 498.84 M (.) show 705.73 495.32 M (.) show 706.07 498.84 M (.) show 706.41 495.32 M (.) show 706.75 498.84 M (.) show 707.09 495.32 M (.) show 707.43 498.84 M (.) show 707.77 495.32 M (.) show 708.11 498.84 M (.) show 708.44 146.46 M (.) show 708.78 498.84 M (.) show 709.12 495.32 M (.) show 709.46 495.32 M (.) show 709.80 146.46 M (.) show 710.14 498.84 M (.) show 710.48 495.32 M (.) show 710.82 498.84 M (.) show 711.16 495.32 M (.) show 711.50 495.32 M (.) show 711.84 495.32 M (.) show 712.18 498.84 M (.) show 712.52 495.32 M (.) show 712.86 498.84 M (.) show 713.20 495.32 M (.) show 713.54 498.84 M (.) show 713.88 495.32 M (.) show 714.22 498.84 M (.) show 714.56 495.32 M (.) show 714.89 498.84 M (.) show 715.23 495.32 M (.) show 715.57 495.32 M (.) show 715.91 495.32 M (.) show 716.25 498.84 M (.) show 716.59 146.46 M (.) show 716.93 498.84 M (.) show 717.27 495.32 M (.) show 717.61 498.84 M (.) show 717.95 495.32 M (.) show 718.29 495.32 M (.) show 718.63 495.32 M (.) show 718.97 498.84 M (.) show 719.31 495.32 M (.) show 719.65 498.84 M (.) show 719.99 146.46 M (.) show 720.33 498.84 M (.) show 720.67 491.79 M (.) show 721.00 498.84 M (.) show 721.34 495.32 M (.) show 721.68 495.32 M (.) show 722.02 146.46 M (.) show 722.36 498.84 M (.) show 722.70 495.32 M (.) show 723.04 498.84 M (.) show 723.38 495.32 M (.) show 723.72 495.32 M (.) show 724.06 146.46 M (.) show 724.40 498.84 M (.) show 724.74 495.32 M (.) show 725.08 498.84 M (.) show 725.42 495.32 M (.) show 725.76 495.32 M (.) show 726.10 495.32 M (.) show 726.44 495.32 M (.) show 726.78 495.32 M (.) show 727.11 498.84 M (.) show 727.45 495.32 M (.) show 727.79 498.84 M (.) show 728.13 495.32 M (.) show 728.47 498.84 M (.) show 728.81 146.46 M (.) show 729.15 498.84 M (.) show 729.49 495.32 M (.) show 729.83 495.32 M (.) show 730.17 146.46 M (.) show 730.51 498.84 M (.) show 730.85 495.32 M (.) show 731.19 498.84 M (.) show 731.53 495.32 M (.) show 731.87 495.32 M (.) show 732.21 146.46 M (.) show 732.55 498.84 M (.) show 732.89 495.32 M (.) show 733.22 495.32 M (.) show 733.56 495.32 M (.) show 733.90 495.32 M (.) show 734.24 146.46 M (.) show 734.58 498.84 M (.) show 734.92 146.46 M (.) show 735.26 498.84 M (.) show 735.60 495.32 M (.) show 735.94 498.84 M (.) show 736.28 495.32 M (.) show 736.62 495.32 M (.) show 736.96 495.32 M (.) show 737.30 498.84 M (.) show 737.64 495.32 M (.) show 737.98 495.32 M (.) show 738.32 495.32 M (.) show 738.66 498.84 M (.) show 739.00 146.46 M (.) show 739.34 498.84 M (.) show 739.67 495.32 M (.) show 740.01 495.32 M (.) show 740.35 495.32 M (.) show 740.69 498.84 M (.) show 741.03 146.46 M (.) show 741.37 498.84 M (.) show 741.71 495.32 M (.) show 742.05 498.84 M (.) show 742.39 495.32 M (.) show 742.73 498.84 M (.) show 743.07 495.32 M (.) show 743.41 495.32 M (.) show 743.75 495.32 M (.) show 744.09 498.84 M (.) show 744.43 146.46 M (.) show 744.77 498.84 M (.) show 745.11 146.46 M (.) show 745.45 498.84 M (.) show 745.78 495.32 M (.) show 746.12 498.84 M (.) show 746.46 495.32 M (.) show 746.80 498.84 M (.) show 747.14 495.32 M (.) show 747.48 495.32 M (.) show 747.82 495.32 M (.) show 748.16 498.84 M (.) show 748.50 146.46 M (.) show 748.84 498.84 M (.) show 749.18 495.32 M (.) show 749.52 498.84 M (.) show 749.86 495.32 M (.) show 750.20 495.32 M (.) show 750.54 146.46 M (.) show 750.88 498.84 M (.) show 751.22 491.79 M (.) show 751.56 498.84 M (.) show 751.89 495.32 M (.) show 752.23 495.32 M (.) show 752.57 495.32 M (.) show 752.91 498.84 M (.) show 753.25 495.32 M (.) show 753.59 498.84 M (.) show 753.93 495.32 M (.) show 754.27 495.32 M (.) show 754.61 495.32 M (.) show 754.95 498.84 M (.) show largefont setfont -14.00 -324.00 (% of witnesses) (% of witnesses) 14.00 324.00 centre_rot90 largefont setfont 417.55 14.00 M (n) centre (n) show largefont setfont 417.55 586.00 M (Distribution of witnesses to compositeness of n) centre (Distribution of witnesses to compositeness of n) show print_pic print_last_page %%EndDocument -75 758 a endTexFig 0 2018 a FH(Figure)18 b(2:)25 b(P)o(ercen)o(tage)17 b(of)h(witnesses)h(to)g (the)e(comp)q(ositeness)i(of)g FB(n)f FH(in)g(the)g(range)g(10,000)i(to)e (12,000.)0 2090 y(The)e(p)q(oin)o(ts)i(at)e FB(y)g FH(=)e(0)i(represen)o(t)g (prime)g(n)o(um)o(b)q(ers.)951 2828 y(23)p eop bop 0 213 a Fp(g)73 432 y FH(In)15 b(the)h(ab)q(o)o(v)o(e)f(algorithm,)i(if)f (either)g(condition)h(\(2\))f(or)g(\(3\))g(is)g(satis\014ed)h(then)e FB(n)h FH(is)g(comp)q(osite.)22 b(On)0 505 y(the)14 b(other)f(hand,)i(if)f (\(2\))g(and)h(\(3\))f(are)f(not)i(satis\014ed)g(b)o(y)e FB(x)g FH(then)h FB(n)g FH(ma)o(y)f(or)h(ma)o(y)g(not)g(b)q(e)g(comp)q(osite)g(and)0 577 y(the)g(pro)q(cedure)h(m)o(ust)f(b)q(e)h(rep)q(eated.)20 b(If)14 b FB(r)i FH(trials)g(are)f(used,)f(the)g(probabilit)o(y)j(that)e FB(n)g FH(is)g(comp)q(osite)g(and)0 649 y(not)j(detected)f(is)i(less)f(than)h (1)p FB(=)p FH(2)615 631 y Fw(r)635 649 y FH(.)26 b(Therefore,)18 b(with)g(v)o(ery)f(few)h(trials,)h(one)f(can)g(either)g(pro)o(v)o(e)f(that)i (a)0 721 y(n)o(um)o(b)q(er)14 b(is)i(comp)q(osite)g(or)g(gain)g(a)g(high)g (degree)e(of)i(con\014dence)e(that)i(it)f(is)h(prime.)21 b(See)15 b(also)h([BBC)1859 703 y FI(+)1888 721 y FH(88])0 794 y(for)g(some)f(in)o (triguing)j(observ)m(ations)g(ab)q(out)f(the)e(p)q(erformance)g(of)h(Rabin's) h(primalit)o(y)f(test)g(and)g(ab)q(out)0 866 y(its)h(reliabilit)o(y)i(when)d (used)g(to)h(generate)f(a)h(random)f(in)o(teger)h(that)f(is)h(probably)h (prime.)73 968 y(In)d(the)f(mid-sev)o(en)o(ties,)h(another)g(probabilisti)q (c)i(primalit)o(y)f(testing)g(algorithm)h(w)o(as)e(disco)o(v)o(ered)g(b)o(y)0 1040 y(Solo)o(v)m(a)o(y)20 b(and)h(Strassen)f([SS77].)31 b(Some)20 b(basic)g(results)h(in)f(n)o(um)o(b)q(er)f(theory)g(are)h(needed)f(to)h (describ)q(e)0 1113 y(their)15 b(algorithm.)22 b(F)l(or)15 b(an)o(y)f(prime)h(n)o(um)o(b)q(er)e FB(n)p FH(,)i(one)g(can)f(de\014ne)g FB(Z)1252 1094 y Ft(\003)1248 1125 y Fw(n)1286 1113 y FH(=)g Fx(f)p FH(1)p FB(;)8 b FH(.)g(.)g(.)g FB(;)g(n)f Fx(\000)g FH(1)p Fx(g)p FH(,)15 b(a)g(cyclic)f(group)0 1185 y(under)j(m)o (ultiplication)i(mo)q(d)e FB(n)p FH(.)23 b(The)16 b FF(L)n(e)n(gendr)n(e)i (Symb)n(ol)f FH(for)g(an)o(y)f(elemen)o(t)g FB(x)e Fx(2)h FB(Z)1572 1167 y Ft(\003)1568 1197 y Fw(n)1592 1185 y FH(,)h(denoted)h(b)o(y)f(\()1894 1167 y Fw(x)p 1894 1174 22 2 v 1894 1197 a(n)1917 1185 y FH(\),)0 1257 y(is)g(de\014ned)g(to)g(b)q(e)g(1)g(or)g Fx(\000)p FH(1)f(dep)q(ending)i (on)f(whether)g(or)g(not)g FB(x)f FH(is)i(a)f(p)q(erfect)f(square)g(\(i.e.,)g (a)h(quadratic)0 1329 y(residue)g(mo)q(dulo)i FB(n)p FH(\))e(of)g(some)g (other)g(elemen)o(t)f(in)i FB(Z)982 1311 y Ft(\003)978 1342 y Fw(n)1002 1329 y FH(.)k(More)16 b(precisely)l(,)g(\()1391 1311 y Fw(x)p 1391 1318 V 1391 1342 a(n)1414 1329 y FH(\))e(=)g(1)i(if)h FB(x)c Fx(\021)h FB(y)1704 1311 y FI(2)1773 1329 y FH(\(mo)q(d)j FB(n)p FH(\))0 1401 y(for)g(some)f FB(y)f Fx(2)f FB(Z)320 1383 y Ft(\003)316 1414 y Fw(n)340 1401 y FH(,)i Fx(\000)p FH(1)g(otherwise.)73 1504 y(If)h FB(x)f FH(is)i(a)f(p)q(erfect)g(square,)f(sa)o(y)h FB(x)e Fx(\021)g FB(y)797 1486 y FI(2)866 1504 y FH(\(mo)q(d)i FB(n)p FH(\),)g(then)g(it)g(is)h(not)f(di\016cult)h(to)f(see)g(that)g FB(x)1831 1471 y Fv(n)p Fl(\000)p Fq(1)p 1831 1478 59 2 v 1852 1498 a(2)1911 1504 y Fx(\021)0 1576 y FB(y)26 1558 y FI(\()p Fw(n)p Ft(\000)p FI(1\))135 1576 y Fx(\021)d FH(1)50 b(\(mo)q(d)17 b FB(n)p FH(\).)k(This)d(leads)f(to)f(a)g(fast)h(w)o(a)o(y)e(of)i(computing)g (the)e(Legendre)h(sym)o(b)q(ol.)22 b(One)16 b(can)0 1648 y(extend)g(these)h (concepts)f(to)h(a)g(general)h FB(n)f FH(whic)o(h)g(ma)o(y)f(or)h(ma)o(y)g (not)g(b)q(e)g(prime.)22 b(In)17 b(this)h(case,)e(for)h(an)o(y)0 1720 y(n)o(um)o(b)q(er)g FB(n)p FH(,)g(one)h(can)f(de\014ne)g FB(Z)599 1702 y Ft(\003)595 1733 y Fw(n)635 1720 y FH(=)f Fx(f)p FB(x)p Fx(j)p FB(x)f Fx(2)h(f)p FH(1)p FB(;)8 b FH(.)g(.)g(.)g FB(;)g(n)j Fx(\000)h FH(1)p Fx(g)p FH(,)18 b(and)g(gcd\()p FB(x;)8 b(n)p FH(\))15 b(=)h(1)p Fx(g)p FH(.)25 b(Once)17 b(again,)i FB(Z)1930 1702 y Ft(\003)1926 1733 y Fw(n)0 1793 y FH(is)h(a)f(group)h(under) f(m)o(ultiplication)j(mo)q(d)d FB(n)p FH(.)29 b(The)19 b(Legendre)g(sym)o(b)q (ol)h(is)g(generalized)f(to)h(the)e FF(Jac)n(obi)0 1865 y(symb)n(ol)5 b FH(:)22 b(if)17 b FB(n)f FH(is)i(prime,)e(the)g(Jacobi)i(sym)o(b)q(ol)f (equals)g(the)f(Legendre)h(sym)o(b)q(ol;)g(when)f FB(n)h FH(is)g(comp)q (osite,)0 1937 y(the)d(Jacobi)i(sym)o(b)q(ol)g(is)f(de\014ned)g(to)g(b)q(e)g (the)f(pro)q(duct)i(of)f(all)h(the)e(Legendre)h(sym)o(b)q(ols)h(corresp)q (onding)h(to)0 2009 y(the)f(prime)g(factors)h(of)g FB(n)p FH(,)e(i.e.,)h(if)g FB(n)e FH(=)g(\005)p FB(p)788 2016 y Fw(i)802 2009 y FH(,)i(then)g(\()962 1991 y Fw(x)p 962 1998 22 2 v 962 2022 a(n)986 2009 y FH(\))d(=)h(\005\()1126 1991 y Fw(x)p 1126 1998 V 1126 2022 a(p)1144 2027 y Fv(i)1159 2009 y FH(\).)73 2124 y(In)22 b(the)g(algorithm)i(b)o(y)e(Solo)o(v)m(a)o(y)h (and)f(Strassen,)i(for)f FB(x)g Fx(2)h(f)p FH(1)p FB(;)8 b FH(.)g(.)g(.)g FB(;)g(n)15 b Fx(\000)g FH(1)p Fx(g)22 b FH(to)h(b)q(e)f(a)h (witness)g(to)0 2209 y(comp)q(ositeness)d(of)f FB(n)p FH(,)f(either)h(gcd\()p FB(x;)8 b(n)p FH(\))17 b FB(>)h FH(1)h(or)g FB(x)980 2176 y Fv(n)p Fl(\000)p Fq(1)p 979 2183 59 2 v 1001 2203 a(2)1095 2209 y FH(\(mo)q(d)e FB(n)p FH(\))h Fx(6)p FH(=)f(\()1364 2191 y Fw(x)p 1364 2198 22 2 v 1364 2221 a(n)1388 2209 y FH(\).)28 b(Their)19 b(algorithm)h(can)f(b)q(e)0 2293 y(stated)e(as)f(follo)o(ws.)0 2441 y Fy(PrimeT)m(est)f(\(Solovay-Str)n(assen\))23 b Fp(f)h Fo(\(*)f(another)g(algorithm)g(for)g(primality)g(testing*\))143 2525 y(Input)g Fn(n)143 2610 y Fo(REPEAT)g Fn(r)h Fo(times)p Fp(f)285 2695 y Fo(\(1\))g(randomly)f(pick)g(an)g Fn(x)h Fo(between)f(1)h (and)f Fn(n)951 2828 y FH(24)p eop bop 285 213 a Fo(\(2\))24 b(if)f Fz(gcd)q(\()p Fn(x;)8 b(n)p Fz(\))j Fn(>)i Fz(1)p Fo(,)23 b(output)h(`composite')e(and)h(HALT)285 298 y(\(3\))h(if)f Fn(x)483 265 y Fv(n)p Fl(\000)p Fq(1)p 483 272 59 2 v 505 293 a(2)594 298 y Fz(\(mo)q(d)14 b Fn(n)p Fz(\))f Fp(6)p Fz(=)g(\()838 274 y Fw(x)p 838 281 22 2 v 838 303 a(n)861 298 y Fz(\))p Fo(,)23 b(output)g(`composite')g(and)g(HALT)285 382 y Fp(g)143 467 y Fo(output)g(`prime')g(and)g(HALT)0 552 y Fp(g)73 766 y FH(Determining)15 b(if)g FB(x)f FH(and)g FB(n)g FH(are)h(relativ)o(ely)f(prime)g(\(e.g.)20 b(b)o(y)14 b(Euclid's)h (algorithm\),)h(computing)f FB(x)1885 733 y Fv(n)p Fl(\000)p Fq(1)p 1885 740 59 2 v 1906 760 a(2)0 838 y FH(\(mo)q(d)i FB(n)p FH(\),)j(and)h(the)e(Jacobi)i(sym)o(b)q(ol)f(\()742 820 y Fw(x)p 742 827 22 2 v 742 850 a(n)766 838 y FH(\),)g(can)g(all)h(b)q(e)f (accomplished)h(in)f(logarithmic)i(time.)31 b(If)19 b FB(n)h FH(is)0 910 y(prime,)13 b(then)g(it)g(follo)o(ws)i(from)d(the)h(fact)f(that)i FB(Z)883 892 y Ft(\003)879 922 y Fw(n)915 910 y FH(is)g(cyclic,)f(that)g FB(x)1241 875 y Fq(\()p Fv(n)p Fl(\000)p Fq(1\))p 1241 884 83 2 v 1274 905 a(2)1344 910 y Fx(\021)g FH(\()1415 892 y Fw(x)p 1415 899 22 2 v 1415 922 a(n)1439 910 y FH(\))50 b(\(mo)q(d)17 b FB(n)p FH(\).)j(Th)o(us)13 b(when)0 982 y FB(n)h FH(is)h(indeed)g(prime,)f (no)g FB(x)g FH(will)i(qualify)f(as)g(a)g(witness.)21 b(When)14 b FB(n)h FH(is)f(comp)q(osite,)i(Solo)o(v)m(a)o(y)f(and)f(Strassen)0 1055 y(sho)o(w)o(ed)f(that)g(the)g(set)g(of)g(false)h(witnesses)g(|)e(the)h (n)o(um)o(b)q(ers)g(in)g Fx(f)p FH(1)p FB(;)8 b FH(.)g(.)g(.)g FB(;)g(n)t Fx(\000)t FH(1)p Fx(g)13 b FH(that)h(violate)g(conditions)0 1127 y(\(1\))h(and)f(\(2\),)h(i.e.,)e(gcd)q(\()p FB(x;)8 b(n)p FH(\))13 b(=)h(1)h(and)f FB(x)770 1091 y Fq(\()p Fv(n)p Fl(\000)p Fq(1\))p 770 1101 83 2 v 804 1121 a(2)873 1127 y Fx(\021)g FH(\()945 1109 y Fw(x)p 945 1116 22 2 v 945 1139 a(n)968 1127 y FH(\))50 b(\(mo)q(d)17 b FB(n)p FH(\))e(|)f(forms)g(a)h(prop)q(er)f (subgroup)i(of)f FB(Z)1917 1109 y Ft(\003)1913 1139 y Fw(n)1936 1127 y FH(.)0 1199 y(Hence)f(the)h(cardinalit)o(y)j(of)d(this)i(set)e(can)h (b)q(e)f(at)h(most)g(\()p FB(n)10 b Fx(\000)f FH(1\))p FB(=)p FH(2.)22 b(Once)15 b(again,)i(using)g(the)e(prop)q(erties)0 1271 y(of)k(quadratic)g(residues)g(mo)q(dulo)h FB(n)p FH(,)f(the)f(witnesses) h(for)g(comp)q(ositeness)h(are)e(de\014ned)g(in)h(suc)o(h)g(a)f(w)o(a)o(y)0 1343 y(that)f(they)e(are)i(b)q(oth)g(easily)g(c)o(hec)o(k)m(able)f(and)h (abundan)o(t.)73 1446 y(An)22 b(in)o(teresting)h(comparison)h(of)e(the)g (Miller-Rabin)j(and)e(Solo)o(v)m(a)o(y-Strassen)h(primalit)o(y)f(testing)0 1518 y(algorithms)f(is)e(giv)o(en)g(in)g([Mon80],)g(where)f(it)h(is)h(sho)o (wn)f(that)g(the)f(former)g(is)h(alw)o(a)o(ys)h(more)e(e\016cien)o(t)0 1590 y(than)13 b(the)e(latter.)21 b(These)12 b(t)o(w)o(o)f(algorithms)k(are)d (of)g(the)g(Mon)o(te)f(Carlo)j(v)m(ariet)o(y)e(b)q(ecause)g(when)g FB(n)g FH(is)h(prime)0 1662 y(they)j(can)g(rep)q(ort)h(so)g(only)g(with)g(a)g (certain)g(probabilistic)i(measure)d(of)h(con\014dence;)e(in)i(particular,)h (no)0 1735 y(pro)q(of)f(is)g(pro)o(vided)g(that)f(this)h(is)g(the)f(case.)21 b(Con)o(vincing)d(someb)q(o)q(dy)f(that)f(a)h(n)o(um)o(b)q(er)e(is)i(comp)q (osite)g(is)0 1807 y(an)f(easy)g(task:)22 b(one)16 b(simply)g(has)h(to)f (exhibit)h(that)f(it)g(is)h(a)f(pro)q(duct)h(of)f(other)g(t)o(w)o(o)g(n)o(um) o(b)q(ers.)k(Ho)o(w)c(can)0 1879 y(one)f(demonstrate)f(that)h(a)g(n)o(um)o(b) q(er)e FB(n)i FH(is)g(prime?)21 b(Certainly)15 b(it)g(can)g(b)q(e)f(done)h(b) o(y)f(sho)o(wing)i(all)g(p)q(ossible)0 1951 y(trial)k(divisions,)g(but)e (that)h(is)g(not)f(an)h(e\016cien)o(t)e(pro)q(of)i(as)g(it)f(is)h(exp)q(onen) o(tially)h(long)f(in)g(the)f(length)h(of)0 2024 y FB(n)p FH(.)30 b(It)18 b(w)o(as)i(sho)o(wn)f(b)o(y)g(Pratt)g([Pra75)q(],)g(using)h(the)f (Lucas-Lehmer)g(heuristic)h(for)f(primalit)o(y)i(testing,)0 2096 y(that)e(one)f(can)g(giv)o(e)g(a)h(succinct)f(pro)q(of)h(for)g (primeness)f(of)g(a)h(n)o(um)o(b)q(er)e FB(n)h FH(in)h FB(O)q FH(\(log)11 b FB(n)p FH(\))18 b(lines.)28 b(While)19 b(it)0 2168 y(is)f(easy)f(to)g(v)o(erify)f(suc)o(h)h(a)g(pro)q(of,)g(unfortunately)l (,)h(there)e(is)i(no)f(kno)o(wn)g(metho)q(d)g(for)g(coming)h(up)f(with)0 2240 y(the)f(pro)q(of,)h(or)g(demonstrating)g(the)f(absence)g(thereof,)g(in)h (p)q(olynomial)i(time.)73 2342 y(Other)13 b(algorithms)j(utilizing)g (di\013eren)o(t)e(n)o(um)o(b)q(er)f(theoretic)g(prop)q(erties)i(for)f (de\014ning)g(witnesses)h(for)0 2415 y(comp)q(ositeness)e FF(and)f FH(primalit)o(y)h(ha)o(v)o(e)e(also)i(b)q(een)f(disco)o(v)o(ered)f([Rab80a)r (,)g(Leh82)q(,)g(AH87,)h(GK86)q(,)f(AH88].)0 2487 y(F)l(or)21 b(example,)g(Adleman)g(and)g(Huang)g([AH88])f(ha)o(v)o(e)g(devised)h(a)g(new) g(algorithm)h(that,)g(instead)g(of)0 2559 y(deciding)g(primalit)o(y)g(b)o(y)e (the)g(inabilit)o(y)j(to)e(demonstrate)g(witnesses)g(to)g(comp)q(ositeness,)i (emplo)o(ys)e(a)0 2631 y(separate)e(Mon)o(te)e(Carlo)j(test)e(for)h(primalit) o(y)l(.)28 b(Th)o(us,)19 b(just)f(lik)o(e)g(comp)q(osite)i(n)o(um)o(b)q(ers,) d(there)h(exists)h(a)0 2704 y(random)h(p)q(olynomial)h(time)e(algorithm)i (for)e(the)g(set)g(of)g(prime)g(n)o(um)o(b)q(ers.)28 b(The)19 b(algorithm)i(\015ip-\015ops)951 2828 y(25)p eop bop 0 195 a FH(b)q(et)o(w)o(een)23 b(searc)o(hing)i(for)g(witnesses)g(to)f (comp)q(ositeness)i(and)f(witnesses)g(to)f(primalit)o(y)l(,)j(ev)o(en)o (tually)0 267 y(\014nding)22 b(one)f(in)g(p)q(olynomiall)q(y)i(b)q(ounded)f (exp)q(ected)d(time.)35 b(This)22 b(algorithm,)h(whic)o(h)e(is)g(of)g(the)g (Las)0 340 y(V)l(egas)16 b(v)m(ariet)o(y)l(,)g(will)i(nev)o(er)d(declare)h(a) g(comp)q(osite)h(n)o(um)o(b)q(er)e(to)i(b)q(e)f(prime)g(or)g(vice)g(v)o (ersa.)21 b(Ho)o(w)o(ev)o(er,)13 b(it)0 412 y(ma)o(y)j(not)g(terminate)h(in)f (p)q(olynomial)j(time)e(for)f(some)g(inputs.)73 514 y(The)i(next)f(problem)i (w)o(e)e(consider,)i(whic)o(h)f(concerns)g(the)f(notion)j(of)e FF(tr)n(ansitive)h(tournament)g FH(due)0 586 y(to)i(Erd})-24 b(os)21 b(and)g(Sp)q(encer)f([ES74)q(],)g(again)i(illustrates)h(random)e (searc)o(h.)33 b(In)20 b(this)i(case,)f(ho)o(w)o(ev)o(er,)e(the)0 658 y(sample)c(space)f(is)h(so)f(abundan)o(t)h(with)g(go)q(o)q(d)h(p)q(oin)o (ts)f(that)g(the)f(\\c)o(hec)o(king")g(step)g(inheren)o(t)g(to)g(primalit)o (y)0 731 y(testing)j(can)g(b)q(e)f(disp)q(ensed)h(with.)0 942 y Fu(2.3)70 b(Net)n(w)n(orks)22 b(without)h(Large)h(Hierarc)n(hies)0 1077 y FH(Long)16 b(ago,)f(in)g(a)g(place)g(called)g(Confusion)h(Land,)g (there)e(reigned)g(an)h(incomp)q(eten)o(t)f(king)i(called)f(Nadir.)0 1149 y(Nadir)22 b(had)g(app)q(oin)o(ted)h(1000)g(ministers,)h(generals,)f (and)f(other)g(high-ranking)i(o\016cials)f(to)f(v)m(arious)0 1221 y(p)q(ortfolios)h(in)f(his)f(kingdom.)36 b(As)20 b(usual,)j(Nadir)e(w)o (as)g(afraid)h(that)f(some)g(of)g(his)g(app)q(oin)o(tees)h(w)o(ould)0 1294 y(organize,)17 b(rev)o(olt,)f(and)h(\014nally)h(usurp)f(the)f(throne.)21 b(His)c(remedy)e(w)o(as)i(simple:)22 b(k)o(eep)16 b(them)f(confused.)0 1366 y(He)g(did)h(this)h(b)o(y)e(not)h(allo)o(wing)i(a)e(clear-cut)g(line)g (of)g(command|a)g(hierarc)o(h)o(y|to)f(b)q(e)h(formed)f(among)0 1438 y(these)j(o\016cials.)30 b(His)19 b(long)g(exp)q(erience)f(in)h(p)q (olitics)i(had)e(con)o(vinced)g(him)f(that)h(ev)o(en)f(if)h(as)g(few)f(as)h (25)0 1510 y(o\016cials)f(got)f(organized)g(they)f(w)o(ould)h(o)o(v)o(erthro) o(w)f(him.)73 1612 y(Nadir's)i(de\014nition)i(of)e(\\b)q(eing)i(organized")f (is)g(as)f(follo)o(ws:)27 b FB(k)20 b FH(o\016cials)f(are)f(said)h(to)g(b)q (e)f FF(or)n(ganize)n(d)0 1685 y(in)g(a)g(hier)n(ar)n(chy)c FH(if)j(for)g(ev)o(ery)e(three)h(of)h(them,)e(the)i(\\is-a-b)q(oss-o)q(f)s(") j(relation)e(is)g(transitiv)o(e.)k(That)c(is,)f(if)0 1757 y(for)g(all)i (triples)f(of)g(the)f(form)g(\()p FB(A;)8 b(B)s(;)g(C)t FH(\),)15 b(if)i FB(A)g FH(is)h(a)g(b)q(oss)g(of)f FB(B)j FH(and)e FB(B)i FH(is)d(a)h(b)q(oss)g(of)g FB(C)j FH(implies)d FB(A)f FH(is)h(a)0 1829 y(b)q(oss)g(of)e FB(C)t FH(,)f(then)i(the)f FB(k)i FH(o\016cials)f(are)g (organized.)73 1931 y(Ha)o(ving)e(made)g(app)q(oin)o(tmen)o(ts)h(to)f(the)g (1000)h(p)q(ositions,)i(Nadir)d(is)h(stuc)o(k)e(with)i(the)f(follo)o(wing)i (task.)0 2004 y(He)d(m)o(ust)g(de\014ne)h(the)f(is-a-b)q(oss-)q(of)k (relation)e(b)q(et)o(w)o(een)e FF(every)h FH(pair)h(of)f(app)q(oin)o(tees)h (suc)o(h)f(that)g(no)g(group)0 2076 y(of)k(25)h(or)g(more)e(o\016cials)j(is)f (organized.)31 b(A)o(t)18 b(the)h(micro-lev)o(el)g(\(groups)h(of)g(size)f (less)h(than)g(25\),)g(there)0 2148 y(ma)o(y)e(b)q(e)h(organized)h(groups;)h (at)e(the)f(macro-lev)o(el,)h(ho)o(w)o(ev)o(er,)f(confusion)i(should)h(prev)m (ail.)30 b(Ho)o(w)18 b(will)0 2220 y(Nadir)f(assign)h(ranks)f(to)f(these)g (thousand)i(app)q(oin)o(tees)f(in)g(order)g(to)f(ac)o(hiev)o(e)g(his)h(cro)q (ok)o(ed)f(ob)s(jectiv)o(e?)73 2323 y(In)g(this)h(section)g(w)o(e)f(consider) h(Nadir's)g(problem)g(in)g(detail)h(and)f(pro)o(vide)f(a)h(general)g (solution,)h(the)0 2395 y(k)o(ey)c(to)h(whic)o(h)g(is)g(a)g(theorem)f(of)h (Erd})-24 b(os)16 b(and)f(Sp)q(encer)g(\(Chapter)g(1)g(of)g([ES74)q(]\).)20 b(T)l(o)15 b(mak)o(e)f(this)h(section)0 2467 y(self-con)o(tained,)k(their)f (result)g(is)g(pro)o(v)o(ed)f(here)g(as)i(Theorem)e(1.)26 b(It)17 b(turns)h(out)g(that)h(Nadir's)f(problem)0 2539 y(falls)i(in)f(the)f (category)h(of)f(problems)i(for)e(whic)o(h)h(the)f(solution)j(space)d(is)h (abundan)o(t)h(with)f(candidates)0 2611 y(p)q(ossessing)g(a)d(giv)o(en)h (prop)q(ert)o(y)f(and)h(random)g(searc)o(h)f(can)g(b)q(e)g(used)h(to)f(deriv) o(e)g(the)g(solution.)951 2828 y(26)p eop bop 73 195 a FH(Nadir's)15 b(problem)g(can)g(b)q(e)g(describ)q(ed)g(as)h (that)f(of)g(constructing)h(a)f(net)o(w)o(ork)f(of)h(no)q(des,)g(where)g(eac) o(h)0 267 y(no)q(de)21 b(represen)o(ts)f(an)g(o\016cial.)35 b(Informally)l(,)22 b(a)f(net)o(w)o(ork)e(represen)o(ts)h(an)h(assignmen)o(t) g(of)g(precedence)0 340 y(b)q(et)o(w)o(een)g(all)i(p)q(ossible)h(pairs)f(of)f (no)q(des.)39 b(It)21 b(can)h(b)q(e)g(represen)o(ted)f(b)o(y)g(a)h(complete)g (directed)f(graph)0 412 y(where)16 b(an)h(edge)f(from)g FB(x)g FH(to)g FB(y)i FH(represen)o(ts)e(the)g(relation)i(\\x)e(is)h(a)g(b)q(oss)g (of)g(y)l(.")73 514 y(F)l(ormally)l(,)f(a)h FF(network)g FB(T)22 b FF(on)17 b(a)g(set)f FB(V)27 b FH(is)17 b(a)f(directed)f(graph)i(\()p FB(V)s(;)8 b(T)f FH(\))15 b(where)g FB(T)20 b Fx(\032)14 b FB(V)21 b Fx(\002)10 b FB(V)27 b FH(suc)o(h)16 b(that)0 586 y(for)k(all)i FB(x;)8 b(y)21 b Fx(2)g FB(V)s(;)28 b(x)20 b Fx(6)p FH(=)g FB(y)r FH(,)g(either)g(\()p FB(x;)8 b(y)r FH(\))19 b Fx(2)i FB(T)26 b FH(or)21 b(\()p FB(y)r(;)8 b(x)p FH(\))19 b Fx(2)h FB(T)7 b FH(,)20 b(but)h(not)f(b)q(oth.)33 b(A)20 b(net)o(w)o(ork)f FB(T)27 b FH(is)21 b(a)0 658 y FF(hier)n(ar)n(chy)16 b FH(if)i(\()p FB(x;)8 b(y)r FH(\))p FB(;)g FH(\()p FB(y)r(;)g(z)r FH(\))15 b Fx(2)h FB(T)24 b FH(implies)19 b(\()p FB(x;)8 b(z)r FH(\))16 b Fx(2)g FB(T)7 b FH(,)17 b Fx(8)p FB(x;)8 b(y)r(;)g(z)16 b Fx(2)h FB(V)11 b FH(.)26 b(Net)o(w)o(orks)16 b(and)j(hierarc)o(hies)f(are)0 731 y(called)f FF(tournaments)g FH(and)g FF(tr)n(ansitive)h(tournaments)t FH(,)f(resp)q(ectiv)o(ely)l(,)e(in)i([ES74)q(].)73 833 y(Nadir's)h(problem)g (then,)f(whic)o(h)h(w)o(e)f(refer)g(to)h(as)g(the)f FF(NetHier)n(ar)n(chy)g FH(problem,)h(is)g(to)g(construct)g(a)0 905 y(net)o(w)o(ork)i(that)h(do)q(es) g(not)g(ha)o(v)o(e)f(\\large")j(hierarc)o(hies.)34 b(In)21 b(particular,)i(he)d(w)o(an)o(ts)h(a)g(net)o(w)o(ork)f FB(T)1855 912 y Fw(n)1899 905 y FH(on)0 977 y FB(n)f FH(no)q(des)h(suc)o(h)f(that)g(ev) o(ery)e(subnet)o(w)o(ork)i(of)g FB(T)889 984 y Fw(n)931 977 y FH(con)o(taining)i FB(m)e FH(or)g(more)g(no)q(des)h(is)f(not)h(a)f(hierarc) o(h)o(y)l(.)0 1050 y(\(In)f(the)h(case)f(at)h(hand,)g FB(n)f FH(=)g(1000)i(and)f FB(m)f FH(=)g(25.\))28 b(A)19 b(p)q(ossible)h(approac)o (h)g(to)f(constructing)g(suc)o(h)g(a)0 1122 y(net)o(w)o(ork)g(w)o(ould)h(b)q (e)f(to)g(c)o(ho)q(ose)h(a)g(net)o(w)o(ork)e(at)i(random)f(and)h(c)o(hec)o(k) d(that)j(all)h(the)e(\()1617 1104 y Fw(n)1617 1134 y(m)1650 1122 y FH(\))g(subnet)o(w)o(orks)0 1194 y(are)g(not)h(hierarc)o(hies.)30 b(If)19 b(a)g(large)h(hierarc)o(h)o(y)f(is)h(found,)g(another)f FB(T)1293 1201 y Fw(n)1336 1194 y FH(can)g(b)q(e)g(pic)o(k)o(ed)f(randomly)i (and)0 1266 y(c)o(hec)o(k)o(ed.)e(This)e(pro)q(cess)g(can)f(b)q(e)g(con)o (tin)o(ued)g(un)o(til)h(a)g(net)o(w)o(ork)e(with)i(the)e(required)h(prop)q (ert)o(y)g(is)h(found.)0 1339 y(As)h(w)o(e)g(will)i(see)e(b)q(elo)o(w,)h(for) g(appropriate)h(v)m(alues)f(of)f FB(m)p FH(,)g(one)h(can)f(ev)o(en)f(disp)q (ense)j(with)f(the)f(c)o(hec)o(k)e(as)0 1411 y(an)o(y)h(random)h FB(T)300 1418 y Fw(n)339 1411 y FH(w)o(ould)h(su\016ce)d(with)i(a)g(v)o(ery)e (high)i(degree)f(of)h(con\014dence.)73 1513 y(In)g(a)g(hierarc)o(h)o(y)f(it)i (is)f(p)q(ossible)i(to)f(assign)g(a)g(unique)f(rank)g(to)g(eac)o(h)g(no)q (de.)23 b(The)17 b(top-rank)o(ed)g(no)q(de)0 1585 y(is)h(a)g(b)q(oss)h(of)e (all)i(others,)e(and)h(in)g(general,)g(the)f FB(i)p FH(th-rank)o(ed)g(no)q (de)h(is)g(a)g(b)q(oss)h(of)e(all)i(but)f(those)f(with)i(a)0 1657 y(b)q(etter)13 b(rank.)20 b(Hence)12 b(a)i(hierarc)o(h)o(y)f(is)h(equiv) m(alen)o(t)f(to)h(a)g(p)q(erm)o(utation)g(of)f(the)g FB(n)h FH(no)q(des.)21 b(Figure)14 b(3)f(sho)o(ws)0 1730 y(a)j(six-no)q(de)h(net)o (w)o(ork)e(that)g(con)o(tains)i(a)f(hierarc)o(h)o(y)f(on)h(\014v)o(e)e(no)q (des.)22 b(The)16 b(p)q(erm)o(utation)g(corresp)q(onding)0 1802 y(to)i(the)f(hierarc)o(h)o(y)g(on)h(no)q(des)h Fx(f)p FH(1)p FB(;)8 b FH(.)g(.)g(.)g FB(;)g FH(5)p Fx(g)17 b FH(is)i FB(\031)e FH(:)f Fx(f)p FH(1)p FB(;)8 b FH(2)p FB(;)g FH(3)p FB(;)g FH(4)p FB(;)g FH(5)p Fx(g)17 b(!)f(f)p FH(2)p FB(;)8 b FH(3)p FB(;)g FH(1)p FB(;)g FH(4)p FB(;)g FH(5)p Fx(g)19 b FH(as)f(2)g(is)h(a)f(b)q(oss)h(of)f(all)0 1874 y(other)f(no)q(des,)h(3)g (is)g(a)g(b)q(oss)h(of)e(1,)h(4,)f(and)h(5,)g(and)g(so)g(on.)24 b(Also,)18 b(note)g(that)g(the)f(full)h(net)o(w)o(ork)f(is)h(not)g(a)0 1946 y(hierarc)o(h)o(y)e(b)q(ecause)g(of)h(the)f(cycles)g(among)h(no)q(des)g Fx(f)p FH(6)p FB(;)8 b FH(3)p FB(;)g FH(1)p Fx(g)p FH(,)16 b Fx(f)p FH(6)p FB(;)8 b FH(3)p FB(;)g FH(4)p Fx(g)p FH(,)17 b(and)g Fx(f)p FH(6)p FB(;)8 b FH(3)p FB(;)g FH(5)p Fx(g)p FH(.)73 2049 y(Erd})-24 b(os)24 b(and)f(Sp)q(encer)g([ES74)q(])f(ha)o(v)o(e)g (pro)o(v)o(ed)g(an)i(imp)q(ortan)o(t)g(prop)q(ert)o(y)e(concerning)i(the)f (size)g(of)0 2121 y(hierarc)o(hies)h(in)g(arbitrary)g(net)o(w)o(orks,)g(whic) o(h)g(w)o(e)f(no)o(w)g(presen)o(t.)42 b(De\014ne)23 b FB(\037)p FH(\()p FB(n)p FH(\))g(to)g(b)q(e)h(the)f(largest)0 2193 y(in)o(teger)f(suc)o (h)g(that)h FF(every)k FH(net)o(w)o(ork)22 b(on)h FB(n)f FH(no)q(des)i(con)o (tains)f(a)g(hierarc)o(h)o(y)f(of)g FB(\037)p FH(\()p FB(n)p FH(\))g(no)q(des.)41 b(Unless)0 2265 y(stated)17 b(otherwise)g(log)h(denotes) e(logarithms)j(to)d(the)g(base)h(2.)0 2421 y FC(Theorem)h(1)24 b(\([ES74)o(]\))17 b FB(\037)p FH(\()p FB(n)p FH(\))27 b FB(<)h FH(1)11 b(+)g Fx(b)p FH(2)d(log)k FB(n)p Fx(c)p FF(.)73 2578 y FH(The)i(theorem)g(is)h(pro)o(v)o(ed)f(b)o(y)f(sho)o(wing)j(that)f(there)e (exist)i(net)o(w)o(orks)f(that)g(do)h(not)g(ha)o(v)o(e)e(an)o(y)h(hierar-)0 2650 y(c)o(h)o(y)f(on)h(1)7 b(+)g Fx(b)p FH(2)h(log)j FB(n)p Fx(c)j FH(no)q(des.)22 b(The)14 b(pro)q(of)h(is)g(non-constructiv)o(e.)21 b(Let)14 b(\000)1346 2657 y Fw(n)1384 2650 y FH(b)q(e)g(the)g(class)h(of)g (all)g(net)o(w)o(orks)951 2828 y(27)p eop bop 638 467 4 43 v 638 491 V 638 516 V 639 540 V 639 564 V 639 589 V 639 613 V 639 638 V 639 662 V 640 687 V 640 711 V 640 715 4 4 v 641 715 a Fk(?)670 429 y(b)710 453 y(b)749 477 y(b)789 501 y(b)828 525 y(b)868 549 y(b)907 573 y(b)947 597 y(b)986 621 y(b)1026 646 y(b)1065 670 y(b)1105 694 y(b)1144 718 y(b)1184 742 y(b)1212 745 y FG(.)1215 746 y(.)-26 b(.)1218 748 y(.)1189 745 y Fk(j)p 670 383 557 4 v 1185 381 a(-)664 357 y(\010)699 340 y(\010)735 323 y(\010)770 306 y(\010)806 289 y(\010)841 272 y(\010)876 256 y(\010)905 238 y FG(.)908 236 y(.)880 254 y Fk(*)908 291 y(\024)893 317 y(\024)878 344 y(\024)863 371 y(\024)847 398 y(\024)832 425 y(\024)817 451 y(\024)801 478 y(\024)786 505 y(\024)771 532 y(\024)755 559 y(\024)740 585 y(\024)725 612 y(\024)710 639 y(\024)694 666 y(\024)679 693 y(\024)664 719 y(\024)651 722 y FG(.)649 726 y(.)g(.)647 729 y(.)646 731 y(.)658 728 y Fk(\035)979 252 y(H)1015 270 y(H)1051 289 y(H)1087 307 y(H)1123 326 y(H)1158 345 y(H)1194 363 y(H)1223 366 y FG(.)1225 367 y(.)g(.)1228 369 y(.)1199 366 y Fk(j)961 293 y(T)977 319 y(T)993 345 y(T)1010 371 y(T)1026 397 y(T)1043 424 y(T)1059 450 y(T)1075 476 y(T)1092 502 y(T)1108 528 y(T)1124 554 y(T)1141 580 y(T)1157 607 y(T)1173 633 y(T)1190 659 y(T)1206 685 y(T)1223 711 y(T)1235 714 y FG(.)1237 717 y(.)g(.)1238 719 y(.)1240 722 y(.)1225 719 y Fk(^)669 744 y(")709 720 y(")750 696 y(")791 673 y(")832 649 y(")873 625 y(")914 601 y(")954 578 y(")995 554 y(")1036 530 y(")1077 506 y(")1118 482 y(")1158 459 y(")1199 435 y(")1228 413 y FG(.)1230 412 y(.)g(.)1233 410 y(.)1204 428 y Fk(*)p 670 766 559 4 v 1187 764 a(-)1255 425 y FG(.)1255 429 y(.)1255 433 y(.)1255 438 y(.)1255 442 y(.)1255 446 y(.)1255 450 y(.)1255 454 y(.)1255 458 y(.)1255 462 y(.)1255 467 y(.)1255 471 y(.)1255 475 y(.)1255 479 y(.)1256 483 y(.)1256 487 y(.)1256 492 y(.)1256 496 y(.)1256 500 y(.)1256 504 y(.)1256 508 y(.)1256 512 y(.)1256 517 y(.)1256 521 y(.)1256 525 y(.)1256 529 y(.)1256 533 y(.)1256 537 y(.)1256 541 y(.)1256 546 y(.)1256 550 y(.)1256 554 y(.)1256 558 y(.)1256 562 y(.)1256 566 y(.)1256 571 y(.)1256 575 y(.)1256 579 y(.)1256 583 y(.)1256 587 y(.)1256 591 y(.)1256 596 y(.)1256 600 y(.)1256 604 y(.)1256 608 y(.)1256 612 y(.)1256 616 y(.)1256 621 y(.)1256 625 y(.)1256 629 y(.)1256 633 y(.)1256 637 y(.)1256 641 y(.)1256 645 y(.)1256 650 y(.)1256 654 y(.)1256 658 y(.)1257 662 y(.)1257 666 y(.)1257 670 y(.)1257 675 y(.)1257 679 y(.)1257 683 y(.)1257 687 y(.)1257 691 y(.)1257 695 y(.)1257 700 y(.)1257 704 y(.)1257 708 y(.)1257 712 y(.)1257 716 y(.)p 1268 717 4 4 v 1270 717 a Fk(?)660 810 y(Q)697 834 y(Q)733 857 y(Q)770 880 y(Q)807 903 y(Q)843 927 y(Q)880 950 y(Q)909 953 y FG(.)912 955 y(.)883 952 y Fk(j)p 949 917 4 43 v 949 893 V 948 870 V 948 846 V 948 822 V 947 799 V 947 775 V 947 751 V 947 728 V 946 704 V 946 680 V 946 657 V 946 633 V 945 609 V 945 586 V 945 562 V 945 538 V 944 515 V 944 491 V 944 467 V 943 444 V 943 420 V 943 396 V 943 373 V 942 349 V 942 325 V 942 302 V 942 259 4 4 v 944 297 a(6)1201 805 y(")1163 828 y(")1126 850 y(")1088 872 y(")1051 895 y(")1013 917 y(")976 939 y(")963 942 y FG(.)961 943 y(.)g(.)958 945 y(.)971 942 y Fk(\031)1228 458 y(\024)1214 483 y(\024)1200 508 y(\024)1186 534 y(\024)1172 559 y(\024)1158 585 y(\024)1144 610 y(\024)1130 635 y(\024)1116 661 y(\024)1102 686 y(\024)1088 712 y(\024)1074 737 y(\024)1060 762 y(\024)1046 788 y(\024)1032 813 y(\024)1018 839 y(\024)1004 864 y(\024)990 889 y(\024)976 915 y(\024)963 918 y FG(.)961 922 y(.)g(.)960 924 y(.)958 926 y(.)971 924 y Fk(\035)658 458 y(A)672 483 y(A)686 509 y(A)700 535 y(A)714 561 y(A)728 586 y(A)741 612 y(A)755 638 y(A)769 664 y(A)783 689 y(A)797 715 y(A)811 741 y(A)824 767 y(A)838 792 y(A)852 818 y(A)866 844 y(A)880 870 y(A)894 895 y(A)907 921 y(A)915 924 y FG(.)917 928 y(.)g(.)919 930 y(.)921 932 y(.)906 930 y Fk(^)949 948 y Fj(w)1255 749 y(w)1255 383 y(w)949 217 y(w)642 383 y(w)642 749 y(w)-89 b Fz(1)586 383 y(2)702 b(4)1311 749 y(5)949 1015 y(6)945 125 y(3)8 1212 y FH(Figure)16 b(3:)22 b(A)16 b(net)o(w)o(ork)f(with)i(a)g(hierarc)o(h)o(y)f (on)h(\014v)o(e)e(Pla)o(y)o(ers)h(with)h FB(\031)f FH(:)d Fx(f)p FH(1)p FB(;)8 b FH(2)p FB(;)g FH(3)p FB(;)g FH(4)p FB(;)g FH(5)p Fx(g)15 b(!)f(f)p FH(2)p FB(;)8 b FH(3)p FB(;)g FH(1)p FB(;)g FH(4)p FB(;)g FH(5)p Fx(g)p FH(.)0 1349 y(on)21 b FB(n)f FH(no)q(des)h(and)f (let)h(\000)465 1331 y Ft(0)465 1362 y Fw(n)509 1349 y FH(b)q(e)f(the)g (class)h(of)f(all)i(net)o(w)o(orks)e(that)g(ha)o(v)o(e)f(a)i(hierarc)o(h)o(y) e(on)i(1)14 b(+)g Fx(b)p FH(2)8 b(log)j FB(n)p Fx(c)0 1421 y FH(no)q(des.)22 b(W)l(e)16 b(sho)o(w)h(that)g(there)e(are)i(more)e(net)o(w) o(orks)h(in)h(\000)1086 1428 y Fw(n)1126 1421 y FH(than)g(in)g(\000)1327 1403 y Ft(0)1327 1434 y Fw(n)1351 1421 y FH(.)73 1524 y(W)l(e)g(\014rst)g (coun)o(t)g(the)g(n)o(um)o(b)q(er)g(of)g(net)o(w)o(orks)g(in)g(\000)1007 1531 y Fw(n)1031 1524 y FH(.)24 b(Eac)o(h)17 b(net)o(w)o(ork)g(in)h(\000)1466 1531 y Fw(n)1507 1524 y FH(consists)g(of)g FB(n)f FH(v)o(ertices)0 1596 y(and)g(\()114 1578 y Fw(n)114 1608 y FI(2)137 1596 y FH(\))g(edges,)e(eac)o(h)h(of)h(whic)o(h)f(can)h(tak)o(e)e(t)o(w)o(o)h(p)q (ossible)j(directions.)j(Th)o(us,)850 1718 y Fx(j)p FH(\000)894 1725 y Fw(n)918 1718 y Fx(j)27 b FH(=)h(2)1049 1697 y FI(\()1063 1686 y Fv(n)1063 1708 y Fq(2)1084 1697 y FI(\))1888 1718 y FH(\(2\))73 1870 y(Coun)o(ting)21 b(the)e(n)o(um)o(b)q(er)g(of)h(net)o(w)o (orks)f(in)h(\000)914 1852 y Ft(0)914 1882 y Fw(n)957 1870 y FH(is)g(a)g(bit)g(more)f(in)o(v)o(olv)o(ed.)31 b(Since)20 b(eac)o(h)f(net)o(w)o(ork)f(in)0 1942 y(\000)30 1924 y Ft(0)30 1955 y Fw(n)71 1942 y FH(has)h(a)e(hierarc)o(h)o(y)g(on)h FB(')e FH(=)g(1)c(+)g Fx(b)p FH(2)c(log)j FB(n)p Fx(c)17 b FH(no)q(des,)i(w)o(e)e (\014rst)g(select)g(the)h FB(')f FH(no)q(des)h(and)g(assign)i(them)0 2014 y(a)g(p)q(erm)o(utation,)h(whic)o(h)e(will)j(uniquely)e(determine)f(a)g (hierarc)o(h)o(y)g(on)h(these)f(no)q(des.)32 b(The)20 b(remaining)0 2087 y(edges)g(in)g(the)g(graph)h(consisting)h(of)e(\()p FB(n)14 b Fx(\000)f FB(')p FH(\))20 b(no)q(des)g(can)g(b)q(e)g(assigned)i (arbitrarily)l(.)34 b(W)l(e)20 b(coun)o(t)f(the)0 2159 y(n)o(um)o(b)q(er)12 b(of)i(net)o(w)o(orks)e(for)i(all)g(the)f(\()664 2141 y Fw(n)664 2171 y(')689 2159 y FH(\))g(p)q(ossible)j(c)o(hoices)d(of)g FB(')g FH(no)q(des)h(and)g(all)g(the)f FB(')p FH(!)g(w)o(a)o(ys)g(of)g (assigning)0 2231 y(them)j(a)g(p)q(erm)o(utation.)22 b(F)l(ormally)l(,)803 2303 y(\000)833 2283 y Ft(0)833 2316 y Fw(n)884 2303 y FH(=)950 2262 y Fr([)960 2354 y Fw(A)1004 2262 y Fr([)1017 2349 y Fw(\031)1059 2303 y FB(T)1088 2310 y Fw(A;\031)1888 2303 y FH(\(3\))0 2426 y(where)17 b FB(A)g FH(is)h(a)g(subset)f(of)h FB(n)f FH(no)q(des)h(suc)o(h)g (that)f Fx(j)p FB(A)p Fx(j)e FH(=)h FB(')p FH(,)h FB(\031)i FH(is)f(a)f(p)q(erm)o(utation)i(of)e(the)g FB(')g FH(mem)o(b)q(ers)g(of)0 2499 y FB(A)p FH(,)d(and)h FB(T)187 2506 y Fw(A;\031)261 2499 y FH(is)g(the)f(set)h(of)g(net)o(w)o(orks)f(on)h FB(n)f FH(no)q(des)i (consisten)o(t)f(with)g(the)f(hierarc)o(h)o(y)g(on)h FB(A)g FH(determined)0 2571 y(b)o(y)j FB(\031)r FH(.)26 b(That)19 b(is,)g(eac)o(h)e(net)o(w)o(ork)h(in)g FB(T)715 2578 y Fw(A;\031)793 2571 y FH(will)i(con)o(tain)f(a)f(hierarc)o(h)o(y)g(on)h FB(A)e FH(uniquely)i(determined)f(b)o(y)0 2643 y FB(\031)r FH(.)23 b(The)18 b(structure)f(of)g(the)g(net)o(w)o(ork)g(on)g(the)g(remaining)i FB(n)12 b Fx(\000)f FB(')17 b FH(no)q(des,)h(ho)o(w)o(ev)o(er,)e(is)i(unsp)q (eci\014ed.)24 b(In)951 2828 y(28)p eop bop 0 195 a FH(particular,)17 b(the)e(direction)i(of)f(\()598 177 y Fw(n)598 207 y FI(2)621 195 y FH(\))10 b Fx(\000)f FH(\()717 171 y Fw(')717 206 y FI(2)742 195 y FH(\))16 b(edges)g(b)q(et)o(w)o(een)e (these)h FB(n)10 b Fx(\000)g FB(')15 b FH(no)q(des)i(is)f(unsp)q(eci\014ed.) 22 b(Hence,)794 301 y Fx(j)p FB(T)837 308 y Fw(A;\031)896 301 y Fx(j)28 b FH(=)f(2)1027 280 y FI(\()1041 269 y Fv(n)1041 291 y Fq(2)1063 280 y FI(\))p Ft(\000)p FI(\()1118 264 y Fv(')1118 292 y Fq(2)1140 280 y FI(\))1888 301 y FH(\(4\))0 407 y(Therefore,)15 b(the)h(total)i(n)o(um)o(b)q(er)d(of)i(net)o(w)o(orks)f(in)h(\000)960 389 y Ft(0)960 419 y Fw(n)1000 407 y FH(is)g(b)q(ounded)g(b)o(y)360 544 y Fx(j)p FH(\000)404 523 y Ft(0)404 556 y Fw(n)428 544 y Fx(j)27 b FB(<)535 502 y Fr(X)552 594 y Fw(A)603 502 y Fr(X)622 590 y Fw(\031)671 544 y Fx(j)p FB(T)714 551 y Fw(A;\031)774 544 y Fx(j)g FH(=)881 458 y Fr(0)881 533 y(@)939 510 y FB(n)938 582 y(')990 458 y Fr(1)990 533 y(A)1035 544 y FB(')p FH(!)13 b(2)1118 523 y FI(\()1132 512 y Fv(n)1132 534 y Fq(2)1154 523 y FI(\))p Ft(\000)p FI(\()1209 507 y Fv(')1209 535 y Fq(2)1231 523 y FI(\))1274 544 y FB(<)28 b FH(2)1364 523 y FI(\()1378 512 y Fv(n)1378 534 y Fq(2)1399 523 y FI(\))1443 544 y FH(=)f Fx(j)p FH(\000)1552 551 y Fw(n)1576 544 y Fx(j)298 b FH(\(5\))0 680 y(This)15 b(implies)g(that)g(\000)406 687 y Fw(n)436 680 y Fx(\000)6 b FH(\000)511 662 y Ft(0)511 693 y Fw(n)549 680 y FH(is)14 b(non-empt)o(y)g(and)g(there)g(exists)g FB(T)20 b Fx(2)14 b FH(\000)1310 687 y Fw(n)1341 680 y Fx(\000)6 b FH(\000)1416 662 y Ft(0)1416 693 y Fw(n)1453 680 y FH(con)o(taining)16 b(no)f(hierarc)o(h)o(y)0 753 y(on)i FB(')d FH(=)f(1)f(+)f Fx(b)p FH(2)d(log)j FB(n)p Fx(c)16 b FH(no)q(des.)1336 b Fi(2)73 957 y FH(The)17 b(ab)q(o)o(v)o(e)f(theorem)g(establishes)i(an)f(upp)q(er)g(b)q (ound)h(on)f(the)f(largest)i(in)o(teger)e FB(\037)g FH(suc)o(h)h(that)g(ev)o (ery)0 1029 y(net)o(w)o(ork)e(on)g FB(n)h FH(no)q(des)g(con)o(tains)g(a)g (hierarc)o(h)o(y)f(on)g FB(\037)p FH(\()p FB(n)p FH(\))g(no)q(des.)22 b(It)15 b(can)g(also)i(b)q(e)e(pro)o(v)o(ed,)g(b)o(y)f(induction)0 1102 y(on)e FB(n)p FH(,)h(that)f FB(\037)p FH(\()p FB(n)p FH(\))i Fx(\025)f FH(1)r(+)r Fx(b)p FH(log)e FB(n)p Fx(c)p FH(.)20 b(Clearly)l(,)13 b(if)g(it)f(w)o(ere)f(the)h(case)g(in)g(Nadir's)h(p)q (olitics)h(that)e(no)g(hierarc)o(hies)0 1174 y(b)q(e)i(formed)f(on)h FB(m)g(<)g FH(1)6 b(+)g Fx(b)p FH(log)k FB(n)p Fx(c)k FH(no)q(des,)h(then)e (ev)o(ery)f(assignmen)o(t)j(of)f(the)f(is-a-b)q(oss-)q(of)k(relation)e(w)o (ould)0 1246 y(violate)21 b(Nadir's)g(requiremen)o(t)e(and)i(he)f(should)h (mak)o(e)e(arrangemen)o(ts)i(for)f(a)h(hast)o(y)f(departure.)33 b(On)0 1318 y(the)20 b(other)g(hand,)h(for)f(v)m(alues)h(of)f FB(m)g FH(sligh)o(tly)i(greater)e(than)g(the)g(upp)q(er)g(b)q(ound)h(of)g (Theorem)e(1,)i(the)0 1390 y(probabilit)o(y)j(that)f(a)g(randomly)h(selected) e(graph)h(con)o(tains)g(a)g(large)h(hierarc)o(h)o(y)e(is)h(min)o(uscule.)40 b(F)l(or)0 1463 y FB(m)14 b Fx(\025)f FH(1)f(+)f(2)p Fx(b)p FH(log)f FB(n)p Fx(c)17 b FH(this)g(probabilit)o(y)h(is)f(b)q(ounded)h(b)o(y) 715 1566 y Fx(j)p FH(\000)759 1548 y Ft(0)759 1579 y Fw(n)782 1566 y Fx(j)p 715 1588 82 2 v 715 1634 a(j)p FH(\000)759 1641 y Fw(n)782 1634 y Fx(j)829 1600 y FB(<)895 1515 y Fr(0)895 1589 y(@)958 1566 y FB(n)952 1638 y(m)1015 1515 y Fr(1)1015 1589 y(A)1060 1600 y FB(m)p FH(!)13 b(2)1154 1579 y Ft(\000)p FI(\()1195 1568 y Fv(m)1195 1590 y Fq(2)1225 1579 y FI(\))1888 1600 y FH(\(6\))0 1735 y(Therefore,)i(if)g(Nadir)h(w)o(ere)f(to)h(construct)f (a)h(random)g(net)o(w)o(ork)e(on)i(1000)h(no)q(des,)f(the)f(probabilit)o(y)j (that)0 1807 y(it)f(will)i(ha)o(v)o(e)d(a)i(hierarc)o(h)o(y)e(on)h(an)o(y)g (subset)h(of)f(25)g(no)q(des)h(is)g(less)g(than)f(0.0000000000)q(00)q(000)q (4.)26 b(Th)o(us)18 b(a)0 1879 y(v)o(ery)c(promising)i(strategy)g(for)f (Nadir)g(is)h(to)f(toss)h(a)f(coin)g(to)h(determine)e(the)g(direction)i(of)f (eac)o(h)g(edge)f(in)0 1951 y(the)i(net)o(w)o(ork;)f(the)h(o)q(dds)i(are)e (less)h(than)g(4)f(in)h(10)913 1933 y FI(16)968 1951 y FH(that)f(he)g(will)i (construct)f(a)f(bad)h(net)o(w)o(ork.)73 2054 y(The)f(preceding)h (discussion,)h(unfortunately)l(,)f(lea)o(v)o(es)e(a)i(\\gra)o(y)g(area")g(in) g(the)f(solution)i(space:)j(it)c(is)0 2126 y(not)j(clear)g(ho)o(w)f(to)h (solv)o(e)g(the)f FF(NetHier)n(ar)n(chy)g FH(problem)h(for)g(v)m(alues)g(of)g FB(m)f FH(b)q(et)o(w)o(een)f(1)c(+)f Fx(b)p FH(log)e FB(n)p Fx(c)19 b FH(and)0 2198 y(1)14 b(+)f(2)p Fx(b)p FH(log)e FB(n)p Fx(c)p FH(.)33 b(F)l(or)20 b(v)m(alues)g(of)h FB(m)e FH(less)i(than)f(the)g (lo)o(w)o(er)g(b)q(ound)h(on)f FB(\037)p FH(,)g(the)f(solution)k(is)d (immediate;)0 2270 y(for)h(v)m(alues)h(sligh)o(tly)h(greater)e(than)g(the)g (upp)q(er)g(b)q(ound,)i(Theorem)d(1)i(immediately)f(yields)h(a)f(trivial)0 2342 y(probabilistic)j(algorithm)e(as)f(basic)g(coun)o(ting)h(pro)q(cedures)f (rev)o(eal)f(that)h(there)e(is)j(an)f(abundance)g(of)0 2415 y(solutions)e(in)e(this)g(region.)23 b(Ho)o(w)o(ev)o(er,)14 b(for)j(the)f(gra)o(y)g(area)h(in)g(b)q(et)o(w)o(een)e(the)i(upp)q(er)f(and)h (lo)o(w)o(er)g(b)q(ounds)0 2487 y(on)i FB(\037)g FH(|)f(whic)o(h)h(can)g(p)q (ossibly)i(b)q(e)e(shrunk)g(b)o(y)f(making)i(the)e(b)q(ounds)i(tigh)o(ter)f (|)g(exhaustiv)o(e)f(searc)o(h)0 2559 y(seems)c(to)g(b)q(e)h(the)e(only)i(w)o (a)o(y)f(for)h(solving)h(this)f(problem.)21 b(The)14 b(latter)h(is)g (prohibitiv)o(ely)g(exp)q(ensiv)o(e)f(ev)o(en)0 2631 y(for)i(mo)q(derate)f(v) m(alues)h(of)g FB(n)f FH(and)h FB(m)p FH(.)21 b(F)l(or)15 b(example,)g(if)h (Nadir)g(required)f(that)h(there)e(b)q(e)i(no)f(hierarc)o(hies)0 2704 y(on)i(18)g(no)q(des,)f(\()302 2686 y FI(1000)302 2716 y(18)375 2704 y FH(\))g(subnet)o(w)o(orks)h(m)o(ust)e(b)q(e)i(tested.)951 2828 y(29)p eop bop 0 195 a Fu(2.4)70 b(Probabilistic)24 b(Hashing)0 330 y FH(Man)o(y)14 b(problems)h(require)f(main)o(taining)i(a)f(table)g(of)f(v)m (alues,)h(or)g(k)o(eys,)e(and)i(p)q(erforming)g(insert,)g(searc)o(h,)0 402 y(and)k(delete)f(op)q(erations)i(on)f(them.)27 b(T)o(ypically)l(,)20 b(the)e(set)g(of)h(p)q(ossible)h(k)o(eys)e(is)h(v)o(ery)e(large,)i(though)h (at)0 474 y(an)o(y)d(one)g(time)g(only)g(a)h(small)g(fraction)g(of)f(the)f(k) o(eys)g(will)j(actually)f(b)q(e)f(in)h(the)f(table.)24 b(In)16 b(this)i(section,)0 546 y(w)o(e)d(study)h(a)g(v)o(ery)f(p)q(opular)j(and)e(p) q(oten)o(tially)i(constan)o(t-time)e(solution)i(to)e(table)h(managemen)o(t)e (called)0 618 y FF(hashing)t FH(.)73 721 y(Throughout)i(this)f(section,)g FB(T)7 b FH([0)h(.)g(.)g(.)f FB(m)h Fx(\000)h FH(1])15 b(will)i(denote)e(the) g(hash)h(table)g(and)g FB(U)5 b FH([0)j(.)g(.)g(.)g FB(N)14 b Fx(\000)9 b FH(1])15 b(will)0 793 y(denote)g(the)g(univ)o(erse)g(of)h(k)o (eys.)k(In)15 b(general,)h(giv)o(en)f(a)h(k)o(ey)e FB(x)g Fx(2)g FB(U)5 b FH(,)15 b(w)o(e)g(will)i(b)q(e)f(in)o(terested)e(in)i(inserting)0 865 y FB(x)g FH(in)o(to)i FB(T)7 b FH(,)16 b(searc)o(hing)h(for)g FB(x)g FH(in)g FB(T)7 b FH(,)16 b(or)h(deleting)h FB(x)e FH(from)h FB(T)7 b FH(.)22 b(The)17 b(total)h(n)o(um)o(b)q(er)e(of)h(k)o(eys)e(in)j (the)e(table)0 937 y(will)i(b)q(e)f(limited)h(to)e FB(n)p FH(,)h FB(n)d(<)g(m)g Fx(\034)g FB(N)5 b FH(,)17 b(and)g FB(S)s FH(,)f Fx(j)p FB(S)s Fx(j)d FH(=)i FB(n)p FH(,)h(will)i(denote)f(the)f(set)g(of)h(k) o(eys)f(that)g(are)h(to)g(b)q(e)0 1010 y(inserted)g(in)o(to)f(the)g(table.)73 1112 y(Let)k FB(h)g FH(:)f FB(U)25 b Fx(!)19 b FH([0)8 b(.)g(.)g(.)g FB(m)13 b Fx(\000)g FH(1],)20 b(b)q(e)g(a)g(function)g(that)g(can)g(b)q(e)g (ev)m(aluated)g(in)h(constan)o(t)f(time.)31 b(The)0 1184 y(basic)17 b(sc)o(heme)d(underlying)j(hashing)h(is)f(as)f(follo)o(ws.)23 b(T)l(o)16 b(insert)h(a)f(k)o(ey)e FB(x)i FH(in)o(to)g(the)g(table,)g(simply) h(store)0 1256 y(it)h(at)f FB(T)7 b FH([)p FB(h)p FH(\()p FB(x)p FH(\)],)15 b(if)j(p)q(ossible.)26 b(T)l(o)18 b(searc)o(h)e(for)i(or)f(delete) g FB(x)p FH(,)g(just)g(c)o(hec)o(k)e(lo)q(cation)20 b FB(h)p FH(\()p FB(x)p FH(\))d(in)g(table)h FB(T)7 b FH(.)23 b(All)0 1328 y(these)c(op)q(erations)i(tak)o(e)d(constan)o(t)h(time,)g(ful\014lling)j (the)d(promise)g(made)g(earlier.)30 b(Ho)o(w)o(ev)o(er,)17 b(there)h(is)0 1401 y(a)h(serious)h(problem)f(with)g(this)h(sc)o(heme.)26 b(If)18 b(there)g(is)i(another)f(k)o(ey)l(,)e(sa)o(y)i FB(y)r FH(,)f(suc)o(h)h(that)g FB(h)p FH(\()p FB(x)p FH(\))e(=)h FB(h)p FH(\()p FB(y)r FH(\),)0 1473 y(then)i FB(x)h FH(and)g FB(y)h FH(will)h(try)d(to)h(o)q(ccup)o(y)f(the)h(same)f(place)h(in)h(the)e(table.)35 b(This)22 b(phenomenon)f(is)g(called)0 1545 y(a)f FF(c)n(ol)r(lision)t FH(.)34 b(Muc)o(h)19 b(researc)o(h)g(has)i(b)q(een)f(conducted)g(on)g (\014nding)h(hash)g(functions)g(that)g(result)f(in)h(a)0 1617 y(minim)o(um)15 b(n)o(um)o(b)q(er)e(of)i(collisions)j(and)e(on)f(data)g (structures)g(for)g(storing)h(k)o(eys)e(that)h(hash)h(to)f(the)f(same)0 1690 y(table)j(lo)q(cation.)73 1792 y(F)l(or)f(hashing)i(to)e(p)q(erform)g(w) o(ell)h(the)e(follo)o(wing)k(t)o(w)o(o)d(requiremen)o(ts)f(are)h(essen)o (tial:)22 b(the)15 b(hash)i(func-)0 1864 y(tion)d(distributes)g(input)g(k)o (eys)e(uniformly)i(o)o(v)o(er)d(the)i(table,)h(and)f(all)i(the)d(k)o(eys)g (are)h(equally)h(lik)o(ely)l(.)20 b(While)0 1936 y(the)g(\014rst)g (requiremen)o(t)f(can)h(b)q(e)g(met)f(b)o(y)h(appropriately)i(c)o(ho)q(osing) f(the)f(function)h FB(h)p FH(\()p FB(x)p FH(\),)f(the)g(second)0 2009 y(requiremen)o(t)c(is)i(hard)g(to)g(ful\014ll)h(as)f(it)f(p)q(ostulates) j(certain)d(b)q(eha)o(vior)h(on)g(the)f(input)h(distribution.)27 b(In)0 2081 y(practice,)22 b(this)f(requiremen)o(t)f(is)i(not)f(only)h(b)q (ey)o(ond)f(the)f(algorithm)j(designer's)f(con)o(trol,)g(it)f(is)h(often)0 2153 y(violated.)40 b(F)l(or)22 b(example,)g(a)h(t)o(ypical)f(application)j (of)d(hashing)i(is)f(main)o(taining)h(sym)o(b)q(ol)f(tables)g(for)0 2225 y(compilers.)i(F)l(or)18 b(most)g(programs,)g(v)m(ariable)h(names)f(suc) o(h)f(as)h(I,)e(J,)h(K)h(are)f(more)g(common)g(then,)h(sa)o(y)l(,)0 2297 y(X)o(QP)l(.)c(Th)o(us)h(it)g(is)g(unreasonable)i(to)e(exp)q(ect)f(a)h (uniform)g(probabilit)o(y)i(distribution)g(from)e(the)f(input)i(to)0 2370 y(a)h(sym)o(b)q(ol)g(table.)22 b(Ho)o(w)o(ev)o(er,)15 b(if)i(it)g(is)g(kno)o(wn)g(that)f(the)h(input)g(is)g(biased,)g(it)g(ma)o(y)f (b)q(e)h(p)q(ossible)h(to)f(tune)0 2442 y(the)d(hash)g(function.)22 b FF(Perfe)n(ct)15 b(hashing)g FH(represen)o(ts)e(the)h(ultimate)g(form)g(of) g(tuning,)i(i.e.,)d(total)i(collision)0 2514 y(a)o(v)o(oidance.)28 b(Another)18 b(w)o(a)o(y)g(of)g(minimizing)i(the)e(risk)h(due)f(to)h(biases)h (in)f(the)f(input)h(is)g(to)f(c)o(ho)q(ose)h(the)0 2586 y(hash)d(function)h (dynamically)g(and)f(at)g(random.)21 b(These)16 b(t)o(w)o(o)f(sc)o(hemes)g (are)g(explored)h(in)g(the)f(follo)o(wing)0 2659 y(sections.)951 2828 y(30)p eop bop 0 195 a FC(2.4.1)55 b(P)n(erfect)18 b(Hashing)0 330 y FH(Heuristic)e (metho)q(ds)g(for)g(p)q(erfect)f(hashing)j(w)o(ere)d(\014rst)h(in)o(tro)q (duced)g(in)h([Spr77].)k(A)15 b(recen)o(t)g(o)o(v)o(erview)g(of)0 402 y(p)q(erfect)f(hashing)j(can)d(b)q(e)h(found)g(in)h([GBY91)o(].)21 b(Sev)o(eral)14 b(seminal)i(results)f(that)g(mak)o(e)f(p)q(erfect)g(hashing)0 474 y(p)q(ossible)19 b(w)o(ere)d(pro)o(v)o(ed)g(in)h([FKS82)q(,)f(Meh82].)22 b(The)17 b(discussion)i(in)e(this)h(section)f(is)h(based)f(on)h(Section)0 546 y(2.3)f(of)f([Meh84a].)73 648 y(A)j(function)g FB(h)g FH(:)e FB(U)24 b Fx(!)18 b FH([0)8 b(.)g(.)g(.)g FB(m)k Fx(\000)h FH(1])19 b(is)g(called)h(a)f FF(p)n(erfe)n(ct)h(hash)g(function)h(for)d FB(S)j Fx(\022)d FB(U)24 b FH(if)c Fx(8)p FB(x;)8 b(y)18 b Fx(2)0 721 y FB(S;)39 b(h)p FH(\()p FB(x)p FH(\))15 b Fx(6)p FH(=)g FB(h)p FH(\()p FB(y)r FH(\))i(if)g FB(x)f Fx(6)p FH(=)f FB(y)r FH(.)23 b(F)l(or)18 b(an)o(y)f(giv)o(en)g(set)g FB(S)j FH(of)d(input)h(k)o(eys)f(suc)o(h)f(that)i Fx(j)p FB(S)s Fx(j)d FH(=)g FB(n)h Fx(\024)f FB(m)p FH(,)h(clearly)0 793 y(there)g(exists)h(a)g(p) q(erfect)f(hash)h(function:)23 b(tak)o(e)16 b(an)o(y)g(one-to-one)i(mapping)g (from)e FB(S)k FH(to)d(an)o(y)f FB(n)h FH(distinct)0 865 y(elemen)o(ts)c(in)i FB(T)7 b FH(,)13 b(and)i(map)f(all)i(other)e(elemen)o(ts)f(of)h FB(U)20 b FH(so)15 b(that)f(they)g(do)g(not)h(collide)g(with)g(the)f(elemen)o (ts)0 937 y(of)k FB(S)s FH(.)26 b(Suc)o(h)18 b(a)g(brute)g(force)f(approac)o (h)i(to)f(constructing)h(a)g(p)q(erfect)e(hash)i(function,)f(ho)o(w)o(ev)o (er,)f(is)i(not)0 1010 y(v)o(ery)d(b)q(ene\014cial)i(as)g(it)f(in)o(v)o(olv)o (es)g(a)h(table)g(lo)q(ok)g(up)g(that)f(ma)o(y)g(tak)o(e)f FB(O)q FH(\()p FB(n)p FH(\))i(time.)24 b(F)l(or)17 b(p)q(erfect)f(hashing)0 1082 y(to)h(b)q(e)f(of)h(practical)g(use,)f(the)g(follo)o(wing)j(criteria)e (should)h(b)q(e)e(met:)73 1226 y Fx(\017)24 b FH(The)16 b(program)h(to)g (compute)f(a)g(p)q(erfect)g(hash)h(function)g(should)h(b)q(e)e(small)i(in)f (size.)73 1339 y Fx(\017)24 b FH(F)l(or)16 b(a)h(giv)o(en)f FB(S)s FH(,)g FB(m)g FH(and)h FB(N)5 b FH(,)16 b(it)h(should)g(b)q(e)g(easy)f (to)h(\014nd)f(a)h(p)q(erfect)e(hash)j(function.)73 1453 y Fx(\017)24 b FH(One)16 b(should)i(b)q(e)e(able)h(to)g(ev)m(aluate)g(a)f(p)q (erfect)g(hash)h(function)g(in)g FB(O)q FH(\(1\))g(time.)73 1597 y(In)c(this)h(section)g(w)o(e)f(consider)h(the)f(problem)h(of)f (\014nding)i(a)f(p)q(erfect)e(hash)i(function)h(giv)o(en)e(the)g(v)m(alues)0 1669 y(of)h FB(S)s FH(,)h FB(m)e FH(and)i FB(N)5 b FH(.)21 b(The)14 b(use)g(of)h(random)f(searc)o(h,)g(in)h(a)g(suitably)h(constructed)e (family)h(of)f(functions,)h(will)0 1741 y(b)q(e)h(the)g(principal)j (probabilistic)g(tec)o(hnique)c(used)i(in)g(the)f(construction)h(of)g(suc)o (h)f(a)g(function.)73 1843 y(Mehlhorn)f([Meh84a])f(has)g(sho)o(wn)h(that)f (there)g(exists)g(a)h(program)g(of)f(length)h FB(O)q FH(\()p FB(n)1606 1825 y FI(2)1626 1843 y FB(=m)7 b FH(+)g(log)i(log)i FB(N)5 b FH(\))0 1916 y(that)20 b(computes)g(a)h(p)q(erfect)e(hash)i (function)g(for)f(a)h(giv)o(en)f(set)g FB(S)j Fx(\022)d FB(U)5 b FH(.)33 b(This)21 b(result,)g(ho)o(w)o(ev)o(er,)e(only)0 1988 y(demonstrates)k(the)f(existence)g(of)h(suc)o(h)f(a)h(function.)42 b(T)l(o)23 b(\014nd)g(an)g(actual)g(p)q(erfect)f(hash)i(function,)0 2060 y(consider)17 b(the)f(follo)o(wing)j(family)e FB(H)j FH(of)d(hash)g (functions:)403 2182 y FB(H)32 b FH(=)c Fx(f)p FB(h)594 2189 y Fw(k)615 2182 y Fx(j)p FB(h)657 2189 y Fw(k)678 2182 y FH(\()p FB(x)p FH(\))14 b(=)f(\()p FB(k)r(x)h FH(mo)q(d)g FB(N)5 b FH(\))14 b(mo)q(d)h FB(m)e FH(;)22 b(1)14 b Fx(\024)g FB(k)i(<)d(N)5 b Fx(g)p FB(:)341 b FH(\(7\))0 2304 y(Without)24 b(loss)g(of)f(generalit)o(y) l(,)h(let)f FB(U)30 b FH(=)25 b([0)8 b(.)g(.)g(.)g FB(N)20 b Fx(\000)15 b FH(1])23 b(b)q(e)g(the)f(univ)o(erse)g(of)h(k)o(eys)f(with)i FB(N)k FH(prime.)0 2376 y(Primalit)o(y)20 b(of)g FB(N)k FH(can)19 b(b)q(e)g(ac)o(hiev)o(ed)g(b)o(y)f(adding)j(non-existen)o(t)e(k)o(eys)f(to)i FB(U)5 b FH(.)30 b(The)19 b(resulting)h(univ)o(erse)0 2449 y(will)f(not)f(b)q(e)f(substan)o(tially)j(larger)e(than)g(the)f(original)j FB(U)i FH(as)c(prime)f(n)o(um)o(b)q(ers)g(are)g(su\016cien)o(tly)g(dense)0 2521 y(\(see)f(Section)h(2.2\).)k(F)l(or)16 b(a)h(giv)o(en)f(set)h FB(S)s FH(,)e(let)456 2643 y FB(B)s FH(\()p FB(i;)8 b(k)r FH(\))13 b(=)h Fx(f)p FB(x)p Fx(j)p FB(x)f Fx(2)h FB(S)19 b(and)d FH(\()p FB(k)r(x)e FH(mo)q(d)g FB(N)5 b FH(\))14 b(mo)q(d)g FB(m)g FH(=)g FB(i)p Fx(g)393 b FH(\(8\))951 2828 y(31)p eop bop 0 195 a FH(b)q(e)19 b(the)f(set)h(of)g(all)h(the)e(k)o(eys)g(in)h FB(S)j FH(that)d(collide)h(at)f(table)g(lo)q(cation)i FB(i)e FH(when)f FB(h)1498 202 y Fw(k)1538 195 y FH(is)i(used)f(as)g(the)f(hash)0 267 y(function.)29 b(Eac)o(h)18 b(suc)o(h)g(set)h FB(B)s FH(\()p FB(i;)8 b(k)r FH(\))17 b(is)j(called)f(a)g FF(bucket)5 b FH(.)30 b(Also,)19 b(let)g FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))17 b(=)g Fx(j)p FB(B)s FH(\()p FB(i;)8 b(k)r FH(\))p Fx(j)p FH(,)17 b(0)i Fx(\024)e FB(i)g(<)h(m)p FH(.)0 340 y(Clearly)l(,)k FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))20 b(is)i(one)e(more)h(than)g(the)f(n)o(um)o(b)q (er)g(of)h(collisions)j(at)d FB(T)7 b FH(\()p FB(i)p FH(\))20 b(when)g(the)h(hash)g(function)0 412 y(used)e(is)h FB(h)194 419 y Fw(k)215 412 y FH(.)29 b(Using)20 b(elemen)o(tary)e(coun)o(ting)h (principles)i(and)e(prop)q(erties)h(of)f(mo)q(dulo)h(arithmetic)g(one)0 484 y(can)c(v)o(erify)g(the)g(follo)o(wing)j(inequalit)o(y)e([Meh84a]:)475 571 y Fw(N)t Ft(\000)p FI(1)483 584 y Fr(X)481 676 y Fw(k)q FI(=1)560 552 y Fr(" )617 571 y Fw(m)p Ft(\000)p FI(1)625 584 y Fr(X)627 675 y Fw(i)p FI(=0)702 625 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))827 605 y FI(2)845 552 y Fr(!)889 625 y Fx(\000)j FB(n)968 552 y Fr(#)1020 625 y Fx(\024)1092 592 y FH(2)p FB(n)p FH(\()p FB(n)g Fx(\000)g FH(1\)\()p FB(N)17 b Fx(\000)11 b FH(2\))p 1092 614 374 2 v 1257 660 a FB(m)1470 625 y(:)404 b FH(\(9\))73 800 y(The)13 b(quan)o(tit)o(y)362 767 y Fr(P)406 780 y Fw(m)p Ft(\000)p FI(1)406 812 y Fw(i)p FI(=0)493 800 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))618 782 y FI(2)655 800 y Fx(\000)18 b FB(n)p FH(,)c(for)f(an)o(y)g(particular)i(v)m(alue)f(of)f FB(k)i FH(\(and)f(th)o(us)f(for)g(an)o(y)g(particular)0 872 y FB(h)28 879 y Fw(k)49 872 y FH(\()p FB(x)p FH(\)\),)20 b(is)g(a)f(measure)g (of)h(the)f(n)o(um)o(b)q(er)g(of)g(collisions.)34 b(Let)19 b(us)h(de\014ne)f FB(M)1423 879 y Fw(S)1448 872 y FH(\()p FB(k)r FH(\))h(to)f(b)q(e)h(this)g(measure.)0 944 y(Equation)g(\(9\))f(puts)g(a)g(b) q(ound)g(on)g(the)g(sum)f(of)h FB(M)967 951 y Fw(S)992 944 y FH(\()p FB(k)r FH(\))g(for)g(all)h(p)q(ossible)g(v)m(alues)g(of)f FB(k)r FH(.)28 b(Since)18 b FB(M)1859 951 y Fw(S)1885 944 y FH(\()p FB(k)r FH(\))0 1017 y(is)23 b(alw)o(a)o(ys)g(p)q(ositiv)o(e,)i(more)d (than)h(half)h(of)e(them)g(cannot)h(exceed)e(t)o(wice)h(the)g(upp)q(er-b)q (ound)i(on)f(the)0 1089 y(summation)18 b(in)h(Equation)f(\(9\).)26 b(Therefore,)16 b(at)i(least)h(half)f(of)g(all)h(the)e(p)q(ossible)i FB(k)r FH('s)f(m)o(ust)f(satisfy)h(the)0 1161 y(relation)g FB(M)226 1168 y Fw(S)251 1161 y FH(\()p FB(k)r FH(\))c Fx(\024)g FH(4)p FB(n)p FH(\()p FB(n)e Fx(\000)f FH(1\))p FB(=m)p FH(,)16 b(since)h(otherwise)g(equation)g(\(9\))g(w)o(ould)g(b)q(e)f(in)o(v)m (alidated.)24 b(In)16 b(other)0 1233 y(w)o(ords,)g(for)h(a)g(randomly)g(pic)o (k)o(ed)e FB(k)h Fx(2)e FH([1)8 b(.)g(.)g(.)g FB(N)16 b Fx(\000)11 b FH(1],)595 1369 y FB(P)c(r)q(ob)708 1295 y Fr(")734 1369 y FB(M)781 1376 y Fw(S)806 1369 y FH(\()p FB(k)r FH(\))14 b Fx(\024)943 1335 y FH(4)p FB(n)p FH(\()p FB(n)d Fx(\000)g FH(1\))p 943 1357 206 2 v 1024 1403 a FB(m)1153 1295 y Fr(#)1219 1369 y FB(>)1303 1335 y FH(1)p 1303 1357 25 2 v 1303 1403 a(2)1333 1369 y FB(;)516 b FH(\(10\))0 1506 y(and)17 b(the)f(class)h FB(H)k FH(is)c(ric)o(h)f(in)h(functions)g(for)g(whic)o(h)f FB(M)1027 1513 y Fw(S)1053 1506 y FH(\()p FB(k)r FH(\))g(is)h(b)q(ounded)g(b) o(y)f FB(O)q FH(\()p FB(n)1536 1488 y FI(2)1556 1506 y FB(=m)p FH(\).)73 1608 y(Equation)i(\(10\))g(pro)o(vides)f(a)g(w)o(a)o(y)f(of)h (\014nding,)g(in)h FB(O)q FH(\()p FB(n)p FH(\))f(exp)q(ected)f(time,)g(an)h FB(h)1558 1615 y Fw(k)1596 1608 y FH(suc)o(h)f(that)h FB(M)1859 1615 y Fw(S)1885 1608 y FH(\()p FB(k)r FH(\))0 1680 y(is)e(b)q(ounded)g(b)o (y)e(4)p FB(n)p FH(\()p FB(n)7 b Fx(\000)g FH(1\))p FB(=m)p FH(.)21 b(Select)14 b(a)g(random)h FB(k)h FH(and)f(compute)e FB(M)1338 1687 y Fw(S)1364 1680 y FH(\()p FB(k)r FH(\).)20 b(If)14 b(it)h(satis\014es)g(the)f(b)q(ound)0 1753 y(w)o(e)k(are)g(done;)h (else)f(select)g(another)g FB(k)j FH(and)d(do)h(the)f(same)g(thing.)28 b(The)18 b(computation)h(of)f FB(M)1765 1760 y Fw(S)1791 1753 y FH(\()p FB(k)r FH(\))g(will)0 1825 y(tak)o(e)c FB(O)q FH(\()p FB(n)p FH(\))g(time.)21 b(Equation)15 b(\(10\))g(guaran)o(tees)g(that)f(the)g (exp)q(ected)f(n)o(um)o(b)q(er)h(of)g(tries)g(will)i(b)q(e)f(no)f(more)0 1897 y(than)j(t)o(w)o(o.)k(Th)o(us,)16 b(there)g(exists)g(a)h(function)g FB(h)881 1904 y Fw(k)919 1897 y FH(suc)o(h)f(that)641 1980 y Fw(m)p Ft(\000)p FI(1)649 1993 y Fr(X)650 2084 y Fw(i)p FI(=0)725 2034 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))850 2014 y FI(2)911 2034 y Fx(\024)41 b FB(n)11 b FH(+)1085 2001 y(4)p FB(n)p FH(\()p FB(n)h Fx(\000)f FH(1\))p 1085 2023 206 2 v 1167 2069 a FB(m)1296 2034 y(;)553 b FH(\(11\))0 2174 y(whic)o(h)22 b(can)g(b)q(e)g(found)g(in)g FB(O)q FH(\()p FB(n)p FH(\))g(exp)q(ected)f(time.)37 b(One)22 b(can)f(also)j(sho)o(w)e(that)g(this)g(pro)q(cedure)g(will)0 2246 y(terminate)16 b(in)h FB(O)q FH(\()p FB(n)8 b FH(log)j FB(n)p FH(\))17 b(time)f(with)h(high)g(probabilit)o(y)l(.)73 2348 y(The)k(ab)q(o)o(v)o(e)f(pro)q(cedure)h(forms)f(the)h(basis)h(for)f (\014nding)g(a)g(p)q(erfect)f(hash)i(function)f(for)g(a)g(sp)q(eci\014c)0 2420 y(table)d(size.)24 b(In)17 b(particular,)i(w)o(e)e(consider)h(the)f(t)o (w)o(o)g(table)h(sizes)g FB(m)d FH(=)g FB(n)j FH(and)g FB(m)d FH(=)g FB(O)q FH(\()p FB(n)1668 2402 y FI(2)1689 2420 y FH(\),)i(and)h(pro)o (v)o(e)0 2493 y(the)e(follo)o(wing)j(results:)60 2631 y(1.)24 b(If)19 b FB(m)h FH(=)g FB(n)g FH(then)g(an)g FB(h)558 2638 y Fw(k)599 2631 y FH(satisfying)820 2598 y Fr(P)864 2611 y Fw(m)p Ft(\000)p FI(1)864 2644 y Fw(i)p FI(=0)951 2631 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))1076 2613 y FI(2)1114 2631 y FB(<)20 b FH(5)p FB(n)h FH(can)f(b)q(e)g(found)g(probabilisti)q(call)q(y)i(in)122 2704 y(exp)q(ected)15 b(time)h FB(O)q FH(\()p FB(n)p FH(\).)951 2828 y(32)p eop bop 60 195 a FH(2.)24 b(If)18 b FB(m)h FH(=)f(2)p FB(n)p FH(\()p FB(n)c Fx(\000)e FH(1\))i(+)e(1)20 b(then)f FB(h)750 202 y Fw(k)771 195 y FH(,)g(suc)o(h)g(that)g FB(h)1053 202 y Fw(k)1075 195 y FH(\()p FB(x)p FH(\))f(=)g(\(\()p FB(k)r(x)p FH(\))c(mo)q(d)g FB(N)5 b FH(\))14 b(mo)q(d)h FB(m)p FH(,)k(is)g(a)h(p)q(erfect)122 267 y(hash)d(function)g(for)g FB(S)i FH(and)e(can)f(b)q(e)g(determined)g(in)h FB(O)q FH(\()p FB(n)p FH(\))g(exp)q(ected)e(time.)73 411 y(The)k(\014rst)g (result)g(follo)o(ws)i(b)o(y)d(substituting)k FB(m)17 b FH(=)i FB(n)g FH(in)g(equation)h(\(11\).)29 b(F)l(or)19 b(the)g(second)g(result,)0 483 y(substituting)g FB(m)13 b FH(=)h(2)p FB(n)p FH(\()p FB(n)d Fx(\000)g FH(1\))h(+)f(1)16 b(in)h(equation)g(\(11\))g(yields:)741 575 y Fw(m)p Ft(\000)p FI(1)749 588 y Fr(X)750 679 y Fw(i)p FI(=0)825 629 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))950 609 y FI(2)1011 629 y FB(<)41 b(n)12 b FH(+)f(2)p FB(:)645 b FH(\(12\))0 778 y(Since)129 745 y Fr(P)173 758 y Fw(m)p Ft(\000)p FI(1)173 791 y Fw(i)p FI(=0)259 778 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))16 b(=)g FB(n)p FH(,)h(equation)i(\(12\))f(implies)h(that)f FB(b)1114 785 y Fw(i)1144 778 y Fx(\024)e FH(1)i(for)g(all)i FB(i)d FH(\(the)g(only)i (solution)h(for)d FB(X)1935 785 y Fw(i)0 851 y FH(in)j(the)f(set)g(of)g (equations)505 817 y Fr(P)557 851 y FB(X)597 858 y Fw(i)631 851 y FH(=)f FB(n)h FH(and)833 817 y Fr(P)885 851 y FB(X)929 833 y FI(2)925 863 y Fw(i)968 851 y Fx(\024)g FB(n)13 b FH(+)g(2)19 b(is)h FB(X)1254 858 y Fw(i)1287 851 y Fx(\024)f FH(1\).)30 b(As)19 b FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))18 b(is)i(the)f(n)o(um)o(b)q(er) 0 923 y(of)e(elemen)o(ts)f(in)h FB(S)i FH(that)e(will)i(o)q(ccup)o(y)d(p)q (osition)j FB(i)d FH(in)h(the)g(table,)g(there)e(will)k(not)e(b)q(e)g(an)o(y) f(collisions)k(for)0 995 y(this)e(v)m(alue)h(of)e FB(k)r FH(.)25 b(Hence)16 b FB(h)520 1002 y Fw(k)559 995 y FH(in)i(equation)h(\(11\))f(with) g FB(m)e FH(=)f FB(O)q FH(\()p FB(n)1232 977 y FI(2)1253 995 y FH(\))i(is)h(a)g(p)q(erfect)f(hash)h(function)h(if)f(an)0 1067 y(appropriate)g(v)m(alue)f(of)f FB(k)j FH(is)e(used.)73 1170 y(Th)o(us)d(the)g(class)h FB(H)j FH(of)c(functions)h(has)g(a)f(p)q (erfect)f(hash)i(function)g(for)f(an)o(y)g FB(S)s FH(,)f Fx(j)p FB(S)s Fx(j)h FH(=)g FB(n)p FH(,)g(if)g(the)g(size)g(of)0 1242 y(the)i(table)i(is)f FB(O)q FH(\()p FB(n)342 1224 y FI(2)363 1242 y FH(\).)22 b(F)l(urthermore,)16 b(suc)o(h)g(a)h(function)h(can)e(b)q(e) h(found)g(in)h FB(O)q FH(\()p FB(n)p FH(\))f(exp)q(ected)f(time.)22 b(The)0 1314 y(only)16 b(problem)f(with)h(this)f(sc)o(heme)f(is)i(that)f(the) g(size)g(of)g(the)f(table)i(is)g(m)o(uc)o(h)d(larger)j(than)g Fx(j)p FB(S)s Fx(j)p FH(.)k(Our)15 b(\014rst)0 1386 y(result)k(suggests)h(a)f (w)o(a)o(y)f(out.)28 b(W)l(e)18 b(can)h(partition)h FB(S)i FH(so)d(that)g(the)f(square)g(of)h(the)f(sum)h(of)f(all)i(buc)o(k)o(et)0 1459 y(sizes)e(is)g(no)f(more)g(than)h(5)p FB(n)p FH(.)25 b(This)18 b(can)g(b)q(e)f(done)h(with)g(one)f(hash)h(function,)g(whic)o(h)g(ob)o (viously)g(is)h(not)0 1531 y(p)q(erfect.)24 b(A)17 b(second)g(hash)i (function,)e(whic)o(h)h(is)g(p)q(erfect)f(for)h(the)f(smaller)h(partition,)h (can)f(b)q(e)f(used)h(for)0 1603 y(eac)o(h)e(partition.)23 b(The)16 b(follo)o(wing)j(theorem)d(giv)o(es)g(a)h(more)f(precise)g(statemen) o(t.)0 1747 y FC(Theorem)i(2)24 b FF(L)n(et)g FB(N)29 b FF(b)n(e)c(prime)f (and)g FB(S)30 b Fx(\022)c FH([0)8 b(.)g(.)g(.)g FB(N)21 b Fx(\000)16 b FH(1])p FF(,)26 b Fx(j)p FB(S)s Fx(j)g FH(=)g FB(n)p FF(.)43 b(A)25 b(p)n(erfe)n(ct)f(hash)g(function)0 1819 y FB(h)29 b FH(:)g FB(S)18 b Fx(!)c FH([0)8 b(.)g(.)g(.)g FB(m)j Fx(\000)g FH(1])p FF(,)18 b FB(m)d FH(=)f(9)p FB(n)p FF(,)19 b(with)f FB(O)q FH(\(1\))h FF(evaluation)g(time)g(and)f FB(O)q FH(\()p FB(n)8 b FH(log)j FB(n)p FH(\))18 b FF(pr)n(o)n(gr)n(am)e(size)i(c)n (an)0 1891 y(b)n(e)g(found)g(in)f FB(O)q FH(\()p FB(n)p FH(\))h FF(exp)n(e)n(cte)n(d)g(time.)0 2035 y FH(Pro)q(of:)24 b(The)18 b(p)q(erfect)e(hashing)j(function)g(is)f(constructed)f(in)h(t)o(w)o(o)f (steps.)24 b(In)17 b(the)g(\014rst)h(step)f(w)o(e)g(\014nd)h(a)0 2107 y FB(k)g FH(suc)o(h)e(that)h(\()p FB(k)r(x)d FH(mo)q(d)g FB(N)5 b FH(\))14 b(mo)q(d)g FB(m)i FH(partitions)j FB(S)g FH(in)o(to)e(subsets)g FB(B)s FH(\()p FB(i;)8 b(k)r FH(\),)14 b(where)595 2229 y FB(B)s FH(\()p FB(i;)8 b(k)r FH(\))27 b(=)h Fx(f)p FB(x)p Fx(j)p FB(x)13 b Fx(2)h FB(S)19 b(and)d(h)1160 2236 y Fw(k)1182 2229 y FH(\()p FB(x)p FH(\))d(=)h FB(i)p Fx(g)508 b FH(\(13\))0 2351 y(suc)o(h)22 b(that)229 2318 y Fr(P)272 2331 y Fw(m)p Ft(\000)p FI(1)272 2364 y Fw(i)p FI(=0)359 2351 y Fx(j)p FB(B)s FH(\()p FB(i;)8 b(k)r FH(\))p Fx(j)531 2333 y FI(2)599 2351 y Fx(\024)50 b FH(5)p FB(n)p FH(.)41 b(Suc)o(h)22 b(a)h FB(k)i FH(exists)e(and)g(can)g(b)q(e)g(found)g(in)h FB(O)q FH(\()p FB(n)p FH(\))f(exp)q(ected)0 2423 y(time.)30 b(Let)20 b FB(c)251 2430 y Fw(i)284 2423 y FH(denote)f(2)p FB(b)p FH(\()p FB(i;)8 b(k)r FH(\)\()p FB(b)p FH(\()p FB(i;)g(k)r FH(\))k Fx(\000)h FH(1\))g(+)g(1.)31 b(In)19 b(the)g(second)h(step,)f(w)o(e)g(\014nd) h FB(k)1610 2430 y Fw(i)1624 2423 y FH(,)g(for)f(all)i FB(i)p FH(,)e(suc)o(h)0 2496 y(that)e(\()p FB(k)150 2503 y Fw(i)164 2496 y FB(x)d FH(mo)q(d)g FB(N)5 b FH(\))14 b(mo)q(d)h FB(c)519 2503 y Fw(i)549 2496 y FH(is)j(a)f(p)q(erfect)f(hash)h(function)h(for)e(a)h (table)h(of)f(size)f FB(c)1516 2503 y Fw(i)1547 2496 y FH(and)h(the)g(set)f (of)h(k)o(eys)0 2568 y FB(B)s FH(\()p FB(i;)8 b(k)r FH(\).)32 b(By)20 b(the)g(second)g(result)h(pro)o(v)o(ed)f(earlier,)h(this)h(will)g (tak)o(e)d FB(O)q FH(\()p FB(b)p FH(\()p FB(i;)8 b(k)r FH(\)\))21 b(exp)q(ected)e(time.)33 b(The)0 2640 y(program)17 b FF(PerfHash)f FH(computes)g(the)g(p)q(erfect)g(hash)h(function)g(for)g(a)f(table)h(of)g (size)f(5)p FB(n)p FH(.)951 2828 y(33)p eop bop 0 213 a Fy(PerfHash)27 b Fp(f)d Fo(\(*)f(Computes)g(perfect)g(hash)g (function)g(h\(x\))g(*\))136 298 y(i)h(:=)g(\(kx)f(mod)h(N\))f(mod)h(n)136 382 y(j)g(:=)g(\(k)304 389 y Fh(i)349 382 y Fo(x)g(mod)f(N\))h(mod)f(c)683 389 y Fh(i)136 467 y Fo(h)h(:=)256 435 y Fr(P)299 448 y Fh(i)p Ft(\000)p Fh(1)299 481 y(l)p FI(=)p Fh(0)376 467 y Fo(c)400 474 y Fh(l)445 467 y Fo(+)g(j)0 552 y Fp(g)73 685 y FH(If)15 b(the)g(starting)i(index)e(for)g(eac)o(h)g(sub-table)i(\()927 652 y Fr(P)971 664 y Fw(i)p Ft(\000)p FI(1)971 698 y Fw(l)p FI(=0)1038 685 y FB(c)1059 692 y Fw(l)1072 685 y FH(\))e(is)h(stored,)f FB(h)p FH(\()p FB(x)p FH(\))g(can)h(b)q(e)f(ev)m(aluated)h(in)g FB(O)q FH(\(1\))0 757 y(time.)22 b(Also,)17 b(it)g(is)h(easily)f(seen)g(that) g(the)f(total)i(size)f(of)f(the)h(hash)g(table)h(in)f(the)f(ab)q(o)o(v)o(e)h (program)g(is)g(9)p FB(n)0 829 y FH(based)j(on)f(the)g(fact)h(that)f(one)h (can)f(\014nd)h(a)f(hash)h(function)g FB(h)1172 836 y Fw(k)1194 829 y FH(,)f(suc)o(h)g(that)1449 796 y Fr(P)1501 829 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))1626 811 y FI(2)1664 829 y FH(=)19 b(5)p FB(n)p FH(.)30 b(In)19 b(the)0 902 y(second)g(step)g(eac)o(h)f(buc)o(k) o(et)f(is)i(mapp)q(ed)g(in)o(to)h(a)f(space)g(of)g(size)f(2)p FB(b)p FH(\()p FB(i;)8 b(k)r FH(\)\()p FB(b)p FH(\()p FB(i;)g(k)r FH(\))k Fx(\000)g FH(1\))h(+)g(1.)29 b(Hence)17 b(the)0 974 y(total)h(space)e(necessary)g(is)263 1035 y Fr(X)240 1126 y FI(1)p Ft(\024)p Fw(i)p Ft(\024)p Fw(n)346 1076 y Fx(f)p FH(2)p FB(b)p FH(\()p FB(i;)8 b(k)r FH(\)\()p FB(b)p FH(\()p FB(i;)g(k)r FH(\))i Fx(\000)h FH(1\))g(+)g(1)p Fx(g)42 b FH(=)g(2)1053 1035 y Fr(X)1030 1126 y FI(1)p Ft(\024)p Fw(i)p Ft(\024)p Fw(n)1144 1076 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))1269 1056 y FI(2)1299 1076 y Fx(\000)j FH(2)1405 1035 y Fr(X)1382 1126 y FI(1)p Ft(\024)p Fw(i)p Ft(\024)p Fw(n)1496 1076 y FB(b)p FH(\()p FB(i;)d(k)r FH(\))j(+)g FB(n)918 1184 y FH(=)42 b(2)11 b Fx(\002)g FH(5)p FB(n)g Fx(\000)g FH(2)p FB(n)h FH(+)f FB(n)918 1269 y FH(=)42 b(9)p FB(n:)73 1401 y FH(As)15 b(for)g(the)f(total)i(space)f(o)q(ccupied)h(b) o(y)e FF(PerfHash)19 b FH(itself,)c(eac)o(h)1264 1368 y Fr(P)1308 1381 y Fw(i)p Ft(\000)p FI(1)1308 1414 y Fw(l)p FI(=0)1376 1401 y FB(c)1397 1408 y Fw(l)1424 1401 y FH(used)g(b)o(y)g(the)f(program)i (can)0 1473 y(b)q(e)h(at)h(most)g(log)10 b FB(n)18 b FH(bits)g(long)g(as)g (it)g(is)g(an)g(index)g(in)o(to)g(an)g(arra)o(y)f(of)h(size)f(9)p FB(n)p FH(.)25 b(Since)18 b(w)o(e)f(ha)o(v)o(e)f(to)i(store)0 1546 y FB(n)e FH(suc)o(h)g(n)o(um)o(b)q(ers,)g(the)g(size)g(of)h(the)f (program)h FF(PerfHash)j FH(is)d FB(O)q FH(\()p FB(n)8 b FH(log)j FB(n)p FH(\).)73 1648 y(The)19 b(time)g(needed)f(to)i(construct)f FF(PerfHash)j FH(is)e(the)f(time)g(required)g(to)g(\014nd)g FB(k)i FH(and)f(all)g(the)f FB(k)1889 1655 y Fw(i)1904 1648 y FH('s.)0 1720 y(Th)o(us)e(it)g(will)h(tak)o(e)e FB(O)q FH(\()p FB(n)p FH(\))c(+)537 1687 y Fr(P)581 1700 y Fw(m)p Ft(\000)p FI(1)581 1732 y Fw(i)p FI(=0)667 1720 y FB(O)q FH(\()p FB(b)p FH(\()p FB(i;)c(k)r FH(\)\))14 b(=)g FB(O)q FH(\()p FB(n)p FH(\))j(units)h(of)f(exp)q(ected)e(time.)21 b(The)c(fact)f(that)h(this)0 1792 y(function)g(is)g(p)q(erfect)f(is)h(guaran)o(teed)f(b)o(y)g(the)g(t)o(w) o(o)g(results)h(pro)o(v)o(ed)f(earlier.)507 b Fi(2)73 1895 y FH(W)l(e)22 b(close)h(this)g(section)g(b)o(y)f(p)q(oin)o(ting)j(out)e(wh)o (y)f(the)g(tec)o(hnique)f(of)i(random)g(searc)o(h)f(w)o(orks)h(for)0 1967 y(p)q(erfect)c(hashing.)32 b(The)19 b(class)h FB(H)k FH(of)19 b(function)i(is)f(particularly)h(ric)o(h)e(in)h(functions)g(that)g(are)f (\\nearly)0 2039 y(p)q(erfect.")27 b(Th)o(us,)18 b(a)h(randomly)g(selected)f (function)h(from)f FB(H)k FH(will,)e(with)f(high)h(probabilit)o(y)l(,)g (partition)0 2111 y(the)13 b(set)g FB(S)j FH(ev)o(enly)l(.)k(A)13 b(p)q(erfect)f(hash)i(function)h(can)e(then)g(b)q(e)h(used)f(for)h(eac)o(h)e (of)i(these)f(partitions,)j(whic)o(h)0 2184 y(are)j(su\016cien)o(tly)h (small.)32 b(The)19 b(k)o(ey)f(here)h(is)h(the)f(ric)o(hness)h(of)g(the)f (solution)i(space.)31 b(Had)20 b(the)f(p)q(erfect)0 2256 y(hash)e(functions)h (b)q(een)e(rare)h(in)g FB(H)t FH(,)f(our)h(random)g(selection)h(and)f (testing)g(pro)q(cedure)g(w)o(ould)g(require)g(a)0 2328 y(long)h(searc)o(h)e (through)h(the)f FB(m)565 2310 y Fw(N)614 2328 y FH(p)q(ossible)j(functions)e (from)f FB(U)22 b FH(to)17 b FB(T)7 b FH(.)0 2497 y FC(2.4.2)55 b(Univ)n(ersal)20 b(Hashing)0 2631 y FH(As)f(seen)h(earlier,)h(for)f(most)f FF(\014xe)n(d)i FH(hash)f(functions,)h(hashing)h(pro)o(vides)e(us)g(with)g (an)g FB(O)q FH(\(1\))h(exp)q(ected)0 2704 y(time)f(and)g FB(O)q FH(\()p FB(n)p FH(\))h(w)o(orst)f(case)g(time)g(pro)q(cedure)g(for)g(table)h (main)o(tenance.)32 b FF(Universal)22 b(hashing)e FH(deals)951 2828 y(34)p eop bop 0 195 a FH(with)23 b(the)f(p)q(ossibilit)o(y)i(of)f(biases)g(in)f(the)g (input,)i(whic)o(h)e(ma)o(y)g(result)g(in)h(the)e FB(O)q FH(\()p FB(n)p FH(\))i(complexit)o(y)l(,)g(b)o(y)0 267 y(randomizing)g(o)o(v)o(er)d (hashing)j(functions.)36 b(In)21 b(univ)o(ersal)h(hashing,)i(\014rst)d (discussed)h(in)g([CW79],)g(one)0 340 y(w)o(orks)15 b(with)g(an)h(en)o(tire)e (class,)h FB(H)t FH(,)g(of)g(hashing)i(functions)e(instead)h(of)f(pic)o(king) h(an)o(y)e(one)h(single)h(hashing)0 412 y(function)22 b FF(a)g(priori)j FH(and)d(using)g(it)g(for)g(ev)o(ery)d(run.)37 b(A)o(t)20 b(the)h(b)q (eginning)j(of)d(eac)o(h)g(run)h(a)f(function)h(is)0 484 y(randomly)d(c)o (hosen)f(from)g FB(H)k FH(and)d(used)f(for)g(that)h(run.)27 b(Since)18 b(it)g(is)h(unlik)o(ely)g(that)f(a)h(\\bad")g(function)0 556 y(w)o(ould)d(b)q(e)f(pic)o(k)o(ed)f(in)i(most)f(runs,)g(for)g FB(H)20 b FH(prop)q(erly)c(de\014ned,)e(the)h(running)h(time)f(a)o(v)o (eraged)f(o)o(v)o(er)g(man)o(y)0 628 y(runs)j(is)g(exp)q(ected)e(to)i(b)q(e)f (small.)73 731 y(F)l(or)f(an)o(y)g(randomly)h(selected)e(elemen)o(t)g(of)h FB(H)k FH(to)c(p)q(ossess)i(a)e(small)h(exp)q(ected)e(access)h(time)f(for)i (eac)o(h)0 803 y(set)i(of)g(k)o(eys,)e(almost)j(all)h(hashing)f(functions)g (in)f FB(H)k FH(should)d(distribute)g(the)f(set)g(of)g(input)g(k)o(eys)f (fairly)0 875 y(uniformly)i(o)o(v)o(er)e(the)h(hash)g(table.)28 b(W)l(e)17 b(de\014ne)h(a)g(class)h FB(H)k FH(of)18 b(functions)h(to)f(b)q(e) g FB(c)p FH(-univ)o(ersal)h(if)g(only)g(a)0 947 y(fraction)f FB(c=m)e FH(of)i(functions)f(in)h FB(H)j FH(pro)q(duce)c(a)g(collision)j(on)d (an)o(y)g(pair)g FB(x)p FH(,)f FB(y)j FH(in)e(the)g(univ)o(erse)f(of)h(input) 0 1020 y(k)o(eys.)j(F)l(ormally)l(,)15 b FB(H)j Fx(\022)13 b(f)p FB(h)7 b Fx(j)g FB(h)14 b FH(:)f([0)8 b(.)g(.)g(.)g FB(N)k Fx(\000)7 b FH(1])14 b Fx(!)f FH([0)8 b(.)g(.)g(.)g FB(m)f Fx(\000)g FH(1])p Fx(g)13 b FH(is)i FB(c)p FH(-)p FF(universal)h FH(if)f Fx(8)p FB(x;)8 b(y)13 b Fx(2)h FH([0)8 b(.)g(.)g(.)g FB(N)k Fx(\000)7 b FH(1])0 1092 y(suc)o(h)16 b(that)h FB(x)c Fx(6)p FH(=)h FB(y)r FH(,)576 1177 y Fx(jf)p FB(h)p Fx(j)p FB(h)f Fx(2)h FB(H)21 b(and)16 b(h)p FH(\()p FB(x)p FH(\))e(=)f FB(h)p FH(\()p FB(y)r FH(\))p Fx(gj)g(\024)1263 1143 y FB(c)p Fx(j)p FB(H)t Fx(j)p 1263 1165 93 2 v 1288 1211 a FB(m)1361 1177 y(:)488 b FH(\(14\))0 1276 y(F)l(or)16 b FB(N)22 b FH(prime,)16 b(consider)h(the)f(particular)i(class)f FB(H)953 1283 y FI(1)989 1276 y FH(de\014ned)f(as)h(follo)o(ws:)267 1398 y FB(H)307 1405 y FI(1)341 1398 y FH(=)d Fx(f)p FB(h)446 1405 y Fw(a;b)491 1398 y Fx(j)p FB(h)533 1405 y Fw(a;b)579 1398 y FH(\()p FB(x)p FH(\))g(=)f([\()p FB(ax)d FH(+)h FB(b)p FH(\))j(mo)q(d)g FB(N)5 b FH(])14 b(mo)q(d)g FB(m;)8 b(a;)g(b)13 b Fx(2)h FH([0)8 b(.)g(.)g(.)f FB(N)17 b Fx(\000)11 b FH(1])p Fx(g)p FB(:)179 b FH(\(15\))0 1520 y(It)14 b(can)g(b)q(e)g(sho)o(wn)h(that)f(the)g(class)h FB(H)685 1527 y FI(1)720 1520 y FH(is)f FB(c)p FH(-univ)o(ersal)i(for)e FB(c)g FH(=)g([)1186 1497 y Ft(d)p Fw(N)q(=m)p Ft(e)p 1186 1508 109 2 v 1188 1537 a FI(\()p Fw(N)q(=m)p FI(\))1299 1520 y FH(])1313 1502 y FI(2)1332 1520 y FH(.)21 b(Since)14 b(eac)o(h)f(function)i (in)g FB(H)1883 1527 y FI(1)1917 1520 y FH(is)0 1592 y(fully)g(sp)q (eci\014ed)g(b)o(y)f FB(a)g FH(and)h FB(b)p FH(,)f(there)g(are)h FB(N)799 1574 y FI(2)833 1592 y FH(functions)h(in)f(this)g(class)h(and)f FB(O)q FH(\(log)c FB(N)5 b FH(\))14 b(bits)i(are)e(required)0 1664 y(to)j(pin-p)q(oin)o(t)h(an)o(y)f(one)f(function.)23 b(Also,)17 b(a)g(random)g(function)g(can)g(b)q(e)g(c)o(hosen)f(b)o(y)g(randomly)h(pic)o (king)0 1737 y FB(a)f FH(and)h FB(b)f FH(from)g([0)8 b(.)g(.)g(.)g FB(N)16 b Fx(\000)11 b FH(1].)73 1839 y(Let)19 b(us)h(assume)f(that)g(eac)o (h)g(hash)h(function)f(in)h FB(H)1031 1846 y FI(1)1070 1839 y FH(has)g(the)e(same)h(probabilit)o(y)i(of)f(b)q(eing)g(pic)o(k)o(ed)0 1911 y(in)f(an)o(y)g(run,)g(and)g FF(hashing)h(with)g(chaining)822 1893 y FI(5)861 1911 y FH(is)g(used.)28 b(Under)18 b(these)g(assumptions)j (it)e(can)g(b)q(e)f(sho)o(wn)0 1983 y(that)j(the)f(time)g(tak)o(en)g(b)o(y)g (univ)o(ersal)i(hashing)g(to)f(p)q(erform)f(access,)h(insert)g(and)g(delete)f (op)q(erations,)0 2056 y(or)j(an)o(y)g(sequence)f(of)h(suc)o(h)g(op)q (erations,)j(is)e(the)f(same)g(as)h(the)e(exp)q(ected)g(time)h(tak)o(en)g(b)o (y)f(hashing)0 2128 y(with)17 b(c)o(haining)h(when)e(all)i(inputs)f(are)g (assumed)f(to)h(b)q(e)f(equally-lik)o(ely)i([Meh84a].)j(In)16 b(fact)g(this)i(result)0 2200 y(holds)i(for)f(an)o(y)g FB(c)p FH(-univ)o(ersal)h(class)g(of)f(functions.)30 b(Th)o(us,)19 b(univ)o(ersal)h(hashing,)h(with)f(no)f(assumptions)0 2272 y(on)h(the)f(input)i(distribution,)h(should)f(p)q(erform)f(as)g(w)o(ell)g(as) h(hashing)g(with)g(c)o(haining)g(when)e(the)h(b)q(est)0 2345 y(p)q(ossible)25 b(input)e(distribution)i(\(i.e.,)d(completely)h(un)o(biased) g(input\))g(is)g(assumed.)40 b(Note)22 b(that)h(ev)o(en)0 2417 y(though)g(the)e(end-result,)i(as)f(far)g(as)g(the)f(p)q(erformance)g(is)i (concerned,)e(is)i(the)e(same)g(for)h(these)f(t)o(w)o(o)0 2489 y(hashing)h(paradigms,)g(there)d(is)h(a)h(considerable)g(di\013erence)f(b)q (et)o(w)o(een)e(the)i(assumptions)i(underlying)p 0 2533 780 2 v 56 2563 a FE(5)75 2578 y FD(In)17 b(hashing)g(with)h(c)o(haining,)h(all)e (k)o(eys)h(that)f(collide)i(at)e(a)g(giv)o(en)h(index)g Fs(i)f FD(in)h(the)f(hash)h(table)g Fs(T)23 b FD(are)17 b(stored)h(as)f(a)0 2653 y(link)o(ed)e(list)h(at)d Fs(T)6 b FD([)p Fs(i)p FD(].)951 2828 y FH(35)p eop bop 0 195 a FH(them.)24 b(In)18 b(univ)o(ersal)g(hashing)i(the)d(algorithm)i (con)o(trols)g(the)e(dice)h(and)g(not)g(the)f(user,)h(and)g(therefore)0 267 y(the)e(exp)q(ected)f(complexit)o(y)h(is)h FB(O)q FH(\(1\))g(ev)o(en)f (for)g(maliciously)j(designed)e(inputs.)73 370 y(Univ)o(ersal)g(hashing)h(is) f(an)g(example)f(of)h(the)f(con)o(trol)h(randomization)h(tec)o(hnique)e(w)o (e)g(describ)q(ed)g(in)0 442 y(Section)h(1.1.)22 b(Con)o(trol)17 b(randomization)i(is)e(useful)g(for)f(other)h(problems)g(for)f(whic)o(h)h (man)o(y)f(e\016cien)o(t)f(al-)0 514 y(gorithms)f(exist,)f(suc)o(h)f(as)i (sorting.)21 b(If)12 b(eac)o(h)g(one)h(of)g(these)f(algorithms)j(has)e(go)q (o)q(d)i(a)o(v)o(erage)d(p)q(erformance)0 586 y(but)17 b(p)q(o)q(or)h(w)o (orst)g(case)e(p)q(erformance,)h(randomization)i(o)o(v)o(er)c(the)i(space)g (of)g(a)o(v)m(ailable)i(algorithms)g(is)f(a)0 658 y(w)o(a)o(y)e(to)h (eliminate)g(the)f(risk)h(in)o(v)o(olv)o(ed)f(in)h(using)g(an)o(y)f(single)i (one)f(of)f(them.)0 830 y FC(2.4.3)55 b(Some)18 b(Recen)n(t)g(Results)0 965 y FH(The)i(FKS)g(p)q(erfect)f(hashing)j(algorithm)g(discussed)f(in)f (Section)h(2.4.1)f(results)h(in)f(a)g(hash)h(table)g(size)0 1037 y(that)d(is)g(larger)g(than)f(the)g(total)i(n)o(um)o(b)q(er)d(of)i(k)o (eys.)23 b(An)16 b(algorithm)k(is)e(said)g(to)g(b)q(e)f FF(or)n(der)g(pr)n (eserving)h FH(if)0 1109 y(it)g(puts)g(en)o(tries)g(in)o(to)g(the)g(hash)g (table)h(in)f(a)g(presp)q(eci\014ed)g(order,)g(and)g FF(minimal)g FH(if)g(it)g(generates)g(hash)0 1182 y(functions)h(where)e(the)h(table)h (size)f(is)g(the)g(same)g(as)g(the)g(total)h(n)o(um)o(b)q(er)e(of)h(k)o(eys.) 25 b(Recen)o(tly)17 b(there)g(has)0 1254 y(b)q(een)g(a)g(\015urry)g(of)g (researc)o(h)f(activit)o(y)i(in)f(the)g(areas)g(of)h(minimal)g(and)g(order)f (preserving)g(p)q(erfect)f(hash)0 1326 y(functions)h([Cic80)q(,)f(Jae81)q(,)g (Cha84)q(,)g(LC88)q(,)g(CHM92,)g(MWHC93)q(].)73 1428 y(Czec)o(h,)21 b(Ha)o(v)m(as)g(and)h(Ma)s(jewski)f([CHM92)o(])g(presen)o(t)f(a)i (probabilistic)i(algorithm)f(for)e(generating)0 1500 y(order)e(preserving,)h (minimal)h(p)q(erfect)d(hash)i(functions.)31 b(This)20 b(algorithm,)i(whic)o (h)d(runs)h(v)o(ery)e(fast)h(in)0 1573 y(practice,)g(uses)g(exp)q(ected)e (linear)j(time)f(and)g(requires)g(a)g(linear)h(n)o(um)o(b)q(er)d(of)i(w)o (ords)h(to)f(represen)o(t)e(the)0 1645 y(hash)24 b(function.)43 b(The)23 b(results)h(of)g([CHM92])f(are)g(further)g(extended)f(in)i([MWHC93]) f(to)h(a)f(family)0 1717 y(of)f(elegan)o(t)g(probabilisti)q(c)i(algorithms)g (that)e(generate)g(minimal)h(p)q(erfect)e(hash)h(functions)h(allo)o(wing)0 1789 y(arbitrary)d(arrangemen)o(ts)f(of)g(k)o(eys)f(in)i(the)f(hash)h(table.) 30 b(The)19 b(idea)g(used)h(is)f(the)g(follo)o(wing.)32 b(Certain)0 1862 y(in)o(teger)17 b(congruences)f(that)h(corresp)q(ond)h(to)f(acyclic)g FB(r)q Fx(\000)p FH(graphs)h(can)f(b)q(e)f(solv)o(ed)h(in)h(linear)g(time.)k (This)0 1934 y(uses)12 b(a)g(result)g(in)h([ER60],)f(whic)o(h)g(states)g (that)g(the)f(ma)s(jorit)o(y)h(of)g(random)g(sparse)g(2)p Fx(\000)p FH(graphs)h(are)f(acyclic.)0 2006 y(It)17 b(is)h(extended)e(in)i([MWHC93])e (to)i FB(r)q Fx(\000)p FH(graphs,)g(with)g FB(r)f(>)e FH(2.)24 b(P)o(erfect)16 b(hash)i(functions)h(are)e(obtained)0 2078 y(b)o(y)g(randomly)i(mapping)h(a)e(set)g(of)g(k)o(eys)f(in)o(to)i(an)f (acyclic)h FB(r)q Fx(\000)p FH(graph.)27 b(The)18 b(mapping)h(is)g(ac)o(hiev) o(ed)e(via)0 2150 y(univ)o(ersal)f(hashing.)23 b(Once)14 b(completed)h(the)g (constructed)g(set)g(of)h(linearly)g(indep)q(enden)o(t)f(congruences,)0 2223 y(corresp)q(onding)j(to)e(the)g(created)f FB(r)q Fx(\000)p FH(graph,)i(is)g(solv)o(ed,)f(and)g(the)g(solution)i(is)f(a)f(minimal)i(p)q (erfect)d(hash)0 2295 y(function.)34 b(F)l(or)21 b(this)g(t)o(yp)q(e)f(of)g (set)g(of)h(congruences)f(an)o(y)g(in)o(teger)h(solution)h(is)f(legal,)i(so)e (the)f(metho)q(d)0 2367 y(o\013ers)d(total)h(freedom)d(of)i(c)o(hoice)f(of)g (the)g(address)h(for)g(eac)o(h)e(k)o(ey)l(.)73 2469 y(A)k(dictionary)h(is)g (a)f(data)h(structure)e(that)i(allo)o(ws)h(the)d(storage)i(of)g(a)f(set)g FB(S)j FH(of)d(distinct)h(elemen)o(ts)0 2542 y(suc)o(h)14 b(that)h(mem)o(b)q (ership)f(queries)g(of)g(the)g(form)g(\\Is)h FB(x)f FH(in)h FB(S)s FH(?")21 b(as)15 b(w)o(ell)g(as)f(up)q(dates)i(\(i.e.)k(\\Add)14 b FB(x)g FH(to)h FB(S)s FH(")0 2614 y(and)h(\\Delete)g FB(x)f FH(from)h FB(S)s FH("\))g(can)g(b)q(e)f(p)q(erformed)h(e\016cien)o(tly)l(.)k (The)c(FKS)f(sc)o(heme)f(considers)j(only)f(static)0 2686 y(sets)22 b(where)h(no)f(up)q(dates)i(to)e FB(S)k FH(are)c(allo)o(w)o(ed.)41 b(Another)22 b(line)h(of)g(in)o(v)o(estigation)h(b)o(y)e(Dietzfelbinger)951 2828 y(36)p eop bop 0 195 a FH(et)24 b(al.)g([DKM)274 177 y FI(+)303 195 y FH(88)q(,)f(DMadH92)q(,)g(DGMP92)q(])h(attempts)g(to)g(use)g(p)q(erfect)f (hashing)j(for)e(main)o(taining)0 267 y(dictionaries)17 b(in)e(real-time)h (situations.)23 b(By)14 b(using)i(certain)f(classes)h(of)f(univ)o(ersal)h (hash)g(functions)g(they)0 340 y(sho)o(w)f(that)f(the)g(FKS)g(probabilisti)q (c)j(metho)q(d)d(can)g(construct)h(a)f(p)q(erfect)g(hash)h(function)g(in)f (\002\()p FB(n)p FH(\))h(time,)0 412 y(with)e(the)g(probabilit)o(y)h(1)s Fx(\000)s FB(O)550 364 y Fr(\020)589 392 y FI(1)p 579 400 37 2 v 579 429 a Fw(n)600 420 y Fv(\017)621 364 y Fr(\021)658 412 y FH([DGMP92)q(].)19 b(The)13 b(p)q(erfect)f(hash)h(function)g(can)g(b)q (e)f(used)h(to)g(supp)q(ort)0 484 y(a)18 b(real-time)g(dictionary)g(\(i.e.,)f (a)g(dictionary)i(whic)o(h)f(allo)o(ws)h(insertions)g(and)f(deletions)g(of)g (k)o(eys,)e(with)0 556 y(no)h(kno)o(wledge)f(ab)q(out)i(subsequen)o(t)e(ev)o (en)o(ts\))f(in)i(exp)q(ected)e(constan)o(t)i(time.)73 658 y(F)l(or)c(other)g(related)h(dev)o(elopmen)o(ts)e(in)h(order)h(preserving)f (minimal)h(p)q(erfect)f(hash)g(functions,)i(whic)o(h)0 731 y(are)23 b(practical)g(for)g(v)o(ery)f(large)h(databases,)i(see)e([F)o(CDH91) o(,)g(FHCD92].)40 b(A)22 b(considerable)i(b)q(o)q(dy)g(of)0 803 y(literature)18 b(exists)f(on)h(minimal)g(and)g(order)f(preserving)g (hash)h(functions)g(and)g(a)f(complete)g(discussion)0 875 y(is)f(b)q(ey)o (ond)f(the)f(scop)q(e)h(of)h(this)f(surv)o(ey)l(.)20 b(An)15 b(o)o(v)o(erview)f(of)h(some)g(of)g(the)f(results)i(outlined)g(ab)q(o)o(v)o (e)f(can)g(b)q(e)0 947 y(found)i(in)g([MadH90].)73 1050 y(Ma)s(jewski,)i(W)l (ormald,)g(Ha)o(v)m(as)g(and)f(Czec)o(h)g([MWHC93])f(ha)o(v)o(e)h (classi\014ed)i(n)o(umerous)e(algorithms)0 1122 y(for)h(p)q(erfect)g(hashing) i(in)o(to)e(four)h(di\013eren)o(t)f(broad)h(categories.)31 b(The)19 b(\014rst)g(category)g(is)h(comprised)g(of)0 1194 y(algorithms)f(that)e(rely)f(on)h(n)o(um)o(b)q(er)f(theoretic)g(metho)q(ds)h (to)g(determine)f(a)h(small)h(n)o(um)o(b)q(er)e(of)h(n)o(umeric)0 1266 y(parameters.)k(The)15 b(v)o(ery)f(\014rst)h(discussion)i(of)f(p)q (erfect)e(hashing,)j(b)o(y)d(Sprugnoli)k([Spr77],)d(falls)h(in)o(to)g(this)0 1339 y(category)l(.)21 b(Jaesc)o(hk)o(e's)15 b(recipro)q(cal)j(hashing)g(is)f (another)g(example)f(from)g(this)h(category)g([Jae81].)73 1441 y(The)e(second)h(category)f(consists)i(of)e(p)q(erfect)g(hash)h(functions)g (that)g(use)f(segmen)o(tation)h(of)f(k)o(eys.)20 b(In)0 1513 y(these)c(algorithms,)j(the)d(k)o(eys)g(are)h(\014rst)g(distributed)g(in)o (to)h(buc)o(k)o(ets)d(b)o(y)h(a)h(non-p)q(erfect)g(hash)h(function.)0 1585 y(P)o(erfect)11 b(hash)j(functions)g(are)e(then)h(computed)f(and)i(used) e(for)h(k)o(eys)f(in)h(eac)o(h)g(buc)o(k)o(et.)18 b(The)13 b(FKS)f(sc)o(heme)0 1657 y(describ)q(ed)17 b(earlier)g(falls)h(in)f(this)g (category)l(.)73 1760 y(The)d(third)g(category)g(of)f(p)q(erfect)g(hashing)j (sc)o(hemes)c(uses)i(some)f(kind)h(of)g(bac)o(ktrac)o(king)g(pro)q(cedures)0 1832 y(to)g(searc)o(h)f(through)i(the)e(space)h(of)g(all)h(p)q(ossible)h (functions)e(|)g(t)o(ypically)g(an)g(ordering)h(heuristic)f(is)h(used)0 1904 y(to)h(cut)f(do)o(wn)h(the)g(searc)o(h)f(space)g(|)h(in)g(order)g(to)g (\014nd)f(a)h(p)q(erfect)f(hash)i(function)f([FHCD92].)21 b(Finally)l(,)0 1976 y(the)e(fourth)h(category)f(consists)i(of)f(algorithms)h(that)f(map)f (the)g(giv)o(en)h FB(n)f FH(k)o(eys)g(in)o(to)g(a)h FB(n)13 b Fx(\002)g FB(n)20 b FH(matrix)0 2049 y(and)d(use)f(matrix)h(pac)o(king)f (algorithms)j(to)e(compress)f(the)g(2-D)h(arra)o(y)f(in)o(to)h(linear)h (space)e([Meh84a].)73 2151 y(All)j(four)g(categories)g(of)g(p)q(erfect)f (hashing)i(algorithms)h(are)d(ric)o(h)h(in)g(probabilistic)j(metho)q(ds.)28 b(F)l(or)0 2223 y(examples)17 b(of)g(algorithms)j(from)d(eac)o(h)f(category)l (,)h(w)o(e)g(refer)f(the)h(reader)g(to)g([MWHC93],)f(an)i(excellen)o(t)0 2295 y(guide)f(to)g(a)f(whole)i(panoply)f(of)g(p)q(erfect)e(hashing)j(sc)o (hemes)e(that)g(ha)o(v)o(e)g(app)q(eared)h(in)g(the)f(literature.)73 2398 y(P)o(erfect)d(hashing)i(has)g(recen)o(tly)d(found)j(application)h(in)f (the)e(area)h(of)g(hardw)o(are)h(design.)21 b(In)13 b([RP91)q(],)0 2470 y(p)q(erfect)18 b(hash)i(functions)g(are)f(used)g(to)g(construct)g(a)g (simple)h(asso)q(ciativ)o(e)h(memory)l(.)28 b(Gupta)20 b([Gup93])0 2542 y(uses)h(it)g(for)f(resp)q(onse)i(c)o(hec)o(king)d(in)i(digital)i (circuit)e(test.)34 b(In)20 b(b)q(oth)h(cases,)g(random)h(searc)o(h)e(is)h (used)0 2614 y(to)i(compute)g(a)h(p)q(erfect)e(hash)i(function)g(for)f(a)h (giv)o(en)f(set)g(of)g(k)o(eys.)41 b(This)24 b(hash)g(function)g(is)g(then)0 2686 y(implemen)o(ted)18 b(in)h(hardw)o(are)g(and)g(its)g(constan)o(t)g (time,)g(collision-free)i(indexing)e(prop)q(ert)o(y)g(is)g(used)g(to)951 2828 y(37)p eop bop 0 195 a FH(access)16 b(a)h(pre-arranged)g(table)g(of)g(v)m(alues.)73 297 y(The)c(Nearest)g(Neigh)o(b)q(ors)i(problem)e(considered)h(next)f (illustrates)i(the)e(tec)o(hnique)g(of)h(random)f(sam-)0 370 y(pling,)k(whic)o(h)g(is)g(at)g(the)f(heart)g(of)h(man)o(y)e(randomized)i (algorithms)i(in)e(computational)h(geometry)l(.)0 579 y Fu(2.5)70 b(The)22 b(Nearest)g(Neigh)n(b)r(ors)i(Problem)0 713 y FH(W)l(e)17 b(describ)q(e)g(Rabin's)h(probabilistic)i(algorithm)f(for)e(the)g(Nearest)g (Neigh)o(b)q(ors)g(problem,)h(one)f(of)g(t)o(w)o(o)0 785 y(probabilistic)i (algorithms)g(Rabin)e(presen)o(ted)f(in)h(his)g(seminal)h(pap)q(er)f ([Rab76].)22 b(The)16 b(other,)g(a)h(proba-)0 857 y(bilistic)h(algorithm)h (for)d(primalit)o(y)i(testing,)e(w)o(as)h(the)f(topic)h(of)f(Section)h(2.2.) 73 960 y(Consider)f(a)g(\014nite)f(set)g FB(S)i FH(=)d Fx(f)p FB(x)665 967 y FI(1)684 960 y FB(;)8 b(:::;)g(x)798 967 y Fw(n)820 960 y Fx(g)15 b FH(of)g(p)q(oin)o(ts)h(in)g FB(l)q FH(-dimensional)h(space,)e (i.e.,)f FB(S)j Fx(\032)d(<)1784 942 y Fw(l)1797 960 y FH(,)g(where)0 1032 y Fx(<)k FH(denotes)h(the)f(reals.)28 b(The)19 b FF(Ne)n(ar)n(est)g (Neighb)n(ors)f FH(problem)h(is)g(to)g(\014nd)f(a)h(pair)g(of)g(p)q(oin)o(ts) h FB(x)1746 1039 y Fw(i)1760 1032 y FH(,)e FB(x)1820 1039 y Fw(j)1856 1032 y FH(suc)o(h)0 1104 y(that)533 1176 y FB(d)p FH(\()p FB(x)605 1183 y Fw(i)619 1176 y FB(;)8 b(x)669 1183 y Fw(j)687 1176 y FH(\))14 b(=)f(min)q Fx(f)p FB(d)p FH(\()p FB(x)950 1183 y Fw(p)969 1176 y FB(;)8 b(x)1019 1183 y Fw(q)1038 1176 y FH(\))p FB(;)g FH(1)14 b Fx(\024)g FB(p)g(<)g(q)h Fx(\024)f FB(n)p Fx(g)p FB(;)445 b FH(\(16\))0 1268 y(where)14 b FB(d)p FH(\()p FB(x)211 1275 y Fw(i)225 1268 y FB(;)8 b(x)275 1275 y Fw(j)293 1268 y FH(\))15 b(is)g(the)f(usual)i(distance)g(function)f(on)g Fx(<)1062 1250 y Fw(l)1075 1268 y FH(.)21 b(Notice)14 b(that)h FB(x)1393 1275 y Fw(i)1422 1268 y FH(cannot)g(equal)g FB(x)1735 1275 y Fw(j)1767 1268 y FH(and)h(that)0 1340 y(there)i(ma)o(y)f(b)q(e)h(more) g(than)h(one)f(suc)o(h)g(pair)h(of)g(nearest)f(neigh)o(b)q(ors)h(in)g FB(S)s FH(.)27 b(W)l(e)18 b(refer)f(to)h(the)g(distance)0 1412 y(separating)g(nearest)e(neigh)o(b)q(ors)i(in)f(a)g(set)f FB(S)j FH(as)e FB(\016)929 1419 y Fw(min)995 1412 y FH(\()p FB(S)s FH(\).)73 1514 y(A)24 b(brute-force)g(algorithm)i(for)e(Nearest)g(Neigh)o(b)q (ors)h(computes)f(all)h(the)f FB(n)p FH(\()p FB(n)17 b Fx(\000)f FH(1\))p FB(=)p FH(2)25 b(relev)m(an)o(t)0 1587 y(m)o(utual)18 b(distances)g(and)h(their)f(minim)o(um.)25 b(A)17 b(recursiv)o(e)g(algorithm) i(in)f([Ben80])f(requires)h FB(O)q FH(\()p FB(n)8 b FH(log)j FB(n)p FH(\))0 1659 y(distance)17 b(computations)h(in)f(b)q(oth)g(the)f(a)o (v)o(erage)g(and)h(w)o(orst)g(case.)k(Rabin's)c(probabilisti)q(c)i (algorithm,)0 1731 y(under)g(a)f(certain)h(reasonable)h(assumption)h(ab)q (out)f(the)e(problem)h(input)g(\(discussed)h(b)q(elo)o(w\),)f(has)h(an)0 1803 y(exp)q(ected)14 b(running)j(time)e(of)h FB(O)q FH(\()p FB(n)p FH(\))g(and)g(th)o(us)f(outp)q(erforms)h(an)o(y)f(kno)o(wn)h(sequen)o (tial)g(algorithm.)23 b(This)0 1876 y(algorithm,)e(unlik)o(e)f(his)g (algorithm)h(for)f(primalit)o(y)g(testing,)h(is)f(guaran)o(teed)f(to)h(pro)q (duce)g(the)f(correct)0 1948 y(answ)o(er.)73 2050 y(The)h(basic)h(idea)f(b)q (ehind)h(Rabin's)f(algorithm)i(is)f(one)f(of)g(divide-and-conquer:)29 b(decomp)q(ose)20 b(the)0 2122 y(set)c(of)h(p)q(oin)o(ts)g FB(S)i FH(in)o(to)e(clusters,)g(and)f(lo)q(ok)i(for)f(nearest)f(neigh)o(b)q (ors)i(within)f(eac)o(h)f(cluster.)22 b(Let)747 2226 y FB(S)17 b FH(=)d FB(S)876 2233 y FI(1)906 2226 y Fx([)e FB(S)981 2233 y FI(2)1011 2226 y Fx([)g FB(:::)d Fx([)j FB(S)1182 2233 y Fw(k)1863 2226 y FH(\(17\))0 2329 y(b)q(e)22 b(a)f FF(de)n(c)n(omp)n(osition) g FB(D)i FH(of)f FB(S)s FH(,)g(and)g FB(n)756 2336 y Fw(i)792 2329 y FH(the)f(cardinalit)o(y)i(of)f FB(S)1221 2336 y Fw(i)1235 2329 y FH(.)37 b(Let)21 b FB(N)5 b FH(\()p FB(D)q FH(\))23 b(b)q(e)e(a)h FF(me)n(asur)n(e)f FH(of)h FB(D)q FH(,)0 2402 y(de\014ned)16 b(as)729 2487 y FB(N)5 b FH(\()p FB(D)q FH(\))15 b(=)939 2433 y Fw(k)919 2445 y Fr(X)921 2537 y Fw(i)p FI(=1)992 2453 y FB(n)1021 2460 y Fw(i)1036 2453 y FH(\()p FB(n)1084 2460 y Fw(i)1109 2453 y Fx(\000)c FH(1\))p 992 2475 210 2 v 1085 2521 a(2)1207 2487 y FB(:)642 b FH(\(18\))73 2631 y(If)12 b(it)h(is)h(kno)o(wn)f(that)g(a)g(nearest)f(neigh)o(b)q(or)i(pair)g(falls)g (within)g(one)f(of)g(the)g FB(S)1452 2638 y Fw(i)1466 2631 y FH(,)g(then)f FB(N)5 b FH(\()p FB(D)q FH(\))14 b(represen)o(ts)0 2704 y(the)i(n)o(um)o(b)q(er)f(of)i(distance)g(computations)h(needed)d(to)i (\014nd)f(the)g(nearest)h(neigh)o(b)q(ors)g(of)g FB(S)s FH(:)k(simply)c(use) 951 2828 y(38)p eop bop 599 1129 2 900 v 749 1129 V 899 1129 V 1049 1129 V 1199 1129 V 1349 1129 V 450 979 1050 2 v 450 829 V 450 679 V 450 529 V 450 379 V 631 911 a Fx(\017)16 b FB(x)700 918 y FI(1)781 506 y Fx(\017)g FB(x)850 513 y FI(2)781 731 y FB(x)809 738 y FI(3)844 731 y Fx(\017)1081 806 y(\017)g FB(x)1150 813 y FI(4)961 956 y Fx(\017)g FB(x)1030 963 y FI(5)1261 611 y Fx(\017)g FB(x)1330 618 y FI(6)931 671 y Fx(\017)g FB(x)1000 678 y FI(7)p 1424 979 2 150 v 1425 870 a Fg(6)p 1424 979 V 1425 979 a(?)1428 921 y FB(\016)p 900 1054 150 2 v 1008 1053 a Fg(-)p 900 1054 V -150 w(\033)963 1101 y FB(\016)p 745 829 10 300 v 750 833 300 10 v 750 533 V 1045 829 10 300 v 415 1242 a FH(Figure)g(4:)22 b(Pictorial)d(explanation)f(of)e(Rabin's)h(Lemma)f(1.)0 1377 y(brute)e(force)h(within)h(a)f(cluster)g(and)g(then)g(compare)f(the)h (nearest)f(neigh)o(b)q(ors)i(of)f(eac)o(h)g(cluster.)20 b(Cen)o(tral)0 1449 y(to)15 b(the)f(algorithm)j(then)d(is)h(ho)o(w)g(to)g(compute,)f(in)i FB(O)q FH(\()p FB(n)p FH(\))f(time,)f(a)h(\\desirable)h(decomp)q(osition")h FB(D)g FH(of)e FB(S)s FH(,)0 1521 y(suc)o(h)j(that)g(a)g(nearest)g(neigh)o(b) q(or)h(pair)g(b)q(elongs)g(to)f(the)g(same)g(cluster)g(of)g FB(D)h FH(and)g FB(N)5 b FH(\()p FB(D)q FH(\))17 b(=)g FB(O)q FH(\()p FB(n)p FH(\).)26 b(As)0 1593 y(clari\014ed)17 b(b)q(elo)o(w,)g(the)f (use)g(of)h(randomization)h(is)f(k)o(ey)e(to)i(solving)h(this)f(problem.)73 1695 y(In)d(the)f(t)o(w)o(o-dimensional)k(case,)c(a)i(desirable)g(decomp)q (osition)h(can)e(b)q(e)g(obtained)h(b)o(y)e(\014rst)h(enclosing)0 1768 y(the)h(p)q(oin)o(ts)h(of)f FB(S)j FH(in)e(a)f(square)g(lattice)h(\000)f (of)h(mesh-size)f FB(\016)r FH(.)20 b(It)15 b(is)g(not)h(di\016cult)f(to)h (see)e(that)i(b)o(y)e(c)o(ho)q(osing)0 1840 y FB(\016)19 b Fx(\025)f FB(\016)120 1847 y Fw(min)186 1840 y FH(\()p FB(S)s FH(\))g(w)o(e)g(are)h(guaran)o(teed)g(that,)g(at)g(w)o(orst,)g(nearest)f (neigh)o(b)q(ors)j FB(x)1439 1847 y Fw(i)1452 1840 y FH(,)e FB(x)1513 1847 y Fw(j)1549 1840 y FH(lie)h(on)f(squares)g(of)g(\000)0 1912 y(with)d(a)f(common)g(corner.)21 b(By)14 b(doubling)k(the)d(mesh-size,)g (w)o(e)f(can)i(hop)q(e)f(to)h(obtain)h(a)e(lattice)h(in)g(whic)o(h)0 1984 y(these)f(p)q(oin)o(ts)h(will)h(certainly)f(lie)g(within)h(a)e FF(single)i FH(square.)k(But)15 b(to)h(ensure)f(that)g FF(al)r(l)i FH(adjacen)o(t)e(squares)0 2057 y(of)h(\000)f(are)h(tiled)g(b)o(y)f(a)h (single)g(2)p FB(\016)r FH(-b)o(y-2)p FB(\016)h FH(square,)f(w)o(e)f(need)f (to)i(construct)g(four)f(lattices)i(of)e(mesh-size)h(2)p FB(\016)r FH(.)0 2129 y(Assuming,)h(without)i(loss)f(of)f(generalit)o(y)l(,)h(that)f FB(S)j FH(is)e(a)f(subset)g(of)g(the)g(non-negativ)o(e)h(quadran)o(t,)f(then) 0 2201 y(the)d(lo)o(w)o(er,)g(left-hand)h(corners)f(of)g(these)g(lattices)h (should)g(b)q(e)f(placed)h(at)f(lo)q(cations)i(\(0)p FB(;)8 b FH(0\),)15 b(\(0)p FB(;)8 b(\016)r FH(\),)14 b(\()p FB(\016)o(;)8 b FH(0\),)0 2273 y(and)17 b(\()p FB(\016)o(;)8 b(\016)r FH(\).)73 2376 y(The)21 b(pro)q(of)h(that)f(this)g(lattice-based)h(tec)o(hnique)e(for)h (decomp)q(osing)h FB(S)i FH(w)o(orks)d(as)g(adv)o(ertised,)g(is)0 2448 y(giv)o(en)g(in)h(Lemma)f(1)h(of)f([Rab76)q(].)35 b(An)21 b(example)g(of)g(this)i(pro)q(of,)g(also)f(from)f([Rab76)q(],)h(is)f(sho)o (wn)h(in)0 2520 y(Figure)i(4.)43 b(Here)22 b FB(x)392 2527 y FI(3)435 2520 y FH(and)i FB(x)565 2527 y FI(7)608 2520 y FH(are)g(nearest)f(neigh)o(b)q(ors,)j(and)e FB(\016)h FH(is)f(greater)g(than) g(or)g(equal)f(to)h(the)0 2592 y(distance)e(b)q(et)o(w)o(een)f(them.)36 b(Doubling)24 b FB(\016)f FH(encloses)f(the)g(pair)g(in)g(a)g(single)h (square.)37 b(This)23 b(argumen)o(t)0 2664 y(generalizes)17 b(to)g(an)o(y)f(dimensional)i(space.)951 2828 y(39)p eop bop 73 195 a FH(W)l(e)14 b(no)o(w)h(kno)o(w)f(that)g FB(\016)r FH(,)g(the)g(initial)j(mesh)c(size,)i(should)g(b)q(e)g(c)o(hosen)f(large)h (enough)g(so)f(that)h(nearest)0 267 y(neigh)o(b)q(ors)21 b(at)g(w)o(orst)f (fall)h(in)g(adjacen)o(t)e(squares.)33 b(On)20 b(the)f(other)h(hand,)h(w)o(e) f(still)i(need)d(to)h(c)o(ho)q(ose)h FB(\016)0 340 y FH(small)f(enough)g(so)g (that)f FB(N)5 b FH(\()p FB(D)q FH(\))20 b(is)g FB(O)q FH(\()p FB(n)p FH(\),)g(to)g(obtain)g(an)g(e\016cien)o(t)e(algorithm.)31 b(Rabin)20 b(used)f(random)0 412 y(sampling)h(to)e(arriv)o(e)g(at)g(suc)o(h)g (a)g FB(\016)r FH(.)26 b(In)18 b(particular,)h(he)f(sho)o(w)o(ed)g(that)g(if) g FB(\016)i FH(is)e(c)o(hosen)g(to)g(b)q(e)g FB(\016)1782 419 y Fw(min)1849 412 y FH(\()p FB(S)1898 419 y FI(1)1917 412 y FH(\),)0 484 y(where)j FB(S)176 491 y FI(1)216 484 y FH(is)h(a)f(randomly)h (c)o(hosen)e(subset)i(of)f FB(S)i FH(suc)o(h)e(that)g Fx(j)p FB(S)1235 491 y FI(1)1255 484 y Fx(j)g FH(=)h FB(n)1379 466 y FI(2)p Fw(=)p FI(3)1434 484 y FH(,)g(then)e(with)i(a)f(v)o(ery)f(high)0 556 y(probabilit)o(y)231 538 y FI(6)270 556 y FH(the)c(measure)h(of)g(the)g (decomp)q(osition)i(induced)e(b)o(y)f(the)h(lattice)h(of)f(mesh-size)g FB(\016)h FH(will)h(b)q(e)0 628 y FB(O)q FH(\()p FB(n)p FH(\))14 b(\(Theorems)g(6)g(and)g(7)g(of)g([Rab76)q(]\).)20 b(In)o(tuitiv)o(ely)l(,)13 b(this)i(random)f(sample)g FB(S)1502 635 y FI(1)1536 628 y FH(of)g FB(S)i FH(is)f(large)f(enough)0 701 y(in)j(size)f(so)g(that)g(a)h (grid)f(of)h(mesh-size)e FB(\016)j FH(will)g(con)o(tain)e(a)g(small)i(n)o(um) o(b)q(er)d(of)h(p)q(oin)o(ts)h(within)g(an)o(y)f(lattice)0 773 y(square.)21 b(Th)o(us,)16 b(w)o(e)g(ha)o(v)o(e)g(algorithm)i FF(Ne)n(arNeb)i FH(for)c(the)g(Nearest)g(Neigh)o(b)q(ors)h(problem:)0 942 y Fy(Ne)n(arNeb)26 b Fp(f)95 1026 y Fn(S)123 1033 y FI(1)166 1026 y Fo(:=)e(randomly)f(chosen)g(subset)g(of)g Fn(S)k Fo(such)c(that)g Fp(j)p Fn(S)s Fp(j)12 b Fz(=)h Fn(n)1295 1010 y FI(2)p Fw(=)p FI(3)95 1111 y Fn(\016)25 b Fo(:=)f Fn(\016)232 1118 y Fw(min)299 1111 y Fz(\()p Fn(S)345 1118 y FI(1)364 1111 y Fz(\))g Fo(\(*)f(how)h(to)f (do)h(this)f(is)h(described)f(below)g(*\))95 1196 y Fz(\000)h Fo(:=)g(square)f(lattice)g(of)g(mesh)g(size)h Fn(\016)i Fo(and)d(origin)g (\(lower)g(left-hand)g(corner\))g(at)219 1280 y Fz(\(0)p Fn(;)8 b Fz(0\))p Fo(,)21 b(enclosing)i(the)g(points)g(of)h Fn(S)95 1351 y Fz(\000)123 1358 y FI(1)143 1351 y Fn(;)8 b Fz(.)g(.)g(.)d Fn(;)j Fz(\000)273 1358 y FI(4)316 1351 y Fo(:=)23 b(four)h(lattices)f(with)g (origins)g Fz(\(0)p Fn(;)8 b Fz(0\))p Fo(,)21 b Fz(\(0)p Fn(;)8 b(\016)r Fz(\))p Fo(,)22 b Fz(\()p Fn(\016)o(;)8 b Fz(0\))23 b Fo(and)g Fz(\()p Fn(\016)o(;)8 b(\016)r Fz(\))p Fo(,)387 1436 y(respectively,)23 b(derived)f(from)i Fz(\000)g Fo(by)g(doubling)e(mesh) i(size)f(to)h Fz(2)p Fn(\016)95 1505 y Fo(FOR)f(i)h(:=)f(1)h(TO)g(4)g Fp(f)213 1590 y Fo(find)g(the)f(decomposition)f Fn(S)15 b Fz(=)e Fn(S)884 1566 y FI(\()p Fw(i)p FI(\))881 1602 y(1)935 1590 y Fp([)e(\001)d(\001)g(\001)g([)i Fn(S)1110 1566 y FI(\()p Fw(i)p FI(\))1107 1604 y Fw(k)1125 1609 y Fv(i)1175 1590 y Fo(induced)23 b(by)h Fz(\000)1466 1597 y Fw(i)213 1674 y Fo(FOR)g(j)g(:=)f(1) h(TO)f Fn(k)571 1681 y Fw(i)356 1759 y Fz(\()p Fn(x)400 1735 y FI(\()p Fw(i)p FI(\))400 1772 y Fw(j)441 1759 y Fn(;)8 b(y)486 1735 y FI(\()p Fw(i)p FI(\))484 1772 y Fw(j)527 1759 y Fz(\))15 b(:=)g Fo(nearest)23 b(neighbor)g(pair)g(within)g(lattice)g(square)14 b Fn(S)1695 1735 y FI(\()p Fw(i)p FI(\))1692 1772 y Fw(j)95 1844 y Fp(g)95 1928 y Fz(\()p Fn(x;)8 b(y)r Fz(\))22 b Fo(:=)i(nearest)f (pair)g(in)g Fp(f)p Fz(\()p Fn(x)744 1904 y FI(\()p Fw(i)p FI(\))744 1941 y Fw(j)785 1928 y Fn(;)8 b(y)830 1904 y FI(\()p Fw(i)p FI(\))828 1941 y Fw(j)871 1928 y Fz(\))p Fp(j)p Fz(1)k Fp(\024)h Fn(i)f Fp(\024)h Fz(4)p Fn(;)8 b Fz(1)j Fp(\024)i Fn(j)i Fp(\024)e Fn(k)1293 1935 y Fw(i)1307 1928 y Fp(g)0 2013 y(g)73 2254 y FH(T)l(o)18 b(sho)o(w)f(the)g(exp)q(ected)f(running)i(time)f (of)g FB(O)q FH(\()p FB(n)p FH(\),)g(w)o(e)g(\014rst)g(observ)o(e)g(that)g FB(\016)1519 2261 y Fw(min)1585 2254 y FH(\()p FB(S)1634 2261 y FI(1)1654 2254 y FH(\))g(can)g(b)q(e)g(com-)0 2326 y(puted)c(b)o(y)g(in)o (v)o(oking)i(the)e(algorithm)i(recursiv)o(ely)e(for)h(a)f(second)h(time.)20 b(A)13 b(subset)h FB(S)1553 2333 y FI(2)1586 2326 y FH(of)g FB(S)1669 2333 y FI(1)1702 2326 y FH(is)g(randomly)0 2398 y(c)o(hosen)h(so)h (that)g Fx(j)p FB(S)363 2405 y FI(2)383 2398 y Fx(j)d FH(=)h Fx(j)p FB(S)506 2405 y FI(1)526 2398 y Fx(j)540 2380 y FI(2)p Fw(=)p FI(3)608 2398 y FH(=)g FB(n)689 2380 y FI(4)p Fw(=)p FI(9)744 2398 y FH(.)21 b(The)16 b(brute-force)f(tec)o(hnique)f(can)i(no)o(w) g(b)q(e)f(used)h(to)f(compute)0 2471 y FB(\016)22 2478 y Fw(min)88 2471 y FH(\()p FB(S)137 2478 y FI(2)157 2471 y FH(\))h(in)h(time)f FB(O)q FH(\()p FB(n)p FH(\))h(without)h(resorting)f(to)g(an)o(y)f(further)g (recursion.)p 0 2517 780 2 v 56 2556 a FE(6)75 2571 y FD(T)m(o)f(b)q(e)h (precise,)j(Rabin)c(pro)o(v)o(ed)h(that)g(this)h(probabilit)o(y)g(is)g(at)f (least)h(1)10 b Ff(\000)h FD(2)p Fs(e)1307 2556 y Fe(\000)p Fd(cn)1369 2544 y Fc(1)p Fb(=)p Fc(6)1416 2571 y FD(,)16 b(where)h Fs(c)e FD(=)1646 2536 y Ff(p)p 1680 2536 45 2 v 1680 2571 a FD(2)p Fs(\025)h FD(for)g Fs(\025)f(>)g FD(0)g(a)0 2646 y(constan)o(t.)951 2828 y FH(40)p eop bop 73 195 a FH(Next,)16 b(consider)i(the)g(cost)f(of)h(\014nding)h(the)e (decomp)q(ositions)j(induced)d(b)o(y)g(the)g(\000)1599 202 y Fw(i)1614 195 y FH(.)25 b(Rabin)18 b(sho)o(w)o(ed)0 267 y(that)23 b(if)g FB(n)f FH(and)h(the)f FB(x)433 274 y Fw(i)447 267 y FH(,)i(normalized)f(to)g(in)o(tegers)f(with)i(resp)q(ect)e(to)g(2)p FB(\016)r FH(,)i(are)e(within)i(\\appropriate)0 340 y(ranges,")18 b(then)e(hashing)j(can)e(b)q(e)g(used)g(to)g(\014nd)g(the)f(decomp)q (ositions)j(in)f(exp)q(ected)e(time)g FB(O)q FH(\()p FB(n)p FH(\).)24 b(Oth-)0 412 y(erwise,)16 b(sorting)h(is)g(needed)e(and)h(tak)o(es) f FB(O)q FH(\()p FB(n)8 b FH(log)k FB(n)p FH(\))k(time.)k(Rabin)d(argued)g (that,)e(in)i(practice,)e(hashing)0 484 y(is)i(almost)g(alw)o(a)o(ys)h (applicable.)73 586 y(W)l(e)h(ha)o(v)o(e)g(previously)h(argued)g(that)g(the)f (exp)q(ected)g(v)m(alue)h(of)g FB(N)5 b FH(\(\000)1359 593 y Fw(i)1373 586 y FH(\),)20 b(1)g Fx(\024)f FB(i)g Fx(\024)g FH(4,)h(is)g FB(O)q FH(\()p FB(n)p FH(\),)g(and)0 658 y(hence)14 b(the)g(total)i(n)o(um)o(b)q(er)e(of)h(distance)h(computations)g(required)e (is)i FB(O)q FH(\()p FB(n)p FH(\).)21 b(This)16 b(giv)o(es)f(us)g(the)g (desired)0 731 y(running)j(time)e(of)g FB(O)q FH(\()p FB(n)p FH(\))h(for)g(the)f(algorithm.)73 833 y(There)f(is)h(a)g(small)h(probabilit)o (y)g(that)f(the)f(remaining)i FB(n)9 b Fx(\000)g FB(n)1206 815 y FI(2)p Fw(=)p FI(3)1277 833 y FH(p)q(oin)o(ts)16 b(not)g(in)g(the)f (sample)h FB(S)1839 840 y FI(1)1874 833 y FH(will)0 905 y(cause)g(the)g (algorithm)i(to)f(b)q(eha)o(v)o(e)e(ine\016cien)o(tly)l(.)21 b(In)16 b(the)g(w)o(orst)g(case,)g FB(S)1356 912 y FI(1)1392 905 y FH(will)i(con)o(tain)f(widely)g(spaced)0 977 y(p)q(oin)o(ts,)i (resulting)g(in)f(a)g FB(\016)h FH(that)f(is)g(so)g(large)h(that)f(all)h FB(n)12 b Fx(\000)g FB(n)1141 959 y FI(2)p Fw(=)p FI(3)1213 977 y FH(p)q(oin)o(ts)19 b(not)f(in)g FB(S)1537 984 y FI(1)1575 977 y FH(fall)h(in)o(to)f(the)f(same)0 1050 y(square)f(of)h(the)e(grid.)23 b(As)16 b(a)g(result,)g(the)g(partition)i(of)e FB(S)j FH(will)f(consist)g(of) e(set)g FB(S)1478 1057 y FI(1)1514 1050 y FH(with)h FB(n)1654 1032 y FI(2)p Fw(=)p FI(3)1725 1050 y FH(p)q(oin)o(ts)g(and)0 1122 y(the)h(set)h FB(S)195 1129 y FI(2)233 1122 y FH(with)g(the)f(remaining) i FB(n)13 b Fx(\000)f FB(n)784 1104 y FI(2)p Fw(=)p FI(3)858 1122 y FH(p)q(oin)o(ts.)29 b(Using)19 b(brute-force)g(distance)g(computation) h(on)0 1194 y(the)c(set)g FB(S)190 1201 y FI(2)226 1194 y FH(will)i(require)e FB(O)q FH(\()p FB(n)c Fx(\000)f FB(n)659 1176 y FI(2)p Fw(=)p FI(3)714 1194 y FH(\))733 1176 y FI(2)769 1194 y FH(or)16 b FB(O)q FH(\()p FB(n)914 1176 y FI(2)935 1194 y FH(\))g(time.)73 1296 y(The)h(Nearest)f(Neigh)o(b)q(ors)h(problem)g(has)g(illustrated)i(the)d (p)q(o)o(w)o(er)h(of)f(random)h(sampling:)24 b(an)17 b(algo-)0 1369 y(rithm)g(w)o(as)g(found)g(that)g(almost)g(alw)o(a)o(ys)h(outp)q (erforms)f(all)h(kno)o(wn)f(con)o(v)o(en)o(tional)g(algorithms)h(for)f(the)0 1441 y(problem.)k(The)14 b(next)f(problem)i(w)o(e)e(consider)i(|)e(in)o (teractiv)o(ely)h(c)o(hec)o(king)f(the)h(correctness)f(of)i(an)o(y)e(pro-)0 1513 y(gram)k(that)g(purp)q(ortedly)h(solv)o(es)f(the)f(graph)i(isomorphism)g (problem)f(|)g(pro)o(vides)g(another)g(example)0 1585 y(of)g(the)f(input)h (randomization)h(tec)o(hnique.)0 1797 y Fu(2.6)70 b(In)n(teractiv)n(e)22 b(Probabilistic)i(Pro)r(ofs)0 1931 y FH(Tw)o(o)d(imp)q(ortan)o(t)h (requiremen)o(ts)e(of)h(an)o(y)f(pro)q(of)i(system)e(|)h(a)g(collection)h(of) f(axioms)g(and)h(inference)0 2004 y(rules)17 b(used)g(for)g(pro)o(ving)h (statemen)o(ts)e(ab)q(out)j(some)d(domain)i(of)f(discourse)h(|)f(are)g (completeness)f(and)0 2076 y(soundness.)22 b FF(Completeness)15 b FH(refers)f(to)g(the)g(abilit)o(y)i(to)e(pro)o(v)o(e)f(all)j(theorems)e (\(i.e.,)f(all)j(true)e(statemen)o(ts\))0 2148 y(while)24 b FF(soundness)f FH(requires)g(that)g(the)f(negation)i(of)f(a)g(theorem)g(is)g (nev)o(er)e(a)i(theorem.)40 b(Th)o(us,)24 b(the)0 2220 y(abilit)o(y)15 b(to)g(generate)e(pro)q(ofs)i(and)g(to)f(v)o(erify)f(them)g(can)h(b)q(e)g (seen)g(as)g(complemen)o(tary)f(tasks.)21 b(T)o(ypically)l(,)0 2293 y(v)o(eri\014cation)c(is)g(simpler.)73 2395 y(T)l(raditionall)q(y)l(,)i FF(P)e FH(has)g(b)q(een)g(considered)g(the)g(class)g(of)h(problems)f(that)g (can)g(b)q(e)g FF(solve)n(d)g FH(e\016cien)o(tly)l(,)0 2467 y(i.e.,)23 b(in)g(p)q(olynomial)i(time,)e(and)g FF(NP)g FH(has)g(b)q(een)f (considered)h(the)f(class)i(of)e(problems)i(that)e(can)h(b)q(e)0 2539 y FF(veri\014e)n(d)16 b FH(e\016cien)o(tly)l(,)f(i.e.,)f(in)i (nondeterministic)h(p)q(olynomial)h(time.)j(Recen)o(t)14 b(disco)o(v)o (eries,)i(ho)o(w)o(ev)o(er,)e(of)0 2611 y(e\016cien)o(t)f(p)q(olynomial-ti)q (me)j FF(r)n(andomize)n(d)d FH(algorithms)k(for)d(a)h(large)g(n)o(um)o(b)q (er)f(of)g(problems)h(\(suc)o(h)f(as)h(the)0 2684 y(ones)20 b(discussed)h(in)g(this)f(surv)o(ey\))f(ha)o(v)o(e)g(led)h(to)h(a)f(new)g (notion)h(of)f(e\016cien)o(t)f(computation,)i(viz.,)f(the)951 2828 y(41)p eop bop 0 195 a FH(class)20 b FF(RP)e FH(of)i(problems)f(that)g(can)g(b)q(e)g (solv)o(ed)h(in)f(randomized)g(p)q(olynomial)j(time.)29 b(Lik)o(ewise,)20 b(a)f(new)0 267 y(notion)c(of)g(e\016cien)o(t)e(v)o(eri\014cation)h(has)h (emerged,)e(viz.,)h(the)f(class)i FF(IP)f FH(of)g(problems)h(that)f(can)g(b)q (e)h(v)o(eri\014ed)0 340 y(through)h(the)f(use)g(of)h(an)f FF(inter)n(active)j(pr)n(ob)n(abilistic)f(pr)n(o)n(of)d(system)t FH(.)21 b(W)l(e)15 b(will)i(ha)o(v)o(e)d(more)h(to)h(sa)o(y)f(ab)q(out)0 412 y FF(RP)f FH(in)i(Section)f(4.)21 b(This)16 b(section)g(examines)f(the)f (concept)h(of)g(in)o(teractiv)o(e)g(probabilistic)j(pro)q(of)d(system)0 484 y(and)i(its)g(applications.)73 586 y(In)g(an)h(in)o(teractiv)o(e)e (probabilisti)q(c)k(pro)q(of)e(system)e(\(in)o(teractiv)o(e)h(pro)q(of)h (system,)f(for)g(short\),)h(an)f(all-)0 658 y(p)q(o)o(w)o(erful)23 b FF(pr)n(over)f FH(tries)i(to)f(con)o(vince)f(a)i(sk)o(eptical)f FF(veri\014er)g FH(that)h(it)f(has)h(a)f(solution)i(to)e(a)g(di\016cult)0 731 y(problem.)44 b(The)24 b(pro)o(v)o(er's)f(unlimited)i(computational)h(p)q (o)o(w)o(er)e(allo)o(ws)h(it)g(to)f(solv)o(e)g(suc)o(h)f(problems)0 803 y(\\with)c(ease.")26 b(F)l(or)18 b(example,)f(a)h(pro)o(v)o(er)f(can)h(p) q(oten)o(tially)h(\014nd)f(a)h(Hamiltonian)g(path)g(in)f(a)g(graph,)h(or)0 875 y(determine)d(if)g(t)o(w)o(o)g(graphs)i(are)e(isomorphic.)23 b(The)16 b(v)o(eri\014er,)f(on)i(the)f(other)g(hand,)h(is)g(required)f(to)g (b)q(e)h(a)0 947 y(p)q(olynomial-ti)q(me)h(randomized)f(algorithm.)73 1050 y(The)23 b(pro)o(v)o(er)f(and)h(the)g(v)o(eri\014er)f(engage)h(in)h(a)f (dialogue)i(in)f(whic)o(h)f(the)f(v)o(eri\014er)g(can)h(toss)h(coins)0 1122 y(and)16 b(ask)g(the)f(pro)o(v)o(er)g(to)g(solv)o(e)h(sp)q(eci\014c)g (instances)g(of)g(the)f(problem)h(in)g(question.)22 b(The)15 b(pro)o(v)o(er)g(is)h(only)0 1194 y(exp)q(ected)c(to)h(pro)o(vide)f (solutions)k(to)d(these)f(instances)i(and)f(nothing)h(else.)20 b(It)12 b(is)i(required)e(that)h(the)g(total)0 1266 y(length)18 b(of)f(the)g(messages)g(sen)o(t)g(bac)o(k)f(and)i(forth)f(b)q(et)o(w)o(een)f (the)h(pro)o(v)o(er)f(and)h(the)g(v)o(eri\014er)f(b)q(e)h(b)q(ounded)0 1339 y(b)o(y)e(a)i(p)q(olynomial)h(in)f(the)e(length)i(of)f(the)f(input.)22 b(The)16 b(ob)s(jectiv)o(e)f(of)h(the)g(v)o(eri\014er)f(is)i(to)f(con)o (vince)f(itself)0 1411 y(that)i(the)f(pro)o(v)o(er)f(do)q(es)i(in)g(fact)f (ha)o(v)o(e)g(a)g(solution)j(to)d(the)g(problem.)73 1513 y(Indep)q(enden)o(t) d(formalizations)j(of)e(in)o(teractiv)o(e)f(pro)q(of)i(systems)e(b)o(y)g (Goldw)o(asser,)i(Micali)g(and)f(Rac)o(k-)0 1585 y(o\013)19 b([GMR89],)f(and)h(Babai)g(and)g(Moran)g([BM88)o(,)f(Bab85)q(],)f(whic)o(h)i (ha)o(v)o(e)e(b)q(een)h(sho)o(wn)h(to)g(b)q(e)f(equiv)m(a-)0 1657 y(len)o(t)g([GS89)q(],)f(allo)o(w)j(a)e(p)q(olynomial-ti)q(me)i(v)o (eri\014er)d(to)h(toss)h(coins)g(and)g(arbitrarily)h(in)o(teract)d(with)i (the)0 1730 y(pro)o(v)o(er.)26 b(In)17 b([GMR89)q(],)g(the)h(outcomes)g(of)g (the)g(coin)h(tosses)g(made)f(b)o(y)f(the)h(v)o(eri\014er)f(are)h(hidden)h (from)0 1802 y(the)e(pro)o(v)o(er.)25 b(In)17 b([BM88)o(],)g(the)h(pro)q(of)g (system)g(is)g(considered)g(as)g(a)g(game)g(pla)o(y)o(ed)f(b)q(et)o(w)o(een)g (t)o(w)o(o)g(pla)o(y-)0 1874 y(ers)h(called)h(Arth)o(ur)e(and)i(Merlin.)27 b(Once)18 b(again,)i(Arth)o(ur)d(and)i(Merlin)g(\(the)e(v)o(eri\014er)h(and)g (the)g(pro)o(v)o(er,)0 1946 y(resp)q(ectiv)o(ely\))j(can)g(toss)h(coins)g (and)g(can)g(talk)f(bac)o(k)g(and)h(forth.)36 b(Ho)o(w)o(ev)o(er,)21 b(in)h(this)g(pro)q(of-system,)0 2019 y(unlik)o(e)c(that)h(in)f([GMR89)q(],)f (all)j(coin)e(tosses)h(made)f(b)o(y)f(the)h(v)o(eri\014er)g(are)g(seen)f(b)o (y)h(the)f(pro)o(v)o(er.)26 b(These)0 2091 y(formalizations)c(ha)o(v)o(e)c (led)h(to)h(the)e(emergence)g(of)h(a)g(hierarc)o(h)o(y)g(of)g(probabilisti)q (c)i(complexit)o(y)e(classes)0 2163 y(that)e(generalizes)g FF(NP)f FH([BM88].)73 2265 y(One)i(can)g(also)i(view)f(an)f(in)o(teractiv)o (e)g(pro)q(of)h(system)f(in)h(complexit)o(y)f(theoretic)g(terms)f(where)h (the)0 2338 y(pro)o(v)o(er)g(tries)i(to)f(con)o(vince)g(a)g(probabilisti)q(c) i(v)o(eri\014er)e(that)g(a)h(string)g FB(w)g FH(is)g(in)g(a)f(language)i FB(L)p FH(.)30 b(Suc)o(h)19 b(a)0 2410 y(pro)q(of)h(system)f(yields)h (probabilistic)i(pro)q(ofs)f(since)e(the)g(v)o(eri\014er)g(ma)o(y)f(accept)h (or)g(reject)f FB(w)j FH(based)f(on)0 2482 y(o)o(v)o(erwhelming)c (statistical)j(evidence)c(rather)h(than)h(on)f(certain)o(ties.)22 b(Recen)o(t)15 b(y)o(ears)h(ha)o(v)o(e)f(witnessed)i(a)0 2554 y(m)o(ultitude)h(of)f(suc)o(h)g(complexit)o(y)g(theoretic)g(results.)26 b(F)l(or)17 b(example,)g(Ben-Or)g(et)g(al.)g(in)h([BOGKW88])0 2626 y(prop)q(osed)k(a)f FF(multi-pr)n(over)h FH(in)o(teractiv)o(e)e(pro)q (of)i(mo)q(del.)36 b(Using)22 b(this)f(mo)q(del,)i(Babai)e(et)g(al.)g ([BFL90])0 2699 y(pro)o(v)o(ed)f(that)h(the)f(class)i(of)f(languages)i(that)e (has)g(a)g(t)o(w)o(o-pro)o(v)o(er)f(in)o(teractiv)o(e)g(pro)q(of)i(system)e (is)h(non-)951 2828 y(42)p eop bop 0 195 a FH(deterministic)22 b(exp)q(onen)o(tial)g(time.)36 b(In)21 b(his)h(pap)q(er)f(en)o(titled)h(\\)p FB(I)t(P)29 b FH(=)22 b FB(P)7 b(S)s(AC)t(E)s FH(,")22 b(Shamir)f([Sha92b)q(])0 267 y(sho)o(w)o(ed)d(that)g(the)g(set)f(of)i(problems)f(for)g(whic)o(h)g(in)o (teractiv)o(e)g(proto)q(cols)i(exist)e(is)g(precisely)g(the)g(set)g(of)0 340 y(problems)e(whic)o(h)g(are)g(solv)m(able)h(within)g(p)q(olynomial)i (space)c(on)h(a)g(T)l(uring)h(mac)o(hine.)k(A)15 b(k)o(ey)g(result)h(for)0 412 y(pro)o(ving)j FB(I)t(P)j FH(=)17 b FB(P)7 b(S)s(P)g(AC)t(E)20 b FH(\(and)e(also,)h FB(M)5 b(I)t(P)24 b FH(=)16 b FB(N)5 b(E)s(X)t(P)25 b FH([BFL90]\))18 b(is)g(b)o(y)f(Lund)i(et)e(al.)h([LFKN90])0 484 y(who)24 b(presen)o(ted)f(a)h(new)g(algebraic)h(tec)o(hnique)e(for)h (constructing)h(in)o(teractiv)o(e)e(pro)q(of)i(systems)e(and)0 556 y(pro)o(v)o(ed)12 b(that)h(ev)o(ery)f(language)j(in)e(the)g(p)q (olynomial)i(time)e(hierarc)o(h)o(y)g(has)g(an)h(in)o(teractiv)o(e)e(pro)q (of)i(system.)73 658 y(An)g(in)o(teractiv)o(e)f(pro)q(of)i(system)e(m)o(ust)g (satisfy)i FF(pr)n(ob)n(abilistic)e FH(notions)j(of)e(soundness)h(and)f (complete-)0 731 y(ness:)0 874 y FF(Completeness.)26 b FH(if)16 b FB(w)f Fx(2)f FB(L)i FH(then,)g(with)g(v)o(ery)f(high)i(probabilit)o(y)h (the)e(in)o(teraction)g(b)q(et)o(w)o(een)f(the)h(pro)o(v)o(er)122 947 y(and)h(the)f(v)o(eri\014er)f(m)o(ust)h(result)h(in)g(the)f(v)o (eri\014er)f(concluding)j(that)f FB(w)g FH(is)h(indeed)e(in)h FB(L)p FH(;)0 1060 y FF(Soundness.)26 b FH(if)16 b FB(w)f Fx(62)f FB(L)i FH(then,)f(with)i(v)o(ery)d(high)j(probabilit)o(y)l(,)g(at)f(the)g (end)f(of)h(the)g(proto)q(col)h(the)f(v)o(eri\014er)122 1133 y(m)o(ust)g(conclude)g(that)h FB(w)g FH(is)g(not)g(in)g FB(L)p FH(.)0 1276 y(The)i(pro)q(of)h(m)o(ust)f(b)q(e)g(sound)h(ev)o(en)e(if)i(the)e (pro)o(v)o(er)h(acts)g(maliciously)i(and)f(delib)q(erately)g(tries)g(to)f(fo) q(ol)0 1349 y(the)j(v)o(eri\014er.)37 b(Sev)o(eral)22 b(prop)q(erties)h(of)f (in)o(teractiv)o(e)f(pro)q(of)i(systems)f(concerning)h(completeness)e(and)0 1421 y(soundness,)15 b(and)f(metho)q(ds)g(for)f(constructing)i(them)e(are)g (in)o(v)o(estigated)i(in)f([F)o(GM)1524 1403 y FI(+)1552 1421 y FH(89)q(].)20 b(Clearly)l(,)14 b(ruling)0 1493 y(b)o(y)e(probabilisti)q(c)j (evidence)e(means)g(relaxing)h(the)f(completeness)f(and)i(correctness)e (criteria.)21 b(Ho)o(w)o(ev)o(er,)0 1565 y(it)c(do)q(es)g(lead)g(to)f(in)o (teresting)h(applications)j(suc)o(h)c(as)h(program)g(testing)g([BR88,)e(BK89) q(,)g(BLR90)q(].)73 1668 y(F)l(or)f(an)g(example)f(of)h(ho)o(w)f(of)h(an)g (in)o(teractiv)o(e)f(pro)q(of)i(system)e(|)g(in)h(particular,)h(the)e(v)o (eri\014er)g(comp)q(o-)0 1740 y(nen)o(t)j(of)g(the)g(pro)q(of)i(|)e(can)g(b)q (e)h(used)f(to)h(test)f(the)g(correctness)g(of)g(a)h(program,)g(consider)g (the)f(problem)0 1812 y(of)22 b FF(gr)n(aph)g(isomorphism)t FH(.)37 b(The)22 b(reader)g(should)h(recall)g(that)f(the)g(exact)g(complexit) o(y)f(of)i(graph)g(iso-)0 1884 y(morphism)17 b(is)h(not)f(kno)o(wn:)23 b(while,)17 b(to)g(date,)g(no)g(p)q(olynomial-ti)q(me)i(algorithm)f(for)f (this)h(problem)f(has)0 1956 y(b)q(een)22 b(disco)o(v)o(ered,)g(a)g(pro)q(of) i(that)e(it)g(is)h(NP-complete)f(has)g(b)q(een)g(equally)h(elusiv)o(e.)38 b(The)22 b(follo)o(wing)0 2029 y(e\016cien)o(t)13 b(pro)q(cedure)h(for)g(c)o (hec)o(king)g(the)f(v)m(alidit)o(y)j(of)e(a)h(graph)g(isomorphism)h(program)e (is)h(due)f(to)h(Blum,)0 2101 y(Ragha)o(v)m(an,)i(and)g(Kannan)g([BR88,)f (BK89].)21 b(It)16 b(is)h(based)g(on)g(an)f(in)o(teractiv)o(e)g(pro)q(of)i (system)e(for)g(graph)0 2173 y(non-isomorphism)j(b)o(y)d(Goldreic)o(h,)g (Micali)i(and)f(Wigderson)h([GMW91].)73 2275 y(Giv)o(en)23 b(a)g(program)h FG(P)e FH(that)h(purp)q(ortedly)h(solv)o(es)f(the)f(graph)i (isomorphism)h(problem)e(and)g(t)o(w)o(o)0 2348 y(graphs)f FG(G)f FH(and)g FG(H)p FH(,)f(the)h(v)o(eri\014er)f(wishes)i(to)f(determine)g (whether)f FG(P)h FH(in)o(v)o(ok)o(ed)f(on)h FG(G)g FH(and)g FG(H)g FH(\(denoted)0 2420 y FG(P\(G,H\))p FH(\))d(giv)o(es)j(the)f(correct)g (result.)35 b(The)20 b(v)o(eri\014er)g FF(GI-V)l(erify)t FH(,)h(whose)h (pseudo)q(co)q(de)f(is)g(no)o(w)g(giv)o(en,)0 2492 y(op)q(erates)c(in)g(a)g (randomized)f(and)h(in)o(teractiv)o(e)f(manner.)0 2661 y Fy(GI-V)m(erify)27 b Fp(f)p Fo(\(*)c(Inputs:)47 b(a)24 b(program)f(P)h(and)f(graphs)g(G)h(and)f (H)h(*\))951 2828 y FH(43)p eop bop 143 213 a Fo(IF)23 b(P\(G,H\))g(=)h(true)f(THEN)p Fp(f)285 298 y Fo(attempt)g(to)h(establish)e(the)i(isomorphism)285 382 y(IF)g(successful)e(THEN)i(RETURN)f("P)g(is)h(correct")285 467 y(ELSE)g(RETURN)f("P)g(is)h(buggy")p Fp(g)143 552 y Fo(ELSE)p Fp(f)285 636 y Fo(REPEAT)f Fn(k)i Fo(times)p Fp(f)428 721 y Fo(toss)e(a)h(fair)f(coin)428 806 y(IF)h(coin)f(=)h(head)f(THEN)p Fp(f)571 890 y Fo(generate)f(a)i(random)f(permutation)g(G)1311 874 y Ft(0)1346 890 y Fo(of)h(G)571 975 y(IF)f(P\(G,)h(G)786 959 y Ft(0)797 975 y Fo(\))g(=)g(false)f(THEN)g(RETURN)g("P)h(is)f(buggy")p Fp(g)428 1060 y Fo(ELSE)p Fp(f)571 1144 y Fo(generate)f(a)i(random)f (permutation)g(H)1311 1128 y Ft(0)1346 1144 y Fo(of)h(H)571 1229 y(IF)f(P\(G,)h(H)786 1213 y Ft(0)797 1229 y Fo(\))g(=)g(true)f(THEN)g (RETURN)g("P)h(is)f(buggy")p Fp(g)285 1314 y(g)h Fo(\(*)g(end)f(REPEAT)g(*\)) 285 1398 y(RETURN)g("P)h(is)g(correct")p Fp(g)143 1483 y(g)73 1724 y FF(GI-V)l(erify)e FH(starts)h(b)o(y)f(in)o(v)o(oking)h FG(P\(G,H\))p FH(.)d(If)h FG(P)h FH(pronounces)h FG(G)f FH(and)h FG(H)e FH(to)i(b)q(e)f(isomorphic)i(\(i.e.,)0 1796 y FG(P\(G,H\))f(=)j(true)p FH(\),)15 b(the)i(v)o(eri\014er's)f(task)h(is)h(simple.)24 b(It)17 b(attempts)g(to)g(determine)f(the)h(corresp)q(ondence)0 1868 y(b)q(et)o(w)o(een)j(the)g(v)o(ertices)f(of)i FG(G)f FH(and)h FG(H)f FH(\(ho)o(w)h(this)g(is)h(done)e(will)j(b)q(e)d(describ)q(ed)h (shortly\),)h(and)f(returns)0 1941 y FG(correct)e FH(or)j FG(buggy)e FH(accordingly)l(.)40 b(If,)22 b(on)h(the)e(other)h(hand,)i FG(P)d FH(pronounces)i FG(G)e FH(and)i FG(H)e FH(to)h(b)q(e)g(non-)0 2013 y(isomorphic)d(\(i.e.,)c FG(P\(G,H\))24 b(=)h(false)p FH(\),)15 b FG(V)h FH(will)j(put)e FG(P)g FH(through)h(a)f(series)g(of)h (tests.)23 b(Should)18 b FG(P)f FH(fail)h(an)o(y)0 2085 y(one)g(of)g(these)f (tests,)h FG(V)f FH(can)h(conclude)g(that)g FG(P)f FH(is)h FG(buggy)p FH(.)24 b(Otherwise,)18 b FG(V)f FH(can)h(conclude,)f(with)i(a)f (high)0 2157 y(degree)e(of)g(con\014dence,)g(that)g FG(P)g FH(is)h FG(correct)p FH(.)73 2260 y(Consider)d(the)e(case)g FG(P\(G,H\))23 b(=)i(true)11 b FH(\014rst.)20 b(The)13 b(v)o(eri\014er)e(can) h(establish)i(a)f(1-to-1)h(corresp)q(ondence)0 2332 y(b)q(et)o(w)o(een)19 b(the)g(v)o(ertices)f(of)i FG(G)f FH(and)h FG(H)p FH(,)f(assuming)i(that)f FG(P)f FH(is)h(correct)f(in)h(pronouncing)i FG(G)d FH(and)h FG(H)f FH(to)h(b)q(e)0 2404 y(isomorphic,)k(as)f(follo)o(ws.)39 b(Starting)23 b(with)g FG(G)p FH(,)e(arbitrarily)j(n)o(um)o(b)q(er)d(the)g(v) o(ertices)g(of)h FG(G)f FH(and)i FG(H)e FH(from)0 2476 y(1)g(to)f FB(n)p FH(.)34 b(A)o(ttac)o(h)19 b(a)i(clique)f(of)h FB(n)14 b FH(+)g(1)21 b(v)o(ertices)e(to)i(no)q(de)g(n)o(um)o(b)q(er)e(1)i(of)f FG(G)g FH(to)h(obtain)h(the)e(graph)h FG(G1)p FH(.)0 2549 y(Successiv)o(ely)l (,)15 b(attac)o(h)h(a)g(similar)i(clique)e(to)g(eac)o(h)f(no)q(de)i FB(i)e FH(in)i FG(H)e FH(to)h(obtain)i FG(H)p FB(i)p FH(,)c(and)j(test)e(if)i FG(P\(G1,H)p FB(i)p FG(\))22 b(=)0 2621 y(true)p FH(.)h(Clearly)l(,)18 b(if)g FG(G)e FH(and)i FG(H)f FH(are)h(isomorphic,)g(and)g(if)g(no)q(de)g(1)f (in)h FG(G)f FH(can)g(b)q(e)h(mapp)q(ed)g(to)f(no)q(de)h FB(i)f FH(in)h FG(H)p FH(,)0 2693 y(then)e FG(P\(G1,H)p FB(i)p FG(\))d FH(will)18 b(return)d FG(true)p FH(.)20 b(Th)o(us,)c(if)g FG(P)g FH(returns)g FG(false)e FH(for)i(all)i FB(i)p FH(,)d FG(P)h FH(is)g(buggy)l(.)22 b(On)16 b(the)g(other)951 2828 y(44)p eop bop 0 195 a FH(hand,)15 b(if)h FG(P\(G1,H)p FB(i)p FG(\))23 b(=)i(true)13 b FH(for)i(some)g FB(i)p FH(,)g(map)g(no)q(de)g(1)h(of)f FG(G)f FH(to)i(no)q(de)f FB(i)g FH(of)g FG(H)p FH(.)f(Rep)q(eat)h(this)h(pro) q(cedure)0 267 y(for)g(eac)o(h)f(no)q(de)i FB(j)f Fx(2)e FH([1)8 b(.)g(.)g(.)g FB(n)p FH(])16 b(of)g FG(G)p FH(.)e(A)o(t)h(an)o(y)h(p)q(oin)o (t,)g(the)g(inabilit)o(y)i(to)e(\014nd)g(a)g(corresp)q(onding)i(no)q(de)e(in) g FG(H)0 340 y FH(re\015ects)g(an)h(error)f(in)i(program)f FG(P)p FH(.)f(On)g(the)h(other)f(hand,)h(if)g(all)h(the)e(v)o(ertices)g(in)h FG(G)f FH(can)h(b)q(e)g(mapp)q(ed)g(to)0 412 y(those)g(in)h FG(H)e FH(then)h(the)g(v)o(eri\014er)f(can)h(easily)h(test)e(if)i(the)e (mapping)j(is)e(an)h(isomorphism)g(and)g(determine)0 484 y(if)f(the)f (original)j(answ)o(er)d FG(P\(G,)25 b(H\))f(=)i(true)14 b FH(w)o(as)j (correct.)73 586 y(Consider)f(the)e(case)g FG(P\(G,H\))23 b(=)j(false)12 b FH(next,)i(i.e.,)f FG(P)h FH(declares)h(that)f FG(G)g FH(and)h FG(H)f FH(are)g(not)h(isomorphic.)0 658 y(In)h(this)h(case,)e(the)h(v)o (eri\014er)g(relies)g(on)h(simple)g(random)f(c)o(hoice)g(and)h(input)g (randomization)h(as)f(follo)o(ws.)0 731 y(It)h(puts)h FG(P)f FH(through)h(a)g(series)f(of)h(tests)g(or)f FF(r)n(ounds)t FH(.)27 b(In)18 b(eac)o(h)g(round,)h FG(V)f FH(tosses)h(a)g(fair)g(t)o(w)o (o-sided)g(coin)0 803 y(to)g(randomly)g(c)o(ho)q(ose)g(b)q(et)o(w)o(een)f FG(G)g FH(and)h FG(H)p FH(;)f(randomly)h(p)q(erm)o(utes)f(the)g(names)h(of)f (the)h(v)o(ertices)e(in)i(the)0 875 y(selected)13 b(graph)i(to)f(obtain)h(a)f (graph)h FG(K)e FH(that)h(is)h(isomorphic)g(to)f(the)g(selected)f(graph;)i (and)f(then)g(in)o(v)o(ok)o(es)0 947 y FG(P\(G,K\))p FH(.)g(W)l(e)i(will)i (refer)e(to)g FG(K)g FH(as)h FG(G)660 929 y Ft(0)672 947 y FH(,)e(if)i(the)f(selected)g(graph)i(is)f FG(G)p FH(,)e(and)i(as)g FG(H)1436 929 y Ft(0)1464 947 y FH(is)g(the)f(selected)g(graph)h(is)0 1020 y FG(H)p FH(.)73 1122 y(There)h(are)g(t)o(w)o(o)g(cases)g(dep)q(ending)h (on)f(whether)g(or)g(not)h FG(P)e FH(is)i(correct.)25 b(If)18 b(it)g(is,)h(i.e.,)e FG(G)h FH(and)g FG(H)g FH(are)0 1194 y(actually)23 b(non-isomorphic,)h(then)e(in)g(eac)o(h)e(round)j(w)o(e)d(should)j(ha)o(v)o (e)e FG(P\(G,)j(G)1500 1176 y Ft(0)1511 1194 y FG(\))i(=)f(true)20 b FH(when)h FG(G)g FH(is)0 1266 y(selected,)e(and)g FG(P\(G,)25 b(H)451 1248 y Ft(0)462 1266 y FG(\))g(=)g(false)18 b FH(when)h FG(H)f FH(is)i(selected.)29 b(Th)o(us,)20 b(in)g(just)f(a)g(v)o(ery)f(small)i (n)o(um)o(b)q(er)f(of)0 1339 y(rounds,)j(the)e(v)o(eri\014er)g(can)g(gain)i (a)f(high)g(degree)f(of)h(con\014dence)f(in)h(the)f(correctness)g(of)h FG(P)f FH(should)h(it)0 1411 y(resp)q(ond)c(correctly)f(in)h(eac)o(h)f (round.)73 1513 y(On)j(the)g(other)g(hand,)g(if)h FG(P)e FH(is)i(buggy)l(,)g (i.e.,)e FG(G)h FH(and)g FG(H)g FH(are)f(isomorphic,)j(it)f(has)f(no)h(w)o(a) o(y)e(of)h(distin-)0 1585 y(guishing)j(b)q(et)o(w)o(een)c FG(G)413 1567 y Ft(0)444 1585 y FH(and)h FG(H)567 1567 y Ft(0)579 1585 y FH(.)30 b(This)20 b(is)h(b)q(ecause)e FG(G)999 1567 y Ft(0)1030 1585 y FH(and)g FG(H)1153 1567 y Ft(0)1184 1585 y FH(are)g(isomorphic)i(and)f (are)f(b)q(oth)i(dra)o(wn)0 1657 y(from)d(the)g(same)h(distribution)i (\(essen)o(tially)f(they)d(are)i(random)g(p)q(erm)o(utations)g(of)g(the)f (same)h(graph\).)0 1730 y(Since)14 b FG(P)g FH(do)q(es)h(not)f(kno)o(w)g (whether)g FG(G)693 1712 y Ft(0)718 1730 y FH(or)h FG(H)802 1712 y Ft(0)827 1730 y FH(is)g(b)q(eing)g(passed)g(as)g(the)f(second)g (argumen)o(t,)g(the)g(only)g(w)o(a)o(y)0 1802 y(it)21 b(can)f(distinguish)j (them)d(is)h(b)o(y)f(c)o(hance.)32 b(The)21 b(probabilit)o(y)h(therefore)e (of)g FG(P)g FH(resp)q(onding)i(correctly)0 1874 y(\(i.e.,)17 b(\\y)o(es")g(to)h FG(P\(G,)25 b(G)460 1856 y Ft(0)471 1874 y FG(\))17 b FH(and)h(\\no")h(to)f FG(P\(G,)24 b(H)943 1856 y Ft(0)955 1874 y FG(\))p FH(\))17 b FB(k)i FH(straigh)o(t)g(times)f(is)g (only)h(2)1558 1856 y Ft(\000)p Fw(k)1607 1874 y FH(.)25 b(Therefore,)17 b(the)0 1946 y(v)o(eri\014er)f(should)h(only)g(need)f(a)h(few)f(rounds)h(to)g (determine)e(that)i FG(P)f FH(is)h(buggy)l(.)73 2049 y(The)f(v)o(eri\014er)g (mak)o(es)g(use)g(of)h(randomization)h(to)f(its)g(adv)m(an)o(tage)g(at)g(t)o (w)o(o)f(crucial)h(junctures)f(in)h(the)0 2121 y(ab)q(o)o(v)o(e)12 b(algorithm.)21 b(First,)13 b(it)f(generates)g(random)g(p)q(erm)o(utations)h FG(G)1250 2103 y Ft(0)1273 2121 y FH(and)f FG(H)1389 2103 y Ft(0)1400 2121 y FH(.)20 b(If)11 b FG(G)g FH(and)h FG(H)g FH(are)f (isomorphic)0 2193 y(there)19 b(is)i(no)g(w)o(a)o(y)e(of)h(telling)i FG(G)593 2175 y Ft(0)624 2193 y FH(and)f FG(H)749 2175 y Ft(0)780 2193 y FH(apart.)33 b(In)20 b(addition,)j(it)d(randomly)h(passes)g FG(G)1667 2175 y Ft(0)1698 2193 y FH(or)f FG(H)1787 2175 y Ft(0)1819 2193 y FH(as)g(the)0 2265 y(second)g(argumen)o(t)f(in)h(eac)o(h)f (iteration)i(thereb)o(y)e(taxing)h(the)g(claimed)g(abilit)o(y)h(of)e FG(P)h FH(that)f(it)h(can)g(test)0 2338 y(for)d(graph)h(isomorphism.)25 b(The)17 b(tric)o(k)g(is)h(so)f(e\013ectiv)o(e)f(that)i(it)f(will)i(catc)o(h) d FG(P)h FH(ev)o(en)f(if)h(it)h(is)g(maliciously)0 2410 y(co)q(ded)f(and)f (is)h(designed)h(sp)q(eci\014cally)f(to)g(fo)q(ol)h(the)e(v)o(eri\014er.)73 2512 y(The)g(ab)q(o)o(v)o(e)g(example)g(illustrates)i(the)e(p)q(o)o(w)o(er)g (of)g(input)h(randomization)h(in)f(program)g(testing)f(and)0 2584 y(in)o(teractiv)o(e)21 b(pro)q(of)h(systems.)37 b(The)21 b(reader)g(is)h(referred)f(to)g([BR88,)g(BK89])g(for)h(more)f(probabilistic)0 2656 y(c)o(hec)o(k)o(ers)15 b(for)j(problems)g(suc)o(h)g(as)g(matrix)g(m)o (ultiplication,)i(sorting)f(and)f(sev)o(eral)g(problems)g(in)g(group)951 2828 y(45)p eop bop 0 195 a FH(theory)l(.)73 297 y(It)21 b(is)g(in)o(teresting)h(to)f(note)g (that)g(in)g(the)g(ab)q(o)o(v)o(e)g(example,)g FF(GI-V)l(erify)k FH(w)o(as)c(able)h(to)f(do)g(its)h(task)0 370 y(without)f(ha)o(ving)f(to)f (solv)o(e)h(the)f(graph)h(isomorphism)h(problem)f(in)g(an)o(y)f(sense.)30 b(Also,)20 b(if)g(the)f(graphs)0 442 y(are)e(isomorphic,)h(then)f(the)f(v)o (eri\014er)g(can)h(construct)g(the)g(1-1)h(map)f(b)q(et)o(w)o(een)f(the)g(v)o (ertices)g(of)i(the)e(t)o(w)o(o)0 514 y(graphs)i(\(i.e.,)d(it)i(gains)h(more) f(information)h(than)f(a)g(simple)h(y)o(es/no)e(answ)o(er)h(ab)q(out)h(the)e (isomorphism)0 586 y(question\).)25 b(Ho)o(w)o(ev)o(er,)15 b(if)j(they)f(are)g(non-isomorphic,)j(the)d(v)o(eri\014er)g(gains)i(no)f (additional)i(kno)o(wledge,)0 658 y(other)f(than)h(the)e(fact)h(that)h(they)e (are)h(non-isomorphic,)j(ab)q(out)e(ho)o(w)f(this)h(conclusion)h(w)o(as)e (reac)o(hed.)0 731 y(This)e(latter)g(prop)q(ert)o(y)f(is)h(crucial)h(to)e (the)g(notion)i(of)e FF(zer)n(o-know)r(le)n(dge)k(pr)n(o)n(ofs)f FH(describ)q(ed)e(next.)0 903 y FC(Zero-Kno)n(wledge)i(Pro)r(ofs)0 1037 y FH(Sometimes,)k(an)g(additional)j(requiremen)o(t)21 b(is)j(imp)q(osed)f(on)g(the)f(pro)o(v)o(er,)h(viz.,)g(that)g(it)g (completely)0 1109 y(hide)d(the)f(details)h(of)g(its)g(solution)h(from)e(the) g(v)o(eri\014er.)30 b(In)18 b(this)i(case,)g(the)f(pro)q(of)h(is)g(referred)e (to)i(as)g(a)0 1182 y FF(zer)n(o-know)r(le)n(dge)g(pr)n(o)n(of)26 b FH([GMR89,)16 b(BM88,)g(Bab85)q(,)g(KMO89,)h(GMW91])g(b)q(ecause,)f(ev)o (en)g(though)h(the)0 1254 y(v)o(eri\014er)i(has)h(an)f(e\016cien)o(t)g(means) g(of)h(v)o(erifying)f(resp)q(onses)h(pro)o(vided)g(b)o(y)f(the)g(pro)o(v)o (er,)g(at)g(the)g(end)g(it)0 1326 y(has)e(learned)g(nothing)h(except)d(that)h (the)g(pro)o(v)o(er)g(is)h(righ)o(t)g(or)f(wrong.)73 1428 y(The)e(concept)g (of)g(zero-kno)o(wledge)h(pro)q(of)g(has)g(turned)e(out)i(to)f(b)q(e)h(esp)q (ecially)g(useful)g(in)f(complexit)o(y)0 1500 y(theory)24 b([F)l(or87,)f (BHZ87])g(and)h(cryptograph)o(y)g([GMW87)q(,)f(CCD88)q(,)g(BOGW88)q(,)g(BC86) q(].)43 b(V)l(arious)0 1573 y(notion)17 b(of)g(zero-kno)o(wledge,)f(a)g (classi\014cation)j(of)d(these)f(notions,)j(and)e(sev)o(eral)g(related)g (topics)h(app)q(ear)0 1645 y(in)h([Ore87,)f(FLS90)q(,)g(KMO89].)24 b(Some)17 b(complexit)o(y)g(theoretic)h(implications)i(of)d(systems)h(that)f (admit)0 1717 y(zero-kno)o(wledge)g(pro)q(ofs)g(are)g(discussed)g(in)g([AH91) o(,)f(F)l(or87)q(,)g(GMW91].)0 1889 y FC(T)-5 b(ruly)19 b(Zero-Kno)n(wledge)g (and)g(Multi-Pro)n(v)n(er)h(In)n(teractiv)n(e)e(Pro)r(ofs)0 2023 y FH(Zero-kno)o(wledge)e(pro)q(ofs,)h(in)f(the)g(traditional)i(sense,)e (rev)o(eal)f(one)h(bit)g(of)g(information)i(to)e(the)f(v)o(eri\014er,)0 2096 y(viz.)23 b FB(w)16 b Fx(2)f FB(L)i FH(or)g FB(w)g Fx(62)e FB(L)p FH(.)23 b(In)16 b([FFS87)q(],)g(a)h(notion)h(of)f FF(truly)h(zer)n (o-know)r(le)n(dge)j(pr)n(o)n(of)26 b FH(is)17 b(prop)q(osed)h(where)0 2168 y(the)d(pro)o(v)o(er)f(con)o(vinces)g(the)h(v)o(eri\014er)f(that)h(it)g (kno)o(ws)h(whether)e FB(w)i FH(is)g(or)f(is)h(not)f(in)g FB(L)p FH(,)g(without)h(rev)o(ealing)0 2240 y(an)o(y)k(other)h(information.)35 b(Th)o(us,)21 b(at)f(the)g(end)h(of)f(in)o(teraction,)i(the)e(v)o(eri\014er)g (only)h(gains)h(kno)o(wledge)0 2312 y(ab)q(out)g(the)e(state)g(of)h(pro)o(v)o (er's)e(kno)o(wledge)i(and)g(no)f(information)j(ab)q(out)e(the)f(original)j (mem)o(b)q(ership)0 2385 y(problem.)73 2487 y(Ben-Or)h(et)g(al.)h([BOGKW88])e (prop)q(ose)j(a)f(m)o(ulti-pro)o(v)o(er)f(in)o(teractiv)o(e-pro)q(of)h(mo)q (del.)46 b(In)24 b(their)0 2559 y(mo)q(del,)e(t)o(w)o(o)e(pro)o(v)o(ers)g (join)o(tly)h(agree)f(on)h(a)g(strategy)f(and)h(then)g(try)f(to)g(con)o (vince)g(the)g(v)o(eri\014er,)h(in)g(a)0 2631 y(p)q(olynomially)g(b)q(ounded) d(n)o(um)o(b)q(er)f(of)h(in)o(teractions,)h(that)f(a)g(certain)g(statemen)o (t)f(is)h(true.)25 b(Comm)o(uni-)0 2704 y(cation)19 b(b)q(et)o(w)o(een)e(the) h(pro)o(v)o(ers)f(is)i(disallo)o(w)o(ed)h(while)f(they)e(in)o(teract)h(with)h (the)e(v)o(eri\014er.)26 b(The)18 b(authors)951 2828 y(46)p eop bop 0 195 a FH(are)16 b(able)h(to)g(pro)o(v)o(e)e(sev)o(eral)h(in)o (teresting)i(results)f(without)g(making)g(an)o(y)f(in)o(tractabilit)o(y)i (assumptions.)0 367 y FC(Nonin)n(teractiv)n(e)h(Zero-Kno)n(wledge)g(Pro)r (ofs)0 501 y FH(A)13 b(zero-kno)o(wledge)g(in)o(teractiv)o(e)g(pro)q(of)h (system)f(t)o(ypically)h(has)g(three)e(k)o(ey)g(features)h(that)h (distinguish)h(it)0 574 y(from)e(a)h(traditional)j(pro)q(of.)k(The)14 b(\014rst)f(is)i(the)e(abilit)o(y)i(of)f(the)f(pro)o(v)o(er)g(and)h(the)f(v)o (eri\014er)g(to)h(in)o(teract)f(with)0 646 y(eac)o(h)f(other.)19 b(Secondly)l(,)13 b(the)f(v)o(eri\014er)f(can)h(toss)h(coins)g(that)g(are)f (hidden)g(from)g(the)g(pro)o(v)o(er,)g(whic)o(h)g(means)0 718 y(there)17 b(is)i(an)f(elemen)o(t)f(of)i(\\hidden)g(randomization".)28 b(Finally)l(,)20 b(the)e(pro)o(v)o(er)f(has)h(the)g(abilit)o(y)h(to)g(solv)o (e)0 790 y(a)e(hard)g(problem)f(that)h(the)f(v)o(eri\014er)g(cannot)h(solv)o (e)f(directly)l(.)22 b(Th)o(us,)16 b(the)g(pro)o(v)o(er)f(em)o(b)q(eds)h(in)h (its)g(pro)q(of)0 863 y(the)e(computational)j(di\016cult)o(y)e(of)g(some)g (other)g(problem.)21 b(As)16 b(noted)f(b)o(y)h(Blum)f(et)h(al.)22 b(in)16 b([BDMP91],)0 935 y(this)g(requires)e(a)h(rather)g(ric)o(h)g(set)f (of)h(conditions)i(to)e(b)q(e)g(presen)o(t)f(b)q(efore)h(a)g(zero-kno)o (wledge)g(in)o(teractiv)o(e)0 1007 y(pro)q(of)i(can)g(b)q(e)f(devised)h(for)f (a)h(problem.)73 1109 y(Another)e(notion)h(that)f(is)h(gaining)h(p)q (opularit)o(y)g(is)f(that)f(of)g FF(noninter)n(active)j(zer)n(o-know)r(le)n (dge)h(pr)n(o)n(ofs)0 1182 y FH(\014rst)h(prop)q(osed)i(b)o(y)d(Blum,)h(F)l (eldman,)h(and)g(Micali)g([BFM88)o(].)32 b(A)20 b(notion)h(of)g(non-in)o (teractiv)o(e)f(zero-)0 1254 y(kno)o(wledge)f(pro)q(ofs)h(based)g(on)f(a)g(w) o(eak)o(er)f(complexit)o(y)g(assumption)j(than)e(that)g(used)g(in)h([BFM88)o (])e(is)0 1326 y(presen)o(ted)d(in)i([DSMP87)q(].)k(Most)16 b(of)h(the)f(w)o(ork)g(to)h(date)f(is)h(summarized)f(in)h([BDMP91].)73 1428 y(In)23 b(in)o(teractiv)o(e)f(zero-kno)o(wledge)i(pro)q(of-systems,)h (the)e(pro)o(v)o(er)f FB(P)31 b FH(in)o(teractiv)o(ely)22 b(pro)o(v)o(es)h (to)g(the)0 1500 y(v)o(eri\014er)13 b FB(V)24 b FH(that)14 b(a)g(certain)f(theorem)g(is)h(true)f(without)i(giving)g(a)o(w)o(a)o(y)e(the) g(details)i(of)f(the)f(pro)q(of.)21 b(In)13 b(non-)0 1573 y(in)o(teractiv)o (e)k(zero-kno)o(wledge)g(systems,)g(as)g(the)g(name)g(implies,)h(in)o (teraction)g(is)g(forbidden:)24 b FB(P)g FH(writes)0 1645 y(do)o(wn)d(the)f (pro)q(ofs)i(and)f(mails)h(it)f(to)g FB(V)32 b FH(for)21 b(v)o(eri\014cation) g(under)g(the)f(assertion)i(of)f(zero-kno)o(wledge.)0 1717 y(Instead)d(of)h(in)o(teraction,)g FB(P)26 b FH(and)19 b FB(V)30 b FH(are)18 b(allo)o(w)o(ed)h(to)g(share)g(a)g(short)g(random)f(string.)29 b(While)20 b(suc)o(h)e(a)0 1789 y(concept)e(of)g(\\shared)h(randomness")h (has)f(b)q(een)f(used)g(b)o(y)g(others)g(\(see,)g(for)g(example,)g([GS89]\),) g(shared)0 1862 y(random)22 b(strings)h(represen)o(t)e(a)h(m)o(uc)o(h)e(w)o (eak)o(er)h(requiremen)o(t)f(than)i(most)g(others)g(\(e.g.,)g(public)g(coin)0 1934 y(tosses\))15 b(used)f(in)h(the)f(literature.)21 b(As)14 b(observ)o(ed)g(in)h([BDMP91],)f(pro)q(ofs)h(using)h(shared)e(randomness)i (do)0 2006 y(not)i(rely)f(on)g(foiling)j(the)d(adv)o(ersary)g(b)o(y)g(the)g (unpredictabilit)o(y)h(of)g(the)f(coin)h(tosses,)f(as)h(has)g(b)q(een)f(the)0 2078 y(case)f(so)h(far,)f(but)h(rather)f(on)h(the)f(\\w)o(ell)h(mixedness")g (of)f(the)g(bits)h(of)g(the)f(shared)h(random)f(string.)73 2180 y(This)21 b(concludes)g(our)g(surv)o(ey)e(of)h(sequen)o(tial)h (randomized)g(algorithms.)35 b(The)20 b(next)f(section)i(will)0 2253 y(consider)c(distributed)h(randomized)e(algorithms.)951 2828 y(47)p eop bop 0 203 a FK(3)83 b(Distributed)28 b(Randomized)f(Algorithms)0 355 y FH(In)20 b(the)g(second)h(half)g(of)g(our)g(surv)o(ey)f(w)o(e)g(lo)q (ok)h(at)g(sev)o(eral)g(randomized)g(algorithms)h(for)f FF(distribute)n(d)0 427 y(c)n(omputing)t FH(,)j(viz.,)d(the)h(Dining)h(Philosophers')h(problem)e (\()p FF(DinPhil)5 b FH(\),)23 b(the)e(Comm)o(unication)i(Guard)0 499 y(Sc)o(heduling)d(Problem)g(of)f(CSP)h(\()p FF(CommGuar)n(d)5 b FH(\),)18 b(the)h(Leader)g(Election)i(problem)e(\()p FF(L)n(e)n(adEle)n(ct) 5 b FH(\),)19 b(the)0 572 y(P)o(erm)o(utation)g(Message)g(Routing)h(problem)f (\()p FF(MsgR)n(oute)t FH(\),)f(and)h(the)g(Byzan)o(tine)f(Generals')h (problem)0 644 y(\()p FF(ByzA)n(gr)n(e)n(e)t FH(\).)34 b(W)l(e)20 b(sa)o(w)h(in)g(the)g(sequen)o(tial)g(case)g(that)g(randomization)i(w)o(as)e (used)g(to)g(obtain)h(faster)0 716 y(algorithms)17 b(\(sometimes)e(at)g(the)f (exp)q(ense)h(of)g(absolute)h(accuracy\),)e(or)h(to)h(guaran)o(tee)f(that)g (the)f(w)o(orst-)0 788 y(case)19 b(p)q(erformance)h(of)g(an)f(algorithm)j(is) e(no)g(w)o(orse)g(than)g(the)f(algorithm's)i(exp)q(ected)e(p)q(erformance.)0 861 y(Similar)e(motiv)m(ations)g(are)e(also)h(presen)o(t)f(in)g(the)g (distributed)h(case,)f(as)g(demonstrated)g(in)h(this)g(section.)0 933 y(Ho)o(w)o(ev)o(er)9 b(an)j(imp)q(ortan)o(t)g(additional)i(concern)d(is)h (presen)o(t:)18 b(there)11 b(are)g(certain)g(problems)h(in)g(distributed)0 1005 y(computing)18 b(that)f(ha)o(v)o(e)f(no)h(deterministic)g(algorithm|w)o (e)h(ha)o(v)o(e)e(no)h(c)o(hoice)f(but)h(to)g(toss)h(coins.)23 b(The)0 1077 y(probabilistic)c(algorithm)g(for)d(the)g(Dining)i(Philosophers) h(problem)e(t)o(ypi\014es)f(this)h(situation.)73 1179 y(T)l(o)22 b(obtain)g(a)g(notation)h(for)e(distributed)h(algorithms,)i(w)o(e)d(augmen)o (t)g(the)g(imp)q(erativ)o(e)g(language)0 1252 y(used)e(in)g(Section)g(2)g (with)g(constructs)g(for)g(shared)g(memory)e(access)i(and)g(message)g (passing.)30 b(F)l(or)18 b(the)0 1324 y(former)e(w)o(e)g(in)o(tro)q(duce)g (the)g(instruction)i FG(TEST&UPDATE)o FH(,)13 b(whic)o(h)k(is)g(used)f(as)h (follo)o(ws:)73 1426 y FG(result)24 b(:=)g(TEST&UPDATE)o(\(fl)o(ag,)e(true)p 898 1426 16 2 v 17 w(value,)h(false)p 1224 1426 V 17 w(value\))73 1528 y FH(The)11 b(e\013ect)f(of)i(this)g(command)e(is,)j(in)e(one)g (instruction)i(cycle,)e(to)g(assign)i(to)e(the)g(v)m(ariable)i FG(result)8 b FH(the)0 1601 y(old)18 b(v)m(alue)g(of)g(the)f(shared)h(b)q(o)q (olean)h(v)m(ariable)g FG(flag)p FH(,)d(and)i(to)f(assign)i(to)f FG(flag)e FH(the)h(v)m(alue)h FG(true)p 1808 1601 V 17 w(value)0 1673 y FH(if)j(its)h(old)g(v)m(alue)f(w)o(as)h(true)e(and)i FG(false)p 777 1673 V 17 w(value)d FH(otherwise.)35 b(F)l(or)21 b(example,)h(b)q(esides)g(returning)f(the)0 1745 y(old)h(v)m(alue)g(of)g(v)m (ariable)h FG(flag)p FH(,)d(the)h(statemen)o(t)g FG(result)i(:=)i(TEST&UPDAT) o(E\(f)o(lag)o(,)d(FALSE,)i(TRUE\))0 1817 y FH(in)o(v)o(erts)16 b(the)g(v)m(alue)h(of)f FG(flag)p FH(.)73 1920 y(Because)e(ev)o(erything)h (happ)q(ens)h(in)g(one)f(instruction)i(cycle,)d(the)h FG(TEST&UPDA)o(TE)c FH(op)q(eration)17 b(cannot)0 1992 y(b)q(e)23 b(in)o(terrupted,)h(and)g (access)f(to)g(shared)h(v)m(ariables)h(is)f(therefore)e(atomic.)43 b FG(TEST&UPDA)o(TE)20 b FH(is)j(also)0 2064 y(assumed)17 b(to)g(b)q(eha)o(v) o(e)f(fairly)i(in)f(the)g(sense)g(that)g(no)g(pro)q(cess)g(is)h(ev)o(er)d (inde\014nitely)j(denied)f(access)g(to)g(a)0 2136 y(shared)d(v)m(ariable)i (in)e(fa)o(v)o(or)f(of)h(other)g(pro)q(cesses.)21 b(As)14 b(suc)o(h,)f(the)h (phenomenon)g(of)g(\\pro)q(cess)h(starv)m(ation")0 2208 y(is)i(a)o(v)o (oided.)73 2311 y(Unconditional)k(up)q(dates)f(to)e(shared)h(v)m(ariables)i (will)f(b)q(e)f(expressed)f(using)i(the)e(standard)i(assign-)0 2383 y(men)o(t)15 b(op)q(erator.)23 b(Suc)o(h)16 b(assignmen)o(t)h(is)g(also) h(assumed)e(to)h(b)q(e)f(atomic)h(and)g(fair.)73 2485 y(F)l(or)g(message)f (passing,)i(w)o(e)e(in)o(tro)q(duce)g(constructs)h(of)g(the)f(form)73 2587 y FG(SEND)p FH(\()p FG(expr)300 2594 y Fh(1)319 2587 y FB(;)8 b FH(.)g(.)g(.)f FB(;)h FG(expr)532 2594 y Fh(k)552 2587 y FH(\))14 b FG(TO)f(P)73 2690 y(RECEIVE)p FH(\()p FG(x)300 2697 y Fh(1)319 2690 y FB(;)8 b FH(.)g(.)g(.)f FB(;)h FG(x)454 2697 y Fh(l)475 2690 y FH(\))14 b FG(FROM)f(P)951 2828 y FH(48)p eop bop 73 195 a FH(The)14 b(send)f(command)h(executes)e(async)o(hronously)j(and) f(results)g(in)g(the)f(transmission)j(of)e(the)f(v)m(alues)0 267 y(of)20 b(the)f(expressions)i FG(expr)508 274 y Fh(1)528 267 y FB(;)8 b FH(.)g(.)g(.)g FB(;)g FG(expr)742 274 y Fh(k)781 267 y FH(to)20 b(the)g(named)f(pro)q(cess)i FG(P)p FH(.)d(The)i(receiv)o(e)e (command)i(inputs)0 340 y(v)m(alues)c(for)f(the)f(v)m(ariables)j FG(x)526 347 y Fh(1)547 340 y FB(;)8 b FH(.)g(.)g(.)g FB(;)g FG(x)683 347 y Fh(l)719 340 y FH(whic)o(h)15 b(ha)o(v)o(e)f(previously)h(b)q (een)g(transmitted)g(b)o(y)g(pro)q(cess)g FG(P)p FH(.)f(The)0 412 y(underlying)j(comm)o(unication)h(medium)d(is)i(assumed)g(to)g(b)q(e)f (faultless)i(in)f(that)f(messages)h(are)f(receiv)o(ed)0 484 y(in)o(tact)h(and)f(in)h(the)f(order)h(of)f(transmission.)0 696 y Fu(3.1)70 b(The)22 b(Dining)i(Philosophers)g(Problem)0 830 y FH(W)l(e)c(describ)q(e)g(the)g(randomized)g(algorithm)i(of)f(Lehmann)f (and)h(Rabin)g([LR81])f(for)g(the)g(w)o(ell-kno)o(wn)0 902 y(Dining)e(Philosophers)h(problem.)k(The)16 b(problem,)g(p)q(osed)i (originally)h(in)f([Dij71)q(],)d(is)i(an)g(an)o(throp)q(omor-)0 975 y(phized)f(resource)g(allo)q(catio)q(n)j(problem,)d(and)h(is)g(describ)q (ed)g(in)g([Hoa85])f(essen)o(tially)i(as)f(follo)o(ws:)122 1118 y(There)h(once)h(w)o(ere)f FB(n)h FH(philosophers)i FB(P)855 1125 y FI(0)875 1118 y FH(,)e FB(P)939 1125 y FI(1)959 1118 y FH(,)g(.)8 b(.)g(.)o(,)19 b FB(P)1113 1125 y Fw(n)p Ft(\000)p FI(1)1201 1118 y FH(seated)f(around)i(a)f(circular)h(table)f(in)h(a)122 1191 y(clo)q(c)o(kwise)d(fashion.)22 b(T)l(o)17 b(the)e(left)h(of)g(eac)o(h)g (philosopher)i(laid)f(a)f(golden)h(fork,)f(and)g(in)h(the)e(cen)o(ter)122 1263 y(sto)q(o)q(d)j(a)f(large)g(b)q(o)o(wl)g(of)g(spaghetti,)g(whic)o(h)g(w) o(as)f(constan)o(tly)h(replenished.)122 1377 y(A)23 b(philosopher)i(w)o(as)e (exp)q(ected)f(to)i(sp)q(end)f(most)g(of)h(his)g(time)e(thinking;)28 b(but)23 b(when)g(he)g(felt)122 1449 y(h)o(ungry)l(,)17 b(he)h(pic)o(k)o(ed)e (up)i(his)h(o)o(wn)f(fork)f(on)h(his)h(left,)e(and)i(plunged)f(it)g(in)o(to)g (the)g(spaghetti.)26 b(But)122 1521 y(suc)o(h)15 b(is)h(the)f(tangled)i (nature)e(of)h(spaghetti)h(that)e(a)h(second)f(fork)h(is)g(required)f(to)h (carry)f(it)h(to)f(the)122 1593 y(mouth.)23 b(The)16 b(philosopher)j (therefore)d(had)h(also)i(to)e(pic)o(k)f(up)h(the)f(fork)h(on)g(his)h(righ)o (t.)23 b(When)16 b(he)122 1666 y(w)o(as)k(\014nished)f(he)g(w)o(ould)h(put)g (do)o(wn)f(b)q(oth)h(his)g(forks,)g(and)f(con)o(tin)o(ue)g(thinking.)31 b(Of)19 b(course,)h(a)122 1738 y(fork)c(can)h(b)q(e)f(used)h(b)o(y)e(only)i (one)g(philosopher)h(at)f(a)g(time.)k(If)16 b(the)g(other)g(philosopher)i(w)o (an)o(ts)f(it,)122 1810 y(he)f(just)g(has)h(to)g(w)o(ait)g(un)o(til)g(the)f (fork)g(is)i(a)o(v)m(ailable)g(again.)73 1954 y(Additionally)l(,)27 b(an)o(y)c(algorithm)i(that)f(co)q(ordinates)h(the)e(philosophers)j(in)d(the) g(ab)q(o)o(v)o(e-describ)q(ed)0 2026 y(manner)15 b(m)o(ust)f(b)q(e)h FF(de)n(ad)r(lo)n(ck)i(fr)n(e)n(e)p FH(|if)d(at)h(an)o(y)g(time)f(there)g(is) i(a)f(h)o(ungry)g(philosopher,)i(then)d(ev)o(en)o(tually)0 2098 y FF(some)g FH(philosopher)i(will)f(eat;)f(and)g FF(lo)n(ckout)i(fr)n(e) n(e)p FH(|ev)o(ery)c(h)o(ungry)h(philosopher)j(ev)o(en)o(tually)d(gets)h(to)g (eat.)73 2200 y(Man)o(y)f(deterministic)g(solutions)j(based)d(b)q(oth)h(on)f (shared)h(memory)e([Hoa74])h(and)g(message-passing)0 2273 y(comm)o(unication) g([Hoa85])f(ha)o(v)o(e)e(b)q(een)i(prop)q(osed.)21 b(Ho)o(w)o(ev)o(er,)11 b(none)h(of)g(these)f(algorithms)j(are)e(b)q(oth:)20 b(\(1\))0 2345 y FF(ful)r(ly)f(distribute)n(d)5 b FH(,)17 b(i.e.,)f(dev)o(oid)i(of)f (cen)o(tral)g(memory)f(or)h(a)h(cen)o(tral)f(pro)q(cess)g(with)h(whic)o(h)f (ev)o(ery)f(other)0 2417 y(pro)q(cess)i(can)f(comm)o(unicate;)g(and)g(\(2\))h FF(symmetric)s FH(,)e(i.e.,)g(all)j(pro)q(cesses)f(execute)d(the)i(same)g(co) q(de)g(and)0 2489 y(all)e(v)m(ariables,)h(lo)q(cal)g(and)e(shared,)h(are)f (initialized)i(iden)o(tically)l(.)22 b(Moreo)o(v)o(er,)13 b(pro)q(cesses)h (in)h(a)f(symmetric)0 2562 y(algorithm)i(are)d(una)o(w)o(are)h(of)g(their)g (iden)o(tities,)g(and)g(therefore)f(cannot)h(compare)g(their)g(pro)q(cess)g (id)g(with)0 2634 y(the)i(id)h(of)f(another)h(pro)q(cess.)951 2828 y(49)p eop bop 589 891 181 2 v 589 1009 2 119 v 654 963 a FB(P)685 970 y FI(1)p 768 1009 V 589 1011 181 2 v 412 419 V 412 537 2 119 v 476 491 a FB(P)507 498 y FI(2)p 591 537 V 412 539 181 2 v 884 182 V 884 300 2 119 v 949 255 a FB(P)980 262 y FI(3)p 1063 300 V 884 302 181 2 v 1357 419 V 1357 537 2 119 v 1421 491 a FB(P)1452 498 y FI(4)p 1535 537 V 1357 539 181 2 v 1179 891 V 1179 1009 2 119 v 1244 963 a FB(P)1275 970 y FI(5)p 1358 1009 V 1179 1011 181 2 v 636 892 a Fg(B)622 850 y(B)608 809 y(B)594 767 y(B)580 726 y(B)567 684 y(B)553 643 y(B)539 601 y(B)531 579 y(B)620 727 y FH(fork[1])531 419 y Fg(\010)573 399 y(\010)615 378 y(\010)656 357 y(\010)698 336 y(\010)739 316 y(\010)781 295 y(\010)822 274 y(\010)844 263 y(\010)709 373 y FH(fork[2])1376 419 y Fg(H)1334 399 y(H)1293 378 y(H)1251 357 y(H)1210 336 y(H)1168 316 y(H)1127 295 y(H)1085 274 y(H)1063 263 y(H)1105 373 y FH(fork[3])1299 892 y Fg(\002)1313 850 y(\002)1327 809 y(\002)1341 767 y(\002)1355 726 y(\002)1368 684 y(\002)1382 643 y(\002)1396 601 y(\002)1403 579 y(\002)1193 727 y FH(fork[4])p 768 952 414 2 v 907 904 a(fork[5])56 1094 y(Figure)17 b(5:)22 b(Arrangemen)o(t)15 b(of)i(philosophers)h(and)f(forks)g(in)g(the)f(Dining)i (Philosophers)h(Problem.)73 1228 y(In)24 b(fact,)h(it)g(is)f(sho)o(wn)h(in)g ([LR81])f(that)g(no)h(fully)f(distributed)i(and)e(symmetric)f(deterministic)0 1301 y(algorithm)h(for)e(Dining)h(Philosophers)i(is)d(p)q(ossible.)40 b(In)o(tuitiv)o(ely)l(,)22 b(this)h(is)f(due)g(to)g(the)g(existence)f(of)0 1373 y(an)h(adv)o(ersary)f(sc)o(heduler)f(that)i(can)f(con)o(tin)o(ually)i (th)o(w)o(art)e(the)g(philosophers)i(in)f(their)g(attempts)f(to)0 1445 y(reac)o(h)f(agreemen)o(t)f(on)i(who)f(is)h(to)g(eat)f(next,)g(thereb)o (y)f(leading)j(to)f(deadlo)q(c)o(k.)33 b(F)l(or)21 b(example,)f(under)0 1517 y(the)d(in\015uence)h(of)g(an)g(adv)o(ersary)g(sc)o(heduler,)f(the)g (philosophers)j(could)f(b)q(eha)o(v)o(e)e(as)h(follo)o(ws:)26 b(\(1\))18 b(all)h FB(n)0 1589 y FH(philosophers)k(b)q(ecome)d(h)o(ungry)g (sim)o(ultaneously;)k(\(2\))c(they)g(eac)o(h)g(pic)o(k)g(up)h(their)f(righ)o (t)h(fork,)g(again)0 1662 y(in)g(sync)o(hron)o(y;)g(\(3\))g(b)q(ecause)g(of)f (the)h(symmetry)e(and)i(the)f(fact)g(that)h(eac)o(h)f(philosopher's)i(b)q (eha)o(vior)0 1734 y(is)h(strictly)f(deterministic,)i(they)e(ha)o(v)o(e)f(no) h(c)o(hoice)g(but)g(to)g(put)h(do)o(wn)f(their)g(forks)g(and)h(try)f(again.)0 1806 y(F)l(urthermore,)15 b(the)g(clev)o(er)g(adv)o(ersary)g(sc)o(heduler)g (can)h(cause)g(this)h(scenario)f(to)g(reo)q(ccur)g(without)h(end,)0 1878 y(resulting)c(in)g(a)f(deadlo)q(c)o(k.)21 b(The)12 b(problem)g(then)g (is)g(one)h(of)f(\\breaking)h(symmetry")e(and)h(this)h(is)g(precisely)0 1951 y(the)j(reason)h(for)g(in)o(tro)q(ducing)h(randomness)f(in)o(to)g(the)f (b)q(eha)o(vior)h(of)f(the)g(philosophers.)73 2053 y(In)j(Lehmann)h(and)g (Rabin's)g(algorithm,)i(presen)o(ted)c(b)q(elo)o(w)j(as)f(algorithm)h FF(DinPhil)5 b FH(,)20 b(the)f(simple)0 2125 y(y)o(et)e(k)o(ey)g(use)i(of)f (randomization)j(is)e(in)g(whether)f(a)h(philosopher)h(w)o(aits)f(to)g (\014rst)g(obtain)h(the)e(left)g(fork)0 2197 y(or)23 b(the)g(righ)o(t)g (fork.)41 b(Comm)o(unication)24 b(among)g(philosophers)h(is)e(done)h (strictly)f(in)g(a)h(ring)f(fashion)0 2270 y(and)e(uses)f(one)g(shared)g(v)m (ariable,)i FG(fork-availa)o(ble)o([i])o FH(,)c(for)i(eac)o(h)f FB(P)1351 2277 y Fw(i)1386 2270 y FH({)h FB(P)1461 2277 y Fw(i)p FI(+1)1541 2270 y FH(pair.)33 b(All)21 b(additions)0 2342 y(and)g (subtractions)h(are)e(to)h(b)q(e)f(in)o(terpreted)g(mo)q(dulo)i FB(n)p FH(,)f(where)f FB(n)g FH(is)h(the)f(n)o(um)o(b)q(er)f(of)i (philosophers.)0 2414 y(Moreo)o(v)o(er,)15 b FG(fork-avail)o(abl)o(e[i)o(])f FH(is)j(accessed)g(only)g(via)g(the)g FG(TEST&UPDAT)o(E)d FH(instruction)k (or)f(via)g(the)0 2486 y(unconditional)j(assignmen)o(t)e(op)q(eration)h(for)f (shared)f(v)m(ariables.)26 b(The)17 b(con\014guration)i(of)f(philosophers)0 2558 y(and)f(forks)f(for)h(the)f(case)g FB(n)e FH(=)g(5)i(is)i(illustrated)g (in)f(Figure)f(5.)951 2828 y(50)p eop bop 73 195 a FH(The)19 b(algorithm)i(can)f(b)q(e)f(sho)o(wn)h(to)g(b)q(e)f (deadlo)q(c)o(k-free)g(in)h(the)f(follo)o(wing)j(sense:)27 b(if)20 b(at)f(an)o(y)g(time)0 267 y(there)j(is)i(a)g(h)o(ungry)f (philosopher,)j(then,)e FF(with)g(pr)n(ob)n(ability)f(1)p FH(,)h(some)f (philosopher)i(will)g(ev)o(en)o(tually)0 340 y(eat.)35 b(The)20 b(pro)q(of)i(of)f(this)h(result)f(rests)g(on)g(the)g(fact)f(that)h(the)g (coin)g(tosses)h(made)e(b)o(y)h(philosophers)0 412 y(are)h(indep)q(enden)o(t) g(random)h(ev)o(en)o(ts.)37 b(Th)o(us,)24 b(ev)o(en)c(if)j(the)f(adv)o (ersary)g(sc)o(heduler)f(tries)i(to)f(bring)i(on)0 484 y(deadlo)q(c)o(k,)15 b(with)h(probabilit)o(y)i(1,)d(a)g(com)o(bination)i(of)e(tosses)h(will)h(ev)o (en)o(tually)e(arise)h(that)f(enables)h(some)0 556 y(philosopher)k(to)d (obtain)i(t)o(w)o(o)e(forks.)25 b(Note)17 b(that)h(the)f(algorithm)i(is)g (indeed)e(symmetric)g(as)h(the)f(index)0 628 y(attac)o(hed)d(to)g(a)g (philosopher)i(is)f(for)f(external)g(naming)h(only;)g(philosophers)i (themselv)o(es)c(are)h(not)g(a)o(w)o(are)0 701 y(of)j(their)f(o)o(wn)h (names.)0 869 y Fy(DinPhil)28 b Fp(f)c Fo(\(*)f(algorithm)g(for)g Fn(P)663 876 y Fw(i)701 869 y Fo(*\))136 954 y(WHILE)h(TRUE)f(DO)p Fp(f)273 1039 y Fo(\(*)g(thinking)g(section)g(*\))273 1123 y(trying)g(:=)g(true)273 1208 y(WHILE)g(trying)g(DO)p Fp(f)409 1293 y Fo(choose)g Fn(s)h Fo(randomly)f(and)h(uniformly)e(from)h Fp(f)p Fo(0,1)p Fp(g)409 1377 y Fo(wait)g(until)h(TEST&UPDATE\(fork-availa)o (ble[)p Fn(i)7 b Fp(\000)j Fn(s)p Fo(],)24 b(FALSE,)f(FALSE\))409 1462 y(IF)h(TEST&UPDATE\(fork-availab)o(le[)p Fn(i)7 b Fp(\000)p 1196 1438 22 2 v 10 w Fn(s)q Fo(],)23 b(FALSE,)g(FALSE\))g(THEN)545 1547 y(trying)g(:=)h(FALSE)f(\(*)p 999 1522 V 24 w Fn(s)h Fo(=)g(complement)e (of)i(s)15 b Fz(*\))409 1631 y Fo(ELSE)23 b(fork-available[)p Fn(i)8 b Fp(\000)j Fn(s)p Fo(])24 b(:=)f(TRUE)273 1716 y Fp(g)273 1801 y Fo(\(*)g(eating)g(section)g(*\))273 1886 y(fork-available[)p Fn(i)7 b Fp(\000)k Fz(1)p Fo(],)23 b(fork-available[i])f(:=)h(TRUE)136 1970 y Fp(g)0 2055 y(g)73 2296 y FH(Algorithm)e FF(DinPhil)f FH(is)g(not)g(lo)q(c)o(k)o(out-free;)h(in)o(tuitiv)o(ely)l(,)g(a)f(greedy)f (philosopher)j FB(P)1665 2303 y Fw(i)1699 2296 y FH(can)d(prev)o(en)o(t)0 2368 y(neigh)o(b)q(or)j FB(P)236 2375 y Fw(i)p FI(+1)317 2368 y FH(from)e(ev)o(er)g(eating)i(b)o(y)e(con)o(tin)o(ually)i(b)q(eating)h FB(P)1233 2375 y Fw(i)p FI(+1)1313 2368 y FH(in)e(their)g(race)g(to)g(pic)o (k)g(up)g(their)0 2440 y(shared)e(fork.)30 b(The)19 b(algorithm)h(can)g(b)q (e)f(made)f(lo)q(c)o(k)o(out-free)h(b)o(y)g(adding,)h(for)g(eac)o(h)e(pair)i (of)f(adjacen)o(t)0 2512 y(philosophers)g FB(P)311 2519 y Fw(i)326 2512 y FH(,)d FB(P)387 2519 y Fw(i)p FI(+1)447 2512 y FH(,)g(t)o(w)o(o)g (pairs)i(of)f(v)m(ariables.)25 b(One)16 b(pair)i(allo)o(ws)h FB(P)1349 2519 y Fw(i)1380 2512 y FH(to)e(inform)g FB(P)1627 2519 y Fw(i)p FI(+1)1703 2512 y FH(of)g(its)h(desire)0 2585 y(to)f(eat)f(\(and)g(vice)g(v)o(ersa\),)g(and)g(the)g(other)h(pair)g(is)g (used)f(to)h(indicate)g(whic)o(h)f(of)h FB(P)1547 2592 y Fw(i)1578 2585 y FH(and)f FB(P)1703 2592 y Fw(i)p FI(+1)1779 2585 y FH(ate)g(last.)0 2657 y(Details)i(can)e(b)q(e)h(found)g(in)f([LR81)q(].)951 2828 y(51)p eop bop 73 195 a FH(Lehmann)15 b(and)h(Rabin's)f(randomized)h(algorithm)g(w)o(as) f(one)g(of)g(the)g(\014rst)g(for)g(distributed)h(comput-)0 267 y(ing,)21 b(and)e(clearly)h(illustrated)h(the)e(imp)q(ortance)h(of)g (tossing)h(coins)f(in)g(a)g(new)f(setting|without)i(this)0 340 y(capabilit)o(y)l(,)e(fully)f(distributed)g(and)g(symmetric)e(algorithms) k(ma)o(y)c(not)i(ev)o(en)e(exist)h(for)h(certain)f(prob-)0 412 y(lems.)k(The)15 b(next)g(algorithm)i(w)o(e)e(consider,)h FF(CommGuar)n(d)5 b FH(,)13 b(also)k(illustrates)h(the)d(p)q(o)o(w)o(er)g(of) g(symmetry)0 484 y(breaking)i(through)g(randomization.)0 696 y Fu(3.2)70 b(Comm)n(unication)24 b(Guard)g(Sc)n(heduling)0 830 y FH(In)11 b(this)h(section)g(w)o(e)f(presen)o(t)f(the)h(randomized)h (algorithm)i(of)d(F)l(rancez)g(and)g(Ro)q(deh)h([FR80])f(for)h(sc)o(hedul-)0 902 y(ing)k(comm)o(unication)g(guards)h(in)e(a)h(CSP-lik)o(e)g(language.)23 b(In)15 b(CSP)h([Hoa78],)f(pro)q(cesses)h(execute)d(asyn-)0 975 y(c)o(hronously)19 b(and)f(exc)o(hange)g(data)h(b)o(y)e(a)h (\\handshaking")j(st)o(yle)d(of)g(comm)o(unication.)28 b(There)17 b(are)h(t)o(w)o(o)0 1047 y(t)o(yp)q(es)c(of)g(comm)o(unication)h(statemen)o (ts)f(or)g(commands)g(\(to)h(use)f(CSP)h(terminology\))g(in)g(the)e (language:)0 1119 y FF(input)k FH(statemen)o(ts)f(of)g(the)g(form)g FB(P)g FH(?)8 b FB(x)16 b FH(and)h FF(output)g FH(statemen)o(ts)e(of)i(the)f (form)g FB(Q)8 b FH(!)g FB(e)p FH(.)21 b(An)15 b(input)j(state-)0 1191 y(men)o(t)f(inputs)h(a)g(v)m(alue)g(from)g(the)f(named)g(pro)q(cess)h (\()p FB(P)7 b FH(\))18 b(in)o(to)g(a)g(lo)q(cal)i(v)m(ariable)f(\()p FB(x)p FH(\),)e(while)h(an)g(output)0 1264 y(statemen)o(t)g(outputs)h(the)g (v)m(alue)g(of)g(an)g(expression)h(\()p FB(e)p FH(\))e(to)h(the)f(named)h (pro)q(cess)g(\()p FB(Q)p FH(\).)28 b(Th)o(us,)19 b(for)g(ex-)0 1336 y(ample,)e(the)f(sim)o(ultaneous)i(execution)e(of)h(the)f(statemen)o(t)g FB(P)1150 1343 y FI(2)1179 1336 y FH(?)8 b FB(x)16 b FH(b)o(y)g(pro)q(cess)i FB(P)1524 1343 y FI(1)1560 1336 y FH(and)f(the)g(statemen)o(t)0 1408 y FB(P)31 1415 y FI(1)59 1408 y FH(!)8 b FB(e)20 b FH(b)o(y)g(pro)q (cess)i FB(P)402 1415 y FI(2)442 1408 y FH(results)f(in)h(the)e(v)m(alue)h (of)g(expression)g FB(e)f FH(b)q(eing)i(assigned)g(to)f(v)m(ariable)h FB(x)e FH(\(i.e.,)0 1480 y FB(x)k FH(:=)g FB(e)p FH(\).)40 b(The)23 b(phenomenon)g(is)g(sometimes)g(referred)e(to)i(as)g(\\distributed)i (assignmen)o(t.")41 b(Input)0 1552 y(and)19 b(output)f(statemen)o(ts,)g(suc)o (h)f(as)i(those)f(in)h(the)f(example,)f(that)i(name)f(eac)o(h)f(other)h(are)g (said)i(to)e(b)q(e)0 1625 y FF(c)n(omplementary)t FH(.)73 1727 y(Statemen)o(ts)23 b(within)i(a)f(pro)q(cess,)h(e.g.,)f(assignmen)o(t,)i (iteration,)g(and)e(comm)o(unication,)h(can)f(b)q(e)0 1799 y(executed)16 b(nondeterministically)k(through)f(the)e(use)h(of)g(a)g (construct)g(called)g(the)g FF(guar)n(de)n(d)g(c)n(ommand)5 b FH(,)0 1871 y(ha)o(ving)17 b(the)f(follo)o(wing)j(syn)o(tax:)73 1974 y([)p FB(G)125 1981 y FI(1)159 1974 y FH(=)-8 b Fx(\))13 b FB(S)282 1981 y FI(1)302 1974 y Fi(2)8 b Fx(\001)g(\001)g(\001)h Fi(2)p FB(G)489 1981 y Fw(n)527 1974 y FH(=)-8 b Fx(\))13 b FB(S)650 1981 y Fw(n)673 1974 y FH(])73 2076 y(Eac)o(h)h(statemen)o(t)f FB(S)446 2083 y Fw(i)473 2076 y FH(has)i(an)f(asso)q(ciated)h(comm)o (unication)g(statemen)o(t)e FB(G)1452 2083 y Fw(i)1466 2076 y FH(,)h(called)g(its)h FF(c)n(ommunic)n(a-)0 2148 y(tion)f(guar)n(d)p FH(,)d(suc)o(h)h(that)g FB(S)476 2155 y Fw(i)502 2148 y FH(is)g(eligible)i (for)e(selection)g(only)h(if)f(the)f(pro)q(cess)i(named)e(in)i(its)f(comm)o (unication)0 2220 y(guard)17 b(is)g(lik)o(ewise)g(willing)j(to)c(comm)o (unicate.)73 2323 y(The)i(problem)g(of)g FF(c)n(ommunic)n(ation)h(guar)n(d)f (sche)n(duling)h FH(can)e(no)o(w)h(b)q(e)g(stated)g(as)g(follo)o(ws:)26 b(Giv)o(en)18 b(a)0 2395 y(set)i FB(T)26 b FH(of)20 b(pro)q(cesses)h(eac)o(h) e(curren)o(tly)h(w)o(aiting)i(to)e(execute)e(a)j(guarded)f(command,)h (construct)f(a)g(set)0 2467 y(of)h(one)f(or)h(more)f(pairs)i(of)e(pro)q (cesses)h(\()p FB(P)q(;)8 b(Q)p FH(\))21 b(from)f FB(T)27 b FH(suc)o(h)20 b(that)h FB(P)27 b FH(and)21 b FB(Q)f FH(ha)o(v)o(e)g (complemen)o(tary)0 2539 y(comm)o(unication)d(guards,)g(and)g(no)g(pro)q (cess)g(app)q(ears)g(in)g(more)f(than)h(one)f(pair.)1503 2521 y FI(7)p 0 2583 780 2 v 56 2614 a FE(7)75 2629 y FD(A)k(more)h(general)h (statemen)o(t)f(of)f(the)h(problem)g(w)o(ould)g(allo)o(w)g(pro)q(cesses)i(in) e Fs(T)27 b FD(to)20 b(b)q(e)h(w)o(aiting)g(to)g(execute)h(an)0 2703 y(unguarded)17 b(comm)o(unication)h(statemen)o(t,)g(but)f(suc)o(h)g(a)g (statemen)o(t)g(can)g(alw)o(a)o(ys)g(b)q(e)h(placed)g(in)f(a)g(guarded)g (command)951 2828 y FH(52)p eop bop 73 195 a FH(F)l(or)17 b(example,)e(consider)i(the)f(system)g(of)g(pro)q (cesses)73 297 y FB(P)104 304 y FI(1)138 297 y FH(=)e([)p FB(P)235 304 y FI(2)255 297 y FH(?)p FB(x)f FH(=)-8 b Fx(\))14 b FB(sk)r(ip)d Fi(2)g FB(P)594 304 y FI(3)614 297 y FH(!)p FB(v)k FH(=)-8 b Fx(\))13 b FB(sk)r(ip)p FH(])73 370 y FB(P)104 377 y FI(2)138 370 y FH(=)h([)p FB(P)235 377 y FI(3)255 370 y FH(?)p FB(x)f FH(=)-8 b Fx(\))14 b FB(sk)r(ip)d Fi(2)g FB(P)594 377 y FI(1)614 370 y FH(!)p FB(v)k FH(=)-8 b Fx(\))13 b FB(sk)r(ip)p FH(])73 442 y FB(P)104 449 y FI(3)138 442 y FH(=)h([)p FB(P)235 449 y FI(1)255 442 y FH(?)p FB(x)f FH(=)-8 b Fx(\))14 b FB(sk)r(ip)d Fi(2)g FB(P)594 449 y FI(2)614 442 y FH(!)p FB(v)k FH(=)-8 b Fx(\))13 b FB(sk)r(ip)p FH(])0 544 y(where)23 b FF(skip)i FH(is)f(the)g(CSP)g(notation)i(for)e(the)f(no-op)i(statemen)o(t.)44 b(Eac)o(h)23 b(pro)q(cess)i FB(P)1647 551 y Fw(i)1685 544 y FH(is)g(willing)i(to)0 616 y(receiv)o(e)15 b(a)i(message)g(from)g(pro)q(cess) g FB(P)706 623 y Fw(i)p FI(+1)766 616 y FH(,)f(or)h(send)g(a)g(message)g(to)g (pro)q(cess)g FB(P)1458 623 y Fw(i)p Ft(\000)p FI(1)1518 616 y FH(,)f(where)g(the)h(addition)0 688 y(and)j(subtraction)h(are)f(p)q (erformed)f(mo)q(dulo)i(3.)31 b(There)20 b(are)f(three)g(p)q(ossible)j (solutions)g(to)e(the)f(guard)0 761 y(sc)o(heduling)d(problem)g(in)g(this)g (case:)k(the)15 b(single)i(pair)f(of)f(pro)q(cesses)h(\()p FB(P)1327 768 y Fw(i)1342 761 y FB(;)8 b(P)1395 768 y Fw(i)p FI(+1)1454 761 y FH(\))15 b(is)h(c)o(hosen)f(suc)o(h)g(that)g FB(P)1935 768 y Fw(i)0 833 y FH(is)j(receiving)g(and)g FB(P)383 840 y Fw(i)p FI(+1)461 833 y FH(is)g(sending,)h(1)d Fx(\024)g FB(i)g Fx(\024)g FH(3.)25 b(An)17 b(unsatisfactory)j(situation)f(w)o(ould)g (arise)f(if)h(eac)o(h)0 905 y(pro)q(cess)e(w)o(ere)f(allo)o(w)o(ed)i(to)f (decide)f(to)h(send,)g(or)g(if)g(eac)o(h)f(pro)q(cess)h(w)o(ere)f(allo)o(w)o (ed)i(to)e(decide)h(to)g(receiv)o(e;)0 977 y(this)g(is)g(tan)o(tamoun)o(t)g (to)f(cyclic)g(w)o(ait)h(or)g(deadlo)q(c)o(k.)73 1080 y(As)h(in)g(the)g (Dining)h(Philosophers)i(problem,)d(an)g(algorithm)i(for)e(guard)h(sc)o (heduling)g(m)o(ust)e(satisfy)0 1152 y(t)o(w)o(o)h(correctness)g(criteria.)29 b(The)18 b(algorithm)i(m)o(ust)e(b)q(e)h FF(de)n(ad)r(lo)n(ck)h(fr)n(e)n(e)t FH(,)e(i.e.,)g(if)h(t)o(w)o(o)f(pro)q(cesses)h FB(P)25 b FH(and)0 1224 y FB(Q)18 b FH(wish)i(to)f(comm)o(unicate)f(with)h(eac)o(h)f(other,)h (then)f(either)h FB(P)26 b FH(or)19 b FB(Q)f FH(will)i(ev)o(en)o(tually)e (participate)i(in)0 1296 y(a)g(comm)o(unication)g(\(although)h(not)f (necessarily)g(with)g(eac)o(h)f(other\);)h(and)g FF(starvation)g(fr)n(e)n(e)t FH(,)f(i.e.,)g(if)h(a)0 1369 y(pro)q(cess)14 b FB(P)21 b FH(tries)14 b(to)g(comm)o(unicate)f(and)h(in\014nitely)h(often)f(some)g(pro)q(cess)g FB(Q)1417 1376 y Fw(i)1444 1369 y FH(is)h(willing)h(to)e(recipro)q(cate,)0 1441 y(then)h FB(P)21 b FH(will)c(ev)o(en)o(tually)d(participate)i(in)g(a)f (comm)o(unication)g(\(the)g(pro)q(cess)g FB(Q)1471 1448 y Fw(i)1499 1441 y FH(need)g(not)g(b)q(e)g(the)f(same)0 1513 y(eac)o(h)i(time\).)73 1615 y(Sev)o(eral)25 b(distributed)h(implemen)o(tations)h(of)e(guard)h(sc)o (heduling)g(ha)o(v)o(e)e(b)q(een)h(prop)q(osed)i(includ-)0 1687 y(ing)e([Sc)o(h78)o(,)f(Ber80)o(,)g(vdS81,)f(Sc)o(h82)q(,)g(BS83].)43 b(Eac)o(h)23 b(of)h(these)f(algorithms)j(m)o(ust)d(resort)h(to)g(some)0 1760 y(symmetry)13 b(breaking)j(tec)o(hnique)e(suc)o(h)g(as)h(priorit)o(y)h (ordering)g(of)f(pro)q(cesses)g([Sc)o(h78,)f(Ber80,)g(BS83)q(],)g(or)0 1832 y(timestamps)19 b([Sc)o(h78)o(].)27 b(In)18 b(fact,)g(lik)o(e)g(the)g (Dining)i(Philosophers)g(problem,)f(the)f(existence)f(of)i(a)f(fully)0 1904 y(distributed)23 b(and)e(symmetric)g FF(deterministic)h FH(algorithm)i(for)d(guard)h(sc)o(heduling)h(can)e(b)q(e)h(sho)o(wn)g(to)0 1976 y(b)q(e)d(an)h(imp)q(ossibilit)o(y)i([FR80].)29 b(In)19 b(the)f(presence)h(of)g(symmetry)l(,)f(a)h(fully)h(distributed)g (deterministic)0 2049 y(algorithm)c(is)f(susceptible)g(to)g(the)f(scenario)h (in)g(whic)o(h)g(a)f(solution)j(exists)d(but)h(is)g(nev)o(er)e(found.)21 b(F)l(or)14 b(ex-)0 2121 y(ample,)f(pro)q(cesses)h(ma)o(y)e(in)i(a)f(cyclic)g (fashion)h(issue)g(comm)o(unication)g(requests)e(to)i(one)f(another;)h(due)f (to)0 2193 y(symmetry)l(,)h(this)i(same)f(circular)h(w)o(ait)g(ma)o(y)e (reapp)q(ear)i(with)g(ev)o(ery)e(future)h(attempt)g(b)o(y)f(the)h(pro)q (cesses)0 2265 y(to)h(establish)i(comm)o(unication.)j(The)16 b(lac)o(k)g(of)g(a)g(fully)g(distributed)h(and)g(symmetric)d(deterministic)j (al-)0 2338 y(gorithm)d(for)g(guard)g(sc)o(heduling)g(is)g(indeed)g(one)f(of) h(the)f(reasons)h(the)f(designers)h(of)g(Ada)f([DoD83)q(])g(c)o(hose)0 2410 y(an)i(asymmetric)e(rendezv)o(ous)h(construct|nondeterministic)h(c)o (hoice)f(in)h(Ada)f(exists)h(only)g(among)g(the)0 2482 y FC(accept)h FH(alternativ)o(es)h(of)f(a)h FC(select)f FH(statemen)o(t.)73 2584 y(W)l(e)i(no)o(w)h(describ)q(e)f(the)g(fully)h(distributed)h(and)f (symmetric)e(randomized)i(algorithm)h(of)f(F)l(rancez)p 0 2628 780 2 v 0 2691 a FD(ha)o(ving)14 b(one)g(alternativ)o(e.)951 2828 y FH(53)p eop bop 0 195 a FH(and)19 b(Ro)q(deh)f([FR80].)26 b(\(Other)18 b(probabilistic)j(algorithms)f(for)e(guard)h(sc)o(heduling,)h(whic)o(h)e(ha)o (v)o(e)f(\\real)0 267 y(time)i(resp)q(onse",)h(app)q(ear)g(in)g([RS84].\))29 b(The)19 b(algorithm)i(is)f(giv)o(en)f(here)f(as)i(the)f(iterativ)o(e)g(pro)q (cedure)0 340 y FF(CommGuar)n(d)p FH(,)j(whic)o(h)g(a)h(pro)q(cess)g FB(P)29 b FH(in)o(v)o(ok)o(es)22 b(up)q(on)h(reac)o(hing)g(a)g(guarded)g (command)f(in)h(order)g(to)0 412 y(sc)o(hedule)16 b(itself)h(in)g(a)f(comm)o (unication.)22 b(Up)q(on)17 b(return,)e(a)i(comm)o(unication)g(link)g(b)q(et) o(w)o(een)e FB(P)23 b FH(and)17 b(one)0 484 y(of)d(the)f(pro)q(cesses)h (designated)g(b)o(y)f FB(P)7 b FH('s)13 b(curren)o(t)g(guarded)h(command)f (will)j(ha)o(v)o(e)c(b)q(een)h(established,)i(and)0 556 y(actual)i(data)g (transfer)g(can)f(then)g(o)q(ccur.)73 658 y(In)c(order)g(to)g(simplify)h(the) f(presen)o(tation)h(of)f(the)g(algorithm,)i(w)o(e)e(will)i(assume)e(that)g (comm)o(unication)0 731 y(b)q(et)o(w)o(een)f(pro)q(cesses)h(is)g (non-directional.)23 b(That)12 b(is,)h(a)f(pro)q(cess)g(sp)q(eci\014es)h (only)f(the)g(name)f(of)h(a)g(pro)q(cess)g(in)0 803 y(a)i(comm)o(unication)g (guard)g(and)g(not)g(the)f(direction)i(\(i.e.,)e(input)h(or)g(output\).)21 b(Under)12 b(this)j(assumption,)0 875 y FF(CommGuar)n(d)c FH(can)j(b)q(e)f (implemen)o(ted)g(b)o(y)g(pro)o(viding)h(eac)o(h)f(pair)h(of)g(pro)q(cesses)g (a)f(single)i(shared)f(b)q(o)q(olean)0 947 y(v)m(ariable)23 b FG(flag)p FH(;)g(th)o(us,)g(the)e(algorithm)j(is)f(fully)f(distributed.) 1191 929 y FI(8)1250 947 y FH(All)h(suc)o(h)e FG(flag)g FH(ha)o(v)o(e)g (initial)j(v)m(alue)0 1020 y FG(FALSE)p FH(.)14 b(Access)h(to)i(shared)f(v)m (ariables)i(is)f(through)g(the)f FG(TEST&UPDAT)o(E)d FH(instruction,)18 b(the)d(seman)o(tics)i(of)0 1092 y(whic)o(h)g(w)o(as)f(describ)q(ed)h(in)g (the)f(in)o(tro)q(duction)i(to)f(Section)f(3.)0 1234 y Fy(CommGuar)n(d)30 b Fp(f)23 b Fo(\(*)h(To)f(schedule)g(communications)f(*\))143 1319 y(trying)h(:=)g(TRUE)143 1404 y(WHILE)g(trying)g(DO)p Fp(f)285 1488 y Fo(randomly)g(choose)g(a)h(partner)f(with)g(which)g(to)h (attempt)f(a)h(communication)285 1573 y(let)g(flag)f(be)h(the)f(shared)g (variable)g(between)g(these)g(two)h(processes)285 1658 y(IF)g (TEST&UPDATE\(flag,)d(FALSE,)j(TRUE\))f(THEN)428 1743 y(trying)g(:=)h(FALSE)f (\(*)g(communication)g(established)f(*\))285 1827 y(ELSE)p Fp(f)428 1912 y Fo(wait)h(t)h(seconds)428 1997 y(IF)g (NOT\(TEST&UPDATE\(flag,)d(FALSE,)i(FALSE\)\))g(THEN)571 2081 y(trying)g(:=)g(FALSE)h(\(*)f(communication)f(established)h(*\))428 2166 y(ELSE)g Fp(fg)h Fo(\(*)f(try)h(another)f(partner)g(*\))g Fp(g)143 2251 y(g)0 2335 y(g)73 2465 y FH(T)l(o)18 b(gain)g(some)f(insigh)o (t)h(in)o(to)g(the)e(functioning)j(of)e(the)g(proto)q(col,)h(consider)g(t)o (w)o(o)f(pro)q(cesses)g FB(P)24 b FH(and)p 0 2503 780 2 v 56 2533 a FE(8)75 2548 y FD(Without)12 b(the)h(simplifying)h(assumption,)e(t)o (w)o(o)g(shared)h(v)n(ariables,)h Fa(flag)1228 2559 y(ij)1285 2548 y FD(and)e Fa(flag)1452 2559 y(ji)1497 2548 y FD(,)g(are)g(needed)i(for) e(eac)o(h)g(pair)0 2623 y(\()p Fs(P)43 2629 y Fd(i)57 2623 y Fs(;)7 b(P)103 2629 y Fd(j)119 2623 y FD(\))15 b(of)g(pro)q(cesses.)24 b(V)m(ariable)17 b Fa(flag)652 2634 y(ij)711 2623 y FD(is)f(used)h(to)e (establish)i(comm)o(unication)f(b)q(et)o(w)o(een)g Fs(P)1554 2629 y Fd(i)1583 2623 y FD(and)f Fs(P)1692 2629 y Fd(j)1724 2623 y FD(b)o(y)g(matc)o(hing)0 2698 y(an)f(output)g(guard)f(of)h Fs(P)386 2704 y Fd(i)413 2698 y FD(with)h(an)e(input)i(guard)f(of)f Fs(P)868 2704 y Fd(j)885 2698 y FD(;)g Fa(flag)998 2709 y(ji)1057 2698 y FD(is)i(used)g(in)f(a)g(symmetric)h(fashion.)951 2828 y FH(54)p eop bop 0 195 a FB(Q)14 b FH(ha)o(ving)h(complemen)o(tary)e(guards.)22 b(In)o(tuitiv)o(ely)l(,)13 b FB(P)22 b FH(sets)14 b FG(flag)e FH(to)j(true)f(to)g(inform)h FB(Q)e FH(of)i(its)f(desire)h(to)0 267 y(comm)o(unicate.)k FB(P)g FH(will)14 b(w)o(ait)e FG(t)g FH(seconds)g(for)g FB(Q)f FH(to)h(resp)q(ond,)i(whic)o(h)e FB(Q)f FH(do)q(es)i(b)o(y)e(resetting)h FG(flag)e FH(bac)o(k)i(to)0 340 y(false.)21 b(If)15 b FB(Q)f FH(do)q(es)i(not)f(resp)q(ond)h(within)g (this)f(time)g(in)o(terv)m(al,)g FB(P)22 b FH(will)17 b(try)e(to)g(establish) h(comm)o(unication)0 412 y(with)h(another)g(pro)q(cess.)22 b(The)16 b(\\timeout)h(in)o(terv)m(al")h FG(t)d FH(is)i(a)g(prede\014ned)f (constan)o(t)h(to)f(the)g(algorithm.)73 514 y(Randomization)g(en)o(ters)e(in) o(to)h(the)f(proto)q(col)i(in)f(the)f(c)o(hoice)g(of)g(prosp)q(ectiv)o(e)g (comm)o(unication)h(part-)0 586 y(ner.)29 b(If)18 b(a)h(request)g(to)g(comm)o (unicate)f(with)i(a)f(pro)q(cess)h(is)f(not)h(recipro)q(cated)f(within)h FG(t)f FH(seconds,)g(the)0 658 y FG(WHILE)14 b FH(lo)q(op)k(is)f(iterated)g (once)f(again,)h(at)g(whic)o(h)f(p)q(oin)o(t)h(another)g(partner)f(is)h(c)o (hosen)f FF(r)n(andomly)t FH(.)21 b(This)0 731 y(act)c(of)h(giving)g(up)g(on) f(a)h(p)q(oten)o(tial)h(partner)e(and)h(trying)g(another)f(is)h(called)g(the) f(\\retraction)i(phase".)0 803 y FG(WHILE)d FH(lo)q(op)k(iterations)f(of)f (this)h(nature)f(p)q(ersist)h(un)o(til,)f(if)h(p)q(ossible,)g(a)g(comm)o (unication)f(c)o(hannel)g(has)0 875 y(b)q(een)e(successfully)h(established.) 73 977 y(There)j(are)h(t)o(w)o(o)f(p)q(oin)o(ts)i(in)f FF(CommGuar)n(d)j FH(where)c(the)g(v)m(ariable)i FG(flag)d FH(needs)h(to)h(b)q(e)f(tested)g (and)0 1050 y(then)f(immediately)h(reset.)29 b(These)19 b(actions)i(m)o(ust)d (b)q(e)i(p)q(erformed)f(atomically)i(within)f(a)g(pro)q(cess)g(for)0 1122 y(the)d(algorithm)j(to)e(function)h(correctly)l(.)25 b(The)18 b FG(TEST&UPDA)o(TE)c FH(instruction)20 b(is)e(used)g(for)g(this)h(purp)q (ose.)0 1194 y(Starv)m(ation)f(is)f(a)o(v)o(oided)g(as)g(this)g(instruction)g (is)h(also)f(fair.)73 1296 y(Algorithm)h FF(CommGuar)n(d)d FH(is)j(deadlo)q(c)o(k)g(and)g(lo)q(c)o(k)o(out)f(free.)23 b(The)17 b(pro)q(ofs)h(are)f(similar)i(to)e(those)h(of)0 1369 y(the)e(Dining)j(Philosophers)f(problem.)23 b(The)16 b(main)h(p)q(oin)o(t)h (is)f(that)g(a)g(com)o(bination)h(of)e(coin)h(tosses)h(that)0 1441 y(ev)o(en)o(tually)i(enables)i(t)o(w)o(o)e(pro)q(cesses)i(to)f (establish)h(comm)o(unication)f(can)g(b)q(e)g(sho)o(wn)g(to)g(o)q(ccur)g (with)0 1513 y(probabilit)o(y)e(1.)26 b(As)17 b(describ)q(ed)h(ab)q(o)o(v)o (e,)f(the)g(coin)h(tosses)h(tak)o(e)d(place)i(in)g(the)f(retraction)i(phase)f (of)f(the)0 1585 y(algorithm)f(and)e(constitute)g(a)g(symmetry)e(breaking)i (tec)o(hnique.)20 b(Symmetry)12 b(breaking)j(is)f(also)h(b)q(ehind)0 1657 y(the)h(algorithm)i(for)f(leader)f(election)h(presen)o(ted)f(next.)0 1869 y Fu(3.3)70 b(Leader)23 b(Election)0 2004 y FH(The)c(co)q(ordination)k (of)c(the)g(computers,)h(or)f(no)q(des,)i(in)f(a)g(net)o(w)o(ork)e(is)i (often)g(the)f(resp)q(onsibilit)o(y)j(of)e(a)0 2076 y(single,)d (distinguished)i(no)q(de.)j(This)17 b(no)q(de,)g(called)g(the)f FF(le)n(ader)h FH(of)f(the)g(net)o(w)o(ork,)f(ma)o(y)h(enforce)g(m)o(utual)0 2148 y(exclusion)j(in)f(accessing)h(a)f(shared)g(resource,)g(pro)o(vide)g (services)f(required)h(b)o(y)f(other)h(no)q(des,)h(or)f(serv)o(e)0 2220 y(other)h(similar)i(functions.)31 b(If)18 b(the)h(leader)g(fails,)i(a)f (new)f(leader)g(m)o(ust)g(b)q(e)g(selected)f(from)h(among)h(the)0 2293 y(surviving)e(no)q(des)g(of)g(the)f(net)o(w)o(ork)f(using)i(an)g FF(ele)n(ction)h FH(algorithm.)25 b(In)17 b(this)h(section)g(w)o(e)e(examine) h(the)0 2365 y(randomized)g(distributed)g(algorithm)i(of)d(Itai)h(and)g(Ro)q (deh)g([IR81)o(])f(for)h(leader)f(election.)73 2467 y(The)21 b(problem)h(of)f(electing)h(a)f(leader)h(can)f(b)q(e)h(stated)f(as)h(follo)o (ws.)37 b(Giv)o(en)22 b(a)f(set)g(of)h FB(n)f FH(iden)o(tical)0 2539 y(pro)q(cesses)12 b Fx(f)p FB(P)262 2546 y FI(0)282 2539 y FB(;)c(P)335 2546 y FI(1)355 2539 y FB(;)g FH(.)g(.)g(.)g FB(;)g(P)496 2546 y Fw(n)p Ft(\000)p FI(1)565 2539 y Fx(g)j FH(connected)g(in)i(a)f(ring)g(fashion)i(\(i.e.,)d FB(P)1309 2546 y Fw(i)1335 2539 y FH(talks)i(to)f FB(P)1535 2546 y Fw(i)p FI(+1)1595 2539 y FH(,)g(where)f(subscript)0 2611 y(arithmetic)16 b(is)g(p)q(erformed)f(mo)q(dulo)i FB(n)p FH(\),)e(elect)f(one)i(of)f(these)g (pro)q(cesses)h(as)g(the)f(leader)g(of)h(the)f(ring.)22 b(A)o(t)0 2684 y(the)12 b(end)h(of)g(the)f(election,)i FF(al)r(l)g FH(pro)q(cesses)f(m) o(ust)g(agree)f(up)q(on)i(the)f(iden)o(tit)o(y)f(of)h(the)g(leader.)20 b(Additionally)l(,)951 2828 y(55)p eop bop 0 195 a FH(an)17 b(election)g(algorithm)h(m)o(ust)e(guaran)o(tee)g (termination.)73 297 y(Most)j(published)g(leader)g(election)g(algorithms)h (assume)f(that)g(asymmetry)e(exists)h(in)h(the)f(ring)i(to)0 370 y(the)i(exten)o(t)f(that)i(individual)i(pro)q(cesses)e(ha)o(v)o(e)f (unique)h FF(names)t FH(,)h(often)e(c)o(hosen)h(from)f(some)g(totally)0 442 y(ordered)g(set)f(of)h(names.)37 b(The)22 b(problem)g(of)g(leader)g (election)g(is)h(then)e(reduced)g(to)h(the)g(problem)g(of)0 514 y(pic)o(king)17 b(the)f(pro)q(cess)h(with)g(the)f(smallest,)h(or)g (largest,)g(name.)k(See,)15 b(for)h(example,)g([CR79)q(,)f(P)o(et82)q(].)73 616 y(Sev)o(eral)g(authors)i([Ang80,)f(IR81])f(ha)o(v)o(e)g(in)o(v)o (estigated)h(the)f(consequences)g(of)h(the)f(absence)g(of)h(suc)o(h)0 688 y(totally)j(ordered)e(names)g(on)h(election)f(algorithms.)26 b(Angluin)19 b([Ang80])e(has)h(sho)o(wn)f(that)h(there)f(exists)0 761 y(no)h(deterministic)g(algorithm)h(to)e(carry)g(out)h(elections)g(in)g(a) g(ring)g(of)g(iden)o(tical)g(pro)q(cesses.)25 b(Angluin's)0 833 y(argumen)o(t)18 b(is)i(based)f(on)g(the)f(observ)m(ation)j(that,)e(in)g (a)g(deterministic)g(framew)o(ork,)g(it)g(is)g(p)q(ossible)i(for)0 905 y(an)j(adv)o(ersary)g(sc)o(heduler)f(to)h(force)f(all)j(pro)q(cesses)e (to)g(b)q(e)g(in)g(iden)o(tical)h(states)f(at)g(all)h(times.)44 b(F)l(or)0 977 y(example,)14 b(the)h(adv)o(ersary)g(sc)o(heduler)f(can)h (dictate)g(that)g(ev)o(ery)f(message)h(is)g(in)h(transit)g(for)f(exactly)f (the)0 1050 y(same)h(amoun)o(t)g(of)g(time,)g(and)h(that)f(pro)q(cesses)h (pro)q(ceed)f(in)g(lo)q(c)o(k-step.)22 b(Since)15 b(pro)q(cesses)g(are)g (iden)o(tical,)0 1122 y(they)21 b(start)h(out)g(in)g(the)g(same)f(state,)i (and,)g(b)o(y)e(induction,)j(end)d(up)h(in)g(iden)o(tical)h(states)f(after)f (an)o(y)0 1194 y FB(k)g FH(computation)f(steps.)29 b(Th)o(us)19 b(an)o(y)g(p)q(oten)o(tial)h(progress)g(to)o(w)o(ard)f(the)g(completion)g(of) h(an)f(election)g(is)0 1266 y(th)o(w)o(arted)d(b)o(y)g(the)g(symmetry)f(of)h (the)g(ring.)73 1369 y(Th)o(us,)d(w)o(e)f(once)h(again)h(need)e(to)h(toss)h (coins)f(to)g(solv)o(e)g(the)f(problem.)20 b(In)13 b(the)f(randomized)h (algorithm)0 1441 y FF(L)n(e)n(adEle)n(ct)j FH(of)g(Itai)h(and)g(Ro)q(deh)f ([IR81],)f(the)h(pseudo)q(co)q(de)h(of)g(whic)o(h)f(is)h(giv)o(en)f(b)q(elo)o (w,)h(eac)o(h)e(pro)q(cess)i(is)0 1513 y(equipp)q(ed)h(with)g(an)g(indep)q (enden)o(t)f(random)h(n)o(um)o(b)q(er)f(generator.)25 b(Additionally)l(,)19 b(all)g(pro)q(cesses)f(kno)o(w)0 1585 y FB(n)p FH(,)d(the)f(size)h(of)g(the)g (ring.)22 b(The)15 b(ring)g(is)h(presumed)e(to)i(preserv)o(e)d(message)i (order)g(in)h(that)f(t)o(w)o(o)g(messages)0 1657 y(sen)o(t)h(from)g(a)h(pro)q (cess)g(to)f(its)h(neigh)o(b)q(or)h(are)e(receiv)o(ed)f(in)i(the)f(same)g (order)g(in)h(whic)o(h)g(they)f(w)o(ere)f(sen)o(t.)73 1760 y(The)22 b(algorithm)h(is)g(easier)f(to)g(understand)g(if)g(one)g(assumes)g (that)g(the)f(pro)q(cesses)i(op)q(erate)f(syn-)0 1832 y(c)o(hronously)f(in)g (lo)q(c)o(k-step,)h(and)f(that)g(eac)o(h)f(transmitted)h(message)f(reac)o (hes)g(its)h(destination)i(b)q(efore)0 1904 y(the)f(pro)q(cesses)g(execute)e (their)i(next)g(computation)h(step.)38 b(Eac)o(h)22 b(pro)q(cess)g FB(P)1486 1911 y Fw(i)1522 1904 y FH(b)q(egins)i(b)o(y)d(pic)o(king)i(a)0 1976 y(random)d(name,)g(an)g(in)o(teger)f(in)i Fx(f)p FH(1)p FB(;)8 b FH(.)g(.)g(.)f FB(;)h(K)t Fx(g)20 b FH(for)g(some)f(constan)o(t)h FB(K)k(>)19 b FH(1.)32 b FB(P)1500 1983 y Fw(i)1534 1976 y FH(then)19 b(propagates)i(its)0 2049 y(name)f(around)i(the)f(ring,)h(cop)o (ying)f(and)h(forw)o(arding)g(names)f(of)g(other)f(no)q(des)i(that)f(it)g (receiv)o(es.)33 b FB(P)1935 2056 y Fw(i)0 2121 y FH(determines)15 b(the)h(names)g(c)o(hosen)g(b)o(y)f(all)i(other)f(pro)q(cesses)h(b)o(y)e(the) h(time)f(it)i(receiv)o(es)d FB(n)i FH(messages.)22 b(The)0 2193 y FB(n)p FH(th)16 b(message)h(receiv)o(ed)e(b)o(y)h(a)g(pro)q(cess)h(is) g(the)f(one)h(it)f(sen)o(t)g(out)h(initially)l(.)73 2295 y(Eac)o(h)h(pro)q (cess)h(determines)e(from)h(its)g(list)i(of)e(names)g(whether)f(at)h(least)h (one)f(pro)q(cess)h(has)f(c)o(hosen)0 2368 y(a)i(unique)f(name,)h(i.e.,)f (one)h(that)g(w)o(as)f(not)h(c)o(hosen)g(b)o(y)e(an)o(y)i(other)f(pro)q (cess.)32 b(The)19 b(pro)q(cess)h(with)g(the)0 2440 y(largest)d(unique)e (name)g(is)i(elected)d(the)h(leader.)22 b(If)15 b(no)g(pro)q(cess)h(pic)o(k)o (ed)f(a)h(unique)f(name,)g(the)g(pro)q(cesses)0 2512 y(rep)q(eat)h(their)h (election)g(attempt.)k(Eac)o(h)16 b(attempt)g(is)h(called)g(a)g FF(r)n(ound)5 b FH(.)0 2681 y Fy(L)n(e)n(adEle)n(ct)26 b Fp(f)e Fo(\(*)g(algorithm)e(used)i(by)f(process)g Fn(P)984 2688 y Fw(i)1022 2681 y Fo(in)h(a)g(ring)f(*\))951 2828 y FH(56)p eop bop 143 213 a Fo(\(*)23 b(s)h(:)48 b(a)23 b(list)h(of)f(names)g(*\))143 298 y(REPEAT)g Fp(f)285 382 y Fo(set)h(s)g(to)f(empty)285 467 y(name)h(:=)f(a)h(random)f(number)g(between)g(1)h(and)f(K)285 552 y(REPEAT)g Fn(n)i Fo(times)p Fp(f)428 636 y Fo(add)e(name)h(to)f(s)428 721 y(SEND\(name\))g(TO)g Fn(P)791 728 y Fw(i)p FI(+1)428 806 y Fo(RECEIVE\(name\))f(FROM)h Fn(P)910 813 y Fw(i)p Ft(\000)p FI(1)285 890 y Fp(g)143 975 y(g)143 1060 y Fo(UNTIL)g(at)g(least)h(one)f (name)g(in)h(s)g(is)f(unique)0 1144 y(\(*)h(the)f(process)g(that)g(picked)g (the)h(largest)f(unique)g(name)g(is)h(the)f(leader)g(*\))0 1229 y Fp(g)73 1360 y FH(Ev)o(ery)12 b(time)i(the)f(pro)q(cesses)h(pic)o(k)f (random)h(names)f(for)h(themselv)o(es,)e(there)h(is)h(a)g(non-zero)g (probabil-)0 1432 y(it)o(y)i FB(p)g FH(that)g(at)g(least)g(one)g(no)q(de)g (pic)o(ks)g(a)g(name)f(that)h(is)h(c)o(hosen)e(b)o(y)g(no)h(other)g(no)q(de.) 22 b(\(The)15 b(exact)g(v)m(alue)0 1505 y(of)j FB(p)h FH(dep)q(ends)f(on)h (the)f(v)m(alue)h(of)f FB(K)k FH(and)d(on)f(the)g(probabilit)o(y)i (distribution)h(of)d(the)g(random)h(n)o(um)o(b)q(er)0 1577 y(generators.\))i(The)14 b(probabilit)o(y)i(that)f(the)f(algorithm)i(fails)f (to)g(terminate)f(in)g FB(i)g FH(rounds)h(is)g(\(1)7 b Fx(\000)g FB(p)p FH(\))1830 1559 y Fw(i)1843 1577 y FH(,)14 b(and)0 1649 y(the)i(probabilit)o(y)i(that)f(the)f(algorithm)i(executes)d(forev)o(er)g(is) 805 1749 y(lim)794 1779 y Fw(k)q Ft(!1)892 1749 y FH(\(1)c Fx(\000)g FB(p)p FH(\))1039 1728 y Fw(k)1075 1749 y FH(=)j(0)p FB(:)698 b FH(\(19\))0 1849 y(In)19 b(other)h(w)o(ords,)g(the)f(algorithm)i (will)g(terminate)f(with)g(probabilit)o(y)h(1.)31 b(The)20 b(exp)q(ected)e(n)o(um)o(b)q(er)h(of)0 1921 y(rounds)e(for)g(the)f(algorithm) i(to)e(terminate)h(is)g(clearly)g(1)p FB(=p)p FH(.)73 2024 y(This)24 b(algorithm)h(can)f(b)q(e)f(impro)o(v)o(ed)f(in)i(sev)o(eral)f(w)o (a)o(ys.)42 b(One)23 b(w)o(a)o(y)f(to)i(impro)o(v)o(e)e(the)h(exp)q(ected)0 2096 y(running)17 b(time)e(is)h(to)g(c)o(hange)f(the)g(termination)i (condition)g(to)f(examine)f(the)g(pattern)g(of)h(names)f(in)h(the)0 2168 y(en)o(tire)j(ring)i(to)f(determine)f(if)i(an)f(election)g(is)h(p)q (ossible.)34 b(F)l(or)20 b(instance,)g(if)h(in)f(a)g(ring)h(where)e FB(n)h FH(=)g(5,)0 2240 y(and)c(pro)q(cesses)h FB(P)336 2247 y FI(0)372 2240 y FH(and)f FB(P)497 2247 y FI(2)533 2240 y FH(c)o(hose)g(1,)g(while)h FB(P)874 2247 y FI(1)894 2240 y FH(,)e FB(P)954 2247 y FI(3)990 2240 y FH(and)i FB(P)1116 2247 y FI(4)1152 2240 y FH(c)o(hose)f(2,)f(then)h(the)g(algorithm)i(describ)q(ed)0 2312 y(ab)q(o)o(v)o(e)d(w)o(ould)h(pro)q(cced)f(to)h(another)f(round,)h (since)f(no)h(single)g(no)q(de)g(c)o(hose)f(a)g(unique)h(name.)k(Ho)o(w)o(ev) o(er,)0 2385 y(closer)c(examination)h(sho)o(ws)g(that)f(leader)g(election)g (is)g(p)q(ossible)i(in)f(this)f(situation:)23 b FB(P)1613 2392 y FI(0)1649 2385 y FH(can)16 b(b)q(e)g(elected)0 2457 y(b)q(ecause)h(it)h(is) f(the)g(only)h(pro)q(cess,)f(whose)h(immediate)f(neigh)o(b)q(ors)h(in)g(the)f (ring)h(c)o(hose)e(2,)i(that)f(c)o(hose)g(a)0 2529 y(1.)22 b(Itai)16 b(and)h(Ro)q(deh)g(pro)o(vide)f(a)h(mathematical)g(basis)h(for)f (the)f(use)g(of)g(suc)o(h)g(tec)o(hniques.)73 2631 y(Leader)22 b(election)g(in)g(a)g(symmetric)f(ring)i(is)f(one)g(of)g(a)g(v)m(ariet)o(y)f (of)h(problems)g(where)f(reasonably)0 2704 y(e\016cien)o(t)11 b(probabilistic)j(solutions)h(can)c(b)q(e)h(found,)h(ev)o(en)d(though)j(a)f (deterministic,)h(symmetric)e(solution)951 2828 y(57)p eop bop 0 195 a FH(is)23 b(imp)q(ossible.)43 b(It)22 b(is)i(in)o(teresting)f(to)g (note)g(that)g(symmetric)f(leader)h(election)g(in)g(a)g(ring)h(with)g(an)0 267 y FF(unknown)15 b FH(n)o(um)o(b)q(er)e(of)h(pro)q(cesses)g(has)g(no)g (deterministic)g FF(nor)f FH(probabilisti)q(c)j(solution)g(that)d(guaran)o (tees)0 340 y(b)q(oth)20 b(termination)h(and)f(a)g(non-zero)h(probabilit)o(y) g(of)f(correctness.)31 b(The)19 b(reader)h(is)g(referred)f(to)g(Itai)0 412 y(and)e(Rabin)g([IR81])f(for)g(a)h(pro)q(of)g(of)g(this)g(claim.)73 514 y(The)f(next)g(problem)h(w)o(e)e(consider,)i(message)f(routing)i(in)f(a)f (net)o(w)o(ork,)f(sho)o(ws)i(ho)o(w)g(randomization)0 586 y(can)f(b)q(e)h (used)f(to)h(reduce)e(queueing)i(dela)o(y)f(and)h(to)g(impro)o(v)o(e)e (resiliency)i(to)g(faults.)0 798 y Fu(3.4)70 b(Message)23 b(Routing)0 932 y FH(An)17 b(imp)q(ortan)o(t)i(measure)f(of)g(the)f(p)q(erformance)h(of)g (an)o(y)g(message)g(routing)h(algorithm)g(is)g(ho)o(w)f(w)o(ell)g(it)0 1005 y(solv)o(es)j(the)g FF(p)n(ermutation)g(r)n(outing)h(pr)n(oblem)t FH(.)34 b(In)21 b(p)q(erm)o(utation)h(routing,)g(eac)o(h)f(no)q(de)g(in)g(a)h (net)o(w)o(ork)0 1077 y(is)f(the)e(origin)j(of)e(a)g(single)i(message)e (destined)g(for)g(another)h(no)q(de)f(in)h(the)e(net)o(w)o(ork,)h(sub)s(ject) f(to)h(the)0 1149 y(constrain)o(t)j(that)f(no)h(t)o(w)o(o)e(messages)i(ha)o (v)o(e)e(the)h(same)f(destination.)41 b(The)21 b(problem)i(is)f(to)h(devise)f (a)0 1221 y(distributed)15 b(algorithm)h(to)e(route)h(the)e(messages)i(to)f (their)g(destinations)i(with)f(the)f(minim)o(um)g(p)q(ossible)0 1294 y(dela)o(y)l(,)h(with)i(at)e(most)h(one)g(message)f(b)q(eing)i (transmitted)f(o)o(v)o(er)f(an)h(edge)f(at)h(an)o(y)f(time.)21 b(Eac)o(h)15 b(instance)0 1366 y(of)f(the)g(problem)g(can)g(b)q(e)g(view)o (ed)g(as)g(a)h(p)q(erm)o(utation)g FB(\031)g FH(on)f(the)g(set)g(of)g(no)q (des,)h(where)e FB(\031)r FH(\()p FB(v)r FH(\))g(=)h FB(w)h FH(means)0 1438 y(that)21 b(the)g(message)g(originating)j(at)d FB(v)h FH(has)g(to)f(b)q(e)g(deliv)o(ered)g(to)g(destination)i FB(w)q FH(.)35 b(This)22 b(part)f(of)g(the)0 1510 y(surv)o(ey)15 b(is)i(dev)o(oted)f(to)h(randomized)f(algorithms)j(for)d(p)q(erm)o(utation)h (routing.)73 1612 y(In)i(message)g(routing)i(algorithms,)g(the)e(normally)h (accepted)f(unit)h(of)f(dela)o(y)g(is)h(the)f(time)g(needed)0 1685 y(to)e(transmit)h(a)g(single)h(message)e(from)g(a)h(no)q(de)f(to)h(its)g (neigh)o(b)q(or.)25 b(The)17 b(assumption)i(is)f(that)f(the)g(time)0 1757 y(tak)o(en)d(b)o(y)g(the)g(no)q(des)h(themselv)o(es)f(to)h(pro)q(cess)g (individual)i(messages)e(and)g(decide)f(ho)o(w)h(they)f(are)g(to)h(b)q(e)0 1829 y(routed)j(is)g(negligible)i(when)e(compared)f(to)h(message)g (transmission)i(dela)o(ys.)25 b(This)19 b(is)f(esp)q(ecially)h(true)0 1901 y(if)e(the)f(no)q(des)h(can)f(do)h(parallel)h(pro)q(cessing.)73 2004 y(The)j(o)o(v)o(erall)g(dela)o(y)f(incurred)h(b)o(y)f(a)g(p)q(erm)o (utation)i(routing)f(algorithm)i(is)e(ob)o(viously)h(related)f(to)0 2076 y(the)d(underlying)i(top)q(ology)l(.)31 b(F)l(or)19 b(instance,)h(the)e (minim)o(um)h(dela)o(y)g(in)g(sending)h(a)f(message)g(from)g(one)0 2148 y(no)q(de)h(to)g(another)g(dep)q(ends)f(on)h(the)f(length)h(of)g(the)f (shortest)h(path)g(b)q(et)o(w)o(een)e(them.)30 b(Another)20 b(t)o(yp)q(e)0 2220 y(of)d(dela)o(y)f(can)h(o)q(ccur)g(when)f(implemen)o (ting)h(p)q(erm)o(utations:)23 b(the)16 b(routing)i(algorithm)h(ma)o(y)d (determine)0 2293 y(that)h(a)f(message)h(needs)f(to)g(b)q(e)h(transmitted)g (o)o(v)o(er)e(an)i(edge)f(that)g(is)h(already)h(in)e(use)h(for)f (transmitting)0 2365 y(another)k(message.)31 b(In)19 b(this)i(case,)f(the)f (message)h(is)g(often)f(queued)g(up)h(for)g(transmission)i(at)e(a)f(later)0 2437 y(time.)k(Suc)o(h)17 b FF(queuing)i(delays)f FH(should)g(also)h(b)q(e)e (included)g(in)h(an)o(y)f(measure)f(of)h(the)g(total)h(dela)o(y)f(that)h(a)0 2509 y(message)f(su\013ers)f(in)h(transmission)i(from)d(its)h(origin)h(to)f (its)g(destination.)73 2611 y(Deterministic)c(p)q(erm)o(utation)h(routing)f (algorithms)i(ha)o(v)o(e)d(the)g(common)g(dra)o(wbac)o(k)g(that)h(they)f(ha)o (v)o(e)0 2684 y(p)q(o)q(or)18 b(w)o(orst-case)f(p)q(erformance.)k(In)16 b(other)g(w)o(ords,)h(they)e(b)q(eha)o(v)o(e)h(badly)h(on)g(some)f(sp)q (eci\014c)h(p)q(erm)o(uta-)951 2828 y(58)p eop bop 210 762 2 206 v 211 558 258 2 v 467 762 2 206 v 211 763 258 2 v 339 659 2 206 v 339 455 258 2 v 596 659 2 206 v 339 660 258 2 v 853 659 2 206 v 854 455 258 2 v 1111 659 2 206 v 854 660 258 2 v 982 557 2 206 v 983 352 258 2 v 1239 557 2 206 v 983 558 258 2 v 854 659 a Fg(#)883 636 y(#)912 613 y(#)941 590 y(#)854 454 y(#)883 431 y(#)912 408 y(#)941 385 y(#)1111 454 y(,)1140 431 y(,)1170 409 y(,)1199 386 y(,)1111 659 y(,)1140 637 y(,)1170 614 y(,)1199 591 y(,)468 557 y(,)497 534 y(,)526 511 y(,)555 489 y(,)211 557 y(#)240 534 y(#)269 510 y(#)298 487 y(#)468 762 y(,)497 739 y(,)526 717 y(,)555 694 y(,)211 762 y(#)240 739 y(#)269 716 y(#)298 692 y(#)339 454 y(\()380 448 y(\()420 441 y(\()460 435 y(\()500 429 y(\()540 422 y(\()580 416 y(\()620 409 y(\()660 403 y(\()701 397 y(\()741 390 y(\()781 384 y(\()821 378 y(\()861 371 y(\()901 365 y(\()941 358 y(\()597 454 y(\()637 448 y(\()677 441 y(\()717 435 y(\()757 429 y(\()797 422 y(\()837 416 y(\()878 409 y(\()918 403 y(\()958 397 y(\()998 390 y(\()1038 384 y(\()1078 378 y(\()1118 371 y(\()1158 365 y(\()1199 358 y(\()468 557 y(\()508 550 y(\()548 544 y(\()588 538 y(\()629 531 y(\()669 525 y(\()709 518 y(\()749 512 y(\()789 506 y(\()829 499 y(\()869 493 y(\()909 487 y(\()950 480 y(\()990 474 y(\()1030 467 y(\()1070 461 y(\()211 557 y(\()251 550 y(\()291 544 y(\()331 538 y(\()371 531 y(\()411 525 y(\()451 518 y(\()492 512 y(\()532 506 y(\()572 499 y(\()612 493 y(\()652 487 y(\()692 480 y(\()732 474 y(\()772 467 y(\()813 461 y(\()597 659 y(\()637 653 y(\()677 647 y(\()717 640 y(\()757 634 y(\()797 627 y(\()837 621 y(\()878 615 y(\()918 608 y(\()958 602 y(\()998 595 y(\()1038 589 y(\()1078 583 y(\()1118 576 y(\()1158 570 y(\()1199 564 y(\()468 762 y(\()508 755 y(\()548 749 y(\()588 743 y(\()629 736 y(\()669 730 y(\()709 724 y(\()749 717 y(\()789 711 y(\()829 704 y(\()869 698 y(\()909 692 y(\()950 685 y(\()990 679 y(\()1030 673 y(\()1070 666 y(\()211 762 y(\()251 755 y(\()291 749 y(\()331 743 y(\()371 736 y(\()411 730 y(\()451 724 y(\()492 717 y(\()532 711 y(\()572 704 y(\()612 698 y(\()652 692 y(\()692 685 y(\()732 679 y(\()772 673 y(\()813 666 y(\()339 659 y(\()380 653 y(\()420 647 y(\()460 640 y(\()500 634 y(\()540 627 y(\()580 621 y(\()620 615 y(\()660 608 y(\()701 602 y(\()741 595 y(\()781 589 y(\()821 583 y(\()861 576 y(\()901 570 y(\()941 564 y(\()p 1754 249 2 52 v 168 550 a Fz(0000)296 448 y(0001)548 450 y(0011)422 550 y(0010)164 811 y(0100)294 699 y(0101)550 706 y(0111)420 808 y(0110)806 451 y(1000)940 343 y(1001)1194 346 y(1011)1066 450 y(1010)806 707 y(1100)940 607 y(1101)1194 608 y(1111)1068 710 y(1110)555 1094 y FH(Figure)16 b(6:)22 b(A)16 b(4-dimensional)j(binary)e (cub)q(e.)0 1228 y(tions.)25 b(In)17 b(this)h(section,)f(w)o(e)g(consider)g (t)o(w)o(o)g(algorithms)j(that)d(use)g(randomization)j(to)d(break)g(up)g(suc) o(h)0 1301 y(input)e(dep)q(endencies:)21 b(V)l(alian)o(t's)15 b([V)l(al82)q(])f(algorithm)j(for)e(the)f FB(n)p FF(-cub)n(e)t FH(,)i(and)f(Aleluinas's)h([Ale82])e(algo-)0 1373 y(rithm)h(for)f FF(shu\017e)i(networks)t FH(.)22 b(A)14 b(radically)i(di\013eren)o(t)f (approac)o(h,)g(that)g(of)f(randomizing)j(the)d(in)o(tercon-)0 1445 y(nections)k(b)q(et)o(w)o(een)f(no)q(des,)i(is)f(also)i(presen)o(ted.)25 b(This)19 b(tec)o(hnique,)d(when)i(applied)i(to)e(m)o(ulti-butter\015y)0 1517 y(net)o(w)o(orks,)e(has)i(b)q(een)e(sho)o(wn)i(to)f(outp)q(erform)g(con) o(v)o(en)o(tional)h(butter\015y)e(net)o(w)o(orks,)g(particularly)j(with)0 1589 y(resp)q(ect)d(to)h(tolerance)f(to)h(no)q(de)g(faults)g([Upf89,)f(LM89)q (,)g(LLM90)q(].)0 1761 y FC(Message)i(Routing)i(on)e(an)h(n-Cub)r(e)0 1896 y FH(V)l(alian)o(t)12 b([V)l(al82)q(])e(prop)q(osed)j(the)e(\014rst)g(p) q(erm)o(utation)h(routing)g(algorithm)h(for)e(an)h FB(n)p FH(-cub)q(e.)20 b(His)11 b(algorithm)0 1968 y(implemen)o(ted)22 b FF(any)g FH(p)q(erm)o(utation,)i(with)g(high)f(probabilit)o(y)l(,)j(in)d FB(O)q FH(\(log)11 b FB(N)5 b FH(\))22 b(time.)40 b(An)22 b FB(n)p FH(-cub)q(e)g(is)i(a)0 2040 y(net)o(w)o(ork)16 b(arc)o(hitecture)h (shap)q(ed)h(lik)o(e)f(an)g FB(n)p FH(-dimensional)j(cub)q(e)d(ha)o(ving)h FB(N)i FH(=)15 b(2)1505 2022 y Fw(n)1546 2040 y FH(no)q(des,)j(and)f(is)h (often)0 2112 y(referred)d(to)i(as)g(a)f(\()p FB(n)p FH(-)p FF(dimensional)5 b FH(\))18 b FF(hyp)n(er)n(cub)n(e)t FH(.)73 2215 y(W)l(e)f(assume)h(that)g(eac)o(h)f(no)q(de)g(of)h(an)g FB(n)p FH(-cub)q(e)g(is)g(iden)o(ti\014ed)g(b)o(y)e(an)i FB(n)p FH(-bit)h(binary)f(n)o(um)o(b)q(er)e FB(v)j FH(from)0 2287 y(0)d(to)g(2)123 2269 y Fw(n)156 2287 y Fx(\000)9 b FH(1.)21 b(A)16 b(16-no)q(de)h(4-cub)q(e)f(is)g(sho)o(wn)g(in)g(Figure)g(6.)21 b(Tw)o(o)16 b(no)q(des)h(can)e(comm)o(unicate)g(with)i(eac)o(h)0 2359 y(other)f(if)h(their)g(n)o(um)o(b)q(ers)e(di\013er)i(in)g(only)g(one)g (bit)g(p)q(osition)h(or)f FF(dimension)p FH(.)73 2461 y(T)l(o)g(implemen)o(t) e(ev)o(ery)g(p)q(erm)o(utation)i(in)f FB(O)q FH(\(log)11 b FB(N)5 b FH(\))17 b(time)e(with)i(high)h(probabilit)o(y)l(,)f(V)l(alian)o (t's)g(algo-)0 2534 y(rithm)g(requires)f(eac)o(h)g(message)g(to)h(carry)f FB(O)q FH(\(log)11 b FB(N)5 b FH(\))16 b(bits)i(of)e(additional)k(b)q(o)q (ok-k)o(eeping)e(information.)0 2606 y(The)k(algorithm)i(can)e(implemen)o(t)f (b)q(oth)i(complete)f(as)g(w)o(ell)h(as)g(partial)g(p)q(erm)o(utations.)40 b(No)22 b(global)0 2678 y(sync)o(hronization)c(is)f(required)f(\(i.e.,)f(no)i (help)f(from)h(a)f(cen)o(tral)g(arbiter)h(is)g(needed\).)951 2828 y(59)p eop bop 73 195 a FH(F)l(or)13 b(con)o(v)o(enience)e(in)h(describing)i(the)e (algorithm,)j(w)o(e)d(shall)i(assume)e(that)h(the)f(message)h(originating)0 267 y(at)k(no)q(de)g FB(v)h FH(is)g(lab)q(eled)g FB(v)r FH(.)k(The)16 b(algorithm)j(op)q(erates)e(in)h(t)o(w)o(o)e(phases.)23 b(In)17 b(the)f(\014rst)h(phase,)g(a)g(message)0 340 y FB(u)j FH(is)i(mo)o(v)o(ed)e (from)g(its)i(origin)g(to)f(a)g(random)h(in)o(termediate)e(destination)j FB(v)f FH(without)g(regard)f(for)g(its)0 412 y(ultimate)c(destination)i FB(w)q FH(.)j(The)16 b(in)o(termediate)g(no)q(de)h FB(v)h FH(is)f(c)o(hosen)f (randomly:)23 b(a)17 b(fair)g(coin)g(with)g(sides)0 484 y(0)g(and)h(1)f(is)g (tossed)h(for)f(eac)o(h)f(of)h(the)g FB(n)g FH(dimensions,)h(and)g(the)e (message)h(is)h(mo)o(v)o(ed)d(along)k(the)e(edge)f(in)0 556 y(that)h(dimension)h(if)g(a)f(1)g(sho)o(ws)h(up.)23 b(Clearly)l(,)18 b(at)f(the)g(end)f(of)h(this)h(pro)q(cedure,)f(a)g(message)g(ma)o(y)f(b)q(e)h (in)0 628 y(an)o(y)f(no)q(de)h(of)g(the)f FB(n)p FH(-cub)q(e)g(with)h(equal)g (probabilit)o(y)l(.)73 731 y(The)i(mo)o(v)o(emen)o(t)e(of)i(messages)g(to)g (their)g(actual)h(destinations)h(o)q(ccurs)f(in)f(the)g(second)g(phase.)29 b(In)0 803 y(this)23 b(phase)f(eac)o(h)f(no)q(de)h(that)h(holds)g(a)f (message)g(c)o(ho)q(oses)g(at)g(random)h(a)f(dimension)h(in)f(whic)o(h)g(the) 0 875 y(message)g(needs)f(to)h(b)q(e)g(mo)o(v)o(ed)f(in)h(order)g(to)f(reac)o (h)h(its)g(destination,)i(and)f(transmits)f(the)g(message)0 947 y(along)c(that)f(dimension.)73 1050 y(The)h(pseudo)q(co)q(de)i(of)e(V)l (alian)o(t's)h(algorithm)h(app)q(ears)g(b)q(elo)o(w.)28 b(In)18 b(this)h(algorithm,)h(eac)o(h)e(message)0 1122 y FB(u)f FH(has)h(an)f(asso)q (ciated)i(set)e(of)h(b)q(o)q(ok-k)o(eeping)g(information)h FB(T)1159 1129 y Fw(u)1196 1122 y Fx(\022)c(f)p FH(1)p FB(;)8 b FH(.)g(.)g(.)g FB(;)g(n)p Fx(g)p FH(.)24 b(In)16 b(the)h(\014rst)h(phase,)f FB(T)1928 1129 y Fw(u)0 1194 y FH(consists)c(of)g(the)e(set)h(of)g (dimensions)i(along)g(whic)o(h)e(p)q(ossible)i(transmissions)h(ha)o(v)o(e)c (not)h(b)q(een)g(considered.)0 1266 y(In)17 b(the)g(second)g(phase,)g FB(T)484 1273 y Fw(u)524 1266 y FH(consists)h(of)g(the)e(set)h(of)h (dimensions)h(along)g(whic)o(h)e(transmissions)j(remain)0 1339 y(to)h(b)q(e)g(made)g(in)g(order)g(for)g FB(u)f FH(to)h(reac)o(h)g(its)g (destination.)37 b(Also,)22 b(eac)o(h)e(no)q(de)i FB(v)g FH(main)o(tains)g(a) f(set)g(of)0 1411 y(queues)e FB(Q)201 1418 y Fw(v)221 1411 y FH(\()p FB(i)p FH(\))p FB(;)8 b FH(1)19 b Fx(\024)g FB(i)g Fx(\024)g FB(n)p FH(,)h(con)o(taining)i(messages)e(to)g(b)q(e)f(transmitted)h (from)g FB(v)h FH(to)e(its)i(neigh)o(b)q(or)f(in)0 1483 y(the)15 b FB(i)p FH(th)g(dimension.)22 b(This)17 b(neigh)o(b)q(or,)f(denoted)g(b)o(y) e FB(v)r Fx(jj)p FB(i)p FH(,)g(is)i(the)f(no)q(de)h(whose)g(n)o(um)o(b)q(er)f (is)h(obtained)h(b)o(y)0 1555 y(toggling)e(the)e FB(i)p FH(th)f(bit)i(of)f (the)f(binary)i(represen)o(tation)f(of)g FB(v)r FH(.)20 b(The)13 b FB(i)p FH(th)f(bit)h(of)g(the)g(binary)h(represen)o(tation)0 1627 y(of)j(n)o(um)o(b)q(er)e FB(v)j FH(is)f(denoted)f(b)o(y)g FB(v)602 1609 y Fw(i)615 1627 y FH(.)73 1730 y(In)g(b)q(oth)g(phases,)h(eac)o (h)e(no)q(de)h FB(v)i FH(main)o(tains)f(a)f(set)g FB(Loose)1149 1737 y Fw(v)1186 1730 y FH(of)g(messages)g(that)h(ha)o(v)o(e)e(b)q(een)g (receiv)o(ed)0 1802 y(b)o(y)20 b FB(v)h FH(but)g(ha)o(v)o(e)e(not)i(b)q(een)f (assigned)i(to)f(an)o(y)f(queue.)33 b(A)20 b(message)g FB(u)g FH(in)h FB(Loose)1547 1809 y Fw(v)1589 1802 y FH(with)g FB(T)1733 1809 y Fw(u)1775 1802 y FH(=)g Fx(;)f FH(has)0 1874 y FB(v)h FH(as)g(its)g(destination.)34 b(The)20 b(notation)i(\\T)l(ransmit)g FB(v)r FH(")d(means)i(that)f(for)g(eac)o(h)g(non-empt)o(y)f FB(Q)1815 1881 y Fw(v)1836 1874 y FH(\()p FB(i)p FH(\),)h FB(v)0 1946 y FH(transmits)j(the)f(message)h FB(u)f FH(at)g(the)g(head)g(of)h FB(Q)935 1953 y Fw(v)955 1946 y FH(\()p FB(i)p FH(\))f(to)g(no)q(de)h FB(v)r Fx(jj)p FB(i)e FH(and)i(causes)f FB(u)g FH(to)h(b)q(e)f(added)h(to)0 2019 y FB(Loose)125 2026 y Fw(v)q Ft(jj)p Fw(i)178 2019 y FH(.)e(A)15 b(phase)i(is)g FF(\014nishe)n(d)f FH(when)g(for)g(all)i(messages)e FB(u)p FH(,)f FB(T)1186 2026 y Fw(u)1222 2019 y FH(=)f Fx(;)p FH(.)21 b(V)l(alian)o(t's)c(algorithm)h(is)e(said)i(to)0 2091 y(\014nish)f(successfully)g(if)g(b)q(oth)g(phases)g(of)g(the)f(algorithm)i (\014nish.)0 2259 y Fy(MessageR)n(oute)e(Phase)g(1)30 b Fp(f)24 b Fo(\(*)f(algorithm)g(used)g(by)h(node)f Fn(v)i Fo(*\))143 2344 y Fn(Loose)260 2351 y Fw(v)304 2344 y Fo(:=)f Fp(f)p Fn(v)r Fp(g)p Fo(;)143 2429 y Fn(T)170 2436 y Fw(v)214 2429 y Fo(:=)f Fp(f)p Fz(1)p Fn(;)8 b Fz(.)g(.)g(.)t Fn(;)g(n)p Fp(g)p Fo(;)143 2514 y(FOR)23 b Fn(f)29 b Fo(:=)24 b(1)f(to)h Fn(F)30 b Fo(DO)24 b Fp(f)285 2598 y Fo(FOREACH)f Fn(u)h Fo(IN)g Fn(Loose)715 2605 y Fw(v)760 2598 y Fo(WITH)f Fn(T)906 2605 y Fw(u)941 2598 y Fp(6)p Fz(=)13 b Fp(;)23 b Fo(DO)h Fp(f)428 2683 y Fo(Pick)f Fn(i)13 b Fp(2)g Fn(T)646 2690 y Fw(u)951 2828 y FH(60)p eop bop 428 213 a Fn(T)455 220 y Fw(u)501 213 y Fo(:=)24 b Fn(T)600 220 y Fw(u)632 213 y Fp(\000)10 b(f)p Fn(i)p Fp(g)p Fo(;)428 298 y(Pick)23 b Fn(\013)13 b Fp(2)g(f)p Fz(0)p Fn(;)8 b Fz(1)p Fp(g)p Fo(;)428 382 y(IF)24 b Fz(\()p Fn(\013)12 b Fz(=)h(1\))p Fp(f)571 467 y Fo(add)23 b Fn(u)h Fo(to)g Fn(Q)824 474 y Fw(v)844 467 y Fz(\()p Fn(i)p Fz(\))p Fo(;)571 552 y Fn(Loose)688 559 y Fw(v)732 552 y Fo(:=)g Fn(Loose)921 559 y Fw(v)952 552 y Fp(\000)11 b(f)p Fn(u)p Fp(g)p Fo(;)428 636 y Fp(g)24 b Fo(\(*)f(end)h(IF)f (*\))285 721 y Fp(g)h Fo(\(*)g(end)f(FOREACH)g(*\))285 806 y(Transmit)g Fn(v)143 890 y Fp(g)g Fo(\(*)h(end)f(FOR)h(*\))0 975 y Fp(g)0 1228 y Fy(MessageR)n(oute)16 b(Phase)g(2)30 b Fp(f)24 b Fo(\(*)f(algorithm)g(used)g(by)h(node)f Fn(v)i Fo(*\))143 1313 y(FOREACH)e(message)f Fn(u)i Fo(with)g(destination)e Fn(w)j Fo(at)e Fn(v)j Fo(DO)285 1398 y Fn(T)312 1405 y Fw(u)358 1398 y Fo(:=)e Fp(f)p Fn(i)p Fp(j)p Fn(v)506 1381 y Fw(i)531 1398 y Fp(6)p Fz(=)13 b Fn(w)613 1381 y Fw(i)627 1398 y Fp(g)143 1482 y Fo(FOR)23 b Fn(g)i Fo(:=)f(1)g(to)f Fn(G)h Fo(DO)f Fp(f)285 1567 y Fo(FOREACH)g Fn(u)h Fo(IN)g Fn(Loose)715 1574 y Fw(v)760 1567 y Fo(WITH)f Fn(T)906 1574 y Fw(u)941 1567 y Fp(6)p Fz(=)13 b Fp(;)23 b Fo(DO)h Fp(f)428 1652 y Fo(Pick)f Fn(i)13 b Fp(2)g Fn(T)646 1659 y Fw(u)428 1736 y Fn(T)455 1743 y Fw(u)501 1736 y Fo(:=)24 b Fn(T)600 1743 y Fw(u)632 1736 y Fp(\000)10 b(f)p Fn(i)p Fp(g)p Fo(;)428 1821 y(add)23 b Fn(u)h Fo(to)g Fn(Q)681 1828 y Fw(v)701 1821 y Fz(\()p Fn(i)p Fz(\))p Fo(;)428 1906 y Fn(Loose)545 1913 y Fw(v)590 1906 y Fo(:=)f Fn(Loose)778 1913 y Fw(v)809 1906 y Fp(\000)11 b(f)p Fn(u)p Fp(g)p Fo(;)285 1990 y Fp(g)24 b Fo(\(*)g(end)f(FOREACH)g(*\))285 2075 y(Transmit)g Fn(v)143 2160 y Fp(g)g Fo(\(*)h(end)f(FOR)h(*\))0 2245 y Fp(g)73 2485 y FH(The)13 b(algorithm)h(is)g(sync)o(hronous)f(in)g(the)g(sense)f(that) i(for)e(eac)o(h)h(iteration)h(of)f(b)q(oth)g(phases,)h(all)g(no)q(des)0 2558 y(transmit)i(concurren)o(tly)l(,)f(and)h(that)g(all)h(transmitted)g (messages)f(are)f(added)h(to)g(the)f FB(Loose)i FH(sets)e(of)h(the)0 2630 y(recipien)o(ts)j(b)q(efore)h(the)f(recipien)o(ts)g(b)q(egin)h(the)f (next)g(iteration.)31 b(This)21 b(restriction,)f(ho)o(w)o(ev)o(er,)f(can)g(b) q(e)0 2702 y(relaxed)d([VB81].)951 2828 y(61)p eop bop 73 195 a FH(Also,)16 b(note)e(that)i(the)e(t)o(w)o(o)h(phases)g(run)g (for)g FB(F)21 b FH(and)16 b FB(G)f FH(iterations,)h(resp)q(ectiv)o(ely)l(.)k (It)15 b(is)g(clear)g(that)h(if)0 267 y FB(G)h FH(is)g(to)q(o)g(small,)h(all) f(messages)g(migh)o(t)g(not)g(reac)o(h)f(their)g(\014nal)i(destinations.)23 b(V)l(alian)o(t)18 b(sho)o(ws)f(that)g(for)0 340 y(b)q(oth)i(phases)g(to)g (\014nish)h(successfully)f(with)g(probabilit)o(y)h(greater)f(than)f(1)13 b Fx(\000)g FH(2)1492 321 y Ft(\000)p Fw(S)r(n)1566 340 y FH(,)19 b(for)f(an)o(y)h(constan)o(t)0 412 y FB(S)s FH(,)j FB(F)27 b FH(and)22 b FB(G)f FH(need)g(b)q(e)g(no)g(greater)g(than)h FB(C)t(n)p FH(,)f(where)g FB(C)j FH(is)e(a)f(constan)o(t)h(that)f(dep)q(ends) h(on)f FB(S)s FH(.)35 b(In)0 484 y(other)15 b(w)o(ords,)g(b)q(oth)g(phases)h (of)f(the)f(algorithm)j(terminate)d(correctly)g(in)i FB(O)q FH(\()p FB(n)p FH(\))f(time)f(with)i(probabilit)o(y)0 556 y(1)c Fx(\000)g FH(2)111 538 y Ft(\000)p Fw(S)r(n)185 556 y FH(,)17 b(for)h(an)o(y)f(constan)o(t)h FB(S)s FH(.)24 b(The)17 b(assumption)i(of)f (course)f(is)h(that)g(individual)i(iterations)f(of)e(the)0 628 y(algorithm)h(in)f(b)q(oth)g(phases)g(run)g(in)g(constan)o(t)f(time.)21 b(F)l(ormally:)0 785 y FC(Theorem)d(3)24 b FF(F)l(or)c(any)h(c)n(onstant)g FB(S)s FF(,)h(ther)n(e)e(is)h(a)f(c)n(onstant)i FB(C)i FF(such)d(that)g(for)f FB(F)26 b FH(=)20 b FB(G)g FH(=)g FB(C)t(n)p FF(,)h(b)n(oth)0 857 y(phases)c(of)h(V)l(aliant's)g(r)n(outing)g(algorithm)f(\014nish)h(with)g (pr)n(ob)n(ability)f(gr)n(e)n(ater)g(than)h FH(1)11 b Fx(\000)g FH(2)1658 839 y Ft(\000)p Fw(S)r(n)1733 857 y FF(.)73 1013 y FH(In)j(b)q(oth)h(phases,)g(eac)o(h)f(message)g(tak)o(es)g(a)h FF(r)n(oute)f FH(from)g(an)h(initial)i(no)q(de)d(to)h(another)g(no)q(de,)g (where)f(a)0 1085 y(route)h(is)h(de\014ned)f(as)h(a)g(path)g(in)f(the)g FB(n)p FH(-cub)q(e)h(where)f(no)h(t)o(w)o(o)f(edges)g(tra)o(v)o(erse)f(the)h (same)g(dimension.)22 b(It)0 1158 y(is)14 b(clear)g(that)f(no)h(route)f(is)i (longer)f(than)g FB(n)p FH(.)20 b(Therefore,)13 b(the)g(theorem)g(is)h(pro)o (v)o(ed)e(once)i(it)f(is)h(established)0 1230 y(that)g(the)g(queuing)h(dela)o (ys)f(encoun)o(tered)f(along)j(the)e(routes)h(are)f FB(O)q FH(\()p FB(n)p FH(\))g(with)h(probabilit)o(y)h(greater)e(than)0 1302 y(1)d Fx(\000)g FH(2)109 1284 y Ft(\000)p Fw(S)r(n)184 1302 y FH(.)73 1404 y(Queuing)k(dela)o(ys)f(can)f(o)q(ccur)h(for)g(a)g (message)g FB(u)g FH(only)g(if)g(the)g(route)f(tak)o(en)h(b)o(y)f(other)g (messages)i(share)0 1476 y(common)k(edges)f(with)i(the)e(route)h(tak)o(en)f (b)o(y)g FB(u)p FH(.)29 b(Analysis)20 b(sho)o(ws)f(that)g(for)g FB(C)i(>)d FH(1,)i(the)e(probabilit)o(y)0 1549 y(that)j(an)o(y)f(\014xed)g (route)g FB(R)h FH(shares)f(edges)h(with)g(routes)f(tak)o(en)g(b)o(y)g FB(C)t(n)g FH(other)g(messages)h(is)g(less)f(than)0 1621 y FB(e)23 1603 y Ft(\000)p Fw(C)r(n=)p FI(4)154 1621 y FH(in)d(either)h(phase)f (of)h(the)f(algorithm.)26 b(Therefore,)17 b(queueing)g(dela)o(ys)h(are)f (also)i FB(O)q FH(\()p FB(n)p FH(\))f(pro)o(vided)0 1693 y(eac)o(h)c(of)h (the)g(routes)g(that)h(in)o(tersect)e FB(R)h FH(causes)g(no)h(more)e(than)i (a)f(constan)o(t)g(dela)o(y)g(with)h(similarly)h(high)0 1765 y(probabilit)o(y)l(.)23 b(This)15 b(part)f(of)h(the)f(pro)q(of)h(in)o(v)o (olv)o(es)f(the)g(estimation)i(of)f(the)f(probabilities)j(at)d(the)g(tail)i (end)0 1838 y(of)j(a)g(binomial)i(distribution,)h(and)d(is)h(one)f(instance)h (of)f(the)f(application)k(of)d(the)g(p)q(o)o(w)o(erful)g FF(Cherno\013)0 1910 y(b)n(ounds)d FH(analysis)j(tec)o(hnique.)73 2012 y(The)d(reader)h(is)g (referred)e(to)i([V)l(al82])f(for)h(the)f(detailed)h(probabilisti)q(c)i (analysis,)f(but)e(the)g(Cherno\013)0 2084 y(b)q(ounds)k(are)e(rep)q(eated)g (here)g(for)g(completeness.)27 b(If)18 b FB(X)23 b FH(is)c(the)f(n)o(um)o(b)q (er)f(of)i(heads)g(in)f FB(n)h FH(indep)q(enden)o(t)0 2157 y(tosses)d(of)g(a)h(coin)f(where)f(the)h(probabilit)o(y)i(of)e(a)g(head)g(in) g(a)g(single)h(toss)g(is)f FB(p)p FH(,)g(then)g(Cherno\013)s('s)h(b)q(ounds)0 2229 y(state)f(that)654 2301 y FB(P)7 b(r)q(ob)h FH([)q FB(X)18 b Fx(\025)c FB(m)p FH(])f Fx(\024)1015 2240 y Fr(\022)1051 2267 y FB(np)p 1051 2289 54 2 v 1056 2335 a(m)1109 2240 y Fr(\023)1140 2252 y Fw(m)1173 2301 y FB(e)1196 2280 y Fw(m)p Ft(\000)p Fw(np)639 2418 y FB(P)7 b(r)q(ob)h FH([)p FB(X)19 b Fx(\025)13 b FH(\(1)f(+)f FB(\017)p FH(\))p FB(np)p FH(])i Fx(\024)h FB(e)1176 2397 y Ft(\000)p Fw(\017)1217 2386 y Fq(2)1235 2397 y Fw(np=)p FI(2)639 2517 y FB(P)7 b(r)q(ob)h FH([)p FB(X)18 b Fx(\024)c FH(\(1)d Fx(\000)g FB(\017)p FH(\))p FB(np)p FH(])j Fx(\024)f FB(e)1176 2496 y Ft(\000)p Fw(\017)1217 2485 y Fq(2)1235 2496 y Fw(np=)p FI(3)0 2616 y FH(for)k(an)o(y)f(0)e FB(<)g(\017)f(<)h FH(1,)i(and)h FB(m)c(>)h(np)p FH(.)951 2828 y(62)p eop bop 73 195 a FH(It)20 b(is)i(in)o(teresting)f(to)g(note)g(that)g(V)l(alian)o (t's)g(results)h(are)e(obtained)i(b)o(y)e(deriving)i(b)q(ounds)g(on)f(the)0 267 y(probabilit)o(y)16 b(that)f(t)o(w)o(o)f(routes)h(in)o(tersect)e(and)i (on)g(the)f(probabilit)o(y)i(that)f(t)o(w)o(o)f(routes)h(share)f(more)g(than) 0 340 y(a)k(giv)o(en)g(n)o(um)o(b)q(er)f(of)h(edges.)26 b(No)18 b(assumptions)h(are)f(made)g(ab)q(out)h(ho)o(w)f(messages)g(from)g(a)g(queue) f(are)0 412 y(sen)o(t.)k(This)c(means)f(that)h(the)e(implemen)o(ter)h(is)g (free)g(to)g(use)g(an)o(y)g(queuing)h(discipline.)23 b(The)16 b(algorithm)0 484 y(also)h(has)f(the)g(adv)m(an)o(tage)g(that)g(eac)o(h)f (route)h(can)f(b)q(e)h(c)o(hosen)f(indep)q(enden)o(tly)h(of)g(an)o(y)f(other) h(route,)f(i.e.,)0 556 y(no)i(global)h(b)q(o)q(ok-k)o(eeping)g(is)f(needed.)0 728 y FC(Message)h(Routing)i(on)e(Finite)i(Degree)d(In)n(terconnection)i(Net) n(w)n(orks)0 863 y FH(V)l(alian)o(t's)e(algorithm)h(is)g(designed)f(for)f(h)o (yp)q(ercub)q(es,)g(whic)o(h)g(ha)o(v)o(e)g(the)g(dra)o(wbac)o(k)g(that)h (the)f(degree)g(of)0 935 y(eac)o(h)i(no)q(de)i(increases)f(with)h(the)f(n)o (um)o(b)q(er)f(of)h(no)q(des)h(in)g(the)e(net)o(w)o(ork.)29 b(Aleluinas)20 b([Ale82])f(extended)0 1007 y(V)l(alian)o(t's)e(results)g(to)f (the)g(common)g FB(b)p FH(-w)o(a)o(y)f FF(shu\017e)i FH(net)o(w)o(orks,)e (where)g(eac)o(h)h(no)q(de)h(has)f(a)h(\014xed)f(degree)0 1079 y FB(b)p FH(,)g(regardless)h(of)g(the)f(size)g(of)g(the)g(net)o(w)o(ork.)73 1182 y(F)l(or)h(simplicit)o(y)h(of)f(exp)q(osition,)i(let)e(us)g(assume)g FB(b)f FH(divides)i FB(N)5 b FH(,)17 b(the)f(n)o(um)o(b)q(er)g(of)h(no)q(des) h(in)f(the)g(net-)0 1254 y(w)o(ork.)j(Then)13 b(the)f(net)o(w)o(ork)g(in)o (terconnections)h(of)g(a)g FB(b)p FH(-w)o(a)o(y)f(sh)o(u\017e)g(net)o(w)o (ork)g(are)h(as)g(follo)o(ws:)21 b(Assuming)0 1326 y(the)d(no)q(des)h(are)f (n)o(um)o(b)q(ered)f(from)h(0)h(to)f FB(N)g Fx(\000)12 b FH(1,)19 b(they)e(are)h(divided)h(in)o(to)g FB(N)q(=b)g FH(blo)q(c)o(ks,)g(where)e (the)h FB(i)p FH(th)0 1398 y(blo)q(c)o(k)c(consists)h(of)f(no)q(des)h FB(ib;)8 b(ib)e FH(+)g(1)p FB(;)i FH(.)g(.)g(.)e FB(;)i(ib)e FH(+)g FB(b)g Fx(\000)g FH(1)p FB(;)i FH(0)13 b Fx(\024)h FB(i)f Fx(\024)1155 1379 y Fw(N)p 1155 1387 32 2 v 1163 1415 a(b)1198 1398 y Fx(\000)6 b FH(1.)20 b(Eac)o(h)14 b(no)q(de)g(in)h(blo)q(c)o(k)f FB(i)f FH(is)i(allo)o(w)o(ed)0 1470 y(to)j(send)g(messages)g(to)g(all)h(no)q (des)g(whose)f(address)h(mo)q(dulo)1153 1451 y Fw(N)p 1153 1459 V 1161 1488 a(b)1207 1470 y FH(is)g FB(i)p FH(.)25 b(Note)18 b(that)g(the)f(comm)o(unication)0 1543 y(paths)g(are)f(directed.)73 1645 y(In)c(suc)o(h)h(a)g(net)o(w)o(ork,)f(there)g(exist)h(paths)g(of)g (length)h Fx(d)1057 1623 y FI(log)5 b Fw(N)p 1057 1633 84 2 v 1065 1662 a FI(log)h Fw(b)1145 1645 y Fx(e)13 b FH(b)q(et)o(w)o(een)e(an)o (y)i(pair)g(of)g(no)q(des.)21 b(Ho)o(w)o(ev)o(er,)0 1717 y(the)i(b)q(est)h (deterministic)h(routing)g(algorithms)h(kno)o(wn)e(require)f FB(O)q FH(\(log)1385 1696 y FI(2)1413 1717 y FB(N)5 b FH(\))24 b(time)f([LPV81)q(])g(in)h(the)0 1789 y(w)o(orst)19 b(case)f(b)q(ecause)h(an) g(appropriate)h(c)o(hoice)e(of)h(sources)g(and)g(destinations)h(can)f(cause)g (congestion)0 1862 y(on)e(individual)i(comm)o(unication)e(lines.)73 1964 y(Aleluinas)f([Ale82])e(uses)h(randomization)i(to)e(o)o(v)o(ercome)d (this)k(input)f(dep)q(endency)l(.)20 b(As)14 b(in)h(V)l(alian)o(t's)0 2036 y(algorithm,)k(eac)o(h)d(no)q(de)i FB(v)g FH(c)o(ho)q(oses)g(\(with)g (equal)g(probabilit)o(y\))h(an)e(in)o(termediate)g(destination.)26 b(Ho)o(w-)0 2108 y(ev)o(er,)17 b(the)h(en)o(tire)g(path)h(to)g(the)f(in)o (termediate)g(destination)j(is)e(c)o(hosen)f(b)o(y)g FB(v)i FH(from)e(among)h(the)f(paths)0 2180 y(of)k(length)g Fx(d)242 2159 y FI(log)6 b Fw(N)p 242 2169 V 251 2198 a FI(log)f Fw(b)331 2180 y Fx(e)21 b FH(originating)k(at)e FB(v)r FH(.)36 b(No)q(de)22 b FB(v)h FH(then)f(sends)g(its)g(message)g(along)i(that)e(path)g(to)g(its)0 2253 y(in)o(termediate)16 b(destination.)23 b(This)18 b(constitutes)f(the)f (\014rst)g(phase)h(of)f(the)g(algorithm.)24 b(Once)15 b(a)i(message)0 2325 y(has)g(arriv)o(ed)f(at)h(its)g(in)o(termediate)f(destination,)i(the)e (in)o(termediate)g(destination)j(pic)o(ks,)c(uniformly)j(at)0 2397 y(random,)i(a)g(path)g(of)f(length)h Fx(d)594 2376 y FI(log)6 b Fw(N)p 594 2386 V 603 2414 a FI(log)f Fw(b)682 2397 y Fx(e)20 b FH(leading)h(from)e(itself)h(to)g(the)f(\014nal)h(destination.)32 b(The)20 b(message)0 2469 y(then)c(follo)o(ws)j(this)e(path.)23 b(This)18 b(constitutes)f(the)g(second)f(phase)i(of)e(the)h(algorithm.)24 b(In)16 b(b)q(oth)i(phases,)0 2542 y(the)i(routing)j(algorithm,)g(unlik)o(e)e (V)l(alian)o(t's,)h(m)o(ust)f(enforce)f(a)h(queuing)g(discipline:)32 b(there)21 b(m)o(ust)f(b)q(e)0 2614 y(only)h(one)g(output)h(queue)e(p)q(er)g (no)q(de,)i(and)g(priorit)o(y)f(m)o(ust)f(b)q(e)h(giv)o(en)g(to)g(no)q(des)h (that)f(ha)o(v)o(e)f(tra)o(v)o(eled)0 2686 y(few)o(er)15 b(hops,)i(i.e.,)e (those)i(that)f(are)h(late.)951 2828 y(63)p eop bop 73 195 a FH(The)21 b(dela)o(y)h(of)f(a)h(message)g(is)g FB(D)704 202 y FI(1)738 195 y FH(+)15 b FB(D)831 202 y FI(2)851 195 y FH(,)22 b(where)f FB(D)1073 202 y Fw(i)1109 195 y FH(is)h(the)f(dela)o (y)h(incurred)f(in)h(the)f FB(i)p FH(th)g(phase.)0 267 y(Analysis)d(of)g(one) f(of)g(the)g(phases)h(is)g(su\016cien)o(t,)e(since)i(the)f(t)o(w)o(o)g (phases)g(mirror)h(eac)o(h)f(other.)23 b(There)17 b(is)0 340 y(statistically)h(no)e(di\013erence)g(b)q(et)o(w)o(een)e(the)i(dela)o(y)f(of) h(messages)g(pro)q(ceeding)h(from)e(distinct)i(sources)f(to)0 412 y(random)e(destinations,)j(and)d(the)g(dela)o(y)g(of)g(messages)g(mo)o (ving)h(to)f(distinct)h(destinations)h(from)e(sources)0 484 y(c)o(hosen)i(at)h(random.)73 586 y(Assuming)d(that)f(it)h(tak)o(es)e (constan)o(t)h(time)g(to)g(send)g(a)h(message,)f(the)g(exp)q(ected)e(dela)o (y)i(of)h(Aleluinas's)0 658 y(routing)k(algorithm)g(is)f(no)g(more)f(than)g FB(\026)p FH(,)h(where)713 784 y FB(\026)d FH(=)856 751 y FB(b)p 813 773 107 2 v 813 819 a(b)d Fx(\000)g FH(1)924 784 y Fx(b)p FH(log)1009 796 y Fw(b)1026 784 y FH(\()p FB(b)g Fx(\000)g FH(1\))p FB(N)5 b Fx(c)0 908 y FH(Note)16 b(that)g FB(\026)h FH(is)g FB(O)q FH(\(log)10 b FB(N)5 b FH(\))17 b(when)f FB(b)g FH(is)h(a)f(constan)o(t.)22 b(This)17 b(matc)o(hes)f(the)f(exp)q(ected)h (dela)o(y)g(of)g(V)l(alian)o(t's)0 980 y(algorithm)22 b(and)e(is)g (accomplished)h(using)g(a)g FF(\014xe)n(d)f FH(n)o(um)o(b)q(er)f(of)h(edges)g (p)q(er)g(v)o(ertex.)30 b(In)19 b(addition,)j(the)0 1053 y(probabilit)o(y)c (that)f(the)f(dela)o(y)g(exceeds)f FB(c\026)i FH(for)f(an)o(y)h(message)f(is) h(no)g(more)f(than)859 1169 y FB(b)880 1148 y Ft(\000)p Fw(c\026)p FI(\(1)p Ft(\000)p Fw(O)q FI(\(1\)\))0 1285 y FH(where)21 b FB(O)q FH(\(1\))i Fx(!)e FH(0)h(as)f FB(c)h Fx(!)g(1)p FH(.)35 b(Aleluinas)23 b(has)f(also)g(analyzed)g(the)e(dela)o(y)i(for)f(the)g(more)f (general)0 1357 y(situation)f(where)e(m)o(ultiple)h(messages)g(originate)h (at)e(eac)o(h)g(no)q(de.)24 b(The)17 b(reader)g(is)h(referred)e(to)h([Ale82]) 0 1429 y(for)g(further)e(details.)73 1531 y(Both)k(algorithms)h(discussed)f (ab)q(o)o(v)o(e)g(use)f(the)g(tec)o(hnique)g(of)g(distributed)i(input)f (randomization.)0 1604 y(By)14 b(sending)i(messages)g(to)f(randomly)h (selected)e(in)o(termediate)h(destinations,)i(an)o(y)d(p)q(o)q(c)o(k)o(ets)h (of)g(conges-)0 1676 y(tions)g(arising)h(b)q(ecause)e(of)f(certain)h(unfa)o (v)o(orable)h(p)q(erm)o(utations)f(are)g(a)o(v)o(oided.)21 b(This)14 b(approac)o(h)h(at)f(\014rst)0 1748 y(sigh)o(t,)i(app)q(ears)h(to)f (b)q(e)g(unnatural)h(as)f(it)g(ma)o(y)g(send)f(messages)h(whic)o(h)g (actually)h(ma)o(y)e(b)q(e)h(v)o(ery)e(close)j(to)0 1820 y(their)e(\014nal)g (destination)h(to)f(far)g(a)o(w)o(a)o(y)f(in)o(termediate)g(destinations.)23 b(Ho)o(w)o(ev)o(er,)12 b(it)j(is)g(essen)o(tial.)22 b(F)l(or)14 b(in-)0 1893 y(stance,)f(in)h(V)l(alian)o(t's)g(algorithm,)i(it)e(can)f(b)q (e)g(sho)o(wn)h(that)g(the)f(second)g(phase)h(alone,)h(though)f(adequate)0 1965 y(for)j(most)f(p)q(erm)o(utations,)h(do)q(es)g FF(not)g FH(terminate)f(in)h FB(O)q FH(\(log)11 b FB(N)5 b FH(\))16 b(steps)h(for)f(some)g(p)q(erm)o(utations.)0 2136 y FC(Randomly)j(Wired)g (Multi-Butter\015y)f(Net)n(w)n(orks)0 2270 y FF(Butter\015y)23 b(networks)g FH(are)e(used)h(in)h(man)o(y)e(parallel)j(computers,)f(suc)o(h)e (as)i(the)e(BBN)g(Butter\015y)f(and)0 2342 y(Thinking)26 b(Mac)o(hine's)d (CM-5,)j(to)e(pro)o(vide)h(paths)f(of)h(length)f(log)11 b FB(N)29 b FH(connecting)24 b FB(N)29 b FH(inputs)c(to)g FB(N)0 2415 y FH(outputs.)d(F)l(or)16 b(simplicit)o(y)l(,)g FB(N)21 b FH(is)c(usually)g (tak)o(en)e(to)h(b)q(e)g(a)g(p)q(o)o(w)o(er)g(of)g(2.)21 b(The)16 b(path)g(b)q(et)o(w)o(een)f(an)o(y)g(input)0 2487 y(and)k(output)h(is)g(of)f (length)g(log)11 b FB(N)5 b FH(.)29 b(These)19 b(inputs)h(and)f(outputs)h (could)f(b)q(e)g(pro)q(cessors,)i(memory)l(,)d(or)0 2559 y(other)g (resources.)25 b(An)17 b(instance)h(of)g(a)g(butter\015y)f(net)o(w)o(ork)g (with)h FB(N)j FH(=)16 b(8)i(is)g(sho)o(wn)g(in)h(Figure)f(7.)25 b(The)0 2631 y(inputs)16 b(to)g(the)f(net)o(w)o(ork)f(are)h(on)h(the)f(left,) g(and)h(the)f(outputs)h(of)f(the)g(net)o(w)o(ork)g(are)g(on)h(the)f(righ)o (t.)21 b(Eac)o(h)0 2704 y(no)q(de)d(is)f(a)h(switc)o(h)f(that)h(accepts)e (messages)i(from)f(its)h(neigh)o(b)q(ors)g(to)f(the)g(left)g(and)h(can)f (send)g(them)g(to)951 2828 y(64)p eop bop 0 675 a 30785863 21857960 6578176 26312704 29601792 42758144 startTexFig 0 675 a %%BeginDocument: butterfly.shaded.ps /FMversion (3.0) def /FMPrintInColor systemdict /colorimage known systemdict /currentcolortransfer known or def /FrameDict 195 dict def systemdict /errordict known not {/errordict 10 dict def errordict /rangecheck {stop} put} if FrameDict /tmprangecheck errordict /rangecheck get put errordict /rangecheck {FrameDict /bug true put} put FrameDict /bug false put mark currentfile 5 string readline 00 0000000000 cleartomark errordict /rangecheck FrameDict /tmprangecheck get put FrameDict /bug get { /readline { /gstring exch def /gfile exch def /gindex 0 def { gfile read pop dup 10 eq {exit} if dup 13 eq {exit} if gstring exch gindex exch put /gindex gindex 1 add def } loop pop gstring 0 gindex getinterval true } def } if /FMVERSION { FMversion ne { /Times-Roman findfont 18 scalefont setfont 100 100 moveto (FrameMaker version does not match postscript_prolog!) dup = show showpage } if } def /FMLOCAL { FrameDict begin 0 def end } def /gstring FMLOCAL /gfile FMLOCAL /gindex FMLOCAL /orgxfer FMLOCAL /orgproc FMLOCAL /organgle FMLOCAL /orgfreq FMLOCAL /yscale FMLOCAL /xscale FMLOCAL /manualfeed FMLOCAL /paperheight FMLOCAL /paperwidth FMLOCAL /FMDOCUMENT { array /FMfonts exch def /#copies exch def FrameDict begin 0 ne dup {setmanualfeed} if /manualfeed exch def /paperheight exch def /paperwidth exch def /yscale exch def /xscale exch def currenttransfer cvlit /orgxfer exch def currentscreen cvlit /orgproc exch def /organgle exch def /orgfreq exch def setpapername manualfeed {true} {papersize} ifelse {manualpapersize} {false} ifelse {desperatepapersize} if end } def /pagesave FMLOCAL /orgmatrix FMLOCAL /landscape FMLOCAL /FMBEGINPAGE { FrameDict begin /pagesave save def 3.86 setmiterlimit /landscape exch 0 ne def landscape { 90 rotate 0 exch neg translate pop } {pop pop} ifelse xscale yscale scale /orgmatrix matrix def gsave } def /FMENDPAGE { grestore pagesave restore end showpage } def /FMFONTDEFINE { FrameDict begin findfont ReEncode 1 index exch definefont FMfonts 3 1 roll put end } def /FMFILLS { FrameDict begin array /fillvals exch def end } def /FMFILL { FrameDict begin fillvals 3 1 roll put end } def /FMNORMALIZEGRAPHICS { newpath 0.0 0.0 moveto 1 setlinewidth 0 setlinecap 0 0 0 sethsbcolor 0 setgray } bind def /fx FMLOCAL /fy FMLOCAL /fh FMLOCAL /fw FMLOCAL /llx FMLOCAL /lly FMLOCAL /urx FMLOCAL /ury FMLOCAL /FMBEGINEPSF { end /FMEPSF save def /showpage {} def FMNORMALIZEGRAPHICS [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall fx fy translate rotate fw urx llx sub div fh ury lly sub div scale llx neg lly neg translate } bind def /FMENDEPSF { FMEPSF restore FrameDict begin } bind def FrameDict begin /setmanualfeed { statusdict /manualfeed true put } def /max {2 copy lt {exch} if pop} bind def /min {2 copy gt {exch} if pop} bind def /inch {72 mul} def /pagedimen { paperheight sub abs 16 lt exch paperwidth sub abs 16 lt and {/papername exch def} {pop} ifelse } def /papersizedict FMLOCAL /setpapername { /papersizedict 14 dict def papersizedict begin /papername /unknown def /Letter 8.5 inch 11.0 inch pagedimen /LetterSmall 7.68 inch 10.16 inch pagedimen /Tabloid 11.0 inch 17.0 inch pagedimen /Ledger 17.0 inch 11.0 inch pagedimen /Legal 8.5 inch 14.0 inch pagedimen /Statement 5.5 inch 8.5 inch pagedimen /Executive 7.5 inch 10.0 inch pagedimen /A3 11.69 inch 16.5 inch pagedimen /A4 8.26 inch 11.69 inch pagedimen /A4Small 7.47 inch 10.85 inch pagedimen /B4 10.125 inch 14.33 inch pagedimen /B5 7.16 inch 10.125 inch pagedimen end } def /papersize { papersizedict begin /Letter {lettertray letter} def /LetterSmall {lettertray lettersmall} def /Tabloid {11x17tray 11x17} def /Ledger {ledgertray ledger} def /Legal {legaltray legal} def /Statement {statementtray statement} def /Executive {executivetray executive} def /A3 {a3tray a3} def /A4 {a4tray a4} def /A4Small {a4tray a4small} def /B4 {b4tray b4} def /B5 {b5tray b5} def /unknown {unknown} def papersizedict dup papername known {papername} {/unknown} ifelse get end /FMdicttop countdictstack 1 add def statusdict begin stopped end countdictstack -1 FMdicttop {pop end} for } def /manualpapersize { papersizedict begin /Letter {letter} def /LetterSmall {lettersmall} def /Tabloid {11x17} def /Ledger {ledger} def /Legal {legal} def /Statement {statement} def /Executive {executive} def /A3 {a3} def /A4 {a4} def /A4Small {a4small} def /B4 {b4} def /B5 {b5} def /unknown {unknown} def papersizedict dup papername known {papername} {/unknown} ifelse get end stopped } def /desperatepapersize { statusdict /setpageparams known { paperwidth paperheight 0 1 statusdict begin {setpageparams} stopped pop end } if } def /savematrix { orgmatrix currentmatrix pop } bind def /restorematrix { orgmatrix setmatrix } bind def /dmatrix matrix def /dpi 72 0 dmatrix defaultmatrix dtransform dup mul exch dup mul add sqrt def /freq dpi 18.75 div 8 div round dup 0 eq {pop 1} if 8 mul dpi exch div def /sangle 1 0 dmatrix defaultmatrix dtransform exch atan def /DiacriticEncoding [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis /dagger /.notdef /cent /sterling /section /bullet /paragraph /germandbls /registered /copyright /trademark /acute /dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef /yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown /exclamdown /logicalnot /.notdef /florin /.notdef /.notdef /guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde /Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand /Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron ] def /ReEncode { dup length dict begin { 1 index /FID ne {def} {pop pop} ifelse } forall 0 eq {/Encoding DiacriticEncoding def} if currentdict end } bind def /graymode true def /bwidth FMLOCAL /bpside FMLOCAL /bstring FMLOCAL /onbits FMLOCAL /offbits FMLOCAL /xindex FMLOCAL /yindex FMLOCAL /x FMLOCAL /y FMLOCAL /setpattern { /bwidth exch def /bpside exch def /bstring exch def /onbits 0 def /offbits 0 def freq sangle landscape {90 add} if {/y exch def /x exch def /xindex x 1 add 2 div bpside mul cvi def /yindex y 1 add 2 div bpside mul cvi def bstring yindex bwidth mul xindex 8 idiv add get 1 7 xindex 8 mod sub bitshift and 0 ne {/onbits onbits 1 add def 1} {/offbits offbits 1 add def 0} ifelse } setscreen {} settransfer offbits offbits onbits add div FMsetgray /graymode false def } bind def /grayness { FMsetgray graymode not { /graymode true def orgxfer cvx settransfer orgfreq organgle orgproc cvx setscreen } if } bind def /HUE FMLOCAL /SAT FMLOCAL /BRIGHT FMLOCAL /Colors FMLOCAL FMPrintInColor { /HUE 0 def /SAT 0 def /BRIGHT 0 def % array of arrays Hue and Sat values for the separations [HUE BRIGHT] /Colors [[0 0 ] % black [0 0 ] % white [0.00 1.0] % red [0.37 1.0] % green [0.60 1.0] % blue [0.50 1.0] % cyan [0.83 1.0] % magenta [0.16 1.0] % comment / yellow ] def /BEGINBITMAPCOLOR { BITMAPCOLOR} def /BEGINBITMAPCOLORc { BITMAPCOLORc} def /BEGINBITMAPTRUECOLOR { BITMAPTRUECOLOR } def /BEGINBITMAPTRUECOLORc { BITMAPTRUECOLORc } def /K { Colors exch get dup 0 get /HUE exch store 1 get /BRIGHT exch store HUE 0 eq BRIGHT 0 eq and {1.0 SAT sub setgray} {HUE SAT BRIGHT sethsbcolor} ifelse } def /FMsetgray { /SAT exch 1.0 exch sub store HUE 0 eq BRIGHT 0 eq and {1.0 SAT sub setgray} {HUE SAT BRIGHT sethsbcolor} ifelse } bind def } { /BEGINBITMAPCOLOR { BITMAPGRAY} def /BEGINBITMAPCOLORc { BITMAPGRAYc} def /BEGINBITMAPTRUECOLOR { BITMAPTRUEGRAY } def /BEGINBITMAPTRUECOLORc { BITMAPTRUEGRAYc } def /FMsetgray {setgray} bind def /K { pop } def } ifelse /normalize { transform round exch round exch itransform } bind def /dnormalize { dtransform round exch round exch idtransform } bind def /lnormalize { 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop } bind def /H { lnormalize setlinewidth } bind def /Z { setlinecap } bind def /fillvals FMLOCAL /X { fillvals exch get dup type /stringtype eq {8 1 setpattern} {grayness} ifelse } bind def /V { gsave eofill grestore } bind def /N { stroke } bind def /M {newpath moveto} bind def /E {lineto} bind def /D {curveto} bind def /O {closepath} bind def /n FMLOCAL /L { /n exch def newpath normalize moveto 2 1 n {pop normalize lineto} for } bind def /Y { L closepath } bind def /x1 FMLOCAL /x2 FMLOCAL /y1 FMLOCAL /y2 FMLOCAL /rad FMLOCAL /R { /y2 exch def /x2 exch def /y1 exch def /x1 exch def x1 y1 x2 y1 x2 y2 x1 y2 4 Y } bind def /RR { /rad exch def normalize /y2 exch def /x2 exch def normalize /y1 exch def /x1 exch def newpath x1 y1 rad add moveto x1 y2 x2 y2 rad arcto x2 y2 x2 y1 rad arcto x2 y1 x1 y1 rad arcto x1 y1 x1 y2 rad arcto closepath 16 {pop} repeat } bind def /C { grestore gsave R clip } bind def /FMpointsize FMLOCAL /F { FMfonts exch get FMpointsize scalefont setfont } bind def /Q { /FMpointsize exch def F } bind def /T { moveto show } bind def /RF { rotate 0 ne {-1 1 scale} if } bind def /TF { gsave moveto RF show grestore } bind def /P { moveto 0 32 3 2 roll widthshow } bind def /PF { gsave moveto RF 0 32 3 2 roll widthshow grestore } bind def /S { moveto 0 exch ashow } bind def /SF { gsave moveto RF 0 exch ashow grestore } bind def /B { moveto 0 32 4 2 roll 0 exch awidthshow } bind def /BF { gsave moveto RF 0 32 4 2 roll 0 exch awidthshow grestore } bind def /G { gsave newpath normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath fill grestore } bind def /A { gsave savematrix newpath 2 index 2 div add exch 3 index 2 div sub exch normalize 2 index 2 div sub exch 3 index 2 div add exch translate scale 0.0 0.0 1.0 5 3 roll arc restorematrix stroke grestore } bind def /x FMLOCAL /y FMLOCAL /w FMLOCAL /h FMLOCAL /xx FMLOCAL /yy FMLOCAL /ww FMLOCAL /hh FMLOCAL /FMsaveobject FMLOCAL /FMoptop FMLOCAL /FMdicttop FMLOCAL /BEGINPRINTCODE { /FMdicttop countdictstack 1 add def /FMoptop count 4 sub def /FMsaveobject save def userdict begin /showpage {} def FMNORMALIZEGRAPHICS 3 index neg 3 index neg translate } bind def /ENDPRINTCODE { count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for FMsaveobject restore } bind def /gn { 0 { 46 mul cf read pop 32 sub dup 46 lt {exit} if 46 sub add } loop add } bind def /str FMLOCAL /cfs { /str sl string def 0 1 sl 1 sub {str exch val put} for str def } bind def /ic [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx} {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx} {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh} {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh} {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl} {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl} {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl} {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl} ] def /sl FMLOCAL /val FMLOCAL /ws FMLOCAL /im FMLOCAL /bs FMLOCAL /cs FMLOCAL /len FMLOCAL /pos FMLOCAL /ms { /sl exch def /val 255 def /ws cfs /im cfs /val 0 def /bs cfs /cs cfs } bind def 400 ms /ip { is 0 cf cs readline pop { ic exch get exec add } forall pop } bind def /wh { /len exch def /pos exch def ws 0 len getinterval im pos len getinterval copy pop pos len } bind def /bl { /len exch def /pos exch def bs 0 len getinterval im pos len getinterval copy pop pos len } bind def /s1 1 string def /fl { /len exch def /pos exch def /val cf s1 readhexstring pop 0 get def pos 1 pos len add 1 sub {im exch val put} for pos len } bind def /hx { 3 copy getinterval cf exch readhexstring pop pop } bind def /h FMLOCAL /w FMLOCAL /d FMLOCAL /lb FMLOCAL /bitmapsave FMLOCAL /is FMLOCAL /cf FMLOCAL /wbytes { dup 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse } bind def /BEGINBITMAPBWc { 1 {} COMMONBITMAPc } bind def /BEGINBITMAPGRAYc { 8 {} COMMONBITMAPc } bind def /BEGINBITMAP2BITc { 2 {} COMMONBITMAPc } bind def /COMMONBITMAPc { /r exch def /d exch def gsave translate rotate scale /h exch def /w exch def /lb w d wbytes def sl lb lt {lb ms} if /bitmapsave save def r /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def w h d [w 0 0 h neg 0 h] {ip} image bitmapsave restore grestore } bind def /BEGINBITMAPBW { 1 {} COMMONBITMAP } bind def /BEGINBITMAPGRAY { 8 {} COMMONBITMAP } bind def /BEGINBITMAP2BIT { 2 {} COMMONBITMAP } bind def /COMMONBITMAP { /r exch def /d exch def gsave translate rotate scale /h exch def /w exch def /bitmapsave save def r /is w d wbytes string def /cf currentfile def w h d [w 0 0 h neg 0 h] {cf is readhexstring pop} image bitmapsave restore grestore } bind def /proc1 FMLOCAL /proc2 FMLOCAL /newproc FMLOCAL /Fmcc { /proc2 exch cvlit def /proc1 exch cvlit def /newproc proc1 length proc2 length add array def newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx } bind def /ngrayt 256 array def /nredt 256 array def /nbluet 256 array def /ngreent 256 array def /gryt FMLOCAL /blut FMLOCAL /grnt FMLOCAL /redt FMLOCAL /indx FMLOCAL /cynu FMLOCAL /magu FMLOCAL /yelu FMLOCAL /k FMLOCAL /u FMLOCAL /colorsetup { currentcolortransfer /gryt exch def /blut exch def /grnt exch def /redt exch def 0 1 255 { /indx exch def /cynu 1 red indx get 255 div sub def /magu 1 green indx get 255 div sub def /yelu 1 blue indx get 255 div sub def /k cynu magu min yelu min def /u k currentundercolorremoval exec def nredt indx 1 0 cynu u sub max sub redt exec put ngreent indx 1 0 magu u sub max sub grnt exec put nbluet indx 1 0 yelu u sub max sub blut exec put ngrayt indx 1 k currentblackgeneration exec sub gryt exec put } for {255 mul cvi nredt exch get} {255 mul cvi ngreent exch get} {255 mul cvi nbluet exch get} {255 mul cvi ngrayt exch get} setcolortransfer {pop 0} setundercolorremoval {} setblackgeneration } bind def /tran FMLOCAL /fakecolorsetup { /tran 256 string def 0 1 255 {/indx exch def tran indx red indx get 77 mul green indx get 151 mul blue indx get 28 mul add add 256 idiv put} for currenttransfer {255 mul cvi tran exch get 255.0 div} exch Fmcc settransfer } bind def /BITMAPCOLOR { /d 8 def gsave translate rotate scale /h exch def /w exch def /bitmapsave save def colorsetup /is w d wbytes string def /cf currentfile def w h d [w 0 0 h neg 0 h] {cf is readhexstring pop} {is} {is} true 3 colorimage bitmapsave restore grestore } bind def /BITMAPCOLORc { /d 8 def gsave translate rotate scale /h exch def /w exch def /lb w d wbytes def sl lb lt {lb ms} if /bitmapsave save def colorsetup /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def w h d [w 0 0 h neg 0 h] {ip} {is} {is} true 3 colorimage bitmapsave restore grestore } bind def /BITMAPTRUECOLORc { gsave translate rotate scale /h exch def /w exch def /bitmapsave save def /is w string def ws 0 w getinterval is copy pop /cf currentfile def w h 8 [w 0 0 h neg 0 h] {ip} {gip} {bip} true 3 colorimage bitmapsave restore grestore } bind def /BITMAPTRUECOLOR { gsave translate rotate scale /h exch def /w exch def /bitmapsave save def /is w string def /gis w string def /bis w string def /cf currentfile def w h 8 [w 0 0 h neg 0 h] { cf is readhexstring pop } { cf gis readhexstring pop } { cf bis readhexstring pop } true 3 colorimage bitmapsave restore grestore } bind def /BITMAPTRUEGRAYc { gsave translate rotate scale /h exch def /w exch def /bitmapsave save def /is w string def ws 0 w getinterval is copy pop /cf currentfile def w h 8 [w 0 0 h neg 0 h] {ip gip bip w gray} image bitmapsave restore grestore } bind def /ww FMLOCAL /r FMLOCAL /g FMLOCAL /b FMLOCAL /i FMLOCAL /gray { /ww exch def /b exch def /g exch def /r exch def 0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul b i get .114 mul add add r i 3 -1 roll floor cvi put } for r } bind def /BITMAPTRUEGRAY { gsave translate rotate scale /h exch def /w exch def /bitmapsave save def /is w string def /gis w string def /bis w string def /cf currentfile def w h 8 [w 0 0 h neg 0 h] { cf is readhexstring pop cf gis readhexstring pop cf bis readhexstring pop w gray} image bitmapsave restore grestore } bind def /BITMAPGRAY { 8 {fakecolorsetup} COMMONBITMAP } bind def /BITMAPGRAYc { 8 {fakecolorsetup} COMMONBITMAPc } bind def /ENDBITMAP { } bind def end /ALDsave FMLOCAL /ALDmatrix matrix def ALDmatrix currentmatrix pop /StartALD { /ALDsave save def savematrix ALDmatrix setmatrix } bind def /InALD { restorematrix } bind def /DoneALD { ALDsave restore } bind def (3.0) FMVERSION 1 1 612 792 0 1 1 FMDOCUMENT 0 0 /Times-Roman FMFONTDEFINE 32 FMFILLS 0 0 FMFILL 1 0.1 FMFILL 2 0.3 FMFILL 3 0.5 FMFILL 4 0.7 FMFILL 5 0.9 FMFILL 6 0.97 FMFILL 7 1 FMFILL 8 <0f1e3c78f0e1c387> FMFILL 9 <0f87c3e1f0783c1e> FMFILL 10 FMFILL 11 FMFILL 12 <8142241818244281> FMFILL 13 <03060c183060c081> FMFILL 14 <8040201008040201> FMFILL 16 1 FMFILL 17 0.9 FMFILL 18 0.7 FMFILL 19 0.5 FMFILL 20 0.3 FMFILL 21 0.1 FMFILL 22 0.03 FMFILL 23 0 FMFILL 24 FMFILL 25 FMFILL 26 <3333333333333333> FMFILL 27 <0000ffff0000ffff> FMFILL 28 <7ebddbe7e7dbbd7e> FMFILL 29 FMFILL 30 <7fbfdfeff7fbfdfe> FMFILL 612 792 0 FMBEGINPAGE 72 72 540 720 C 94.44 390.02 517.56 708 C 442.43 558.01 454.43 570.01 R 4 X 0 K V 0.5 H 2 Z 0 X N 241.33 456.01 373.33 552.01 R 5 X V 0 X N 445.32 486.01 457.32 498.01 R 4 X V 0 X N 445.32 462.01 457.32 474.01 R 4 X V 0 X N 445.32 510.01 457.32 522.01 R 4 X V 0 X N 445.32 534.01 457.32 546.01 R 4 X V 0 X N 445.32 582.01 457.32 594.01 R 4 X V 0 X N 445.32 606 457.32 618 R 4 X V 0 X N 445.32 630 457.32 642 R 4 X V 0 X N 349.33 558.01 361.33 594.01 R 4 X V 0 X N 349.33 510.01 361.33 546.01 R 4 X V 0 X N 349.33 462.01 361.33 498.01 R 4 X V 0 X N 349.33 606 361.33 642 R 4 X V 0 X N 253.33 462.01 265.33 546.01 R 4 X V 0 X N 253.33 558.01 265.33 642 R 4 X V 0 X N 157.34 462.01 169.34 642 R 4 X V 0 X N 163.29 636.07 451 636.07 2 L N 163.29 612.1 451 612.1 2 L N 163.29 468.24 451 468.24 2 L N 163.29 516.19 451 516.19 2 L N 163.29 564.14 451 564.14 2 L N 163.29 588.12 451 588.12 2 L N 163.29 540.17 451 540.17 2 L N 163.29 492.22 451 492.22 2 L N 163.29 636.07 259.19 540.17 2 L N 163.29 612.1 259.19 516.19 2 L N 163.29 588.12 259.19 492.22 2 L N 163.29 564.14 259.19 468.24 2 L N 163.29 540.17 259.19 636.07 2 L N 163.29 516.19 259.19 612.1 2 L N 163.29 492.22 259.19 588.12 2 L N 163.29 468.24 259.19 564.14 2 L N 259.19 540.17 355.1 492.22 2 L N 259.19 516.19 355.1 468.24 2 L N 259.19 492.22 355.1 540.17 2 L N 259.19 468.24 355.1 516.19 2 L N 259.19 636.07 355.1 588.12 2 L N 259.19 612.1 355.1 564.14 2 L N 259.19 588.12 355.1 636.07 2 L N 259.19 564.14 355.1 612.1 2 L N 355.1 540.17 451 516.19 2 L N 355.1 516.19 451 540.17 2 L N 355.1 636.07 451 612.1 2 L N 355.1 612.1 451 636.07 2 L N 355.1 492.22 451 468.24 2 L N 355.1 468.24 451 492.22 2 L N 355.33 587.98 451.23 564.01 2 L N 355.33 564.01 451.23 587.98 2 L N 0 12 Q (0) 163.34 648 T (1) 259.33 648 T (2) 355.33 648 T (3) 451.32 648 T (level) 283.33 672 T (000) 133.34 636 T (001) 133.34 612 T (010) 133.34 588.01 T (01) 133.34 564.01 T (1) 144.89 564.01 T (100) 133.34 540.01 T (101) 133.34 516.01 T (1) 133.34 492.01 T (10) 138.89 492.01 T (1) 133.34 468.01 T (1) 138.89 468.01 T (1) 144.44 468.01 T (r) 106.44 558.01 T (o) 106.44 546.01 T (w) 106.44 534.01 T 72 72 540 720 C 0 0 612 792 C FMENDPAGE %%EndDocument 0 675 a endTexFig 557 2173 a FH(Figure)17 b(7:)22 b(An)16 b(8-input)h(butter\015y)f(net)o(w)o (ork)951 2828 y(65)p eop bop 0 195 a FH(neigh)o(b)q(oring)16 b(switc)o(hes)e(to)g(the)g(righ)o(t.)21 b(The)14 b(in)o(terconnections)g(in)h(this)f(butter\015y)g(are)g(straigh)o (tforw)o(ard:)0 267 y(eac)o(h)f(no)q(de)i FB(i)e FH(at)i(lev)o(el)e FB(l)i FH(can)f(send)g(messages)g(to)g(no)q(des)h FB(i)f FH(and)g FB(j)j FH(at)d(lev)o(el)g FB(l)7 b FH(+)f(1,)14 b(where)g FB(j)i FH(is)f(the)f(n)o(um)o(b)q(er)0 340 y(whose)j(binary)h(represen)o(tation)f (di\013ers)g(from)g FB(i)f FH(in)h(the)g FB(l)11 b FH(+)h(1st)17 b(bit)g(p)q(osition)i(alone.)24 b(F)l(or)16 b(instance,)h(in)0 412 y(Figure)h(7,)h(the)f(switc)o(h)g(in)h(ro)o(w)f(010)h(at)f(lev)o(el)g(0)g (can)h(comm)o(unicate)e(with)i(switc)o(hes)f(in)h(ro)o(ws)f(010)h(and)0 484 y(110)e(at)g(lev)o(el)f(1.)73 586 y(There)f(is)i(a)f(simple)g(greedy)g (algorithm)h(for)f(message)g(routing)h(on)f(a)h(butter\015y)l(,)d(b)q(est)i (describ)q(ed)h(b)o(y)0 658 y(an)e(example.)20 b(In)15 b(Figure)g(7,)g(a)g (message)f(to)h(destination)i(010)f(\(regardless)f(of)g(the)g(source\))f(is)i (routed)e(as)0 731 y(follo)o(ws.)23 b(The)15 b(\014rst)h(edge)g(the)f (message)h(tra)o(v)o(erses)f(tak)o(es)g(it)h(to)g(a)g(no)q(de)g(in)g(the)g (top)g(four)g(ro)o(ws,)f(so)i(that)0 803 y(the)f(\014rst)h(bit)g(of)g(the)f (ro)o(w)h(n)o(um)o(b)q(er,)e(in)i(this)h(instance)f(a)g(0,)f(matc)o(hes)g (the)g(\014rst)h(bit)g(of)g(the)f(destination)0 875 y(ro)o(w.)25 b(The)18 b(second)g(edge)f(tak)o(es)g(the)h(message)f(to)h(a)g(no)q(de)g(in)h (a)e(ro)o(w)h(where)f(the)h(\014rst)g(t)o(w)o(o)f(bits)h(of)g(the)0 947 y(ro)o(w)e(n)o(um)o(b)q(er)f(matc)o(h)h(the)f(\014rst)h(t)o(w)o(o)g(bits) h(of)f(the)g(destination)h(ro)o(w,)f(and)h(the)e(last)i(edge)f(tak)o(es)g(it) g(to)g(its)0 1020 y(correct)d(destination.)23 b(In)14 b(general,)h(the)e FB(i)p FH(th)h(edge)g(ensures)g(that)h(bit)f(p)q(ositions)j(1)e(through)g FB(i)f FH(of)g(the)g(ro)o(w)0 1092 y(that)j(the)f(message)g(reac)o(hes)g (matc)o(h)g(bit)g(p)q(ositions)j(1)e(through)g FB(i)f FH(of)h(the)f (destination)i(ro)o(w.)73 1194 y(The)c(main)h(disadv)m(an)o(tage)g(with)g (butter\015ies)f(is)h(that)f(they)f(are)h(sensitiv)o(e)h(to)f(edge)f(or)i(no) q(de)f(failures.)0 1266 y(Another)e(dra)o(wbac)o(k)h(is)g(the)f(p)q(ossibili) q(t)o(y)i(of)f(congestion,)h(whic)o(h)f(o)q(ccurs)g(at)g(a)g(no)q(de)g(when)f (t)o(w)o(o)h(incoming)0 1339 y(messages)21 b(need)e(to)i(b)q(e)f(sen)o(t)g(o) o(v)o(er)g(the)g(same)g(outgoing)i(edge.)33 b(A)20 b(common)g(sc)o(heme)f (that)i(pro)o(vides)0 1411 y(some)14 b(protection)g(against)i(edge)e (failures)h(as)f(w)o(ell)h(as)f(some)g(reduction)g(in)h(congestion)g(is)f(to) h(mak)o(e)e(eac)o(h)0 1483 y(edge)k(capable)h(of)g(transmitting)h FB(d)f FH(messages)g(concurren)o(tly)l(,)e(a)i(tec)o(hnique)e(called)j FF(dilation)p FH(,)e(resulting)0 1555 y(in)24 b(a)f FF(d-dilate)n(d)h FH(butter\015y)l(.)40 b(In)23 b(other)g(w)o(ords,)i(eac)o(h)d(outgoing)k (edge)d(of)g(the)g(butter\015y)f(is)i(replaced)0 1627 y(b)o(y)c(a)g(bundle)h (of)f FB(d)g FH(edges.)33 b(As)20 b(in)g(the)g(butter\015y)l(,)g(ho)o(w)o(ev) o(er,)g(the)f(shortest-length)j(path)f(b)q(et)o(w)o(een)e(a)0 1700 y(giv)o(en)g(input)h(and)f(a)h(giv)o(en)f(output)g(still)i(m)o(ust)e(go) g(through)h(the)f(same)g(sequence)f(of)h(no)q(des,)h(and)g(an)0 1772 y(adv)o(ersary)g(sc)o(heduler)f(can)h(tak)o(e)f(adv)m(an)o(tage)i(of)f (this)g(fact)g(to)g(th)o(w)o(art)g(routing)h(algorithms.)33 b(This)21 b(is)0 1844 y(where)g(randomization)j(of)e(wiring)h(b)q(ecomes)f (an)g(adv)m(an)o(tage.)38 b(Radomized)22 b(wiring)i(is)e(exploited)g(in)0 1916 y FF(multi-butter\015y)i(networks)f FH([Upf89,)e(LM89)q(,)h(LLM90)q(].) 38 b(Multi-butter\015ies)23 b(are)f(a)g(generalization)j(of)0 1989 y(b)q(oth)17 b(the)f(butter\015y)g(and)h(the)f(dilated)h(butter\015y)l (.)73 2091 y(A)h(butter\015y)g(net)o(w)o(ork)f(can)i(b)q(e)f(considered)g(to) h(b)q(e)f(built)i(from)e FF(splitters)t FH(,)h(eac)o(h)e(of)i(whic)o(h)f(in)h (turn)0 2163 y(consist)14 b(of)f(three)g FF(blo)n(cks)h FH(of)f(no)q(des)h (and)g(the)e(edges)h(in)o(terconnecting)h(them.)19 b(In)13 b(Figure)h(7,)f(the)g(di\013eren)o(t)0 2235 y(blo)q(c)o(ks)k(are)f(highligh)o (ted)j(using)e(dark)g(shading,)g(and)g(one)g(of)f(the)g(splitters)i(is)f (ligh)o(tly)g(shaded.)73 2338 y(All)f(no)q(des)h(at)f(lev)o(el)g(0)g(are)f (in)i(the)e(same)h(blo)q(c)o(k.)21 b(F)l(or)16 b(eac)o(h)f(blo)q(c)o(k)h FB(B)j FH(of)d FB(M)21 b FH(no)q(des)16 b(at)g(lev)o(el)g FB(l)q FH(,)f(there)0 2410 y(are)k(t)o(w)o(o)g(blo)q(c)o(ks)h(in)g(lev)o(el)f FB(l)13 b FH(+)g(1,)20 b FB(B)678 2417 y Fw(upper)789 2410 y FH(and)f FB(B)923 2417 y Fw(low)q(er)1013 2410 y FH(.)30 b FB(B)1094 2417 y Fw(upper)1204 2410 y FH(consists)21 b(of)e(the)g(no)q(des) h(in)g(lev)o(el)f FB(l)14 b FH(+)f(1)0 2482 y(that)j(are)g(in)h(the)e(same)h (ro)o(ws)g(as)h(the)e(upp)q(er)i FB(M)r(=)p FH(2)g(no)q(des)g(of)f FB(B)s FH(,)f(and)h FB(B)1349 2489 y Fw(low)q(er)1455 2482 y FH(consists)h(of)f(the)g(no)q(des)g(in)0 2554 y(lev)o(el)f FB(l)10 b FH(+)g(1)16 b(that)g(are)f(in)h(the)f(same)h(ro)o(ws)g(as)g(the)f (lo)o(w)o(er)h FB(M)r(=)p FH(2)h(no)q(des)f(of)g FB(B)s FH(.)k(A)15 b(splitter)i(consists)f(of)g(the)0 2626 y(blo)q(c)o(ks)g FB(B)s FH(,)f FB(B)253 2633 y Fw(upper)360 2626 y FH(and)g FB(B)490 2633 y Fw(low)q(er)580 2626 y FH(,)g(and)h(the)f(edges)h(in)o(terconnecting)g (them.)k(The)15 b(no)q(des)i(in)f FB(B)i FH(are)d(called)0 2699 y(the)j(splitter)h FB(inputs)f FH(and)g(the)g(no)q(des)h(in)g FB(B)830 2706 y Fw(low)q(er)937 2699 y FH(and)g FB(B)1071 2706 y Fw(upper)1181 2699 y FH(are)f(called)h(the)e(splitter)j FB(outputs)p FH(.)26 b(An)o(y)951 2828 y(66)p eop bop 0 195 a FH(edge)16 b(from)g FB(B)j FH(to)d FB(B)378 202 y Fw(upper)486 195 y FH(is)h(said)g(to)g(b)q(e)f(an)g FF(up)p FH(-edge,)g(and)h(an)o(y)f(edge)g(from)g FB(B)j FH(to)d FB(B)1585 202 y Fw(low)q(er)1691 195 y FH(is)h(said)g(to)g(b)q(e)0 267 y(a)g FF(down)p FH(-edge.)73 370 y(In)g(a)h(butter\015y)l(,)f(eac)o(h)g (splitter)i(input)f(is)h(connected)e(to)h(exactly)f(one)h(no)q(de)g(in)g(the) g(upp)q(er)f(output)0 442 y(blo)q(c)o(k,)k(and)f(one)g(in)g(the)g(lo)o(w)o (er)g(output)g(blo)q(c)o(k.)32 b(In)19 b(a)i FB(d)p FH(-dilated)g (butter\015y)l(,)f(eac)o(h)f(no)q(de)i(in)f(an)g(input)0 514 y(blo)q(c)o(k)d(is)g(connected)f(b)o(y)f FB(d)i FH(edges)g(to)f(a)h(single)h (no)q(de)f(in)g(the)f(upp)q(er)h(output)g(blo)q(c)o(k,)f(and)h(b)o(y)f (another)h FB(d)0 586 y FH(edges)f(to)h(a)g(single)g(no)q(de)g(in)g(the)f(lo) o(w)o(er)g(output)h(blo)q(c)o(k.)73 688 y(A)j FF(multi-butter\015y)h FH(of)f(m)o(ultiplicit)o(y)h FB(d)p FH(,)g(lik)o(e)f(a)g FB(d)p FH(-dilated)i(butter\015y)l(,)e(has)g FB(d)g FH(up-edges)h(from)f(eac)o(h)0 761 y(input)15 b(no)q(de)g(of)g(eac)o(h)e(splitter)j(inciden)o(t)e(on)h(the)f (upp)q(er)h(splitter)g(outputs,)g(and)g(another)g FB(d)f FH(do)o(wn-edges)0 833 y(inciden)o(t)j(on)f(the)g(lo)o(w)o(er)g(splitter)i(outputs.)k(In)16 b(a)g FB(d)p FH(-dilated)i(butter\015y)l(,)e(all)h FB(d)g FH(up)f(\(do)o (wn\))h(edges)f(w)o(ould)0 905 y(lead)j(to)f(a)g(single)i(no)q(de)e(in)h(the) f(upp)q(er)g(\(lo)o(w)o(er\))g(output)h(blo)q(c)o(k.)26 b(In)18 b(a)g(m)o(ulti-butter\015y)l(,)h(ho)o(w)o(ev)o(er,)d(the)0 977 y(restriction)j(that)f(all)i FB(d)e FH(no)q(des)h(b)q(e)f(connected)g(to) g(the)g(same)g(no)q(de)g(is)h(relaxed.)27 b(Eac)o(h)18 b(of)g(the)g FB(d)g FH(edges)0 1050 y(can)j(b)q(e)h(connected)e(to)h(an)o(y)g(of)h(the)f (inputs)h(of)f(the)g(corresp)q(onding)i(outbut)f(blo)q(c)o(k,)g(sub)s(ject)f (to)g(the)0 1122 y(restriction)15 b(that)f(an)o(y)g(t)o(w)o(o)g(splitters)h (with)g(inputs)g(at)g(the)e(same)h(lev)o(el)g(are)g(isomorphic,)i(and)e(that) h(eac)o(h)0 1194 y(no)q(de)i(has)g(exactly)f(2)p FB(d)h FH(inputs)g(and)g(2)p FB(d)g FH(outputs.)73 1296 y(A)j FF(r)n(andomly)h(wir)n(e)n(d)f FH(m)o(ulti-butter\015y)h(net)o(w)o(ork)f(of)h(m)o(ultiplicit)o(y)h FB(d)p FH(,)f(on)g(the)g(other)f(hand,)i(is)g(one)0 1369 y(in)e(whic)o(h)g (the)g(individual)i(output)e(no)q(de)h(to)f(whic)o(h)g(an)g(edge)f(of)h(a)g (splitter)h(is)g(connected)e(is)h(c)o(hosen)0 1441 y(at)d(random)g(from)g (the)g(output)g(blo)q(c)o(ks,)g(sub)s(ject)f(only)i(to)f(the)f(constrain)o(t) i(that)f(eac)o(h)f(input)i(no)q(de)f(has)0 1513 y(exactly)h FB(d)g FH(up-edges)h(and)g FB(d)f FH(do)o(wn-edges)h(leading)h(from)e(it,)h (and)f(that)h(eac)o(h)e(output)i(no)q(de)g(is)g(fed)f(b)o(y)0 1585 y(exactly)e(2)p FB(d)h FH(inputs.)22 b(It)16 b(is)h(not)g(necessary)f (for)g(t)o(w)o(o)g(splitters)i(at)f(the)f(same)g(lev)o(el)g(to)h(b)q(e)f (isomorphic.)73 1687 y(The)e(greedy)g(routing)i(algorithm)g(describ)q(ed)f (earlier)g(for)f(butter\015y)g(net)o(w)o(orks)g(can)g(b)q(e)g(extended)g(to)0 1760 y(m)o(ulti-butter\015ies.)24 b(The)17 b(edges)g(tra)o(v)o(ersed)e(b)o(y) i(a)g(message)g(follo)o(w)h(the)f(same)g(logical)i(sequence)c(of)j(up-)0 1832 y(and)e(do)o(wn-edges.)21 b(Ho)o(w)o(ev)o(er,)13 b(at)i(eac)o(h)g(no)q (de,)g(a)h(c)o(hoice)e(of)i FB(d)f FH(edges)g(is)h(a)o(v)m(ailable)h(in)f(a)f (m)o(ulti-butter\015y)l(.)73 1934 y(Routing)e(on)g(m)o(ulti-butter\015ies)f (is)h(e\016cien)o(t,)e(as)h(sho)o(wn)h(b)o(y)e(Upfal's)h([Upf89])f(algorithm) j(that)e(imple-)0 2006 y(men)o(ts)h FB(P)21 b FH(p)q(erm)o(utations)15 b(deterministically)h(in)f FB(O)q FH(\(log)c FB(N)g FH(+)6 b FB(P)h FH(\))15 b(time.)20 b(Multi-butter\015ies)15 b(also)h(pro)o(vide)0 2079 y(protection)22 b(against)h(failures)g([LM89],)f(since,)g(unlik)o(e)g (the)f(butter\015y)g(and)g(dilated)i(butter\015y)l(,)f(there)0 2151 y(are)d(edge-disjoin)o(t)h(and)f(no)q(de-disjoin)o(t)i(paths)e(b)q(et)o (w)o(een)f(inputs)i(and)f(outputs.)29 b(Also,)20 b(in)f(a)g(random-)0 2223 y(ized)d(m)o(ultibutter\015y)l(,)f(the)h(exact)g(wiring)h(of)f(the)g (net)o(w)o(ork)f(is)i(unkno)o(wn,)f(and)g(therefore)g(an)g(adv)o(ersary)0 2295 y(sc)o(heduler)g(cannot)h(force)f(excessiv)o(e)f(queuing)h(dela)o(ys)h (to)g(o)q(ccur.)k(Sim)o(ulation)d(results)f(from)f(Leigh)o(ton,)0 2368 y(Lisinski)i(and)e(Maggs)h([LLM90)q(])e(indicate)i(that)f(m)o (ulti-butter\015ies)g(ma)o(y)l(,)f(in)h(practice,)g(p)q(erform)f(b)q(etter)0 2440 y(than)i(butter\015ies)f(and)h(dilated)h(butter\015ies.)73 2542 y(A)c(surv)o(ey)g(of)h(e\016cien)o(t)f(randomized)h(message)g(routing)i (algorithms)f(for)f FF(mesh)i(c)n(onne)n(cte)n(d)g(c)n(omput-)0 2614 y(ers)p FH(,)c(a)h(net)o(w)o(ork)f(arc)o(hitecture)g(not)g(addressed)h (ab)q(o)o(v)o(e,)g(is)g(giv)o(en)f(in)h([Ra)s(j91b)q(].)19 b(In)13 b(the)h(next)e(subsection,)0 2686 y(w)o(e)k(consider)h(the)f(problem) h(of)f(Byzan)o(tine)g(agreemen)o(t.)21 b(Besides)16 b(b)q(eing)h(another)g (example)f(of)h(ho)o(w)g(to)951 2828 y(67)p eop bop 0 195 a FH(o)o(v)o(ercome)14 b(symmetry)g(via)i(randomization,)h(Byzan)o (tine)e(agreemen)o(t)f(sho)o(ws)j(ho)o(w)e(randomization)j(can)0 267 y(lead)f(to)g(reduced)e(comm)o(unication)i(complexit)o(y)l(.)0 479 y Fu(3.5)70 b(Byzan)n(tine)22 b(Agreemen)n(t)0 614 y FH(In)e(this)h (section)f(w)o(e)g(examine)g(the)f(Byzan)o(tine)h(Generals)h(problem)f(and)h (presen)o(t)e(Ben-Or's)h([BO83)o(])0 686 y(randomized)e(distributed)h (solution.)26 b(The)18 b(Byzan)o(tine)f(Generals)h(problem,)f(kno)o(wn)h (also)h(as)f(\\Byzan-)0 758 y(tine)g(agreemen)o(t,")e(has)i(receiv)o(ed)e (considerable)j(atten)o(tion)f(in)g(the)f(literature,)h(e.g.,)e([PSL80)q(,)h (LSP82)q(,)0 830 y(Dol82)r(,)h(Rab83)q(,)g(CC85)q(,)g(P)o(er85,)g(Bra85].)27 b(This)19 b(is)g(due)f(primarily)i(to)f(its)g(fundamen)o(tal)f(relev)m(ance)g (in)0 902 y(distributed)j(computation)f(and)g(its)g(surprising)h(complexit)o (y)e(giv)o(en)h(the)f(simplicit)o(y)h(of)g(the)f(problem)0 975 y(statemen)o(t.)73 1077 y(The)24 b(problem)g(concerns)f(the)g(ranks)h(of) g(the)f(Byzan)o(tine)g(Generals,)j(who)e(need)g(to)f(co)q(ordinate)0 1149 y(their)16 b(rather)f(limited)h(military)h(strategy;)f(that)f(is,)h (they)f(m)o(ust)g(decide)g(whether)g(to)h(attac)o(k)f(or)g(retreat)0 1221 y(from)21 b(encroac)o(hing)g(enem)o(y)e(forces.)34 b(Eac)o(h)21 b(general)g(has)h(his)f(or)g(her)g(o)o(wn)g(opinion)i(on)e(the)f(sub)s(ject.) 0 1294 y(Since)i(their)g(armies)g(are)f(widely)i(separated,)g(their)f (strategy)g(m)o(ust)f(b)q(e)h(decided)f(b)o(y)g(the)h(exc)o(hange)0 1366 y(of)e(messages)h(b)q(et)o(w)o(een)e(the)g(generals.)34 b(Unfortunately)l(,)20 b(some)g(of)g(the)g(generals)h(are)f(traitors)h(whose) 0 1438 y(messages)14 b(cannot)h(b)q(e)f(trusted.)20 b(W)l(e)13 b(ma)o(y)h(assume,)g(without)h(loss)g(of)f(generalit)o(y)l(,)g(that)h(the)e (messengers)0 1510 y(are)j(lo)o(y)o(al)h(since)g(a)g(general)g(with)g(a)f (dislo)o(y)o(al)i(messenger)e(ma)o(y)g(b)q(e)g(regarded)h(as)g(a)f(traitor.) 73 1612 y(Let)22 b FB(v)h FH(b)q(e)e(a)h(b)q(o)q(olean)i(v)m(alue)e(and)p 748 1586 26 2 v 22 w FB(v)i FH(=)e(1)15 b Fx(\000)g FB(v)23 b FH(its)f(complemen)o(t.)36 b(The)21 b(problem)h(of)g(Byzan)o(tine)0 1685 y(agreemen)o(t)f(can)i(b)q(e)f(stated)h(as)g(follo)o(ws:)35 b(Consider)24 b(a)f(set)f Fx(f)p FB(P)1213 1692 y FI(1)1233 1685 y FH(,)h FB(P)1301 1692 y FI(2)1321 1685 y FH(,)h(.)8 b(.)g(.)f(,)24 b FB(P)1493 1692 y Fw(n)1517 1685 y Fx(g)e FH(of)h(async)o (hronously)0 1757 y(executing)17 b(pro)q(cesses.)24 b(Eac)o(h)17 b(pro)q(cess)h FB(P)775 1764 y Fw(i)806 1757 y FH(has)g(a)g(b)q(o)q(olean)h (v)m(ariable)g FB(x)1330 1764 y Fw(i)1360 1757 y FH(whose)f(initial)i(v)m (alue)e(is)f FB(b)1844 1764 y Fw(i)1858 1757 y FH(.)24 b(A)o(t)0 1829 y(most)17 b FB(t)g FH(of)g(the)f FB(n)h FH(pro)q(cesses)h(are)f(fault)o (y)l(.)23 b(A)16 b(distributed)i(and)g(symmetric)e(algorithm)j(to)e(b)q(e)g (follo)o(w)o(ed)0 1901 y(b)o(y)f(the)g(correct)f(pro)q(cesses)i(is)g (required)f(suc)o(h)g(that)h(the)f(follo)o(wing)j(hold)e(on)g(termination:)0 2004 y FC(Condition)k(1:)h FH(All)c(correct)e(pro)q(cesses)h(decide)g(on)g(a) g(common)g(v)m(alue)h FB(v)r FH(,)e(where)g(a)h(pro)q(cess)h(\\decides)0 2076 y FB(v)r FH(")13 b(b)o(y)f(setting)i(a)g(priv)m(ate,)g(write-once)f (register)g(to)h FB(v)r FH(.)19 b(Th)o(us,)14 b(after)f(deciding,)h(a)g(pro)q (cess)f(can)g(no)h(longer)0 2148 y(c)o(hange)i(its)h(decision.)0 2250 y FC(Condition)23 b(2:)i FH(If)17 b(all)j(correct)e(pro)q(cesses)g (start)h(with)g(the)f(same)g(initial)j(v)m(alue)e FB(v)g FH(for)g FB(x)1691 2257 y Fw(i)1705 2250 y FH(,)f(then)g(their)0 2323 y(\014nal)f(decision)h(m)o(ust)e(b)q(e)g FB(v)r FH(.)73 2425 y(Condition)24 b(1)e(is)g(usually)h(referred)d(to)i(as)g(the)g(\\Agreemen)o (t)e(condition",)k(and)e(condition)h(2)f(the)0 2497 y(\\V)l(alidit)o(y)c (condition".)23 b(The)17 b(v)m(alidit)o(y)h(condition)g(eliminates)f(the)g (trivial)h(solution)g(where)e(eac)o(h)g(lo)o(y)o(al)0 2569 y(pro)q(cess)h(simply)g(decides)f(on)h(a)g(prearranged)g(v)m(alue,)f(sa)o(y)g (0.)73 2671 y(The)d(Byzan)o(tine)g(Generals)g(problem)h(translates)g(to)g (one)f(of)g(consensus-building)j(among)e(a)g(set)f(of)g FB(n)951 2828 y FH(68)p eop bop 0 195 a FH(completely)12 b(connected)f(pro)q(cesses,)h(some)g(of)g(whic)o (h)g(ma)o(y)f(b)q(e)h(fault)o(y)l(.)20 b(In)11 b(the)h(sync)o(hronous)g (case,)g(where)0 267 y(messages)19 b(are)g(deliv)o(ered)g(to)g(their)g (destinations)i(in)f(one)f(computation)h(step,)f(P)o(ease)g(et)f(al.)h ([PSL80)q(])0 340 y(ha)o(v)o(e)12 b(sho)o(wn)h(that)f(there)g(exists)h(an)g (algorithm)h(for)f(Byzan)o(tine)e(agreemen)o(t)h(only)h(if)g(less)g(than)g (one-third)0 412 y(of)20 b(the)f(total)h(n)o(um)o(b)q(er)f(of)g(pro)q(cesses) h(are)f(fault)o(y)l(.)31 b(\(The)19 b(problem)h(of)f(Byzan)o(tine)g(agreemen) o(t)f(among)0 484 y(sync)o(hronous)e(pro)q(cesses)f(that)g(are)g(not)g (completely)g(connected)g(has)g(also)i(b)q(een)d(studied)i([LSP82)q(])e(and)0 556 y(constrain)o(ts)j(on)g(the)f(connectivit)o(y)g(required)g(for)h(a)f (solution)j(ha)o(v)o(e)c(b)q(een)i(determined.\))73 658 y(F)l(or)j(the)g (async)o(hronous)h(case,)f(Fisc)o(her)g(et)g(al.)g([FLP85)q(])f(pro)o(v)o(ed) g(that)i(Byzan)o(tine)e(agreemen)o(t)g(is)0 731 y(imp)q(ossible)h(for)d (deterministic)h(pro)q(cesses,)g(ev)o(en)e(if)i(the)f(pro)q(cesses)h(are)f FF(not)h FH(symmetric)f(and)g(there)g(is)0 803 y(only)i(one)f(fault)o(y)h (pro)q(cess.)28 b(In)18 b(particular,)i(deterministic)f(pro)q(cesses)g(are)f (susceptible)h(to)g(non)o(termi-)0 875 y(nation.)k(As)15 b(evidenced)g(b)o(y) g(Ben)h(Or's)f(randomized)h(algorithm,)i(this)e(famous)h(\\imp)q(ossibili)q (t)o(y)h(result")0 947 y(do)q(es)e(not)f(apply)g(to)h(pro)q(cesses)f(that)g (ma)o(y)f(toss)i(coins;)g(in)f(this)h(case,)f(termination)h(can)f(b)q(e)g (guaran)o(teed)0 1020 y(with)j(probabilit)o(y)h(1.)25 b(Th)o(us,)17 b(as)h(in)g(Dining)h(Philosophers,)g(guard)f(sc)o(heduling,)h(and)e(leader)h (election,)0 1092 y(w)o(e)e(m)o(ust)g(once)g(again)i(resort)e(to)h (randomization)h(to)f(solv)o(e)f(this)i(distributed)f(computation)h(problem.) 73 1194 y(W)l(e)i(no)o(w)g(describ)q(e)g(the)f(b)q(eha)o(vior)i(of)f(the)g (fault)o(y)g(pro)q(cesses,)g(correct)f(pro)q(cesses,)i(and)g(the)e(com-)0 1266 y(m)o(unication)c(medium.)21 b(F)l(ault)o(y)14 b(pro)q(cesses)h(b)q(eha) o(v)o(e)f(unpredictably)l(,)h(p)q(erhaps)g(ev)o(en)e(sending)j(messages)0 1339 y(according)h(to)f(some)g(malev)o(olen)o(t)f(plan,)i(or)f(at)g(times)f (c)o(ho)q(osing)j(to)e(send)g(no)g(messages)g(at)g(all.)23 b(F)l(or)15 b(ex-)0 1411 y(ample,)g(in)g(announcing)h(a)f(decision)h(to)f (the)f(correct)g(pro)q(cesses,)h(a)g(fault)o(y)g(pro)q(cess)g(ma)o(y)f(send)h (di\013eren)o(t)0 1483 y(messages)j(to)g(di\013eren)o(t)f(pro)q(cesses.)26 b(Ho)o(w)o(ev)o(er,)15 b(a)j(fault)o(y)g(pro)q(cess)g(cannot)g(in\015uence)f (comm)o(unication)0 1555 y(b)q(et)o(w)o(een)f(correct)h(pro)q(cesses,)g(and)h (cannot)g(in\015uence)f(the)g(b)q(eha)o(vior)h(of)g(correct)e(pro)q(cesses.) 25 b(In)17 b(other)0 1627 y(w)o(ords,)e(it)h(cannot)f(alter)g(or)h(delete)e (messages)h(sen)o(t)g(b)q(et)o(w)o(een)f(correct)g(pro)q(cesses,)h(send)g (messages)h(pur-)0 1700 y(p)q(orting)21 b(to)e(originate)i(at)e(a)g(correct)f (pro)q(cess,)i(alter)f(the)g(algorithm)h(used)f(b)o(y)g(a)g(correct)f(pro)q (cess,)i(or)0 1772 y(in\015uence)c(an)o(y)g(random)h(c)o(hoices)f(made)g(b)o (y)g(a)h(correct)e(pro)q(cess.)73 1874 y(All)21 b(correct)e(pro)q(cesses)h (are)g(guaran)o(teed)h(to)f(use)g(the)g(same)g(algorithm.)34 b(The)20 b(only)g(assumption)0 1946 y(made)e(regarding)h(the)f(relativ)o(e)g (sp)q(eeds)g(of)h(di\013eren)o(t)f(pro)q(cesses)g(is)h(that)f(no)h(pro)q (cess)g(will)g(b)q(e)f(dela)o(y)o(ed)0 2019 y(inde\014nitely)c(b)q(et)o(w)o (een)d(computation)j(steps.)20 b(The)13 b(comm)o(unication)h(medium)e(is)h (suc)o(h)g(that)g(if)g(a)g(correct)0 2091 y(pro)q(cess)j(sends)f(a)g(message) h(to)f(another)h(correct)e(pro)q(cess,)h(the)g(message)g(will)i(ev)o(en)o (tually)e(b)q(e)g(deliv)o(ered)0 2163 y(unaltered)i(to)g(the)g(in)o(tended)f (recipien)o(t.)23 b(Note)16 b(that)h(faults)h(in)g(the)e(comm)o(unication)i (medium)e(can)h(b)q(e)0 2235 y(mo)q(deled)j(b)o(y)f(viewing)h(the)f(sender)g (of)h(a)f(message)h(as)g(fault)o(y)f(if)h(the)f(comm)o(unication)h(medium)f (do)q(es)0 2308 y(not)e(b)q(eha)o(v)o(e)e(as)i(stipulated.)73 2410 y(Ben-Or's)f(randomized)i(algorithm)g(utilizes)g(the)f(fact)g(that)g(if) g(indep)q(enden)o(t)g(random)g(c)o(hoices)g(are)0 2482 y(made)c(b)o(y)g(eac)o (h)f(pro)q(cess)i(regarding)h(the)e(consensus)h(v)m(alue,)g(a)g(su\016cien)o (t)f(n)o(um)o(b)q(er)f(of)h(them)g(will)i(ev)o(en)o(tu-)0 2554 y(ally)j(pic)o(k)e(the)h(same)f(v)m(alue)i(to)f(allo)o(w)h(agreemen)o(t)e (among)i(correct)e(pro)q(cesses.)23 b(Moreo)o(v)o(er,)15 b(agreemen)o(t)0 2626 y(is)j(guaran)o(teed)f(if)h(the)f(n)o(um)o(b)q(er)f(of)h(fault)o(y)h (pro)q(cesses,)f FB(t)p FH(,)f(is)i(less)g(than)g(one-\014fth)f(the)g(total)h (n)o(um)o(b)q(er)f(of)0 2699 y(pro)q(cesses.)26 b(This)19 b(claim)g(is)g (true)e(ev)o(en)g(in)h(the)g(presence)f(of)h(an)g(adv)o(ersary)g(sc)o (heduler)f(whic)o(h)h(c)o(ho)q(oses)951 2828 y(69)p eop bop 0 195 a FH(the)13 b(next)g(pro)q(cess)g(to)h(mak)o(e)e(a)i(step,)f(or)h (con)o(trols)g(ho)o(w)f(long)i(a)f(message)f(is)h(in)g(transit,)h(as)e(the)g (sc)o(heduler)0 267 y(cannot)k(in\015uence)f(the)g(outcome)g(of)h(coin)g (tosses)g(made)f(b)o(y)g(the)g(pro)q(cesses.)73 370 y(Eac)o(h)e(correct)g (pro)q(cess)g FB(P)551 377 y Fw(i)580 370 y FH(executes)e(algorithm)k FF(ByzA)n(gr)n(e)n(e)e FH(giv)o(en)g(b)q(elo)o(w.)21 b(V)l(ariable)16 b FB(x)1700 377 y Fw(i)1713 370 y FH(,)e(initiali)q(zed)0 442 y(to)j FB(b)81 449 y Fw(i)95 442 y FH(,)e(con)o(tains)j(the)e(pro)q(cess's)h (curren)o(t)e(c)o(hoice)h(for)h(the)f(consensus)h(v)m(alue.)22 b(The)17 b(algorithm)h(pro)q(ceeds)0 514 y(in)f(rounds,)g(and)f(the)g(index)h (of)f(the)g(curren)o(t)g(round)h(is)g(stored)f(in)h FB(r)q FH(.)22 b(Eac)o(h)16 b(round)h(has)g(three)f(phases.)73 616 y(In)e(the)g FF(noti\014c)n(ation)i(phase)t FH(,)e FB(P)648 623 y Fw(i)676 616 y FH(outputs)h(the)f(v)m(alue)h(of)f FB(x)1140 623 y Fw(i)1168 616 y FH(to)g(all)i(other)e(pro)q(cesses,)h(and)f(then)g(w)o (aits)0 688 y(for)j FB(n)12 b Fx(\000)f FB(t)17 b FH(noti\014cation)i (messages.)24 b(All)18 b(messages)f(sen)o(t)g(in)h(the)e(noti\014cation)k (phase)d(are)g(tagged)h(with)0 761 y(the)e(en)o(umeration)g(v)m(alue)h FG(N)p FH(.)73 863 y(In)h(the)h FF(pr)n(op)n(osal)f(phase)t FH(,)g FB(P)599 870 y Fw(i)632 863 y FH(prop)q(oses)j(a)e(consensus)g(v)m (alue)g(from)g(the)f(set)h Fx(f)p FH(0,)g(1,)g(`?')p Fx(g)p FH(,)e(based)j(on)0 935 y(the)15 b(noti\014cation)i(messages)e(just)g(receiv) o(ed.)20 b(It)14 b(sends)i(its)f(prop)q(osal)j(to)d(all)h(other)f(pro)q (cesses,)h(and)f(then)0 1007 y(w)o(aits)h(for)f FB(n)8 b Fx(\000)g FB(t)14 b FH(prop)q(osals)k(in)d(return.)21 b(In)14 b(this)i(phase,)f (messages)g(are)g(tagged)h(with)f(the)g(en)o(umeration)0 1080 y(v)m(alue)i FG(P)p FH(.)73 1182 y FB(P)104 1189 y Fw(i)130 1182 y FH(prop)q(oses)c(0)e(if)h(greater)f(than)h(\()p FB(n)q FH(+)q FB(t)p FH(\))p FB(=)p FH(2)g(of)f(the)g(noti\014cation)i(messages)f (it)g(has)g(receiv)o(ed)e(con)o(tain)i(0.)0 1254 y(Similarly)l(,)21 b(it)e(prop)q(oses)h(1)f(if)g(greater)g(than)g(\()p FB(n)13 b FH(+)g FB(t)p FH(\))p FB(=)p FH(2)19 b(of)g(the)f(noti\014cation)j (messages)e(con)o(tain)h(1.)29 b(If)0 1326 y(neither)17 b(of)h(these)f(is)h (the)f(case,)g FB(P)633 1333 y Fw(i)664 1326 y FH(prop)q(oses)i(`?',)d(a)i (recommendation)f(that)h(the)f(consensus)h(v)m(alue)g(b)q(e)0 1399 y(c)o(hosen)e(b)o(y)f(eac)o(h)h(pro)q(cess)g(indep)q(enden)o(tly)h(b)o (y)e(the)h(toss)h(of)f(a)h(coin.)k(Note)16 b(that)g FB(P)1538 1406 y Fw(i)1569 1399 y FH(simply)h(terminates)0 1471 y(after)h(broadcasting) j(its)e(prop)q(osal)i(if)e(it)f(has)i(made)e(a)g(decision)i(in)f(the)f (previous)h(round.)28 b(As)19 b(will)h(b)q(e)0 1543 y(sho)o(wn)d(b)q(elo)o (w,)f(if)h FB(P)375 1550 y Fw(i)405 1543 y FH(decided)f(on)g(v)m(alue)h FB(v)g FH(in)g(round)g FB(r)q FH(,)f(then)f(all)j(correct)d(pro)q(cesses)i (will)g(decide)f(on)h FB(v)0 1615 y FH(in)g(round)g FB(r)12 b FH(+)f(1.)22 b(So)17 b(it)f(is)h(safe)g(for)f FB(P)708 1622 y Fw(i)739 1615 y FH(to)h(stop)g(at)f(this)h(p)q(oin)o(t.)73 1717 y(Finally)l(,)22 b(in)f(the)e FF(de)n(cision)i(phase)t FH(,)f FB(P)777 1724 y Fw(i)812 1717 y FH(examines)f(the)h(prop)q(osals)j(it) d(just)g(receiv)o(ed)e(to)j(determine)0 1790 y(a)f(new)f(v)m(alue)h(for)f FB(x)381 1797 y Fw(i)395 1790 y FH(,)h(whic)o(h)f(it)h(uses)f(in)h(the)f (next)g(round.)30 b(Dep)q(ending)21 b(on)f(the)f(prop)q(osals,)j FB(P)1827 1797 y Fw(i)1861 1790 y FH(ma)o(y)0 1862 y(also)h(output)f(this)h (new)e(v)m(alue)h(of)g FB(x)694 1869 y Fw(i)730 1862 y FH(to)g(a)f (write-once)h(register)g(\(the)g(pro)q(cess)g(has)g(decided\).)37 b(The)0 1934 y(signi\014cance)20 b(of)f(the)g(if-statemen)o(t)g(conditions)i (in)e(the)g(prop)q(osal)i(and)f(decision)g(phases)f(is)h(discussed)0 2006 y(b)q(elo)o(w.)73 2109 y(The)h(round)g(n)o(um)o(b)q(er)e FB(r)j FH(is)f(attac)o(hed)f(to)h(all)h(messages)f(of)f(round)h FB(r)q FH(,)g(so)g(the)f(pro)q(cesses)h(can)g(dis-)0 2181 y(tinguish)f(b)q (et)o(w)o(een)d(messages)h(from)g(di\013eren)o(t)g(rounds.)28 b(A)17 b(pro)q(cess)i(in)f(a)h(particular)g(round)g(discards)0 2253 y(messages)g(it)f(receiv)o(es)f(from)h(pro)q(cesses)h(in)g(previous)g (rounds,)g(uses)f(messages)h(it)f(receiv)o(es)f(from)h(pro-)0 2325 y(cesses)d(in)h(the)e(same)h(round,)h(and)g(sa)o(v)o(es)e(messages)i(it) g(receiv)o(es)e(from)h(pro)q(cess)g(in)h(later)g(rounds)g(for)f(use)0 2398 y(during)k(the)f(correct)f(round.)26 b(Also,)19 b(since)f(for)g(an)o(y)f (round)i(fault)o(y)f(pro)q(cesses)g(ma)o(y)f(app)q(end)i(incorrect)0 2470 y(round)d(n)o(um)o(b)q(ers)e(to)h(their)g(messages,)g(or)h(not)f(send)g (an)o(y)g(messages)g(at)g(all,)h(no)g(correct)e(pro)q(cess)i(should)0 2542 y(w)o(ait)22 b(for)g(more)f(than)g FB(n)15 b Fx(\000)f FB(t)21 b FH(messages)h(in)g(a)f(single)i(phase)f(as)g(arriv)m(al)h(of)f (only)g FB(n)14 b Fx(\000)h FB(t)20 b FH(messages)i(is)0 2614 y(guaran)o(teed.)951 2828 y(70)p eop bop 0 454 a Fo(ByzAgree)23 b Fp(f)g Fo(\(*)h(algorithm)f(for)g(a)h(correct)f (process)g Fn(P)1126 461 y Fw(i)1164 454 y Fo(*\))95 539 y(r)g(:=)h(1)95 623 y(decided)f(:=)g(FALSE)95 708 y(WHILE)g(TRUE)g(DO)h Fp(f)213 793 y Fo(\(*)g(The)f(Notification)g(Phase)g(*\))213 877 y(SEND)h(\(N,r,)p Fn(x)479 884 y Fw(i)492 877 y Fo(\))g(TO)f(all)h(processes)213 962 y(wait)g(for)f(\(n-t\))g(notification)g(msgs)g(of)g(the)h(form)f (\(N,r,*\))213 1107 y(\(*)h(The)f(Proposal)g(Phase)g(*\))213 1191 y(IF)h Fn(>)g Fo(\(n+t\)/2)f(msgs)g(are)h(of)f(the)h(form)f(\(N,r,w\))g (for)h(w=0)f(or)h(w=1)f(THEN)356 1276 y(SEND)g(\(P,r,w\))g(TO)h(all)f (processes)213 1361 y(ELSE)h(SEND)f(\(P,r,?\))47 b(TO)23 b(all)h(processes) 213 1446 y(IF)g(decided)f(THEN)g(stop)213 1530 y(ELSE)h(wait)f(for)g(\(n-t\)) h(msgs)f(of)h(the)f(form)g(\(P,r,*\))213 1675 y(\(*)h(The)f(Decision)g(Phase) g(*\))213 1760 y(IF)h Fn(>)g Fo(t)g(msgs)f(are)h(of)f(the)h(form)f(\(P,)h(r,) f(w\))h(for)f(w=0)h(or)f(w=1)h(THEN)f Fp(f)356 1844 y Fn(x)382 1851 y Fw(i)420 1844 y Fo(:=)h(w)356 1929 y(IF)g Fn(>)g Fo(3t)f(messages)g (are)h(of)f(the)h(form)f(\(P,)g(r,)h(w\))g(THEN)f Fp(f)499 2014 y Fo(decide)g(w)499 2098 y(decided)g(:=)g(TRUE)p Fp(g)213 2183 y(g)h Fo(ELSE)f(set)h Fn(x)501 2190 y Fw(i)539 2183 y Fo(to)f(0)h(or)g(1)f(with)h(equal)f(probability)213 2268 y(r)h(:=)g(r)f(+)h (1)95 2352 y Fp(g)0 2437 y(g)951 2828 y FH(71)p eop bop 73 195 a FH(The)13 b(follo)o(wing)i(lemmas)e(and)g(theorem,)f(due)h(to)g (Hadzilacos)h([Had86],)f(pro)o(vide)g(additional)i(insigh)o(t)0 267 y(in)o(to)i(the)f(b)q(eha)o(vior)h(of)g(the)f(algorithm,)h(and)g (establish)h(its)f(correctness.)0 424 y FC(Lemma)h(1)24 b FF(If)d(a)g(c)n (orr)n(e)n(ct)f(pr)n(o)n(c)n(ess)f(pr)n(op)n(oses)h(value)i FB(v)h FF(in)e(r)n(ound)g FB(r)q FF(,)h(then)g(no)f(other)g(c)n(orr)n(e)n(ct) f(pr)n(o)n(c)n(ess)0 496 y(wil)r(l)f(pr)n(op)n(ose)d(the)i(value)p 474 469 26 2 v 19 w FB(v)h FF(within)f(the)g(same)f(r)n(ound.)73 652 y FH(A)d(pro)q(cess)h(sends)g(a)g(message)g(\()p FG(P)p FB(;)8 b(r)o(;)g(v)r FH(\))13 b(if)i(it)g(disco)o(v)o(ers)f(that)h(more)g (than)g(\()p FB(n)8 b FH(+)g FB(t)p FH(\))p FB(=)p FH(2)14 b(pro)q(cesses)h(ha)o(v)o(e)0 724 y(c)o(hosen)21 b(the)h(v)m(alue)g FB(v)r FH(.)37 b(A)o(t)21 b(most)h FB(t)f FH(of)h(these)f(pro)q(cesses)h (could)h(b)q(e)e(fault)o(y)l(.)38 b(Therefore,)22 b(more)f(than)0 796 y(\()p FB(n)11 b FH(+)g FB(t)p FH(\))p FB(=)p FH(2)g Fx(\000)g FB(t)k FH(\(i.e.,)g(\()p FB(n)c Fx(\000)g FB(t)p FH(\))p FB(=)p FH(2\))16 b(correct)g(pro)q(cesses)h(m)o(ust)e(ha)o(v)o(e)h(c)o(hosen)g FB(v)r FH(.)k(Th)o(us,)c(a)h(ma)s(jorit)o(y)f(of)g(the)0 869 y(correct)e(pro)q(cesses)g(ha)o(v)o(e)g(pic)o(k)o(ed)f FB(v)r FH(.)20 b(F)l(or)15 b(another)f(correct)g(pro)q(cess)h(to)g(prop)q(ose)p 1515 842 V 15 w FB(v)h FH(in)f(the)f(same)g(round,)0 941 y(a)20 b(ma)s(jorit)o(y)f(of)h(the)f(correct)g(pro)q(cesses)h(m)o(ust)f(ha)o(v)o(e)g (pic)o(k)o(ed)p 1165 914 V 18 w FB(v)q FH(.)31 b(Since)20 b(a)g(correct)e (pro)q(cess)i(sends)g(the)0 1013 y(same)c(message)h(to)f(all)i(pro)q(cesses,) e(this)i(is)f(imp)q(ossible.)0 1169 y FC(Lemma)h(2)24 b FF(If)18 b(at)g(the)h(b)n(e)n(ginning)h(of)e(r)n(ound)f FB(r)j FF(al)r(l)f(c)n(orr)n (e)n(ct)e(pr)n(o)n(c)n(esses)g FB(P)1367 1176 y Fw(i)1400 1169 y FF(have)i(the)f(same)h(value)g FB(v)h FF(for)0 1242 y FB(x)28 1249 y Fw(i)42 1242 y FF(,)d(then)i(al)r(l)f(c)n(orr)n(e)n(ct)f(pr)n(o)n(c)n (esses)f(wil)r(l)j(de)n(cide)f FB(v)h FF(in)f(r)n(ound)f FB(r)q FF(.)73 1398 y FH(In)f(the)g(b)q(eginning)i(of)e(a)g(round,)h(eac)o(h)e (correct)g(pro)q(cess)i FB(P)1163 1405 y Fw(i)1194 1398 y FH(sends)f (messages)g(notifying)i(the)e(others)0 1470 y(that)h(it)g(has)h(pic)o(k)o(ed) e(v)m(alue)h FB(v)h FH(for)f FB(x)665 1477 y Fw(i)679 1470 y FH(.)23 b(Eac)o(h)16 b(correct)g(pro)q(cess)i(receiv)o(es)d FB(n)d Fx(\000)f FB(t)16 b FH(messages,)h(at)g(most)g FB(t)g FH(of)0 1542 y(whic)o(h)j(are)g(from)f(fault)o(y)h(pro)q(cesses.)32 b(Therefore)20 b(eac)o(h)f(pro)q(cess)h(receiv)o(es)f(at)h(least)g FB(n)14 b Fx(\000)f FH(2)p FB(t)20 b FH(messages)0 1614 y(of)i(the)f(form)h (\()p FG(N)p FB(;)8 b(r)o(;)g(v)r FH(\).)35 b(Since)22 b FB(n)h(>)g FH(5)p FB(t)f FH(implies)g FB(n)15 b Fx(\000)g FH(2)p FB(t)23 b(>)g FH(\()p FB(n)14 b FH(+)h FB(t)p FH(\))p FB(=)p FH(2,)23 b(eac)o(h)e(correct)g(pro)q(cess)h(will)0 1687 y(consequen)o(tly)16 b(prop)q(ose)h FB(v)h FH(in)f(the)f(prop)q(osal)j(phase.)73 1789 y(Consider)i(no)o(w)e(the)g(prop)q(osal)j(phase.)31 b(In)19 b(the)g(w)o(orst)h(case,)f(a)h(pro)q(cess)g(can)f(receiv)o(e)f FB(t)h FH(prop)q(osals)0 1861 y(for)p 77 1835 V 19 w FB(v)h FH(from)e(the)g(fault)o(y)h(pro)q(cesses,)g(and)g(\()p FB(n)13 b Fx(\000)f FH(2)p FB(t)p FH(\))19 b(prop)q(osals)i(for)d FB(v)i FH(from)f(correct)e(pro)q(cesses.)29 b(Since)0 1933 y(\()p FB(n)11 b Fx(\000)g FH(2)p FB(t)p FH(\))j FB(>)g FH(3)p FB(t)i FH(if)h FB(n)c(>)h FH(5)p FB(t)p FH(,)i(eac)o(h)g(correct)f(pro)q(cess)i (will)h(decide)e(on)h FB(v)r FH(.)0 2090 y FC(Lemma)h(3)24 b FF(If)18 b(a)f(c)n(orr)n(e)n(ct)g(pr)n(o)n(c)n(ess)g(de)n(cides)h FB(v)i FF(in)e(r)n(ound)f FB(r)q FF(,)i(then)f(al)r(l)i(c)n(orr)n(e)n(ct)d (pr)n(o)n(c)n(esses)g(wil)r(l)i(de)n(cide)g FB(v)0 2162 y FF(in)f(r)n(ound)f FB(r)12 b FH(+)f(1)p FF(.)73 2318 y FH(If)21 b(w)o(e)f(can)h(no)o(w)h(sho)o (w)f(that)h(whenev)o(er)d(a)j(correct)e(pro)q(cess)i(decides)f FB(v)h FH(in)g(round)f FB(r)q FH(,)h(all)h(correct)0 2390 y(pro)q(cesses)e FF(pr)n(op)n(ose)d FB(v)k FH(at)e(the)g(b)q(eginning)j(of)d(round)h FB(r)15 b FH(+)e(1,)21 b(then)f(Lemma)g(3)h(follo)o(ws)h(directly)e(from)0 2462 y(Lemma)g(2.)35 b(F)l(or)20 b(a)h(correct)f(pro)q(cess)h FB(P)759 2469 y Fw(i)794 2462 y FH(to)g(decide)f FB(v)i FH(in)f(round)g FB(r)q FH(,)h(it)f(m)o(ust)f(receiv)o(e)f(more)h(than)h(3)p FB(t)0 2535 y FH(prop)q(osals)j(for)d FB(v)r FH(,)g(and)h(since)f(at)g(most)g FB(t)g FH(of)g(these)g(can)g(b)q(e)g(from)g(fault)o(y)g(pro)q(cesses,)i FB(P)1693 2542 y Fw(i)1728 2535 y FH(m)o(ust)e(ha)o(v)o(e)0 2607 y(receiv)o(ed)15 b FB(m)g FH(prop)q(osals)k(for)d FB(v)h FH(from)f(correct)f(pro)q(cesses,)h(for)h(some)f FB(m)d(>)h FH(2)p FB(t)p FH(.)21 b(Let)16 b(us)g(no)o(w)h(lo)q(ok)g(at)f(an)o(y)0 2679 y(other)g(correct)g(pro)q(cess)h FB(P)491 2686 y Fw(j)510 2679 y FH(.)951 2828 y(72)p eop bop 73 195 a FH(Pro)q(cess)22 b FB(P)285 202 y Fw(j)325 195 y FH(m)o(ust,)f(in)g(round)h FB(r)q FH(,)g(receiv)o(e)e(prop)q(osals)j(from)e FB(n)15 b Fx(\000)f FB(t)20 b FH(pro)q(cesses.)36 b(In)21 b(other)g(w)o (ords,)0 267 y FB(P)31 274 y Fw(j)69 267 y FH(receiv)o(es)e(prop)q(osals)k (from)c(all)j(but)e FB(t)f FH(pro)q(cesses.)32 b(Therefore,)20 b(of)g(the)g FB(m)f FH(correct)g(pro)q(cesses)i(that)0 340 y(prop)q(osed)15 b FB(v)g FH(to)g FB(P)333 347 y Fw(i)347 340 y FH(,)f(all)i(but)e FB(t)f FH(m)o(ust)h(ha)o(v)o(e)f(had)h(their)g(prop)q (osals)j(receiv)o(ed)c(b)o(y)g FB(P)1489 347 y Fw(j)1508 340 y FH(.)20 b(But)14 b FB(m)f(>)h FH(2)p FB(t)g FH(implies)0 412 y FB(m)5 b Fx(\000)g FB(t)12 b(>)i(t)p FH(,)f(and)g(therefore)g FB(P)543 419 y Fw(j)574 412 y FH(will)i(prop)q(ose)g FB(v)f FH(in)g(the)f(next)f(round.)21 b(All)14 b(correct)e(pro)q(cess)i(th)o(us)f (prop)q(ose)0 484 y FB(v)k FH(in)g(round)f FB(r)c FH(+)e(1.)21 b(F)l(rom)16 b(Lemma)f(2,)h(it)h(follo)o(ws)g(that)g(all)g(correct)e(pro)q (cesses)h(will)i(decide)e FB(v)h FH(in)f(round)0 556 y FB(r)c FH(+)f(1.)73 658 y(W)l(e)16 b(no)o(w)h(ha)o(v)o(e)e(the)h(follo)o(wing)j (correctness)d(result)h(for)f(Ben-Or's)g(algorithm)i([Had86].)0 802 y FC(Theorem)g(4)24 b FF(Assuming)g(that)f FB(n)h(>)h FH(5)p FB(t)p FF(,)f(Ben-Or's)g(algorithm)f(guar)n(ante)n(es)h(A)n(gr)n(e)n(ement,)h (V)l(alidity,)0 874 y(and,)18 b(with)f(pr)n(ob)n(ability)g(1,)g(termination.) 0 1018 y FH(Agreemen)o(t)g(follo)o(ws)k(from)e(Lemma)g(3)g(and)h(v)m(alidit)o (y)h(from)e(Lemma)f(2,)i(with)g FB(r)g FH(=)e(1.)30 b(Consider)21 b(no)o(w)0 1090 y(termination.)33 b(With)21 b(probabilit)o(y)h(1,)e(enough)h (correct)e(pro)q(cesses)h(will)i(ev)o(en)o(tually)d(pic)o(k)h(a)g(common)0 1163 y(v)m(alue)c FB(v)h FH(to)g(p)q(ermit)e(at)h(least)h(one)f(correct)f (pro)q(cess)h FB(P)1007 1170 y Fw(i)1037 1163 y FH(to)g(decide)g FB(v)h FH(in)f(some)g(round)g FB(r)q FH(.)22 b(By)15 b(Lemma)g(2,)0 1235 y(all)j(correct)d(pro)q(cesses)i(will)h(decide)e FB(v)i FH(in)f(the)f(next)g(round.)73 1337 y(An)k(upp)q(er)g(b)q(ound)h(on)f(the)g (exp)q(ected)f(n)o(um)o(b)q(er)g(of)h(rounds)h(is)f FB(O)q FH(\(2)1357 1319 y Fw(n)1382 1337 y FH(\),)g(the)g(exp)q(ected)f(n)o(um)o(b)q (er)g(of)0 1409 y(tosses)14 b(of)g FB(n)g FH(coins)g(b)q(efore)g(all)h FB(n)e FH(coins)i(yield)f(the)f(same)g(v)m(alue.)21 b(Y)l(et)13 b(if)h(the)f(n)o(um)o(b)q(er)g(of)h(fault)o(y)f(pro)q(cesses)0 1482 y(is)f FB(O)q FH(\()101 1446 y Fx(p)p 143 1446 30 2 v 36 x FB(n)p FH(\),)g(then)f(the)g(exp)q(ected)f(n)o(um)o(b)q(er)g(of)i (rounds)g(is)g(constan)o(t.)20 b(This)12 b(illustrates)h(another)f(adv)m(an)o (tage)0 1554 y(of)k(tossing)i(coins,)f(since)g(an)o(y)f(deterministic)g (solution)j(to)d(the)g(Byzan)o(tine)g(Generals)h(problem)f(cannot)0 1626 y(reac)o(h)g(agreemen)o(t)f(in)i(less)g(than)g FB(t)10 b FH(+)h(1)17 b(rounds)g([FL82)q(].)73 1728 y(As)h(for)f(the)h(p)q(er-round)h (message)e(complexit)o(y)l(,)h(ev)o(ery)e(pro)q(cess)i(sends)g(a)g(message)g (to)g(ev)o(ery)e(other)0 1800 y(pro)q(cess)j(in)h(eac)o(h)e(round.)30 b(Th)o(us,)19 b(assuming)h(that)g(fault)o(y)f(pro)q(cesses)g(do)g(not)h(send) e(more)h(than)g FB(O)q FH(\()p FB(n)p FH(\))0 1873 y(messages)e(eac)o(h)e(p)q (er)i(round,)f(the)g(total)i(n)o(um)o(b)q(er)d(of)i(messages)g(transmitted)f (p)q(er)h(round)g(is)g FB(O)q FH(\()p FB(n)1824 1855 y FI(2)1844 1873 y FH(\).)73 1975 y(Ben-Or's)g(algorithm,)j(along)f(with)g(Rabin's)f ([Rab83)q(],)f(w)o(as)i(one)f(of)g(the)f(\014rst)h(for)g(reac)o(hing)g(asyn-) 0 2047 y(c)o(hronous)h(Byzan)o(tine)f(agreemen)o(t,)f(and)i(it)g(remains)g (the)f(simplest.)28 b(Since)18 b(then)h(a)f(n)o(um)o(b)q(er)g(of)g(more)0 2119 y(elab)q(orate,)j(in)e(terms)g(of)g(e\016ciency)f(or)i(fault-resiliency) l(,)h(randomized)e(algorithms)i(for)f(the)f(problem)0 2192 y(ha)o(v)o(e)c(b)q(een)i(dev)o(elop)q(ed,)e(including)k([CC85)q(,)c(P)o(er85) q(,)g(Bra85)q(])h(\(see)g(also)i([CD89]\).)73 2294 y(This)i(concludes)g(our)f (surv)o(ey)g(of)g(distributed)h(randomized)g(algorithms.)32 b(The)19 b(next)g(section)g(ad-)0 2366 y(dresses)d(some)h(additional)i(imp)q (ortan)o(t)e(asp)q(ects)g(of)g(randomized)g(algorithms,)h(and)e(concludes.) 951 2828 y(73)p eop bop 0 203 a FK(4)83 b(Additional)30 b(T)-7 b(opics)28 b(of)g(In)n(terest)f (and)g(Conclusions)0 355 y FH(W)l(e)11 b(close)h(our)g(surv)o(ey)f(with)h(a)g (brief)g(discussion)h(of)f(some)g(additional)i(imp)q(ortan)o(t)f(topics)f(in) g(randomized)0 427 y(algorithms.)28 b(It)18 b(will)h(b)q(e)f(seen)g(that)g (most)g(of)h(the)e(topics)i(are)f(more)f(theoretical)i(in)g(nature)f(than)g (the)0 499 y(material)f(in)g(the)f(b)q(o)q(dy)i(of)e(the)g(surv)o(ey)l(.)0 710 y Fu(Complexit)n(y)23 b(Theory)h(of)f(Randomized)g(Algorithms)122 834 y FH(A)f FF(pr)n(ob)n(abilistic)h(T)l(uring)h(machine)g FH(is)f(a)g(T)l(uring)h(mac)o(hine)f(with)g(distinguished)j(states)122 907 y(called)20 b(\\coin-tossing)j(states.")32 b(F)l(or)20 b(eac)o(h)f(coin-tossing)j(state,)e(the)f(\014nite)h(con)o(trol)g(unit)122 979 y(sp)q(eci\014es)j(t)o(w)o(o)f(p)q(ossible)i(next)e(states.)40 b(The)22 b(computation)h(of)g(a)f(probabilisti)q(c)j(T)l(uring)122 1051 y(mac)o(hine)15 b(is)h(deterministic)f(except)f(that)i(in)g (coin-tossing)h(states)f(the)f(mac)o(hine)g(tosses)h(an)122 1123 y(un)o(biased)h(coin)g(to)g(decide)f(b)q(et)o(w)o(een)f(the)h(t)o(w)o(o) g(p)q(ossible)j(next)c(states)i([Gil77)r(].)73 1272 y(As)11 b(in)h(the)f(classical)j(setting)e(of)g(deterministic)g(and)f (nondeterministic)i(T)l(uring)g(mac)o(hines,)e(a)h(theory)0 1344 y(of)23 b(computational)j(complexit)o(y)d(has)h(b)q(een)f(dev)o(elop)q (ed)g(for)g(probabilisti)q(c)i(T)l(uring)g(mac)o(hines.)42 b(F)l(or)0 1416 y(example,)18 b(consider)h(the)f(class)h(of)g(decision)g (problems)g(solv)m(able)h(in)f(\\p)q(olynomial")j(time.)27 b(This)19 b(class)0 1489 y(is)d(called)g FF(P)f FH(for)g(deterministic)h(T)l (uring)g(mac)o(hines)f(and)g FF(NP)h FH(for)f(nondeterministic)h(T)l(uring)g (mac)o(hines.)0 1561 y(F)l(or)k(probabilistic)i(T)l(uring)f(mac)o(hines,)f (the)f(analogous)j(class)f(is)f(called)g FF(RP)f FH(\(or)h(simply)g FF(R)f FH(b)o(y)g(some)0 1633 y(writers\),)d(standing)i(for)f FF(R)n(andom)f(Polynomial)h FH(time,)f(and)h(is)g(c)o(haracterized)e(in)i ([Har87)q(])e(as)i(follo)o(ws:)122 1771 y(The)k(class)h FF(RP)e FH(is)i(de\014ned)f(as)g(the)g(class)h(of)f(decision)i(problems)e(for)g(whic) o(h)h(there)e(is)i(a)122 1843 y(p)q(olynomial-time)17 b(probabilistic)g(T)l (uring)f(mac)o(hine)e(with)h(the)e(follo)o(wing)k(prop)q(ert)o(y)l(.)k(If)13 b(the)122 1916 y(correct)h(answ)o(er)h(for)f(an)h(input)h FB(X)j FH(is)c FF(no)s FH(,)g(the)f(mac)o(hine)g(sa)o(ys)h FF(no)g FH(with)g(probabilit)o(y)i(1,)d(and)122 1988 y(if)g(the)f(correct)g(answ)o (er)h(is)g FF(yes)t FH(,)g(the)f(mac)o(hine)h(sa)o(ys)g FF(yes)f FH(with)i(probabilit)o(y)g(greater)f(than)1792 1968 y FI(1)p 1792 1976 18 2 v 1792 2005 a(2)1815 1988 y FH(.)122 2060 y(Of)20 b(course,)g(the)f(in)o(terest)h(in)g FF(RP)f FH(problems)i(stems)e(from)h (the)g(fact)f(that)h(for)g(an)o(y)g(giv)o(en)122 2132 y FB(X)i FH(these)c(p)q(ossibly)j(erroneous)d(algorithms)j(can)d(b)q(e)g(reiterated)g (man)o(y)g(times,)g(ac)o(hieving)122 2204 y(a)f(diminishing)i(probabilit)o(y) f(of)f(error.)73 2342 y(The)i(class)g FF(c)n(o-RP)f FH(is)i(de\014ned)e (similarly)j(except)c(no)o(w)i(the)f(probabilistic)j(T)l(uring)f(mac)o(hine)e (m)o(ust)0 2415 y(resp)q(ond)e(correctly)g(with)g(probabilit)o(y)i(1)d(on)h FF(yes)g FH(answ)o(ers,)g(and)g(with)g(probabilit)o(y)i(greater)d(than)1860 2395 y FI(1)p 1860 2403 V 1860 2432 a(2)1899 2415 y FH(on)0 2487 y FF(no)h FH(answ)o(ers.)22 b(F)l(or)16 b(example,)g(b)o(y)f(virtue)h (of)h(the)e(probabilisti)q(c)j(algorithms)h(presen)o(ted)c(in)i(Section)f (2.2,)0 2559 y(the)11 b(problem)h(of)f(primalit)o(y)h(testing)g(is)g(in)g FF(c)n(o-RP)f FH(while)h(the)f(complemen)o(tary)g(problem,)h(comp)q (ositeness)0 2631 y(testing,)19 b(is)g(in)f FF(RP)5 b FH(.)18 b(In)o(terestingly)l(,)g(Adleman)g(and)g(Huang)h([AH87)o(])f(sho)o(w)o(ed)g (that)g(primalit)o(y)h(testing)0 2704 y(is)e(also)h(in)f FF(RP)5 b FH(,)15 b(thereb)o(y)g(putting)j(this)f(problem)g(in)g(the)f(in)o (tersection)g(of)h FF(RP)f FH(and)h FF(c)n(o-RP)5 b FH(.)951 2828 y(74)p eop bop 73 195 a FH(Complexit)o(y)15 b(classes)h(for)f(randomized)g(algorithms)i (extend)d(b)q(ey)o(ond)h FF(RP)f FH(and)h(include)h(the)e(classes)0 267 y FF(PP)f FH(\()p FF(Pr)n(ob)n(abilistic)h(Polynomial)f FH(time\))g(and)g FF(BPP)h FH(\()p FF(Bounde)n(d)g(Pr)n(ob)n(abilistic)h (Polynomial)e FH(time\).)20 b(F)l(or)13 b(a)0 340 y(problem)g(in)h FF(PP)5 b FH(,)13 b(the)g(requisite)g(probabilisti)q(c)j(T)l(uring)e(mac)o (hine)f(guaran)o(tees)g(the)g(correctness)g(of)g(b)q(oth)0 412 y FF(yes)j FH(and)h FF(no)g FH(answ)o(ers)g(only)g(with)g(probabilit)o(y) h(greater)e(than)1178 392 y FI(1)p 1178 400 18 2 v 1178 429 a(2)1201 412 y FH(.)21 b(In)16 b FF(BPP)5 b FH(,)16 b(ho)o(w)o(ev)o(er,)f (the)h(probabilit)o(y)0 484 y(of)i(error)h(in)g(either)f(a)g FF(yes)g FH(or)h FF(no)g FH(answ)o(er)f(is)h(b)q(ounded)g(from)f(ab)q(o)o(v)o (e)g(b)o(y)g(some)g(constan)o(t)h FB(\017)e(<)1799 464 y FI(1)p 1799 472 V 1799 501 a(2)1821 484 y FH(.)27 b(It)18 b(is)0 556 y(lik)o(ely)l(,)13 b(in)h(fact,)f(that)g FF(BPP)g FH(is)h(m)o(uc)o(h)e(w)o (eak)o(er)f(than)j FF(PP)5 b FH(.)12 b(F)l(or)h(example,)g(in)h FF(BPP)5 b FH(,)13 b(the)f(error)h(probabilit)o(y)0 628 y(can)19 b(b)q(e)g(made)g(exp)q(onen)o(tially)i(small)f(in)g(the)f(length)h(of)f(the)g (input)h(at)g(the)e(cost)i(of)f(only)h(a)g(constan)o(t)0 701 y(factor)d(increase)f(in)h(the)f(n)o(um)o(b)q(er)f(of)i(random)g(bits)g(used) f(b)o(y)g(the)g(algorithm)i([CW89)q(].)73 803 y(It)g(is)i(not)f(di\016cult)g (to)g(see)f(that)h(w)o(e)f(ha)o(v)o(e)g(the)g(follo)o(wing)k(hierarc)o(hies)d (of)g(complexit)o(y)f(classes:)27 b FF(P)0 875 y Fx(\022)22 b FF(RP)g Fx(\022)g FF(NP)g FH(and)h FF(RP)f Fx([)g FF(c)n(o-RP)g Fx(\022)g FF(BPP)h Fx(\022)f FF(PP)g FH(\(but)g(see,)h(e.g.,)e([Gil77)r(,)h (Joh90)q(])g(for)g(more)g(in-)0 947 y(depth)16 b(discussions)i(of)f (randomized)g(complexit)o(y)e(classes\).)22 b(In)16 b(w)o(ords,)g(the)g (former)g(rev)o(eals)g(that)g(coin)0 1020 y(tossing)e(is)e(at)g(least)g(as)h (p)q(o)o(w)o(erful)f(as)g(deterministic)g(computation,)i(and)e (nondeterminism)g(is)h(at)f(least)g(as)0 1092 y(p)q(o)o(w)o(erful)h(as)h (coin)f(tossing.)22 b(It)13 b(is)g(conjectured)f(that)h(these)g(inclusions)i (are)e(strict.)20 b(Empirical)15 b(evidence)0 1164 y(includes)25 b(the)f(fact)f(that,)j(as)f(of)f(no)o(w,)i(no)e(one)g(has)h(disco)o(v)o(ered) e(a)i(p)q(olynomial-time)h(randomized)0 1236 y(algorithm)18 b(for)f(an)o(y)f FF(NP)p FH(-complete)g(problem.)73 1339 y(More)k(recen)o (tly)l(,)f(the)g FF(quantum)j(T)l(uring)f(machine)f FH(has)h(b)q(een)e(prop)q (osed)i([Deu85)q(])e(as)h(a)g(quan)o(tum)0 1411 y(ph)o(ysical)g(analogue)h (of)f(the)f(probabilistic)j(T)l(uring)e(mac)o(hine.)30 b(A)19 b(quan)o(tum)g(T)l(uring)h(mac)o(hine,)f(in)h(its)0 1483 y(most)d(general)g (form,)f(pro)q(duces)i(a)f(random)g(sample)g(from)f(a)h(probabilit)o(y)i (distribution)g(on)e(an)o(y)g(giv)o(en)0 1555 y(input.)22 b(Quan)o(tum)16 b(T)l(uring)h(mac)o(hines)f(giv)o(e)g(rise)h(to)f(the)g(new)g(complexit)o(y)g (classes)h FF(Quantum)h(Polyno-)0 1627 y(mial)g FH(time)f(\()p FF(QP)p FH(\))h(and)g FF(Bounde)n(d)h(Quantum)h(Polynomial)e FH(time)g(\()p FF(BQP)p FH(\))g([BV93)o(].)25 b(There)17 b(is)i(evidence)0 1700 y(to)f(suggest)g(that)f(it)h(is)g(imp)q(ossible)i(to)d(sim)o(ulate)h(a)g (quan)o(tum)f(T)l(uring)h(mac)o(hine)f(with)h(a)g(probabilistic)0 1772 y(T)l(uring)g(mac)o(hine)e(without)h(incurring)h(an)e(exp)q(onen)o(tial) i(slo)o(wdo)o(wn)g([F)l(ey82)o(].)0 1984 y Fu(Theory)23 b(of)h(Probabilistic) g(Automata)0 2118 y FH(Just)12 b(as)h(there)e(is)i(a)f(complexit)o(y)g (theory)g(of)g(probabilistic)j(algorithms)f(whic)o(h)e(parallels)j(the)c (complexit)o(y)0 2190 y(theory)16 b(of)h(deterministic)h(algorithms,)g(there) e(is)h(a)g(theory)g(of)g FF(pr)n(ob)n(abilistic)g(automata)t FH(,)f(e.g.,)g([Rab63,)0 2263 y(Sal69)r(,)g(P)o(az71],)g(whic)o(h)g (parallels)j(the)d(classical)j(theory)d(of)h(nondeterministic)g(automata.)23 b(A)16 b(seminal)0 2335 y(pap)q(er)i(on)g(probabilisti)q(c)i(automata)f(is)f ([Rab63)q(],)f(where)g(Rabin)i(explored)f(\014nite)g(state)g(probabilistic)0 2407 y(automata.)28 b(He)18 b(de\014ned)f(the)h(notion)i(of)e(a)h(language)h (accepted)e(b)o(y)f(a)i(probabilistic)i(automaton)f(rel-)0 2479 y(ativ)o(e)g(to)g(a)h FF(cutp)n(oint)f FH(probabilit)o(y)i FB(\025)p FH(.)33 b(One)19 b(of)i(his)g(k)o(ey)d(results)j(w)o(as)f(that)h (there)e(exists)h(\014nite)h(state)0 2551 y(probabilistic)g(automata)e(that)f (de\014ne)f(non-regular)j(languages,)f(ev)o(en)e(if)h(the)f(probabiliti)q(es) j(in)o(v)o(olv)o(ed)0 2624 y(are)15 b(all)h(rational.)23 b(Salomaa)17 b([Sal69)q(])d(has)i(expanded)f(up)q(on)h(the)e(w)o(ork)h(of)g(Rabin)h(to)f (pro)q(duce)g(a)g(general)0 2696 y(theory)h(of)h FF(sto)n(chastic)g (languages)t FH(.)951 2828 y(75)p eop bop 0 195 a Fu(Probabilistic)24 b(Analysis)g(of)g(Con)n(v)n(en)n(tional)g (Algorithms)0 330 y FH(Probabilisti)q(c)15 b(analysis)g(of)e(a)g(con)o(v)o (en)o(tional,)h(i.e.,)e(deterministic,)i(algorithm)g(starts)g(with)g(the)e (assump-)0 402 y(tion)23 b(that)f(the)f(instances)i(of)f(a)g(problem)g(are)g (dra)o(wn)g(from)g(a)g(sp)q(eci\014ed)g(probabilit)o(y)i(distribution.)0 474 y(Tw)o(o)c(ma)s(jor)g(applications)i(are)e(the)f(analysis)j(of)e(a)o(v)o (erage-case)f(b)q(eha)o(vior)i(of)f(sequen)o(tial)g(algorithms)0 546 y(and)d(data)g(structures)g(\(see)f([VF90)o(])g(for)h(an)g(excellen)o(t)f (surv)o(ey\),)f(and)i(the)f(analysis)i(of)f(appro)o(ximation)0 618 y(algorithms)e(for)f(coping)h(with)f(in)o(tractabilit)o(y)h(of)e(com)o (binatorial)j(optimization)f(problems)f([GJ79)q(].)20 b(F)l(or)0 691 y(suc)o(h)e(problems,)h(the)f(goal)i(is)f(to)g(pro)o(v)o(e)f(that)g(some) h(simple)g(and)g(fast)f(algorithm)j(pro)q(duces)e(\\go)q(o)q(d,")0 763 y(near-optimal)k(solutions.)37 b(A)20 b(classic)i(example)e(is)i(Karp's)f (divide-and-conquer)h(algorithm)g(for)f(the)0 835 y(T)l(ra)o(v)o(eling)e (Salesman)g(problem)f(in)h(a)f(plane)h([Kar86)q(].)26 b(Bin)18 b(pac)o(king)h(is)f(another)h(problem)f(for)h(whic)o(h)0 907 y(v)o(ery)c(go)q(o)q(d)j(appro)o(ximation)g(algorithms)h(ha)o(v)o(e)c(b)q (een)h(disco)o(v)o(ered.)0 1119 y Fu(Randomized)23 b(P)n(arallel)h (Algorithms)0 1254 y FH(As)14 b(with)h(sequen)o(tial)f(and)h(distributed)g (algorithms,)i(the)c(p)q(erformance)h(of)h FF(p)n(ar)n(al)r(lel)h(algorithms) e FH(can)g(b)q(e)0 1326 y(impro)o(v)o(ed)19 b(through)h(the)f(in)o(tro)q (duction)i(of)f(randomized)g(b)q(eha)o(vior,)h(i.e.,)d(coin)j(tossing.)32 b(A)19 b(standard)0 1398 y(mo)q(del)g(of)g(computation)h(for)f(parallel)i (algorithms)g(is)e(the)g(PRAM,)e(a)i(m)o(ulti-pro)q(cessor)i(arc)o(hitecture) 0 1470 y(where)15 b(eac)o(h)g(pro)q(cessor)h(has)g(random)g(access)g(to)f(a)h (shared)g(memory)l(.)k(PRAM)15 b(is)h(actually)h(a)f(family)g(of)0 1542 y(mo)q(dels)f(including)h(CR)o(CW)e(\(memory)e(ma)o(y)i(b)q(e)g (concurren)o(tly)f(read)h(and)g(written\),)h(CREW)f(\(memory)0 1615 y(ma)o(y)21 b(b)q(e)h(read)g(concurren)o(tly)g(but)g(writes)g(are)g (exclusiv)o(e\),)h(and)f(EREW)g(\(all)i(reads)e(and)g(writes)h(of)0 1687 y(memory)15 b(are)i(exclusiv)o(e\).)73 1789 y(The)h(b)q(ene\014ts)g(of)g (randomization)i(in)e(parallel)i(algorithms)g(can)e(p)q(erhaps)h(b)q(e)f(b)q (est)g(illustrated)i(b)o(y)0 1861 y(the)h(results)i(of)f(Vishkin)h([Vis84])e (for)h(the)g(follo)o(wing)i(problem:)33 b(Giv)o(en)22 b(a)g(link)o(ed)g(list) h(of)f(length)g FB(n)p FH(,)0 1934 y(compute)14 b(the)f(distance)i(of)f(eac)o (h)g(elemen)o(t)f(of)h(the)g(link)o(ed)g(list)h(from)f(the)g(end)g(of)g(the)g (list.)22 b(The)14 b(problem)0 2006 y(has)20 b(a)f(trivial)h(linear-time)g (sequen)o(tial)g(algorithm)h(but)e(Wyllie)h([Wyl79])f(conjectured)f(that)h (there)f(is)0 2078 y(no)j(optimal)h(sp)q(eed-up)e(parallel)j(algorithm)f(for) e FB(n=)8 b FH(log)k FB(n)20 b FH(pro)q(cessors.)34 b(Vishkin)21 b(sho)o(w)o(ed)g(that)f(suc)o(h)0 2150 y(optimal)i(sp)q(eed-up)g FF(c)n(an)f FH(b)q(e)g(obtained)h(via)g(randomization)h(b)o(y)d(exhibiting)j (a)e(randomized)h(parallel)0 2222 y(algorithm)17 b(for)f(the)f(problem)g (that)h(runs)f(in)h FB(O)q FH(\()p FB(n=p)p FH(\))h(time)e(using)i FB(p)d Fx(\024)g FB(n=)p FH(\(log)c FB(n)e FH(log)1576 2201 y Ft(\003)1604 2222 y FB(n)p FH(\))15 b(pro)q(cessors)i(on)0 2295 y(an)j(EREW)h(PRAM.)e(\(Note)g(that)i(for)f(all)h(practical)h(purp)q (oses,)f(the)f(p)q(oly-logari)q(thmic)j(term)c(log)1893 2273 y Ft(\003)1921 2295 y FB(n)0 2367 y FH(can)d(b)q(e)h(view)o(ed)f(as)h(a)f (constan)o(t.\))73 2469 y(Other)i(examples)g(of)h(fast)g(randomized)g (parallel)h(algorithms)h(include)e(the)f(sorting)h(algorithm)i(of)0 2541 y(Reisc)o(h)o(uk)i([Rei81],)i(the)f(algorithm)h(for)f(subtree)g (isomorphism)i(b)o(y)d(Miller)i(and)f(Reif)g([MR89],)g(as)0 2614 y(w)o(ell)17 b(as)g(the)f(n)o(umerous)g(algorithms)j(describ)q(ed)e(in)g (the)f(annotated)h(bibliograph)o(y)l(.)24 b(Miller)18 b(and)f(Reif)s('s)0 2686 y(algorithm)j(uses)e FB(O)q FH(\(log)11 b FB(n)p FH(\))19 b(time)f(and)g FB(O)q FH(\()p FB(n=)8 b FH(log)k FB(n)p FH(\))18 b(pro)q(cessors,)i(and)e(w)o(as)h(the)f(\014rst)g(p)q(olylog)j(parallel)951 2828 y(76)p eop bop 0 195 a FH(algorithm)18 b(for)f(the)f(subtree)g(isomorphism)i(problem.)0 407 y Fu(Sources)27 b(of)h(Randomness)g(and)f(their)g(Impact)g(on)h (Randomized)f(Algo-)0 519 y(rithms)0 653 y FH(Throughout)c(this)e(surv)o(ey)f (w)o(e)h(assumed)g(that)g(a)g(randomized)h(algorithm)h(had)e(the)g(abilit)o (y)h(to)f(toss)0 726 y(un)o(biased)d(coins.)25 b(Clearly)l(,)18 b(this)g(is)g(a)f(k)o(ey)f(assumption:)25 b(an)o(y)17 b(bias)h(in)g(the)f (coin)h(tosses)g(can)f(adv)o(ersely)0 798 y(a\013ect)h(the)g(accuracy)g(and)g (p)q(erformance)g(of)g(the)g(algorithm.)29 b(In)17 b(this)i(section)g(w)o(e)e (describ)q(e)i(researc)o(h)0 870 y(aimed)g(at)h(reducing)f(the)g(n)o(um)o(b)q (er)f(of)i(truly)f(random)g(bits)h(a)g(randomized)f(algorithm)i(requires,)e (and)0 942 y(the)k(usefulness)i(of)f(\\w)o(eak)g(sources)g(of)g(randomness.") 45 b(W)l(e)23 b(also)j(consider)e(means)g(of)g(generating)0 1015 y(bit)c(strings)g(that)f(ha)o(v)o(e)f(the)h(mathematical)h(prop)q (erties)g(of)f(truly)g(random)h(strings.)30 b(Our)19 b(treatmen)o(t)0 1087 y(of)h(these)f(topics)i(is)f(mainly)h(bibliographi)q(c)h(in)e(nature)g (and)g(w)o(e)f(refer)g(the)h(in)o(terested)f(reader)g(to)h(the)0 1159 y(appropriate)e(references)d(for)h(detailed)h(co)o(v)o(erage.)73 1261 y(Let)c Fx(A)21 b FH(b)q(e)13 b(a)h(randomized)f(algorithm)i(that)e (when)g(supplied)i(with)f FB(n)f FH(truly)g(random)g(bits,)h(pro)q(duces)0 1333 y(results)j(with)g(a)g(\014xed)f(error)g(probabilit)o(y)i FB(\017)p FH(.)j(The)16 b(follo)o(wing)j(t)o(w)o(o)d(questions)i(naturally)g (arise:)60 1477 y(1.)24 b(Is)e(it)h(p)q(ossible)i(to)e(reduce)f(the)g(error)h (probabilit)o(y)h(of)f Fx(A)31 b FH(through)23 b(a)g(small)h(increase)f(in)g (the)122 1549 y(n)o(um)o(b)q(er)15 b(of)i(truly)g(random)f(bits)i(that)e Fx(A)25 b FH(has)17 b(at)f(its)h(disp)q(osal?)60 1663 y(2.)24 b(Can)c Fx(A)27 b FH(main)o(tain)20 b(its)g(error)f(probabilit)o(y)i(when)f (the)e(random)i(bits)g(come)f(from)g(a)g(\\w)o(eak")h(or)122 1735 y(imp)q(erfect)c(source)g(of)h(randomness?)0 1879 y(These)d(t)o(w)o(o)f (problems,)h(whic)o(h)g(are)g(commonly)g(referred)e(to)i(as)g FF(deterministic)i(ampli\014c)n(ation)f FH(and)f FF(sim-)0 1951 y(ulating)i(pr)n(ob)n(abilistic)e(algorithms)g(by)h(we)n(ak)g(r)n(andom) e(sour)n(c)n(es)t FH(,)f(ha)o(v)o(e)g(receiv)o(ed)g(considerable)i(atten)o (tion)0 2024 y(in)j(the)f(recen)o(t)f(literature)i(and)g(are)f(discussed)h (next.)0 2196 y FC(Deterministic)i(Ampli\014cation)0 2330 y FH(Let)d Fx(A)24 b FH(b)q(e)16 b(a)h(randomized)f(algorithm)i(that)e(uses)h FB(q)r FH(\()p FB(n)p FH(\))e(random)i(bits)f(on)h(an)f(input)h(of)f(length)h FB(n)p FH(.)k(One)0 2402 y(ob)o(vious)15 b(w)o(a)o(y)e(of)i(b)q(o)q(osting)h (the)e(accuracy)f(of)h Fx(A)22 b FH(is)15 b(to)f(run)g(it)g(rep)q(eatedly)g (with)h(indep)q(enden)o(tly)f(c)o(hosen)0 2474 y FB(q)r FH(\()p FB(n)p FH(\)-bit)19 b(patterns.)29 b(Ho)o(w)o(ev)o(er,)18 b(this)h(metho)q(d) g(\\w)o(astes)h(randomness")g(as)f(eac)o(h)g(random)g(bit)g(is)h(used)0 2547 y(only)d(once)g(and)g(then)f(discarded.)23 b(It)16 b(turns)h(out)g(that) g Fx(A)24 b FH(can)17 b(b)q(e)g(deterministically)h(ampli\014ed)g(using)0 2619 y(few)o(er)d(random)i(bits)g(if)g(certain)g(t)o(yp)q(es)f(of)g FF(exp)n(ander)i(gr)n(aphs)d FH(can)i(b)q(e)f(constructed.)951 2828 y(77)p eop bop 73 195 a FH(In)17 b([KPS85)q(],)g(Karp,)g(Pipp)q(enger,)h(and)g(Sipser)g (presen)o(t)f(the)g(\014rst)h(example)f(of)h(deterministic)g(am-)0 267 y(pli\014cation.)36 b(Using)21 b(expander)f(graphs,)i(they)e(sho)o(w)h (ho)o(w)f(the)g(error)h(probabilit)o(y)h(of)f(a)f(randomized)0 340 y(algorithm)15 b(can)f(b)q(e)f(reduced)f(to)i FB(n)633 321 y Ft(\000)p Fw(c)678 340 y FH(,)f(for)h(some)f(constan)o(t)h FB(c)p FH(.)20 b(Their)14 b(tec)o(hnique)e(requires)h(no)h(additional)0 412 y(random)j(bits.)22 b(Let)16 b(us)h(no)o(w)g(lo)q(ok)g(at)g(expander)f (graphs)h(more)f(carefully)l(.)0 514 y(An)g(\()p FB(l)q(;)8 b(r)o(;)g(d;)g(k)r FH(\)-)p FF(exp)n(ander)16 b FH(is)h(a)g(bipartite)g (graph)g(from)g FB(L)f FH(to)h FB(R)f FH(suc)o(h)g(that)60 658 y(1.)24 b Fx(j)p FB(L)p Fx(j)14 b FH(=)f FB(l)k FH(and)g Fx(j)p FB(R)p Fx(j)d FH(=)g FB(r)q FH(,)60 772 y(2.)24 b(the)16 b(degree)g(of)g(all)i(no)q(des)f(in)g FB(L)f FH(is)h FB(d)p FH(,)g(and)60 885 y(3.)24 b(ev)o(ery)15 b(subset)h(of)h FB(k)h FH(no)q(des)f(in)g FB(L)g FH(is)g(connected)e(to)i(more)f(than)1320 866 y Fw(r)p 1320 874 18 2 v 1320 902 a FI(2)1358 885 y FH(no)q(des)i(in)e FB(R)p FH(.)73 1029 y(In)23 b(general,)i(giv)o(en)e(v)m(alues)i(of)e FB(l)q FH(,)p FB(r)q FH(,)p FB(d)p FH(,)p FB(k)h FH(it)g(is)g(easy)f(to)h (pro)o(v)o(e)e(or)h(dispro)o(v)o(e)h(the)f(existence)f(of)i(an)0 1101 y(\()p FB(l)q(;)8 b(r)o(;)g(d;)g(k)r FH(\)-expander)22 b(through)i(probabilistic)i(metho)q(ds)d([ES74])g(or)g(other)g (non-constructiv)o(e)g(argu-)0 1173 y(men)o(ts.)35 b(F)l(or)21 b(example,)h(the)e(reader)h(ma)o(y)g(enjo)o(y)f(pro)o(ving,)j(using)f(a)g (probabilistic)i(argumen)o(t,)e(that)0 1246 y(there)14 b(exists)h(\()p FB(m)318 1228 y FI(log)5 b Fw(m)402 1246 y FB(;)j(m;)g FH(2)g(log)585 1224 y FI(2)613 1246 y FB(m;)g(m)p FH(\)-expanders)14 b(for)h(an)o(y)f FB(m)g FH([Sip88)q(].)21 b(Replacing)16 b FB(m)e FH(b)o(y)g(2)1753 1228 y Fw(q)1787 1246 y FH(certi\014es)0 1318 y(the)i(existence)g(of)g(\(2) 390 1300 y Fw(q)407 1288 y Fq(2)427 1318 y FB(;)8 b FH(2)473 1300 y Fw(q)492 1318 y FB(;)g FH(2)p FB(q)562 1300 y FI(2)581 1318 y FB(;)g FH(2)627 1300 y Fw(q)647 1318 y FH(\)-expanders.)73 1420 y(Sipser)16 b([Sip88)q(])e(reduces)g(the)h(deterministic)h (ampli\014cation)h(problem)e(to)g(a)h(graph)f(theoretic)g(prob-)0 1492 y(lem)23 b(in)o(v)o(olving)h(expander)f(graphs.)43 b(Since)23 b(his)h(reduction)g(requires)f(explicit)h(construction)g(of)f(ex-)0 1565 y(panders,)16 b(let)g(us)g(assume)h(that)f(w)o(e)f(ha)o(v)o(e)g(a)i (metho)q(d)f(for)g(explicitly)h(constructing,)g(for)f(an)o(y)g(giv)o(en)g FB(q)r FH(,)f(a)0 1637 y(\(2)43 1619 y Fw(q)60 1607 y Fq(2)80 1637 y FB(;)8 b FH(2)126 1619 y Fw(q)145 1637 y FB(;)g FH(2)p FB(q)215 1619 y FI(2)234 1637 y FB(;)g FH(2)280 1619 y Fw(q)300 1637 y FH(\)-expander.)26 b(Lab)q(el)20 b(the)e(left)g(no)q(des)h(in)g(this)g (graph)g(with)g(bit)g(strings)h(from)e(\006)1817 1619 y Fw(q)1834 1607 y Fq(2)1871 1637 y FH(and)0 1709 y(the)c(righ)o(t)h(no)q(des)g(with)g (bit)f(strings)i(from)e(\006)819 1691 y Fw(q)838 1709 y FH(,)g(where)g(\006)g (=)g Fx(f)p FH(0)p FB(;)8 b FH(1)p Fx(g)p FH(.)21 b(Call)16 b(suc)o(h)d(an)i(expander)f(graph)h FB(G)1917 1716 y Fw(q)1936 1709 y FH(.)73 1811 y(Let)k Fx(B)28 b FH(b)q(e)19 b(the)f(amplifying)j (algorithm)f(for)f Fx(A)27 b FH(that)19 b(uses)g FB(q)1229 1793 y FI(2)1248 1811 y FH(\()p FB(n)p FH(\))g(random)g(bits)h(and)f(op)q (erates)g(as)0 1884 y(follo)o(ws.)43 b(It)22 b(generates)h(a)h FB(q)551 1865 y FI(2)570 1884 y FH(\()p FB(n)p FH(\)-bit)g(random)f(sequence) f FB(\033)27 b Fx(2)e FH(\006)1278 1865 y Fw(q)1295 1854 y Fq(2)1312 1865 y FI(\()p Fw(n)p FI(\))1386 1884 y FH(and,)g(using)f FB(\033)r FH(,)g(generates)f(a)0 1956 y(m)o(ultiset)15 b FB(B)s FH(\()p FB(\033)r FH(\))d Fx(\032)i FH(\006)395 1938 y Fw(q)q FI(\()p Fw(n)p FI(\))463 1956 y FH(.)21 b(F)l(or)14 b(eac)o(h)g FB(q)r FH(\()p FB(n)p FH(\)-bit)g FB(\013)g Fx(2)g FB(B)s FH(\()p FB(\033)r FH(\),)f(the)h(algorithm)j Fx(B)23 b FH(runs)15 b Fx(A)22 b FH(on)15 b FB(\013)f FH(in)o(ternally)l(.)0 2028 y(The)24 b(m)o(ultiset)g FB(B)s FH(\()p FB(\033)r FH(\))f(is)i(generated)f (using)h(the)f(expander)g(graph)h FB(G)1351 2036 y Fw(q)q FI(\()p Fw(n)p FI(\))1443 2028 y FH(\(also)h(called)f(a)f FF(disp)n(erser)0 2100 y FH(in)17 b([CW89)q(]\).)73 2202 y(The)f(e\016ciency)e(of)h(algorithm)j Fx(B)24 b FH(dep)q(ends)16 b(on)g(the)f(abilit)o(y)i(to)f(e\016cien)o(tly)e (construct)i(the)f(m)o(ultiset)0 2275 y(of)h(neigh)o(b)q(ors)i(of)e FB(\033)r FH(:)21 b(for)16 b(a)h(giv)o(en)f FB(\033)r FH(,)f(clearly)i(one)f (should)i(b)q(e)e(able)h(to)f(generate,)g(in)h(p)q(olynomial)i(time,)0 2347 y(eac)o(h)f(edge)g(\()p FB(\033)o(;)8 b(\013)p FH(\).)26 b(Hence)17 b(the)h(earlier)h(assumption)g(ab)q(out)h(e\016cien)o(tly)d (constructing)i(the)f(expander)0 2419 y FB(G)38 2427 y Fw(q)q FI(\()p Fw(n)p FI(\))106 2419 y FH(.)73 2521 y(The)13 b(accuracy)g(of)h Fx(B)22 b FH(is)14 b(related)g(to)f(certain)h(\\expansion)h(prop)q(erties")f (of)g FB(G)1488 2529 y Fw(q)q FI(\()p Fw(n)p FI(\))1569 2521 y FH(\(see)f(De\014nition)i(2.2)0 2594 y(in)20 b([CW89)q(])f(for)h(an)g (exact)f(form)o(ulation)i(of)f(these)f(prop)q(erties\).)33 b(Under)19 b(the)g(h)o(yp)q(othesis)i(that)f FB(G)1882 2601 y Fw(q)q FI(\()p Fw(n)p FI(\))0 2666 y FH(can)c(b)q(e)h(explicitly)g (constructed,)f(an)o(y)g(randomized)h(algorithm)h Fx(A)24 b FH(utilizing)19 b FB(q)r FH(\()p FB(n)p FH(\))c(random)i(bits)g(with)951 2828 y(78)p eop bop 0 195 a FH(error)16 b(probabilit)o(y)372 175 y FI(1)p 372 183 18 2 v 372 212 a(2)395 195 y FH(,)f(can)h(b)q(e)g(con)o(v)o(erted)f(in)o (to)h(another)g(algorithm)i Fx(B)25 b FH(that)16 b(uses)g FB(q)1588 177 y FI(2)1608 195 y FH(\()p FB(n)p FH(\))f(bits)i(and)f(has)0 267 y(error)d(probabilit)o(y)h(2)385 249 y Ft(\000)p FI(\()p Fw(q)443 238 y Fq(2)461 249 y FI(\()p Fw(n)p FI(\))p Ft(\000)p Fw(q)q FI(\()p Fw(n)p FI(\)\))632 267 y FH([Sip88)q(].)19 b(The)13 b(reduction)g(in)g(the)g(error)f(probabilit)o(y)j(follo)o(ws)g(from)d(the)0 340 y(prop)q(erties)19 b(of)f(the)f(expander)g(graph.)27 b(It)17 b(can)h(also)h(b)q(e)f(sho)o(wn)g(that)g(random)g(bipartite)h(m)o(ultigraphs) 0 412 y(are)d(su\016cien)o(tly)g(expanding.)73 514 y(While)c(Sipser's)f (reduction)h(assumes)f(the)g(constructabilit)o(y)h(of)f(expander)g(graphs,)h (Ajtai)g(et)e(al.)h([AKS87])0 586 y(sho)o(w)24 b(ho)o(w)g(to)g(explicitly)h (construct)f(expanders)f(for)h(deterministic)g(ampli\014cation.)46 b(Using)24 b(these)0 658 y(m)o(ultigraphs,)d(Cohen)e(and)g(Wigderson)i ([CW89])e(pro)o(v)o(e)f(that)h(the)g(error)f(probabilit)o(y)j(of)f(an)o(y)e FF(RP)h FH(or)0 731 y FF(BPP)g FH(algorithm)h(can)e(b)q(e)h(made)f(exp)q (onen)o(tially)h(small)h(in)f(the)f(size)g(of)h(the)f(input,)h(with)g(only)g (a)g(con-)0 803 y(stan)o(t)13 b(factor)h(increase)f(in)g(the)g(n)o(um)o(b)q (er)f(of)h(random)h(bits)g(used)f(b)o(y)f(the)h(algorithm.)22 b(They)13 b(also)h(consider)0 875 y(sim)o(ulations)19 b(of)d(these)g (algorithms)j(with)e(w)o(eak)f(sources)g(of)h(random)f(n)o(um)o(b)q(ers.)0 1047 y FC(Sim)n(ulating)21 b(Probabilistic)g(Algorithms)f(b)n(y)f(W)-5 b(eak)18 b(Random)h(Sources)0 1182 y FH(Since)f(most)g(ph)o(ysical)h(sources) f(of)g(randomness)g(su\013er)g(from)g(correlation,)h(it)f(is)h(natural)g(to)f (consider)0 1254 y(imp)q(erfect)23 b(or)h(w)o(eak)f(sources)h(of)g (randomness.)43 b(Suc)o(h)23 b(sources)h(are)g(called)g FF(semi-r)n(andom)g (sour)n(c)n(es)0 1326 y FH(in)16 b([SV86].)21 b(In)15 b(this)h(mo)q(del,)g (eac)o(h)f(bit)h(of)f(the)h(output)g(is)g(pro)q(duced)g(b)o(y)f(an)g(adv)o (ersary)h(b)o(y)f(the)g(\015ip)h(of)g(a)0 1398 y(coin)g(of)f(v)m(ariable)h (bias.)22 b(The)15 b(adv)o(ersary)g(can)g(lo)q(ok)i(at)e(the)g(previously)g (output)h(bits,)g(and)f(use)g(these)g(to)0 1470 y(set)h(the)g(bias)i(in)f (the)f(coin.)21 b(The)c(bias,)g(whic)o(h)f(helps)h(mo)q(del)g(correlation)h (among)f(bits,)g(is)g(constrained)0 1543 y(to)g(b)q(e)f(b)q(et)o(w)o(een)f(t) o(w)o(o)h(limits,)i FB(\016)f FH(and)g(\(1)12 b Fx(\000)f FB(\016)r FH(\).)73 1645 y(It)19 b(has)i(b)q(een)e(sho)o(wn)i(that)f(if)g(a)g(problem)g (can)g(b)q(e)g(solv)o(ed)g(b)o(y)f(a)h(p)q(olynomial-time)i(Mon)o(te)d(Carlo) 0 1717 y(algorithm)j(that)e(has)h(access)f(to)g(a)h(true)e(source)h(of)h (randomness,)g(then)f(the)f(same)h(problem)h(can)f(b)q(e)0 1789 y(solv)o(ed)14 b(using)i(an)e(arbitrarily)i(w)o(eak)e(semi-random)h (source)f([VV85].)20 b(In)13 b([V)l(az87],)h(e\016cien)o(t)f(algorithms)0 1862 y(for)k(using)g(semi-random)h(sources)e(are)h(presen)o(ted)e(and)i(a)g (tec)o(hnique)f(for)g(pro)q(ducing)i(a)f(quasi-random)0 1934 y(sequence)e(at)i(an)g(optimal)g(rate,)f(using)i(t)o(w)o(o)e(semi-random)h (sources,)f(is)h(describ)q(ed.)73 2036 y(In)e([Zuc90],)f(Zuc)o(k)o(erman)f (exhibits)j(a)f(pseudo-random)h(generator)g(that)f(dep)q(ends)g(only)h(on)f (a)g(w)o(eak)0 2108 y(random)21 b(source)g(called)h(a)f FB(\016)r FH(-source.)34 b(A)21 b FB(\016)r FH(-source,)g(unlik)o(e)g(a)g(semi-random)h (source,)f(is)h(ask)o(ed)e(only)0 2180 y(once)g(for)g FB(R)g FH(random)g(bits)h(and)f(the)g(source)g(outputs)h(an)f FB(R)p FH(-bit)h(string)g(suc)o(h)f(that)g(no)g(string)h(has)g(a)0 2253 y(probabilit)o(y)f(more)d(than)h(2)513 2235 y Ft(\000)p Fw(\016)q(R)604 2253 y FH(of)g(b)q(eing)h(output,)f(for)g(some)f(\014xed)g FB(\016)h(>)e FH(0.)25 b(Zuc)o(k)o(erman)16 b([Zuc91])h(also)0 2325 y(sho)o(ws)22 b(ho)o(w)g(to)g(sim)o(ulate)g FF(BPP)f FH(and)h(appro)o (ximation)i(algorithms)f(in)f(p)q(olynomial)i(time)e(using)g(the)0 2397 y(output)17 b(from)e(a)i FB(\016)r FH(-source.)k(Another)15 b(notion)j(of)e(an)g(imp)q(erfect)g(source)g(of)g(randomness)h(is)f(in)o(tro) q(duced)0 2469 y(in)h([LLS87)q(],)f(where)g(an)g(imp)q(erfect)g(source)g(is)h (mo)q(deled)g(b)o(y)f(a)h(discrete)f(con)o(trol)h(pro)q(cess.)951 2828 y(79)p eop bop 0 195 a FC(Pseudo-random)19 b(Num)n(b)r(er)f(Generators)0 330 y FH(In)c(the)h(absence)f(of)h(a)g(true)f(source)h(of)g(randomness,)g (randomized)g(algorithms)i(almost)f(alw)o(a)o(ys)f(rely)g(on)0 402 y FF(pseudo-r)n(andom)j(numb)n(er)g(gener)n(ators)f FH(\(PR)o(Gs\))g(as)h (their)f(source)g(of)g(random)h(bits.)24 b(The)17 b(imp)q(ortance)0 474 y(and)e(widespread)h(use)f(of)g(PR)o(Gs)g(is)g(exempli\014ed)g(b)o(y)f(a) h(recen)o(t)f(article)h(in)h(the)e(New)g(Y)l(ork)h(Times)g(whic)o(h)0 546 y(declares)i(that:)122 677 y(Mathematical)i(\\mo)q(dels")g(designed)f(to) g(predict)g(sto)q(c)o(k)g(prices,)f(atmospheric)i(w)o(arming,)122 749 y(air-plane)14 b(skin)g(friction,)g(c)o(hemical)e(reactions,)i (epidemics,)f(p)q(opulation)j(gro)o(wth,)d(the)f(out-)122 821 y(come)j(of)h(battles,)g(the)f(lo)q(cation)j(of)e(oil)h(dep)q(osits)g(and)f (h)o(undreds)g(of)g(other)f(complex)h(mat-)122 894 y(ters)c(increasingly)i (dep)q(end)e(on)h(a)f(statistical)j(tec)o(hnique)c(called)i(Mon)o(te)f(Carlo) i(Sim)o(ulation,)122 966 y(whic)o(h)h(in)g(turn)f(dep)q(ends)h(on)g(a)g (reliable)g(and)g(inexhaustible)i(source)d(of)h(random)g(n)o(um)o(b)q(ers)122 1038 y([\\Coin-T)l(ossing)20 b(Computers)d(F)l(ound)f(to)h(Sho)o(w)g(Subtle)g (Bias,")g(b)o(y)f(M.W.)f(Bro)o(wne,)h(New)122 1110 y(Y)l(ork)g(Times,)g(T)l (ue.,)f(Jan.)22 b(12,)17 b(1993].)73 1241 y(Bro)o(wne)g(go)q(es)i(on)e(to)h (p)q(oin)o(t)h(out)e(the)h(danger)g(inheren)o(t)f(in)h(using)h(PR)o(Gs,)e (whic)o(h)h(w)o(as)g(brough)o(t)g(to)0 1313 y(ligh)o(t)d(in)f(a)f(recen)o(t)g (pap)q(er)h(b)o(y)f(F)l(erren)o(b)q(erg,)f(Landau,)j(and)f(W)l(ong)h([FL)-5 b(W92].)20 b(This)14 b(pap)q(er)g(recoun)o(ts)g(ho)o(w)0 1386 y(the)j(authors)h(w)o(ere)e(puzzled)h(when)g(a)g(simple)h(mathematical)g(mo)q (del)f(of)h(the)e(b)q(eha)o(vior)i(of)f(atoms)h(in)g(a)0 1458 y(magnetic)g(crystal)g(failed)g(to)g(giv)o(e)f(exp)q(ected)f(results.)25 b(They)17 b(traced)h(the)f(error)g(to)h(the)f(PR)o(G)g(used)g(in)0 1530 y(the)f(sim)o(ulation.)25 b(Up)q(on)17 b(further)g(in)o(v)o(estigation,) h(they)e(demonstrated)h(that)g(\014v)o(e)f(of)h(the)f(most)h(widely)0 1602 y(used)f(PR)o(Gs,)g(all)h(of)f(whic)o(h)g(passed)h(a)f(sizable)h (battery)e(of)h(tests)g(designed)h(to)f(test)g(their)g(randomness,)0 1675 y(in)h(fact)f(pro)q(duce)h(correlated)f(pseudo-random)i(n)o(um)o(b)q (ers.)73 1777 y(PR)o(Gs)e(w)o(ork)f(as)h(follo)o(ws.)23 b(They)15 b(p)q(erform)g(a)h(deterministic)g(pro)q(cess)g(on)g(a)g(short,)g(random)g (seed)f(to)0 1849 y(pro)q(duce)h(a)f(m)o(uc)o(h)g(larger,)h(pseudo-random)g (string)h(that)f(serv)o(es)e(as)i(a)g(substitute)g(for)g(a)g(truly)f(random)0 1921 y(string)h(of)g(the)f(same)g(size.)21 b(Th)o(us,)15 b(a)g(PR)o(G)h(can)f (b)q(e)g(though)o(t)h(of)f(as)h(a)g(means)f(to)g(minimize)h(the)f(n)o(um)o(b) q(er)0 1994 y(of)i(truly)f(random)h(bits)g(used)f(b)o(y)g(an)h(algorithm.)73 2096 y(Muc)o(h)j(researc)o(h)g(has)h(b)q(een)g(conducted)f(on)h(conserving)g (the)g(n)o(um)o(b)q(er)e(of)i(random)g(bits)h(used)f(b)o(y)0 2168 y(sp)q(eci\014c)12 b(PR)o(G)f(algorithms.)22 b(An)11 b(analysis)i (justifying)g(the)e(use)h(of)f(pseudo-random)i(substitutes)g(for)e(true)0 2240 y(random)i(n)o(um)o(b)q(er)f(generators)h(in)g(a)g(randomized)g (primalit)o(y)h(tester)e(and)h(a)g(probabilistic)i(algorithm)g(for)0 2312 y(computing)j(square)g(ro)q(ots)h(is)f(giv)o(en)f(in)h([Bac91].)25 b(There)17 b(Bac)o(h)g(sho)o(ws)h(that)g(an)g(exp)q(onen)o(tially)h(small)0 2385 y(error)g(can)f(b)q(e)h(obtained)h(for)f(these)f(t)o(w)o(o)h(problems)g (b)o(y)f(increasing)j(the)d(n)o(um)o(b)q(er)g(of)h(random)g(bits)h(b)o(y)0 2457 y(a)d(constan)o(t)g(factor.)23 b(Karlo\013)c(and)e(Ragha)o(v)m(an)h ([KR88])f(study)g(pseudo-random)h(substitutes)g(that)f(use)0 2529 y(small)h(seeds)e(for)g(purely)h(random)g(c)o(hoices)f(in)h(sorting,)g (selection)g(and)g(oblivious)i(message)d(routing.)73 2631 y(In)g(their)h (seminal)h(pap)q(er,)e(Blum)h(and)g(Micali)h([BM84)o(])e(in)o(tro)q(duced)h (the)g(notion)h(of)e(cryptographi-)0 2704 y(cally)f(secure)e(pseudo-random)i (n)o(um)o(b)q(er)e(generators.)21 b(A)13 b(PR)o(G)h(is)g FF(crypto)n(gr)n (aphic)n(al)r(ly)g(se)n(cur)n(e)k FH(if)c(giv)o(en)g(a)951 2828 y(80)p eop bop 0 195 a FH(small)18 b(segmen)o(t)d(of)i(its)g(output,)g(all)h(subsequen)o (t)e(output)h(cannot)g(b)q(e)f(predicted)g(in)h(p)q(olynomial)j(time.)0 267 y(Otherwise,)c(a)h(PR)o(G)f(is)h(said)h(to)e(b)q(e)h FF(pr)n(e)n (dictable)t FH(.)73 370 y(A)k(n)o(um)o(b)q(er)f(of)h(PR)o(Gs,)h(b)q(oth)g (predictable)f(and)h(secure,)f(ha)o(v)o(e)f(b)q(een)h(studied)g(in)h(the)f (literature.)0 442 y(Ajtai)i(and)h(Wigderson)g([A)-5 b(W89])22 b(ha)o(v)o(e)g(demonstrated)h(a)g(family)h(of)f(PR)o(Gs)g(that)h(app)q(ear)f (random)0 514 y(to)d(an)o(y)g(p)q(olynomial-si)q(ze)i(logic)f(circuit)f(of)g (constan)o(t)h(depth)e(and)i(un)o(b)q(ounded)f(fan-in.)33 b(Suc)o(h)20 b(PR)o(Gs)0 586 y(can)g(b)q(e)h(substituted)g(for)g(random)g(n)o(um)o(b)q(er) e(generators)i(in)g(applications)j(suc)o(h)c(as)h(building)h(simple)0 658 y(appro)o(ximations)c(to)f(complex)f(b)q(o)q(olean)j(functions)e([V)l (al84a)q(].)73 761 y(A)j(strong)i(connection)f(exists)g(b)q(et)o(w)o(een)e (cryptographically)k(secure)d(PR)o(Gs)g(and)h(one-w)o(a)o(y)g(func-)0 833 y(tions.)34 b(A)19 b FF(one-way)j(function)g FB(F)7 b FH(\()p FB(x)p FH(\))19 b(is)i(a)f(function)h(that)f(is)h(easily)g(computed,)g(but)f (giv)o(en)g FB(F)7 b FH(\()p FB(x)p FH(\),)19 b(it)0 905 y(should)c(not)e(b)q (e)g(p)q(ossible)j(to)d(easily)h(reco)o(v)o(er)e FB(x)p FH(,)h(either)g(with) h(a)f(small)i(circuit)e(or)h(with)f(a)h(fast)g(algorithm.)0 977 y(In)g([ILL89)q(],)h(the)f(existence)g(of)h(one-w)o(a)o(y)g(functions)h (is)f(sho)o(wn)h(to)f(b)q(e)g(necessary)f(and)i(su\016cien)o(t)e(for)h(the)0 1050 y(existence)i(of)i(pseudo-random)h(generators,)f(and)f(algorithms)j(for) d(pseudo-random)i(generators)f(that)0 1122 y(use)d(one-w)o(a)o(y)h(functions) g(are)f(pro)o(vided.)73 1224 y(Blum)22 b(et)f(al.)h([BBS86)o(])f(presen)o(t)g (t)o(w)o(o)h(pseudo-random)h(sequence)d(generators)i(that)g(from)g(small)0 1296 y(seeds,)17 b(generate)g(long)h(w)o(ell-distributed)i(sequences.)j(The) 17 b(\014rst,)g(the)g(1)p FB(=P)25 b FH(generator,)17 b(is)h(completely)0 1369 y(predictable)j(from)g(a)g(small)h(segmen)o(t)e(of)h(its)g(output.)35 b(The)21 b(second,)g(the)g FB(x)1468 1350 y FI(2)1487 1369 y FH(\()p FB(modN)5 b FH(\))21 b(generator,)h(is)0 1441 y(cryptographically)f (secure)d(as)h(its)h(sequence)d(is)j(p)q(olynomial-ti)q(me)h(unpredictable.) 29 b(The)19 b FB(x)1757 1423 y FI(2)1776 1441 y FH(\()p FB(modN)5 b FH(\))0 1513 y(generator)17 b(is)g(based)g(on)f(the)g(hardness)h(of)g(the)f (quadratic)h(residuacit)o(y)g(problem.)73 1615 y(Babai,)g(Nisan)h(and)f (Szegedy)f([BNS89)o(])g(obtain)i(a)f(lo)o(w)o(er)g(b)q(ound)h(for)e(the)h (bit)g(complexit)o(y)f(of)h(com-)0 1687 y(puting)i(functions)h(of)e FB(n)h FH(v)m(ariables,)h(where)e(the)g FB(i)938 1669 y Fw(th)991 1687 y FH(v)m(ariable)i(resides)e(on)h(pro)q(cessor)g FB(i)p FH(.)27 b(The)19 b(comm)o(u-)0 1760 y(nication)i(mec)o(hanism)e(considered)h (is)h(a)f(shared)g(blac)o(kb)q(oard.)32 b(Using)21 b(this)f(b)q(ound,)h(they) e(dev)o(elop)q(ed)0 1832 y(algorithms)g(that)e(generate,)g(in)g(p)q (olynomial)j(time,)d(pseudo-random)h(sequences)e(of)h(length)h FB(n)f FH(from)g(a)0 1904 y(seed)e(of)g(length)h(exp)o(\()p FB(c)436 1867 y Fx(p)p 478 1867 101 2 v 37 x FH(log)10 b FB(n)p FH(\).)21 b(These)15 b(pseudo-random)h(sequences)f(cannot)g(b)q(e)g (distinguished)j(from)0 1976 y(truly)f(random)g(sequences)f(b)o(y)h(an)o(y)f (logspace)i(T)l(uring)g(mac)o(hine.)23 b(Hastad)17 b([Has90)q(])f(has)h (extended)f(the)0 2049 y(results)h(of)g([ILL89])f(to)h(the)f(uniform)h(case.) 73 2151 y(As)k(noted)g(in)g([IZ89],)g(cryptographically)i(secure)d(PR)o(Gs,)h (though)h(theoretically)g(elegan)o(t,)g(ha)o(v)o(e)0 2223 y(sev)o(eral)14 b(practical)h(problems:)21 b(they)14 b(dep)q(end)g(on)g(the)g(unpro)o(v)o(en) g(assumption)h(ab)q(out)h(the)e(one-w)o(a)o(yness)0 2295 y(of)i(some)g (function,)h(b)q(ecome)e(useful)i(only)g(asymptotically)l(,)g(and)g(are)f (ine\016cien)o(t)g(when)g(implemen)o(ted.)0 2368 y(By)11 b(con)o(trast,)h (the)g(most)g(commonly)f(used)h(PR)o(Gs,)h(whic)o(h)f(t)o(ypically)g(are)g (based)g(on)g(linear-congruen)o(tial)0 2440 y(generators)25 b(and)f(are)g(not)g(cryptographically)i(secure,)f(do)f(quite)g(w)o(ell)g(in)h (practice.)44 b(Impagliazzo)0 2512 y(and)21 b(Zuc)o(k)o(erman)f([IZ89)o(])h (giv)o(e)g(a)g(theoretical)h(basis)g(to)f(this)h(empirical)g(\014nding.)36 b(They)21 b(pro)o(v)o(e)f(that)0 2584 y(t)o(w)o(o)g(v)o(ery)f(simple)i (pseudo-random)h(n)o(um)o(b)q(er)e(generators,)h(whic)o(h)g(are)f(minor)h(mo) q(di\014cations)i(of)d(the)0 2656 y(linear-congruen)o(tial)d(generator)d(and) h(the)f(simple)g(shift)h(register)f(generator,)h(are)f(go)q(o)q(d)i(for)e (amplifying)951 2828 y(81)p eop bop 0 195 a FH(the)19 b(correctness)f(of)i(probabilistic)i(algorithms.)31 b(They)19 b(also)i(in)o(tro)q(duce)e(a)g(class)i(of)e(PR)o(Gs)g(based)h(on)0 267 y(univ)o(ersal)k(hashing)h(functions.)43 b(Some)23 b(consequences)f(of)i (the)f(existence)f(of)i(PR)o(Gs)f(are)g(discussed)0 340 y(in)17 b([All87)q(].)73 442 y(While)j(most)f(of)h(the)e(w)o(ork)h(in)h(this)g(area)f (has)h(concen)o(trated)f(on)g(generation)h(of)g(pseudo-random)0 514 y(strings,)27 b(in)e([GGM86],)h(Goldreic)o(h,)g(Goldw)o(asser,)i(and)c (Micali)i(address)f(the)e(issue)i(of)g(generating)0 586 y(random)12 b(functions.)21 b(They)12 b(in)o(tro)q(duce)g(a)g(computational)i(complexit)o (y)d(measure)h(of)g(the)f(randomness)i(of)0 658 y(functions.)21 b(Assuming)13 b(the)f(existence)g(of)g(one-w)o(a)o(y)g(functions,)i(a)f (pseudo-random)g(function)g(generator)0 731 y(is)k(presen)o(ted.)0 903 y FC(Sampling)j(F)-5 b(rom)19 b(a)g(Distribution)0 1037 y FH(There)f(exists)h(a)f(large)i(class)f(of)g(algorithms)h(that)f(are)g (designed)g(around)g(the)f(concept)g(of)h(a)f(random)0 1109 y(w)o(alk.)36 b(These)21 b(algorithms,)k(whic)o(h)c(b)q(orro)o(w)h(hea)o (vily)g(from)f(tec)o(hniques)f(in)i(statistical)i(ph)o(ysics,)e(use)0 1182 y(random)15 b(w)o(alks)g(to)g(facilitate)h(random)e(sampling)j(for)d (appro)o(ximating)j(hard)d(coun)o(ting)i(problems.)21 b(F)l(or)0 1254 y(example,)c(Jerrum)g(and)h(Sinclair)i([JS89])e(giv)o(e)f(a)h (randomized)g(appro)o(ximation)i(sc)o(heme)c(for)i(appro)o(xi-)0 1326 y(mating)g(the)g(p)q(ermanen)o(t)f(of)g(a)h(matrix)g(b)o(y)f(relating)i (the)e(problem)h(to)g(that)g(of)f(uniformly)i(generating)0 1398 y(p)q(erfect)g(matc)o(hings)i(in)g(a)f(graph.)34 b(The)20 b(matc)o(hing)g(problem)h(is)f(solv)o(ed)h(b)o(y)e(a)i(Mark)o(o)o(v)e(c)o (hain)h(whose)0 1470 y(states)d(are)f(matc)o(hings)h(in)g(the)f(graph.)73 1573 y(In)c(general,)i(the)e(construction)i(of)f(small)h(sample)f(spaces)g (that)f(ha)o(v)o(e)g(some)h(randomness)g(prop)q(erties)0 1645 y(is)g(of)f(ma)s(jor)g(theoretical)h(and)g(practical)g(imp)q(ortance.)21 b(F)l(or)12 b(example,)g(in)h(some)f(applications)j(it)d(ma)o(y)g(b)q(e)0 1717 y(desirable)h(that)f(in)h(a)f(string)h(selected)f(at)g(random)g(from)g (a)g(sample)h(space,)f(the)g(probabilit)o(y)h(distribution)0 1789 y(induced)k(on)h(ev)o(ery)d FB(k)20 b FH(bit)d(lo)q(cations)j(b)q(e)d (uniform.)25 b(This)18 b(prop)q(ert)o(y)f(of)g(random)h(bit)f(strings)i(is)f (kno)o(wn)0 1862 y(as)23 b FB(k)r FH(-wise)g(indep)q(endence)f(and)h(its)f (use)h(in)f(the)g(derandomization)i(of)f(probabilistic)i(algorithms)f(is)0 1934 y(discussed)18 b(b)q(elo)o(w.)26 b(In)17 b([A)o(GHP90],)f(three)h (simple)h(constructions)h(of)f(small)h(probabilit)o(y)g(spaces)f(on)g FB(n)0 2006 y FH(bits)f(for)g(whic)o(h)f(an)o(y)g FB(k)j FH(bits)e(are)f (almost)h(indep)q(enden)o(t)g(are)f(presen)o(ted.)73 2108 y(The)j(general)g (study)f(of)h(random)g(w)o(alks)h(|)e(a)h(topic)g(not)g(co)o(v)o(ered)e(b)o (y)h(this)h(surv)o(ey)f(|)g(has)h(made)0 2180 y(an)h(impact)g(on)g(sev)o (eral)g(areas)g(of)g(algorithm)i(design)e(suc)o(h)g(as)g(space-b)q(ounded)h (algorithms,)h(on-line)0 2253 y(algorithms,)27 b(and)e(ampli\014cation)h(of)e (randomness.)44 b(F)l(or)24 b(a)g(study)g(of)g(this)h(area,)g(and)f(the)g (asso)q(ci-)0 2325 y(ated)16 b(bac)o(kground)g(in)g(Mark)o(o)o(v)f(c)o(hains) h(and)h(tec)o(hniques)e(for)g(pro)o(ving)i(rapid)g(mixing)f(|)g(informally)l (,)h(a)0 2397 y(Mark)o(o)o(v)c(c)o(hain)g(is)h FF(r)n(apid)r(ly)g(mixing)h FH(if)f(it)f(con)o(v)o(erges)g(to)g(its)i(stationary)g(distribution)g(in)f(a) g(short)g(time)f(|)0 2469 y(the)j(reader)g(is)h(referred)e(to)i([KL85)q(,)e (Bro86)q(,)h(DLMV88)q(,)f(JS89)q(,)h(Bro89)q(,)g(KLM89)q(,)f(DFK91)q(,)h(BCD) 1838 2451 y FI(+)1867 2469 y FH(89)q(].)951 2828 y(82)p eop bop 0 195 a Fu(Derandomization)0 330 y FH(A)16 b(\015urry)g(of)h(activit)o(y) f(has)h(recen)o(tly)e(emerged)h(around)h(the)f(algorithmic)i(design)g(tec)o (hnique)d(of)i FF(der)n(an-)0 402 y(domization)t FH(:)k(the)15 b(act)h(of)h(taking)g(an)f(e\016cien)o(t)f(randomized)i(algorithm)h(and)e (remo)o(ving)h(the)e(coin)i(\015ip-)0 474 y(ping)e(to)e(obtain)i(an)f (deterministic)g(algorithm.)23 b(The)13 b(b)q(eaut)o(y)h(of)f (derandomization)j(is)e(that)g(the)f(result-)0 546 y(ing)18 b(deterministic)g(algorithm)i(retains)e(the)f(simplicit)o(y)i(inheren)o(t)e (to)h(randomized)g(algorithms,)h(often)0 618 y(outp)q(erforms)f(all)h (previously)f(kno)o(wn)g(deterministic)g(algorithms)h(\(e.g.,)d([CF90)q(,)g (Aga90a)r(,)h(Aga90b)q(]\),)0 691 y(and)g(is)h(alw)o(a)o(ys)f(correct.)22 b(This)c(last)f(p)q(oin)o(t)h(is)g(particularly)g(app)q(ealing)h(if)e(the)g (randomized)g(algorithm)0 763 y(that)g(ga)o(v)o(e)e(rise)i(to)g(the)f (deterministic)h(one)f(is)h(of)g(the)f(Mon)o(te)f(Carlo)j(v)m(ariet)o(y)l(.) 73 865 y(The)e(idea)g(of)g(derandomization)i(can)e(b)q(e)g(explained)h(as)f (follo)o(ws)i([NN90)o(].)j(Consider)c(an)o(y)e(random-)0 937 y(ized)21 b(algorithm)i Fx(A)8 b FH(.)35 b(One)20 b(can)h(asso)q(ciate)i(a)e (probabilit)o(y)i(space)e(\(\012)p FB(;)8 b(P)f FH(\))21 b(with)h Fx(A)8 b FH(,)21 b(where)g(\012)g(is)g(the)0 1010 y(sample)d(space)f(and)h FB(P)25 b FH(is)18 b(some)f(probabilit)o(y)j(measure)d(corresp)q(onding)i(to) f(the)f(probabilistic)j(c)o(hoices)0 1082 y(that)c Fx(A)24 b FH(mak)o(es)15 b(during)i(execution.)k(Let)16 b Fx(A)8 b FH(\()p FB(I)t(;)g(w)q FH(\))15 b(denote)h(an)g(execution)g(of)g Fx(A)23 b FH(on)17 b(input)f(instance)h FB(I)0 1154 y FH(in)i(whic)o(h)f Fx(A)26 b FH(randomly)19 b(c)o(ho)q(oses)g FB(w)g FH(from)f(\012.)27 b(P)o(oin)o(t)18 b FB(w)i FH(is)e(called)h(a)g FF(go)n(o)n(d)e FH(p)q(oin)o(t)i(for)f(input)h(instance)0 1226 y FB(I)g FH(if)e Fx(A)8 b FH(\()p FB(I)t(;)g(w)q FH(\))15 b(computes)h(the)f(correct)g (solution.)24 b(A)15 b(derandomization)j(of)e Fx(A)24 b FH(means)16 b(searc)o(hing)h(\012)f(for)0 1298 y(a)i(go)q(o)q(d)h(p)q(oin)o(t)f FB(w)h FH(with)f(resp)q(ect)f(to)g(a)h(giv)o(en)f(input)h(instance)g FB(I)t FH(.)24 b(Up)q(on)17 b(turning)i(up)e(suc)o(h)g(a)h(p)q(oin)o(t)g FB(w)q FH(,)0 1371 y(the)c(algorithm)j Fx(A)8 b FH(\()p FB(I)t(;)g(w)q FH(\))14 b(is)h(no)o(w)g(deterministic)g(and)g(guaran)o(teed)g(to)f(\014nd)h (the)f(correct)g(solution.)23 b(The)0 1443 y(catc)o(h)12 b(is,)i(ho)o(w)o(ev) o(er,)d(that)i(the)f(sample)i(space)e(is)i(generally)f(exp)q(onen)o(tial)h (in)f(size,)g(rendering)g(exhaustiv)o(e)0 1515 y(searc)o(h)j(infeasible.)73 1617 y(Karp)i(and)h(Wigderson)g([KW85)q(])e(ha)o(v)o(e)g(devised)h(a)g(tec)o (hnique,)f(based)i(on)f(the)f(concept)h(of)g FB(k)r FH(-wise)0 1690 y(indep)q(endence,)13 b(that)g(can)g(p)q(oten)o(tially)h(a)o(v)o(oid)g (searc)o(hing)f(exp)q(onen)o(tially)h(large)g(sample)f(sizes.)21 b(A)12 b(string)0 1762 y(of)21 b(bits)g(is)g(said)h(to)f(b)q(e)g FB(k)r FH(-)p FF(wise)h(indep)n(endent)g FH(if)f(an)o(y)f FB(k)j FH(of)e(the)f(bits)h(in)g(the)f(sequence)g(are)g(m)o(utually)0 1834 y(indep)q(enden)o(t.)38 b(Therefore,)23 b(if)f(the)g(probabilistic)j(c)o (hoices)c(of)h(a)h(giv)o(en)f(randomized)g(algorithm)i(are)0 1906 y(bit-strings)18 b(of)d(length)h FB(n)g FH(and)f(eac)o(h)g(c)o(hoice)g (is)h(only)g(required)f(to)h(exhibit)g FB(k)r FH(-wise)g(indep)q(endence,)f (then)0 1979 y(a)i(sample)g(space)f(of)h(size)f FB(O)q FH(\()p FB(n)568 1960 y Fw(k)590 1979 y FH(\))h(su\016ces.)k(F)l(urthermore,)15 b(when)h FB(k)j FH(is)e(a)f(constan)o(t,)h(this)g(sample)g(space)0 2051 y(can)h(b)q(e)h(exhaustiv)o(ely)f(searc)o(hed)f(for)i(a)f(go)q(o)q(d)i (p)q(oin)o(t)f(\(ev)o(en)e(in)i(parallel\))h(in)f(p)q(olynomial)i(time.)27 b(Karp)0 2123 y(and)18 b(Wigderson,)h(in)g(the)e(same)h(pap)q(er,)g(tak)o(e)f (adv)m(an)o(tage)i(of)f FB(k)r FH(-wise)h(indep)q(endence)e(to)h(deriv)o(e)f (a)i(fast)0 2195 y(parallel)f(algorithm)h(for)d(the)g(maximal)h(indep)q (enden)o(t)g(set)f(problem.)73 2297 y(Another)g(approac)o(h)g(to)g (derandomization)i(is)e(the)g(metho)q(d)g(of)g FF(c)n(onditional)i(pr)n(ob)n (abilities)d FH([Sp)q(e88)q(],)0 2370 y(whic)o(h)i(w)o(as)g(originally)i(in)o (tro)q(duced)e(with)h(the)e(aim)h(of)f(con)o(v)o(erting)h(probabilistic)i (pro)q(ofs)f(of)f(existence)0 2442 y(of)i(com)o(binatorial)h(structures)f(in) o(to)g(deterministic)g(algorithms)i(that)d(can)h(actually)h(construct)e (these)0 2514 y(structures.)28 b(Applications)21 b(of)e(the)f(metho)q(d)h(of) g(conditional)i(probabilities)h(to)d(derandomization)h(in-)0 2586 y(clude)c(problems)h(in)g(com)o(binatorial)i(optimization)f([Rag88)q(])e (and)h(parallel)h(algorithms)h([MNN89)o(].)951 2828 y(83)p eop bop 0 195 a Fu(On)23 b(the)f(F)-6 b(uture)23 b(of)h(Randomized)f(Algorithms)0 330 y FH(These)18 b(da)o(ys,)h(randomized)g(algorithms)h(are)e(app)q(earing)j (in)e(the)f(literature)h(almost)g(as)g(often)g(as)g(con-)0 402 y(v)o(en)o(tional)h(algorithms.)34 b(It)19 b(is)i(safe)e(to)i(sa)o(y)e (that)h(there)f(are)h(at)g(least)g(sev)o(eral)g(h)o(undred)f(randomized)0 474 y(algorithms)k(that)e(ha)o(v)o(e)f(already)i(b)q(een)e(published,)j(and)e (dozens)g(more)g(are)f(b)q(eing)i(disco)o(v)o(ered)f(eac)o(h)0 546 y(y)o(ear.)27 b(W)l(e)19 b(exp)q(ect)e(this)j(trend)e(to)h(con)o(tin)o (ue)f(since,)h(as)g(w)o(e)f(ha)o(v)o(e)g(tried)h(to)f(demonstrate)h(in)g (this)g(sur-)0 618 y(v)o(ey)l(,)e(the)g(b)q(ene\014ts)h(of)g(coin)h(tossing)h (are)e(man)o(y:)24 b(e\016ciency)l(,)16 b(conceptual)j(simplicit)o(y)g(of)f (the)f(resulting)0 691 y(algorithms,)j(o)o(v)o(ercoming)e(imp)q(ossibilit)o (y)l(,)i(etc.)26 b(Sp)q(eci\014cally)l(,)19 b(w)o(e)e(exp)q(ect)g(to)h(see)g (a)g(steady)g(stream)g(of)0 763 y(randomized)12 b(algorithms)i(in)f(the)e (areas)h(of)g(computational)i(geometry)l(,)e(computational)i(biology)l(,)g (graph)0 835 y(and)k(n)o(um)o(b)q(er)f(theory)l(,)g(cryptograph)o(y)l(,)g (rob)q(otics,)i(design)f(automation,)h(op)q(erating)g(systems)f(\(paging,)0 907 y(task)f(sc)o(heduling,)g(load)g(balancing,)h(etc.\),)d(parallel)j (computing,)f(and)g(distributed)g(computing.)0 1149 y FK(Ac)n(kno)n (wledgemen)n(ts)0 1301 y FH(W)l(e)f(w)o(ould)i(lik)o(e)e(to)h(thank)g(the)f (anon)o(ymous)i(referees)d(for)i(their)f(critical)i(reading)g(of)f(the)f(man) o(uscript.)0 1373 y(Their)22 b(man)o(y)f(commen)o(ts)f(and)i(suggestions,)i (including)f(a)f(n)o(um)o(b)q(er)f(of)g(imp)q(ortan)o(t)h(p)q(oin)o(ters)h (to)e(the)0 1445 y(literature,)g(substan)o(tially)h(help)q(ed)e(to)g(impro)o (v)o(e)f(the)g(qualit)o(y)i(of)e(the)h(surv)o(ey)l(.)30 b(W)l(e)19 b(are)h(also)h(grateful)0 1518 y(for)16 b(v)m(aluable)h(in)o(teractions)f (with)g(Donna)h(Alb)q(ertus,)e(Lauren)h(Co)o(wles,)g(Gudjon)g(Hermannsson,)g (Ker-I)0 1590 y(Ko,)21 b(Jo)q(e)g(Mitc)o(hell,)g(Stev)o(e)e(Skiena,)j(and)f (Jo)q(el)g(Sp)q(encer.)33 b(Finally)l(,)23 b(w)o(e)c(w)o(ould)j(lik)o(e)e(to) h(ac)o(kno)o(wledge)0 1662 y(the)i(readers)g(of)g(comp.theory)g(who)g(resp)q (onded)h(to)g(a)f(call-for-commen)o(ts)h(on)g(an)f(earlier)h(draft)g(of)0 1734 y(the)d(pap)q(er,)i(including)h(Olivier)e(Devillers,)i(Martin)e (Dietzfelbinger,)h(Philipp)q(e)h(Fla)s(jolet,)f(Dipank)m(ar)0 1807 y(Gupta,)18 b(George)f(Ha)o(v)m(as,)g(Martin)h(Huehne,)e(Dann)o(y)i (Krizanc,)f(Bohdan)h(Ma)s(jewski,)f(Stanley)g(Selk)o(o)o(w,)0 1879 y(and)g(Mark)f(W)l(eiss.)0 2121 y FK(References)0 2263 y FH([AA88])151 b(N.)17 b(Alon)i(and)f(Y.)f(Azar.)26 b(The)18 b(a)o(v)o(erage)f(complexit)o(y)h(of)g(deterministic)h(and)f(random-)301 2335 y(ized)23 b(parallel)i(comparison-sorting)h(algorithms.)42 b FF(SIAM)24 b(Journal)f(on)h(Computing)p FH(,)301 2408 y(17:1178{119)q(2,)h (1988.)35 b(Ev)o(en)20 b(the)h(a)o(v)o(erage-case)f(b)q(eha)o(vior)i(of)f (randomized)g(parallel)301 2480 y(comparison-sorting)i(algorithms)f(is)f(sho) o(wn)f(to)g(b)q(e)g(no)g(b)q(etter)g(than)g(the)f(w)o(orst-case)301 2552 y(b)q(eha)o(vior)f(of)e(their)h(deterministic)g(coun)o(terparts.)951 2828 y(84)p eop bop 0 195 a FH([AA)o(G)125 177 y FI(+)153 195 y FH(89])86 b(K.)19 b(Abrahamson,)g(A.)f(Adler,)h(R.)f(Gilbart,)i(L.)f(Higham,)h(and)f(D.)f (Kirkpatric)o(k.)29 b(The)301 267 y(bit)24 b(complexit)o(y)e(of)h(randomized) g(leader)g(election)g(on)g(a)g(ring.)41 b FF(SIAM)23 b(Journal)h(on)301 340 y(Computing)p FH(,)c(18\(1\):12{29,)i(F)l(eb)c(1989.)30 b(Under)18 b(v)m(arious)j(assumptions)g(ab)q(out)f(global)301 412 y(kno)o(wledge,)k(the)f(bit)g(complexit)o(y)f(of)h(leader)f(election)i (on)e(async)o(hronous)i(unidirec-)301 484 y(tional)19 b(rings)e(is)g (studied.)0 598 y([AAK90])113 b(A.)18 b(Aggarw)o(al,)j(R.)e(J.)f(Anderson,)h (and)h(M.-Y.)e(Kao.)29 b(P)o(arallel)21 b(depth-\014rst)f(searc)o(h)e(in)301 670 y(general)i(directed)f(graphs.)30 b FF(SIAM)20 b(Journal)g(on)g (Computing)p FH(,)f(19\(2\):397{409)q(,)j(1990.)301 742 y(This)e(pap)q(er)f (giv)o(es)f(the)g(\014rst)h(randomized)g FF(NC)f FH(algorithm)i(for)f (depth-\014rst)f(searc)o(h)g(in)301 814 y(a)f(general)g(directed)f(graph.)0 928 y([AASS90])97 b(P)l(.)23 b(K.)g(Agarw)o(al,)j(B.)c(Arono)o(v,)i(M.)f (Sharir,)i(and)f(S.)f(Suri.)42 b(Selecting)24 b(distances)g(in)301 1000 y(the)g(plane.)43 b(In)24 b FF(Pr)n(o)n(c.)f(Sixth)i(A)o(nn.)g(A)o(CM)e (Symp.)h(on)h(Computational)f(Ge)n(ometry)p FH(,)301 1073 y(pages)19 b(321{331,)i(Berk)o(eley)l(,)16 b(CA,)h(June)h(1990.)28 b(The)18 b(authors)i(presen)o(t)d(a)h(randomized)301 1145 y(algorithm)i(for)d (computing)h(the)f FB(k)r FH(th)h(smallest)g(distance)g(in)g(a)g(set)f(of)g FB(n)h FH(p)q(oin)o(ts)g(in)g(the)301 1217 y(plane)23 b(based)f(on)g(a)g (parametric)g(searc)o(h)f(tec)o(hnique)g(of)h(Megiddo.)g(The)f(algorithm's) 301 1289 y(exp)q(ected)16 b(time)g(is)h FB(O)q FH(\()p FB(n)751 1271 y FI(4)p Fw(=)p FI(3)815 1289 y FH(log)878 1268 y FI(8)p Fw(=)p FI(3)941 1289 y FB(n)p FH(\).)0 1403 y([ABI86])135 b(N.)10 b(Alon,)j(L.)e(Babai,)h(and)g(A.)e(Itai.)j(A)e(fast)g(and)h(simple)f (randomized)h(parallel)h(algorithm)301 1475 y(for)18 b(the)f(maximal)h(indep) q(enden)o(t)f(set)g(problem.)24 b FF(Journal)19 b(of)f(A)o(lgorithms)p FH(,)f(7:567{583,)301 1548 y(1986.)27 b(An)17 b FF(indep)n(endent)k(set)d FH(in)g(a)g(graph)h(is)f(a)g(set)f(of)h(v)o(ertices,)f(no)h(t)o(w)o(o)f(of)h (whic)o(h)g(are)301 1620 y(adjacen)o(t.)12 b(A)g FF(maximal)j(indep)n(endent) h(set)d FH(is)g(an)g(indep)q(enden)o(t)g(set)f(that)h(is)g(not)g(prop)q(erly) 301 1692 y(con)o(tained)h(in)g(an)o(y)f(other)h(indep)q(enden)o(t)f(set.)g (The)g(authors)i(presen)o(t)d(a)i(simple)g(random-)301 1764 y(ized)20 b(\(Las)g(V)l(egas\))g(parallel)h(algorithm)h(for)d(this)i (problem.)e(On)h(an)f(EREW-PRAM,)301 1836 y(their)13 b(algorithm)h(uses)f Fx(j)p FB(E)s Fx(j)f FH(pro)q(cessors)i(with)f(exp)q(ected)f(running)h(time)f FB(O)q FH(\(log)1752 1815 y FI(2)1780 1836 y FB(n)p FH(\),)h(for)g(a)301 1909 y(graph)j(with)g FB(n)e FH(no)q(des)i(and)f Fx(j)p FB(E)s Fx(j)g FH(edges.)f(Motiv)m(ated)h(b)o(y)g([KW85],)f(they)g(also)j(describ)q (e)e(a)301 1981 y(derandomization)g(tec)o(hnique)c(to)i(con)o(v)o(ert)e(an)o (y)h(Mon)o(te)g(Carlo)i(parallel)g(algorithm)h(that)301 2053 y(uses)e FB(k)r FH(-wise)g(indep)q(enden)o(t)g(random)g(c)o(hoices)f(in)o(to) h(a)g(deterministic)g(parallel)h(algorithm)301 2125 y(without)i(loss)f(of)f (time)g(and)h(a)f(p)q(olynomial)j(increase)d(in)h(the)f(n)o(um)o(b)q(er)f(of) h(pro)q(cessors)i(for)301 2198 y(an)o(y)h(constan)o(t)f FB(k)r FH(.)0 2311 y([Adl91])148 b(L.)22 b(M.)g(Adleman.)38 b(F)l(actoring)23 b(n)o(um)o(b)q(ers)f(using)h(singular)h(in)o(tegers.)39 b(In)22 b FF(Pr)n(o)n(c.)f(23r)n(d)301 2384 y(A)o(nn.)g(A)o(CM)e(Symp.)g(on)h(The)n (ory)e(of)h(Computing)p FH(,)g(pages)h(64{71,)g(New)e(Orleans,)h(LA,)301 2456 y(Ma)o(y)f(1991.)30 b(Generalizing)21 b(earlier)e(w)o(ork)g(of)f(Co)q (op)q(ersmith,)j(Odlyzk)o(o)e(and)g(Sc)o(hro)q(ep-)301 2528 y(p)q(el,)c(Adleman)g(puts)f(forw)o(ard)h(an)g(e\016cien)o(t)e(randomized)i (algorithm)h(for)f(factoring)g(the)301 2600 y(in)o(tegers.)951 2828 y(85)p eop bop 0 195 a FH([AES90])128 b(P)l(.)21 b(K.)f(Agarw)o(al,)i(H.)e (Edelsbrunner,)h(and)h(O.)e(Sc)o(h)o(w)o(arzk)o(opf.)32 b(Euclidean)22 b(minim)o(um)301 267 y(spanning)16 b(trees)e(and)g(bic)o(hromatic)h(closest)g (pairs.)j(In)c FF(Pr)n(o)n(c.)g(Sixth)i(A)o(nn.)g(A)o(CM)f(Symp.)301 340 y(on)f(Computational)f(Ge)n(ometry)p FH(,)f(pages)g(203{210,)i(Berk)o (eley)l(,)d(CA,)f(June)i(1990.)j(The)c(au-)301 412 y(thors)j(presen)o(t)f(a)h (randomized)g(algorithm)h(to)f(compute)e(a)i(bic)o(hromatic)g(closest)g(pair) g(in)301 484 y(exp)q(ected)g(time)g FB(O)q FH(\(\()p FB(nm)8 b FH(log)j FB(n)d FH(log)j FB(m)p FH(\))1011 466 y FI(2)p Fw(=)p FI(3)1073 484 y FH(+)c FB(m)h FH(log)1232 463 y FI(2)1260 484 y FB(n)f FH(+)g FB(n)h FH(log)1442 463 y FI(2)1470 484 y FB(m)p FH(\))14 b(in)i(Euclidean)f(three-)301 556 y(space,)d(whic)o(h)f(yields)h(an) g FB(O)q FH(\()p FB(N)871 538 y FI(4)p Fw(=)p FI(3)935 556 y FH(log)998 535 y FI(4)p Fw(=)p FI(3)1061 556 y FB(N)5 b FH(\))11 b(exp)q(ected)f(time)h(algorithm)i(for)e(computing)301 628 y(a)17 b(Euclidean)h(minim)o(um)e(spanning)i(tree)e(of)g FB(N)22 b FH(p)q(oin)o(ts)17 b(in)g(Euclidean)h(three-space.)0 740 y([AES92])128 b(N.)16 b(Alon,)i(P)l(.)e(Erd})-24 b(os,)18 b(and)f(J.)g(H.)f (Sp)q(encer.)23 b FF(The)18 b(Pr)n(ob)n(abilistic)g(Metho)n(d)p FH(.)23 b(John)17 b(Wiley)301 812 y(and)i(Sons,)f(1992.)27 b(This)18 b(pap)q(er)h(describ)q(es)f(the)f(Probabilisti)q(c)j(Metho)q(d)e (as)g(dev)o(elop)q(ed)301 885 y(b)o(y)g(P)o(aul)h(Erd})-24 b(os)20 b(and)f(its)g(applications)i(in)e(Discrete)f(Mathematics)h(and)g (Theoretical)301 957 y(Computer)e(Science.)0 1068 y([Aga90a])116 b(P)l(.)21 b(K.)f(Agarw)o(al.)36 b(P)o(artitioning)24 b(arrangemen)o(ts)d(of) g(lines)h(I:)e(An)g(e\016cien)o(t)g(determin-)301 1141 y(istic)j(algorithm.) 38 b FF(Discr)n(ete)22 b(Computational)h(Ge)n(ometry)p FH(,)e(5:449{483,)k (1990.)37 b(Using)301 1213 y(derandomization)22 b(tec)o(hniques)e(due)g(to)g (Chazelle)h(and)f(F)l(riedman)h([CF90],)f(Agarw)o(al)301 1285 y(obtains)f(a)e(deterministic)h(algorithm)g(that,)f(giv)o(en)g(a)h(set)e Fx(L)i FH(of)f FB(n)g FH(lines)h(and)f(a)g(param-)301 1357 y(eter)f(1)f FB(<)f(r)h(<)f(n)p FH(,)i(partitions)j(the)d(plane)h(in)o(to)h FB(O)q FH(\()p FB(r)1255 1339 y FI(2)1275 1357 y FH(\))f(triangles,)g(eac)o (h)f(of)h(whic)o(h)g(meets)301 1430 y(at)k(most)f FB(O)q FH(\()p FB(n=r)q FH(\))i(lines)g(of)e Fx(L)p FH(.)g(He)g(sho)o(ws)h(that)f(the)g (algorithm)j(is)e(optimal)h(up)e(to)h(a)301 1502 y(p)q(olylog)e(factor.)0 1614 y([Aga90b])113 b(P)l(.)18 b(K.)g(Agarw)o(al.)29 b(P)o(artitioning)21 b(arrangemen)o(ts)d(of)h(lines)g(I)q(I:)e(Applications.)30 b FF(Discr)n(ete)301 1686 y(Computational)20 b(Ge)n(ometry)p FH(,)d(5:533{574,)k(1990.)28 b(Agarw)o(al)19 b(uses)f(his)h(partitioning)i (al-)301 1758 y(gorithm)i(of)g([Aga90a)q(],)f(whic)o(h)g(he)g(deriv)o(ed)f (through)i(derandomization,)i(to)e(obtain)301 1830 y(e\016cien)o(t)14 b(algorithms)k(for)d(a)g(v)m(ariet)o(y)g(of)h(problems)f(in)o(v)o(olving)i (line)e(or)h(line)g(segmen)o(ts)e(in)301 1902 y(the)k(plane)g(\(e.g.,)f (computing)i(incidence)f(b)q(et)o(w)o(een)e(p)q(oin)o(ts)k(and)e(lines,)h (implicit)g(p)q(oin)o(t)301 1975 y(lo)q(cation,)e(and)d(spanning)i(trees)d (with)i(lo)o(w)g(stabbing)g(n)o(um)o(b)q(er\).)e(These)h(algorithms)i(are)301 2047 y(deterministic,)k(faster)e(than)h(previously)h(kno)o(wn)e(algorithms,)j (and)e(optimal)h(up)f(to)g(a)301 2119 y(p)q(olylog)g(factor)e(in)g(man)o(y)e (cases.)0 2231 y([A)o(GHP90])81 b(N.)22 b(Alon,)i(O.)e(Goldreic)o(h,)j(J.)d (H\177)-24 b(astad,)24 b(and)f(R.)f(P)o(eralta.)40 b(Simple)23 b(construction)h(of)301 2303 y(almost)16 b FB(k)r FH(-wise)g(indep)q(enden)o (t)f(random)g(v)m(ariables.)21 b(In)15 b FF(Pr)n(o)n(c.)f(31st)i(A)o(nn.)h (IEEE)f(Symp.)301 2375 y(on)25 b(F)l(oundations)h(of)e(Computer)h(Scienc)n(e) p FH(,)i(pages)e(544{553,)j(1990.)46 b(Three)24 b(simple)301 2447 y(constructions)e(of)e(small)i(probabilit)o(y)g(spaces)e(on)h FB(n)f FH(bits)h(for)f(whic)o(h)h(an)o(y)f FB(k)i FH(bits)f(are)301 2520 y(almost)d(indep)q(enden)o(t)e(are)h(presen)o(ted)e(in)i(this)g(pap)q (er.)0 2631 y([AH87])151 b(L.)15 b(M.)g(Adleman)g(and)g(M.)g(A.)f(Huang.)19 b(Recognizing)e(primes)e(in)h(p)q(olynomial)h(time.)i(In)301 2704 y FF(Pr)n(o)n(c.)f(19th)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h(The)n(ory)e (of)h(Computing)p FH(,)g(pages)g(462{471,)i(1987.)951 2828 y(86)p eop bop 301 195 a FH(The)14 b(probabilisti)q(c)j(algorithms)f(of)e(Rabin)h ([Rab76)q(])f(and)g(Solo)o(v)m(a)o(y)h(and)g(Stassen)g([SS77])301 267 y(placed)23 b(the)f(problem)h(of)g(comp)q(ositeness)h(testing)f(in)g(the) f(randomized)h(complexit)o(y)301 340 y(class)c FF(RP)5 b FH(,)17 b(and)i(th)o(us)f(the)f(problem)i(of)f(primalit)o(y)h(testing)g(in)f FF(c)n(o-RP)5 b FH(.)18 b(Adleman)f(and)301 412 y(Huang)e(sho)o(w)f(that)g (primalit)o(y)h(testing)f(is)h(also)g(in)g FF(RP)5 b FH(,)13 b(thereb)o(y)f(putting)j(this)g(problem)301 484 y(in)i(the)f(in)o(tersection) h(of)g FF(RP)e FH(and)i FF(c)n(o-RP)5 b FH(.)0 596 y([AH88])151 b(L.)16 b(M.)f(Adleman)h(and)h(M.)e(A.)g(Huang.)21 b(Recognizing)c(primes)f (in)h(random)f(p)q(olynomial)301 668 y(time.)h(T)l(ec)o(hnical)c(rep)q(ort,)h (Univ)o(ersit)o(y)f(of)h(Souther)f(California,)k(Septem)o(b)q(er)12 b(1988.)18 b(The)301 740 y(authors)g(presen)o(t)e(a)h(Las)h(V)l(egas)f (algorithm)i(that)e(lo)q(oks)h(for)f(witnesses)h(to)f(comp)q(osite-)301 812 y(ness)g(as)g(w)o(ell)g(as)g(those)f(for)h(primalit)o(y)l(.)0 924 y([AH90])151 b(J.)17 b(Aspnes)h(and)g(M.)e(Herlih)o(y)l(.)25 b(F)l(ast)18 b(randomized)g(consensus)g(using)h(shared)e(memory)l(.)301 996 y FF(Journal)g(of)f(A)o(lgorithms)p FH(,)f(11\(3\),)h(1990.)k(An)15 b(exp)q(ected)f FB(O)q FH(\()p FB(n)1433 978 y FI(4)1453 996 y FH(\))h(op)q(erations)j(are)d(needed)301 1068 y(for)i(the)f(solution)i (presen)o(ted.)0 1180 y([AH91])151 b(W.)15 b(Aiello)i(and)e(J.)g(Hastad.)20 b(P)o(erfect)14 b(zero-kno)o(wledge)i(languages)h(can)e(b)q(e)h(recognized) 301 1252 y(in)i(t)o(w)o(o)g(rounds.)25 b FF(Journal)19 b(of)f(Computer)h(and) f(System)h(Scienc)n(es)p FH(,)h(42:327{345,)g(1991.)301 1325 y(This)d(pap)q(er)g(sho)o(ws)f(that)h(if)f FB(L)g FH(has)h(a)f FF(p)n(erfe)n(ct)g FH(zero-kno)o(wledge)g(pro)q(of)h(\(see)e([F)o(GM)1859 1307 y FI(+)1888 1325 y FH(89])301 1397 y(for)e(a)g(de\014nition\),)i(then)d FB(L)h FH(has)h(a)f(t)o(w)o(o-round)g(in)o(teractiv)o(e)g(pro)q(of)h(if)f (the)f(v)o(eri\014er)g(\(of)h(this)301 1469 y(new)19 b(IP)f(pro)q(of)s(\))i (is)f(p)q(ermitted)f(a)h(small)h(probabilit)o(y)g(of)f(error)f(in)h (accepting)g(a)g(string)301 1541 y FB(w)e FH(as)e(b)q(eing)h(in)g(a)f (language)i FB(L)p FH(.)e(An)g(earlier)h(v)o(ersion)f(of)g(this)h(pap)q(er)g (app)q(eared)f(in)h FF(Pr)n(o)n(c.)301 1614 y(28th)i(A)o(nn.)g(IEEE)f(Symp.)g (on)h(F)l(oundations)g(of)g(Computer)f(Scienc)n(e)p FH(,)h(1987.)0 1725 y([AKS87])123 b(M.)34 b(Ajtai,)k(J.)33 b(Koml\023)-24 b(os,)39 b(and)c(E.)f(Szemer)o(\023)-23 b(edi.)73 b(Deterministic)34 b(sim)o(ulation)i(in)301 1797 y(LOGSP)l(A)o(CE.)19 b(In)13 b FF(Pr)n(o)n(c.)i(19th)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h(The)n(ory)e(of)i (Computing)p FH(,)e(pages)301 1870 y(132{140,)23 b(1987.)34 b(The)20 b(authors)h(presen)o(t)e(an)i(explicit)f(construction)h(of)f(m)o (ultigraphs)301 1942 y(based)f(on)f(expanders)g(for)g(deterministic)h (ampli\014cation.)h(Using)e(these)g(m)o(ultigraphs,)301 2014 y(Cohen)h(and)g(Wigderson)h([CW89)q(])e(sho)o(w)h(that)g(the)f(error)h (probabilit)o(y)h(of)f(an)o(y)g FF(RP)f FH(or)301 2086 y FF(BPP)e FH(algorithm)h(can)e(b)q(e)g(made)g(exp)q(onen)o(tially)h(small)h(in)f(the)e (size)h(of)h(the)f(input,)g(with)301 2159 y(only)24 b(a)f(constan)o(t)h (factor)f(increase)g(in)g(the)g(n)o(um)o(b)q(er)f(of)h(random)g(bits)h(used)f (b)o(y)f(the)301 2231 y(algorithm.)0 2342 y([Ale82])153 b(R.)19 b(Aleliunas.)31 b(Randomized)19 b(parallel)i(comm)o(unication)f (\(preliminary)g(v)o(ersion\).)29 b(In)301 2415 y FF(Pr)n(o)n(c.)18 b(First)g(A)o(nn.)h(A)o(CM)f(Symp.)h(on)g(Principles)g(of)g(Distribute)n(d)f (Computing)p FH(,)g(pages)301 2487 y(60{72,)h(1982.)24 b(This)18 b(pap)q(er)g(presen)o(ts)e(a)h(randomized)h(algorithm)h(for)e(pac)o(k)o(et)e (deliv)o(ery)301 2559 y(that)g(deliv)o(ers)e(a)i(set)e(of)h FB(n)g FH(pac)o(k)o(ets)f(tra)o(v)o(eling)h(to)h(unique)f(targets)g(from)g (unique)g(sources)301 2631 y(in)25 b FB(O)q FH(\(log)11 b FB(n)p FH(\))24 b(exp)q(ected)f(time)h(on)h(a)f(\014nite)h(degree)e(in)o (terconnection)i(net)o(w)o(ork)e(of)i FB(n)301 2704 y FH(pro)q(cessors.)951 2828 y(87)p eop bop 0 195 a FH([All87])162 b(E.)15 b(W.)f(Allender.)19 b(Some)14 b(consequences)g(of)h(the)g(existence)f(of)h(pseudorandom)h(genera-)301 267 y(tors.)h(In)12 b FF(Pr)n(o)n(c.)i(19th)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h (The)n(ory)e(of)h(Computing)p FH(,)g(pages)g(151{159,)301 340 y(1987.)26 b(Connections)19 b(b)q(et)o(w)o(een)d(pseudorandom)j(generation,)f (Kolmogoro)o(v)h(complex-)301 412 y(it)o(y)l(,)d(and)h(imm)o(unit)o(y)f(prop) q(erties)h(of)g(complexit)o(y)e(classes)j(are)e(describ)q(ed.)0 526 y([ALM)126 507 y FI(+)155 526 y FH(92])84 b(S.)22 b(Arora,)h(C.)f(Lund,)i (R.)e(Mot)o(w)o(ani,)h(M.)f(Sundar,)h(and)g(M.)e(Szegedy)l(.)38 b(V)l(eri\014cation)301 598 y(and)16 b(hardness)g(of)f(appro)o(ximation)i (problems.)j(In)15 b FF(Pr)n(o)n(c.)g(33r)n(d)g(A)o(nn.)i(IEEE)g(Symp.)f(on) 301 670 y(F)l(oundations)i(of)e(Computer)g(Scienc)n(e)p FH(,)h(pages)f (14{23,)h(1992.)k(This)16 b(pap)q(er)g(extends)e(the)301 742 y(results)h(in)f([AS92])g(to)g(sho)o(w)g(that)g(unless)h FB(P)21 b FH(=)14 b FB(N)5 b(P)i FH(,)14 b(the)f(size)h(of)g(the)g(maxim)o(um)f (clique)301 814 y(cannot)j(b)q(e)f(appro)o(ximated)g(within)i(a)e(factor)g (of)h FB(n)1244 796 y Fw(\017)1275 814 y FH(for)f(some)g FB(\017)e(>)h FH(0,)h(unless)h FB(P)21 b FH(=)14 b FB(N)5 b(P)i FH(.)0 928 y([AM93])143 b(S.)22 b(Ary)o(a)f(and)i(D.)e(M.)g(Moun)o(t.)38 b(Appro)o(ximate)22 b(nearest)g(neigh)o(b)q(or)h(queries)f(in)g(\014xed)301 1000 y(dimensions.)e(In)14 b FF(Pr)n(o)n(c.)h(F)l(ourth)g(A)o(nn.)h(A)o (CM-SIAM)g(Symp.)g(on)g(Discr)n(ete)f(A)o(lgorithms)p FH(,)301 1073 y(pages)21 b(271{280,)h(Austin,)f(TX,)e(Jan)o(uary)g(1993.)33 b(A)19 b(randomized)h(algorithm)h(for)f(ap-)301 1145 y(pro)o(ximate)c (nearest)f(neigh)o(b)q(or)i(searc)o(hing)f(is)g(giv)o(en.)f(Consider)i(a)f (set)f FB(S)j FH(of)e FB(n)g FH(p)q(oin)o(ts)g(in)301 1217 y FB(d)p FH(-dimensional)22 b(Euclidean)e(space,)e(where)g FB(d)h FH(is)h(a)e(constan)o(t)h(indep)q(enden)o(t)g(of)g FB(n)p FH(.)f(The)301 1289 y(authors)k(pro)q(duce)e(a)h(data)g(structure,)f(suc)o(h) g(that)h(giv)o(en)f(an)o(y)g(query)g(p)q(oin)o(t,)h(a)g(p)q(oin)o(t)301 1362 y(of)f FB(S)i FH(will)g(b)q(e)d(rep)q(orted)h(whose)g(distance)g(from)f (the)g(query)g(p)q(oin)o(t)h(is)h(at)e(most)h(a)g(fac-)301 1434 y(tor)d(of)g(\(1)12 b(+)f FB(\017)p FH(\))17 b(from)f(that)h(of)g(the)g (true)f(nearest)h(neigh)o(b)q(or.)g(Their)h(algorithm)g(runs)f(in)301 1506 y FB(O)q FH(\(log)422 1485 y FI(3)450 1506 y FB(n)p FH(\))d(exp)q(ected) f(time)g(and)i(requires)e FB(O)q FH(\()p FB(n)8 b FH(log)k FB(n)p FH(\))i(space.)f(The)h(data)g(structure)g(can)301 1578 y(b)q(e)j(built)g(in)g FB(O)q FH(\()p FB(n)627 1560 y FI(2)648 1578 y FH(\))f(exp)q(ected)f(time.)h(The)g(constan)o(t)h(factors)g(dep)q(end) f(on)h FB(d)f FH(and)h FB(\017)p FH(.)0 1692 y([AN93])151 b(N.)15 b(Alon)h(and)h(M.)e(Naor.)20 b(Coin-\015ipping)f(games)d(imm)o(une)f(against) j(linear-sized)f(coali-)301 1764 y(tions.)d FF(SIAM)e(Journal)h(on)g (Computing)p FH(,)f(22\(2\):403{417,)j(1993.)e(The)e(authors)h(consider)301 1836 y(the)17 b(problem)h(of)f(distributed)i(coin-\015ipping)h(and)e (leader-election)g(algorithms)h(where)301 1909 y(ev)o(ery)g(pro)q(cess)j(has) f(complete)f(information.)i(They)f(sho)o(w)g(that)g(for)g(ev)o(ery)e(constan) o(t)301 1981 y FB(c)e(<)g FH(1)i(there)e(are)h(proto)q(cols)i(in)o(v)o (olving)g FB(n)e FH(pro)q(cesses)g(in)h(whic)o(h)f(no)h(group)g(of)f FB(cn)g FH(pro-)301 2053 y(cesses)g(can)g(in\015uence)f(the)h(outcome)f(with) i(probabilit)o(y)h(greater)e(than)g FB(K)t(c)p FH(,)g(where)f FB(K)301 2125 y FH(is)g(a)g(univ)o(ersal)g(constan)o(t.)0 2239 y([Ang80])137 b(D.)19 b(Angluin.)30 b(Lo)q(cal)20 b(and)g(global)h(prop)q (erties)e(in)h(net)o(w)o(orks)e(of)h(pro)q(cessors.)30 b(In)18 b FF(Pr)n(o)n(c.)301 2311 y(12th)24 b(A)o(nn.)g(A)o(CM)e(Symp.)i(on)f(The)n (ory)f(of)i(Computing)p FH(,)g(pages)f(82{93,)j(1980.)42 b(The)301 2384 y(capabilities)15 b(of)e(net)o(w)o(orks)f(con)o(taining)i(no)q(des)f (with)h(non-unique)f(names)f(are)h(analyzed.)301 2456 y(It)22 b(is)g(sho)o(wn)h(that)f(there)f(exist)h(net)o(w)o(orks)g(in)g(whic)o(h)g(it) g(is)h FF(not)k FH(p)q(ossible)d(to)e(elect)g(a)301 2528 y(leader)17 b(\(F)l(or)g(example,)e(in)j(a)e(ring)i(with)f(four)g(no)q(des\).)g(Other)f (computations,)h(suc)o(h)f(as)301 2600 y(determining)h(top)q(ology)l(,)h(are) f(also)g(considered.)951 2828 y(88)p eop bop 0 195 a FH([AS89])161 b(C.)16 b(Aragon)g(and)g(R.)f(Seidel.)21 b(Randomized)16 b(searc)o(h)f(trees.)k(In)c FF(Pr)n(o)n(c.)h(30th)h(A)o(nn.)g (IEEE)301 267 y(Symp.)j(on)f(F)l(oundations)i(of)e(Computer)g(Scienc)n(e)p FH(,)i(pages)e(540{545,)j(1989.)29 b(A)18 b(simple)301 340 y(randomized)e(algorithm)i(for)e(main)o(taining)h(balance)g(in)f(dynamic)g (searc)o(h)f(trees)g(is)h(pre-)301 412 y(sen)o(ted.)h(The)h(exp)q(ected)f (time)h(for)g(an)h(up)q(date)g(is)f FB(O)q FH(\(log)11 b FB(n)p FH(\))18 b(on)h(a)f(tree)g(with)g FB(n)h FH(no)q(des,)301 484 y(and)e(in)o(v)o(olv)o(es)f(few)o(er)g(than)h(t)o(w)o(o)f(rotations)i(to)f (re-balance)g(the)f(tree.)0 596 y([AS91a])137 b(P)l(.)20 b(K.)f(Agarw)o(al)i (and)f(M.)g(Sharir.)32 b(Coun)o(ting)22 b(circular)e(arc)g(in)o(tersections.) 33 b(In)19 b FF(Pr)n(o)n(c.)301 668 y(Seventh)j(A)o(nn.)e(A)o(CM)g(Symp.)f (on)h(Computational)g(Ge)n(ometry)p FH(,)e(pages)h(10{20,)i(North)301 740 y(Con)o(w)o(a)o(y)l(,)15 b(NH,)f(June)i(1991.)21 b(Tw)o(o)16 b(randomized)g(algorithms)h(are)e(presen)o(ted.)f(The)i(\014rst)301 812 y(coun)o(ts)g(in)o(tersections)g(in)g(a)g(collection)h(of)f FB(n)f FH(circles)h(in)g(exp)q(ected)f(time)g FB(O)q FH(\()p FB(n)1746 794 y FI(3)p Fw(=)p FI(2+)p Fw(\017)1844 812 y FH(\),)g(for)301 885 y(an)o(y)f FB(\017)f(>)h FH(0.)f(The)h(other)f(coun)o(ts)h(in)o (tersections)g(in)g(a)g(set)f(of)h FB(n)f FH(circular)h(arcs)g(in)g(exp)q (ected)301 957 y(time)k FB(O)q FH(\()p FB(n)500 939 y FI(5)p Fw(=)p FI(3+)p Fw(\017)598 957 y FH(\),)g(for)g(an)o(y)g FB(\017)f(>)g FH(0.)h(If)g(all)i(arcs)e(ha)o(v)o(e)g(the)f(same)i(radius,)g(the)f(exp)q (ected)301 1029 y(time)e(can)h(b)q(e)f(impro)o(v)o(ed)g(to)h FB(O)q FH(\()p FB(n)927 1011 y FI(3)p Fw(=)p FI(2+)p Fw(\017)1024 1029 y FH(\).)0 1141 y([AS91b])134 b(F.)27 b(Aurenhammer)g(and)h(O.)f(Sc)o(h) o(w)o(arzk)o(opf.)53 b(A)27 b(simple)i(on-line)g(randomized)f(al-)301 1213 y(gorithm)g(for)e(computing)i(higher)f(order)f(V)l(oronoi)i(diagrams.)53 b(In)26 b FF(Pr)n(o)n(c.)g(Seventh)301 1285 y(A)o(nn.)c(A)o(CM)e(Symp.)h(on)g (Computational)h(Ge)n(ometry)p FH(,)d(pages)i(142{151,)i(North)d(Con-)301 1357 y(w)o(a)o(y)l(,)j(NH,)e(June)h(1991.)40 b(They)21 b(presen)o(t)h(a)g (simple)h(on-line)g(randomized)g(algorithm)301 1430 y(that)d(can)f(compute)g (the)g(order-)p FB(k)j FH(V)l(oronoi)e(Diagram)h(for)f FB(n)f FH(sites)h(in)g(exp)q(ected)e(time)301 1502 y FB(O)q FH(\()p FB(nk)414 1484 y FI(2)443 1502 y FH(log)10 b FB(n)i FH(+)f FB(nk)f FH(log)731 1480 y FI(3)759 1502 y FB(n)p FH(\))16 b(and)h(optimal)h (space)e FB(O)q FH(\()p FB(k)r FH(\()p FB(n)c Fx(\000)f FB(k)r FH(\)\).)0 1614 y([AS92])161 b(S.)19 b(Arora)g(and)g(S.)g(Safra.)30 b(Probabilistic)22 b(c)o(hec)o(king)c(pro)q(ofs;)j(a)e(new)g(c)o (haracterization)301 1686 y(of)c(NP.)k(In)14 b FF(Pr)n(o)n(c.)h(33r)n(d)g(A)o (nn.)h(IEEE)g(Symp.)g(on)g(F)l(oundations)h(of)f(Computer)g(Scienc)n(e)p FH(,)301 1758 y(pages)k(2{11,)h(1992.)32 b(The)19 b(class)h(NP)f(is)h(sho)o (wn)g(to)g(b)q(e)f(the)g(class)h(of)g(languages)h(L)f(for)301 1830 y(whic)o(h)f(mem)o(b)q(ership)f(can)h(b)q(e)g(v)o(eri\014ed)f (probabilistical)q(ly)k(in)d(p)q(olynomial)i(time)e(using)301 1902 y(a)e(logarithmic)h(n)o(um)o(b)q(er)e(of)h(random)f(bits)h(and)g (sub-logarithmic)i(n)o(um)o(b)q(er)d(of)g(queries.)0 2014 y([Au)o(w89])127 b(B.)20 b(Au)o(w)o(erbuc)o(h.)32 b(Randomized)21 b(distributed)h(shortest)f (path)g(algorithms.)36 b(In)20 b FF(Pr)n(o)n(c.)301 2086 y(21st)i(A)o(nn.)g (A)o(CM)f(Symp.)h(on)g(The)n(ory)e(of)i(Computing)p FH(,)g(pages)g(490{500,)i (1989.)36 b(An)301 2159 y(algorithm)17 b(that)e(requires)g FB(O)q FH(\()p FB(D)906 2140 y FI(1+)p Fw(\017)969 2159 y FH(\))f(time)h(and) g FB(O)q FH(\()p FB(E)1301 2140 y FI(1+)p Fw(\017)1363 2159 y FH(\))g(messages,)g(for)f(an)o(y)h FB(\017)f(>)f FH(0,)i(is)301 2231 y(presen)o(ted,)f(where)g FB(E)k FH(is)d(the)f(n)o(um)o(b)q(er)g(of)h (edges)f(in)i(the)e(graph)h(and)g FB(D)i FH(is)e(its)g(diameter.)301 2303 y(The)g(lo)o(w)o(er)f(b)q(ounds)i(are)e(\012\()p FB(D)q FH(\))h(and)g(\012\()p FB(E)s FH(\))f(resp)q(ectiv)o(ely)l(.)g(The)g (algorithm)i(is)f(extended)301 2375 y(to)i(determine)f(shortest)g(paths)h (when)g(the)f(edges)g(ha)o(v)o(e)g(w)o(eigh)o(ts.)0 2487 y([A)o(UY83])115 b(A.)16 b(Aho,)f(J.)h(Ullman,)h(and)f(M.)g(Y)l(annak)m(akis.)22 b(On)16 b(notations)i(of)f(information)h(transfer)301 2559 y(in)i(VLSI)f(circuits.)30 b(In)18 b FF(Pr)n(o)n(c.)h(15th)h(A)o(nn.)h(A)o (CM)e(Symp.)h(on)g(The)n(ory)f(of)h(Computing)p FH(,)301 2631 y(pages)15 b(133{139,)h(1983.)i(This)d(pap)q(er)f(presen)o(ts)f(an)h(in)o (teresting)g(result)g(on)g(probabilistic)301 2704 y(algorithms)19 b(that)f(admit)f(no)h(error:)k(the)17 b(comm)o(unication)g(complexit)o(y)g (\(measured)f(in)951 2828 y(89)p eop bop 301 195 a FH(bits\))25 b(of)f(the)g(deterministic)g(solution)i(can)e(b)q (e)g(no)g(more)g(than)g(the)f(square)h(of)g(the)301 267 y(message)17 b(complexit)o(y)f(of)g(an)o(y)h(randomized)f(solution.)0 381 y([A)-5 b(V79])156 b(D.)18 b(Angluin)h(and)f(L.)g(G.)g(V)l(alian)o(t.)27 b(F)l(ast)18 b(probabilistic)j(algorithms)f(for)e(Hamiltonian)301 453 y(circuits)13 b(and)f(matc)o(hing.)i FF(Journal)g(of)f(Computer)g(and)g (System)h(Scienc)n(es)p FH(,)g(18\(2\):82{93,)301 526 y(1979.)22 b(The)16 b(authors)h(presen)o(t)e(t)o(w)o(o)g(algorithms)j(with)f FB(O)q FH(\()p FB(n)p FH(\(log)11 b FB(n)p FH(\))1546 507 y FI(2)1566 526 y FH(\))k(running)i(time)f(for)301 598 y(Hamiltonian)k (circuits)e(and)f(an)h FB(O)q FH(\()p FB(n)8 b FH(log)j FB(n)p FH(\))17 b(algorithm)i(to)f(\014nd)f(p)q(erfect)g(matc)o(hing)g(in)301 670 y(random)g(graphs)g(with)g(at)g(least)g FB(c)f(n)8 b FH(log)j FB(n)16 b FH(edges,)g(where)g FB(c)g FH(is)h(an)o(y)f(p)q(ositiv)o(e)h (constan)o(t.)0 784 y([A)-5 b(W89])143 b(M.)18 b(Ajtai)h(and)g(A.)e (Wigderson.)29 b(Deterministic)20 b(solution)g(of)f(probabilistic)j(constan)o (t)301 856 y(depth)16 b(circuits.)22 b(In)15 b(S.)h(Micali,)h(editor,)f FF(A)n(dvanc)n(es)i(in)g(Computing)f(R)n(ese)n(ar)n(ch)f(5:)22 b(R)n(an-)301 928 y(domness)j(and)f(Computation)p FH(,)h(Green)o(wic)o(h,)f (CT,)g(1989.)g(JAI)f(Press.)43 b(A)23 b(family)h(of)301 1000 y(pseudo-random)d(n)o(um)o(b)q(er)e(generators)h(whic)o(h)g(app)q(ear)h (random)f(to)g(an)o(y)f(p)q(olynomial)301 1073 y(size)12 b(logic)g(circuit)g (of)f(constan)o(t)h(depth)f(and)g(un)o(b)q(ounded)h(fan-in)h(is)f (demonstrated.)e(Suc)o(h)301 1145 y(pseudorandom)21 b(generators)g(can)f(b)q (e)g(substituted)h(for)f(random-n)o(um)o(b)q(er)g(generators)301 1217 y(in)j(applications)h(suc)o(h)e(as)g(building)i(simple)e(appro)o (ximations)i(to)e(complex)g(b)q(o)q(olean)301 1289 y(functions)c([V)l(al84a)q (].)0 1403 y([A)-5 b(W92])143 b(J.)20 b(Aspnes)h(and)g(O.)f(W)l(aarts.)34 b(Randomized)21 b(consensus)g(in)g FB(O)q FH(\()p FB(n)8 b FH(log)1632 1382 y FI(2)1660 1403 y FB(n)p FH(\))21 b(op)q(erations)301 1475 y(p)q(er)d(pro)q(cessor.)25 b(In)17 b FF(Pr)n(o)n(c.)g(33r)n(d)g(A)o (nn.)i(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)301 1548 y(Scienc)n(e)p FH(,)k(pages)e(137{146,)i(1992.)32 b(An)19 b(async)o(hronous)i(algorithm)g(is)f(presen)o(ted)f(that)301 1620 y(ac)o(hiev)o(es)14 b(randomized)g(consensus)h(using)g FB(O)q FH(\()p FB(n)8 b FH(log)1252 1598 y FI(2)1280 1620 y FB(n)p FH(\))14 b(read)h(and)f(write)g(op)q(erations)j(on)301 1692 y(shared-memory)22 b(registers.)g(This)g(impro)o(v)o(es)g(on)g(the)f FB(O)q FH(\()p FB(n)1437 1674 y FI(2)1466 1692 y FH(log)10 b FB(n)p FH(\))22 b(w)o(orst-case)g(com-)301 1764 y(plexit)o(y)17 b(of)f(the)g(b)q(est)h(previously-kno)o(wn)h(algorithm.)0 1878 y([Bab85])139 b(L.)21 b(Babai.)35 b(T)l(rading)22 b(group)f(theory)g(for)f (randomness.)35 b(In)20 b FF(Pr)n(o)n(c.)g(17th)h(A)o(nn.)h(A)o(CM)301 1950 y(Symp.)e(on)g(The)n(ory)e(of)i(Computing)p FH(,)f(pages)h(421{429,)h (1985.)30 b(This)20 b(pap)q(er)f(dev)o(elop)q(es)301 2022 y(in)o(teractiv)o (e)e(pro)q(ofs)h(to)g(classify)g(certain)g(group-theoretic)g(problems)g(and)f (in)o(tro)q(duces)301 2095 y(an)g(alternativ)o(e)g(notion)h(of)e(in)o (teractiv)o(e)g(pro)q(ofs)i(for)e(complexit)o(y-theoretic)g(analysis.)0 2208 y([Bab91])139 b(L.)16 b(Babai.)22 b(Lo)q(cal)c(expansion)f(of)f(v)o (ertex-transitiv)o(e)g(graphs)h(and)f(random)h(generation)301 2281 y(in)k(\014nite)g(groups.)34 b(In)19 b FF(Pr)n(o)n(c.)h(23r)n(d)g(A)o (nn.)i(A)o(CM)e(Symp.)h(on)g(The)n(ory)f(of)h(Computing)p FH(,)301 2353 y(pages)f(164{174,)i(New)c(Orleans,)i(LA,)f(Ma)o(y)f(1991.)31 b(Babai)19 b(presen)o(ts)g(a)g(Mon)o(te)f(Carlo)301 2425 y(algorithm)25 b(that)d(constructs)h(an)g(e\016cien)o(t)e(nearly)i(uniform)g(random)g (generator)g(for)301 2497 y(\014nite)17 b(groups)g(in)g(a)g(v)o(ery)e (general)i(setting.)0 2611 y([Bac91])144 b(E.)17 b(Bac)o(h.)22 b(Realistic)c(analysis)h(of)e(some)g(randomized)g(algorithms.)25 b FF(Journal)18 b(of)g(Com-)301 2683 y(puter)f(and)f(System)g(Scienc)n(es)p FH(,)g(42:30{53,)h(1991.)j(Bac)o(h's)14 b(analysis)i(justi\014es)g(the)e(use) h(of)951 2828 y(90)p eop bop 301 195 a FH(pseudo-random)22 b(substitutes)f(for)f(true)g(random-n)o(um) o(b)q(er)g(generators)g(in)h(a)f(random)301 267 y(primalit)o(y)e(tester)e (and)g(a)h(probabilistic)i(algorithm)g(for)d(computing)h(square)g(ro)q(ots.)0 381 y([BB88])155 b(G.)13 b(Brassard)h(and)f(P)l(.)g(Bratley)l(.)i FF(A)o(lgorithmics:)21 b(The)n(ory)14 b(and)g(Pr)n(actic)n(e)p FH(.)i(Pren)o(tice-Hall,)301 453 y(1988.)28 b(This)20 b(b)q(o)q(ok)f(con)o (tains)g(a)f(v)o(ery)f(nice)h(c)o(hapter)g(on)g(probabilisti)q(c)j (algorithms)f(for)301 526 y(a)d(v)m(ariet)o(y)f(of)h(problems)g(suc)o(h)f(as) h(n)o(umerical)f(in)o(tegration,)i(sorting,)f(and)g(set)f(equalit)o(y)l(.)0 639 y([BBC)119 621 y FI(+)147 639 y FH(88])92 b(P)l(.)14 b(Beauc)o(hemin,)f (G.)h(Brassard,)h(C.)f(Cr)o(\023)-23 b(ep)q(eau,)14 b(C.)g(Goutier,)h(and)f (C.)g(P)o(omerance.)j(The)301 711 y(generation)c(of)g(random)f(n)o(um)o(b)q (ers)f(that)i(are)f(probably)h(prime.)h FF(Journal)f(of)g(Cryptolo)n(gy)p FH(,)301 784 y(1\(1\):53{64,)23 b(1988.)32 b(The)20 b(authors)g(mak)o(e)f(t)o (w)o(o)h(in)o(triguing)i(observ)m(ations)f(on)f(Rabin's)301 856 y(probabilisti)q(c)g(primalit)o(y)f(test)e([Rab76)q(],)g(the)g(sub)s (ject)g(of)g(Section)h(2.2)g(of)g(this)g(surv)o(ey)l(.)301 928 y(The)d(\014rst)g(is)g(a)g(pro)o(v)o(o)q(cativ)o(e)f(reason)h(wh)o(y)f (Rabin's)h(test)g(is)g(so)g(go)q(o)q(d.)h(It)e(turns)h(out)g(that)301 1000 y(a)21 b(single)h(iteration)g(of)f(his)g(algorithm)h(has)f(a)g (non-negligibl)q(e)i(probabilit)o(y)f(of)f(failing)301 1073 y(only)c(on)f(comp)q(osite)h(n)o(um)o(b)q(ers)f(that)g(can)g(actually)h(b)q (e)f(split)i(in)e(exp)q(ected)f(p)q(olynomial)301 1145 y(time.)j(Therefore,)g (factoring)h(w)o(ould)g(b)q(e)g(easy)f(if)g(Rabin's)h(test)f(systematically)i (failed)301 1217 y(with)h(a)f(25\045)g(probabilit)o(y)h(on)f(eac)o(h)f(comp)q (osite)i(in)o(teger)e(\(whic)o(h,)h(of)g(course,)g(it)g(do)q(es)301 1289 y(not\).)d(The)f(authors)i(also)g(in)o(v)o(estigate)e(the)h(question)g (of)f(ho)o(w)h(reliable)h(Rabin's)f(test)f(is)301 1362 y(when)i(used)g(to)h (generate)e(a)h(random)h(in)o(teger)f(that)g(is)h(probably)g(prime,)f(rather) f(than)301 1434 y(to)g(test)f(a)h(sp)q(eci\014c)f(in)o(teger)h(for)f (primalit)o(y)l(.)0 1548 y([BBP91])122 b(J.)24 b(Bo)o(y)o(ar,)g(G.)g (Brassard,)i(and)e(R.)g(P)o(eralta.)44 b(Sub)q(quadratic)25 b(zero-kno)o(wledge.)44 b(In)301 1620 y FF(Pr)n(o)n(c.)23 b(32nd)g(A)o(nn.)h (IEEE)f(Symp.)g(on)g(F)l(oundations)h(of)g(Computer)f(Scienc)n(e)p FH(,)i(pages)301 1692 y(69{78,)17 b(1991.)j(This)c(w)o(ork)e(reduces)g(the)h (comm)o(unication)g(complexit)o(y)f(of)h(the)g(b)q(o)q(olean)301 1764 y(Satis\014abili)q(t)o(y)22 b(problem)e(of)g(size)g FB(n)g FH(to)g FB(O)q FH(\()p FB(n)1133 1746 y FI(1+)p Fw(\017)1192 1750 y Fv(n)1230 1764 y FH(+)13 b FB(k)1328 1729 y Fx(p)p 1370 1729 30 2 v 35 x FB(n)1399 1738 y FI(1+)p Fw(\017)1458 1742 y Fv(n)1481 1764 y FH(\))20 b(bits)h(while)f(pro)o(viding)301 1836 y(a)e(probabilit)o(y)i(of)e(undetected)f(c)o(heating)h(not)g(greater)g (than)g(2)1491 1818 y Ft(\000)p Fw(k)1540 1836 y FH(,)g(where)f FB(\017)1734 1843 y Fw(n)1775 1836 y FH(tends)h(to)301 1909 y(zero)e(as)h FB(n)g FH(tends)f(to)h(in\014nit)o(y)l(.)0 2022 y([BBS86])128 b(M.)17 b(Blum,)g(L.)g(Blum,)g(and)g(M.)g(Sh)o(ub.)24 b(A)16 b(simple)i(and)g(secure)f(pseudo-random)h(n)o(um-)301 2095 y(b)q(er)f(generator.)23 b FF(SIAM)18 b(Journal)g(on)g(Computing)p FH(,)f(15:364{383,)i(1986.)24 b(Tw)o(o)17 b(pseudo-)301 2167 y(random)i(sequence)e(generators)i(are)f(presen)o(ted)g(whic)o(h,)g(from)g (small)i(seeds,)e(generate)301 2239 y(long)k(w)o(ell-distributed)g (sequences.)c(The)i(\014rst,)g(1)p FB(=P)28 b FH(generator,)21 b(is)f(completely)g(pre-)301 2311 y(dictable)14 b(from)f(a)g(small)i(segmen)o (t)d(of)h(its)h(output.)f(The)g(second,)g FB(x)1521 2293 y FI(2)1590 2311 y FH(\(mo)q(d)k FB(N)5 b FH(\))14 b(genera-)301 2384 y(tor,)f(is)f FF(crypto)n(gr)n(aphic)n(al)r(ly)g(se)n(cur)n(e)f FH(as)h(its)g(sequence)e(is)i(p)q(olynomial-time)i(unpredictable)301 2456 y(\(if)j(quadratic)g(residuacit)o(y)g(problem)g(is)g(indeed)f(hard\).)0 2570 y([BC86])155 b(G.)18 b(Brassard)g(and)h(C.)e(Cr)o(\023)-23 b(ep)q(eau.)26 b(Zero-kno)o(wledge)18 b(sim)o(ulation)i(of)e(b)q(o)q(olean)i (circuits.)301 2642 y(In)15 b FF(A)n(dvanc)n(es)h(in)h(Cryptolo)n(gy{CR)l (YPTO)e(86,)h FH(Lecture)e(Notes)h(in)g(Computer)g(Science,)951 2828 y(91)p eop bop 301 195 a FH(V)l(ol.)18 b(263,)g(pages)g(223{233.)h(Springer-V)l(erlag,)g (1986.)26 b(An)17 b(imp)q(ortan)o(t)h(result)g(b)o(y)f(Gol-)301 267 y(dreic)o(h,)e(Micali,)g(and)g(Wigderson)h(in)g(the)e(design)h(of)g (cryptographic)h(proto)q(cols)g(asserts)301 340 y(that)23 b(if)g(one-w)o(a)o (y)f(functions)h(exit)g(then)f(ev)o(ery)f(language)j(in)f FF(NP)f FH(has)h(a)g(minim)o(um-)301 412 y(kno)o(wledge)16 b(con\014rming)f(in)o (teractiv)o(e)g(pro)q(of.)g(This)h(pap)q(er)f(pro)o(v)o(es)f(a)i(similar)g (result)g(un-)301 484 y(der)e(the)f(assumption)i(that)f(certain)g(n)o(um)o(b) q(er-theoretic)f(computations)i(are)f(infeasible.)0 598 y([BCC88])120 b(G.)12 b(Brassard,)h(D.)f(Chaum,)h(and)g(C.)e(Cr)o(\023)-23 b(ep)q(eau.)15 b(Minim)o(um)d(disclosure)h(pro)q(ofs)h(of)e(kno)o(wl-)301 670 y(edge.)26 b FF(Journal)19 b(of)g(Computer)g(and)g(System)g(Scienc)n(es)p FH(,)h(37:156{189,)h(1988.)27 b(The)18 b(au-)301 742 y(thors)23 b(presen)o(t)e(a)g(generalized)i(p)q(erfect)e(zero-kno)o(wledge)h(in)o (teractiv)o(e)f(pro)q(of)h(sc)o(heme)301 814 y(that)f(is)g(v)m(alid)h(for)f (an)o(y)f(problem)h(in)g FF(NP)5 b FH(.)21 b(Con)o(tains)h(proto)q(cols)g (that)f(allo)o(w)h(\\P)o(eggy)l(,)301 887 y(the)e(pro)o(v)o(er,")f(to)h(con)o (vince)g(\\Vic,)g(the)f(v)o(eri\014er,")h(that)g(she)g(has)g(a)g (certi\014able)h(secret)301 959 y(without)e(disclosing)i(it.)d(The)f(authors) i(use)f(a)g(notion)h(they)e(call)i(bit-commitmen)o(t,)f(to)301 1031 y(accomplish)g(these)e(minim)o(um)g(disclosure)i(pro)q(ofs.)0 1145 y([BCD)121 1127 y FI(+)150 1145 y FH(89])89 b(A.)17 b(Boro)q(din,)i(S.)e (A.)f(Co)q(ok,)i(P)l(.)g(W.)f(Dymond,)g(W.)g(L.)h(Ruzzo,)f(and)h(M.)e(T)l (ompa.)26 b(Tw)o(o)301 1217 y(applications)16 b(of)d(inductiv)o(e)g(coun)o (ting)h(for)f(complemen)o(tation)g(problems.)j FF(SIAM)e(Jour-)301 1289 y(nal)i(on)g(Computing)p FH(,)e(18\(3\):559{578,)j(June)d(1989.)k(A)c (probabilistic)j(algorithm)e(for)f FB(s)p FH(-)p FB(t)301 1362 y FH(connectivit)o(y)i(in)h(undirected)g(graphs)g(is)g(presen)o(ted.)0 1475 y([BCF)116 1457 y FI(+)145 1475 y FH(91])94 b(L.)17 b(Babai,)g(G.)g(Co)q (op)q(erman,)h(L.)e(Fink)o(elstein,)h(E.)g(Luks,)f(and)i(A.)d(Seress.)23 b(F)l(ast)17 b(Mon)o(te)301 1548 y(Carlo)23 b(algorithms)h(for)e(p)q(erm)o (utation)g(groups.)38 b(In)21 b FF(Pr)n(o)n(c.)g(23r)n(d)h(A)o(nn.)g(A)o(CM)g (Symp.)301 1620 y(on)c(The)n(ory)f(of)g(Computing)p FH(,)g(pages)g(90{100,)h (New)e(Orleans,)h(LA,)f(Ma)o(y)g(1991.)23 b(Nearly)301 1692 y(optimal)18 b(randomized)f(algorithms,)h(of)e(the)g(Mon)o(te)g(Carlo)i(v)m (ariet)o(y)l(,)d(are)h(presen)o(ted)g(for)301 1764 y(basic)i(p)q(erm)o (utation)f(group)g(manipulation.)0 1878 y([BCW80])105 b(M.)17 b(Blum,)h(A.)e(Chandra,)j(and)f(M.)f(W)l(egman.)26 b(Equiv)m(alence)18 b(of)g(free)f(b)q(o)q(olean)j(graphs)301 1950 y(can)g(b)q(e)f(decided)g (probabilistical)q(l)q(y)i(in)f(p)q(olynomial)i(time.)30 b FF(Information)20 b(Pr)n(o)n(c)n(essing)301 2022 y(L)n(etters)p FH(,)e(10:80{82,)j(1980.)28 b(The)18 b(tec)o(hnique)f(used)i(is)g(reduction)f (to)h(a)f(restricted)g(case)301 2095 y(of)f(the)f(Straigh)o(t-Line)i(Program) g(Equiv)m(alence)e(Problem)h([MT85].)0 2208 y([BDBK)159 2190 y FI(+)187 2208 y FH(90])52 b(S.)20 b(Ben-Da)o(vid,)h(A.)e(Boro)q(din,)k(R.)c (M.)h(Karp,)h(G.)f(T)l(ardos,)i(and)e(A.)g(Wigderson.)34 b(On)301 2281 y(the)19 b(p)q(o)o(w)o(er)h(of)f(randomization)j(in)e(online)h (algorithms.)32 b(In)19 b FF(Pr)n(o)n(c.)g(22nd)i(A)o(nn.)f(A)o(CM)301 2353 y(Symp.)h(on)g(The)n(ory)f(of)h(Computing)p FH(,)g(pages)g(379{386,)i (Baltimore,)e(MD,)e(Ma)o(y)h(1990.)301 2425 y(They)j(pro)o(v)o(e)f(the)g (existence)g(of)h(an)g(e\016cien)o(t)f(\\sim)o(ulation")j(of)e(randomized)h (online)301 2497 y(algorithms)18 b(b)o(y)d(deterministic)g(ones,)h(whic)o(h)f (is)h(the)f(b)q(est)h(p)q(ossible)h(in)f(the)f(presence)g(of)301 2570 y(an)i(adaptiv)o(e)g(adv)o(ersary)l(.)951 2828 y(92)p eop bop 0 195 a FH([BDMP91])75 b(M.)25 b(Blum,)i(A.)e(DeSan)o(tis,)j(S.)d (Micali,)j(and)e(G.)g(P)o(ersiano.)49 b(Nonin)o(teractiv)o(e)25 b(zero-)301 267 y(kno)o(wledge.)17 b FF(SIAM)e(Journal)g(on)g(Computing)p FH(,)f(20\(6\):1084{111)q(8,)i(1991.)i(A)13 b(k)o(ey)f(pap)q(er)301 340 y(that)17 b(summarizes)f(the)f(previous)i(w)o(ork)f(on)g(non-in)o (teractiv)o(e)h(zero-kno)o(wledge)f(pro)q(ofs.)301 412 y(The)f(concept)g(of)g (shared)h(randomness)g(is)g(in)o(tro)q(duced,)f(and)h(ho)o(w)f(that)h(can)f (disp)q(ose)i(of)301 484 y(in)o(teraction)d(b)q(et)o(w)o(een)e(the)h(pro)o(v) o(er)f(and)h(the)f(v)o(eri\014er)h(is)g(illustrated.)i(The)d(authors)i(sho)o (w)301 556 y(that)24 b(non-in)o(teractiv)o(e)f(zero-kno)o(wledge)g(pro)q(ofs) i(exist)e(for)g(some)g(n)o(um)o(b)q(er-theoretic)301 628 y(languages)f(for)f (whic)o(h)f(no)g(e\016cien)o(t)f(algorithms)j(are)e(kno)o(wn.)f(They)h(also)h (sho)o(w)g(that)301 701 y(if)d(quadratic)g(residuosit)o(y)g(is)g (computationally)i(hard,)d(satis\014abili)q(t)o(y)i(also)g(has)f(a)f(non-)301 773 y(in)o(teractiv)o(e)f(zero-kno)o(wledge)h(pro)q(of.)0 887 y([BDS)113 869 y FI(+)142 887 y FH(92])97 b(J.-D.)15 b(Boissonnat,)i(O.)e (Devillers,)h(R.)e(Sc)o(hott,)h(M.)f(T)l(eillaud,)j(and)f(M.)e(Yvinec.)19 b(Appli-)301 959 y(cations)f(of)e(random)g(sampling)i(to)e(on-line)i (algorithms)g(in)e(computational)i(geometry)l(.)301 1031 y FF(Discr)n(ete)f(Computational)h(Ge)n(ometry)p FH(,)c(8:51{71,)j(1992.)22 b(This)17 b(pap)q(er)f(treats)g(the)f(same)301 1103 y(kind)20 b(of)f(problems)h(as)g(in)f([CS89)q(],)g(but)g(in)h(a)f(semi-dynamic)h(w)o(a) o(y:)26 b(the)19 b(data)h(can)f(b)q(e)301 1176 y(initiall)q(y)d(unkno)o(wn)e (and)g(added)h(one)e(b)o(y)h(one.)f(The)h(analysis)i(assumes)e(that)g(the)g (p)q(oin)o(ts)301 1248 y(are)j(inserted)f(in)h(a)g(random)g(order.)0 1362 y([Bec82])146 b(M.)19 b(Bec)o(k)o(er.)30 b(A)19 b(probabilisti)q(c)j (algorithm)g(for)e(v)o(ertex)f(connectivit)o(y)g(of)h(graphs.)33 b FF(In-)301 1434 y(formation)22 b(Pr)n(o)n(c)n(essing)g(L)n(etters)p FH(,)f(15\(3\):135{136)q(,)k(Octob)q(er)c(1982.)38 b(A)21 b(probabilistic)301 1506 y(algorithm)k(is)e(presen)o(ted)e(whic)o(h)i(computes)f(the)g(v)o(ertex) f(connectivit)o(y)h(of)h(an)g(undi-)301 1578 y(rected)d(graph)i FB(G)g FH(=)g(\()p FB(V)s(;)8 b(E)s FH(\))20 b(in)i(exp)q(ected)e(time)g FB(O)q FH(\(\()p Fx(\000)8 b FH(log)j FB(\017)p FH(\))p Fx(j)p FB(V)g Fx(j)1551 1560 y FI(3)p Fw(=)p FI(2)1606 1578 y Fx(j)p FB(E)s Fx(j)p FH(\)\))20 b(with)i(error)301 1650 y(probabilit)o(y)d(at)d (most)h FB(\017)p FH(,)e(pro)o(vided)i(that)g Fx(j)p FB(E)s Fx(j)c(\024)1224 1631 y FI(1)p 1224 1639 18 2 v 1224 1668 a(2)1246 1650 y FB(d)p Fx(j)p FB(V)f Fx(j)1339 1632 y FI(2)1358 1650 y FH(,)k(for)h(some)f(constan)o(t)g FB(d)f(<)e FH(1.)0 1764 y([Ben80])141 b(J.)24 b(Ben)o(tley)l(.)44 b(Multidimensional)27 b(divide-and-conquer.)47 b FF(Communic)n(ations)25 b(of)f(the)301 1836 y(A)o(CM)p FH(,)18 b(23:214{229,)j(1980.)29 b(This)19 b(pap)q(er)g(con)o(tains)h(an)e FB(n)8 b FH(log)s(\()p FB(n)p FH(\))18 b(deterministic)h(algo-)301 1909 y(rithm)e(for)f(\014nding)i (nearest)e(neigh)o(b)q(ors)i(in)f(t)o(w)o(o-dimensional)i(space.)0 2022 y([Ber70])149 b(E.)11 b(R.)g(Berlek)m(amp.)h(F)l(actoring)g(p)q (olynomials)i(o)o(v)o(er)c(large)i(\014nite)f(\014elds.)i FF(Math.)g(Comput.) p FH(,)301 2095 y(24,)22 b(1970.)34 b(This)21 b(pap)q(er)f(presen)o(ts)g (algorithms)i(for)e(ro)q(ot-\014nding)j(and)e(factorization,)301 2167 y(t)o(w)o(o)15 b(problems)g(in)g(\014nite)g(\014elds.)g(The)g(latter)g (problem)g(is)g(reduced)f(to)h(the)f(ro)q(ot-\014nding)301 2239 y(problem,)g(for)g(whic)o(h)f(a)g(probabilisti)q(c)j(algorithm)f(is)f (giv)o(en.)f(This)h(pap)q(er)f(is)h(a)g(precursor)301 2311 y(of)j([Rab80b)q(].)0 2425 y([Ber80])149 b(A.)19 b(J.)h(Bernstein.)32 b(Output)20 b(guards)h(and)g(nondeterminism)f(in)h(CSP.)32 b FF(A)o(CM)21 b(T)l(r)n(ans.)301 2497 y(on)16 b(Pr)n(o)n(gr)n(amming)f(L)n (anguages)h(and)g(Systems)p FH(,)f(2\(2\):234{238,)i(April)e(1980.)20 b(Bernstein)301 2570 y(presen)o(ts)k(a)h(distributed)h(algorithm)g(for)e(CSP) h(output)g(guards)h(based)e(on)h(priorit)o(y)301 2642 y(ordering)18 b(of)e(pro)q(cesses.)951 2828 y(93)p eop bop 0 195 a FH([BFKV92])83 b(Y.)17 b(Bartal,)h(A.)f(Fiat,)h(H.)e(Karlo\013,)j (and)f(R.)f(V)l(ohra.)26 b(New)17 b(algorithms)i(for)f(an)g(ancien)o(t)301 267 y(sc)o(heduling)d(problem.)h(In)d FF(Pr)n(o)n(c.)g(24th)i(A)o(nn.)g(A)o (CM)f(Symp.)g(on)h(The)n(ory)e(of)i(Computing)p FH(,)301 340 y(pages)22 b(51{58,)h(Victoria,)f(B.C.,)f(Canada,)h(Ma)o(y)f(1992.)35 b(They)21 b(consider)g(the)f(on-line)301 412 y(v)o(ersion)d(of)f(the)f (original)k FB(m)p FH(-mac)o(hine)d(sc)o(heduling)h(problem:)k(giv)o(en)16 b FB(m)g FH(mac)o(hines)f(and)301 484 y FB(n)22 b FH(p)q(ositiv)o(e)h(real)g (jobs,)g(sc)o(hedule)e(the)h FB(n)g FH(jobs)g(on)g FB(m)g FH(mac)o(hines)g (so)g(as)g(to)h(minimize)301 556 y(the)18 b(mak)o(espan,)g(the)g(completion)i (time)e(of)g(the)g(last)h(job.)f(In)g(the)g(on-line)i(v)o(ersion,)e(as)301 628 y(so)q(on)f(as)e(job)g FB(j)j FH(arriv)o(es,)d(it)g(m)o(ust)g(b)q(e)g (assigned)h(immediately)g(to)f(one)g(of)g(the)f(mac)o(hines.)301 701 y(They)j(presen)o(t)f(a)h(comp)q(etitiv)o(e)g(deterministic)h(algorithm)h (for)e(all)h FB(m)f FH(and)g(an)g(optimal)301 773 y(randomized)g(algorithm)h (for)f(the)f(case)g FB(m)e FH(=)f(2.)0 887 y([BFL90])128 b(L.)18 b(Babai,)h(L.)f(F)l(ortno)o(w,)h(and)f(C.)g(Lund.)27 b(Non-deterministic)19 b(exp)q(onen)o(tial)g(time)f(has)301 959 y(t)o(w)o(o-pro)o(v)o(er)i(in)o (teractiv)o(e)g(proto)q(cols.)34 b(In)20 b FF(Pr)n(o)n(c.)g(31st)h(A)o(nn.)h (IEEE)f(Symp.)g(on)g(F)l(oun-)301 1031 y(dations)i(of)f(Computer)f(Scienc)n (e)p FH(,)j(pages)f(16{25,)h(1990.)37 b(Babai)23 b(et)e(al.)g(pro)o(v)o(e,)h (using)301 1103 y(the)16 b(t)o(w)o(o-pro)o(v)o(er)f(in)o(teractiv)o(e)g(pro)q (of)i(systems)e(in)o(tro)q(duced)i(in)f([BOGKW88],)f(that)h(the)301 1176 y(class)25 b(of)f(languages)i(that)e(ha)o(v)o(e)f(a)h(t)o(w)o(o-pro)o(v) o(er)f(in)o(teractiv)o(e)h(pro)q(of)g(system)g(is)g(non-)301 1248 y(deterministic)17 b(exp)q(onen)o(tial)h(time.)0 1362 y([BFM88])113 b(M.)11 b(Blum,)g(P)l(.)g(F)l(eldman,)h(and)g(S.)f(Micali.)j (Non-in)o(teractiv)o(e)e(zero-kno)o(wledge)f(pro)q(of)i(sys-)301 1434 y(tems)h(and)g(applications.)20 b(In)14 b FF(Pr)n(o)n(c.)g(20th)h(A)o (nn.)h(A)o(CM)e(Symp.)h(on)h(The)n(ory)e(of)h(Comput-)301 1506 y(ing)p FH(,)h(pages)h(103{112,)h(1988.)k(This)16 b(pap)q(er)h(in)o(tro)q (duces)f(the)g(notion)h(of)f(non-in)o(teractiv)o(e)301 1578 y(zero-kno)o(wledge)h(pro)q(ofs)g(where)f(the)f(in)o(teraction)i(b)q(et)o(w)o (een)e(the)h(pro)o(v)o(er)f(and)h(the)g(v)o(eri-)301 1650 y(\014er)g(is)h (replaced)g(b)o(y)f(shared,)g(random)h(strings.)0 1764 y([BG81])152 b(C.)17 b(H.)e(Bennett)h(and)h(J.)f(Gill.)23 b(Relativ)o(e)17 b(to)f(a)h(random)g(oracle)g FB(A)p FH(,)f FB(P)1600 1746 y Fw(A)1643 1764 y Fx(6)p FH(=)e FB(N)5 b(P)1777 1743 y Fw(A)1820 1764 y Fx(6)p FH(=)16 b(Co-)301 1836 y FB(N)5 b(P)384 1816 y Fw(A)424 1836 y FH(with)12 b(probabilit)o(y)h(1.)g FF(SIAM)g(Journal)g(on)g (Computing)p FH(,)g(10\(1\):96{113,)h(F)l(ebruary)301 1909 y(1981.)20 b(Sev)o(eral)14 b(relationships)j(are)e(giv)o(en)f(that)h(hold)g (with)g(probabilit)o(y)i(1)d(for)h(language)301 1981 y(classes)20 b(relativized)f(to)f(a)h(random)f(oracle)h FB(A)p FH(,)f(including)i(the)e (one)g(men)o(tioned)g(in)h(the)301 2053 y(title.)0 2167 y([BG89a])128 b(D.)18 b(Bea)o(v)o(er)e(and)j(S.)e(Goldw)o(asser.)28 b(Multipart)o(y)19 b(computation)g(with)f(fault)o(y)h(ma)s(jorit)o(y)l(.)301 2239 y(In)e FF(Pr)n(o)n(c.)h(30th)g(A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l(oundations)g (of)f(Computer)g(Scienc)n(e)p FH(,)h(pages)301 2311 y(468{473,)f(1989.)i(A)14 b(v)m(ariation)j(of)e(zero-kno)o(wledge)g(pro)q(ofs)h(is)g(considered,)f (where)f(slo)o(w)301 2384 y(rev)o(ealing)24 b(of)g(kno)o(wledge)g(to)f(fault) o(y)h(pro)q(cessors)h(is)f(p)q(ermitted.)f(An)f(algorithm)k(for)301 2456 y(distributed)16 b(b)q(o)q(olean)h(function)e(computations)h(in)f(Byzan) o(tine)e(net)o(w)o(orks)h(where)g(more)301 2528 y(than)k(half)h(the)e(pro)q (cessors)h(are)f(fault)o(y)h(is)g(presen)o(ted.)e(The)i(constrain)o(t)g(is)g (that)g(fault)o(y)301 2600 y(pro)q(cessors)i(should)g(not)f(b)q(e)g(able)g (to)g(compute)f(the)g(function)h(b)q(efore)g(the)f(non-fault)o(y)301 2672 y(ones)f(do.)951 2828 y(94)p eop bop 0 195 a FH([BG89b])125 b(M.)22 b(Bellare)g(and)h(S.)f(Goldw)o(asser.)40 b(A)22 b(new)g(paradigm)i(for)e(digital)j(signatures)e(and)301 267 y(message)j(iden)o(ti\014cation)h(based)e(on)h(non-in)o(teractiv)o(e)g (zero-kno)o(wledge)f(pro)q(ofs.)49 b(In)301 340 y FF(A)n(dvanc)n(es)24 b(in)f(Cryptolo)n(gy{CR)l(YPTO)f(89,)j FH(Lecture)c(Notes)i(in)g(Computer)f (Science,)301 412 y(V)l(ol.)d(435,)i(pages)f(194{211.)h(Springer-V)l(erlag,)g (1989.)30 b(This)20 b(pap)q(er)g(sho)o(ws)g(ho)o(w)f(non-)301 484 y(in)o(teractiv)o(e)j(zero-kno)o(wledge)g(can)g(b)q(e)h(used)f(to)g (yield)h(a)f(new)g(paradigm)h(for)g(secure)301 556 y(digital)c(signature)f (sc)o(hemes)d(\(also)j(see)e([GMR88]\).)0 670 y([BGG90])114 b(M.)25 b(Bellare,)i(O.)e(Goldreic)o(h,)j(and)d(S.)g(Goldw)o(asser.)50 b(Randomness)26 b(in)f(in)o(teractiv)o(e)301 742 y(pro)q(ofs.)40 b(In)22 b FF(Pr)n(o)n(c.)g(31st)g(A)o(nn.)i(IEEE)e(Symp.)h(on)g(F)l (oundations)h(of)e(Computer)h(Sci-)301 814 y(enc)n(e)p FH(,)j(pages)e (563{572,)k(1990.)44 b(The)23 b(p)q(o)o(w)o(er)g(of)h(randomness)g(in)g(in)o (teractiv)o(e)f(pro)q(of)301 887 y(systems,)16 b(in)g(quan)o(titativ)o(e)h (terms,)e(is)i(considered.)f(A)f(randomness-e\016cien)o(t)h(error)g(re-)301 959 y(duction)i(tec)o(hnique)d(for)i(con)o(v)o(erting)f(one)g(pro)q(of)i (system)d(in)o(to)i(another)g(one)g(using)g(the)301 1031 y(same)g(n)o(um)o(b) q(er)e(of)i(rounds)g(is)g(presen)o(ted.)0 1145 y([BGLR93])86 b(M.)14 b(Bellare,)h(S.)f(Goldw)o(asser,)i(C.)f(Lund,)g(and)g(A.)f(Russell.) 20 b(E\016cien)o(t)14 b(probabilistical)q(ly)301 1217 y(c)o(hec)o(k)m(able)g (pro)q(ofs)i(and)g(applications)h(to)e(appro)o(ximation.)21 b(In)14 b FF(Pr)n(o)n(c.)h(25th)h(A)o(nn.)g(A)o(CM)301 1289 y(Symp.)21 b(on)g(The)n(ory)f(of)h(Computing)p FH(,)g(pages)g(294{304,)i(San) e(Diego,)h(CA,)d(Ma)o(y)h(1993.)301 1362 y(Bellare)12 b(et)f(al.)h(construct) f(m)o(ulti-pro)o(v)o(er)h(pro)q(of)g(systems)f(for)h FF(NP)g FH(whic)o(h)f(use)h(only)g(a)g(con-)301 1434 y(stan)o(t)17 b(n)o(um)o(b)q(er)f(of)h(pro)o(v)o(ers)f(to)h(sim)o(ultaneously)h(ac)o(hiev)o (e)e(lo)o(w)i(error,)e(lo)o(w)h(randomness)301 1506 y(and)f(lo)o(w)g(answ)o (er)f(size.)g(As)g(a)h(consequence,)d(they)i(obtain)i(asymptotic)e(impro)o(v) o(emen)o(ts)301 1578 y(to)i(appro)o(ximation)h(hardness)f(results)g(for)g(a)f (wide)h(range)g(of)f(optimization)j(problems.)0 1692 y([BHZ87])123 b(R.)21 b(Boppana,)i(J.)e(Hastad,)i(and)e(S.)g(Zac)o(hos.)37 b(Do)q(es)22 b(co-NP)f(ha)o(v)o(e)g(short)g(in)o(teractiv)o(e)301 1764 y(pro)q(ofs?)33 b FF(Information)18 b(Pr)n(o)n(c)n(essing)g(L)n(etters)p FH(,)f(25:127{132,)i(1987.)26 b(This)18 b(is)g(imp)q(ortan)o(t)301 1836 y(pap)q(er,)g(along)h(with)f([F)l(or87],)f(pro)o(vides)g(a)h(metho)q(d)f (of)g(gaining)j(high)e(con\014dence)f(that)301 1909 y(certain)g(languages)h (are)f(not)f FF(NP)p FH(-complete.)0 2022 y([BI86])172 b(L.)21 b(Babai)h(and)g(A.)e(Itai.)36 b(A)21 b(fast)g(and)h(simple)g(randomized)g (parallel)h(algorithm)g(for)301 2095 y(the)c(maximal)g(indep)q(enden)o(t)g (set)f(problem.)28 b FF(Journal)19 b(of)h(A)o(lgorithms)p FH(,)e (7\(4\):567{583,)301 2167 y(Dec)24 b(1986.)45 b(An)23 b(Indep)q(enden)o(t)g (Set)h(of)g(a)g(graph)h(is)f(a)h(set)e(of)h(v)o(ertices,)h(no)f(t)o(w)o(o)g (of)301 2239 y(whic)o(h)18 b(are)e(adjacen)o(t.)h(A)f(maximal)i(indep)q (enden)o(t)f(set)f(is)i(an)f(indep)q(enden)o(t)g(set)g(that)g(is)301 2311 y(not)i(a)g(prop)q(er)g(subset)f(of)h(an)o(y)f(other)g(indep)q(enden)o (t)h(set.)f(A)f(simple)i(algorithm)i(whic)o(h)301 2384 y(is)f(alw)o(a)o(ys)g (correct)e(and)h(runs)h(in)f FB(O)q FH(\(log)11 b FB(n)p FH(\))19 b(time)g(using)h FB(O)q FH(\()p Fx(j)p FB(E)s Fx(j)f FB(d)1553 2391 y Fw(max)1626 2384 y FH(\))f(pro)q(cessors)j(on)301 2456 y(a)f(Concurren)o(t)g(Read)f(Concurren)o(t)h(W)l(rite)g(parallel)h(mac)o (hine)f(is)g(sho)o(wn.)g(Here,)f FB(d)1878 2463 y Fw(max)301 2528 y FH(is)k(the)e(maxim)o(um)g(degree)h(of)g(an)o(y)f(v)o(ertex)f(in)j (the)e(graph.)h(The)g(earlier)g(b)q(est)g(w)o(as)h(a)301 2600 y(deterministic)g(algorithm)h(for)e(an)g(Exclusiv)o(e)g(Read)g(Exclusiv)o(e)g (W)l(rite)g(arc)o(hitecture)301 2672 y(that)17 b(ran)g(in)g FB(O)q FH(\(\(log)11 b FB(n)p FH(\))747 2654 y FI(4)766 2672 y FH(\))17 b(time)f(using)h FB(O)q FH(\(\()p FB(n=)8 b FH(log)k FB(n)p FH(\))1298 2654 y FI(3)1318 2672 y FH(\))k(pro)q(cessors.)951 2828 y(95)p eop eos end TeXDict begin 1000 300 300 @start bos /Fa 2 4 df0 D<0C000E00CCC0FFC0FFC03F00FFC0FFC0CCC00E000C000A0B7D8B10>3 D E /Fb 7 57 df<060C183830707060E0E0E0E0E0E0E0E0E0E06070703038180C06071A7F920C >40 DI<0C007C 00FC009C001C001C001C001C001C001C001C001C001C001C00FF80FF8009107E8F0F>49 D<1F007F80C3C0E1E0E0E000E001E001C0038007000E00186030607FC0FFC0FFC00B107F8F0F> I<1F003F8073C073C023C003800F800F0003C001C001E041E0E1E0E1C07F803F000B107F8F0F> I<60007FE07FE07FC0C180C180030006000E000C000C001C001C001C001C001C0008000B117E90 0F>55 D<1F003F8071C071C071C079C03F801F803FC073E0E0E0E0E0E0E071C03F801F000B107F 8F0F>I E /Fc 1 114 df<00000000060000000006000000000E000000000C000000000C000000 001C00000000180000000018000000003800000000300000000030000000007000000000600000 00006000000000E000000000C000000000C000000001C000000001800000000180000000038000 0000030000000003000000000700000000060000000006000000000E000000000C000000000C00 0000001C0000000018000000001800000000380000000030000000003000000000700000000060 00000000600004000060000E0000E0001E0000C0003E0000C0003E0001C0006F00018000EF0001 80004F0003800007800300000780030000078007000003C006000003C006000003C00E000003C0 0C000001E00C000001E01C000001E018000000F018000000F038000000F030000000F030000000 7870000000786000000078600000003CE00000003CC00000003CC00000001FC00000001F800000 001F800000001F800000000F000000000F000000000F00000000060000000006000000274B7C81 2A>113 D E /Fd 8 102 df0 D<070007000700E738FFF87FF01F C01FC07FF0FFF8E7380700070007000D0E7E8E12>3 D<0000300000F00003C0000700001E0000 780001E0000780000E00003C0000F00000F000003C00000E000007800001E000007800001E0000 07000003C00000F0000030000000000000000000000000000000000000FFFFF0FFFFF0141E7D95 1B>20 D<0F00043F80047FC00470F00CC0780CC03C38800FF88007F08003C016097E8C1B>24 D98 D<0180018001800180018001800180018001800180018001800180018001800180018001800180 0180018001800180018001800180018001800180018001800180FF80FF800922809810>III E /Fe 8 114 df<07C01FC0380070007F80FF80E000600070803F801F000A0B7E8A0D>15 D<00C000C001C0018001800380030003000700060006000E000C001C0018001800380030003000 700060006000E000C000C0000A197D9210>61 D<0FC07F800FE07F8001E00C0003701800037818 0003381800033C1800061C3000060E3000060E3000060730000C07E0000C03E0000C03E0000C01 E0007F00C000FF00C00019117F9018>78 D<00FC0003FF000F07801E03C03C03C07801C07801C0 F003C0F003C0F003C0F00780F00780F00F00701E00783C003FF8000FC00012117D9017>I<0607 0600000000387CCEDC1C38383B767E3C08127F910B>105 D<3C78F0007FFDFC00CF8F1C00CF0E 1C000E0E1C001C1C38001C1C38001C1C39801C1C730038387F0018183C00190B7F8A1B>109 D<3CF0007FFC00CF1C00CE1C000E1C001C38001C38001C39801C7300387F00183C00110B7F8A13 >I<07301FE038E070E070E0E1C0E1C0E1C063C07F803F800380038007001FC01FC00C107E8A0E> 113 D E /Ff 25 117 df<03E0000FF8601C3C60381CC0780EC0F00EC0F00F80F00F00E00F00E0 0E00E01F007077203FE7E01F83C0130E7F8D17>11 D<007801FC03860700070006000700078003 C001E007F00E781C383C38781878187838F0307030706070603FC01F8002000F18809610>14 D<03F00FE03C0078007000FFC0FFC0F000F000F000F00078603FE00F800C0E7F8D0E>I<7C0180 FC03801C03801C0700380700380E00380E00381C0070780070F00073C0007F8000FE0000F00000 110E7F8D11>23 D<70F8F8F87005057E840A>58 D<70F0F8F878181830306040050B7E840A>I< 0018001800380030003000700060006000E000C001C0018001800380030003000700060006000E 000C000C001C001800380030003000700060006000E000C000C0000D217E9812>61 D<0000C00001C00001E00003E00003E00007E0000DE0000DE00019E00019E00031E00071E00061 E000C1F000C1F001FFF003FFF00300F00600F00600F00E00F07F87FEFF07FE17177F961A>65 D<07FFF807FFFE00F01F00F00F00F00701E00701E00F01E00F01E01E03C07C03FFF003FFF803C0 7C07803C07801E07801E07801E0F003C0F003C0F00780F01F0FFFFE0FFFF8018177F961B>I<07 F80FF807F80FF800FC018000FC018000FE0180019E0300019E0300018F0300018F030003078600 030786000307C6000303C6000603CC000601EC000601EC000600FC000C00F8000C00F8000C0078 001C007800FF803000FF0030001D177F961C>78 D<001FC0007FF001F07803C03C07001C0F001E 1E001E1C001E3C001E38001E78001E78001E78001E78003CF0003C7000787800787800F07801E0 3C03C01E0F800FFE0003F00017177F961B>I<07FFF00007FFFC0000F01E0000F00F0000F00F00 01E00F0001E00F0001E00F0001E01E0003C07C0003FFF00003FFE00003C0F00007807800078078 0007807800078078000F00F0000F00F0000F00F1800F00F380FFE07F00FFC03E0019177F961B> 82 D<03E00FF01C7838787870F000F000F000E000E000E01070703FE01F800D0E7F8D0F>99 D<001F80001F00000700000700000700000E00000E00000E00000E0003DC000FFC001C3C00383C 00703800F03800F03800F03800E07000E07300E0F300F1F2007FFE001E3C0011177F9612>I<1F 80001F00000700000700000700000E00000E00000E00000E00001CF8001DFE001F0E001E0E003C 0E003C0E00380E00381C00701C00701CC07038C0703980E01F00600E0012177F9614>104 D<018003C003C00180000000000000000000001E003F0067006700C7000E000E000E001C001CC0 38C039801F000E000A1780960C>I<0018003C003C00180000000000000000000001E003F00638 0C38187000700070007000E000E000E000E001C001C001C071C0F380F700FE007C000E1D80960E >I<1F801F000700070007000E000E000E000E001C1E1C3E1C671DCF3B1E3F0C3FC039E070E070 E370E370E6E07C603810177F9612>I<1C3E0F803E7FBFC067C3F1C06783E1C0CF03C1C00F0381 C00E0381C00E0383801C0703801C0703981C0707181C070730380E03E0180601C01D0E808D1F> 109 D<1C3E003E7F8067C380678380CF03800F03800E03800E07001C07001C07301C0E301C0E60 3807C0180380140E808D15>I<03E00FF81C1C381E781EF01EF01EF01EE03CE03CE07870F03FC0 1F000F0E7F8D11>I<0E3E001F7F0033C3803383C06703C00703C00703C00703C00E07800E0780 0E07000F1E001FFC001DF0001C00001C0000380000380000FF0000FE00001214818D12>I<03C4 0FEC1C3C383C7038F038F038F038E070E070E0F0F1F07FE01EE000E000E001C001C00FF80FF00E 147F8D10>I<1C703FF8679C673CCE780E300E000E001C001C001C001C00380018000E0E808D10> I<060007000E000E000E000E00FFC0FFC01C001C003800380038003800700070C070C071807F00 3E000A147F930D>116 D E /Fg 21 113 df0 D<78FCFCFCFC7806067C8E0E>II<000FF000003FFC0000F18F0003C183C0070180E00E018070 1C018038180180183801801C7001800E6001800660018006E0018007C0018003C0018003C00180 03FFFFFFFFFFFFFFFFC0018003C0018003C0018003E001800760018006600180067001800E3801 801C180180181C0180380E018070070180E003C183C000F18F00003FFC00000FF00020227D9C27 >8 D17 D<001FFFFC007FFFFC01E00000078000000E00 00001C00000038000000300000007000000060000000E0000000C0000000C0000000C0000000C0 000000C0000000C0000000C0000000E0000000600000007000000030000000380000001C000000 0E0000000780000001E00000007FFFFC001FFFFC00000000000000000000000000000000000000 000000000000000000000000007FFFFFFC7FFFFFFC1E277C9F27>I<0000000C0000003C000000 F0000003C000000F0000003C000000F0000007C000001F00000078000001E00000078000001E00 000078000000E0000000780000001E0000000780000001E0000000780000001F00000007C00000 00F00000003C0000000F00000003C0000000F00000003C0000000C000000000000000000000000 0000000000000000000000000000000000000000FFFFFFFCFFFFFFFC1E277C9F27>20 DI<07E000011FF800013FFE0001781F000360078003C001E006C000F81E80007F FC80001FF8800007E0000000000000000007E000011FF800013FFE0001781F000360078003C001 E006C000F81E80007FFC80001FF8800007E020167D9727>25 D<00000000600000000000300000 0000003000000000001800000000001800000000000C00000000000600000000000380FFFFFFFF FFE0FFFFFFFFFFC0000000000380000000000600000000000C0000000000180000000000180000 00000030000000000030000000000060002B127D9432>33 D<01F80003F00007FF000FFC000FFF 803F8E001E1FE07C03003807F0F001807003F9E000C06001FBC000C0E000FF800060C0007F0000 60C0003F000060C0003F800060C0001F800060C0001FC00060C0003FE000E060007BF000C06000 F3F801C03001E1FC03801807C0FF0F000E3F803FFE0007FE001FFC0001F80003F0002B157D9432 >49 D<001FFF00FFFF01E0000780000E00001C0000380000300000700000600000600000E00000 C00000C00000FFFFFFFFFFFFC00000C00000E000006000006000007000003000003800001C0000 0E000007800001E00000FFFF001FFF181E7C9A21>I<00000300000700000600000E00000C0000 1C0000180000380000300000700000600000E00000C00001C00001800003800003000007000006 00000E00000C00001C0000180000180000380000300000700000600000E00000C00001C0000180 000380000300000700000600000E00000C00001C0000180000380000300000700000600000E000 00C00000182E79A200>54 D<0F800FC0001FC07FE00038E1F3E000307383F000607F01F000603E 01F800603C00FC00703C00FC00303E007E00383E003E001C3E003F000E3E001F00063E001F8007 3E000F00033E003C00033E00F000033FFFC000033FFF0000633E0F8000673E0F8000663E0F8000 3E3E0F80001C3E0F8000003E0F8000003E0F8000003E0F8000003E0F8000003C0F8000003C0F80 00703C0F8000E0380F8000307807C700387007CE001FE003F80007C000F00021237EA224>60 D<007F800003FFF0000F807C001C000E00380007007000038060000180E00001C0C00000C0C000 00C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C0 0000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0 1A1D7D9C21>92 D100 DI<0007C0003FC0007C00 00F00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000 01E00001E00001E00001E00003C00003C0000F8000FE0000F80000FE00000F800003C00003C000 01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000 01E00001E00001E00000F000007C00003FC00007C012317DA419>II106 D<0000000003000000000300000000070000000006000000000E000000000C000000 001C0000000018000000003800000000300000000070000000006000000000E000000000C00000 0001C0000000018000000003800000000300000000070000000006000000000E000000000C0000 00001C000000001800000000380003000030000F000070001F800060003F8000E000E7C000C000 47C001C00003E001800003E003800003E003000001F007000001F006000000F80E000000F80C00 00007C1C0000007C180000003E380000003E300000001F700000001F600000000FE00000000FC0 00000007C0000000078000000003800000000300000028327D812A>112 D E /Fh 59 122 df<003F000000FFC00003C1E0600780F0C00F00F0C01E0078C03E0079803C00 79807C007B007C007B007C007E00F8007E00F8007C00F8007800F8007800780078007800F80038 03BC403C0F3CE01FFC1FC007E00F001B157E941F>11 D<00001F000000FFC00001E1E0000300E0 000600F0000C00F0001800F0003000F0003000F0006001E000C001E000C001E000C003C0018003 800183FF000187FE000187FF000303F78003000780030007C0030007C0060007C0060007C00600 07C0060007C00C000F800C000F800C000F800C001F001E001E001E003E001B003C001B80780031 FFE000307F8000300000003000000060000000600000006000000060000000C0000000C0000000 C0000000C00000001C2D80A21C>I<000FC0003FE000783000E01801C00001C00003C000038000 03C00003C00003E00003F00001F80000FC00007E0000FF0003FF80078F800F07801E03803E0380 3C03807C03807C03807C0380F80300F80300F80700F80600F80600780C00780C003C18001FF000 0FE00015237EA216>14 D<007E03FE07800F001E003C007C007800FFF8FFF8F800F000F000F000 F000F000780078043C1E1FF807E00F157D9414>I<000F00003F800071C000E1C001E1E001C0E0 03C0E00781E00781E00F81E00F01E01F01E01F01E01E03E03E03E03E03E03FFFE07FFFC07FFFC0 7C07C07C07C0780F80F80F80F80F00F81F00F81E00F01E00F03C00703C0070380070700070E000 39C0001F80000F000013237EA217>18 D<03E00003F00000F800007C00007C00003C00003E0000 3E00001E00001E00001F00000F00000F00000F800007800007800007C00007C00003C00003C000 07E0000DE0001DE00039F00070F000E0F001C0F80380F80780780F00781E007C3C003C78003CF0 003E60001E17237EA21C>21 D<07FFFF800FFFFFC01FFFFF803FFFFF8070318000E0618000C061 80000061800000E3800000C3800001C3800001C3800001C3800003838000038380000783C00007 03C0000F03C0000F03E0000E01E0000E01C0001A157F941C>25 D<007FFF8001FFFFC003FFFF80 07FFFF800F83C0001E01E0003C01E0003C01E0007801E0007801E0007801E000F003C000F003C0 00F003C000F0078000F0070000700F0000701E0000383800001FF0000007C000001A157E941C> 27 D<000030000000300000003000000060000000600000006000000060000000C0000000C000 0000C0000000C000000180000001800000018000003FF80000FFFC0001E30E00078307000F0303 801E0603801C0603C03C0603C0780603C0780C03C0780C03C0F00C0780F00C0780F01807007018 0F0070181E0078181C00383078001E31F0000FFFC00003FF000000600000006000000060000000 60000000C0000000C0000000C0000000C0000001800000018000001A2D7EA21D>30 D<00FE0003FF800FFFC01E038038000030000030000033E0003FF0001FF00037E000600000C000 00C00000C00000C00100C00300F00E007FFC003FF8000FE00012157E9417>34 D<78FCFCFCFC7806067C850E>58 D<78FCFCFEFE7E0606060C0C1C1830706007107C850E>I<00 00001800000078000001E00000078000001E00000078000003E000000F8000003C000000F00000 03C000000F0000003C000000F0000000F00000003C0000000F00000003C0000000F00000003C00 00000F80000003E0000000780000001E0000000780000001E000000078000000181D1C7C9926> I<000180000180000380000300000300000700000600000600000E00000C00000C00001C000018 0000180000180000380000300000300000700000600000600000E00000C00000C00001C0000180 000180000380000300000300000700000600000600000E00000C00000C00000C00001C00001800 00180000380000300000300000700000600000600000E00000C00000C0000011317DA418>I I<000001C000000001C000000003C000000007C000000007C00000000FC00000000FC00000001F C000000037C000000037C000000067E000000063E0000000C3E000000183E000000183E0000003 03E000000303E000000603E000000E03E000000C03E000001803F000001803F000003FFFF00000 7FFFF000006001F00000C001F00000C001F000018001F000038001F000030001F000070001F800 1F0001F800FFE01FFF80FFC01FFF8021227EA125>65 D<007FFFFC0000FFFFFF000007C00F8000 07C007C0000F8007C0000F8003C0000F8003E0000F8003E0001F0003C0001F0007C0001F0007C0 001F000F80003E001F00003E003E00003E007C00003FFFF000007FFFF000007C00F800007C007C 00007C003E0000F8003E0000F8001E0000F8001F0000F8001F0001F0003E0001F0003E0001F000 3E0001F0007C0003E0007C0003E000F80003E003F00007E007C0007FFFFF8000FFFFFC00002322 7EA125>I<0000FE010003FF83000F80C7003E006F0078003E01F0003E03E0001E07C0001E0780 001C0F00001C1F00001C1E00001C3E0000187C0000187C0000007C000000F8000000F8000000F8 000000F8000000F8000000F0000060F0000060F00000C0F80000C0F80001807800018078000300 3C0006003E000C001F00180007C0F00003FFC00000FF000020227DA123>I<007FFFF80000FFFF FE000007C01F000007C00780000F8003C0000F8003C0000F8001E0000F8001E0001F0001E0001F 0001F0001F0001F0001F0001F0003E0001F0003E0001F0003E0001F0003E0001F0007C0003E000 7C0003E0007C0003E0007C0003E000F80007C000F80007C000F800078000F8000F8001F0000F00 01F0001E0001F0003E0001F0003C0003E000780003E000F00003E003E00007E00F80007FFFFE00 00FFFFF8000024227EA128>I<007FFFFFC000FFFFFFC00007C007C00007C003C0000F8001C000 0F8001C0000F800180000F800180001F000180001F018180001F018180001F018180003E030000 003E030000003E070000003FFF0000007FFE0000007C0E0000007C0E0000007C0E000000F80C00 0000F80C030000F80C030000F800060001F000060001F0000C0001F0000C0001F0001C0003E000 180003E000380003E000F00007E003F0007FFFFFF000FFFFFFE00022227EA124>I<007FFFFFC0 00FFFFFFC00007C007C00007C003C0000F8001C0000F8001C0000F800180000F800180001F0001 80001F000180001F018180001F018180003E030000003E030000003E070000003E0F0000007FFE 0000007FFE0000007C0E0000007C0E000000F80C000000F80C000000F80C000000F80C000001F0 00000001F000000001F000000001F000000003E000000003E000000003E000000007E00000007F FF000000FFFF00000022227EA120>I<00007F00800003FFC180000FC0E380003E003780007800 1F0000F0001F0001E0000F0003C0000F000780000E000F00000E001F00000E001E00000E003E00 000C007C00000C007C000000007C00000000F800000000F800000000F800000000F800000000F8 007FFF00F8007FFF00F00001F000F80001F000F80003E000F80003E000780003E0007C0003E000 3C0007C0001E0007C0000F000FC00007E03BC00003FFF18000007F80800021227DA126>I<007F FE3FFF00FFFE7FFF0007C003E00007C003E0000F8007C0000F8007C0000F8007C0000F8007C000 1F000F80001F000F80001F000F80001F000F80003E001F00003E001F00003E001F00003FFFFF00 007FFFFE00007C003E00007C003E00007C003E0000F8007C0000F8007C0000F8007C0000F8007C 0001F000F80001F000F80001F000F80001F000F80003E001F00003E001F00003E001F00007E003 F0007FFE3FFF00FFFE7FFF0028227EA128>I<00FFFE00FFFE0007C00007C0000F80000F80000F 80000F80001F00001F00001F00001F00003E00003E00003E00003E00007C00007C00007C00007C 0000F80000F80000F80000F80001F00001F00001F00001F00003E00003E00003E00007E000FFFE 00FFFE0017227FA116>I<007FFF0000FFFF000007C0000007C000000F8000000F8000000F8000 000F8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C00 00007C0000007C0000007C000000F8000000F8003000F8003000F8006001F0006001F0006001F0 00C001F000C003E001C003E0038003E0078007E01F807FFFFF00FFFFFF001C227EA121>76 D<007FF00007FF00FFF00007FF0007F0000FE00007F0001BE0000DF0001FC0000DF00037C0000D F00037C0000DF00067C00019F000CF800019F000CF800019F0018F800018F8018F800030F8031F 000030F8031F000030F8061F000030F80C1F000060F80C3E000060F8183E000060F8183E000060 F8303E0000C0F8607C0000C0F8607C0000C0F8C07C0000C07CC07C0001807D80F80001807F00F8 0001807F00F80001807E00F80003007E01F00003007C01F00003007C01F0000F807803F0007FF0 703FFF00FFF0707FFF0030227EA12F>I<007FE007FF00FFE00FFF0007E000F00007F000E0000D F000C0000DF000C0000CF800C0000CF800C00018F8018000187C018000187C018000187E018000 303E030000303E030000303F030000301F030000601F060000601F860000600F860000600F8600 00C00FCC0000C007CC0000C007CC0000C003EC00018003F800018003F800018001F800018001F8 00030001F000030000F000030000F0000F8000F0007FF0006000FFF000600028227EA127>I<00 00FF000007FFC0001F03E0003C00F800F8007801E0003C03C0003E07C0001E0F80001E0F00001F 1F00001F3E00001F3E00001F7C00001F7C00001F7C00001FF800003EF800003EF800003EF80000 7CF800007CF800007CF80000F8F80000F0F80001F0F80003E0F80003C0780007807C000F003E00 1E001F007C000F81F00007FFC00000FE000020227DA125>I<007FFFF00000FFFFFC000007C03E 000007C00F00000F800F80000F800780000F800780000F800780001F000F80001F000F80001F00 0F80001F000F00003E001F00003E001E00003E003C00003E007800007C01F000007FFFC000007F FF0000007C00000000F800000000F800000000F800000000F800000001F000000001F000000001 F000000001F000000003E000000003E000000003E000000007E00000007FFE000000FFFE000000 21227EA11F>I<007FFFE00000FFFFFC000007C03E000007C00F00000F800F80000F800780000F 800780000F800780001F000F80001F000F80001F000F80001F001F00003E001E00003E003C0000 3E007800003E01F000007FFFC000007FFF8000007C07C000007C03E00000F801E00000F801F000 00F801F00000F801F00001F003E00001F003E00001F003E00001F003E00003E007C00003E007C0 C003E007C0C007E003E1807FFE01FF00FFFE007E0022227EA125>82 D<0003F020000FFC60001C 0EE0003003E0006003C000E001C001C001C001C001C0038001800380018003C0000003C0000003 E0000003FC000001FF800001FFF00000FFF800003FFC000007FC0000007E0000003E0000001E00 00001E0000001E0030001C0030001C0030001C003000380070003000780070007C00E0006F03C0 00C7FF000081FC00001B227DA11E>I<1FFFFFFE1FFFFFFE1F01F01E3C01F00E3803E00E3003E0 0E7003E00C6003E00C6007C00CC007C00CC007C00CC007C00C000F8000000F8000000F8000000F 8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C000000 7C0000007C0000007C000000F8000000F8000000F8000001F800007FFFE000FFFFE0001F227EA1 1D>I86 D<007FFE0FFF007FFE0FFF0007F003 F00003E001C00003F003800003F007000001F00E000001F80C000000F818000000FC30000000FC 600000007CC00000007F800000007F800000003F000000003F000000001F000000001F80000000 3F800000006F80000000CFC00000018FC000000387C000000707E000000E03E000001C03F00000 1803F000003001F000006001F80000C001F80001C000F80007C001FC00FFF007FFC0FFF00FFFC0 28227FA128>88 DI<007FFFFE007FFFFE007E 007C00F800F800E001F800E001F001C003E0018007C001800F8003001F0003003F0003003E0000 007C000000F8000001F0000003F0000003E0000007C000000F8000001F0000003F0060007E0060 007C006000F800C001F000C003E000C007E0018007C003800F8003801F0007003E001F007E007F 00FFFFFE00FFFFFE001F227DA121>I<0078C001FDE00387E00707C00F03C01E03C03E03C03C07 807C07807C07807C0780F80F00F80F00F80F08F80F0CF81E18781E18783E1038EE301FCFE00F03 C016157E941A>97 D<03E0003FC0003FC00003C00003C0000780000780000780000780000F0000 0F00000F00000F00001E00001E7C001FFE001F87003F07803E03803C03C03C07C07807C07807C0 7807C07807C0F00F80F00F80F00F80F01F00F01E00701C00703C0038F0001FE0000F800012237E A215>I<003F0000FF8003C1C00783C00F07C01E07C03E03803C00007C00007C00007C0000F800 00F80000F80000F800007800407800C03803803C0F001FFC0007F00012157E9415>I<00003E00 03FC0003FC00003C00003C0000780000780000780000780000F00000F00000F00000F00001E000 79E001FDE00387E00707C00F03C01E03C03E03C03C07807C07807C07807C0780F80F00F80F00F8 0F08F80F0CF81E18781E18783E1038EE301FCFE00F03C017237EA219>I<007C0003FF00078380 0F01801E01803C01807C0300780E00FFFC00FFE000F80000F00000F00000F00000F00000F00080 F00180780700381E001FF8000FE00011157D9417>I<00003E0000007F000000EF800001CF8000 01CF000003C6000003C000000380000007800000078000000780000007800000078000000F0000 01FFFC0001FFFC00000F0000000F0000001E0000001E0000001E0000001E0000001E0000003C00 00003C0000003C0000003C0000003C000000780000007800000078000000780000007800000070 000000F0000000F0000000F0000000E0000000E0000039E0000079C00000F9800000FB8000007F 0000003C000000192D7EA218>I<000F8C003FDE0078FE00E07C01E03C03C03C07C03C0780780F 80780F80780F80781F00F01F00F01F00F01F00F01F01E00F01E00F03E0078FE003FFC001F3C000 03C00003C0000780000780380780780F00F81E00F83C007FF8003FE000171F809417>I<00F800 0FF0000FF00000F00000F00001E00001E00001E00001E00003C00003C00003C00003C000078000 078F8007BFC007F1E00FC0F00F80F00F00F00F00F01E01E01E01E01E01E01E01E03C03C03C03C0 3C07823C0783780786780F06780F0C780718F007F06001E018237EA21C>I<007000F800F800F0 00E0000000000000000000000000000000000F001F8033C061C0C3C0C3C0C3C00780078007800F 000F001E001E101E183C303C303C603CE01FC00F000E227FA111>I<0000600000F00001F00001 F00000E0000000000000000000000000000000000000000000000000001E00007F8000E3C001C3 C00183C00303C00303C0000780000780000780000780000F00000F00000F00000F00001E00001E 00001E00001E00003C00003C00003C00003C0000780000780038780078F000F9E000FBC0007F80 003E0000142C81A114>I<00F8000FF0000FF00000F00000F00001E00001E00001E00001E00003 C00003C00003C00003C0000780000780F00781F807830C0F0E3C0F187C0F307C0F60781FC0301F C0001FF8001E7C003C1E003C1F003C0F083C0F0C781E18781E18781E30780E30F007E06003C016 237EA219>I<01F01FE01FE001E001E003C003C003C003C007800780078007800F000F000F000F 001E001E001E001E003C003C003C003C0078007800788078C0F180F180F18073007F001E000C23 7EA20F>I<1E03F01F80003F8FF87FC00063DC3CE1E00063F01F80F000C3E01F00F000C3C01E00 F000C3C01E00F00007803C01E00007803C01E00007803C01E00007803C01E0000F007803C0000F 007803C0000F00780782000F00780783001E00F00786001E00F00F06001E00F00F0C001E00F007 18003C01E007F0001800C001E00029157F942B>I<1E03E0003F8FF00063DC780063F03C00C3E0 3C00C3C03C00C3C03C00078078000780780007807800078078000F00F0000F00F0000F01E0800F 01E0C01E01E1801E03C1801E03C3001E01C6003C01FC00180078001B157F941D>I<003E0000FF 8003C3C00781E00F01E01E01F03E01F03C01F07C01F07C01F07C01F0F803E0F803E0F803C0F807 C0780780780F00780E003C3C001FF80007E00014157E9417>I<03C0F007F3FC0C7F1E0C7C1E18 780F18780F18780F00F01F00F01F00F01F00F01F01E03E01E03E01E03E01E03C03C07803C07803 E0F003F1E007BF80079E000780000780000F00000F00000F00000F00001E00001E0000FFE000FF E000181F819418>I<007C1001FE7003C7F00703E00F01E01E01E03E01E03C03C07C03C07C03C0 7C03C0F80780F80780F80780F80780F80F00780F00781F003C7F001FFE000F9E00001E00001E00 003C00003C00003C00003C0000780000780007FF8007FF80141F7E9416>I<1E07803F9FC063F8 E063E1E0C3E3E0C3C3E0C3C3C00781800780000780000780000F00000F00000F00000F00001E00 001E00001E00001E00003C000018000014157F9416>I<00E001E001E001E001E003C003C003C0 03C00780FFFCFFFC07800F000F000F000F001E001E001E001E003C003C003C083C0C7818783878 3038E03FC00F000E1F7F9E12>116 D<0F80E01FC1F031E1F861E1F8E1E0F8C1E078C3C03803C0 300780300780300780300F00600F00600F00C00F00C00F01800F01800F030007860003FC0001F8 0016157F9418>118 D<0F80181C001FC03C3E0031E03C3F0061E0783F00E1E0781F00C1E0780F 00C3C078070003C0F006000780F006000780F006000780F006000F01E00C000F01E00C000F01E0 0C000F01E018000F01E018000F01E030000F03E060000786F0E00003FC7F800000F81F00002115 7F9423>I<03E0F00FF3F81C3F1C303E3C303C7C603C7C603C7800783000780000780000780000 F00000F00038F00878F00CF9E018F9E018F1E0306370E07E3FC03C1F0016157E941C>I<0F8018 1FC03C31E03C61E078E1E078C1E078C3C07803C0F00780F00780F00780F00F01E00F01E00F01E0 0F01E00F03C00F03C00F07C0070FC007FF8001F780000780000780000F003C0F007C1E007C3C00 78380070F0003FE0001F8000171F7F9418>I E /Fi 9 117 df80 D<07FC001FFF803FFFC07F0FE07F07E07F03F03E03F01C03F000 03F001FFF00FFFF03FE3F07F83F07F03F0FE03F0FE03F0FE03F0FE07F07F0FF03FFDFF1FF8FF0F C07F18167E951B>97 D<00FF0007FFC00FFFE01F87F03F07F07F07F07E03E07E01C0FE0000FE00 00FE0000FE0000FE0000FE00007E00007F00007F00703F80701FC1E00FFFC007FF8000FE001416 7E9519>99 D<00FE0007FF800FFFC01F87E03F03F07E01F07E01F8FE01F8FFFFF8FFFFF8FFFFF8 FE0000FE0000FE00007E00007E00007F00383F00781FC0F00FFFE003FFC000FE0015167E951A> 101 D108 D112 D114 D<07F3001FFF007FFF00780F00F00700F00700 F00000FE0000FFF0007FFC003FFE001FFF0007FF00007F80000F80E00780E00780F00780FC0F00 FFFE00FFFC00C7F00011167E9516>I<01C00001C00001C00001C00003C00003C00007C00007C0 000FC0003FC000FFFF00FFFF00FFFF000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0 000FC0000FC0000FC3800FC3800FC3800FC3800FC3800FE70007FF0003FE0001F80011207F9F16 >I E /Fj 70 128 df<00000FF000003FFC0000F01C0001C03E0001C03E0003C03C0003803800 0780000007800000078000000F0000000F0000000F0000000F000001FFFFF001FFFFF0001E00F0 001E01E0001E01E0001E01E0001E01E0003C03C0003C03C0003C03C0003C03C0003C0780007807 80007807880078078C00780F1800780F1800F00F1800F0073000F007E000F001C000E0000001E0 000001E0000001C0000039C000007BC00000FB800000FB0000007E0000003C0000001F2D82A21B >12 D<0E001F003F003F803F801F0003000300060006000C001C0018007000E000C000091076A2 0F>39 D<0000C0000180000300000600000C0000180000380000700000E00000E00001C0000380 000380000700000700000F00000E00001E00001C00001C00003C00003800003800007800007800 00700000700000F00000F00000F00000E00000E00000E00000E00000E00000E00000E00000E000 00E00000E00000E00000E00000E000006000007000007000003000003800001800000C00001232 79A414>I<000C000006000007000003000003800003800001800001C00001C00001C00001C000 01C00001C00001C00001C00001C00001C00001C00001C00001C00003C00003C00003C000038000 0380000780000780000700000700000F00000E00000E00001E00001C00003C0000380000380000 700000700000E00001C00001C0000380000700000600000C0000180000300000600000C0000012 3280A414>I<0E1E3F3E3E1E06060C0C18383060C08008107D850F>44 D<7FF87FF8FFF07FF00D 047D8B11>I<387CFCFCF87006067B850F>I<000FC0003FF000F0F801E07803C03C07803C07803C 0F003C0F003C1F003C1E007C3E007C3E007C3E007C7C00F87C00F87C00F87C00F8F801F0F801F0 F801F0F801E0F003E0F003C0F003C0F00780F00780F00F00781E007C3C003FF0000FC00016207B 9F19>48 D<000080000180000300000700000F00003F0003FE0007DE00001E00001E00003C0000 3C00003C00003C0000780000780000780000780000F00000F00000F00000F00001E00001E00001 E00001E00003C00003C00003C00007C000FFFE00FFFE0011207B9F19>I<000F80003FE00070F0 00C07801803C03103C06183C06183E0C183E0C183E18307C18307C18607C18C0F80F80F00F01E0 0003C0000780000F00003C0000700001E0000380000600000C00181800383E00703FFFE077FFE0 60FFC0C07F80C01E0017207C9F19>I<000FC0007FF000F07801803803003C06303C0E303C0C30 3C0C303C0C603807C0780380700000E00001C0007F8000FE00000F000007800003C00003C00003 C00003C00007C07807C0F807C0F80780F00F80C00F00C01E00707C003FF0001FC00016207B9F19 >I<0000300000780000F00000F00000F00000F00001E00001E00001C00003C00003C000038000 0780000700000F00000E00001E00001C00003C000038000070C00061E000E3C001C3C00183C003 03C00607800C07801F87807FE780E07F00401FF0000FC0000F00001E00001E00001E00001E0000 3C00003C00003C00001800152A7E9F19>I<00800C00E03C00FFF801FFE001FFC001FF00018000 030000030000030000030000060000067E0007FF000783800E03C00C03C00003E00003E00003E0 0003E00003E07807C0F807C0F807C0F80F80F00F00C01E00E03C007078003FF0000F800016207B 9F19>I<0007E0001FF0003C3000703801E0F801C0F80381F00780F00F00000F00001F00001E00 003EFE003FFF007F07807E03807E03C07C03C0FC07C0F807C0F807C0F807C0F00F80F00F80F00F 80F00F00F01E00F01E00703C007870003FE0000F800015207A9F19>I<063C0306FE060DFE0E0F FF1C1FFFF81F83F83C00303800707000E06000E0E001C00003C0000380000780000700000F0000 1F00001E00003E00003C00007C00007C00007C0000F80000F80001F80001F00001F00003F00003 F00003E00001C00018207A9F19>I<000FC0003FE000707000C038018038038038030038070038 07803807807007C0E007F1C007FB8003FF0001FE0001FF0003FF800F1FC01C0FC03807C03803E0 7001E0E001C0E001C0E001C0E00180E00380E00700700E00783C003FF0000FC00015207B9F19> I<000F80003FE00070F000E07001C07803C0780780780F80780F80780F80781F00F81F00F81F00 F81F01F81E01F01E03F00E03F00F07F007FFE003F3E00003C00007C0000780000780780F007C0E 00F81E00F83C00E0780060F0007FC0001F000015207B9F19>I<07800F800FC01F800F800F0000 000000000000000000000000000000000038007C00FC00FC00F80070000A157B940F>I<000003 00000007000000070000000F0000001F0000001F0000003F0000003F8000007F8000006F800000 CF800001CF8000018F8000030F8000030F8000060F8000060F80000C0F80000C0F8000180F8000 300F8000300F80007FFFC0007FFFC000C007C000C007C0018007C0038007C0030007C0060007C0 060007C01E0007C0FFC07FFCFF807FFC1E227DA124>65 D<00FFFFE000FFFFF8000F807C000F80 3E001F001E001F001F001F001F001F001F003E001E003E003E003E003E003E007C007C0078007C 00F0007C03E0007FFFC000FFFFC000F803E000F801F000F800F801F000F801F0007801F0007C01 F0007C03E000F803E000F803E000F803E001F007C001F007C003E007C007C007C01F00FFFFFE00 FFFFF00020227DA122>I<0000FE010003FF83000F80C7003E006F0078003E01F0003E03E0001E 07C0001E0780001C0F00001C1F00001C1E00001C3E0000187C0000187C0000007C000000F80000 00F8000000F8000000F8000000F8000000F0000060F0000060F00000C0F80000C0F80001807800 0180780003003C0006003E000C001F00180007C0F00003FFC00000FF0000202279A123>I<00FF FFF00000FFFFFC00000F803E00000F800F00001F000780001F000780001F0003C0001F0003C000 3E0003C0003E0003E0003E0003E0003E0003E0007C0003E0007C0003E0007C0003E0007C0003E0 00F80007C000F80007C000F80007C000F80007C001F0000F8001F0000F8001F0000F0001F0001F 0003E0001E0003E0003C0003E0007C0003E000780007C000F00007C001E00007C007800007C01F 0000FFFFFC0000FFFFF0000023227DA125>I<00FFFFFF8000FFFFFF80000F800F80000F800780 001F000380001F000380001F000300001F000300003E000300003E030300003E030300003E0303 00007C060000007C060000007C0E0000007FFE000000FFFC000000F81C000000F81C000000F81C 000001F018000001F0180C0001F0180C0001F000180003E000180003E000300003E000300003E0 00700007C000600007C000E00007C001C00007C00FC000FFFFFFC000FFFFFF800021227DA121> I<00FFFFFF00FFFFFF000F801F000F8007001F0007001F0007001F0006001F0006003E0006003E 0006003E0306003E0306007C0600007C0600007C0E00007C1E0000FFFC0000FFFC0000F81C0000 F81C0001F0180001F0180001F0180001F0180003E0000003E0000003E0000003E0000007C00000 07C0000007C0000007C00000FFFE0000FFFE000020227DA120>I<0000FE010003FF83000F80C7 003E006F0078003E01F0003E03E0001E07C0001E0780001C0F00001C1F00001C1E00001C3E0000 187C0000187C0000007C000000F8000000F8000000F8000000F8000000F8007FFCF0007FFCF000 03E0F00003E0F80007C0F80007C0780007C0780007C03C000F803E000F801F001F8007C0778003 FFE30000FF0100202279A126>I<00FFFCFFFC00FFFCFFFC000F800F80000F800F80001F001F00 001F001F00001F001F00001F001F00003E003E00003E003E00003E003E00003E003E00007C007C 00007C007C00007C007C00007FFFFC0000FFFFF80000F800F80000F800F80000F800F80001F001 F00001F001F00001F001F00001F001F00003E003E00003E003E00003E003E00003E003E00007C0 07C00007C007C00007C007C00007C007C000FFFCFFFC00FFFCFFFC0026227DA124>I<00FFFC00 FFFC000F80000F80001F00001F00001F00001F00003E00003E00003E00003E00007C00007C0000 7C00007C0000F80000F80000F80000F80001F00001F00001F00001F00003E00003E00003E00003 E00007C00007C00007C00007C000FFFC00FFFC0016227DA113>I<0007FFE0000FFFC000003E00 00003E0000007C0000007C0000007C0000007C000000F8000000F8000000F8000000F8000001F0 000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C0000007C0000007 C0000007C000000F8000180F80003C0F80007E0F8000FC1F0000FC1E0000F83E000070F800003F F000000FC000001B227DA11A>I<00FFFE0000FFFE00000F8000000F8000001F0000001F000000 1F0000001F0000003E0000003E0000003E0000003E0000007C0000007C0000007C0000007C0000 00F8000000F8000000F8000000F8000001F0000001F0006001F0006001F000C003E000C003E000 C003E0018003E0018007C0038007C0070007C00F0007C03F00FFFFFE00FFFFFE001B227DA11F> 76 D<00FFE0001FFC00FFE0001FFC000FE0003F80000FE0006F80001BE0007F00001BE000DF00 001BE000DF00001BE0019F000033E001BE000033E0033E000033E0063E000033E0063E000063E0 0C7C000063E00C7C000061F0187C000061F0187C0000C1F030F80000C1F060F80000C1F060F800 00C1F0C0F8000181F0C1F0000181F181F0000181F181F0000181F301F0000301F603E0000301F6 03E0000301FC03E0000300FC03E0000600F807C0000600F807C0000600F007C0001F00E007C000 FFE0E0FFFC00FFE0C0FFFC002E227DA12C>I<00FFC01FFC00FFC01FFC000FC003C0000FE00380 001BE00300001BE00300001BF003000019F003000031F006000031F806000030F806000030F806 000060FC0C0000607C0C0000607C0C0000607C0C0000C03E180000C03E180000C03E180000C01F 180001801F300001801F300001800FB00001800FB00003000FE000030007E000030007E0000300 07E000060007C000060003C000060003C0001F0003C000FFE0018000FFE001800026227DA124> I<0000FE000007FF80001F03E0003C01F000F000F801E0007803C0003C0780003C0F80003C0F00 003E1F00003E3E00003E3E00003E7C00003E7C00003E7C00003EF800007CF800007CF800007CF8 0000F8F80000F8F80000F8F00001F0F00001F0F80003E0F80003C0F800078078000F007C001E00 3C003C001E00F8000F83E00007FFC00000FE00001F2279A125>I<00FFFFE000FFFFF8000F807C 000F801E001F001F001F000F001F000F001F000F003E001F003E001F003E001F003E001E007C00 3E007C003C007C0078007C00F000F803E000FFFF8000FFFE0000F8000001F0000001F0000001F0 000001F0000003E0000003E0000003E0000003E0000007C0000007C0000007C0000007C00000FF FC0000FFFC000020227DA121>I<00FFFFC000FFFFF0000F80F8000F803C001F001E001F001E00 1F001E001F001E003E003E003E003E003E003E003E007C007C0078007C00F8007C01F0007C07C0 00FFFF0000FFFE0000F80F0000F80F8001F007C001F007C001F007C001F007C003E00F8003E00F 8003E00F8003E00F8007C01F0007C01F0307C01F0307C00F86FFFC07FCFFFC01F820227DA124> 82 D<0003F040000FFCC0001E0FC0003807C00070038000E0038001E0038001E0038003C00300 03C0030003E0000003E0000003F0000003FE000001FFC00001FFF00000FFF800007FFC00000FFC 000001FE0000007E0000003E0000003E0000003E0030003C0030003C0030003C00300078007000 70007800F0007C01E0006F03C000C7FF000081FC00001A227DA11B>I<1FFFFFF81FFFFFF81E03 E0783803E0383807C0383007C0387007C0306007C030600F8030C00F8030C00F8030C00F803000 1F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C0000007C0000 007C0000007C000000F8000000F8000000F8000000F8000001F0000001F0000001F0000003F000 00FFFFC000FFFF80001D2277A123>I<3FFF07FF3FFF07FF03E000F003E000E007C000C007C000 C007C000C007C000C00F8001800F8001800F8001800F8001801F0003001F0003001F0003001F00 03003E0006003E0006003E0006003E0006007C000C007C000C007C000C007C000C0078001800F8 0018007800300078003000780060003800C0003C0180001E0700000FFC000003F00000202277A1 24>III<007FFC3FFC007FFC3FF80007E00F800007E00E000007E00C000003E018000003F0 38000003F030000001F060000001F0C0000001F980000000FB80000000FF00000000FE00000000 7C000000007C000000007E000000007E00000000FE00000000FF00000001BF000000031F000000 061F8000000E1F8000001C0F800000180F800000300FC000006007C00000C007C00001C007E000 038003E0000F8007E000FFF03FFE00FFE03FFE0026227EA124>II<007C6001FEF003C7F00703E00F01E01E01E03E01E03C03C07C 03C07C03C07C03C0F80780F80780F80788F8078CF80F18780F18781F183C77301FE7E00F81C016 157C9419>97 D<03E0003FC0003FC00003C00003C0000780000780000780000780000F00000F00 000F00000F00001E00001E78001FFE001F8F003E0F003C07803C07803C0780780F80780F80780F 80780F80F01F00F01F00F01F00F01E00F03C00703C0070780038F0003FC0000F000011237BA216 >I<003F0000FF8003C1C00783C00F07C01E07C03E03803C00007C00007C00007C0000F80000F8 0000F80000F800007800807801803807003C1E001FF80007E00012157C9416>I<00001F0001FE 0001FE00001E00001E00003C00003C00003C00003C0000780000780000780000780000F0007CF0 01FEF003C7F00703E00F01E01E01E03E01E03C03C07C03C07C03C07C03C0F80780F80780F80788 F8078CF80F18780F18781F183C77301FE7E00F81C018237CA219>I<007C03FE07870F031E033C 037C06781CFFF8FFC0F800F000F000F000F000F001F003780E383C1FF00FC010157B9416>I<00 003C0000FE0001DF0001DF0003DE00038C000780000780000780000780000F00000F00000F0000 0F0001FFF801FFF8001E00001E00001E00001E00001E00003C00003C00003C00003C00003C0000 780000780000780000780000780000F00000F00000F00000F00000E00001E00001E00001C00039 C0007BC000FB8000FB00007E00003C0000182D82A20F>I<000F18003FBC0070FC00E0F801E078 03C07807C0780780F00F80F00F80F00F80F01F01E01F01E01F01E01F01E01F03C00F03C00F07C0 071FC003FF8001E780000780000780000F00000F00380F00781E00F81C00F878007FF0003FC000 161F7F9416>I<00F8000FF0000FF00000F00000F00001E00001E00001E00001E00003C00003C0 0003C00003C000078000078F8007BFC007F1E00FC0F00F80F00F00F00F00F01E01E01E01E01E01 E01E01E03C03C03C03C03C03C43C078678078C780F0C780F18780738F007F06001C017237DA219 >I<006000F001F001F000C000000000000000000000000000000F001F8033C063C0C3C0C780C7 8007800F000F000F001E001E001E203C303C60786078C039C03F800E000D217CA00F>I<00F800 0FF0000FF00000F00000F00001E00001E00001E00001E00003C00003C00003C00003C000078000 0781E00783F00786300F08F00F11F00F21F00F41E01F80C01F80001FE0001EF0003C78003C7C00 3C3C203C3C307878607878607878407838C0F01F80600F0014237DA216>107 D<01F01FE01FE001E001E003C003C003C003C007800780078007800F000F000F000F001E001E00 1E001E003C003C003C003C007800780079007980F300F300F30073007E001C000C237CA20C>I< 1E07E03E003F1FF0FF0067B879C78067E03F03C0C7C03E03C0C7803C03C0C7803C03C00F007807 800F007807800F007807800F007807801E00F00F001E00F00F001E00F00F101E00F01E183C01E0 1E303C01E03C303C01E03C603C01E01CE07803C01FC0300180070026157C9428>I<1E07C0003F 1FE00067B8F00067E07800C7C07800C7807800C78078000F00F0000F00F0000F00F0000F00F000 1E01E0001E01E0001E01E2001E03C3003C03C6003C0786003C078C003C039C007803F8003000E0 0019157C941B>I<003F0000FFC003E1E00780F00F00F01E00F83E00F83C00F87C00F87C00F87C 00F8F801F0F801F0F801E0F803E07803C0780780380F003C1E001FFC0007E00015157C9419>I< 01E0F80003F3FC00067F0E00067E0F000C7C07000C7807800C780F8000F00F8000F00F8000F00F 8000F00F8001E01F0001E01F0001E01F0001E03E0003C03C0003E0380003E0780003F1E00007BF C000079F000007800000078000000F0000000F0000000F0000000F0000001E0000001E000000FF E00000FFE00000191F809419>I<00786001FCE00387E00707C00F03C01E03C03E03C03C07807C 07807C07807C0780F80F00F80F00F80F00F80F00F81E00781E00783E0038FE001FFC000F3C0000 3C00003C0000780000780000780000780000F00000F0000FFF000FFF00131F7C9416>I<1E0F00 3F3FC067F0C067C1E0C7C3E0C783E0C783C00F01800F00000F00000F00001E00001E00001E0000 1E00003C00003C00003C00003C000078000030000014157C9415>I<007C0001FF000383800703 800E07800E07800E02000F80000FF8000FFC0007FE0001FF00001F00300F00780F00F80E00F80E 00F01C007038003FF0001FC00011157D9414>I<00E001E001E001E001E003C003C003C003C007 80FFF8FFF807800F000F000F000F001E001E001E001E003C003C003C103C1878307830786038C0 3F800F000D1F7C9E10>I<0F00301F807833C07863C0F0C3C0F0C780F0C780F00781E00F01E00F 01E00F01E01E03C01E03C01E03C41E03C61E078C1E078C1E0F8C0E1B980FF3F003E0E018157C94 1A>I<0F01801F83C033C7E063C7E0C3C3E0C781E0C780E00780C00F00C00F00C00F00C01E0180 1E01801E01801E03001E03001E06001E04000F1C0007F80003E00014157C9416>I<0F0060601F 80F0F033C0F1F863C1E1F8C3C1E0F8C781E078C781E0380783C0300F03C0300F03C0300F03C030 1E0780601E0780601E0780601E0780C01E0780C01E0781801E0F81800F1BC30007F9FE0003E0F8 001E157C9420>I<03C3C00FE7E0187C70307CF07079F06079F06079E000F0C000F00000F00000 F00001E00001E00039E02079E030FBC060FBC060F3C0C0E7E3807CFF00383C0014157D9416>I< 0F00301F807833C07863C0F0C3C0F0C780F0C780F00781E00F01E00F01E00F01E01E03C01E03C0 1E03C01E03C01E07801E07801E0F800E1F800FFF0003EF00000F00000F00001E00781E00F83C00 F83800F07000E1E0007FC0003F0000161F7C9418>I<00F03003F87007FEE007FFC00C07800C03 00000600000C0000180000300000600000C0000180000300400600600C00C01F03C03FFF8079FF 0060FE00C0380014157E9414>III<0E1C1E3C1E3C3C783870387070E060C0C180C1800E0A73A219>I<3838F87CFCFCF8 FCF8F870700E0673A119>127 D E /Fk 100 128 df0 D<000FE000007FFC0001F83F0003E00F8007C007C00F8003E01F0001F01F 0001F03E0000F83E0000F87E0000FC7C00007C7C00007CFC30187EFC30187EFC3FF87EFC3FF87E FC3FF87EFC3FF87EFC30187EFC30187E7C00007C7C00007C7E0000FC3E0000F83E0000F81F0001 F01F0001F00F8003E007C007C003E00F8001F83F00007FFC00000FE0001F227DA126>2 D5 D<03FFFE0003FFFE00000F80 00000F8000000F8000000F8000000F8000003FC00001FFF80007CFBE001F0F8F803E0F87C03E0F 87C07C0F83E0FC0F83F0FC0F83F0FC0F83F0FC0F83F0FC0F83F0FC0F83F07C0F83E03E0F87C03E 0F87C01F0F8F8007CFBE0001FFF800003FC000000F8000000F8000000F8000000F8000000F8000 03FFFE0003FFFE001C227DA123>8 D<001FE00000FFFC0003F03F0007C00F800F8007C01F0003 E03F0003F03F0003F07E0001F87E0001F87E0001F87E0001F87E0001F87E0001F87E0001F83E00 01F03F0003F03F0003F01F0003E01F0003E00F0003C00F8007C0078007800380070003C00F00C1 C00E0CC1C00E0C60C00C1860C00C1860E01C187FE01FF87FE01FF83FE01FF03FE01FF01E227EA1 23>10 D<000FC1F0003FF7F800F87E3C01E0FC7C03C0FC7C03C0F8380780780007807800078078 000780780007807800078078000780780007807800FFFFFFC0FFFFFFC007807800078078000780 780007807800078078000780780007807800078078000780780007807800078078000780780007 807800078078000780780007807800078078007FE1FFC07FE1FFC01E2380A21C>I<000FC00000 3FE00000F8700001E0780003C0F80003C0F8000780F80007807000078000000780000007800000 078000000780000007800000FFFFF800FFFFF8000780F800078078000780780007807800078078 000780780007807800078078000780780007807800078078000780780007807800078078000780 780007807800078078007FE1FF807FE1FF80192380A21B>I<000FD800003FF80000F8F80001E0 F80003C0F80003C078000780780007807800078078000780780007807800078078000780780007 807800FFFFF800FFFFF80007807800078078000780780007807800078078000780780007807800 078078000780780007807800078078000780780007807800078078000780780007807800078078 007FF3FF807FF3FF80192380A21B>I<0007E03F00003FF1FF8000F83FC1C001E03F01E003C07E 03E003C07E03E007807C03E007803C01C007803C000007803C000007803C000007803C00000780 3C000007803C0000FFFFFFFFE0FFFFFFFFE007803C03E007803C01E007803C01E007803C01E007 803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E0 07803C01E007803C01E007803C01E007803C01E007803C01E07FF1FF8FFE7FF1FF8FFE272380A2 29>I<0007E03F60003FF1FFE000F83FC3E001E07F03E003C07E03E003C07E01E007803C01E007 803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E0FFFFFFFFE0 FFFFFFFFE007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01 E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C 01E007803C01E007803C01E07FF1FF8FFE7FF1FF8FFE272380A229>I<038007800F800F001E00 3C0038007000E0004000090A77A218>19 D<8020E0E0F1E07FC01F000E0004000C077A9F18>I< 781E00FC3F00FC3F00FE3F80FE3F807E1F800601800601800601800C03000C03001C0700180600 300C00701C0060180011107EA218>34 D<0000C018000000C018000000C018000001C038000001 803000000180300000018030000003807000000300600000030060000003006000000700E00000 0600C000000600C000000600C000000E01C000000C018000FFFFFFFFC0FFFFFFFFC00018030000 0018030000001803000000380700000030060000003006000000300600000030060000FFFFFFFF C0FFFFFFFFC000600C000000E01C000000C018000000C018000000C018000001C0380000018030 00000180300000018030000003807000000300600000030060000003006000000700E000000600 C000000600C00000222D7DA229>I<0780000C001FC0001C001C600018003870007800703C00F0 00703FFFE000F01BFFE000F01800C000F01801C000F018038000F018030000F018070000F0180E 0000F0180C000070301C0000703018000038703800001C607000001FC06000000780E03C000001 C07E00000180E300000381C300000703C1800006038180000E0380C0000C0780C0001C0780C000 380780C000300780C000700780C000E00780C000C00780C001C00380C00180038180038003C180 070001C300060000E3000E00007E000C00003C0022287DA429>37 D<003C000000007E00000000 E300000001C180000001C180000003C180000003C180000003C180000003C180000003C3000000 03C700000003C600000003CC00000001D800000001F807FF8001F007FF8001E000FC0001F00070 0003F000600007F800C0000E7800C0001C7C0180003C3C018000781E030000781F060000F80F06 0000F8078C0000F807D80000F803F00000F801F003007C00F803007C01FC06003F073E0E000FFE 0FFC0003F003F00021237EA226>I<78FCFCFEFE7E0606060C0C1C1830706007107CA20E>I<0030 006000C001800380070006000E000E001C001C003800380038007800700070007000F000F000F0 00F000F000F000F000F000F000F000F000F000F000F00070007000700078003800380038001C00 1C000E000E00060007000380018000C0006000300C327DA413>II<01C00001C00001C00001C00001C000E1C380F1C7807D DF001FFC000FF80003E0000FF8001FFC007DDF00F1C780E1C38001C00001C00001C00001C00001 C00012157DA418>I<000180000001800000018000000180000001800000018000000180000001 80000001800000018000000180000001800000018000000180000001800000018000FFFFFFFEFF FFFFFE000180000001800000018000000180000001800000018000000180000001800000018000 000180000001800000018000000180000001800000018000000180001F227D9C26>I<78FCFCFE FE7E0606060C0C1C1830706007107C850E>II<78FCFCFCFC780606 7C850E>I<000180000180000380000300000300000700000600000600000E00000C00000C0000 1C0000180000180000180000380000300000300000700000600000600000E00000C00000C00001 C0000180000180000380000300000300000700000600000600000E00000C00000C00000C00001C 0000180000180000380000300000300000700000600000600000E00000C00000C0000011317DA4 18>I<01F00007FC000F1E001C07003C07803803807803C07803C07803C0F803E0F803E0F803E0 F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E07803C07803C0 7803C03803803C07801E0F000F1E0007FC0001F00013207E9F18>I<00C001C007C0FFC0FBC003 C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 03C003C003C003C003C0FFFFFFFF10207C9F18>I<03F0000FFE00383F00300F80600FC0F807C0 FC07E0FC07E0FC03E07803E03007E00007E00007C00007C0000F80000F00001E00003E00003C00 00700000E00001C0000180000300600600600C00601800E03800C03FFFC07FFFC0FFFFC0FFFFC0 13207E9F18>I<03F0000FFE001C1F00380F807C0F807C0FC07C07C03C0FC0180FC0000F80000F 80000F00001F00003C0003F80003F000001E00000F00000F800007C00007C00007E03007E07807 E0FC07E0FC07E0FC07C0F80FC0700F803C1F001FFC0003F00013207E9F18>I<00070000070000 0F00001F00001F00003F00007F00006F0000CF0001CF00018F00038F00030F00060F000E0F000C 0F00180F00380F00300F00600F00E00F00FFFFF8FFFFF8000F00000F00000F00000F00000F0000 0F00000F0001FFF801FFF815207F9F18>I<1000801C07801FFF001FFE001FFC001FF8001FC000 18000018000018000018000018000019F8001FFE001E0F001807801807800003C00003C00003E0 0003E00003E07803E0F803E0F803E0F803C0F003C0600780300F003C1E000FFC0003F00013207E 9F18>I<007E0001FF0003C3800701C00E03C01E07C03C07C03C03807C0000780000780000F800 00F9FC00FBFE00FE0700FC0780FC03C0FC03C0F803E0F803E0F803E0F803E07803E07803E07803 E07803C03803C03C03801C07000F0F0007FC0001F80013207E9F18>I<6000007000007FFFE07F FFE07FFFC07FFFC0600180E00300C00300C00600C00C00000C0000180000300000300000600000 600000E00000E00001E00001C00001C00003C00003C00003C00003C00007C00007C00007C00007 C00007C00007C00007C00003800013227DA118>I<01F80007FE000E0F001803803003807001C0 7001C07001C07801C07C03807E03803F87001FEE000FFC0007FC0003FE000FFF001C7F80381FC0 700FC07003E0E001E0E000E0E000E0E000E0E000E07000C07001C03803801E0F000FFE0003F800 13207E9F18>I<01F00007FC000E0E001C07003C07807803807803C0F803C0F803C0F803C0F803 E0F803E0F803E0F803E07807E07807E03C07E01C0FE00FFBE007F3E00003E00003C00003C00003 C03807807C07807C0700780E00301C003838001FF00007C00013207E9F18>I<78FCFCFCFC7800 000000000000000078FCFCFCFC7806157C940E>I<78FCFCFCFC7800000000000000000070F8FC FCFC7C0C0C0C1C181830306040061F7C940E>I61 D<0FE01FF8383C601EF01FF81FF81FF81F701F003E003E007C00F000E001C001C0018003800300 030003000300030003000000000000000000000007800FC00FC00FC00FC0078010237DA217>63 D<000180000003C0000003C0000003C0000007E0000007E0000007E000000FF000000DF000000D F0000018F8000018F8000018F80000307C0000307C0000307C0000603E0000603E0000603E0000 C01F0000C01F0001C01F8001FFFF8001FFFF8003800FC0030007C0030007C0070007E0060003E0 060003E00E0003F01F0003F0FFC01FFFFFC01FFF20227EA125>65 DI<000FE010003FF83000FC0E7001E003F007C001F00F8001F0 0F0000F01F0000F03E0000703E0000707E0000307C0000307C000030FC000030FC000000FC0000 00FC000000FC000000FC000000FC000000FC0000007C0000307C0000307E0000303E0000303E00 00601F0000600F0000C00F8000C007C0018001F0030000FC0E00003FFC00000FE0001C227DA123 >IIII<0007F008003FFC1800FC0E3801F0037803C001F8078000F80F0000781F0000783E0000383E 0000387E0000387C0000187C000018FC000018FC000000FC000000FC000000FC000000FC000000 FC000000FC003FFF7C003FFF7E0000F87E0000F83E0000F83E0000F81F0000F80F8000F8078000 F803E000F801F001F800FE0738003FFE180007F80820227DA126>III<03FFF803FFF8000F80000F80000F80000F80000F80000F80000F80 000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80 000F80000F80000F80300F80780F80FC0F80FC0F80FC1F00781F00783E001FF80007E00015227F A119>IIIII<000FE000007FFC0001F83F0003E00F8007C007 C00F8003E01F0001F01F0001F03E0000F83E0000F87E0000FC7C00007C7C00007CFC00007EFC00 007EFC00007EFC00007EFC00007EFC00007EFC00007EFC00007E7C00007C7E0000FC7E0000FC3E 0000F83E0000F81F0001F01F0001F00F8003E007C007C003E00F8001F83F00007FFC00000FE000 1F227DA126>II<000FE000007F FC0001F83F0003E00F8007C007C00F8003E01F0001F01F0001F03E0000F83E0000F87E0000FC7C 00007C7C00007CFC00007EFC00007EFC00007EFC00007EFC00007EFC00007EFC00007EFC00007E 7C00007C7C00007C7E0000FC3E0000F83E0000F81F0781F01F0FE1F00F9C33E007D817C003F81F 8001FC3F00007FFC00000FEC0200000C0200000C0200000E0600000F0E00000FFE000007FC0000 07FC000007F8000003F8000001E01F2C7DA126>II<03F0200FFC601E0FE03803E07801E07000E0F000E0F00060F00060F00060F80000F80000 7C00007FC0003FFC003FFF001FFF8007FFC000FFC0000FE00003E00001F00001F00000F0C000F0 C000F0C000F0E000E0E000E0F001E0F801C0FE0780C7FF0081FC0014227DA11B>I<7FFFFFF87F FFFFF87C07C0F87007C0386007C0186007C018E007C01CE007C00CC007C00CC007C00CC007C00C C007C00C0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0 000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007 C0000007C00003FFFF8003FFFF801E227EA123>IIII<7FFC0FFF007FFC0FFF0007F003F00003F001C00001F001800001F803800000FC03 0000007C060000007E0E0000003E0C0000003F180000001FB80000000FB00000000FE000000007 E000000003E000000003F000000003F000000003F800000007FC000000067C0000000C7E000000 1C3F000000181F000000301F800000700F800000600FC00000C007E00001C003E000018003F000 038001F8000FC001F800FFF00FFFC0FFF00FFFC022227FA125>II<7FFFFE7FFFFE7F007C7C007C7000F87001F8E001F0E003F0C003E0C007C0 C007C0C00F80001F80001F00003F00003E00007C00007C0000F80001F80001F00303F00303E003 07C00307C0030F80071F80071F00063F000E3E000E7C003E7C00FEFFFFFEFFFFFE18227DA11E> II<0C03001C0700180600300C00701C00601800601800 C03000C03000C03000FC3F00FE3F80FE3F807E1F807E1F803C0F0011107CA218>II<0C1C1830706060C0C0C0FCFEFE7E7E3C07107DA20E>96 D<1FE0003FF8007C3C007C1E007C0F00380F00000F00000F0003FF000FFF003F0F007C0F007C0F 00F80F00F80F18F80F18F80F18781F187C3FB83FE7F00F83C015157E9418>I<0F0000FF0000FF 00001F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F1F800F 7FE00FE1F00F80780F00780F003C0F003C0F003E0F003E0F003E0F003E0F003E0F003E0F003E0F 003C0F003C0F00780F80F00EE1F00E7FC00C1F0017237FA21B>I<01FE0007FF000F0F801E0F80 3C0F807C0700780000F80000F80000F80000F80000F80000F80000F800007C00007C00C03C00C0 1E01800F830007FE0001F80012157E9416>I<0001E0001FE0001FE00003E00001E00001E00001 E00001E00001E00001E00001E00001E00001E00001E003F1E007FDE01F07E03E03E03C01E07801 E07801E0F801E0F801E0F801E0F801E0F801E0F801E0F801E07801E07801E03C01E03C03E01F0F F00FFDFE03F1FE17237EA21B>I<01FC0007FF000F0F801E07C03C03C07C03E07801E0FFFFE0FF FFE0F80000F80000F80000F80000F800007800007C00603C00601E00C00F838007FF0000FC0013 157F9416>I<001E00007F0001E78001CF8003CF80078700078000078000078000078000078000 078000078000078000FFF800FFF800078000078000078000078000078000078000078000078000 0780000780000780000780000780000780000780000780000780007FFC007FFC00112380A20F> I<03F0F00FFFF81E1F383C0F303C0F007C0F807C0F807C0F807C0F803C0F003C0F001E1E001FFC 0033F0003000003000003800003FFE003FFFC01FFFE03FFFF07801F0700078E00038E00038E000 38E000387000703800E01E03C00FFF8001FC0015207F9418>I<0F0000FF0000FF00001F00000F 00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F1F800F7FC00FE1E00F C0F00F80F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F 00F00F00F00F00F0FFF3FFFFF3FF18237FA21B>I<0E001F003F003F001F000E00000000000000 00000000000000000F00FF00FF001F000F000F000F000F000F000F000F000F000F000F000F000F 000F000F000F00FFE0FFE00B2280A10D>I<00F001F801F801F801F800F0000000000000000000 0000000000007807F807F800F80078007800780078007800780078007800780078007800780078 007800780078007800780078007800787078F870F8F0F9E07FC01F000D2C83A10F>I<0F0000FF 0000FF00001F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F 0FFC0F0FFC0F03E00F03800F07000F0E000F1C000F38000F78000FFC000FBE000F1E000F1F000F 0F800F07800F07C00F03C00F03E00F03F0FFE7FEFFE7FE17237FA21A>I<0F00FF00FF001F000F 000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00 0F000F000F000F000F000F000F000F000F00FFF0FFF00C2380A20D>I<0F0FC07E00FF3FE1FF00 FFE0F707801FC07E03C00F807C03C00F007803C00F007803C00F007803C00F007803C00F007803 C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F0078 03C00F007803C0FFF3FF9FFCFFF3FF9FFC26157F9429>I<0F1F80FF7FC0FFE1E01FC0F00F80F0 0F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F0 0F00F0FFF3FFFFF3FF18157F941B>I<01FC0007FF000F07801E03C03C01E07800F07800F0F800 F8F800F8F800F8F800F8F800F8F800F8F800F87800F07C01F03C01E01E03C00F078007FF0001FC 0015157F9418>I<0F1F80FF7FE0FFE1F00F80F80F00780F007C0F007C0F003E0F003E0F003E0F 003E0F003E0F003E0F003E0F007C0F007C0F00780F80F00FE1F00F7FC00F1F000F00000F00000F 00000F00000F00000F00000F00000F0000FFF000FFF000171F7F941B>I<01F06007FCE00F0EE0 1E03E03C03E07C01E07C01E0F801E0F801E0F801E0F801E0F801E0F801E0F801E07C01E07C01E0 3C03E03E03E01F0FE00FFDE003F1E00001E00001E00001E00001E00001E00001E00001E00001E0 001FFE001FFE171F7E941A>I<0F7CFFFEFFDF1F9F0F9F0F0E0F000F000F000F000F000F000F00 0F000F000F000F000F000F00FFF8FFF810157F9413>I<0FD83FF870786018E018E018F000FC00 7FC03FE01FF00FF8007CC03CC01CE01CE01CF018F838FFF08FC00E157E9413>I<030003000300 03000700070007000F001F003F00FFF8FFF80F000F000F000F000F000F000F000F000F000F000F 0C0F0C0F0C0F0C0F0C0F0C079803F001E00E1F7F9E13>I<0F00F0FF0FF0FF0FF01F01F00F00F0 0F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F01F00F01F0 0787F803FEFF01F8FF18157F941B>III<7FE3FF007FE3FF0007C1F00003C0E00003E1 C00001E3800000F3000000FF0000007E0000003C0000003E0000003E0000007F00000067800000 C7C00001C3C0000181E0000381F0000F81F800FFC3FF80FFC3FF80191580941A>II<3FFFC03FFFC03C0780380F00301F00703E00603C0060 780060F80001F00001E00003E0C007C0C00780C00F00C01F01C03E01803C0380780780FFFF80FF FF8012157F9416>II I<78787878787870707070F0F0E0E0E0E0C0C040400D0A7AA218>I<1E043FDE7FFCF7F840F00F 057CA018>I<7070F8F8F8F8F8F8F8F870700E067BA118>I E /Fl 17 112 df<0180030006000C001C001800380030007000700060006000E000E000E000E000E000E000E0 00E000E000E00060006000700070003000380018001C000C0006000300018009227E980E>40 DI<0030 00003000003000003000003000003000003000003000003000003000003000FFFFFCFFFFFC0030 0000300000300000300000300000300000300000300000300000300000300016187E931B>43 D<07C01FF03C78783C701C701CF01EF01EF01EF01EF01EF01EF01EF01EF01E701C701C783C3C78 1FF007C00F157F9412>48 D<03000F00FF00F70007000700070007000700070007000700070007 00070007000700070007007FF07FF00C157E9412>I<1F803FE071F0F8F0F878F8787078007800 7800F000E001C0038007000E000C18181830387FF0FFF0FFF00D157E9412>I<0FC01FF0307878 3C783C783C103C007800F007E007E00078003C001E701EF81EF81EF83C70383FF00FC00F157F94 12>I<007000F000F001F003F0077006700E701C70187030707070E070FFFEFFFE007000700070 007003FE03FE0F157F9412>I<60307FF07FE07F8060006000600060006F807FC070E060700078 00786078F078F078F07060E03FC01F000D157E9412>I<01F007F80E1C1C3C383C70187000F080 F7F0FFF8F81CF81CF01EF01EF01E701E701E381C3C381FF007C00F157F9412>I<60007FFE7FFE 7FFCE018C018C030006000C001800180038003000700070007000F000F000F000F000F0006000F 167E9512>I<07C01FF03838701C701C701C7C1C3F383FF00FE01FF83DFC70FCE03EE00EE00EE0 0E700C78383FF00FC00F157F9412>I61 D<0F9E3FFF7077F078F078F078F07870707FE06F8060007FF0 3FF87FFCE01EE00EE00EE00E783C3FF80FE010157F8D12>103 D108 D110 D<07C01FF03838701C701CF01EF01EF01EF01EF01E701C38 381FF007C00F0E7F8D12>I E bop 0 195 a Fk([BK89])152 b(M.)15 b(Blum)g(and)g(S.)g(Kannan.)20 b(Designing)e(programs)e(that)f(c)o(hec)o(k)f(their)h(w)o(ork.)k(In)c Fj(Pr)n(o)n(c.)301 267 y(21st)k(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g(The)n(ory)f (of)h(Computing)p Fk(,)g(pages)g(86{97,)h(Ma)o(y)d(1989.)28 b(A)301 340 y(more)12 b(detailed)i(v)o(ersion)e(of)h([BR88)o(].)f(Also)h(see) f(\\Designing)i(programs)g(that)e(c)o(hec)o(k)f(their)301 412 y(w)o(ork,")j(T)l(ec)o(hnical)g(Rep)q(ort,)g(Computer)f(Science)g(Division,)i (Univ)o(ersit)o(y)e(of)g(California,)301 484 y(Berk)o(eley)l(,)h(CA)i(94720,) i(Dec.)e(1988.)0 598 y([BKRS92])89 b(A.)17 b(Blum,)g(H.)f(Karlo\013,)j(Y.)d (Rabani,)i(and)g(M.)f(Saks.)24 b(A)17 b(decomp)q(osition)i(theoren)e(and)301 670 y(b)q(ounds)i(for)f(randomized)g(serv)o(er)e(problems.)26 b(In)17 b Fj(Pr)n(o)n(c.)g(33r)n(d)h(A)o(nn.)h(IEEE)f(Symp.)h(on)301 742 y(F)l(oundations)c(of)f(Computer)f(Scienc)n(e)p Fk(,)i(pages)e(197{207,)i (1992.)i(In)12 b(a)g Fh(k)r Fk(-serv)o(er)g(problem,)301 814 y(eac)o(h)19 b(serv)o(er)f(is)i(at)g(some)f(p)q(oin)o(t)h(in)g(a)f(metric)g (space.)g(A)o(t)f(eac)o(h)h(time)g(step,)g(a)h(request)301 887 y(arises.)14 b(Eac)o(h)e(request)h(is)g(a)g(p)q(oin)o(t)h(in)f(metric)f (space,)i(and)f(m)o(ust)f(b)q(e)h(serviced)f(b)o(y)h(mo)o(ving)301 959 y(one)g(of)h(the)e Fh(k)j Fk(serv)o(ers)d(to)i(the)e(p)q(oin)o(t)i(sp)q (eci\014ed.)f(The)g(cost)g(asso)q(ciated)i(with)f(the)f(request)301 1031 y(is)k(the)e(distance)i(that)f(the)g(serv)o(er)e(mo)o(v)o(es.)h(The)h (comp)q(etitiv)o(e)f(ratio)i(of)f(a)h Fh(k)r Fk(-serv)o(er)e(sys-)301 1103 y(tem)d(is)h(the)g(w)o(orst-case)g(ratio)g(of)g(the)f(cost)h(of)g(an)g (in)o(teractiv)o(e)f(algorithm)i(on)f(a)g(sequence)301 1176 y(of)f(inputs,)i(to)e(the)f(optimal)i(cost)f(that)g(w)o(ould)h(b)q(e)f (incurred)f(if)i(the)e(en)o(tire)g(sequence)g(w)o(ere)301 1248 y(kno)o(wn)16 b(in)f(adv)m(ance.)g(The)g(pap)q(er)h(pro)o(v)o(es)e(a)i(lo)o (w)o(er)f(b)q(ound)h(of)f(\012\()1515 1198 y Fc(q)p 1557 1198 301 2 v 50 x Fk(log)10 b Fh(k)r(=)e Fk(log)j(log)g Fh(k)r Fk(\))k(for)301 1320 y(the)21 b(comp)q(etitiv)o(e)f(ratio)i(of)f(a)g Fh(k)r Fk(-serv)o(er)e(system)h(assuming)j(an)e(oblivious)i(adv)o(ersary)l(.)301 1392 y(This)18 b(impro)o(v)o(es)e(on)g(the)g(previously)i(kno)o(wn)e(b)q (ound)i(of)e(\012\(log)11 b(log)f Fh(k)r Fk(\).)0 1506 y([BL92])160 b(P)l(.)23 b(Beame)f(and)h(J.)g(La)o(wry)l(.)41 b(Randomized)24 b(vs.)e(nondeterministic)i(comm)o(unication)301 1578 y(complexit)o(y)l(.)h (In)17 b Fj(Pr)n(o)n(c.)g(24th)i(A)o(nn.)g(A)o(CM)f(Symp.)h(on)f(The)n(ory)g (of)g(Computing)p Fk(,)g(pages)301 1650 y(188{199,)j(Victoria,)e(B.C.,)d (Canada,)k(Ma)o(y)d(1992.)27 b(The)18 b(authors)h(sho)o(w)f(that)h(the)e(t)o (w)o(o)301 1723 y(complexities)g(are)g(not)f(alw)o(a)o(ys)h(the)f(same.)0 1836 y([BLR90])124 b(M.)12 b(Blum,)g(M.)f(Lub)o(y)l(,)h(and)h(R.)e (Rubinfeld.)k(Self-testing/correcting)f(with)f(applications)301 1909 y(to)18 b(n)o(umerical)g(problems.)26 b(In)17 b Fj(Pr)n(o)n(c.)h(22nd)g (A)o(nn.)i(A)o(CM)e(Symp.)g(on)h(The)n(ory)e(of)i(Com-)301 1981 y(puting)p Fk(,)h(pages)g(73{83,)h(1990.)31 b(This)19 b(pap)q(er)h(is)g(a)f(more)f(recen)o(t)g(reference)f(on)i(the)g(use)301 2053 y(of)f(randomization)h(in)f(program)g(testing)g(and)g(adds)g(to)f(the)g (collection)i(of)e(in)o(teresting)301 2125 y(examples)g(con)o(tained)g(in)f ([BR88,)g(BK89].)0 2239 y([Blu82])150 b(M.)15 b(Blum.)21 b(Coin)c(\015ipping) g(b)o(y)f(telephone.)k(In)c Fj(Pr)n(o)n(c.)g(1982)g(IEEE)h(COMPCON,)h(High) 301 2311 y(T)l(e)n(chnolo)n(gy)e(in)f(the)g(Information)g(A)n(ge)p Fk(,)f(pages)g(133{137,)j(1982.)h(This)c(pap)q(er)g(describ)q(es)301 2384 y(ho)o(w)i(t)o(w)o(o)g(parties)g(can)g(use)g(encryption)g(and)g (decryption)g(k)o(eys)f(in)h(a)g(public)h(k)o(ey)d(cryp-)301 2456 y(tosystem)j(to)f(toss)h(coins)g(and)g(exc)o(hange)f(results)h(in)g(a)f (distributed)i(en)o(vironmen)o(t.)0 2570 y([BM84])145 b(M.)14 b(Blum)g(and)i(S.)e(Micali.)19 b(Ho)o(w)c(to)g(generate)f(cryptographically)j (strong)e(sequence)f(of)301 2642 y(pseudo-random)g(bits.)i Fj(SIAM)e(Journal)g(on)h(Computing)p Fk(,)e(13:850{864,)j(1984.)h(This)c(pa-) 951 2828 y(96)p eop bop 301 195 a Fk(p)q(er)17 b(in)o(tro)q(duces)g(the)e(notion)j(of)e (cryptographically)j(secure)c(pseudo-random)j(n)o(um)o(b)q(er)301 267 y(generator.)0 379 y([BM88])145 b(L.)11 b(Babai)h(and)f(S.)g(Moran.)i (Arth)o(ur-Merlin)e(games:)19 b(A)10 b(randomized)h(pro)q(of)h(system,)f(and) 301 451 y(a)17 b(hierarc)o(h)o(y)f(of)h(complexit)o(y)f(classes.)22 b Fj(Journal)c(of)f(Computer)h(and)g(System)g(Scienc)n(es)p Fk(,)301 523 y(36:254{276,)j(1988.)28 b(The)18 b(pro)q(of)h(system)f(is)h (considered)f(as)h(a)f(game)g(pla)o(y)o(ed)g(b)q(et)o(w)o(een)301 596 y(t)o(w)o(o)13 b(pla)o(y)o(ers,)g(the)g(v)o(eri\014er)f(and)i(the)e(pro)o (v)o(er,)h(called)h(Arth)o(ur)e(and)h(Merlin,)h(resp)q(ectiv)o(ely)l(.)301 668 y(Arth)o(ur)20 b(and)g(Merlin)g(can)g(toss)h(coins)g(and)f(can)g(talk)h (bac)o(k)e(and)i(forth.)e(In)h(this)h(t)o(yp)q(e)301 740 y(of)c(pro)q (of-system,)f(all)i(coin)e(tosses)h(made)f(b)o(y)g(the)f(v)o(eri\014er)h(are) g(seen)f(b)o(y)h(the)g(pro)o(v)o(er.)e(A)301 812 y(hierarc)o(h)o(y)i(of)h (complexit)o(y)f(classes)h(\\just)g(ab)q(o)o(v)o(e)f Fj(NP)5 b Fk("is)18 b(deriv)o(ed.)0 924 y([BM89])145 b(M.)16 b(Bellare)g(and)h(S.)f (Micali.)22 b(Non-in)o(teractiv)o(e)16 b(oblivious)i(transfer)f(and)f (applications.)301 996 y(In)f Fj(A)n(dvanc)n(es)h(in)h(Cryptolo)n(gy{CR)l (YPTO)e(89,)h Fk(Lecture)e(Notes)h(in)g(Computer)g(Science,)301 1068 y(V)l(ol.)c(435,)i(pages)f(547{559.)h(Springer-V)l(erlag,)g(1989.)h (Based)d(on)g(a)g(complexit)o(y)g(assump-)301 1141 y(tion,)16 b(Bellare)f(and)h(Micali)g(sho)o(w)g(that)f(it)g(is)h(p)q(ossible)h(to)e (build)i(public-k)o(ey)e(cryptosys-)301 1213 y(tems)f(in)h(whic)o(h)f (oblivious)j(transfer)d(is)h(itself)g(implemen)o(ted)e(without)j(an)o(y)d(in) o(teraction.)0 1325 y([BMO90])107 b(M.)18 b(Bellare,)h(S.)g(Micali,)h(and)f (R.)f(Ostro)o(vsky)l(.)28 b(P)o(erfect)17 b(zero-kno)o(wledge)i(in)h(constan) o(t)301 1397 y(rounds.)43 b(In)23 b Fj(Pr)n(o)n(c.)g(22nd)h(A)o(nn.)h(A)o(CM) e(Symp.)g(on)i(The)n(ory)d(of)i(Computing)p Fk(,)h(pages)301 1469 y(482{493,)18 b(1990.)j(This)16 b(pap)q(er)f(con)o(tains)i(the)d (\014rst)i(constan)o(t-round)g(solutions)i(with)e(no)301 1541 y(unpro)o(v)o(en)i(assumptions)i(for)e(the)g(problems)g(of)h(graph)g (isomorphism)h(and)e(quadratic)301 1614 y(residuosit)o(y)l(.)0 1725 y([BMS86])118 b(E.)22 b(Bac)o(h,)h(G.)f(Miller,)i(and)f(J.)f(Shallit.)41 b(Sums)22 b(of)g(divisors,)j(p)q(erfect)d(n)o(um)o(b)q(ers)f(and)301 1797 y(factoring.)41 b Fj(SIAM)23 b(Journal)g(on)g(Computing)p Fk(,)h(15\(4\):1143{115)q(4,)j(No)o(v)o(em)o(b)q(er)20 b(1986.)301 1870 y(The)h(authors)g(sho)o(w)g(that)g(computing)g(the)f(sum)g(of)h (divisors)h(of)f(a)f(n)o(um)o(b)q(er)g Fh(N)25 b Fk(is)c(as)301 1942 y(hard)k(as)g(factoring)h Fh(N)5 b Fk(.)24 b(They)f(also)j(giv)o(e)e (three)g(natural)i(sets)e(whic)o(h)h(are)f(in)h Fj(BPP)301 2014 y Fk(\(see)16 b([Gil77)r(]\))g(but)g(are)g(not)h(kno)o(wn)g(to)f(b)q(e)h (in)f Fj(RP)5 b Fk(.)0 2126 y([BN93])153 b(R.)22 b(B.)e(Boppana)j(and)g(B.)d (O.)i(Nara)o(y)o(anan.)38 b(The)21 b(biased)i(coin)g(problem.)38 b(In)21 b Fj(Pr)n(o)n(c.)301 2198 y(25th)f(A)o(nn.)f(A)o(CM)g(Symp.)g(on)h (The)n(ory)e(of)h(Computing)p Fk(,)g(pages)g(252{257,)h(San)f(Diego,)301 2270 y(CA,)j(Ma)o(y)g(1993.)42 b(A)22 b Fj(slightly)i(r)n(andom)e(sour)n(c)n (e)k Fk(\(with)d Fj(bias)g Fh(\017)p Fk(\))f(is)h(a)g(sequence)f Fh(x)i Fk(=)301 2342 y(\()p Fh(x)348 2349 y Fl(1)368 2342 y Fh(;)8 b(x)418 2349 y Fl(2)437 2342 y Fh(;)g Fg(\001)g(\001)g(\001)g Fh(;)g(x)575 2349 y Ff(n)598 2342 y Fk(\))15 b(of)h(random)f(bits)h(suc)o(h)e (that)i(the)e(conditional)k(probabilit)o(y)f(that)e Fh(x)1884 2349 y Ff(i)1912 2342 y Fk(=)301 2415 y(1,)25 b(giv)o(en)e(the)f(outcomes)h (of)g(the)f(\014rst)h Fh(i)16 b Fg(\000)f Fk(1)23 b(bits,)i(is)e(alw)o(a)o (ys)h(b)q(et)o(w)o(een)1737 2395 y Fl(1)p 1737 2403 18 2 v 1737 2432 a(2)1775 2415 y Fg(\000)15 b Fh(\017)22 b Fk(and)306 2467 y Fl(1)p 306 2475 V 306 2504 a(2)342 2487 y Fk(+)12 b Fh(\017)p Fk(.)18 b(Giv)o(en)h(a)g(subset)g(of)g Fh(S)i Fk(of)e Fg(f)p Fk(0)p Fh(;)8 b Fk(1)p Fg(g)1070 2469 y Ff(n)1094 2487 y Fk(,)19 b(its)g Fh(\017)p Fk(-)p Fj(biase)n(d)h(pr)n(ob)n(ability)e Fk(is)h(de\014ned)g(to)g(b)q(e)301 2559 y(the)d(minim)o(um)g(of)g(Pr[)p Fh(x)d Fg(2)h Fh(S)s Fk(])h(o)o(v)o(er)g(all)j(sligh)o(tly)f(random)g (sources)f Fh(x)f Fk(with)i(bias)g Fh(\017)p Fk(.)e(The)301 2631 y(authors)j(sho)o(w)f(that)g(for)f(ev)o(ery)f(\014xed)h Fh(\017)e(<)1117 2612 y Fl(1)p 1117 2620 V 1117 2649 a(2)1156 2631 y Fk(and)j(almost)h(ev)o(ery)d(subset)h Fh(S)k Fk(of)d Fg(f)p Fk(0)p Fh(;)8 b Fk(1)p Fg(g)1913 2613 y Ff(n)1936 2631 y Fk(,)301 2704 y(the)j Fh(\017)p Fk(-biased)h(probabilit)o(y)h(of)f Fh(S)i Fk(is)d(b)q(ounded)h(a)o(w)o(a)o(y)f(from)g(0.)g(They)g(also)h(sho)o (w)g(that)g(there)951 2828 y(97)p eop bop 301 195 a Fk(exists)18 b(a)g(p)q(erfect-information,)g(collectiv)o(e)g (coin-\015ipping)i(\(leader)d(election\))h(proto)q(col)301 267 y(for)f Fh(n)f Fk(pla)o(y)o(ers)g(that)h(tolerates)g Fh(\017n)f Fk(c)o(heaters,)f(for)i(ev)o(ery)e Fh(\017)e(<)h Fk(\(2)1488 226 y Fg(p)p 1530 226 49 2 v 41 x Fk(10)e Fg(\000)f Fk(5\))p Fh(=)p Fk(3)j Fg(\031)g Fh(:)p Fk(44.)0 381 y([BNS89])126 b(L.)17 b(Babai,)g(N.)f(Nisan,)h(and)g(M.)f(Szegedy)l(.)22 b(Multipart)o(y)17 b(proto)q(cols)i(and)e(logspace-hard)301 453 y(pseudorandom)f(sequences.)h (In)d Fj(Pr)n(o)n(c.)h(21st)g(A)o(nn.)h(A)o(CM)g(Symp.)f(on)h(The)n(ory)e(of) i(Com-)301 526 y(puting)p Fk(,)h(pages)f(1{11,)h(1989.)22 b(A)15 b(lo)o(w)o(er)h(b)q(ound)g(is)h(obtained)g(for)f(the)f(bit)h(complexit)o(y)g (of)301 598 y(computing)g(functions)g(of)e Fh(n)h Fk(v)m(ariables,)i(where)d (the)g Fh(i)1300 580 y Ff(th)1350 598 y Fk(v)m(ariable)i(resides)f(on)g(pro)q (cessor)301 670 y Fh(i)p Fk(.)21 b(The)g(comm)o(unication)g(mec)o(hanism)g (considered)h(is)f(a)h(shared)f(blac)o(kb)q(oard.)h(Using)301 742 y(this)16 b(b)q(ound,)f(algorithms)h(are)f(dev)o(elop)q(ed)f(that)h (generate,)f(in)h(p)q(olynomial)i(time,)d(pseu-)301 814 y(dorandom)20 b(sequences)e(of)h(length)g Fh(n)g Fk(from)f(a)h(seed)g(of)g(length)g(exp\()p Fh(c)1616 777 y Fg(p)p 1657 777 117 2 v 1657 814 a Fk(log)27 b Fh(n)p Fk(\).)18 b(These)301 887 y(pseudorandom)13 b(sequences)d(cannot)i (b)q(e)f(distinguished)j(from)d(truly)h(random)g(sequences)301 959 y(b)o(y)k(an)o(y)g(logspace)i(T)l(uring)f(mac)o(hine.)0 1073 y([BO83])152 b(M.)12 b(Ben-Or.)h(Another)f(adv)m(an)o(tage)h(of)f(free)f (c)o(hoice:)19 b(Completely)13 b(async)o(hronous)g(agree-)301 1145 y(men)o(t)e(proto)q(cols.)17 b(In)11 b Fj(Pr)n(o)n(c.)i(Se)n(c)n(ond)h (A)o(nn.)g(A)o(CM)f(Symp.)g(on)h(Principles)h(of)e(Distribute)n(d)301 1217 y(Computing)p Fk(,)26 b(pages)e(27{30,)j(1983.)44 b(Ben-Or's)23 b(probabilistic)j(algorithm)g(for)d(asyn-)301 1289 y(c)o(hronous)d(Byzan)o (tine)e(agreemen)o(t,)g(discussed)h(in)g(Section)g(3.5,)h(w)o(as)f(one)f(of)h (the)g(\014rst)301 1362 y(published)i(solution)h(to)e(the)g(problem,)g(and)g (remains)g(the)g(simplest.)g(Pro)q(cesses)g(toss)301 1434 y(coins)15 b(indep)q(enden)o(tly)f(to)g(reac)o(h)f(consensus)h(on)h(a)f(v)m(alue.)f(His) h(algorithm)i(requires)e(that)301 1506 y(less)i(than)f(one-\014fth)g(of)g (the)g(pro)q(cesses)g(are)g(fault)o(y)g(for)g(correctness)f(to)h(b)q(e)g (guaran)o(teed.)301 1578 y(The)j(exp)q(ected)e(n)o(um)o(b)q(er)h(of)h(rounds) g(is)g(exp)q(onen)o(tial)h(in)f(the)f(n)o(um)o(b)q(er)g(of)g(pro)q(cesses)h Fh(n)p Fk(,)301 1650 y(but)f(b)q(ecomes)f(a)g(constan)o(t)h(when)g(the)f(n)o (um)o(b)q(er)f(of)i(fault)o(y)f(pro)q(cesses)h(is)g Fh(O)q Fk(\()1723 1615 y Fg(p)p 1765 1615 30 2 v 35 x Fh(n)p Fk(\).)0 1764 y([BO85])152 b(M.)17 b(Ben-Or.)23 b(F)l(ast)18 b(async)o(hronous)g (Byzan)o(tine)f(agreemen)o(t)f(\(extended)h(abstract\).)24 b(In)301 1836 y Fj(Pr)n(o)n(c.)14 b(F)l(ourth)h(A)o(nn.)g(A)o(CM)g(Symp.)f (on)i(Principles)f(of)g(Distribute)n(d)g(Computing)p Fk(,)f(pages)301 1909 y(149{151,)i(1985.)i(This)d(w)o(ork)e(extends)f(Brac)o(ha's)h([Bra85])g (algorithm)i(to)f(async)o(hronous)301 1981 y(net)o(w)o(orks,)g(initially)i (obtaining)h(a)d(p)q(olynomial)i(exp)q(ected-time)d(proto)q(col.)i(This)g (proto-)301 2053 y(col)h(is)f(re\014ned)g(with)g(the)g(recursiv)o(e)f(use)h (of)g(Brac)o(ha's)f(tec)o(hniques)g(to)i(get)e(an)i Fh(O)q Fk(\(log)1872 2032 y Ff(k)1902 2053 y Fh(n)p Fk(\))301 2125 y(algorithm,)i(where)e Fh(k)i Fk(is)f(a)g(large)g(constan)o(t.)0 2239 y([BOGKW88])26 b(M.)14 b(Ben-Or,)f(S.)h(Goldw)o(asser,)h(J.)f(Kilian,)i (and)f(A.)e(Wigderson.)19 b(Multi-pro)o(v)o(er)14 b(in)o(terac-)301 2311 y(tiv)o(e)g(pro)q(ofs:)21 b(Ho)o(w)14 b(to)g(remo)o(v)o(e)f(the)g(in)o (tractabilit)o(y)j(assumptions.)j(In)14 b Fj(Pr)n(o)n(c.)g(20th)h(A)o(nn.)301 2384 y(A)o(CM)20 b(Symp.)g(on)g(The)n(ory)f(of)g(Computing)p Fk(,)h(pages)g(113{131,)i(1988.)31 b(A)18 b(m)o(ulti-pro)o(v)o(er)301 2456 y(in)o(teractiv)o(e)e(pro)q(of)i(mo)q(del)f(is)g(prop)q(osed)g(and)g (its)g(prop)q(erties)g(examined.)0 2570 y([BOGW88])64 b(M.)21 b(Ben-Or,)i(S.)e(Goldw)o(asser,)k(and)d(A.)f(Wigderson.)39 b(Completeness)22 b(theorems)g(for)301 2642 y(non-cryptographic)17 b(fault-toleran)o(t)g(distributed)f(computation.)k(In)15 b Fj(Pr)n(o)n(c.)g(20th)h(A)o(nn.)951 2828 y Fk(98)p eop bop 301 195 a Fj(A)o(CM)18 b(Symp.)g(on)h(The)n(ory)e(of)i(Computing)p Fk(,)e(pages)i(1{10,)f(1988.)26 b(The)17 b(problem)h(is)g(the)301 267 y(same)f(as)f(that)h(in)g([CCD88)q(])f(and)h(the)f(results)h(obtained)g (are)g(similar.)0 379 y([BOL89])122 b(M.)19 b(Ben-Or)g(and)h(N.)e(Linial.)33 b(Collectiv)o(e)20 b(coin)g(\015ipping.)32 b(In)19 b(S.)g(Micali,)i(editor,)f Fj(A)n(d-)301 451 y(vanc)n(es)f(in)f(Computing)g(R)n(ese)n(ar)n(ch)f(5:)22 b(R)n(andomness)c(and)g(Computation)p Fk(,)e(Green)o(wic)o(h,)301 523 y(CT,)h(1989.)i(JAI)d(Press.)24 b(Ben-Or)16 b(and)i(Linial)i(consider)d (the)g(problem)h(of)f(obtaining)j(a)301 596 y(distributed)f(coin)f(toss,)g (where)f(eac)o(h)g(no)q(de)h(is)g(initially)i(assigned)f(either)f(a)f(head)h (or)g(a)301 668 y(tail.)d(The)f(outcome)f(of)h(the)f(distributed)i(coin)g (toss)f(should)h(not)f(b)q(e)g(a\013ected)g(b)o(y)f(bias)i(at)301 740 y(individual)h(no)q(des.)d(T)l(o)g(exclude)f(the)g(ob)o(vious)i(trivial)h (solution)f(where)f(eac)o(h)f(non-fault)o(y)301 812 y(no)q(de)k(pic)o(ks)g(a) f(predetermined)g(v)m(alue,)h(it)f(is)h(required)g(that)f(if)h(ev)o(ery)e(no) q(de)i(c)o(hanges)f(its)301 885 y(initial)25 b(v)m(alue,)e(the)f(result)g(of) g(the)f(distributed)j(coin)e(toss)h(should)g(also)g(c)o(hange.)e(An)301 957 y(e\016cien)o(t)16 b(solution)k(is)e(obtained)g(under)f(the)g(assumption) h(that)g(unfair)g(\(fault)o(y\))f(no)q(des)301 1029 y(ha)o(v)o(e)f(complete)g (kno)o(wledge)h(of)f(actions)i(tak)o(en)d(b)o(y)h(all)i(no)q(des.)0 1141 y([Bop89])139 b(R.)16 b(B.)e(Boppana.)21 b(Ampli\014cation)d(of)e (probabilistic)i(b)q(o)q(olean)g(form)o(ulas.)j(In)16 b(S.)f(Micali,)301 1213 y(editor,)23 b Fj(A)n(dvanc)n(es)f(in)h(Computing)f(R)n(ese)n(ar)n(ch)e (5:)32 b(R)n(andomness)21 b(and)h(Computation)p Fk(,)301 1285 y(pages)17 b(27{45,)h(Green)o(wic)o(h,)d(CT,)h(1989.)h(JAI)e(Press.)21 b(V)l(alian)o(t's)c([V)l(al84a)q(])e(algorithm)j(is)301 1357 y(sho)o(wn)d(to)f(b)q(e)f(the)h(b)q(est)g(p)q(ossible.)h(Also,)f(an)g Fh(O)q Fk(\()p Fh(k)1215 1339 y Fl(4)p Ff(:)p Fl(3)1263 1357 y Fh(n)8 b Fk(log)j Fh(n)p Fk(\))j(algorithm)h(for)f(computing)301 1430 y(the)i Fh(k)r Fk(th)h(threshold)g(function)g(of)g Fh(n)f Fk(v)m(ariables)i(is)f(giv)o(en.)0 1541 y([BP92])157 b(M.)15 b(Bellare)h(and)g(E.)g(P)o(etrank.)j(Making)e(zero-kno)o(wledge)f(pro)o(v)o (ers)f(e\016cien)o(t.)k(In)c Fj(Pr)n(o)n(c.)301 1614 y(24th)24 b(A)o(nn.)g(A)o(CM)f(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p Fk(,)i(pages)f(711{722,)i(Victoria,)301 1686 y(B.C.,)14 b(Canada,)i(Ma)o(y)e (1992.)20 b(They)14 b(pro)o(v)o(e)g(that)h(if)g(a)g(language)i(p)q(ossesses)f (a)f(statistical)301 1758 y(zero-kno)o(wledge)i(pro)q(of)h(then)f(it)g(also)h (p)q(ossesses)g(a)f(statistical)i(zero-kno)o(wledge)e(pro)q(of)301 1830 y(in)h(whic)o(h)f(the)g(pro)o(v)o(er)f(runs)h(in)g(probabilisti)q(c)i(p) q(olynomial)h(time)d(with)g(an)h Fj(NP)f Fk(oracle.)301 1902 y(Previously)l(,)g(this)f(w)o(as)g(only)g(kno)o(wn)f(giv)o(en)h(the)f (existence)f(of)i(one-w)o(a)o(y)f(p)q(erm)o(utations.)0 2014 y([BR88])154 b(M.)14 b(Blum)f(and)i(P)l(.)e(Ragha)o(v)m(an.)19 b(Program)c(correctness:)20 b(Can)14 b(one)g(test)g(for)g(it?)26 b(T)l(ec)o(hni-)301 2086 y(cal)13 b(Rep)q(ort)f(R)o(C)g(14038)i(\(#62902\),)f (IBM)e(T.J.)g(W)l(atson)i(Researc)o(h)f(Cen)o(ter,)f(Septem)o(b)q(er)301 2159 y(1988.)24 b(They)17 b(presen)o(t)f(\\program)i(c)o(hec)o(k)o(ers")d (for)i(a)g(n)o(um)o(b)q(er)f(of)h(in)o(teresting)g(problems)301 2231 y(based)g(on)g(in)o(teractiv)o(e)f(pro)q(ofs.)0 2342 y([BR89a])130 b(L.)27 b(Babai)g(and)g(L.)g(R\023)-24 b(on)o(y)o(ai.)52 b(Computing)27 b(irreducible)h(represen)o(tations)f(of)g(\014nite)301 2415 y(groups.)36 b(In)21 b Fj(Pr)n(o)n(c.)f(30th)i(A)o(nn.)g(IEEE)f(Symp.)h(on)g (F)l(oundations)g(of)f(Computer)h(Sci-)301 2487 y(enc)n(e)p Fk(,)h(pages)e(93{98,)j(Researc)o(h)19 b(T)l(riangle)k(P)o(ark,)e(NC,)f (Octob)q(er)h(1989.)h(IEEE)e(Com-)301 2559 y(puter)15 b(So)q(ciet)o(y)g (Press.)k(In)14 b(this)i(pap)q(er,)f(the)f(authors)i(giv)o(e)f(a)g (randomized)g(\(Las)h(V)l(egas\))301 2631 y(p)q(olynomial)k(time)d(algorithm) i(for)f(decomp)q(osing)g(a)g(giv)o(en)f(represen)o(tation)h(of)f(a)h (\014nite)301 2704 y(group)g(o)o(v)o(er)d(an)i(algebraic)h(n)o(um)o(b)q(er)d (\014eld)i(in)o(to)g(absolutely)h(irreducible)f(constituen)o(ts.)951 2828 y(99)p eop bop 0 195 a Fk([BR89b])127 b(B.)19 b(Berger)g(and)h(J.)f(Romp)q(el.)31 b(Sim)o(ulating)21 b(\(log)1224 174 y Ff(c)1250 195 y Fh(n)p Fk(\)-wise)f(indep)q(endence)g(in)g(NC.)30 b(In)301 267 y Fj(Pr)n(o)n(c.)17 b(30th)g(A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)g (Scienc)n(e)p Fk(,)h(Researc)o(h)301 340 y(T)l(riangle)d(P)o(ark,)e(NC,)g (Oct)f(1989.)j(IEEE)e(Computer)g(Science)f(Press.)17 b(A)12 b(general)i(frame-)301 412 y(w)o(ork)21 b(for)g(the)g(derandomization)i(of)e (randomized)g Fj(NC)g Fk(algorithms)i(whose)f(analysis)301 484 y(uses)e(only)g(p)q(olylogari)q(thmic)i(indep)q(endence)d(is)h(presen)o (ted.)f(This)h(framew)o(ork)f(allo)o(ws)301 556 y(the)f(deriv)m(ation)h(of)f Fj(NC)f Fk(algorithms)j(for)d(man)o(y)g(problems)i(that)e(w)o(ere)g(not)h (previously)301 628 y(kno)o(wn)f(to)f(b)q(e)h(in)g Fj(NC)7 b Fk(.)0 742 y([Bra85])147 b(G.)16 b(Brac)o(ha.)j(An)d Fh(O)q Fk(\(log)10 b Fh(n)p Fk(\))16 b(exp)q(ected)e(rounds)j(randomized)f(Byzan)o (tine)f(generals)h(pro-)301 814 y(to)q(col.)e(In)d Fj(Pr)n(o)n(c.)h(17th)g(A) o(nn.)h(A)o(CM)g(Symp.)f(on)h(The)n(ory)e(of)i(Computing)p Fk(,)f(pages)g(316{326,)301 887 y(1985.)k(Brac)o(ha)c(sho)o(ws)h(ho)o(w)f(to) g(partition)i(a)f(set)f(of)g Fh(n)g Fk(sync)o(hronous)h(pro)q(cesses)f(\(of)h (whic)o(h)301 959 y(at)k(most)g(a)g(third)g(are)g(fault)o(y\))g(in)o(to)g(o)o (v)o(erlapping)h Fj(gr)n(oups)e Fk(of)h(pro)q(cesses)g(suc)o(h)f(that)h(the) 301 1031 y(n)o(um)o(b)q(er)c(of)h(fault)o(y)g(groups)g(is)g(at)g(most)g(the)f (square)h(ro)q(ot)g(the)f(total)i(n)o(um)o(b)q(er)e(of)g(groups.)301 1103 y(Ben-Or's)j(algorithm)i(for)f(Byzan)o(tine)f(agreemen)o(t)f(\(see)h (Section)h(3.5\))g(is)g(then)f(used)h(to)301 1176 y(obtain)h(an)f Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))16 b(proto)q(col.)0 1289 y([Bro85])147 b(A.)20 b(Z.)h(Bro)q(der.)35 b(A)20 b(pro)o(v)m(ably)i(secure)e (p)q(olynomial)k(appro)o(ximation)f(sc)o(heme)c(for)i(the)301 1362 y(distributed)e(lottery)f(problem)g(\(extended)e(abstract\).)26 b(In)17 b Fj(Pr)n(o)n(c.)h(F)l(ourth)g(A)o(nn.)h(A)o(CM)301 1434 y(Symp.)f(on)g(Principles)h(of)e(Distribute)n(d)h(Computing)p Fk(,)f(pages)g(136{148,)i(1985.)24 b(Rabin's)301 1506 y(classic)14 b(Byzan)o(tine)e(agreemen)o(t)f(algorithm)k([Rab83)q(])c(uses)i(a)g (coin-toss)h(whose)f(outcome)301 1578 y(is)19 b(a)o(v)m(ailable)h(to)e(all)h (pro)q(cesses,)f(but)g(whic)o(h)g(cannot)g(b)q(e)g(predicted)f(a)h(priori,)i (to)e(reac)o(h)301 1650 y(Byzan)o(tine)23 b(agreemen)o(t)e(in)j(constan)o(t)f (time.)f(Bro)q(der)h(demonstrates)g(a)g(p)q(olynomial-)301 1723 y(time)g(distributed)i(mec)o(hanism)d(to)i(implemen)o(t)e(suc)o(h)h(a)h (coin)g(toss)f(in)h(a)g(Byzan)o(tine)301 1795 y(en)o(vironmen)o(t.)0 1909 y([Bro86])147 b(A.)19 b(Z.)g(Bro)q(der.)30 b(Ho)o(w)19 b(hard)h(is)g(it)g(to)g(marry)f(at)h(random?)32 b(\(On)19 b(the)g(appro)o (ximation)301 1981 y(of)i(the)f(p)q(ermanen)o(t\).)32 b(In)19 b Fj(Pr)n(o)n(c.)h(18th)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n(ory)f(of)h (Comput-)301 2053 y(ing)p Fk(,)26 b(pages)f(50{58,)i(1986.)44 b(This)25 b(pap)q(er)f(pro)o(vides)g(a)g Fj(ful)r(l-p)n(olynomial)i(r)n (andomize)n(d)301 2125 y(appr)n(oximation)21 b(scheme)h(\(fpr)n(as\))e Fk(for)h(appro)o(ximating)h(the)e(p)q(ermanen)o(t.)f(Ev)m(aluating)301 2198 y(the)e(p)q(ermanen)o(t)g(of)h(a)g Fh(n)12 b Fg(\002)f Fh(n)17 b Fk(matrix)h(is)g(equiv)m(alen)o(t)g(to)f(coun)o(ting)i(p)q(erfect)d (matc)o(hings)301 2270 y(in)i(an)f(asso)q(ciated)i(bipartite)f(graph.)g(The)e (problem)i(of)f(appro)o(ximately)g(coun)o(ting)h(the)301 2342 y(p)q(erfect)d(matc)o(hings)h(in)g(a)g(graph)g(is)g(reduced)e(to)i(that)g(of) f(generating)i(them)e(uniformly)l(.)301 2414 y(See)j([JS89)q(])f(for)i(the)f (de\014nition)i(of)f(fpras)f(and)h(other)g(related)f(material.)h(An)f (erratum)301 2487 y(can)13 b(b)q(e)g(found)h(in)f Fj(Pr)n(o)n(c.)g(20th)i(A)o (nn.)g(A)o(CM)e(Symp.)h(on)h(The)n(ory)e(of)h(Computing)t Fk(,)g(1988.\).)0 2600 y([Bro89])147 b(A.)18 b(Z.)f(Bro)q(der.)28 b(Generating)19 b(random)g(spanning)h(trees.)27 b(In)18 b Fj(Pr)n(o)n(c.)g(30th)h(A)o(nn.)h (IEEE)301 2672 y(Symp.)g(on)f(F)l(oundations)h(of)g(Computer)f(Scienc)n(e)p Fk(,)h(pages)g(442{453,)h(Oct)d(1989.)29 b(This)938 2828 y(100)p eop bop 301 195 a Fk(pap)q(er)18 b(solv)o(es)g(the)f(problem)h(of)f(generating)i (a)e(spanning)j(tree)c(of)i(a)f(connected,)g(undi-)301 267 y(rected)d(graph)i Fh(G)f Fk(whic)o(h)g(as)h(the)e(follo)o(wing)k(sp)q(ecial) e(prop)q(ert)o(y:)21 b(it)15 b(is)g(c)o(hosen)g(uniformly)301 340 y(at)j(random)h(from)e(all)i(p)q(ossible)h(spanning)g(trees)d(of)h Fh(G)p Fk(.)g(The)g(exp)q(ected)e(running)j(time)301 412 y(of)i(the)e (probabilisti)q(c)j(algorithm)g(is)e Fh(O)q Fk(\()p Fh(n)8 b Fk(log)k Fh(n)p Fk(\))20 b(p)q(er)g(generated)f(tree)g(for)i(almost)g(all) 301 484 y(graphs.)c(It)f(can)h(b)q(e)f Fh(O)q Fk(\()p Fh(n)767 466 y Fl(3)787 484 y Fk(\))h(p)q(er)f(generated)g(tree)g(in)h(the)f(w)o(orst) g(case.)0 596 y([BRS91a])103 b(R.)22 b(Beigel,)h(N.)e(Reingold,)j(and)f(D.)e (Spielman.)39 b(PP)22 b(is)h(closed)f(under)g(in)o(tersection.)301 668 y(In)g Fj(Pr)n(o)n(c.)f(23r)n(d)g(A)o(nn.)i(A)o(CM)f(Symp.)g(on)h(The)n (ory)e(of)h(Computing)p Fk(,)h(pages)g(1{9,)h(New)301 740 y(Orleans,)17 b(LA,)f(Ma)o(y)g(1991.)23 b(The)17 b(randomized)g(complexit)o(y)f(class)h Fj(PP)g Fk(is)g(sho)o(wn)g(to)g(b)q(e)301 812 y(closed)g(under)f(in)o (tersection)h(and)g(union.)0 924 y([BRS91b])100 b(A.)17 b(Blum,)h(P)l(.)g (Ragha)o(v)m(an,)h(and)f(B.)f(Sc)o(hieb)q(er.)26 b(Na)o(vigating)20 b(in)e(unfamiliar)i(geometric)301 996 y(terrain.)g(In)15 b Fj(Pr)n(o)n(c.)g(23r)n(d)f(A)o(nn.)j(A)o(CM)f(Symp.)g(on)g(The)n(ory)f(of)h (Computing)p Fk(,)g(pages)f(494{)301 1068 y(504,)i(New)f(Orleans,)g(LA,)g(Ma) o(y)f(1991.)23 b(They)16 b(consider)g(the)g(problem)h(of)f(a)g(rob)q(ot)i (that)301 1141 y(has)f(to)f(tra)o(v)o(el)g(from)g(a)g(start)h(lo)q(cation)h (to)f(a)f(target)g(in)h(an)g(en)o(vironmen)o(t)e(with)i(opaque)301 1213 y(obstacles)25 b(that)g(lie)f(in)g(its)h(w)o(a)o(y)l(.)e(The)h(rob)q(ot) h(alw)o(a)o(ys)f(kno)o(ws)g(its)h(curren)o(t)e(absolute)301 1285 y(p)q(osition)d(and)d(that)g(of)g(the)g(target.)g(It)f(do)q(es)h(not,)g (ho)o(w)o(ev)o(er,)e(kno)o(w)i(the)g(p)q(ositions)i(and)301 1357 y(exten)o(ts)11 b(of)h(the)g(obstacles)h(in)g(adv)m(ance;)g(it)f (\014nds)h(out)f(ab)q(out)h(obstacles)h(as)e(it)g(encoun)o(ters)301 1430 y(them.)20 b(They)h(presen)o(t)f(an)h(optimal)i(randomized)e(algorithm)i (for)e(scenes)f(con)o(taining)301 1502 y(arbitrary)e(p)q(olygonal)h (obstacles.)0 1614 y([BS83])163 b(G.)18 b(N.)e(Buc)o(kley)g(and)i(A.)e(Silb)q (ersc)o(hatz.)25 b(An)17 b(e\013ectiv)o(e)g(implemen)o(tation)h(for)g(the)f (gen-)301 1686 y(eralized)j(input-output)g(construct)f(of)g(CSP.)29 b Fj(A)o(CM)19 b(T)l(r)n(ans.)g(on)h(Pr)n(o)n(gr)n(amming)e(L)n(an-)301 1758 y(guages)f(and)e(Systems)p Fk(,)f(5\(2\),)h(1983.)j(They)c(presen)o(t)f (a)h(distributed)h(algorithm)h(for)d(CSP)301 1830 y(output)23 b(guards)f(based)h(on)f(priorit)o(y)g(ordering)h(of)f(pro)q(cesses.)g(Their)g (algorithm)h(has)301 1902 y(the)c(prop)q(ert)o(y)g(that)h(t)o(w)o(o)f(pro)q (cesses)g(that)h(can)f(comm)o(unicate)f(and)i(do)g(not)f(establish)301 1975 y(comm)o(unication)c(with)g(a)f(third)h(pro)q(cess)f(will)i(comm)o (unicate)d(within)j(a)e(b)q(ounded)h(time.)0 2086 y([BT93])155 b(J.-D.)22 b(Boissonnat)i(and)f(M.)e(T)l(eillaud.)41 b(On)22 b(the)g(randomized)h(construction)g(of)f(the)301 2159 y(Delauna)o(y)c(tree.)k Fj(The)n(or)n(etic)n(al)c(Computer)g(Scienc)n(e)p Fk(,)g(112:339{354)q(,)h (1993.)25 b(An)16 b(on-line)301 2231 y(randomized)23 b(algorithm)g(whic)o(h)f (computes)g(Delauna)o(y)g(triangulatio)q(n)i(and)f(V)l(oronoi)301 2303 y(diagrams)e(of)e(p)q(oin)o(ts)h(in)f(an)o(y)f(n)o(um)o(b)q(er)g(of)h (dimensions)h(is)g(giv)o(en.)e(The)g(complexit)o(y)h(of)301 2375 y(the)i(algorithm)h(is)g(optimal)g(pro)o(vided)f(that)g(the)f(p)q(oin)o (ts)i(are)e(inserted)h(in)g(a)g(random)301 2447 y(order.)0 2559 y([BV93])153 b(E.)26 b(Bernstein,)j(,)f(and)f(U.)e(V)l(azirani.)52 b(Quan)o(tum)26 b(complexit)o(y)g(theory)l(.)51 b(In)26 b Fj(Pr)n(o)n(c.)301 2631 y(25th)e(A)o(nn.)g(A)o(CM)e(Symp.)h(on)h(The)n(ory)e(of)h(Computing)p Fk(,)i(pages)e(11{20,)j(San)d(Diego,)301 2704 y(CA,)i(Ma)o(y)g(1993.)49 b(A)24 b Fj(quantum)j(T)l(uring)f(Machine)p Fk(,)i(as)e(originally)i(form)o (ulated)e(b)o(y)938 2828 y(101)p eop bop 301 195 a Fk(Deutsc)o(h)23 b([Deu85],)h(ma)o(y)e(b)q(e)h(though)o(t)h(of) f(as)h(a)f(quan)o(tum)g(ph)o(ysical)h(analogue)g(of)g(a)301 267 y(probabilisti)q(c)g(T)l(uring)e(Mac)o(hine:)30 b(it)22 b(has)g(an)f(in\014nite)h(tap)q(e,)h(a)e(\014nite)g(state)h(con)o(trol,)301 340 y(and,)d(in)g(its)g(most)f(general)h(form,)f(pro)q(duces)h(a)f(random)h (sample)f(from)g(a)h(probabilit)o(y)301 412 y(distribution)f(on)d(an)o(y)g (giv)o(en)f(input.)i(Bernstein)e(and)h(V)l(azirani)h(pro)o(v)o(e)e(the)h (existence)f(of)301 484 y(a)h Fj(universal)g Fk(quan)o(tum)e(T)l(uring)i(Mac) o(hine,)f(whose)g(sim)o(ulation)i(o)o(v)o(erhead)d(is)i(p)q(olynomi-)301 556 y(ally)f(b)q(ounded.)e(They)g(also)i(presen)o(t)e(the)g(\014rst)g (evidence)g(that)g(quan)o(tum)g(TMs)g(migh)o(t)h(b)q(e)301 628 y(more)19 b(p)q(o)o(w)o(erful)g(than)h(classical)h(probabilistic)h(TMs.)d (Sp)q(eci\014cally)l(,)h(they)f(pro)o(v)o(e)f(that)301 701 y(there)g(is)h(an)g(oracle)g(relativ)o(e)g(to)g(whic)o(h)g(there)e(is)j(a)e (language)j(that)e(can)f(b)q(e)h(accepted)301 773 y(in)d(p)q(olynomial)i (time)d(b)o(y)g(a)g(quan)o(tum)g(TM)g(but)g(cannot)h(b)q(e)f(accepted)g(in)g Fh(n)1720 755 y Ff(o)p Fl(\(log)6 b Ff(n)p Fl(\))1855 773 y Fk(time)301 845 y(b)o(y)16 b(a)h(b)q(ounded-error)g(probabilisti)q(c)i(TM.)0 959 y([Car12])147 b(R.)21 b(D.)f(Carmic)o(hael.)36 b(On)21 b(comp)q(osite)g(n)o(um)o(b)q(ers)g Fh(p)g Fk(whic)o(h)g(satisfy)h(the)e(F)l (ermat)h(con-)301 1031 y(gruence)j Fh(a)514 1013 y Ff(p)p Fd(\000)p Fl(1)604 1031 y Fg(\021)i Fh(p)p Fk(.)44 b Fj(A)o(meric)n(an)24 b(Mathematic)n(al)g(Monthly)p Fk(,)h(19:22{27,)i(1912.)45 b(Let)301 1103 y Fh(n)38 b Fk(=)g(\005)481 1085 y Ff(i)p Fl(=)p Ff(m)481 1116 y(i)p Fl(=1)553 1103 y Fh(p)577 1081 y Ff(\027)594 1086 y Fe(i)577 1115 y Ff(i)640 1103 y Fk(b)q(e)30 b(the)g(unique)h(prime)f (factorization)i(of)f Fh(n)p Fk(,)i(and)e(let)f Fh(\025)p Fk(\()p Fh(n)p Fk(\))38 b(=)301 1176 y(lcm)p Fg(f)p Fh(p)426 1154 y Ff(\027)443 1159 y Fb(1)461 1154 y Fd(\000)p Fl(1)426 1186 y(1)508 1176 y Fk(\()p Fh(p)551 1183 y Fl(1)583 1176 y Fg(\000)10 b Fk(1\))p Fh(;)e Fk(.)g(.)g(.)g Fh(;)g(p)809 1158 y Ff(\027)826 1162 y Fe(m)856 1158 y Fd(\000)p Fl(1)809 1188 y Ff(m)903 1176 y Fk(\()p Fh(p)946 1183 y Ff(m)991 1176 y Fg(\000)j Fk(1\))p Fg(g)p Fk(.)16 b(Carmic)o(hael)h(sho)o(ws)g(that)f Fh(n)h Fk(satis\014es)g(F) l(er-)301 1248 y(mat's)f(congruence)g(if)h(and)g(only)g(if)g Fh(\025)p Fk(\()p Fh(n)p Fk(\))g(divides)g(\()p Fh(n)11 b Fg(\000)g Fk(1\).)0 1362 y([CC85])155 b(B.)20 b(Chor)h(and)h(B.)d(Coan.)36 b(A)20 b(simple)i(and)f(e\016cien)o(t)e(randomized)j(Byzan)o(tine)e(agree-) 301 1434 y(men)o(t)i(algorithm.)43 b Fj(IEEE)23 b(T)l(r)n(ans.)g(on)h (Softwar)n(e)g(Engine)n(ering)p Fk(,)i(SE-11\(6\):531{539,)301 1506 y(June)19 b(1985.)28 b(Chor)19 b(and)g(Coan)g(presen)o(t)f(a)h (randomized)g(algorithm)h(for)e(sync)o(hronous)301 1578 y(Byzan)o(tine)d (agreemen)o(t)g(when)g Fh(n)f Fg(\025)f Fk(3)p Fh(t)d Fk(+)f(1,)15 b(where)g Fh(n)g Fk(is)i(the)e(total)h(n)o(um)o(b)q(er)f(of)g(pro)q(ces-)301 1650 y(sors)k(and)f Fh(t)g Fk(is)g(the)g(n)o(um)o(b)q(er)f(of)h(fault)o(y)g (pro)q(cessors.)g(Their)h(algorithm)h(reac)o(hes)d(agree-)301 1723 y(men)o(t)e(in)h Fh(O)q Fk(\()p Fh(t=)8 b Fk(log)j Fh(n)p Fk(\))k(exp)q(ected)f(rounds)j(and)e Fh(O)q Fk(\()p Fh(n)1263 1705 y Fl(2)1284 1723 y Fh(t=)8 b Fk(log)i Fh(n)p Fk(\))16 b(exp)q(ected)e(message)i(bits,)301 1795 y(indep)q(enden)o(tly)h(of)g(the)f (distribution)i(of)f(pro)q(cessor)g(failures.)0 1909 y([CCD88])118 b(D.)19 b(Chaum,)g(C.)f(Cr)o(\023)-23 b(ep)q(eau,)19 b(and)h(I.)d(Damg\177) -24 b(ard.)30 b(Multipart)o(y)19 b(unconditionally)j(secure)301 1981 y(proto)q(cols.)c(In)13 b Fj(Pr)n(o)n(c.)g(20th)h(A)o(nn.)h(A)o(CM)f (Symp.)g(on)g(The)n(ory)f(of)i(Computing)p Fk(,)e(pages)h(11{)301 2053 y(19,)20 b(1988.)28 b(Assuming)19 b(the)f(existence)g(of)h(authen)o (ticated)f(secrecy)f(c)o(hannels)i(b)q(et)o(w)o(een)301 2125 y(eac)o(h)f(pair)g(of)g(participan)o(ts)h(\()p Fh(P)892 2132 y Ff(i)907 2125 y Fk(s\),)f(this)g(pap)q(er)g(sho)o(ws)h(that)f(if)g(at)g (least)h(2)p Fh(n=)p Fk(3)g Fh(P)1834 2132 y Ff(i)1848 2125 y Fk(s)f(are)301 2198 y(honest)f(then)f(a)h(function)g Fh(f)5 b Fk(\()p Fh(x)875 2205 y Fl(1)895 2198 y Fh(;)j(x)945 2205 y Fl(2)964 2198 y Fh(;)g Fk(.)g(.)g(.)f Fh(x)1079 2205 y Ff(n)1102 2198 y Fk(\),)16 b(where)g Fh(x)1320 2205 y Ff(i)1350 2198 y Fk(is)h(kno)o(wn)g(only)g(to)f Fh(P)1751 2205 y Ff(i)1782 2198 y Fk(for)h(eac)o(h)301 2270 y Fh(i)p Fk(,)f(can)g(b)q(e)h(computed)f (without)h(an)o(y)f Fh(P)1033 2277 y Ff(i)1064 2270 y Fk(rev)o(ealing)h(its)g (information.)0 2384 y([CCT91])120 b(K.)13 b(L.)g(Clarkson,)h(R.)f(Cole,)h (and)f(R.)g(E.)f(T)l(arjan.)17 b(Randomized)d(parallel)h(algorithms)g(for)301 2456 y(trap)q(ezoidal)20 b(diagrams.)27 b(In)17 b Fj(Pr)n(o)n(c.)h(Seventh)j (A)o(nn.)e(A)o(CM)f(Symp.)g(on)h(Computational)301 2528 y(Ge)n(ometry)p Fk(,)25 b(pages)f(152{161,)k(North)23 b(Con)o(w)o(a)o(y)l(,)i(NH,)e(June)g (1991.)45 b(Describ)q(es)24 b(ran-)301 2600 y(domized)16 b(parallel)i(CREW)e (PRAM)e(algorithms)k(for)e(building)i(trap)q(ezoidal)f(diagrams)301 2672 y(of)k(line)g(segmen)o(ts)f(in)h(the)e(plane.)i(F)l(or)f(general)h (segmen)o(ts,)g(they)e(giv)o(e)h(an)h(algorithm)938 2828 y(102)p eop bop 301 195 a Fk(requiring)22 b(optimal)g Fh(O)q Fk(\()p Fh(A)13 b Fk(+)h Fh(n)8 b Fk(log)j Fh(n)p Fk(\))20 b(exp)q(ected)f(w)o(ork)i(and)g (optimal)g Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))21 b(time,)301 267 y(where)16 b Fh(A)g Fk(is)h(the)f(n)o(um)o(b)q(er)g(of)g(in)o(tersecting) h(pairs)g(of)g(segmen)o(ts.)0 379 y([CD89])153 b(B.)15 b(Chor)h(and)g(C.)f (Dw)o(ork.)21 b(Randomization)c(in)f(Byzan)o(tine)f(agreemen)o(t.)k(In)c Fj(A)n(dvanc)n(es)301 451 y(in)h(Computing)g(R)n(ese)n(ar)n(ch)d(5:)21 b(R)n(andomness)15 b(and)g(Computation)p Fk(,)f(pages)h(443{497.)h(JAI)301 523 y(Press,)21 b(1989.)35 b(A)20 b(useful)g(surv)o(ey)g(of)g(the)g(m)o (yriad)g(of)h(randomized)g(distributed)g(algo-)301 596 y(rithms)c(for)g (Byzan)o(tine)e(agreemen)o(t.)0 707 y([CDRS90])90 b(D.)24 b(Copp)q(ersmith,)h (P)l(.)e(Do)o(yle,)i(P)l(.)e(Ragha)o(v)m(an,)j(and)e(M.)f(Snir.)43 b(Random)23 b(w)o(alks)i(on)301 780 y(w)o(eigh)o(ted)16 b(graphs)i(and)e (applications)j(to)e(on-line)h(algorithms)g(\(preliminary)f(v)o(ersion\).)301 852 y(In)23 b Fj(Pr)n(o)n(c.)f(22nd)h(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g(The)n (ory)f(of)h(Computing)p Fk(,)h(pages)g(369{378,)301 924 y(Baltimore,)g(MD,)e (Ma)o(y)g(1990.)40 b(They)22 b(sho)o(w)h(that)g(the)f(problem)h(of)f (designing)i(and)301 996 y(analyzing)19 b(randomized)f(on-line)h(algorithms)g (is)f(closely)g(related)g(to)f(the)g(syn)o(thesis)h(of)301 1068 y(random)f(w)o(alks)g(on)g(graphs)g(with)h(p)q(ositiv)o(e)f(real)g (costs)g(on)f(their)h(edges.)0 1180 y([CF86])158 b(J.)23 b(D.)f(Cohen)h(and)h (M.)d(J.)i(Fisc)o(her.)40 b(A)22 b(robust)h(and)h(v)o(eri\014able)f (cryptographically)301 1252 y(secure)d(election)g(sc)o(heme.)32 b(In)19 b Fj(Pr)n(o)n(c.)h(27th)h(A)o(nn.)h(IEEE)f(Symp.)f(on)i(F)l (oundations)f(of)301 1325 y(Computer)j(Scienc)n(e)p Fk(,)j(pages)e(372{381,)i (1986.)45 b(A)23 b(cryptographic)h(election)g(sc)o(heme)301 1397 y(and)18 b(an)g(IP)g(pro)q(of)g(for)g(con)o(vincing)g(participan)o(ts)h (of)f(the)f(correctness)g(of)h(the)f(election)301 1469 y(pro)q(cedure.)0 1581 y([CF90])158 b(B.)18 b(Chazelle)h(and)g(J.)e(F)l(riedman.)28 b(A)18 b(deterministic)g(view)h(of)f(random)h(sampling)h(and)301 1653 y(its)i(use)e(in)i(geometry)l(.)33 b Fj(Combinatoric)n(a)p Fk(,)21 b(10\(3\):229{249,)k(1990.)35 b(Using)22 b(tec)o(hniques)301 1725 y(due)d(to)h(Lo)o(v\023)-24 b(asz)19 b(and)h(Sp)q(encer,)f(the)g (authors)h(presen)o(t)f(a)g(uni\014ed)h(framew)o(ork)f(for)g(de-)301 1797 y(randomizing)d(probabilistic)g(algorithms)g(that)d(resort)h(to)g(rep)q (eated)f(random)h(sampling)301 1870 y(o)o(v)o(er)j(a)h(\014xed)f(domain.)h (In)g(the)f(pro)q(cess,)h(they)f(establish)i(results)g(of)e(indep)q(enden)o (t)h(in-)301 1942 y(terest)e(concerning)h(the)e(co)o(v)o(ering)h(of)g(h)o(yp) q(ergraphs.)h(Sp)q(eci\014cally)l(,)g(via)f(a)h(mo)q(di\014cation)301 2014 y(of)d(Lo)o(v\023)-24 b(asz's)14 b Fj(gr)n(e)n(e)n(dy)f(c)n(over)i (algorithm)t Fk(,)f(they)f(giv)o(e)g(an)h(algorithm)h(that,)f(giv)o(en)f(a)h (h)o(yp)q(er-)301 2086 y(graph)k(with)g Fh(n)f Fk(v)o(ertices)f(and)h Fh(m)g Fk(edges,)f(eac)o(h)g(of)h(size)g Fg(\025)e Fh(\013n)p Fk(,)i(computes)g(an)g Fh(r)q Fk(-sample)301 2159 y(that)23 b(in)o(tersects)e(ev)o(ery)f(edge)i Fh(e)f Fk(of)h(the)g(h)o(yp)q(ergraph)g (in)g(\012\()p Fg(j)p Fh(e)p Fg(j)p Fh(r)q(=n)p Fk(\))h(v)o(ertices,)e(where) 301 2231 y Fh(r)i Fk(=)f Fh(O)q Fk(\(\(log)11 b Fh(n)j Fk(+)g(log)c Fh(m)p Fk(\))p Fh(=\013)p Fk(\).)21 b(This)h(impro)o(v)o(es)e(up)q(on)i(Lo)o (v\023)-24 b(asz's)21 b(algorithm)i(in)f(terms)301 2303 y(of)f(the)g(n)o(um)o (b)q(er)f(of)h(co)o(v)o(ered)e(v)o(ertices.)h(The)h(to)q(ols)h(they)f(use)f (for)h(computing)h(co)o(v)o(ers)301 2375 y(\\are)15 b(p)q(o)o(w)o(erful)g (enough)g(to)g(derandomize)g(just)f(ab)q(out)i(ev)o(ery)d(probabilistic)k (algorithm)301 2447 y(prop)q(osed)h(in)f(computational)h(geometry".)0 2559 y([CFLS93])101 b(A.)15 b(Condon,)i(J.)e(F)l(eigen)o(baum,)g(C.)h(Lund,)g (and)g(P)l(.)f(Shor.)21 b(Probabilistical)q(ly)e(c)o(hec)o(k)m(able)301 2631 y(debate)14 b(systems)f(and)i(appro)o(ximation)g(algorithms)h(for)e(PSP) l(A)o(CE-hard)g(functions.)k(In)301 2704 y Fj(Pr)n(o)n(c.)i(25th)h(A)o(nn.)h (A)o(CM)f(Symp.)g(on)g(The)n(ory)f(of)h(Computing)p Fk(,)h(pages)f(305{314,)i (San)938 2828 y(103)p eop bop 301 195 a Fk(Diego,)14 b(CA,)e(Ma)o(y)f(1993.)17 b(A)11 b Fj(pr)n(ob)n(abilistic)n(al)r(ly)k(che)n(ckable)h(deb)n(ate)e(system)e Fk(\(PCDS\))h(for)g(a)301 267 y(language)k Fh(L)e Fk(consists)h(of)f(a)g (probabilisti)q(c)i(p)q(olynomial-ti)q(me)g(v)o(eri\014er)d Fh(V)26 b Fk(and)15 b(a)g(debate)301 340 y(b)q(et)o(w)o(een)d(pla)o(y)o(er)h (1,)g(who)h(claims)f(that)h(the)e(input)i Fh(x)e Fk(is)i(in)f Fh(L)p Fk(,)g(and)h(pla)o(y)o(er)e(0,)h(who)h(claims)301 412 y(that)20 b(the)g(input)g Fh(x)f Fk(is)h(not)g(in)g Fh(L)p Fk(.)g(The)f(authors)i(sho)o(w)f(that)g(there)f(is)h(a)g(PCDS)g(for)g Fh(L)301 484 y Fk(in)f(whic)o(h)g Fh(V)29 b Fk(\015ips)20 b Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))18 b(random)h(coins)g(and)g(reads)g Fh(O)q Fk(\(1\))g(bits)g(of)g(debate)f(if)g(and)301 556 y(only)k(if)f Fh(L)g Fk(is)g(in)g Fj(PSP)l(A)o(CE)6 b Fk(.)21 b(This)h(c)o(haracterization) f(of)g Fj(PSP)l(A)o(CE)g Fk(is)h(used)e(to)h(sho)o(w)301 628 y(that)d(certain)g Fj(PSP)l(A)o(CE)6 b Fk(-hard)18 b(functions)g(are)g(as)f (hard)h(to)g(appro)o(ximate)f(as)h(they)f(are)301 701 y(to)g(compute)f (exactly)l(.)0 814 y([CG88])152 b(B.)19 b(Chor)h(and)g(O.)f(Goldreic)o(h.)32 b(Un)o(biased)20 b(bits)g(from)f(sources)h(of)g(w)o(eak)f(randomness)301 887 y(and)i(probabilisti)q(c)h(comm)o(unication)f(complexit)o(y)l(.)33 b Fj(SIAM)21 b(Journal)g(on)g(Computing)p Fk(,)301 959 y(17:230{261,)c(1988.) h(Giv)o(en)c(sources)f(of)h(stings)h(in)f(whic)o(h)g(no)g(string)h(is)f(\\to) q(o)h(probable",)301 1031 y(a)i(metho)q(d)g(of)f(extracting)h(almost)g(un)o (biased)g(random)g(bits)g(is)g(presen)o(ted.)0 1145 y([CG90])152 b(R.)18 b(Canetti)i(and)f(O.)f(Goldreic)o(h.)29 b(Bounds)19 b(on)h(tradeo\013s)f(b)q(et)o(w)o(een)f(randomness)h(and)301 1217 y(comm)o(unication)g(complexit)o(y)l(.)26 b(In)18 b Fj(Pr)n(o)n(c.)g (31st)h(A)o(nn.)g(IEEE)g(Symp.)g(on)g(F)l(oundations)301 1289 y(of)h(Computer)g(Scienc)n(e)p Fk(,)i(pages)e(766{775,)i(1990.)32 b(Instead)19 b(of)h(considering)h(the)e(qual-)301 1362 y(itativ)o(e)j (question,)i(Is)d(an)h(algorithm)h(deterministic)g(or)f(randomized?,)h(the)e (authors)301 1434 y(try)c(to)h(determine,)e(quan)o(titativ)o(ely)l(,)h(ho)o (w)h(m)o(uc)o(h)d(randomization)20 b(do)q(es)e(an)f(algorithm)301 1506 y(use.)e(Tigh)o(t)g(lo)o(w)o(er)g(b)q(ounds)h(on)f(the)f(length)i(of)e (the)h(random)g(input)g(of)g(parties)h(comput-)301 1578 y(ing)k(a)e(function) h Fh(f)k Fk(|)18 b(dep)q(ending)i(on)e(the)g(n)o(um)o(b)q(er)f(of)i(bits)g (comm)o(unicated)f(and)g(the)301 1650 y(deterministic)f(complexit)o(y)f(of)h Fh(f)k Fk(|)16 b(are)h(deriv)o(ed.)0 1764 y([CGMA85])70 b(B.)12 b(Chor,)i(S.)e(Goldw)o(asser,)j(S.)d(Micali,)i(and)g(B.)d(Au)o(w)o(erbuc)o (h.)j(V)l(eri\014able)f(secret)f(sharing)301 1836 y(and)k(ac)o(hieving)f(sim) o(ultaneit)o(y)g(in)g(the)g(presence)e(of)i(faults.)20 b(In)14 b Fj(Pr)n(o)n(c.)h(26th)h(A)o(nn.)g(IEEE)301 1909 y(Symp.)i(on)g(F)l (oundations)g(of)f(Computer)h(Scienc)n(e)p Fk(,)g(pages)f(383{395,)i(1985.)k (The)16 b(prob-)301 1981 y(lems)21 b(of)f(v)o(eri\014able)h(secret-sharing)g (and)g(sim)o(ultaneous)h(broadcast)g(are)e(in)o(tro)q(duced.)301 2053 y(Man)o(y)14 b(problems)g(suc)o(h)f(as)i(distributed)g(coin)f (\015ipping)h(can)f(b)q(e)g(reduced)f(to)h(these)f(prob-)301 2125 y(lems.)0 2239 y([CH89])153 b(J.)12 b(Cheriy)o(an)g(and)h(T.)f(Hagerup.) i(A)e(randomized)g(maxim)o(um-\015o)o(w)g(algorithm.)k(In)c Fj(Pr)n(o)n(c.)301 2311 y(30th)18 b(A)o(nn.)g(IEEE)f(Symp.)g(on)h(F)l (oundations)g(of)f(Computer)g(Scienc)n(e)p Fk(,)h(pages)f(118{123,)301 2384 y(Researc)o(h)12 b(T)l(riangle)i(P)o(ark,)f(NC,)f(Octob)q(er)g(1989.)i (IEEE)e(Computer)h(So)q(ciet)o(y)f(Press.)j(An)301 2456 y(e\016cien)o(t)f (randomized)i(algorithm)h(for)e(computing)h(the)f(maxim)o(um)f(\015o)o(w)i (in)f(a)h(net)o(w)o(ork)301 2528 y(is)d(presen)o(ted.)e(F)l(or)h(a)h(net)o(w) o(ork)e(with)i Fh(n)f Fk(v)o(ertices)f(and)i Fh(m)f Fk(directed)g(edges,)g (the)g(algorithm)301 2600 y(runs)h(in)h(exp)q(ected)d(time)h Fh(O)q Fk(\()p Fh(nm)s Fk(+)s Fh(n)968 2582 y Fl(2)990 2600 y Fk(\(log)e Fh(n)p Fk(\))1128 2582 y Fl(3)1148 2600 y Fk(\).)i(The)g (running)i(time)e(is)i(actually)g Fh(O)q Fk(\()p Fh(nm)p Fk(\))301 2672 y(for)k(all)g(except)e(relativ)o(ely)i(sparse)f(net)o(w)o(orks.)g(This)h (impro)o(v)o(es)e(up)q(on)j(the)d(b)q(est)i(kno)o(wn)938 2828 y(104)p eop bop 301 195 a Fk(deterministic)19 b(solution)i(whic)o(h)e(requires)f Fh(O)q Fk(\()p Fh(mn)8 b Fk(log)r(\()p Fh(n)1358 177 y Fl(2)1378 195 y Fh(=m)p Fk(\)\))19 b(time.)e(The)i(algorithm,)301 267 y(of)h(the)f(Las)i(V)l(egas)e(v)m(ariet)o(y)l(,)h(is)g(alw)o(a)o(ys)h (correct)d(and)i(requires)g Fh(O)q Fk(\()p Fh(nm)8 b Fk(log)j Fh(n)p Fk(\))19 b(time)g(in)301 340 y(the)d(w)o(orst)h(case.)0 451 y([Cha84])139 b(C.C.)16 b(Chang.)21 b(The)16 b(study)g(of)g(an)g(ordered) f(minimal)i(p)q(erfect)e(hashing)j(sc)o(heme.)h Fj(Com-)301 523 y(munic)n(ations)d(of)e(the)i(A)o(CM)p Fk(,)c(27\(4\):384{387,)17 b(Apr)c(1984.)18 b(Chang)c(uses)g(hash)g(functions)301 596 y(of)g(the)g(form)f Fh(h)p Fk(\()p Fh(x)p Fk(\))h(=)g(\()p Fh(C)j Fk(mo)q(d)d Fh(p)p Fk(\()p Fh(x)p Fk(\)\))g(where)g Fh(C)j Fk(is)d(an)h(in)o(teger)e(constan)o(t)h(and)h Fh(p)p Fk(\()p Fh(x)p Fk(\))f(gen-)301 668 y(erates)h(a)h(di\013eren)o(t)f(prime)g (for)g(eac)o(h)f(in)o(teger)h Fh(x)p Fk(.)g(No)f(general)i(metho)q(d)f(for)h (\014nding)g Fh(p)p Fk(\()p Fh(x)p Fk(\))301 740 y(is)h(giv)o(en.)0 852 y([Che93])141 b(J.)22 b(Cheriy)o(an.)38 b(Random)22 b(w)o(eigh)o(ted)g (Laplacians,)j(Lo)o(v\023)-24 b(asz)22 b(minim)o(um)g(digraphs)h(and)301 924 y(\014nding)i(minim)o(um)e(separators.)42 b(In)23 b Fj(Pr)n(o)n(c.)f(F)l (ourth)h(A)o(nn.)i(A)o(CM-SIAM)e(Symp.)h(on)301 996 y(Discr)n(ete)18 b(A)o(lgorithms)p Fk(,)f(pages)h(31{40,)g(Austin,)f(TX,)f(Jan)o(uary)h(1993.) 25 b(Cheriy)o(an)17 b(giv)o(es)301 1068 y(an)f Fh(O)q Fk(\()p Fh(n)454 1050 y Fl(2)p Ff(:)p Fl(38)520 1068 y Fk(\)-time)f(randomized)h (algorithm)h(for)e(the)g(problem)h(of)f(\014nding)i(a)e(minim)o(um)301 1141 y Fh(X)t Fk(-)p Fh(Y)30 b Fk(separator)20 b(in)f(a)f(digraph,)i(and)f (of)g(\014nding)g(a)g(minim)o(um)f(v)o(ertex)f(co)o(v)o(er)g(in)h(a)h(bi-)301 1213 y(partite)c(graph,)f(thereb)o(y)f(impro)o(ving)i(on)f(the)f(previous)i (b)q(est)f(b)q(ound)h(of)f Fh(O)q Fk(\()p Fh(n)1737 1195 y Fl(2)p Ff(:)p Fl(5)1784 1213 y Fh(=)8 b Fk(log)j Fh(n)p Fk(\).)0 1325 y([CHM92])108 b(Z.J.)12 b(Czec)o(h,)f(G.)h(Ha)o(v)m(as,)h(and)g(B.S.)e (Ma)s(jewski.)k(An)d(optimal)i(algorithm)g(for)f(generating)301 1397 y(minimal)23 b(p)q(erfect)e(hash)h(functions.)37 b Fj(Information)22 b(Pr)n(o)n(c)n(essing)f(L)n(etters)p Fk(,)h(43\(5\):257{)301 1469 y(264,)j(Oct)e(1992.)42 b(The)23 b(authors)g(describ)q(e)g(a)h (randomized)f(algorithm)i(for)e(generat-)301 1541 y(ing)d(p)q(erfect)e(hash)i (functions)f(that)g(are)g(space)g(optimal)h(and)f(allo)o(w)i(an)e(arbitrary)g (ar-)301 1614 y(rangemen)o(t)j(of)h(k)o(eys)e(in)i(the)f(hash)h(table.)f(The) g(algorithm)i(is)f(based)g(on)g(the)f(result)301 1686 y(of)e(P)l(.)e(Erd})-24 b(os)20 b(and)f(A.)f(R)o(\023)-23 b(en)o(yi)19 b([ER60],)g(whic)o(h)g(states) g(that)h(the)e(ma)s(jorit)o(y)h(of)g(random)301 1758 y(sparse)f(2)p Fg(\000)p Fk(graphs)g(are)f(acyclic.)f(The)h(authors)h(presen)o(t)e(a)i (metho)q(d)f(of)g(mapping)h(a)f(set)301 1830 y(of)h(k)o(eys,)e(using)j(univ)o (ersal)f(hash)g(functions,)g(in)o(to)g(a)g(random)g(graph.)g(Once)f(the)g (map-)301 1902 y(ping)f(is)e(computed)g(it)h(is)g(re\014ned)e(to)i(a)f(p)q (erfect)g(hash)g(function)h(in)g(linear)g(deterministic)301 1975 y(time.)k(The)g(metho)q(d)g(strongly)h(impro)o(v)o(es)f(on)g(the)g (space)g(requiremen)o(ts)f(of)h(the)g(other)301 2047 y(probabilisti)q(c)g (metho)q(ds)d(for)h(generating)g(minimal)h(p)q(erfect)e(hash)h(functions.)0 2159 y([Cic80])155 b(R.)16 b(Cic)o(helli.)21 b(Minimal)c(p)q(erfect)e(hash)i (functions)g(made)e(simple.)21 b Fj(Communic)n(ations)c(of)301 2231 y(the)f(A)o(CM)p Fk(,)c(23\(1\):17{19,)k(Jan)e(1980.)j(A)c(heuristic)h (for)g(computing)g(a)f(simple,)i(fast,)e(and)301 2303 y(mac)o(hine-indep)q (enden)o(t)k(hash)g(function)h(is)f(presen)o(ted.)e(Because)h(of)g(these)g (prop)q(erties,)301 2375 y(sev)o(eral)h(attempts)f(ha)o(v)o(e)f(b)q(een)h (made)g(to)h(extend)f(this)h(pap)q(er)g(since)f(its)h(publication.)0 2487 y([CL89])160 b(A.)23 b(Condon)h(and)g(R.)f(Lipton.)43 b(On)23 b(the)g(complexit)o(y)g(of)h(space)f(b)q(ound)h(in)o(teractiv)o(e)301 2559 y(pro)q(ofs.)c(In)14 b Fj(Pr)n(o)n(c.)g(30th)h(A)o(nn.)i(IEEE)e(Symp.)h (on)f(F)l(oundations)i(of)e(Computer)h(Scienc)n(e)p Fk(,)301 2631 y(pages)g(462{467,)h(1989.)k(In)o(teractiv)o(e)13 b(pro)q(of)j(systems)e (that)i(use)e(t)o(w)o(o-w)o(a)o(y)h(probabilistic)301 2704 y(\014nite-state)f(v)o(eri\014ers)e(can)h(accept)g(an)o(y)f(recursiv)o(ely)g (en)o(umerable)h(language)i(if)e(they)f(are)938 2828 y(105)p eop bop 301 195 a Fk(not)15 b(required)f(to)h(halt)g(with)g(high)g(probabilit)o (y)h(on)f(rejected)e(inputs.)i(An)e(upp)q(er)i(b)q(ound)301 267 y(on)21 b(the)g(p)q(o)o(w)o(er)f(of)h(IP)f(systems)g(that)h(halt)g(with)h (high)f(probabilit)o(y)i(on)e(all)h(inputs)f(is)301 340 y(also)c(deriv)o(ed;) d(suc)o(h)h(systems)g(accept)f(only)i(a)f(more)g(restricted)g(set)g(of)g (languages.)i(It)d(is)301 412 y(sho)o(wn)j(that)g(an)o(y)f(language)i (accepted)e(b)o(y)g(suc)o(h)g(a)g(system)g(is)h(in)g Fh(AT)7 b(I)t(M)e(E)s Fk(\(2)1770 394 y Fl(2)1788 382 y Fe(O)q Fb(\()p Fe(N)s Fb(\))1866 412 y Fk(\).)0 523 y([CLR90])124 b(T.)16 b(H.)f(Cormen,)g(C.)h(E.)g(Leiserson,)h(and)f(R.)f(L.)h(Riv)o(est.)k Fj(Intr)n(o)n(duction)d(to)g(A)o(lgorithms)p Fk(.)301 596 y(The)k(MIT)g (Press,)h(1990.)36 b(This)22 b(w)o(ell-written)h(encyclop)q(edic)e(in)o(tro)q (duction)i(to)e(algo-)301 668 y(rithms)16 b(co)o(v)o(ers)f(a)h(n)o(um)o(b)q (er)e(of)i(randomized)g(algorithms)i(including)f(those)f(for)g(b)q(o)q(olean) 301 740 y(matrix)e(m)o(ultiplication,)j(binary)d(searc)o(h)g(trees,)f (primalit)o(y)i(testing,)f(partitioning,)j(uni-)301 812 y(v)o(ersal)g (hashing,)h(and)e(parallel)j(pre\014x.)0 924 y([CM91])145 b(E.)11 b(Cohen)h(and)g(N.)f(Megiddo.)j(Impro)o(v)o(ed)c(algorithms)j(for)f(linear)g (inequalities)i(with)e(t)o(w)o(o)301 996 y(v)m(ariables)19 b(p)q(er)e(inequalit)o(y)l(.)24 b(In)17 b Fj(Pr)n(o)n(c.)g(23r)n(d)g(A)o(nn.) h(A)o(CM)g(Symp.)g(on)g(The)n(ory)f(of)h(Com-)301 1068 y(puting)p Fk(,)c(pages)f(145{155,)i(New)d(Orleans,)i(LA,)e(Ma)o(y)f(1991.)17 b(A)11 b(randomized)i(p)q(olynomial)301 1140 y(time)g(algorithm)h(is)g(giv)o (en)f(for)f(solving)j(a)e(system)f(of)h(linear)h(inequalities)h(wherein)e(ev) o(ery)301 1213 y(inequalit)o(y)18 b(the)e(t)o(w)o(o)g(nonzero)g(co)q (e\016cien)o(ts)g(ha)o(v)o(e)g(opp)q(osite)i(signs.)0 1324 y([CPV91])120 b(P)l(.)12 b(Caspi,)i(J.)d(Piotro)o(wski,)k(and)d(R.)g(V)l (elzaco.)h(An)f Fj(a)h(priori)e Fk(approac)o(h)i(to)f(the)g(ev)m(aluation)301 1396 y(of)17 b(signature)g(analysis)h(e\016ciency)l(.)h Fj(IEEE)e(T)l(r)n (ans.)g(on)g(Computers)p Fk(,)e(40\(9\):1068{10)q(71,)301 1469 y(Sept)i(1991.)25 b(This)19 b(pap)q(er)e(presen)o(ts)g(an)g(in)o(teresting)h (application)i(of)d(con)o(trol)h(random-)301 1541 y(ization)k(for)e (compressing)h(the)e(results)i(from)e(a)h(digital)j(circuit)d(under)g(test.)f (Instead)301 1613 y(of)g(imp)q(osing)h(an)o(y)d(distribution)k(on)d(the)g (input)g(sequence,)f(the)g(linear)j(feedbac)o(k)c(shift)301 1685 y(register)h(used)f(for)h(compression)g(is)g(c)o(hosen)f(at)h(random.)0 1797 y([CR79])154 b(E.)16 b(Chang)h(and)g(R.)e(Rob)q(erts.)21 b(An)16 b(impro)o(v)o(ed)f(algorithm)j(for)e(decen)o(tralized)g(extrema-)301 1869 y(\014nding)h(in)f(circular)h(con\014gurations)g(of)f(pro)q(cessors.)21 b Fj(Communic)n(ations)c(of)g(the)g(A)o(CM)p Fk(,)301 1941 y(22\(5\):281{283)q(,)h(Ma)o(y)d(1979.)23 b(They)15 b(presen)o(t)g(a)h (deterministic)h(distributed)g(algorithm)301 2014 y(for)e(\014nding)g(the)f (largest)h(of)f(a)h(set)f(of)g Fh(n)g Fk(uniquely)h(n)o(um)o(b)q(ered)e(pro)q (cesses)h(in)h(a)f(ring.)h(The)301 2086 y(algorithm)j(uses)d Fh(O)q Fk(\()p Fh(n)8 b Fk(log)k Fh(n)p Fk(\))j(messages)h(on)g(the)f(a)o(v)o (erage)g(and)h Fh(O)q Fk(\()p Fh(n)1565 2068 y Fl(2)1586 2086 y Fk(\))f(messages)h(in)g(the)301 2158 y(w)o(orst)h(case,)f(and)h(do)q(es)g (not)f(assume)h(that)g Fh(n)f Fk(is)h(kno)o(wn)g(a)f(priori.)0 2270 y([CR93])154 b(R.)19 b(Canetti)h(and)f(T.)g(Rabin.)30 b(F)l(ast)20 b(async)o(hronous)g(Byzan)o(tine)e(agreemen)o(t)g(with)i(op-)301 2342 y(timal)i(resilience.)36 b(In)20 b Fj(Pr)n(o)n(c.)h(25th)g(A)o(nn.)i(A)o (CM)e(Symp.)g(on)h(The)n(ory)e(of)i(Computing)p Fk(,)301 2414 y(pages)f(42{51,)i(San)d(Diego,)i(CA,)d(Ma)o(y)h(1993.)34 b(The)20 b Fj(r)n(esilienc)n(e)h Fk(of)f(a)h(proto)q(col)g(is)g(the)301 2486 y(maxim)o(um)g(n)o(um)o(b)q(er)f(of)h(faults)h(in)g(the)f(presence)f(of) h(whic)o(h)h(the)e(proto)q(col)j(meets)d(its)301 2559 y(sp)q(eci\014cation.)i (It)e(is)h(kno)o(wn)f(that)h(no)f(Byzan)o(tine)g(agreemen)o(t)f(\(BA\))g (proto)q(col)j(for)f Fh(n)301 2631 y Fk(pla)o(y)o(ers)12 b(\(either)g(sync)o (hronous)g(or)g(async)o(hronous\))h(can)f(b)q(e)g Fg(d)1431 2611 y Ff(n)p 1431 2619 22 2 v 1433 2648 a Fl(3)1458 2631 y Fg(e)p Fk(-resilien)o(t,)h(and)g(the)e(only)301 2703 y(kno)o(wn)k(\()p Fg(d)500 2683 y Ff(n)p 500 2691 V 502 2720 a Fl(3)527 2703 y Fg(e)8 b(\000)g Fk(1\)-resilien)o(t)15 b(BA)f(proto)q(col)i(runs)f(in)h (exp)q(ected)d(exp)q(onen)o(tial)j(time.)e(The)938 2828 y(106)p eop bop 301 195 a Fk(authors)20 b(sho)o(w)f(that)f(there)g(exists)h(a)f Fj(fast)h Fk(\()p Fg(d)1157 175 y Ff(n)p 1157 183 22 2 v 1159 212 a Fl(3)1183 195 y Fg(e)13 b(\000)f Fk(1\)-resilien)o(t)20 b(BA)d(proto)q(col)j(b)o(y)e(pre-)301 267 y(sen)o(ting)i(a)g(randomized)g (proto)q(col)h(suc)o(h)e(that,)h(with)g(o)o(v)o(erwhelming)g(probabilit)o(y)l (,)i(all)301 340 y(the)13 b(non-fault)o(y)i(pla)o(y)o(ers)e(complete)g (execution)g(of)h(the)f(proto)q(col)i(in)f(constan)o(t)g(exp)q(ected)301 412 y(time.)0 523 y([CRS93])127 b(S.)15 b(Chari,)h(P)l(.)e(Rohatgi,)i(and)g (A.)e(Sriniv)m(asan.)21 b(Randomness-optimal)c(unique)e(elemen)o(t)301 596 y(isolation)q(,)h(with)d(applications)j(to)e(p)q(erfect)e(matc)o(hing)h (and)h(related)f(problems.)j(In)d Fj(Pr)n(o)n(c.)301 668 y(25th)20 b(A)o(nn.)f(A)o(CM)g(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p Fk(,)g(pages)g(458{467,)h(San)f(Diego,)301 740 y(CA,)d(Ma)o(y)g(1993.)24 b(The)17 b(authors)g(giv)o(e)g(a)g(randomness-e\016cien)o(t)g Fh(RN)5 b(C)1633 722 y Fl(2)1669 740 y Fk(algorithm)19 b(for)301 812 y(p)q(erfect)14 b(matc)o(hing)g(that)h(uses)f Fh(O)q Fk(\(log)d Fh(Z)g Fk(+)c(log)j Fh(n)p Fk(\))k(random)h(bits,)g(where)f Fh(Z)k Fk(is)d(an)o(y)f(giv)o(en)301 885 y(upp)q(er)j(b)q(ound)g(on)g(the)f (n)o(um)o(b)q(er)g(of)g(p)q(erfect)g(matc)o(hings)h(in)g(the)f(giv)o(en)g (graph.)0 996 y([CS89])163 b(K.)21 b(L.)g(Clarkson)h(and)g(P)l(.)e(W.)h (Shor.)36 b(Applications)23 b(of)e(random)h(sampling)g(in)g(com-)301 1068 y(putational)f(geometry)l(,)c(I)q(I.)25 b Fj(Discr)n(ete)19 b(Computational)g(Ge)n(ometry)p Fk(,)e(4:387{421,)j(1989.)301 1141 y(E\016cien)o(t)g(probabilisti)q(c)i(algorithms)h(are)d(presen)o(ted)f (for)i(the)f(problems)h(of)f(line)h(seg-)301 1213 y(men)o(t)13 b(in)o(tersection,)h(con)o(v)o(ex)e(h)o(ull,)i(p)q(olygon)i(triangulation,)g (and)e(halfspace)h(partitions)301 1285 y(of)e(p)q(oin)o(t)h(sets.)e(Eac)o(h)h (algorithm)i(is)e(of)g(the)f(Las)i(V)l(egas)f(v)m(ariet)o(y)f(and)i(uses)e (the)h(tec)o(hnique)301 1357 y(of)i(random)g(sampling.)h(An)e(earlier)h(v)o (ersion)f(of)h(this)g(pap)q(er)g(app)q(eared)g(in)g Fj(Pr)n(o)n(c.)f(F)l (ourth)301 1430 y(A)o(CM)j(Symp.)h(on)f(Computational)h(Ge)n(ometry)t Fk(,)e(1988.)0 1541 y([CW79])140 b(J.)16 b(L.)f(Carter)h(and)g(M.)f(N.)g(W)l (egman.)21 b(Univ)o(ersal)16 b(classes)g(of)g(hash)h(functions.)k Fj(Journal)301 1614 y(of)j(Computer)g(and)g(System)g(Scienc)n(es)p Fk(,)i(18:143{154,)i(1979.)43 b(This)24 b(pap)q(er)g(con)o(tains)301 1686 y(the)16 b(\014rst)g(discussion)i(on)f(univ)o(ersal)g(hashing.)g(An)f (earlier)h(v)o(ersion)f(app)q(eared)h(in)f Fj(Pr)n(o)n(c.)301 1758 y(Ninth)i(A)o(nn.)h(A)o(CM)e(Symp.)g(on)g(The)n(ory)g(of)g(Computing)t Fk(,)g(1977,)g(pp.)f(106{112.)0 1870 y([CW89])140 b(A.)23 b(Cohen)h(and)f(A.) g(Wigderson.)43 b(Disp)q(ensers,)26 b(deterministic)e(ampli\014cation,)j(and) 301 1942 y(w)o(eak)20 b(random)g(sources)g(\(extended)e(abstract\).)32 b(In)20 b Fj(Pr)n(o)n(c.)f(30th)i(A)o(nn.)g(IEEE)f(Symp.)301 2014 y(on)i(F)l(oundations)f(of)g(Computer)g(Scienc)n(e)p Fk(,)h(pages)f (14{25,)h(Researc)o(h)e(T)l(riangle)i(P)o(ark,)301 2086 y(NC,)f(Octob)q(er)g (1989.)h(IEEE)g(Computer)f(So)q(ciet)o(y)g(Press.)36 b(The)21 b(authors)h(use)g(highly)301 2159 y(expanding)17 b(bipartite)f(m)o (ultigraphs)h(\(disp)q(ensers\))g(to)f(sho)o(w)f(that)h(the)f(error)h (probabil-)301 2231 y(it)o(y)h(of)h(an)o(y)f Fj(RP)g Fk(or)g Fj(BPP)h Fk(algorithm)h(can)e(b)q(e)h(made)f(exp)q(onen)o(tially)i(small)f (in)g(the)f(size)301 2303 y(of)j(the)g(input)h(at)f(the)f(cost)h(of)g(only)h (a)f(constan)o(t)h(factor)f(increase)g(in)g(the)g(n)o(um)o(b)q(er)f(of)301 2375 y(random)g(bits)g(used)g(b)o(y)e(the)h(algorithm.)i(The)e(sim)o(ulation) i(of)f(these)f(algorithms)i(with)301 2447 y(w)o(eak)c(sources)h(of)f(random)h (n)o(um)o(b)q(ers)f(is)h(also)h(considered.)0 2559 y([Deu85])139 b(D.)21 b(Deutsc)o(h.)35 b(Quan)o(tum)21 b(theory)l(,)g(the)g(Ch)o(urc)o(h-T) l(uring)h(principle)g(and)f(the)g(univ)o(er-)301 2631 y(sal)h(quan)o(tum)e (computer.)33 b Fj(Pr)n(o)n(c.)20 b(R)n(oyal)h(So)n(ciety)g(of)h(L)n(ondon)p Fk(,)e(A400:97{117,)k(1985.)301 2704 y(Deutsc)o(h)d(in)o(tro)q(duces)g(the)g Fj(quantum)i(physic)n(al)e(c)n(omputer)5 b Fk(,)22 b(later)f(referred)f(to)h (as)g(the)938 2828 y(107)p eop bop 301 195 a Fk(\\quan)o(tum)15 b(T)l(uring)h(Mac)o(hine")f(in)h([BV93)o(],) e(whic)o(h)h(can)g(b)q(e)g(though)o(t)h(of)f(as)g(a)g(quan)o(tum)301 267 y(ph)o(ysical)i(analogue)h(of)e(a)g(probabilistic)j(T)l(uring)e(Mac)o (hine:)j(it)c(has)h(an)f(in\014nite)h(tap)q(e,)f(a)301 340 y(\014nite)i(state)f(con)o(trol,)g(and,)g(in)g(its)h(most)f(general)g(form,)g (pro)q(duces)g(a)g(random)g(sample)301 412 y(from)g(a)f(probabilit)o(y)i (distribution)h(on)e(an)o(y)f(giv)o(en)h(input.)0 523 y([Dev92])140 b(O.)16 b(Devillers.)24 b(Randomization)18 b(yields)g(simple)f Fh(O)q Fk(\()p Fh(n)8 b Fk(log)1378 502 y Fd(\003)1406 523 y Fh(n)p Fk(\))17 b(algorithms)i(for)d(di\016cult)301 596 y(\012\()p Fh(n)p Fk(\))g(problems.)k Fj(International)e(Journal)e(of)h(Computational)g (Ge)n(ometry)e(and)i(Appli-)301 668 y(c)n(ations)p Fk(,)h(2\(1\):97{111,)i (1992.)26 b(This)18 b(pap)q(ers)h(pro)o(vides)f(t)o(w)o(o)f Fh(O)q Fk(\()p Fh(n)8 b Fk(log)1610 646 y Fd(\003)1638 668 y Fh(n)p Fk(\))17 b(randomized)301 740 y(algorithms.)26 b(One)d(computes)g (the)g(sk)o(eleton)h(of)g(a)g(simple)g(p)q(olygon)i(and)e(the)f(other)301 812 y(the)15 b(Delauna)o(y)h(triangulatio)q(n)i(of)e(a)f(set)h(of)f(p)q(oin)o (ts)i(kno)o(wing)f(the)f(euclidean)h(minim)o(um)301 885 y(spanning)22 b(tree.)c(The)i(existence)f(of)g(deterministic)i Fh(O)q Fk(\()p Fh(n)8 b Fk(log)j Fh(n)p Fk(\))20 b(algorithms)h(for)f(b)q(oth)301 957 y(problems)d(is)g(an)g(op)q(en)g(problem.)0 1068 y([DFK91])118 b(M.)20 b(Dy)o(er,)g(A.)g(F)l(rieze,)g(and)h(R.)f(Kannan.)35 b(A)20 b(random)h(p)q(olynomial)i(time)d(algorithm)301 1141 y(for)f(appro)o(ximating)i(the)d(v)o(olume)g(of)h(a)g(con)o(v)o(ex)e(b)q(o)q (dy)l(.)29 b Fj(Journal)19 b(of)g(the)h(A)o(CM)p Fk(,)e(38:1{)301 1213 y(17,)25 b(1991.)40 b(A)22 b(constan)o(t)h(time)f(oracle)h(is)g(assumed) g(for)f(determining)h(if)g(a)g(p)q(oin)o(t)g(in)301 1285 y(space)f(is)g (inside)h(or)f(outside)g(a)g(con)o(v)o(ex)e(b)q(o)q(dy)i(in)h(n-dimensional)h (Euclidean)e(space.)301 1357 y(The)c(algorithm)i(runs)e(in)h(time)e(b)q (ounded)i(b)o(y)e(a)h(p)q(olynomial)j(in)d Fh(n)p Fk(,)g(the)g(dimension)h (of)301 1430 y(the)e(b)q(o)q(dy)l(,)h(and)f(1)p Fh(=\017)p Fk(,)h(where)e Fh(\017)h Fk(is)h(the)f(relativ)o(e)g(error)g(b)q(ound.)g (With)h(probabilit)o(y)h(3)p Fh(=)p Fk(4,)301 1502 y(it)e(\014nds)g(an)g (appro)o(ximation)h(satisfying)g(the)e(error)g(b)q(ound.)0 1614 y([DGMP92])72 b(M.)13 b(Dietzfelbinger,)h(J.)f(Gil,)i(Y.)e(Matias,)h (and)g(N.)f(Pipp)q(enger.)k(P)o(olynomial)f(hash)e(func-)301 1686 y(tions)f(are)e(reliable.)j(In)d Fj(Pr)n(o)n(c.)h(19th)g(Int'l.)i(Col)r (lo)n(q.)g(on)f(A)o(utomata,)g(L)n(anguages)h(and)f(Pr)n(o-)301 1758 y(gr)n(amming,)19 b Fk(Lecture)f(Notes)g(in)g(Computer)g(Science,)f(V)l (ol.)h(623,)h(pages)g(235{246,)i(Vi-)301 1830 y(enna,)14 b(Austria,)f(July)g (1992.)h(Springer-V)l(erlag.)j(This)c(pap)q(er,)h(along)g(with)g([DMadH92],) 301 1902 y(sho)o(ws)h(ho)o(w)f(to)g(construct)g(a)g(p)q(erfect)f(hash)i (function)f(in)h(\002\()p Fh(n)p Fk(\))e(time,)h(whic)o(h)g(is)g(suitable)301 1975 y(for)j(real-time)g(applications)i(\(Theorems)d(6.1)h(and)g(7.1\).)0 2086 y([Dij71])160 b(E.)11 b(W.)g(Dijkstra.)i(Hierarc)o(hical)f(ordering)g (of)f(sequen)o(tial)g(pro)q(cesses.)i Fj(A)n(cta)g(Informatic)n(a)p Fk(,)301 2159 y(1\(2\):115{138,)j(1971.)f(Reprin)o(ted)d(in)g Fj(Op)n(er)n(ating)i(Systems)g(T)l(e)n(chniques)t Fk(,)g(C.A.R.)c(Hoare)301 2231 y(and)j(R.H.)d(P)o(errot,)i(Eds.,)g(Academic)f(Press,)i(1972,)g(pp.)f (72{93.)h(This)g(pap)q(er)f(in)o(tro)q(duces)301 2303 y(the)k(classical)j (sync)o(hronization)f(problem)e(of)h(Dining)h(Philosophers.)0 2415 y([DKM)134 2397 y Fl(+)163 2415 y Fk(88])76 b(M.)15 b(Dietzfelbinger,)h (A.)f(Karlin,)i(K.)d(Mehlhorn,)i(F.)f(Mey)o(er)f(auf)i(der)f(Heide,)g(H.)f (Rohn-)301 2487 y(ert,)h(and)h(R.)f(E.)g(T)l(arjan.)20 b(Dynamic)c(p)q (erfect)e(hashing:)23 b(Upp)q(er)15 b(and)h(lo)o(w)o(er)f(b)q(ounds.)21 b(In)301 2559 y Fj(Pr)n(o)n(c.)13 b(29th)g(A)o(nn.)i(IEEE)e(Symp.)g(on)h(F)l (oundations)g(of)g(Computer)f(Scienc)n(e)p Fk(,)i(pages)d(524{)301 2631 y(531,)17 b(White)f(Plains,)i(NY,)c(Oct)i(1988.)21 b(A)16 b(randomized)g(algorithm)i(for)e(the)g(dictionary)301 2704 y(problem)h(based)g(on)g(p)q(erfect)e(hashing)j(is)f(presen)o(ted.)938 2828 y(108)p eop bop 0 195 a Fk([DKS88])123 b(C.)13 b(Dw)o(ork,)g(P)l(.)f(C.)g(Kanellakis,)j (and)e(L.)g(J.)f(Sto)q(c)o(kmey)o(er.)h(P)o(arallel)h(algorithms)h(for)e (term)301 267 y(matc)o(hing.)23 b Fj(SIAM)17 b(Journal)h(on)g(Computing)p Fk(,)f(17\(4\):711{731,)i(1988.)k(In)17 b(the)f(con)o(text)301 340 y(of)i(a)f(parallel)i(algorithm)g(for)e(the)g(term)f(matc)o(hing)h (problem,)h(this)f(pap)q(er)h(sho)o(ws)g(ho)o(w)301 412 y(randomization)25 b(can)d(b)q(e)h(used)f(to)h(reduce)e(the)h(initial)j(pro)q(cessor)e (complexit)o(y)f(from)301 484 y Fh(O)q Fk(\()p Fh(n)387 466 y Fl(5)408 484 y Fk(\))f(to)h Fh(O)q Fk(\()p Fh(M)5 b Fk(\()p Fh(n)p Fk(\)\),)23 b(where)e Fh(M)5 b Fk(\()p Fh(n)p Fk(\))21 b(is)h(the)f(pro)q(cessor)i(complexit)o(y)e(of)g(m)o(ultiplying)301 556 y(t)o(w)o(o)c Fh(n)11 b Fg(\002)g Fh(n)16 b Fk(matrices.)0 670 y([DLMV88])76 b(P)l(.)12 b(Dagum,)h(M.)e(Lub)o(y)l(,)i(M.)e(Mihail,)j (and)f(U.V.)d(V)l(azirani.)15 b(P)o(olytop)q(es,)f(p)q(ermanen)o(ts)d(and)301 742 y(graphs)22 b(with)f(large)g(factors.)34 b(In)20 b Fj(Pr)n(o)n(c.)g(29th) h(A)o(nn.)h(IEEE)f(Symp.)g(on)g(F)l(oundations)301 814 y(of)h(Computer)f (Scienc)n(e)p Fk(,)i(pages)e(412{421,)j(1988.)35 b(Randomized)21 b(algorithms)i(for)d(ap-)301 887 y(pro)o(ximating)c(the)e(n)o(um)o(b)q(er)g (of)h(p)q(erfect)e(matc)o(hings)i(in)g(a)g(graph)h(based)e(on)h(a)g (geometric)301 959 y(reasoning)j(are)f(presen)o(ted.)0 1073 y([dlVKS93])83 b(F.)16 b(de)f(la)i(V)l(ega,)e(S.)h(Kannan,)g(and)h(M.)e(San)o (tha.)21 b(Tw)o(o)16 b(probabilisti)q(c)i(results)f(on)f(merg-)301 1145 y(ing.)38 b Fj(SIAM)22 b(Journal)h(on)f(Computing)p Fk(,)h (22\(2\):261{271,)j(1993.)38 b(Tw)o(o)22 b(probabilistic)301 1217 y(algorithms)e(for)d(merging)h(t)o(w)o(o)g(sorted)f(lists)i(are)e (presen)o(ted.)f(When)i Fh(m)d(<)g(n)p Fk(,)j(the)f(\014rst)301 1289 y(algorithm)k(has)f(a)g(w)o(orst-case)g(time)e(b)q(etter)h(than)h(an)o (y)f(deterministic)h(algorithm)h(for)301 1362 y(1)p Fh(:)p Fk(618)16 b Fh(<)e(n=m)g(<)g Fk(3.)i(The)h(algorithm)h(is)f(extended)e(to)i (p)q(erform)g(w)o(ell)g(for)f(an)o(y)h(v)m(alue)g(of)301 1434 y Fh(n=m)p Fk(.)0 1548 y([DMadH90])55 b(M.)11 b(Dietzfelbinger)h(and)f(F.)g (Mey)o(er)e(auf)j(der)f(Heide.)h(Ho)o(w)f(to)g(distribute)h(a)g(dictionary)g (in)301 1620 y(a)h(complete)e(net)o(w)o(ork.)j(In)e Fj(Pr)n(o)n(c.)g(22nd)i (A)o(nn.)g(A)o(CM)f(Symp.)g(on)h(The)n(ory)e(of)i(Computing)p Fk(,)301 1692 y(pages)f(117{127,)i(Baltimore,)d(MD,)f(Ma)o(y)h(1990.)j(A)c (randomized)h(algorithm)i(is)e(giv)o(en)g(for)301 1764 y(implemen)o(ting)17 b(a)f(distributed)h(dictionary)g(on)g(a)f(complete)g(net)o(w)o(ork)f(of)h Fh(p)g Fk(pro)q(cessors.)301 1836 y(The)g(algorithm)i(is)e(based)g(on)g (hashing)i(and)e(uses)g Fh(O)q Fk(\()p Fh(n=p)p Fk(\))h(exp)q(ected)e(time)g (to)h(execute)301 1909 y Fh(n)k Fk(arbitrary)h(instructions)h(\(insert,)f (delete,)f(lo)q(okup\).)h(The)f(resp)q(onse)h(time)e(for)i(eac)o(h)301 1981 y(lo)q(okup)d(is)f(exp)q(ected)f(constan)o(t.)0 2095 y([DMadH92])55 b(M.)11 b(Dietzfelbinger)g(and)h(F.)e(Mey)o(er)f(auf)j(der)e(Heide.)i (Dynamic)f(hashing)i(in)f(real)f(time.)h(In)301 2167 y Fj(Informatik)17 b Fg(\001)f Fj(F)l(estschrift)h(zum)g(60.)f(Geburtstag)i(von)f(G)q(\177)-26 b(unter)17 b(Holtz,)h Fk(T)l(eubner-T)l(exte)301 2239 y(zur)j(Informatik,)g (Band)f(1,)i(pages)f(95{119.)i(B.)c(G.)h(T)l(eubner,)h(Stuttgart,)h(German)o (y)l(,)301 2311 y(1992.)36 b(The)20 b(FKS)g(probabilisti)q(c)j(pro)q(cedure)d (is)i(extended)d(to)i(real-time.)f(See)g(Theo-)301 2384 y(rems)c(6.1)h(and)g (7.1)g(in)g([DGMP92)q(].)f(A)g(preliminary)h(v)o(ersion)g(of)g(this)g(pap)q (er)g(app)q(eared)301 2456 y(as)25 b(\\A)e(new)h(univ)o(ersal)h(class)g(of)f (hash)g(functions)h(and,)h(dynamic)d(hashing)j(in)e(real)301 2528 y(time,")d Fj(Pr)n(o)n(c.)f(17th)h(Int'l.)h(Col)r(lo)n(q.)g(on)f(A)o (utomata,)h(L)n(anguages)g(and)f(Pr)n(o)n(gr)n(amming)t Fk(,)301 2600 y(1990,)d(pp.)e(6{19.)938 2828 y(109)p eop bop 0 195 a Fk([DMT92])108 b(O.)11 b(Devillers,)i(S.)e(Meiser,)h(and)g(M.)f (T)l(eillaud.)k(F)l(ully)d(dynamic)f(Delauna)o(y)i(triangulation)301 267 y(in)h(logarithmic)i(exp)q(ected)c(time)h(p)q(er)h(op)q(eration.)k Fj(Computational)d(Ge)n(ometry:)20 b(The)n(ory)301 340 y(and)f(Applic)n (ations)p Fk(,)f(2\(2\):55{80,)h(1992.)25 b(This)19 b(pap)q(er)e(extends)g (the)g(results)h(of)f([BT93])301 412 y(b)o(y)f(considering)i(the)f(deletion)g (of)g(p)q(oin)o(ts.)g(The)f(Delauna)o(y)i(triangulation)h(of)e Fh(n)g Fk(p)q(oin)o(ts)301 484 y(is)i(up)q(dated)f(in)g Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))17 b(exp)q(ected)g(time)g(p)q(er)g(insertion)i (and)f Fh(O)q Fk(\(log)11 b(log)g Fh(n)p Fk(\))17 b(exp)q(ected)301 556 y(time)e(p)q(er)g(deletion.)g(The)g(insertion)h(sequence)d(is)j(assumed)f (to)g(b)q(e)g(in)g(a)g(random)g(order,)301 628 y(and)23 b(deletions)f(are)g (assumed)g(to)g(concern)f(an)o(y)g(curren)o(tly)g(presen)o(t)g(p)q(oin)o(t)i (with)f(the)301 701 y(same)17 b(probabilit)o(y)l(.)0 814 y([DoD83])127 b(DoD)21 b(\(United)f(States)h(Dept.)e(of)i(Defense\).)32 b Fj(R)n(efer)n(enc)n(e)21 b(Manual)g(for)g(the)g(A)n(da)g(Pr)n(o-)301 887 y(gr)n(amming)c(L)n(anguage,)g Fk(MIL-STD)e(1815A,)h(F)l(ebruary)f(1983.) 21 b(Section)15 b(3.2)h(of)f(our)g(sur-)301 959 y(v)o(ey)i(discusses)i(a)f (randomized)h(distributed)g(algorithm)g(for)g(the)e(sc)o(heduling)i(of)f (input)301 1031 y(and)h(output)f(guards.)g(The)g(designers)g(of)g(Ada)g(c)o (hose)f(only)h(to)g(allo)o(w)i(nondeterminis-)301 1103 y(tic)f(c)o(hoice)f (among)i(the)e Fi(accept)g Fk(alternativ)o(es)h(of)g(a)g Fi(select)f Fk(statemen)o(t.)f(This)j(design)301 1176 y(decision)d(mak)o(es)e(the)g (guard)h(sc)o(heduling)h(problem)e(in)h(Ada)g(m)o(uc)o(h)e(easier)i(and,)f (in)h(par-)301 1248 y(ticular,)h(obliviates)i(the)d(need)g(for)g (randomization.)0 1362 y([Dol82])151 b(D.)12 b(Dolev.)j(The)d(Byzan)o(tine)f (generals)i(strik)o(e)f(again.)k Fj(Journal)e(of)f(A)o(lgorithms)p Fk(,)g(3\(1\):14{)301 1434 y(30,)j(1982.)21 b(This)16 b(is)g(the)f(in)o(tro)q (ductory)h(pap)q(er)g(on)g(Byzan)o(tine)e(Generals.)i(Dolev)g(pro)o(v)o(es) 301 1506 y(that)i(Byzan)o(tine)e(agreemen)o(t)g(is)h(ac)o(hiev)m(able)h(in)f Fj(any)g Fk(distributed)h(system)f(if)g(and)g(only)301 1578 y(if)i(the)f(n)o(um)o(b)q(er)g(of)h(fault)o(y)f(pro)q(cessors)i(in)f(the)f (system)g(is)h(\(1\))g(less)g(than)g(one-third)h(of)301 1650 y(the)d(total)h(n)o(um)o(b)q(er)e(of)h(pro)q(cessors;)h(and)g(\(2\))f(less)h (than)f(one-half)h(the)f(connectivit)o(y)g(of)301 1723 y(the)k(system's)f (net)o(w)o(ork.)f(In)h(cases)h(where)f(agreemen)o(t)g(is)h(ac)o(hiev)m(able,) h(deterministic)301 1795 y(algorithms)d(for)d(obtaining)j(it)e(are)f(giv)o (en.)0 1909 y([DS90])161 b(C.)13 b(Dw)o(ork)h(and)f(L.)g(Sto)q(c)o(kmey)o (er.)h(The)g(time)e(complexit)o(y)h(gap)h(for)g(2-w)o(a)o(y)f(probabilistic) 301 1981 y(\014nite-state)20 b(automata.)32 b Fj(SIAM)20 b(Journal)g(on)g (Computing)p Fk(,)g(19\(6\):1011{10)q(23,)j(1990.)301 2053 y(Among)17 b(other)f(results,)h(this)h(pap)q(er)f(sho)o(ws)g(that)g(an)o(y)f (2-w)o(a)o(y)h(probabilistic)i(\014nite)e(au-)301 2125 y(tomaton)23 b(recognizing)g(a)e(non-regular)j(language)f(m)o(ust)e(use)g(exp)q(onen)o (tial)i(exp)q(ected)301 2198 y(time)d(in\014nitely)h(often.)e(Since)h(an)o(y) g(regular)g(language)i(can)e(b)q(e)g(recognized)f(in)i(linear)301 2270 y(time,)e(a)g(time-complexit)o(y)f(gap)i(is)f(established.)h(Similar)g (results)f(w)o(ere)f(published)i(in)301 2342 y(the)f(pap)q(er)g(en)o(titled)h (\\On)f(the)f(P)o(o)o(w)o(er)h(of)g(2-W)l(a)o(y)g(Probabilisti)q(c)i(Finite)f (Automata,")301 2414 y(whic)o(h)c(app)q(eared)f(in)h Fj(Pr)n(o)n(c.)f(30th)h (A)o(nn.)h(IEEE)f(Symp.)g(on)g(F)l(oundations)h(of)f(Computer)301 2487 y(Scienc)n(e)t Fk(,)i(1989.)0 2600 y([DSMP87])83 b(A.)23 b(De)h(San)o(tis,)i(S.)d(Micali,)j(and)e(G.)g(P)o(ersiano.)44 b(Non-in)o(teractiv)o(e)24 b(zero-kno)o(wledge)301 2672 y(pro)q(of-systems.) 45 b(In)24 b Fj(A)n(dvanc)n(es)g(in)h(Cryptolo)n(gy{CR)l(YPTO)f(87,)h Fk(Lecture)f(Notes)f(in)938 2828 y(110)p eop bop 301 195 a Fk(Computer)23 b(Science,)g(V)l(ol.)g(293,)i(pages)e(52{72.)h (Springer-V)l(erlag,)h(1987.)42 b(This)23 b(pa-)301 267 y(p)q(er)16 b(in)o(tro)q(duces)f(the)g(notion)i(of)e(non-in)o(teractiv)o(e)h(zero-kno)o (wledge)f(pro)q(ofs)h(based)g(on)g(a)301 340 y(w)o(eak)o(er)g(complexit)o(y)g (assumption)i(than)e(that)h(used)f(in)h([BFM88].)0 451 y([DSMP88])83 b(A.)23 b(De)h(San)o(tis,)i(S.)d(Micali,)j(and)e(G.)g(P)o(ersiano.)44 b(Non-in)o(teractiv)o(e)24 b(zero-kno)o(wledge)301 523 y(pro)q(of-systems)d (with)g(prepro)q(cessing.)34 b(In)20 b Fj(A)n(dvanc)n(es)h(in)g(Cryptolo)n (gy{CR)l(YPTO)f(88,)301 596 y Fk(Lecture)14 b(Notes)g(in)h(Computer)f (Science,)g(V)l(ol.)g(403,)h(pages)g(269{283.)i(Springer-V)l(erlag,)301 668 y(1988.)g(The)c(authors)h(sho)o(w)f(that)g(if)h(an)o(y)e(one-w)o(a)o(y)h (function)g(exists)h(after)e(an)h(in)o(teractiv)o(e)301 740 y(prepro)q(cessing)23 b(stage)f(then)e(an)o(y)h(su\016cien)o(tly)g(short)h (theorem)e(can)h(b)q(e)h(pro)o(v)o(en)e Fj(non-)301 812 y(inter)n(actively)e Fk(in)f(zero-kno)o(wledge.)0 924 y([DSS90])134 b(C.)17 b(Dw)o(ork,)h(D.)f (Shmo)o(ys,)g(and)g(L.)h(Sto)q(c)o(kmey)o(er.)k(Flipping)d(p)q(ersuasiv)o (ely)g(in)f(constan)o(t)301 996 y(time.)e Fj(SIAM)e(Journal)h(on)f(Computing) p Fk(,)g(19\(2\):472{499,)j(1990.)g(An)12 b(e\016cien)o(t)g(random-)301 1068 y(ized)18 b(proto)q(col)i(is)f(presen)o(ted)e(that)h(tolerates)h(up)f (to)h Fh(n=)p Fk(\(log)11 b Fh(n)p Fk(\))18 b(malicious)i(pro)q(cessors)301 1141 y(that)14 b(requires)e(constan)o(t)h(exp)q(ected)f(n)o(um)o(b)q(er)g(of) h(rounds)g(to)g(ac)o(hiev)o(e)f(a)h(distributed)h(coin)301 1213 y(toss.)g(Also)f(giv)o(en)g(is)h(a)f(Byzan)o(tine)f(Generals)i (algorithm)h(that)e(tolerates)h Fh(n=)p Fk(\(log)c Fh(n)p Fk(\))j(fail-)301 1285 y(ures)18 b(and)g(runs)g(in)g(constan)o(t)g(exp)q(ected)f(n)o(um)o(b)q (er)g(of)h(rounds.)g(A)f(preliminary)i(v)o(ersion)301 1357 y(of)k(this)f(pap)q(er)h(app)q(eared)g(in)f Fj(Pr)n(o)n(c.)g(27th)g(A)o(nn.)i (IEEE)e(Symp.)h(on)g(F)l(oundations)g(of)301 1430 y(Computer)18 b(Scienc)n(e)t Fk(,)f(1986.)0 1541 y([DSY90])124 b(A.)23 b(De)g(San)o(tis)h (and)g(M.)f(Y)l(ung.)42 b(Cryptographic)25 b(applications)h(of)e(non-in)o (teractiv)o(e)301 1614 y(metapro)q(ofs)d(and)e(man)o(y-pro)o(v)o(er)f (systems.)30 b(In)19 b Fj(A)n(dvanc)n(es)h(in)h(Cryptolo)n(gy{CR)l(YPTO)301 1686 y(90,)d Fk(Lecture)e(Notes)g(in)h(Computer)f(Science,)f(V)l(ol.)i(537.)g (Springer-V)l(erlag,)g(1990.)23 b(The)301 1758 y(authors)17 b(sho)o(w)f(ho)o(w)g(man)o(y)f(pro)o(v)o(ers)f(can)i(share)g(the)f(same)g (random)h(string)h(in)f(pro)o(ving)301 1830 y(m)o(ultiple)h(theorems)f (non-in)o(teractiv)o(ely)h(in)g(zero-kno)o(wledge.)0 1942 y([ER60])156 b(P)l(.)15 b(Erd})-24 b(os)15 b(and)h(A.)e(R)o(\023)-23 b(en)o(yi.)18 b(On)d(the)f(ev)o(olution)i(of)f(random)g(graphs.)20 b Fj(Publ.)d(Math.)f (Inst.)301 2014 y(Hung.)e(A)n(c)n(ad.)e(Sci.)p Fk(,)g(5:17{61,)i(1960.)g(A)d (seminal)h(pap)q(er)f(on)h(random)g(graphs.)f(Reprin)o(ted)301 2086 y(in)22 b Fj(Paul)g(Er)n(d})-25 b(os:)30 b(The)22 b(A)o(rt)g(of)f (Counting.)i(Sele)n(cte)n(d)h(Writings)t Fk(,)e(J.H.)d(Sp)q(encer,)j(Ed.,)301 2159 y(V)l(ol.)c(5)f(of)h(the)f(series)g Fj(Mathematicians)i(of)g(Our)f(Time) t Fk(,)f(MIT)g(Press,)g(1973,)h(pp.)f(574{)301 2231 y(617.)0 2342 y([ES74])165 b(P)l(.)18 b(Erd})-24 b(os)19 b(and)f(J.)g(Sp)q(encer.)25 b Fj(Pr)n(ob)n(abilistic)19 b(Metho)n(ds)f(in)i(Combinatorics)p Fk(.)26 b(Academic)301 2415 y(Press,)16 b(New)f(Y)l(ork)h(and)g(London,)h (1974.)22 b(Recognized)16 b(exp)q(erts)f(in)i(the)e(\014eld)h(presen)o(t)g(a) 301 2487 y(small,)h(p)q(o)o(w)o(er)f(pac)o(k)o(ed)f(monograph)i(on)f (non-constructiv)o(e)g(probabilisti)q(c)i(metho)q(ds)e(in)301 2559 y(com)o(binatorics.)j(Our)e(algorithm)i(for)f(net)o(w)o(orks)f(without)i (large)f(hierarc)o(hies)g(is)h(based)301 2631 y(on)13 b(the)f(discussion)i (in)e(Chapter)h(1)f(of)h(this)f(b)q(o)q(ok.)h(Other)f(highligh)o(ts)i (include,)g(Ramsey's)301 2704 y(theorems)i(and)h(ev)o(olution)h(of)e(random)h (graphs.)938 2828 y(111)p eop bop 0 195 a Fk([F)o(CDH91])85 b(E.)22 b(F)l(o)o(x,)h(Q.F.)e(Chen,)i(A.)e (Daoud,)k(and)d(L.S.)g(Heath.)38 b(Order)22 b(preserving)h(minimal)301 267 y(p)q(erfect)14 b(hash)i(functions)f(and)g(information)i(retriev)m(al.)i Fj(A)o(CM)c(T)l(r)n(ans.)g(on)h(Information)301 340 y(Systems)p Fk(,)h(9\(2\):281{308,)i(July)e(1991.)23 b(This)18 b(algorithm)g(com)o(bines) f(the)f(tec)o(hniques)g(of)301 412 y(em)o(b)q(edding)22 b(the)g(k)o(eys)f(in) o(to)h(an)g Fh(r)q Fg(\000)p Fk(graph)h(and)f(t)o(w)o(o-lev)o(el)g(hashing)h (to)f(design)h(hash)301 484 y(functions)16 b(that)f(are)f(optimal)i(in)f (terms)f(of)h(hashing)h(time)f(and)g(space)f(utilization.)j(The)301 556 y(algorithm)22 b(to)f(generate)f(the)g(hash)h(functions)g(uses)f (near-optimal)j(space)d(and)h(time.)301 628 y(An)o(y)16 b(desired)g(order)h (can)f(b)q(e)g(main)o(tained.)0 742 y([F)l(ey82])149 b(R.)21 b(P)l(.)g(F)l(eynman.)34 b(Sim)o(ulating)23 b(ph)o(ysics)f(with)g(computers.) 35 b Fj(International)23 b(Journal)301 814 y(of)c(The)n(or)n(etic)n(al)g (Physics)p Fk(,)f(21\(6/7\):467{488)q(,)j(1982.)28 b(F)l(eynman)17 b(p)q(oin)o(ts)i(out)g(the)e(curi-)301 887 y(ous)i(problem)g(that)f(it)h(app) q(ears)g(to)f(b)q(e)g(imp)q(ossible)j(to)d(sim)o(ulate)h(a)g(general)f(quan)o (tum)301 959 y(ph)o(ysical)25 b(system)e(on)g(a)h(probabilisti)q(c)i(T)l (uring)e(Mac)o(hine)f(without)i(an)f(exp)q(onen)o(tial)301 1031 y(slo)o(wdo)o(wn,)h(ev)o(en)20 b(if)i(the)g(quan)o(tum)f(ph)o(ysical)i (system)e(to)h(b)q(e)g(sim)o(ulated)h(is)f(discrete)301 1103 y(\(lik)o(e)17 b(some)f(kind)h(of)f(quan)o(tum)g(cellular)i(automaton\).)0 1217 y([FFS87])134 b(U.)15 b(F)l(eige,)h(A.)f(Fiat,)h(and)g(A.)f(Shamir.)22 b(Zero-kno)o(wledge)16 b(pro)q(ofs)h(of)f(iden)o(tit)o(y)l(.)21 b(In)15 b Fj(Pr)n(o)n(c.)301 1289 y(19th)j(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g (The)n(ory)f(of)h(Computing)p Fk(,)f(pages)g(210{217,)j(1987.)k(Zero-)301 1362 y(kno)o(wledge)19 b(pro)q(ofs,)h(in)f(the)g(traditional)i(sense,)d(rev)o (eal)g(1)h(bit)g(of)g(information)h(to)f(the)301 1434 y(v)o(eri\014er,)f (viz.)h Fh(w)g Fg(2)f Fh(L)g Fk(or)h Fh(w)g Fg(62)f Fh(L)p Fk(.)h(This)g(pap)q(er)h(prop)q(oses)g(the)e(notion)i(of)f(\\truly)g(zero)301 1506 y(kno)o(wledge")f(pro)q(ofs)h(where)e(the)g(pro)o(v)o(er)f(con)o(vinces) h(the)g(v)o(eri\014er)g(that)g(he/she)h(kno)o(ws)301 1578 y(whether)c Fh(w)h Fk(is)f(or)g(is)h(not)f(in)g Fh(L)p Fk(,)g(without)h(rev)o(ealing)f (an)o(y)g(other)g(information.)h(An)e(RSA-)301 1650 y(lik)o(e)19 b(sc)o(heme)e(based)h(on)h(the)f(di\016cult)o(y)g(of)g(factoring,)i(whic)o(h) e(is)h(m)o(uc)o(h)e(more)h(e\016cien)o(t)301 1723 y(than)f(RSA,)f(is)h(also)g (presen)o(ted.)0 1836 y([F)o(GM)128 1818 y Fl(+)157 1836 y Fk(89])82 b(M.)22 b(F)q(\177)-26 b(urer,)24 b(O.)e(Goldreic)o(h,)j(Y.)c (Mansour,)k(M.)c(Sipser,)k(and)e(S.)f(Zac)o(hos.)40 b(On)22 b(com-)301 1909 y(pleteness)h(and)g(soundness)h(in)f(in)o(teractiv)o(e)g(pro) q(of)g(systems.)40 b(In)22 b(S.)h(Micali,)i(editor,)301 1981 y Fj(A)n(dvanc)n(es)g(in)g(Computing)f(R)n(ese)n(ar)n(ch)f(5:)36 b(R)n(andomness)24 b(and)g(Computation)p Fk(,)h(pages)301 2053 y(429{442.)20 b(JAI)d(Press,)h(Green)o(wic)o(h,)f(CT,)g(1989.)27 b(An)17 b(in)o(teractiv)o(e)g(pro)q(of)i(system)e(for)h(a)301 2125 y(language)j Fh(L)d Fk(is)h(said)h(to)e(ha)o(v)o(e)g Fj(p)n(erfe)n(ct)h (c)n(ompleteness)h Fk(if)f(the)f(v)o(eri\014er)g Fj(always)k Fk(accepts)301 2198 y Fh(w)d Fk(if)g Fh(w)e Fg(2)g Fh(L)p Fk(.)h(This)h(pap)q (er)f(pro)o(v)o(es)f(that)i(an)o(y)e(language)j(ha)o(ving)f(an)f(in)o (teractiv)o(e,)g(p)q(os-)301 2270 y(sibly)g(un)o(b)q(ounded,)e(pro)q(of)i (has)f(one)f(with)h(p)q(erfect)f(completeness.)f(Only)i(languages)h(in)301 2342 y Fj(NP)g Fk(ha)o(v)o(e)e(in)o(teractiv)o(e)g(pro)q(ofs)i(with)g(p)q (erfect)e(soundness.)i(This)g(pap)q(er)f(\014rst)g(app)q(eared)301 2414 y(under)g(the)f(title)h(\\In)o(teractiv)o(e)e(pro)q(of)j(system:)j(pro)o (v)o(ers)16 b(that)g(nev)o(er)g(fail)h(and)g(random)301 2487 y(selection,")e(authored)f(b)o(y)e(O.)h(Goldreic)o(h,)h(Y.)f(Mansour)h(and)f (M.)g(Sipser,)h(in)g Fj(Pr)n(o)n(c.)f(28th)301 2559 y(A)o(nn.)19 b(IEEE)e(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)h(Scienc)n(e)p Fk(,)f(1987,)h(pp.)e(449{461.)938 2828 y(112)p eop bop 0 195 a Fk([FH84])156 b(V.)15 b(A.)g(F)l(eldman)g(and)h(D.)g(Harel.)k(A) 15 b(probabilistic)j(dynamic)e(logic.)22 b Fj(Journal)16 b(of)h(Com-)301 267 y(puter)i(and)f(System)h(Scienc)n(es)p Fk(,)f(28\(2\):193{215)q(,)h (1984.)25 b(This)18 b(pap)q(er)g(de\014nes)f(a)g(formal)301 340 y(logic)i Fi(Pr)p Fk(DL)g(to)e(reason)i(ab)q(out)f(probabilisti)q(c)i (programs.)e(It)f(extends)g(the)g(seman)o(tics)301 412 y(of)g(Kozen)f ([Koz81])g(form)o(ulas)h(in)o(v)o(olving)h(probabilistic)h(programs.)0 526 y([FHCD92])84 b(E.)14 b(F)l(o)o(x,)g(L.S.)f(Heath,)h(Q.F.)f(Chen,)h(and)g (A.)f(Daoud.)19 b(Practical)c(minimal)h(p)q(erfect)d(hash)301 598 y(functions)22 b(for)e(large)h(databases.)35 b Fj(Communic)n(ations)21 b(of)g(the)h(A)o(CM)p Fk(,)d(35\(1\):105{121,)301 670 y(Jan)o(uary)k(1992.)41 b(This)23 b(pap)q(er)g(presen)o(ts)f(t)o(w)o(o)g(randomized)h(algorithm)h (for)f(minimal)301 742 y(p)q(erfect)d(hashing)i(functions)f(that)g(are)f (designed)h(for)g(use)f(with)h(data)g(bases)g(with)g(as)301 814 y(man)o(y)d(as)g(a)h(million)h(k)o(eys.)c(The)i(algorithms)i(ha)o(v)o(e)e (b)q(een)f(exp)q(erimen)o(tally)i(ev)m(aluated.)301 887 y(The)14 b(\014rst)g(algorithm)i(generates)e(hash)h(functions)g(that)f(are)g(less)h (than)f Fh(O)q Fk(\()p Fh(n)p Fk(\))g(computer)301 959 y(w)o(ords)k(long,)f (and)h(the)e(second)h(generates)g(functions)g(that)g(approac)o(h)h(the)e (theoretical)301 1031 y(lo)o(w)o(er)h(b)q(ound)g(of)g(\012\()p Fh(n=)8 b Fk(log)j Fh(n)p Fk(\))16 b(w)o(ords.)h(This)g(w)o(ork)f(is)h(a)g (predecessor)f(of)h([F)o(CDH91)o(].)0 1145 y([FKS82])128 b(M.)12 b(L.)h(F)l(redman,)g(J.)f(Koml\023)-24 b(os,)14 b(and)f(E.)f(Szemeredi.)j (Sorting)f(a)f(sparse)g(table)h(with)f Fh(O)q Fk(\(1\))301 1217 y(w)o(orst)21 b(case)e(access)h(time.)32 b(In)19 b Fj(Pr)n(o)n(c.)h(23r) n(d)f(A)o(nn.)j(IEEE)e(Symp.)h(on)g(F)l(oundations)g(of)301 1289 y(Computer)15 b(Scienc)n(e)p Fk(,)g(pages)f(165{169,)i(1982.)h(This)e (pap)q(er)e(pro)o(v)o(es)g(man)o(y)f(fundamen)o(tal)301 1362 y(results)i(that)f(are)g(essen)o(tial)h(for)f(constructing)h(a)f(p)q(erfect)f (hashing)j(function)f(for)f(a)g(giv)o(en)301 1434 y(set)k(of)f(k)o(eys.)0 1548 y([FL82])163 b(M.)15 b(J.)h(Fisc)o(her)f(and)i(N.)e(Lync)o(h.)20 b(A)15 b(lo)o(w)o(er)h(b)q(ound)h(for)f(the)f(time)h(to)g(assure)g(in)o (teractiv)o(e)301 1620 y(consistency)l(.)k Fj(Information)d(Pr)n(o)n(c)n (essing)f(L)n(etters)p Fk(,)e(14\(4\):182{186)q(,)k(1982.)j(They)15 b(pro)o(v)o(e)301 1692 y(that)20 b(no)g(deterministic)g(solution)i(to)e(the)f (Byzan)o(tine)g(Generals)h(problem)g(can)g(reac)o(h)301 1764 y(agreemen)o(t)14 b(in)h(less)h(than)f Fh(t)8 b Fk(+)g(1)14 b(rounds,)i(where)e Fh(t)g Fk(is)i(the)e(n)o(um)o(b)q(er)g(of)h(fault)o(y)g (pro)q(cesses.)0 1878 y([Fla85])156 b(P)l(.)22 b(Fla)s(jolet.)39 b(Appro)o(ximate)21 b(coun)o(ting:)34 b(A)21 b(detailed)i(analysis.)40 b Fj(BIT)p Fk(,)21 b(25:113{134,)301 1950 y(1985.)g(In)15 b(1978,)i(R.)d (Morris)i(published)h(an)f(article)g(in)g Fj(Communic)n(ations)g(of)h(the)f (A)o(CM)301 2022 y Fk(en)o(titled)e(\\Coun)o(ting)h(large)f(n)o(um)o(b)q(ers) f(of)g(ev)o(en)o(ts)f(in)i(small)h(registers.")f(This)g(pap)q(er)g(pre-)301 2095 y(sen)o(ted)h(a)h(randomized)g(algorithm,)i(kno)o(wn)d(as)i Fj(Appr)n(oximate)f(Counting)t Fk(,)h(that)f(allo)o(ws)301 2167 y(one)f(to)f(appro)o(ximately)h(main)o(tain)h(a)e(coun)o(ter)g(whose)h (v)m(alues)g(ma)o(y)e(range)i(in)g(the)f(in)o(ter-)301 2239 y(v)m(al)g(1)g(to)f Fh(M)18 b Fk(using)d(only)e(ab)q(out)i(log)10 b(log)g Fh(M)19 b Fk(bits,)14 b(rather)f(than)g(the)g(log)d Fh(M)18 b Fk(bits)c(required)301 2311 y(b)o(y)19 b(a)h(standard)h(binary)f (coun)o(ter.)f(The)g(algorithm)i(has)f(pro)o(v)o(en)f(useful)h(in)g(the)f (areas)301 2384 y(of)j(statistics)h(and)f(data)g(compression.)g(Fla)s(jolet)h (pro)o(vides)e(a)h(complete)f(analysis)j(of)301 2456 y(appro)o(ximate)18 b(coun)o(ting)g(whic)o(h)f(sho)o(ws)h(\(among)g(other)f(things\))h(that,)f (using)h(suitable)301 2528 y(corrections,)j(one)e(can)g(coun)o(t)h(up)f(to)h Fh(M)k Fk(k)o(eeping)19 b(only)h(log)11 b(log)f Fh(M)19 b Fk(+)13 b Fh(\016)20 b Fk(bits)g(with)h(an)301 2600 y(accuracy)16 b(of)h(order)f Fh(O)q Fk(\(2)767 2582 y Fd(\000)p Ff(\016)q(=)p Fl(2)850 2600 y Fk(\).)938 2828 y(113)p eop bop 0 195 a Fk([Fla90])156 b(P)l(.)19 b(Fla)s(jolet.)31 b(On)20 b(adaptiv)o(e)f(sampling.)32 b Fj(Computing)p Fk(,)20 b(34:391{400,)j(1990.) 32 b Fj(A)n(daptive)301 267 y(Sampling)21 b Fk(is)g(a)f(probabilistic)i(tec)o (hnique)d(due)h(to)g(W)l(egman)f(that)i(allo)o(ws)g(one)f(to)g(es-)301 340 y(timate)h(the)f(cardinalit)o(y)h(\(n)o(um)o(b)q(er)f(of)g(distinct)h (elemen)o(ts\))f(of)g(a)h(large)g(\014le)f(t)o(ypically)301 412 y(stored)13 b(on)g(disk.)f(This)h(problem)g(naturally)h(arises)f(in)g (query)e(optimization)j(of)f(database)301 484 y(systems.)i(Fla)s(jolet)h(sho) o(ws)g(that)g(using)g Fh(m)f Fk(w)o(ords)h(of)f(in-core)h(memory)l(,)e (adaptiv)o(e)h(sam-)301 556 y(pling)h(ac)o(hiev)o(es)e(an)h(exp)q(ected)e (relativ)o(e)i(accuracy)f(close)h(to)f(1)p Fh(:)p Fk(20)p Fh(=)1529 521 y Fg(p)p 1572 521 43 2 v 1572 556 a Fh(m)p Fk(.)f(This)j(compares)301 628 y(w)o(ell)f(with)h(the)e Fj(pr)n(ob)n(abilistic)h(c)n(ounting)h Fk(tec)o(hnique)e(of)h(Fla)s(jolet)g(and)g(Martin)g([FM85b]:)301 701 y(adaptiv)o(e)20 b(sampling)i(app)q(ears)e(to)g(b)q(e)f(ab)q(out)i (50\045)f(less)g(accurate)f(than)h(probabilistic)301 773 y(coun)o(ting)j(for) f(comparable)h(v)m(alues)g(of)f Fh(m)p Fk(.)f(Adaptiv)o(e)h(sampling,)j(ho)o (w)o(ev)o(er,)c(is)i(com-)301 845 y(pletely)d(free)e(of)h(non-linearities)j (for)d(smaller)h(v)m(alues)g(of)f(cardinalities)j(\(probabilistic)301 917 y(coun)o(ting)c(is)f(only)g Fj(asymptotic)n(al)r(ly)f Fk(un)o(biased\).)0 1031 y([FLP85])130 b(M.)13 b(J.)g(Fisc)o(her,)g(N.)f(Lync)o(h,)h(and)h(M.)e (P)o(aterson.)17 b(Imp)q(ossibilit)o(y)f(of)d(distributed)i(consen-)301 1103 y(sus)e(with)g(one)g(fault)o(y)f(pro)q(cess.)k Fj(Journal)e(of)f(the)i (A)o(CM)p Fk(,)c(32\(2\),)j(April)f(1985.)j(This)d(pap)q(er)301 1176 y(pro)o(v)o(es)e(that)i(ev)o(ery)d(completely)h(async)o(hronous,)i (deterministic)g(algorithm)g(for)f(Byzan-)301 1248 y(tine)h(agreemen)o(t)f (has)h(the)f(p)q(ossibili)q(t)o(y)j(of)e(non)o(termination,)h(ev)o(en)d(with) j(only)f(one)g(fault)o(y)301 1320 y(pro)q(cessor.)i(This)g(imp)q(ossibil)q (it)o(y)i(result)e(do)q(es)f(not)h(hold)g(in)g(the)f(sync)o(hronous)h(case.)f (F)l(or)301 1392 y(completely)g(async)o(hronous)g Fj(pr)n(ob)n(abilistic)f Fk(algorithms,)j(the)d(problem)g(is)h(a)o(v)o(oided)g(since)301 1465 y(termination)h(is)g(only)f(required)f(with)i(probabilit)o(y)h(1.)d(See) g(Section)h(3.5)g(for)g(an)g(example)301 1537 y(of)j(suc)o(h)f(a)h (probabilistic)i(algorithm)f(for)f(async)o(hronous)g(Byzan)o(tine)f(agreemen) o(t.)0 1650 y([FLS90])136 b(U.)12 b(F)l(eige,)h(D.)f(Lapidot,)j(and)e(A.)e (Shamir.)16 b(Multiple)d(non-in)o(teractiv)o(e,)h(zero-kno)o(wledge)301 1723 y(pro)q(ofs)20 b(based)g(on)f(a)g(single)h(random)f(string.)30 b(In)18 b Fj(Pr)n(o)n(c.)h(31st)g(A)o(nn.)i(IEEE)e(Symp.)h(on)301 1795 y(F)l(oundations)j(of)e(Computer)h(Scienc)n(e)p Fk(,)h(pages)f(308{317,) i(1990.)37 b(The)21 b(follo)o(wing)i(t)o(w)o(o)301 1867 y(problems)17 b(p)q(osed)g(in)f([DSMP88)q(],)f(asso)q(ciated)j(with)e(non-in)o(teractiv)o (e)h(zero-kno)o(wledge)301 1939 y(pro)q(of)22 b(systems,)f(are)f(solv)o(ed:) 30 b(\(1\))21 b(ho)o(w)g(to)f(construct)h(NIZK)e(pro)q(ofs)j(under)e(general) 301 2012 y(complexit)o(y)h(assumptions)i(rather)e(than)h(n)o(um)o(b)q (er-theoretic)e(assumptions,)k(and)e(\(2\))301 2084 y(ho)o(w)17 b(to)g(enable)f(m)o(ultiple)h(pro)o(v)o(ers)f(to)g(pro)o(v)o(e,)f(in)i (writing,)h(p)q(olynomially)h(man)o(y)d(theo-)301 2156 y(rems)h(based)g(on)h (a)f(single)i(random)e(string.)h(The)f(authors)h(sho)o(w)f(that)h(an)o(y)f(n) o(um)o(b)q(er)f(of)301 2228 y(pro)o(v)o(ers)d(can)g(share)g(the)g(same)g (random)h(string)g(and)g(that)f(an)o(y)g(trap-do)q(or)i(p)q(erm)o(utation)301 2301 y(can)j(b)q(e)g(used)f(instead)i(of)f(quadratic)g(residuosit)o(y)l(.)g (Also,)h(if)f(the)f(pro)o(v)o(er)g(is)h(allo)o(w)o(ed)h(to)301 2373 y(ha)o(v)o(e)e(exp)q(onen)o(tial)i(computing)f(p)q(o)o(w)o(er,)f(then)h (one-w)o(a)o(y)f(p)q(erm)o(utations)i(are)e(su\016cien)o(t)301 2445 y(for)g(b)q(ounded)g(non-in)o(teractiv)o(e)g(zero-kno)o(wledge)f(pro)q (ofs.)0 2559 y([FL)-5 b(W92])118 b(A.)17 b(M.)g(F)l(erren)o(b)q(erg,)g(D.)g (F.)g(Landau,)i(and)f(Y.)f(J.)g(W)l(ong.)26 b(Mon)o(te)17 b(Carlo)i(sim)o (ulations:)301 2631 y(Hidden)e(errors)g(from)g(\\go)q(o)q(d")j(random)d(n)o (um)o(b)q(er)f(generators.)24 b Fj(Physic)n(al)17 b(R)n(eview)i(L)n(et-)301 2703 y(ters)p Fk(,)14 b(69\(23\):3382{338)q(8,)i(Decem)o(b)q(er)c(1992.)17 b(The)c(authors)h(un)o(v)o(eil)f(subtle)g(correlations)938 2828 y(114)p eop bop 301 195 a Fk(in)21 b(\014v)o(e)e(widely)h(used)g(pseudo-random)h(n)o(um)o (b)q(er)e(generators.)h(They)g(underto)q(ok)g(this)301 267 y(in)o(v)o(estigation)g(when)d(a)h(simple)g(mathematical)g(mo)q(del)h(of)e (the)g(b)q(eha)o(vior)i(of)e(atoms)h(in)301 340 y(a)i(magnetic)f(crystal)g (failed)h(to)g(giv)o(e)e(the)h(exp)q(ected)f(results.)h(They)g(traced)f(the)h (error)301 412 y(to)e(the)f(pseudo-random)i(n)o(um)o(b)q(er)d(generator)i (used)f(in)h(the)f(sim)o(ulation.)0 523 y([FM85a])124 b(P)l(.)16 b(Fla)s(jolet)g(and)g(G.)f(N.)g(Martin.)21 b(Probabilistic)d(coun)o(ting)f (algorithms)g(for)f(data)h(base)301 596 y(applications.)g Fj(Journal)d(of)f (Computer)g(and)h(System)g(Scienc)n(es)p Fk(,)g(25\(31\):182{209)q(,)h(1985.) 301 668 y(This)24 b(pap)q(er)g(presen)o(ts)e(a)i(probabilistic)i(coun)o(ting) d(tec)o(hnique)g(for)g(determining)g(the)301 740 y(n)o(um)o(b)q(er)14 b(of)g(distinct)i(records)e(in)h(a)f(\014le.)h(The)f(tec)o(hnique)f(requires) h Fh(O)q Fk(\(1\))i(storage)f(and)g(a)301 812 y(single)h(pass)g(o)o(v)o(er)d (the)h(\014le.)h(Also)g(app)q(eared)g(as)g(\\Probabilisti)q(c)i(coun)o (ting,")e Fj(Pr)n(o)n(c.)g(24th)301 885 y(A)o(nn.)k(IEEE)e(Symp.)g(on)h(F)l (oundations)g(of)f(Computer)h(Scienc)n(e)t Fk(,)f(1983,)g(pp.)f(76{84.)0 996 y([FM85b])121 b(P)l(.)16 b(Fla)s(jolet)g(and)g(G.)f(N.)g(Martin.)21 b(Probabilistic)d(coun)o(ting)f(algorithms)g(for)f(data)h(base)301 1068 y(applications.)40 b Fj(Journal)22 b(of)g(Computer)g(and)h(System)f (Scienc)n(es)p Fk(,)j(31:182{209,)g(1985.)301 1141 y Fj(Pr)n(ob)n(abilistic)c (Counting)g Fk(is)g(a)f(tec)o(hnique)f(for)h(estimating)h(the)e(cardinalit)o (y)j(\(n)o(um)o(b)q(er)301 1213 y(of)i(distinct)h(elemen)o(ts\))e(of)h(a)h (large)f(\014le)h(t)o(ypically)f(stored)g(on)h(disk.)f(This)h(problem)301 1285 y(naturally)18 b(arises)g(in)f(query)e(optimization)j(of)f(database)g (systems.)f(Using)h Fh(m)f Fk(w)o(ords)h(of)301 1357 y(in-core)f(memory)l(,)f (probabilistic)j(coun)o(ting)f(ac)o(hiev)o(es)d(an)i(exp)q(ected)f(relativ)o (e)g(accuracy)301 1430 y(close)f(to)g(0)p Fh(:)p Fk(78)p Fh(=)582 1394 y Fg(p)p 625 1394 43 2 v 625 1430 a Fh(m)o Fk(.)f(Moreo)o(v)o(er,)f(it)i (p)q(erforms)g(only)g(a)g(constan)o(t)g(n)o(um)o(b)q(er)e(of)i(op)q(erations) 301 1502 y(p)q(er)j(elemen)o(t)e(of)h(the)g(\014le.)0 1614 y([FM88])148 b(P)l(.)19 b(F)l(eldman)g(and)h(S.)e(Micali.)31 b(Optimal)20 b(algorithms)h(for)e(Byzan)o(tine)f(agreemen)o(t.)28 b(In)301 1686 y Fj(Pr)n(o)n(c.)18 b(20th)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h (The)n(ory)e(of)h(Computing)p Fk(,)g(pages)g(162{172,)i(1988.)301 1758 y(The)15 b(exp)q(ected)e(running)i(time)f(of)h(this)g(algorithm)h(is)f (constan)o(t)g(in)g(a)f(sync)o(hronous)h(net-)301 1830 y(w)o(ork)d(of)g Fh(n)g Fk(no)q(des)h(if)f(the)g(n)o(um)o(b)q(er)f(of)h(faults)h(is)g(less)f (than)h Fh(n=)p Fk(3,)g(and)f(in)h(an)f(async)o(hronous)301 1902 y(net)o(w)o(ork)k(of)h Fh(n)f Fk(no)q(des)h(if)g(the)f(n)o(um)o(b)q(er)f (of)i(faults)g(is)g(less)g(than)g Fh(n=)p Fk(4.)0 2014 y([F)l(or87])154 b(L.)20 b(F)l(ortno)o(w.)33 b(The)20 b(complexit)o(y)g(of)g(p)q(erfect)f (zero-kno)o(wledge.)33 b(In)20 b Fj(Pr)n(o)n(c.)g(19th)g(A)o(nn.)301 2086 y(A)o(CM)e(Symp.)f(on)h(The)n(ory)e(of)i(Computing)p Fk(,)f(pages)g (204{209,)i(Ma)o(y)d(1987.)23 b(The)17 b(notion)301 2159 y(of)e(p)q(erfect)f (zero-kno)o(wledge)i(requires)e(that)h(the)g(v)o(eri\014er,)f(no)h(matter)f (ho)o(w)h(p)q(o)o(w)o(erful)g(it)301 2231 y(is,)g(not)g(learn)f(an)o(y)g (additional)j(information.)f(F)l(ortno)o(w)e(pro)o(v)o(es)g(that)g(for)g(an)o (y)g(language)301 2303 y(whic)o(h)e(has)g(a)g(p)q(erfect)f(zero-kno)o(wledge) g(proto)q(col,)j(its)e(complemen)o(t)f(has)h(a)f(single)i(round)301 2375 y(in)o(teractiv)o(e)g(proto)q(col.)i(This)g(result)f(implies)g(that)g (for)g(NP-complete)f(languages,)j(there)301 2447 y(are)f(no)f(p)q(erfect)g (zero-kno)o(wledge)g(proto)q(cols)j(\(unless)e(the)f(p)q(olynomial)j(time)d (hierarc)o(h)o(y)301 2520 y(collapses\).)0 2631 y([FR80])157 b(N.)22 b(F)l(rancez)g(and)h(M.)f(Ro)q(deh.)40 b(A)22 b(distributed)i (abstract)f(data)h(t)o(yp)q(e)e(implemen)o(ted)301 2704 y(b)o(y)f(a)g (probabilistic)j(comm)o(unication)e(sc)o(heme.)33 b(In)21 b Fj(Pr)n(o)n(c.)g(21st)g(A)o(nn.)i(IEEE)e(Symp.)938 2828 y Fk(115)p eop bop 301 195 a Fj(on)19 b(F)l(oundations)g(of)g(Computer)f(Scienc)n(e)p Fk(,)h(pages)g(373{379,)h(1980.)26 b(They)17 b(also)i(giv)o(e)f(a)301 267 y(deadlo)q(c)o(k-free,)e(truly)g(distributed)h(and)f(symmetric)f (solution)j(to)e(the)f(dining)i(philoso-)301 340 y(phers)f(problem)h(based)f (on)h(a)f(probabilistic)j(implemen)o(tation)e(of)f(CSP)l(.)g(In)g (particular,)301 412 y(they)11 b(presen)o(t)g(a)h(randomized)g(algorithm)i (for)e(the)f(sc)o(heduling)i(of)e(input/output)j(guards)301 484 y(in)20 b(CSP)l(,)e(whic)o(h)h(w)o(e)f(discuss)i(in)f(Section)g(3.2.)f (This)i(w)o(as)f(one)f(of)h(the)f(\014rst)h(pap)q(ers)h(on)301 556 y(probabilisti)q(c)d(distributed)e(algorithms.)h(A)e(revised)g(v)o (ersion)g(app)q(ears)h(as)g(TR)f(80,)h(IBM)301 628 y(Scien)o(ti\014c)i(Cen)o (ter,)e(Haifa,)h(Israel,)h(April)g(1980)g(\(same)g(title\).)0 742 y([FS89])166 b(L.)17 b(F)l(ortno)o(w)f(and)h(M.)f(Sipser.)22 b(Probabilistic)d(computation)f(in)f(linear)g(time.)k(In)16 b Fj(Pr)n(o)n(c.)301 814 y(21st)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g(The)n(ory)f (of)h(Computing)p Fk(,)f(pages)h(148{156,)h(1989.)k(An)14 b(or-)301 887 y(acle)g(is)h(sp)q(eci\014ed,)f(under)f(whic)o(h)h(all)h(problems)g(solv) m(able)g(in)g(random)f(p)q(olynomial)i(time)301 959 y(are)k(solv)m(able)h(in) f(random)g(linear)h(time,)e(th)o(us)h(collapsing)i(a)e(n)o(um)o(b)q(er)f(of)g (randomized)301 1031 y(complexit)o(y)f(classes)h(in)o(to)g(one.)e(Analogous)j (results)f(in)g(deterministic)f(computations)301 1103 y(are)f(demonstratably) g(false.)0 1217 y([FS92])166 b(U.)24 b(F)l(eige)g(and)g(A.)g(Shamir.)45 b(Multiple)25 b(oracle)g(in)o(teractiv)o(e)e(pro)q(ofs)j(with)f(constan)o(t) 301 1289 y(space)18 b(v)o(eri\014ers.)24 b Fj(Journal)18 b(of)g(Computer)g (and)h(System)g(Scienc)n(es)p Fk(,)g(44:259{271,)h(1992.)301 1362 y(The)c(authors)g(sho)o(w)g(that)f(the)g(exp)q(ected)f(pa)o(y)o(o\013)i (of)f(reasonable)i(games)e(of)h(incomplete)301 1434 y(information)i(are)d (undecidable.)h(The)g(T)l(uring-mac)o(hine)h(sim)o(ulation)g(uses)f(p)q (olynomial)301 1506 y(cost)h(and)g(stops)g(with)g(probabilit)o(y)h(1.)0 1620 y([F)l(ur87])151 b(M.)18 b(F)l(urer.)27 b(The)18 b(p)q(o)o(w)o(er)g(of)h (randomness)g(for)g(computational)h(complexit)o(y)l(.)27 b(In)18 b Fj(Pr)n(o)n(c.)301 1692 y(19th)h(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g(The)n(ory) f(of)h(Computing)p Fk(,)f(pages)h(178{181,)i(1987.)28 b(This)301 1764 y(pap)q(er)16 b(impro)o(v)o(es)f(on)h(the)f(VLSI)g(algorithm)i(b)o(y)e (Mehlhorn)h(and)g(Sc)o(hmidt)f([MS82].)f(An)301 1836 y Fh(O)q Fk(\()p Fh(n)p Fk(\))j(a)o(v)o(erage)f(bit)g(complexit)o(y)g(algorithm)i (with)e(no)h(probabilit)o(y)h(of)e(error)g(is)h(demon-)301 1909 y(strated.)0 2022 y([Gaz91])141 b(H.)14 b(Gazit.)19 b(An)14 b(optimal)i(randomized)f(parallel)i(algorithm)f(for)f(\014nding)g(the)g (connected)301 2095 y(comp)q(onen)o(ts)h(of)f(a)g(graph.)20 b Fj(SIAM)c(Journal)g(on)h(Computing)p Fk(,)e(20\(6\):1046{106)q(7,)j(1991.) 301 2167 y(The)13 b(exp)q(ected)e(running)j(time)e(of)h(this)h(algorithm)g (is)f Fh(O)q Fk(\(log)e Fh(n)p Fk(\))i(with)g Fh(O)q Fk(\(\()p Fh(m)s Fk(+)s Fh(n)p Fk(\))p Fh(=)8 b Fk(log)k Fh(n)p Fk(\))301 2239 y(pro)q(cessors,)k(where)e Fh(n)h Fk(is)g(the)f(n)o(um)o(b)q(er)g(of)h (v)o(ertices)e(and)i Fh(m)f Fk(is)i(the)e(n)o(um)o(b)q(er)g(of)g(edges.)g(It) 301 2311 y(uses)j Fh(O)q Fk(\()p Fh(m)10 b Fk(+)g Fh(n)p Fk(\))16 b(space.)g(The)f(algorithm)j(is)f(optimal)g(in)g(the)e(time-pro)q(cessor)i (pro)q(duct)301 2384 y(sense,)f(as)h(w)o(ell)g(as)g(in)g(space)f(complexit)o (y)l(.)0 2497 y([GBY91])115 b(G.H.)18 b(Gonnet)i(and)f(R.)f(Baeza-Y)l(ates.) 29 b Fj(Handb)n(o)n(ok)20 b(of)f(A)o(lgorithms)h(and)g(Data)g(Struc-)301 2570 y(tur)n(es)p Fk(.)d(Addison-W)l(esley)l(,)e(Reading,)g(Mass.,)f(1991.)k (Section)c(3.3.16)h(giv)o(es)f(an)g(o)o(v)o(erview)301 2642 y(of)j(p)q(erfect)f(hashing.)938 2828 y(116)p eop bop 0 195 a Fk([GGK92])111 b(M.)22 b(Ger)o(\023)-23 b(eb-Graus)23 b(and)f(D.)g(Krizanc.)38 b(The)22 b(a)o(v)o(erage)g(complexit)o(y)g(of)g (parallel)i(com-)301 267 y(parison)19 b(merging.)24 b Fj(SIAM)19 b(Journal)f(on)g(Computing)p Fk(,)g(21:43{47,)h(1992.)25 b(The)17 b(authors)301 340 y(establish)g(a)e(lo)o(w)o(er)g(b)q(ound)h(on)f(the)f(time) h(complexit)o(y)f(of)h(randomized)h(merging)f(of)g(t)o(w)o(o)301 412 y(sorted)22 b(lists)h(in)f(a)g(parallel)h(computation)g(tree)d(mo)q(del.) i(An)f(earlier)h(v)o(ersion)g(of)f(this)301 484 y(pap)q(er,)d(en)o(titled)f (\\The)h(Complexit)o(y)f(of)g(P)o(arallel)i(Comparison)g(Merging,")f(app)q (eared)301 556 y(in)f Fj(Pr)n(o)n(c.)g(28th)g(Symp.)g(on)h(F)l(oundations)g (of)f(Computer)h(Scienc)n(e)p Fk(,)f(1987.)0 668 y([GGM86])104 b(O.)18 b(Goldreic)o(h,)i(S.)e(Goldw)o(asser,)i(and)f(S.)f(Micali.)29 b(Ho)o(w)19 b(to)f(construct)h(random)g(func-)301 740 y(tions.)34 b Fj(Journal)20 b(of)h(the)g(A)o(CM)p Fk(,)e(33:792{807,)k(1986.)34 b(A)19 b(computational)j(complexit)o(y)301 812 y(measure)14 b(of)h(the)f(randomness)h(of)g(functions)g(is)h(in)o(tro)q(duced,)f(and,)f (assuming)i(the)f(exis-)301 885 y(tence)h(of)g(one-w)o(a)o(y)g(functions,)h (a)f(pseudo-random)i(function)f(generator)f(is)h(presen)o(ted.)0 996 y([GHY89])113 b(Z.)18 b(Galil,)i(S.)d(Hab)q(er,)h(and)h(M.)e(Y)l(ung.)26 b(Minim)o(um-kno)o(wledge)19 b(in)o(teractiv)o(e)e(pro)q(ofs)j(for)301 1068 y(decision)i(problems.)34 b Fj(SIAM)21 b(Journal)g(on)h(Computing)p Fk(,)f(18\(4\):711{739)q(,)j(Aug)c(1989.)301 1141 y(This)c(pap)q(er)g (extends)e(the)g(w)o(ork)h(of)g([GMR89],)f(the)h(concept)f(of)h(minim)o(um)g (kno)o(wledge)301 1213 y(is)21 b(de\014ned)e(and)h(a)g(minim)o(um-kno)o (wledge)h(proto)q(col)g(for)f(transferring)h(the)e(results)i(of)301 1285 y(an)o(y)g(\014xed)e(computation)j(from)e(one)h(part)o(y)f(to)g(another) h(\(e.g.)f(pro)o(v)o(er)f(to)i(v)o(eri\014er\))e(is)301 1357 y(describ)q(ed.)0 1469 y([Gil77])161 b(J.)15 b(T.)f(Gill.)20 b(Computational)d(complexit)o(y)d(of)h(probabilisti)q(c)i(T)l(uring)f(mac)o (hines.)i Fj(SIAM)301 1541 y(Journal)g(on)g(Computing)p Fk(,)e (6\(4\):675{695,)j(Decem)o(b)q(er)c(1977.)23 b(This)18 b(pap)q(er)f (de\014nes)f(the)301 1614 y(basic)22 b(notion)g(of)e(a)h(probabilistic)i(T)l (uring)f(mac)o(hine)e(\(PTM\).)g(A)g(PTM)g(computes)h(a)301 1686 y(partial)j(function)e(that)g(assigns)h(to)f(eac)o(h)f(input)h(the)g (output)g(whic)o(h)f(o)q(ccurs)h(with)h(a)301 1758 y(probabilit)o(y)17 b(greater)d(than)h(half.)g(It)g(is)g(sho)o(wn)g(that)g(a)g(NDTM)f(can)h(b)q (e)f(sim)o(ulated)i(b)o(y)e(a)301 1830 y(PTM)i(in)h(the)e(same)h(space)g(but) f(with)i(a)f(small)h(error)f(probabilit)o(y)l(.)h(Gill)h(also)f(considers)301 1902 y(the)k(complexit)o(y)g(classes)h Fj(RP)5 b Fk(,)21 b Fj(PP)5 b Fk(,)21 b(and)h Fj(BPP)f Fk(for)h(p)q(olynomial-time)i (probabilistic)301 1975 y(T)l(uring)19 b(mac)o(hines)e(\(see)g(Section)h (4.1\).)f(He)g(sho)o(ws)h(that)g Fh(P)23 b Fg(\022)15 b Fh(RP)24 b Fg(\022)15 b Fh(B)s(P)7 b(P)23 b Fg(\022)15 b Fh(P)7 b(P)23 b Fg(\022)301 2047 y Fh(P)7 b Fk(SP)l(A)o(CE)17 b(and)g(that)f Fh(RP)22 b Fg(\022)13 b Fh(N)5 b(P)22 b Fg(\022)13 b Fh(P)7 b(P)h Fk(.)0 2159 y([GJ79])162 b(M.)19 b(R.)g(Garey)g(and)h(D.)f(S.)g (Johnson.)31 b Fj(Computers)20 b(and)h(Intr)n(actability:)28 b(A)21 b(Guide)f(to)301 2231 y(the)j(The)n(ory)e(of)i(NP-c)n(ompleteness)p Fk(.)39 b(W.H.)21 b(F)l(reeman)f(and)j(Compan)o(y)l(,)f(1979.)39 b(This)301 2303 y(w)o(ell-kno)o(wn)18 b(b)q(o)q(ok)f(on)g(the)f(theory)g(of)h Fj(NP)5 b Fk(-completeness)17 b(con)o(tains)g(a)g(section)g(on)f(the)301 2375 y(probabilisti)q(c)j(analysis)f(of)e(appro)o(ximation)i(algorithms)g (for)f Fj(NP)5 b Fk(-complete)16 b(com)o(bina-)301 2447 y(torial)i (optimization)h(problems.)0 2559 y([GK86])149 b(S.)19 b(Goldw)o(asser)j(and)e (J.)f(Kilian.)32 b(Almost)20 b(all)h(primes)f(can)f(b)q(e)h(quic)o(kly)f (certi\014ed.)30 b(In)301 2631 y Fj(Pr)n(o)n(c.)18 b(18th)g(A)o(nn.)h(A)o(CM) f(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p Fk(,)g(pages)g(316{329,)i(1986.) 301 2704 y(The)k(authors)h(sho)o(w)f(that)h(if)f(Cram)o(\023)-23 b(er's)23 b(conjecture)g(ab)q(out)i(the)f(spacing)h(of)f(prime)938 2828 y(117)p eop bop 301 195 a Fk(n)o(um)o(b)q(ers)22 b(is)h(true)f(than)g(there)g(exists)g(a) g(random)h(p)q(olynomial)i(time)d(algorithm)i(for)301 267 y(primalit)o(y)18 b(testing.)0 381 y([GKS92])122 b(L.)15 b(J.)g(Guibas,)h(D.)e(E.)h(Kn)o(uth,)f (and)i(M.)e(Sharir.)20 b(Randomized)15 b(incremen)o(tal)g(construc-)301 453 y(tion)23 b(of)g(Delauna)o(y)f(and)h(V)l(oronoi)g(diagrams.)40 b Fj(A)o(lgorithmic)n(a)p Fk(,)23 b(7\(4\):381{413,)j(1992.)301 526 y(They)c(giv)o(e)g(a)g(new)g(randomized)g(incremen)o(tal)g(algorithm)h (for)f(the)g(construction)h(of)301 598 y(planar)c(V)l(oronoi)f(diagrams)h (and)f(Delauna)o(y)g(triangulations.)i(Their)d(algorithm)i(tak)o(es)301 670 y(exp)q(ected)j(time)g Fh(O)q Fk(\()p Fh(n=)8 b Fk(log)k Fh(n)p Fk(\))23 b(and)g(space)g Fh(O)q Fk(\()p Fh(n)p Fk(\),)h(is)g(v)o(ery)d (practical)j(to)f(implemen)o(t,)301 742 y(and)16 b(along)h(with)g(the)e (algorithm)i(of)f([BT93],)e(is)i(more)f(\\on-line")j(than)e(earlier)g (similar)301 814 y(metho)q(ds.)0 928 y([GKS93])122 b(W.)16 b(Go)q(ddard,)i(V.)d(King,)i(and)g(L.)f(Sc)o(h)o(ulman.)21 b(Optimal)c(randomized)g(algorithms)i(for)301 1000 y(lo)q(cal)j(sorting)f (and)f(set-maxima.)31 b Fj(SIAM)21 b(Journal)f(on)h(Computing)p Fk(,)f(22\(2\):272{283,)301 1073 y(April)d(1993.)k(Nearly)16 b(optimal)h(randomized)f(algorithms)i(are)d(presen)o(ted)g(for)h(the)f(lo)q (cal)301 1145 y(sorting)k(problem)f(\(i.e.,)e(determining)h(the)g(relativ)o (e)g(order)h(in)f(ev)o(ery)f(pair)i(of)f(adjacen)o(t)301 1217 y(v)o(ertices)12 b(in)i(a)f(graph)h(in)g(whic)o(h)f(eac)o(h)f(v)o(ertex)g(is) h(assigned)i(an)e(elemen)o(t)f(of)h(a)h(total)g(order\))301 1289 y(and)j(the)e(set-maxima)i(problem)f(\(i.e.,)f(determining)h(the)g (maxim)o(um)f(elemen)o(t)f(of)j(eac)o(h)301 1362 y(set)g(in)f(a)h(collection) h(of)e(sets)h(whose)g(elemen)o(ts)e(are)h(dra)o(wn)h(from)f(a)h(total)g (order\).)0 1475 y([GL89])157 b(R.)21 b(I.)f(Green)o(b)q(erg)h(and)h(C.)e(E.) h(Leiserson.)37 b(Randomized)22 b(routing)g(on)g(fat-trees.)35 b(In)301 1548 y(S.)16 b(Micali,)g(editor,)g Fj(A)n(dvanc)n(es)i(in)f (Computing)h(R)n(ese)n(ar)n(ch)d(5:)22 b(R)n(andomness)17 b(and)g(Com-)301 1620 y(putation)p Fk(,)23 b(pages)f(345{374.)i(JAI)c(Press,)j(Green)o(wic)o (h,)f(CT,)f(1989.)38 b(F)l(at-T)l(rees)21 b(are)h(a)301 1692 y(class)d(of)e(routing)i(net)o(w)o(orks)e(in)g(parallel)j(computation.)e(Giv) o(en)f(a)g(set)h(of)f(messages)h(to)301 1764 y(send,)j(the)e(c)o(hoice)g(is)i (made)e(at)h(random)h(of)f(whic)o(h)g(message)g(is)g(to)g(b)q(e)g(sen)o(t)f (at)h(what)301 1836 y(time.)15 b(This)h(approac)o(h)f(is)h(di\013eren)o(t)f (from)g(that)g(of)g([V)l(al82)q(].)f(See)h(also)h Fj(Pr)n(o)n(c.)f(17th)h(A)o (nn.)301 1909 y(A)o(CM)h(Symp.)h(on)f(The)n(ory)g(of)g(Computing)t Fk(,)g(1985,)g(pp.)f(241{249.)0 2022 y([GM84])142 b(S.)17 b(Goldw)o(asser)i (and)f(S.)f(Macali.)25 b(Probabilisti)q(c)19 b(encryption.)25 b Fj(Journal)18 b(of)g(Computer)301 2095 y(and)c(System)g(Scienc)n(es)p Fk(,)h(28\(2\):270{299,)h(1984.)g(This)d(pap)q(er)g(in)o(tro)q(duces)g(a)g (new)f(proba-)301 2167 y(bilistic)i(encryption)e(tec)o(hnique.)f(It)g(also)j (con)o(tains)f(an)f(excellen)o(t)f(in)o(tro)q(duction)j(to)e(other)301 2239 y(public)h(k)o(ey)e(cryptosystems)g(with)i(discussion)h(on)e(ob)s (jections)h(to)f(cryptosystems)g(based)301 2311 y(on)17 b(trap)q(do)q(or)h (functions.)0 2425 y([GMR88])106 b(S.)21 b(Goldw)o(asser,)i(S.)d(Micali,)j (and)e(R.)f(Riv)o(est.)35 b(A)20 b(digital)j(signature)f(sc)o(heme)e(secure) 301 2497 y(against)13 b(adaptiv)o(e)f(c)o(hosen-message)f(attac)o(k.)i Fj(SIAM)f(Journal)h(on)g(Computing)p Fk(,)f(17:281{)301 2570 y(308,)17 b(1988.)23 b(This)17 b(is)h(a)e(companion)i(pap)q(er)f(of)f ([KPU88].)938 2828 y(118)p eop bop 0 195 a Fk([GMR89])106 b(S.)15 b(Goldw)o(asser,)h(S.)f(Macali,)h(and)f (C.)g(Rac)o(k)o(o\013.)k(The)c(kno)o(wledge)g(complexit)o(y)g(of)g(in)o(ter-) 301 267 y(activ)o(e)e(pro)q(of)h(systems.)i Fj(SIAM)e(Journal)g(on)h (Computing)p Fk(,)f(pages)g(186{208,)i(1989.)h(This)301 340 y(pap)q(er)j(\014rst)f(app)q(eared)g(in)h Fj(Pr)n(o)n(c.)e(17th)i(A)o(nn.)h (A)o(CM)e(Symp.)g(on)h(The)n(ory)f(of)h(Comput-)301 412 y(ing)p Fk(,)e(1985,)h(pp.)d(291{304.)k(It)d(in)o(tro)q(duces)g(the)g(imp)q(ortan)o (t)h(notion)h(of)f(zero-kno)o(wledge)301 484 y(in)o(teractiv)o(e)g(pro)q (ofs.)h(The)f(authors)h(sho)o(w)g(that)f(it)h(is)f(p)q(ossible)j(to)d(pro)o (v)o(e)f(that)i(certain)301 556 y(theorems)d(are)h(true)f(without)h (divulging)i(wh)o(y)d(this)h(is)g(so.)0 668 y([GMV91])105 b(J.)24 b(Gil,)j(Y.)c(Matias,)j(and)f(U.)e(Vishkin.)44 b(T)l(o)o(w)o(ards)25 b(a)f(theory)g(of)g(nearly)g(constan)o(t-)301 740 y(time)17 b(parallel)h(algorithms.)24 b(In)16 b Fj(Pr)n(o)n(c.)h(32nd)h(A)o(nn.)g(IEEE) g(Symp.)f(on)h(F)l(oundations)g(of)301 812 y(Computer)h(Scienc)n(e)p Fk(,)g(pages)f(698{710,)j(1991.)26 b(This)19 b(pap)q(er)f(presen)o(ts)f(a)h (paradigm)h(for)301 885 y(obtaining)f Fh(O)q Fk(\(log)637 863 y Fd(\003)665 885 y Fh(n)p Fk(\))d(running)h(time)e(for)h(problems)g(suc)o(h) g(as)g(directory)g(main)o(tenance,)301 957 y(load)j(balancing)h(and)d (hashing)j(using)e Fh(n=)8 b Fk(log)1153 935 y Fd(\003)1181 957 y Fh(n)16 b Fk(pro)q(cessors.)0 1068 y([GMW87])92 b(O.)21 b(Goldreic)o(h,)h(S.)e(Micali,)j(and)e(A.)f(Wigderson.)36 b(Ho)o(w)20 b(to)i(pla)o(y)f(an)o(y)f(men)o(tal)h(game)301 1141 y(or)e(a)f(completeness)g (theorem)f(for)h(proto)q(cols)i(with)f(honest)f(ma)s(jorit)o(y)l(.)26 b(In)17 b Fj(Pr)n(o)n(c.)h(19th)301 1213 y(A)o(nn.)d(A)o(CM)f(Symp.)h(on)f (The)n(ory)f(of)i(Computing)p Fk(,)f(pages)f(218{229,)j(1987.)h(Goldreic)o(h) d(et)301 1285 y(al.)i(demonstrate)f(the)g(use)g(of)g(zero-kno)o(wledge)h(pro) q(ofs)g(on)f(pro)o(ving)h(the)f(completeness)301 1357 y(theorem)h(for)h (proto)q(cols)h(with)f(honest)g(ma)s(jorit)o(y)l(.)0 1469 y([GMW91])92 b(O.)13 b(Goldreic)o(h,)h(S.)f(Micali,)h(and)g(A.)e(Wigderson.)17 b(Pro)q(ofs)e(that)e(yield)h(nothing)h(but)e(their)301 1541 y(v)m(alidit)o(y)k(or)e(all)h(languages)h(in)f(NP)e(ha)o(v)o(e)g(zero-kno)o (wledge)i(pro)q(of)g(systems.)i Fj(Journal)e(of)301 1614 y(the)k(A)o(CM)p Fk(,)d(38\(1\):691{729,)k(1991.)28 b(They)17 b(sho)o(w)i(that)f(for)g(a)h (language)h Fh(L)e Fk(in)g Fj(NP)g Fk(and)301 1686 y(a)i(string)h Fh(w)g Fk(in)f Fh(L)p Fk(,)h(there)e(exists)h(a)g(probabilistic)j(in)o (teractiv)o(e)c(pro)q(of)i(that)f(e\016cien)o(tly)301 1758 y(demonstrates)14 b(mem)o(b)q(ership)f(of)g Fh(x)g Fk(in)h Fh(L)f Fk(without)i(con)o(v)o(eying)d(additional)17 b(information.)301 1830 y(Previously)l(,)23 b(zero-kno)o(wledge)f(pro)q(ofs)h(w)o(ere)d(kno)o (wn)h(only)h(for)g(some)f(problems)h(that)301 1902 y(w)o(ere)f(in)g(b)q(oth)h Fj(NP)f Fk(and)h Fj(c)n(o-NP)5 b Fk(.)21 b(A)f(preliminary)i(v)o(ersion)g(of) f(this)h(pap)q(er)f(app)q(eared)301 1975 y(in)e Fj(Pr)n(o)n(c.)f(27th)h(A)o (nn.)h(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)g(Scienc)n(e)p Fk(,)h(1986,)301 2047 y(under)13 b(the)f(title)h(\\Pro)q(ofs)h(that)f(yield)g (nothing)h(but)f(their)g(v)m(alidit)o(y)g(and)g(a)g(metho)q(dology)301 2119 y(of)k(cryptographic)g(proto)q(col)h(design.".)0 2231 y([Gol92])150 b(M.)18 b(Goldwurm.)28 b(Probabilistic)21 b(estimation)e(of)g (the)f(n)o(um)o(b)q(er)f(of)h(pre\014xes)g(of)g(a)h(trace.)301 2303 y Fj(The)n(or)n(etic)n(al)g(Computer)g(Scienc)n(e)p Fk(,)i(92:249{268,)g (1992.)29 b(The)19 b(author)g(uses)f(the)h(result)301 2375 y(to)e(determine)f(the)g(b)q(eha)o(vior)h(of)f(sev)o(eral)g(algorithms)j (relating)f(to)e(trace)g(languages.)0 2487 y([Gon84])136 b(G.H.)16 b(Gonnet.)25 b(Determining)18 b(the)f(equiv)m(alence)g(of)h(expressions)g(in) f(random)h(p)q(olyno-)301 2559 y(mial)j(time.)29 b(In)19 b Fj(Pr)n(o)n(c.)g(16th)h(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g(The)n(ory)f(of)h (Computing)p Fk(,)g(pages)301 2631 y(334{341,)g(1984.)26 b(Hashing)19 b(functions)f(are)g(used)f(to)h(determine)e(algebraic)j(expression)301 2704 y(equiv)m(alence)f(with)g(a)f(small)i(probabilit)o(y)g(of)e(error.)g (The)g(probabilit)o(y)i(of)f(error)f(can)g(b)q(e)938 2828 y(119)p eop bop 301 195 a Fk(made)12 b(arbitrarily)h(small,)g(dep)q(ending)g(on)f(the)f (n)o(um)o(b)q(er)g(of)g(iterations)j(of)d(the)h(algorithm.)301 267 y(See)k([Gon86)q(])g(for)h(some)f(related)g(w)o(ork.)0 379 y([Gon86])136 b(G.H.)14 b(Gonnet.)20 b(New)14 b(results)i(for)f(random)h (determination)g(of)f(equiv)m(alence)g(of)g(expres-)301 451 y(sions.)27 b(In)17 b(B.W.)g(Char,)h(editor,)g Fj(ISSA)o(C)h('86:)24 b(Pr)n(o)n(c.)18 b(Int'l.)h(Symp.)g(on)g(Symb)n(olic)g(and)301 523 y(A)o(lgebr)n(aic)i(Computation)p Fk(,)e(pages)h(127{131.)h(A)o(CM)d (Press,)i(1986.)30 b(Some)19 b(op)q(en)g(prob-)301 596 y(lems)h(in)g(the)g (same)f(general)i(area)f(as)g(that)g(co)o(v)o(ered)e(b)o(y)h([Gon84)q(])g (are)h(solv)o(ed)g(in)g(this)301 668 y(pap)q(er.)0 780 y([GRSS93])97 b(M.)22 b(Golin,)k(R.)c(Raman,)i(C.)e(Sc)o(h)o(w)o(arz,)h(and)g(M.)f(Smid.)40 b(Randomized)23 b(data)h(struc-)301 852 y(tures)15 b(for)f(the)h(dynamic)f (closest-pair)j(problem.)h(In)c Fj(Pr)n(o)n(c.)h(F)l(ourth)h(A)o(nn.)g(A)o (CM-SIAM)301 924 y(Symp.)f(on)f(Discr)n(ete)h(A)o(lgorithms)p Fk(,)e(pages)h(301{310,)i(Austin,)d(TX,)f(Jan)o(uary)i(1993.)j(The)301 996 y(authors)22 b(describ)q(e)e(a)h(new)f(randomized)h(data)g(structure,)f (the)g Fj(sp)n(arse)g(p)n(artition)t Fk(,)g(for)301 1068 y(solving)f(the)d (dynamic)g(closest-pair)j(problem.)d(Using)h(this)g(data)g(structure,)f(the)g (clos-)301 1141 y(est)k(pair)h(of)f(a)g(set)g(of)g Fh(n)g Fk(p)q(oin)o(ts)h (in)g Fh(k)r Fk(-dimensional)h(space,)e(for)g(an)o(y)g(\014xed)g Fh(k)r Fk(,)g(can)g(b)q(e)301 1213 y(found)e(in)f(constan)o(t)h(time.)e(If)h (the)f(p)q(oin)o(ts)j(are)d(c)o(hosen)h(from)g(a)g(\014nite)h(univ)o(erse,)e (and)i(if)301 1285 y(the)13 b(\015o)q(or)i(function)f(is)f(a)o(v)m(ailable)j (at)d(unit-cost,)i(then)e(the)g(data)h(structure)f(supp)q(orts)h(in-)301 1357 y(sertions)h(in)o(to)g(and)f(deletions)h(from)f(the)f(set)h(in)h(exp)q (ected)d Fh(O)q Fk(\(log)f Fh(n)p Fk(\))j(time)g(and)g(requires)301 1430 y(exp)q(ected)k Fh(O)q Fk(\()p Fh(n)p Fk(\))h(space.)f(Here,)f(it)i(is)g (assumed)g(that)g(the)f(up)q(dates)h(are)f(c)o(hosen)h(b)o(y)f(an)301 1502 y(adv)o(ersary)c(who)h(do)q(es)g(not)g(kno)o(w)f(the)g(random)g(c)o (hoices)g(made)g(b)o(y)g(the)g(data)h(structure.)0 1614 y([GS89])160 b(S.)22 b(Goldw)o(asser)i(and)f(M.)e(Sipser.)40 b(Priv)m(ate)23 b(coins)g(v)o(ersus)f(public)h(coins)g(in)g(in)o(terac-)301 1686 y(tiv)o(e)g(pro)q(of)i(systems.)41 b Fj(A)n(dvanc)n(es)25 b(in)f(Computing)h(R)n(ese)n(ar)n(ch)d(5:)35 b(R)n(andomness)24 b(and)301 1758 y(Computation)p Fk(,)f(1989.)38 b(This)23 b(w)o(ork)f (establishes)h(equiv)m(alence)e(b)q(et)o(w)o(een)g(the)g(notions)301 1830 y(of)c(in)o(teractiv)o(e)f(pro)q(ofs)i(in)o(tro)q(duced)e(in)h([GMR89)q (])e(and)i([BM88].)e(\(A)h(preliminary)i(v)o(er-)301 1902 y(sion)e(app)q (eared)f(in)g Fj(Pr)n(o)n(c.)f(18th)i(A)o(nn.)g(A)o(CM)f(Symp.)g(on)h(The)n (ory)f(of)g(Computing)p Fk(,)g(1986,)301 1975 y(pp.)h(59{68\).)0 2086 y([Gup93])133 b(R.)16 b(Gupta.)23 b(\010-test:)f(P)o(erfect)15 b(hashed)i(index)f(test)h(for)f(resp)q(onse)h(v)m(alidation.)25 b(In)16 b Fj(Pr)n(o)n(c.)301 2159 y(1993)k(IEEE)f(Int'l.)i(Conf.)f(on)g (Computer)f(Design)p Fk(,)h(Cam)o(bridge,)f(MA,)f(Oct)g(1993.)30 b(A)301 2231 y(sc)o(heme)23 b(for)h(c)o(hec)o(king)f(the)h(\014delit)o(y)g (of)h(test)f(resp)q(onses)g(generated)g(b)o(y)g(a)g(sp)q(ecially)301 2303 y(tailored)f(sequence)e(of)h(test)f(inputs)i(is)f(describ)q(ed.)f (Randomized)h(searc)o(h)g(is)g(used)g(to)301 2375 y(compute)d(a)g(sp)q(ecial) h(p)q(erfect)f(hashing)h(function)g Fh(h)p Fk(\()p Fh(x)p Fk(\))e(that)i(map) f(the)f(exp)q(ected)g(test)301 2447 y(outcomes)j(to)f(the)g(sequence)g([1)8 b(.)g(.)g(.)f Fh(m)p Fk(].)20 b(This)h(sequence)e(is)i(c)o(hec)o(k)o(ed)d(b)o (y)i(a)h(hardw)o(are)301 2520 y(implemen)o(tation)d(of)e Fh(h)p Fk(\()p Fh(x)p Fk(\))g(and)h(an)g(up-coun)o(ter.)0 2631 y([GW86])137 b(A.)20 b(G.)g(Green)o(b)q(erg)g(and)h(A.)e(W)l(eiss.)34 b(A)20 b(lo)o(w)o(er)g(b)q(ound)i(for)e(probabilisti)q(c)j(algorithms)301 2704 y(for)15 b(\014nite)g(state)g(mac)o(hines.)j Fj(Journal)d(of)h(Computer) g(and)g(System)g(Scienc)n(es)p Fk(,)g(33\(1\):88,)938 2828 y(120)p eop bop 301 196 a Fk(August)16 b(1986.)22 b(A)15 b(pro)q(of)i(that)f(the)g (running)h(time)e(cannot)h(b)q(e)g(b)q(etter)f(than)i(\012\(2)1827 164 y Fe(n)p 1827 170 20 2 v 1829 191 a Fb(2)1853 196 y Fh(n)p Fk(\))f(is)301 269 y(presen)o(ted.)0 380 y([GY89])150 b(R.)12 b(Graham)g(and)g(A.)f(Y)l(ao.)j(On)e(the)f(improbabilit)o(y)j(of)e(reac)o (hing)h(Byzan)o(tine)e(consensus.)301 452 y(In)h Fj(Pr)n(o)n(c.)h(21st)g(A)o (nn.)i(A)o(CM)e(Symp.)g(on)h(The)n(ory)f(of)h(Computing)p Fk(,)f(pages)g (467{478,)i(1989.)301 524 y(The)i(maxim)o(um)f(probabilit)o(y)j Fh(\014)908 531 y Ff(n;t)970 524 y Fk(of)e(obtaining)i(consensus)e(is)g (attac)o(k)o(ed)f(for)h Fh(t)d Fg(\025)g Fh(n=)p Fk(3)301 597 y(\(F)l(or)19 b(smaller)h(v)m(alues,)f(deterministic)g(algorithms)i(are)e(a)o (v)m(ailable,)i(so)e Fh(\014)1672 604 y Ff(n;t)1735 597 y Fk(=)f(1.\))g(The) 301 669 y(smallest)i(non-trivial)g(case,)f Fh(\014)880 676 y Fl(3)p Ff(;)p Fl(1)926 669 y Fk(,)f(is)h(sho)o(wn)g(to)g(b)q(e)f(\()1308 619 y Fc(q)p 1349 619 19 2 v 1349 669 a Fk(\(5\))13 b Fg(\000)f Fk(1\))p Fh(=)p Fk(2,)19 b(the)f(recipro)q(cal)i(of)301 741 y(the)c(golden)i(ratio.)f(In)f(a)h(restricted)f(mo)q(del,)h(it)f(is)i(sho)o (wn)f(that)f(for)h(all)h Fh(\017)p Fk(,)d(0)g Fh(<)f(\017)f(<)h Fk(1,)j(if)301 813 y Fh(t=n)d(>)g Fk(1)e Fg(\000)556 792 y Fl(1)p Fd(\000)p Fl(log)5 b(1)p Fd(\000)p Ff(\017)712 780 y Fb(1)p Fe(=)p Fb(2)p 528 802 260 2 v 528 832 a Fl(log)h(\(1)p Fd(\000)p Fl(\(1)p Fd(\000)p Ff(\017)p Fl(\))726 822 y Fb(1)p Fe(=)p Fb(2)774 832 y Fl(\))793 813 y Fk(,)15 b(then)h Fh(\014)961 820 y Ff(n;t)1021 813 y Fh(<)e(\017)p Fk(.)0 925 y([Had86])137 b(V.)18 b(Hadzilacos.)29 b(Ben-Or's)18 b(randomized)h(proto)q(col)h(for)f (consensus)g(in)g(async)o(hronous)301 997 y(systems.)32 b(Course)20 b(notes:)28 b(Computer)20 b(Science)f(2221F,)i(Departmen)o(t)e(of)h(Computer) 301 1069 y(Science,)h(Univ)o(ersit)o(y)f(of)h(T)l(oron)o(to,)i(Octob)q(er)e (1986.)36 b(An)20 b(elegan)o(t)h(pro)q(of)h(of)f(the)g(cor-)301 1141 y(rectness)d(of)g(Ben-Or's)g([BO83)o(])g(probabilistic)j(algorithm)f (for)e(Byzan)o(tine)g(agreemen)o(t)301 1214 y(is)f(presen)o(ted.)0 1325 y([Hag91])140 b(T.)16 b(Hagerup.)21 b(Constan)o(t-time)c(parallel)h(in)o (teger)d(sorting.)22 b(In)16 b Fj(Pr)n(o)n(c.)g(23r)n(d)g(A)o(nn.)h(A)o(CM) 301 1397 y(Symp.)g(on)g(The)n(ory)e(of)i(Computing)p Fk(,)f(pages)g(299{306,) i(New)d(Orleans,)h(LA,)f(Ma)o(y)g(1991.)301 1470 y(Standard)i(sorting)h (algorithms)f(return)f(the)f(elemen)o(ts)g(of)h(an)g(arra)o(y)g(in)h (nondecreasing)301 1542 y(order.)f(In)g(the)g Fj(chain)i(sorting)g(pr)n (oblem)t Fk(,)e(the)g(elemen)o(ts)f(of)i(a)g(link)o(ed)f(list)i(are)e (returned)301 1614 y(in)k(nondecreasing)h(order.)d(This)j(problem)e(can)g(b)q (e)h(view)o(ed)e(as)i(more)f(primitiv)o(e)g(than)301 1686 y(the)d(standard)i (sorting)f(problem)g(as)g(it)f(do)q(es)h(not)g(in)o(v)o(olv)o(e)e(list)j (ranking)f(computation,)301 1758 y(whic)o(h)i(is)h(implicit)g(in)f(the)g (standard)h(problem.)e(Hagerup)h(presen)o(ts)g(sev)o(eral)f(e\016cien)o(t)301 1831 y(randomized)h(parallel)h(algorithms)g(for)e(the)g(c)o(hain)g(sorting)h (problem,)g(some)f(of)g(whic)o(h)301 1903 y(require)e(only)h(constan)o(t)g (exp)q(ected)e(time.)0 2014 y([Har87])145 b(D.)14 b(Harel.)i Fj(A)o(lgorithmics:)22 b(The)15 b(Spirit)g(of)g(Computing)p Fk(.)i(Addison-W)l(esley)l(,)e(1987.)j(This)301 2087 y(b)q(o)q(ok)26 b(con)o(tains)e(a)h(w)o(ell-written)g(c)o(hapter)e(on)h(probabilisti)q(c)i (algorithms)g(and)f(their)301 2159 y(complexit)o(y)16 b(theory)l(.)0 2270 y([Has90])145 b(J.)19 b(Hastad.)31 b(Pseudo-random)20 b(generators)g(under)g(uniform)f(assumptions.)32 b(In)19 b Fj(Pr)n(o)n(c.)301 2342 y(22nd)g(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n(ory)f (of)g(Computing)p Fk(,)h(pages)f(395{404,)j(Baltimore,)301 2415 y(MD,)h(Ma)o(y)f(1990.)39 b(Hastad)23 b(pro)o(v)o(es)e(that)h(giv)o(en)g (a)g(function)h Fh(f)k Fk(that)22 b(is)h(one-w)o(a)o(y)e(in)301 2487 y(the)d(uniform)g(mo)q(del)g(\(i.e.,)e(cannot)i(b)q(e)g(in)o(v)o(erted)e (except)h(on)h(a)f(v)m(anishing)j(fraction)f(of)301 2559 y(the)j(inputs)h(b)o (y)e(a)i(probabilistic)i(p)q(olynomial)f(time)e(T)l(uring)h(mac)o(hine\),)g (it)f(is)h(p)q(ossi-)301 2631 y(ble)e(to)f(construct)g(a)h(pseudo)f(random)h (bit-generator)g(that)g(passes)f(all)i(probabilistic)301 2704 y(p)q(olynomial)d(time)d(statistical)j(tests.)938 2828 y(121)p eop bop 0 195 a Fk([Her92])147 b(T.)16 b(Herman.)j(Self-stabilizatio)q(n:)24 b(randomness)16 b(to)g(reduce)e(space.)20 b Fj(Distribute)n(d)d(Com-)301 267 y(puting)p Fk(,)24 b(6\(2\):95{98,)g(1992.)38 b(Herman)20 b(uses)i(randomization)h(to)f(con)o(v)o(ert)e(Dijkstra's)301 340 y(k-state)f(m)o(utual)h(exclusion)g(proto)q(col)g(for)f(unidirectional)j (rings)e(to)f(a)g(3-state)h(proto-)301 412 y(col.)0 526 y([HM87])143 b(A.)22 b(Ha)s(jnal)h(and)h(W.)e(Maass.)41 b(Threshold)24 b(circuits)f(of)g (b)q(ounded)h(depth.)40 b(In)22 b Fj(Pr)n(o)n(c.)301 598 y(28th)e(A)o(nn.)g (IEEE)g(Symp.)f(on)h(F)l(oundations)h(of)e(Computer)h(Scienc)n(e)p Fk(,)h(pages)e(99{109,)301 670 y(1987.)f(P)o(olynomial)d(size)e(threshold)h (circuits)g(of)g(b)q(ounded)g(depth)f(are)g(view)o(ed)f(as)i(mec)o(h-)301 742 y(anisms)19 b(for)f(parallel)h(computations,)g(where)e(elemen)o(ts)g(of)g (the)h(circuit)f(are)h(threshold)301 814 y(gates)23 b(\(output)g(high)h(if)f (the)f(w)o(eigh)o(ted)g(sum)h(of)g(inputs)g(exceeds)e(a)i(set)f(threshold\).) 301 887 y(Probabilisti)q(c,)28 b(deterministic,)e(imprecise)f(and)f (unreliable)i(threshold)f(circuits)g(are)301 959 y(considered.)0 1073 y([Hoa74])140 b(C.)19 b(A.)f(R.)g(Hoare.)28 b(Monitors:)g(An)18 b(op)q(erating)j(system)d(structuring)i(concept.)28 b Fj(Com-)301 1145 y(munic)n(ations)19 b(of)f(the)h(A)o(CM)p Fk(,)d(17\(2\):549{557,)k (Octob)q(er)d(1974.)25 b(Erratum)17 b(in)h Fj(Commu-)301 1217 y(nic)n(ations)k(of)f(the)g(A)o(CM)p Fk(,)f(V)l(ol.)g(18,)h(No.)f(2,)h(1975.) g(This)h(pap)q(er)e(con)o(tains)h(one)g(of)f(the)301 1289 y(\014rst)f (solutions)h(to)e(the)g(Dining)i(Philosophers)g(problem.)e(A)f(probabilisti)q (c)j(algorithm)301 1362 y(for)d(this)g(problem)g(is)g(the)f(sub)s(ject)f(of)i (Section)g(3.1.)0 1475 y([Hoa78])140 b(C.)21 b(A.)f(R.)g(Hoare.)34 b(Comm)o(unicating)22 b(Sequen)o(tial)f(Pro)q(cesses.)35 b Fj(Communic)n(ations)21 b(of)301 1548 y(the)h(A)o(CM)p Fk(,)d(21:666{677,)k (August)e(1978.)33 b(Hoare's)20 b(no)o(v)o(el)g(language)i(CSP)e(com)o(bined) 301 1620 y(nondeterminism)13 b(and)f(sync)o(hronized)f(message)h(passing.)h (Since)e(its)h(inception,)h(v)m(arious)301 1692 y(sc)o(hemes)h(ha)o(v)o(e)g (b)q(een)g(prop)q(osed)i(to)f(add)g(output)g(guards)h(to)f(the)f(language.)i (In)f(Section)301 1764 y(3.2,)i(w)o(e)e(discuss)j(a)e(probabilisti)q(c)j (algorithm)f(for)e(output)h(guards.)0 1878 y([Hoa85])140 b(C.)17 b(A.)f(R.)g(Hoare.)24 b Fj(Communic)n(ating)18 b(Se)n(quential)j(Pr)n(o)n(c)n (esses)p Fk(.)h(Pren)o(tice-Hall)17 b(In)o(terna-)301 1950 y(tional,)g(U.K.,)c(1985.)20 b(Hoare's)14 b(b)q(o)q(ok)i(con)o(tains)g(an)f (elegan)o(t)g(message-passing)i(solution)301 2022 y(to)c(the)f(Dining)i (Philosophers)h(problem.)d(A)g(probabilistic)j(algorithm)f(for)f(this)g (problem)301 2095 y(is)k(the)f(sub)s(ject)g(of)h(Section)f(3.1.)0 2208 y([Hop81])137 b(J.)11 b(E.)g(Hop)q(croft.)j(Recen)o(t)c(directions)i(in) g(algorithmic)h(researc)o(h.)g(In)e(P)l(.)g(Deussen,)h(editor,)301 2281 y Fj(Pr)n(o)n(c.)17 b(Fifth)g(Conf.)h(on)g(The)n(or)n(etic)n(al)f (Computer)h(Scienc)n(e)p Fk(,)g(pages)f(123{134.)i(Springer-)301 2353 y(V)l(erlag,)e(1981.)22 b(This)c(w)o(ork)e(is)h(an)g(early)f(surv)o(ey)g (of)g(probabilisti)q(c)j(algorithms.)0 2467 y([HS85])161 b(S.)16 b(Hart)g(and)h(M.)e(Sharir.)22 b(Concurren)o(t)16 b(probabilistic)j (programs,)e(or:)k(Ho)o(w)16 b(to)g(sc)o(hed-)301 2539 y(ule)24 b(if)f(y)o(ou)g(m)o(ust.)41 b Fj(SIAM)24 b(Journal)f(on)h(Computing)p Fk(,)h(14\(4\):991{1012)q(,)i(No)o(v)o(em)o(b)q(er)301 2611 y(1985.)g(The)18 b(authors)h(analyze)f(the)g(w)o(orst-case)g(probabilit)o(y)i (of)e(termination)h(of)f(a)g(set)938 2828 y(122)p eop bop 301 195 a Fk(of)18 b(concurren)o(tly)f(running)h(pro)q(cesses.)g(Eac)o(h) f(pro)q(cess)h(ma)o(y)f(use)g(randomization,)i(and)301 267 y(fair)e(in)o(terlea)o(ving)h(is)f(assumed.)0 381 y([HT82])153 b(J.)21 b(H.)g(Halton)h(and)g(R.)f(T)l(erada.)37 b(A)21 b(fast)h(algorithm)i (for)d(the)g(Euclidean)i(T)l(ra)o(v)o(eling)301 453 y(Salesman)h(problem,)h (optimal)g(with)e(probabilit)o(y)i(one.)42 b Fj(SIAM)23 b(Journal)h(on)g (Com-)301 526 y(puting)p Fk(,)h(11\(1\),)g(F)l(eb.)d(1982.)41 b(Halton)24 b(and)f(T)l(erada)g(presen)o(t)f(an)h(algorithm)h(for)f(the)301 598 y(T)l(ra)o(v)o(elling)e(Salesman)e(Problem)h(o)o(v)o(er)d Fh(n)i Fk(p)q(oin)o(ts,)i(whic)o(h,)e(for)g(appropriate)h(c)o(hoice)f(of)301 670 y(a)g(function)g Fh(\033)g Fk(tak)o(es)f(less)g(than)h Fh(n\033)r Fk(\()p Fh(n)p Fk(\))f(time)f(and)i(asymptotically)h(con)o(v)o (erges)d(to)h(the)301 742 y(minim)o(um)f(length)g(tour,)f(with)h(probabilit)o (y)h(one,)e(as)h Fh(n)d Fg(!)g(1)p Fk(.)0 856 y([ILL89])147 b(R.)17 b(Impagliazzo,)h(L.)e(Levin,)h(and)h(M.)e(Lub)o(y)l(.)23 b(Pseudorandom)18 b(generation)g(from)f(one-)301 928 y(w)o(a)o(y)12 b(functions.)k(In)d Fj(Pr)n(o)n(c.)f(21st)i(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g (The)n(ory)f(of)h(Computing)p Fk(,)f(pages)301 1000 y(12{24,)k(1989.)k(The)15 b(existence)f(of)i(one-w)o(a)o(y)f(functions)h(is)f(sho)o(wn)h(to)g(b)q(e)f (necessary)f(and)301 1073 y(su\016cien)o(t)20 b(for)g(the)f(existence)g(of)h (pseudorandom)h(generators.)f(A)f(one-w)o(a)o(y)h(function)301 1145 y Fh(F)7 b Fk(\()p Fh(x)p Fk(\))15 b(is)h(one)f(that)h(is)g(easily)h (computed,)e(but)g(giv)o(en)h Fh(F)7 b Fk(\()p Fh(x)p Fk(\),)14 b(it)i(should)g(not)g(b)q(e)g(p)q(ossible)301 1217 y(to)h(easily)h(reco)o(v)o (er)d Fh(x)p Fk(,)h(either)h(with)g(a)g(small)h(circuit)f(or)g(with)h(a)f (fast)g(algorithm.)h(Algo-)301 1289 y(rithms)g(for)e(pseudorandom)i (generators)g(are)e(pro)o(vided)h(that)h(use)e(one-w)o(a)o(y)h(functions)301 1362 y(whose)j(in)o(v)o(erses)f(are)h(di\016cult)g(to)f(obtain)i(using)g (small)g(circuits)f(or)f(fast)h(algorithms.)301 1434 y(See)c(also)i([Has90].) 0 1548 y([IM83])162 b(O.)17 b(H.)f(Ibarra)i(and)f(S.)g(Moran.)24 b(Probabilisti)q(c)c(algorithms)f(for)e(deciding)h(the)f(equiv)m(a-)301 1620 y(lence)g(of)g(straigh)o(t-line)j(programs.)k Fj(Journal)18 b(of)g(the)h(A)o(CM)p Fk(,)d(30\(1\):217{228,)k(Jan)o(uary)301 1692 y(1983.)29 b(They)18 b(study)g(the)g(complexit)o(y)f(of)i(deciding)g (the)f(equiv)m(alence)g(of)h(straigh)o(t-line)301 1764 y(programs,)g(i.e.,)e (those)h(in)h(whic)o(h)f(there)f(are)g(no)i(lo)q(ops,)g(and)g(only)f (statemen)o(ts)f(of)h(the)301 1836 y(form)f(x)g(:=)f(y)l(,)h(x)f(:=)h(y)f(+)h (z,)f(x)h(:=)g(y)f(-)h(z,)g(and)g(x)g(:=)f(y)h(*)g(z)g(are)g(p)q(ermitted.)f (Giv)o(en)h(t)o(w)o(o)301 1909 y(suc)o(h)j(programs)i(P)e(and)h(Q,)f(Ibarra)h (and)g(Moran)f(ask)h(the)f(question:)30 b(Is)20 b(P)h(=)f(Q?)h(If)301 1981 y(the)c(domain)h(of)f(the)g(v)m(ariables)i(is)e(an)h(in\014nite)g (\014eld)f(suc)o(h)g(as)g(the)g(in)o(tegers,)g(then)g(they)301 2053 y(sho)o(w)g(that)g(there)e(exists)i(a)g(p)q(olynomial-time)i (probabilistic)g(algorithm)f(to)f(solv)o(e)f(this)301 2125 y(problem.)h(If)e(the)h(domain)i(is)f(a)f(\014nite)h(\014eld,)f(the)g (problem)h(is)g(sho)o(wn)g(to)g(b)q(e)f Fj(NP)p Fk(-hard.)0 2239 y([IR81])171 b(A.)13 b(Itai)i(and)f(M.)f(Ro)q(deh.)18 b(The)c(lord)h(of)f(the)f(ring)i(or)f(probabilisti)q(c)i(metho)q(ds)f(for)f (break-)301 2311 y(ing)19 b(symmetry)e(in)h(distributed)h(net)o(w)o(orks.)25 b(T)l(ec)o(hnical)18 b(Rep)q(ort)g(RJ)g(3110,)h(IBM,)d(San)301 2384 y(Jose,)22 b(1981.)34 b(Itai)21 b(and)g(Ro)q(deh)g(consider)g(the)f (problems)h(of)f(c)o(ho)q(osing)i(a)f(leader)f(and)301 2456 y(determining)c(the)e(size)h(of)g(a)g(ring)h(of)f(indistinguis)q(habl)q(e)i (pro)q(cessors.)f(If)e(the)g(size)h(of)g(the)301 2528 y(ring)e(is)g(kno)o (wn,)f(e\016cien)o(t)f(probabilisti)q(c)j(algorithms)g(exit)e(for)g(c)o(ho)q (osing)i(a)e(leader.)g(Ho)o(w-)301 2600 y(ev)o(er,)k(there)h(exists)h(no)g (probabilisti)q(c)i(solution)f(to)f(the)f(problem)h(of)g(determining)g(the) 938 2828 y(123)p eop bop 301 195 a Fk(size)16 b(of)g(a)h(ring)f(that)g(can)g(guaran)o(tee)g(b)q (oth)h(termination)g(and)g(a)f(non-zero)g(probabilit)o(y)301 267 y(of)h(correctness.)0 379 y([IRM81])126 b(O.)16 b(H.)g(Ibarra,)g(L.)g (Rosier,)h(and)g(S.)f(Moran.)22 b(Probabilistic)d(algorithms)g(and)e(straigh) o(t-)301 451 y(line)24 b(programs)f(for)g(some)f(rank)h(decision)g(problems.) 41 b(In)22 b Fj(Information)h(Pr)n(o)n(c)n(essing)301 523 y(L)n(etters)p Fk(,)g(v)o(olume)e(12,)i(pages)f(227{232,)j(1981.)39 b(Giv)o(en)21 b(a)h(p)q(ositiv)o(e)h(in)o(teger)f Fh(r)g Fk(and)h(a)301 596 y(matrix)18 b Fh(A)f Fk(with)h(p)q(olynomial)i(en)o(tries)d(\(where)g(the)h (p)q(olynomials)i(are)d(represen)o(ted)g(b)o(y)301 668 y(arbitrarily)23 b(paren)o(thesized)c(arithmetic)i(expressions)g(using)g(+,)f(-,)h(*,)g(and)g (exp)q(onen-)301 740 y(tiation)h(to)d(a)h(p)q(ositiv)o(e)g(constan)o(t\),)g (the)f(problem)h(of)g(deciding)g(whether)f Fh(A)g Fk(has)h(rank)301 812 y Fh(r)26 b Fk(is)e(reduced)f(in)i(p)q(olynomial)i(time)c(to)i(the)e (zero-equiv)m(alence)h(problem)h(\(i.e.,)f(the)301 885 y(problem)17 b(of)g(determining)g(whether)g(a)g(program)g(alw)o(a)o(ys)g(outputs)h(0\))f (of)g(straigh)o(t-line)301 957 y(programs)h([MT85].)0 1068 y([IZ89])177 b(E.)15 b(Impagliazzo)h(and)f(D.)g(Zuc)o(k)o(erman.)i(Ho)o(w)d (to)h(recycle)f(random)h(bits.)20 b(In)14 b Fj(Pr)n(o)n(c.)h(30th)301 1141 y(A)o(nn.)i(IEEE)e(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)g(Scienc) n(e)p Fk(,)h(pages)f(248{253,)i(1989.)301 1213 y(This)22 b(pap)q(er)g(pro)o (v)o(es)e(that)h(t)o(w)o(o)g(v)o(ery)e(simple)j(pseudo-random)g(n)o(um)o(b)q (er)e(generators,)301 1285 y(whic)o(h)c(are)f(minor)g(mo)q(di\014cations)j (of)d(linear)h(congruen)o(tial)h(generator)e(and)h(the)e(simple)301 1357 y(shift)g(register)f(generator,)h(are)e(go)q(o)q(d)j(for)e(amplifying)i (the)d(correctness)h(of)g(probabilistic)301 1430 y(algorithms.)0 1541 y([Jae81])154 b(G.)20 b(Jaesc)o(hk)o(e.)31 b(Recipro)q(cal)21 b(hashing:)30 b(A)20 b(metho)q(d)g(for)g(generating)h(minimal)h(p)q(erfect) 301 1614 y(hashing)f(functions.)31 b Fj(Communic)n(ations)20 b(of)g(the)g(A)o(CM)p Fk(,)e(24\(12\):829{82)q(3,)k(Dec)d(1981.)301 1686 y(Hash)e(functions,)g(for)f(a)h(k)o(ey)e Fh(x)h Fk(in)h(a)g(set)f Fh(S)j Fk(of)e(p)q(ositiv)o(e)g(in)o(tegers,)g(of)f(the)g(form)g Fh(h)p Fk(\()p Fh(x)p Fk(\))e(=)301 1758 y(\()p Fh(C)r(=)p Fk(\()p Fh(D)q(x)t Fk(+)t Fh(E)s Fk(\)\))i(mo)q(d)e Fh(N)19 b Fk(are)13 b(considered.)g(Though)h(the)f(existence)f(of)h Fh(h)g Fk(is)h(guaran)o(teed,)301 1830 y(the)g(sc)o(heme)e(su\013ers)j(from)e (man)o(y)h(practical)h(problems)f(b)q(ecause)g(of)g(exhaustiv)o(e)g(nature) 301 1902 y(of)j(the)f(searc)o(h)g(for)g Fh(h)p Fk(.)0 2014 y([JKS84])135 b(J.)22 b(Ja'Ja',)g(V.)f(K.)g(Prasanna)j(Kumar,)e(and)h(J.)e (Simon.)38 b(Information)23 b(transfer)f(un-)301 2086 y(der)d(di\013eren)o(t) g(sets)g(of)g(proto)q(cols.)31 b Fj(SIAM)20 b(Journal)g(on)g(Computing)p Fk(,)g(13\(4\):840{849,)301 2159 y(No)o(v)o(em)o(b)q(er)e(1984.)34 b(This)21 b(pap)q(er)f(is)h(a)f(study)g(of)g(the)g(comm)o(unication)g (complexit)o(y)g(of)301 2231 y(information)i(transfer)e(in)h(deterministic,)g (random,)g(non-deterministic)g(and)g(proba-)301 2303 y(bilistic)15 b(computation)g(mo)q(dels.)e(It)f(is)i(widely)g(conjectured)e(that)h Fh(P)21 b Fg(\022)14 b Fh(R)g Fg(\022)g Fh(N)5 b(P)21 b Fg(\022)14 b Fh(P)7 b(P)301 2375 y Fk(for)21 b(p)q(olynomial)i(time)d(complexit)o(y)g (classes.)g(The)h(authors)g(pro)o(v)o(e)e(that)i(exp)q(onen)o(tial)301 2447 y(gaps)d(exist)e(among)h(the)f(corresp)q(onding)j(comm)o(unication)e (complexit)o(y)f(classes.)0 2559 y([Joh90])149 b(D.)20 b(S.)g(Johnson.)33 b(A)20 b(catalog)h(of)g(complexit)o(y)e(classes.)34 b(In)19 b(J.)h(v)m(an)g(Leeu)o(w)o(en,)g(editor,)301 2631 y Fj(Handb)n(o)n(ok)d(of)g (The)n(or)n(etic)n(al)g(Computer)g(Scienc)n(e,)i Fk(V)l(olume)c(A:)g (Algorithms)i(and)f(Com-)301 2704 y(plexit)o(y,)f(c)o(hapter)f(9,)h(pages)h (67{161.)h(Elsevier)e(and)g(The)g(MIT)f(Press)i(\(co-publishers\),)938 2828 y(124)p eop bop 301 195 a Fk(1990.)52 b(Johnson)27 b(presen)o(ts)e(an)h(extensiv)o(e)f (surv)o(ey)g(of)h(computational)i(complexit)o(y)301 267 y(classes.)17 b(Of)e(particular)i(in)o(terest)f(here)f(is)i(his)f(discussion)i(of)e (randomized,)g(probabilis-)301 340 y(tic,)g(and)h(sto)q(c)o(hastic)h (complexit)o(y)e(classes.)0 453 y([JS89])173 b(M.)15 b(R.)h(Jerrum)f(and)h (A.)f(Sinclair.)22 b(Appro)o(ximating)17 b(the)e(p)q(ermanen)o(t.)20 b Fj(SIAM)d(Journal)301 526 y(on)25 b(Computing)p Fk(,)h(18\(6\):1149{117)q (8,)j(1989.)45 b(Bro)q(der)24 b([Bro86])g(related)g(the)f(task)i(of)301 598 y(appro)o(ximating)h(the)e(p)q(ermanen)o(t)f(of)h(a)g(matrix)h(to)f(that) g(of)g(uniformly)h(generating)301 670 y(p)q(erfect)18 b(matc)o(hings)i(in)f (a)g(graph.)h(This)f(pap)q(er)h(giv)o(es)f(a)g(randomized)g(appro)o(ximation) 301 742 y(sc)o(heme)13 b(for)i(the)f(latter)h(problem)f(b)o(y)g(sim)o (ulating)i(it)f(as)g(a)g(Mark)o(o)o(v)e(c)o(hain)i(whose)g(states)301 814 y(are)j(matc)o(hings)g(in)g(the)f(graph.)g(F)l(or)h(this)g(sc)o(heme)e (to)h(b)q(e)h(e\016cien)o(t)e(the)h(Mark)o(o)o(v)g(c)o(hain)301 887 y(m)o(ust)g(b)q(e)g(rapidly)i(mixing,)f(i.e.)e(con)o(v)o(erge)g(to)i(its) g(stationary)g(distribution)i(in)e(a)f(short)301 959 y(time.)0 1073 y([JVV86])126 b(M.)12 b(R.)f(Jerrum,)h(L.)g(G.)g(V)l(alian)o(t,)h(and)g (V.)e(V.)g(V)l(azirani.)16 b(Random)c(generation)h(of)g(com)o(bi-)301 1145 y(natorial)i(structures)d(from)g(a)h(uniform)g(distribution.)18 b Fj(The)n(or)n(etic)n(al)13 b(Computer)h(Scienc)n(e)p Fk(,)301 1217 y(43:169{188,)i(1986.)g(This)d(pap)q(er)g(considers)g(the)f(class)h(of)g (problems)g(in)o(v)o(olving)g(the)f(ran-)301 1289 y(dom)17 b(generation)i(of)e(com)o(binatorial)i(structures)e(from)g(a)g(uniform)h (distribution.)h(It)d(is)301 1362 y(sho)o(wn)j(that)f Fj(exactly)h Fk(uniform)f(generation)h(of)f(`e\016cien)o(tly)e(v)o(eri\014able')i(com)o (binatorial)301 1434 y(structures)f(is)g(reducible)f(to)h(appro)o(ximate)g (coun)o(ting.)0 1548 y([Kal92])150 b(G.)13 b(Kalai.)k(A)12 b(sub)q(exp)q(onen)o(tial)i(randomized)f(simplex)g(algorithm.)k(In)c Fj(Pr)n(o)n(c.)f(24th)i(A)o(nn.)301 1620 y(A)o(CM)h(Symp.)g(on)g(The)n(ory)f (of)h(Computing)p Fk(,)f(pages)g(475{482,)j(Victoria,)d(B.C.,)f(Canada,)301 1692 y(Ma)o(y)k(1992.)27 b(A)17 b(randomized)h(v)m(arian)o(t)g(of)g(the)f (simplex)h(algorithm)h(is)f(presen)o(ted)f(that,)301 1764 y(giv)o(en)j(a)f (linear)h(program)g(with)g Fh(d)g Fk(v)m(ariables)h(and)e Fh(n)h Fk(constrain)o(ts,)g(uses)f(an)h(exp)q(ected)301 1836 y(sub)q(exp)q(onen)o (tial)f(n)o(um)o(b)q(er)c(of)i(arithmetic)f(op)q(erations.)0 1950 y([Kam89])122 b(M.)21 b(Kaminski.)39 b(A)21 b(note)g(on)i (probabilistical)q(ly)i(v)o(erifying)c(in)o(teger)h(and)g(p)q(olynomial)301 2022 y(pro)q(ducts.)36 b Fj(Journal)22 b(of)f(the)h(A)o(CM)p Fk(,)e(36\(1\):845{876)q(,)k(1989.)37 b(The)21 b(author)g(describ)q(es)301 2095 y(probabilisti)q(c)16 b(algorithms)g(for)f(v)o(erifying)f(the)f(pro)q (duct)i(of)f(t)o(w)o(o)g Fh(n)p Fk(-bit)h(in)o(tegers)f(in)g Fh(O)q Fk(\()p Fh(n)p Fk(\))301 2167 y(bit)20 b(op)q(erations,)h(and)e(for)g (v)o(erifying)g(the)f(pro)q(duct)i(of)f(t)o(w)o(o)f(p)q(olynomials)k(of)d (degree)f Fh(n)301 2239 y Fk(o)o(v)o(er)d(in)o(tegral)h(domains)h(in)f(4)p Fh(n)10 b Fk(+)f Fh(o)p Fk(\()p Fh(n)p Fk(\))15 b(algebraic)i(op)q(erations.) g(The)f(error)f(probabilit)o(y)301 2311 y(is)i(is)g Fh(o)p Fk(\()476 2292 y Fl(1)p 446 2300 76 2 v 446 2329 a Ff(n)467 2319 y Fb(1)p Fa(\000)p Fe(\017)528 2311 y Fk(\))f(for)g(an)o(y)g Fh(\017)e(>)g Fk(0.)0 2425 y([Kar86])144 b(R.)20 b(M.)f(Karp.)33 b(Com)o(binatorics,)23 b(complexit)o(y)d(and)g(randomness.)34 b Fj(Communic)n(ations)301 2497 y(of)22 b(the)h(A)o(CM)p Fk(,)e (29\(2\):98{109,)k(F)l(ebruary)c(1986.)38 b(This)23 b(is)f(the)f(1985)i(T)l (uring)g(Aw)o(ard)301 2570 y(Lecture.)e(It)h(traces)g(the)g(dev)o(elopmen)o (t)f(of)h(com)o(binatorial)i(optimization)g(and)f(com-)301 2642 y(putational)e(complexit)o(y)d(theory)l(.)g(It)f(discusses)j (probabilistic)h(algorithms)f(and)f(prob-)938 2828 y(125)p eop bop 301 195 a Fk(abilistic)23 b(analysis)f(of)f(appro)o(ximation)h (algorithms)g(for)e Fj(NP)p Fk(-complete)h(optimization)301 267 y(problems.)0 381 y([Kar90])144 b(R.)21 b(M.)f(Karp.)34 b(An)21 b(in)o(tro)q(duction)h(to)f(randomized)h(algorithms.)36 b(T)l(ec)o(hnical)22 b(Rep)q(ort)301 453 y(TR-90-024,)16 b(Computer)e (Science)e(Division,)k(Univ)o(ersit)o(y)d(of)g(California,)k(Berk)o(eley)l(,) 11 b(CA)301 526 y(94704,)18 b(1990.)23 b(A)16 b(recen)o(t,)e(comprehensiv)o (e)i(surv)o(ey)f(of)i(randomized)f(algorithms.)0 639 y([Kar91])144 b(R.)23 b(M.)f(Karp.)41 b(Probabilisti)q(c)26 b(recurrence)21 b(relations.)43 b(In)22 b Fj(Pr)n(o)n(c.)h(23r)n(d)f(A)o(nn.)i(A)o(CM)301 711 y(Symp.)17 b(on)g(The)n(ory)e(of)i(Computing)p Fk(,)f(pages)g(190{197,)i (New)d(Orleans,)h(LA,)f(Ma)o(y)g(1991.)301 784 y(In)g(order)g(to)h(solv)o(e)f (a)h(problem)f(instance)h(of)f(size)g Fh(x)p Fk(,)g(a)h(divide-and-conquer)g (algorithm)301 856 y(in)o(v)o(ests)e(an)f(amoun)o(t)h(of)g(w)o(ork)f Fh(a)p Fk(\()p Fh(x)p Fk(\))g(to)g(break)h(the)f(problem)g(in)o(to)h (subproblems)h(of)f(sizes)301 928 y Fh(h)329 935 y Fl(1)349 928 y Fk(\()p Fh(x)p Fk(\))p Fh(;)8 b(h)465 935 y Fl(2)484 928 y Fk(\()p Fh(x)p Fk(\))p Fh(;)g Fg(\001)g(\001)g(\001)g Fh(;)g(h)688 935 y Ff(k)710 928 y Fk(\()p Fh(x)p Fk(\),)k(and)i(then)f(pro)q (ceeds)g(to)g(solv)o(e)g(the)g(subproblems.)g(When)g(the)301 1000 y Fh(h)329 1007 y Ff(i)360 1000 y Fk(are)k(random)g(v)m(ariables)h(|)f (b)q(ecause)f(of)h(randomization)i(within)f(the)e(algorithm)j(or)301 1073 y(b)q(ecause)14 b(the)f(instances)h(to)g(b)q(e)g(solv)o(ed)g(are)f (assumed)h(to)g(b)q(e)f(dra)o(wn)h(from)f(a)h(probabilit)o(y)301 1145 y(distribution)h(|)d(the)g(running)i(time)e(of)g(the)g(algorithm)i(on)f (instances)g(of)g(size)f Fh(x)g Fk(is)h(also)h(a)301 1217 y(random)h(v)m (ariable)g Fh(T)7 b Fk(\()p Fh(x)p Fk(\).)13 b(Karp)h(giv)o(es)g(sev)o(eral)g (easy-to-apply)i(metho)q(ds)e(for)g(obtaining)301 1289 y(fairly)19 b(tigh)o(t)f(b)q(ounds)g(on)g(the)f(upp)q(er)g(tails)i(of)f(the)f(probabilit) o(y)i(distribution)h(of)d Fh(T)7 b Fk(\()p Fh(x)p Fk(\),)301 1362 y(and)17 b(presen)o(ts)f(a)h(n)o(um)o(b)q(er)e(of)h(t)o(ypical)h (applications)i(of)e(these)f(b)q(ounds)h(to)g(the)f(analysis)301 1434 y(of)j(algorithms.)h(The)e(pro)q(ofs)h(of)g(the)e(b)q(ounds)j(are)e (based)h(on)f(an)h(in)o(teresting)g(analysis)301 1506 y(of)e(optimal)h (strategies)f(in)g(certain)g(gam)o(bling)h(games.)0 1620 y([Kar93])144 b(D.)22 b(R.)g(Karger.)39 b(Global)25 b(min-cuts)e(in)f(RNC,)g(and)h(other)f (rami\014cations)i(of)f(a)f(sim-)301 1692 y(ple)c(min-cut)g(algorithm.)26 b(In)17 b Fj(Pr)n(o)n(c.)g(F)l(ourth)h(A)o(nn.)i(A)o(CM-SIAM)e(Symp.)g(on)h (Discr)n(ete)301 1764 y(A)o(lgorithms)p Fk(,)i(pages)f(21{30,)i(Austin,)f (TX,)e(Jan)o(uary)h(1993.)34 b(Giv)o(en)19 b(a)i(graph)f(with)h Fh(n)301 1836 y Fk(v)o(ertices)15 b(and)i Fh(m)e Fk(\(p)q(ossibly)k(w)o(eigh) o(ted\))c(edges,)h(the)g Fj(min-cut)h Fk(problem)f(is)h(to)f(partition)301 1909 y(the)f(v)o(ertices)e(in)o(to)i(t)o(w)o(o)g(non-empt)o(y)f(sets)g Fh(S)k Fk(and)d Fh(T)21 b Fk(so)15 b(as)g(to)g(minimize)g(the)f(n)o(um)o(b)q (er)g(of)301 1981 y(edges)k(crossing)g(from)f Fh(S)j Fk(to)e Fh(T)23 b Fk(\(if)18 b(the)e(graph)j(is)e(w)o(eigh)o(ted,)g(the)g(problem)h (is)f(to)h(mini-)301 2053 y(mize)g(the)g(total)i(w)o(eigh)o(t)e(of)h (crossing)g(edges\).)f(Karger)h(giv)o(es)f(an)h Fj(RNC)f Fk(algorithm)i(for) 301 2125 y(the)e(min-cut)h(problem)f(whic)o(h)h(runs)f(in)h(time)f Fh(O)q Fk(\(log)1307 2104 y Fl(2)1335 2125 y Fh(n)p Fk(\))g(on)h(a)f(CR)o(CW) h(PRAM)e(with)301 2198 y Fh(mn)373 2180 y Fl(2)401 2198 y Fk(log)10 b Fh(n)17 b Fk(pro)q(cessors.)0 2311 y([Kel92])152 b(P)l(.)19 b(Kelsen.)29 b(On)18 b(the)h(parallel)i(complexit)o(y)d(of)h(computing)h(a)f (maximal)h(indep)q(enden)o(t)301 2384 y(set)13 b(in)h(a)g(h)o(yp)q(ergraph.)i (In)d Fj(Pr)n(o)n(c.)h(24th)g(A)o(nn.)i(A)o(CM)e(Symp.)g(on)h(The)n(ory)e(of) i(Computing)p Fk(,)301 2456 y(pages)21 b(339{350,)h(Victoria,)f(B.C.,)e (Canada,)j(Ma)o(y)d(1992.)32 b(A)19 b(maximal)i(indep)q(enden)o(t)301 2528 y(set)16 b(in)g(a)f(h)o(yp)q(ergraph)h(is)g(a)g(subset)f(of)h(v)o (ertices)e(that)i(is)g(maximal)g(with)h(resp)q(ect)e(to)g(the)301 2600 y(prop)q(ert)o(y)j(of)f(not)h(con)o(taining)h(an)o(y)e(edge)g(of)h(the)f (h)o(yp)q(ergraph.)g(Kelsen)g(derandomizes)938 2828 y(126)p eop bop 301 195 a Fk(the)21 b(randomized)h(algorithm)i(of)d(Beame)g(and)h(Lub)o (y)f(to)h(obtain)h(the)e(\014rst)g(sublinear)301 267 y(time)16 b(deterministic)h(algorithm)i(for)d(h)o(yp)q(ergraphs)h(with)g(edges)g(of)f (size)h Fh(O)q Fk(\(1\).)0 381 y([K)o(GY89])113 b(M.)16 b(Kharitono)o(v,)i (A.)e(V.)g(Goldb)q(erg,)i(and)f(M.)f(Y)l(ung.)23 b(Lo)o(w)o(er)17 b(b)q(ounds)h(for)f(pseudoran-)301 453 y(dom)h(n)o(um)o(b)q(er)f(generators.) 26 b(In)18 b Fj(Pr)n(o)n(c.)f(30th)i(A)o(nn.)g(IEEE)g(Symp.)g(on)g(F)l (oundations)g(of)301 526 y(Computer)c(Scienc)n(e)p Fk(,)g(pages)f(242{247,)h (Researc)o(h)e(T)l(riangle)h(P)o(ark,)g(NC,)e(Octob)q(er)h(1989.)301 598 y(IEEE)18 b(Computer)f(So)q(ciet)o(y)h(Press.)25 b(A)17 b Fj(pseudor)n(andom)h(gener)n(ator)f Fk(is)i(a)e(deterministic)301 670 y(algorithm)d(that)d(expands)h(a)g(truly)f(random)h(seed)f(in)o(to)h(a)f (longer)i Fj(pseudor)n(andom)d Fk(string.)301 742 y(Suc)o(h)15 b(generators)g(pla)o(y)h(an)f(imp)q(ortan)o(t)h(role)f(in)h(applications)i (lik)o(e)d(cryptograph)o(y)l(.)f(The)301 814 y(authors)19 b(pro)o(vide)f(lo)o (w)o(er)g(b)q(ounds)h(on)f(the)f(computational)j(resources)d(needed)g(for)h (the)301 887 y(generation)g(of)e(pseudorandom)i(strings.)0 1000 y([Kil88])161 b(J.)18 b(Kilian.)28 b(Zero-kno)o(wledge)19 b(with)g(log-space)g(v)o(eri\014ers.)26 b(In)18 b Fj(Pr)n(o)n(c.)f(29th)i(A)o (nn.)h(IEEE)301 1073 y(Symp.)h(on)f(F)l(oundations)i(of)e(Computer)g(Scienc)n (e)p Fk(,)i(pages)f(25{34,)h(1988.)32 b(In)o(teractiv)o(e)301 1145 y(pro)q(of)24 b(systems)d(where)h(the)g(v)o(eri\014ers)g(are)g(assumed)g (to)h(b)q(e)f(log-space)i(probabilistic)301 1217 y(automata)d(are)f (considered.)f(The)h(class)h(of)f(languages)h(that)f(are)g(amenable)g(to)g (zero-)301 1289 y(kno)o(wledge)d(pro)q(ofs)h(with)f(suc)o(h)f(v)o(eri\014ers) g(is)h(describ)q(ed.)0 1403 y([Kil90])161 b(J.)14 b(Kilian.)20 b Fj(Uses)c(of)g(R)n(andomness)f(in)h(A)o(lgorithms)f(and)h(Pr)n(oto)n(c)n (ols)p Fk(.)h(MIT)c(Press,)i(1990.)301 1475 y(Kilian's)i(Ph.D.)d (dissertation,)j(whic)o(h)e(w)o(as)g(selected)g(as)g(an)g(A)o(CM)f (Distinguished)k(Dis-)301 1548 y(sertation)j(for)e(the)g(y)o(ear)g(1989,)i (is)f(in)g(three)f(parts.)g(The)h(\014rst)f(part)h(describ)q(es)g(a)f(ran-) 301 1620 y(domized)f(algorithm)i(to)e(generate)g(large)h(prime)f(n)o(um)o(b)q (ers)f(whic)o(h)h(ha)o(v)o(e)f(short,)i(easily)301 1692 y(v)o(eri\014ed)h (certi\014cates)g(of)h(primalit)o(y)l(.)f(The)h(algorithm)h(pro)o(vides)e (short,)i(deterministi-)301 1764 y(cally)h(v)o(eri\014able)f(pro)q(ofs)h(of)f (primalit)o(y)h(for)f(all)h(but)f(a)g(v)m(anishing)i(fraction)f(of)f(prime) 301 1836 y(n)o(um)o(b)q(ers.)c(The)g(second)g(part)h(considers)g(the)f Fj(se)n(cur)n(e)h(cir)n(cuit)h(evaluation)g Fk(problem)e(in)301 1909 y(whic)o(h)k(t)o(w)o(o)f(parties)i(wish)f(to)g(securely)f(compute)g (some)h(function)g(on)g(their)f(priv)m(ate)301 1981 y(information.)15 b(Kilian)h(reduces)d(this)i(problem)f(to)f(an)i Fj(oblivious)h(tr)n(ansfer)e (pr)n(oto)n(c)n(ol)5 b Fk(.)12 b(The)301 2053 y(third)23 b(part)e(of)h(the)f (dissertation)j(generalizes)e(probabilisti)q(c)i(in)o(teractiv)o(e)d(pro)q (of)i(sys-)301 2125 y(tems)15 b(to)g(m)o(ultiple)h(pro)o(v)o(ers.)e(He)h(sho) o(ws)h(that)f(an)o(y)g(language)i(that)f(has)g(a)f(m)o(ulti-pro)o(v)o(er)301 2198 y(in)o(teractiv)o(e)k(pro)q(of)h(system)f(has)h(a)g(zero-kno)o(wledge)f (m)o(ulti-pro)o(v)o(er)g(in)o(teractiv)o(e)g(pro)q(of)301 2270 y(system.)0 2384 y([Kil92])161 b(J.)17 b(Kilian.)25 b(A)17 b(note)g(on)h(e\016cien)o(t)e(zero-kno)o(wledge)h(pro)q(ofs)h(and)g(argumen)o (ts.)23 b(In)17 b Fj(Pr)n(o)n(c.)301 2456 y(24th)24 b(A)o(nn.)g(A)o(CM)f (Symp.)g(on)h(The)n(ory)e(of)h(Computing)p Fk(,)i(pages)f(723{732,)i (Victoria,)301 2528 y(B.C.,)e(Canada,)j(Ma)o(y)c(1992.)45 b(The)24 b(standard)g(de\014nition)i(of)e(an)g(in)o(teractiv)o(e)f(pro)q(of)301 2600 y(requires)12 b(that)g(the)f(v)o(eri\014er)g(accept)g(a)h(correct)f(pro) q(of)h(and)h(reject)d(an)i(incorrect)f(assertion)301 2672 y(with)23 b(probabilit)o(y)h(at)e(least)862 2653 y Fl(2)p 862 2661 18 2 v 862 2690 a(3)885 2672 y Fk(.)f(This)i(pap)q(er)g(sho)o(ws)f(ho)o(w)g(to)g (e\016cien)o(tly)f(reduce)g(the)938 2828 y(127)p eop bop 301 195 a Fk(error)19 b(probabilit)o(y)h(to)e(less)h(than)g(2)967 177 y Fd(\000)p Ff(k)1016 195 y Fk(,)f(where)g Fh(k)i Fk(is)f(some)g(easily)g (adjustable)g(securit)o(y)301 267 y(parameter.)0 379 y([KL85])157 b(R.)19 b(M.)f(Karp)h(and)g(M.)f(Lub)o(y)l(.)29 b(Mon)o(te-Carlo)20 b(algorithms)h(for)e(planar)i(m)o(ultiterminal)301 451 y(reliabilit)o(y)i (problems.)34 b Fj(Journal)22 b(of)f(Complexity)p Fk(,)g(1:45{64,)i(1985.)36 b(They)20 b(presen)o(t)g(a)301 523 y(general)d(Mon)o(te-Carlo)h(tec)o(hnique) e(for)g(obtaining)j(appro)o(ximate)e(solutions)i(of)d(sev)o(eral)301 596 y(en)o(umeration)h(and)h(reliabilit)o(y)h(problems)f(including)h(coun)o (ting)e(the)g(n)o(um)o(b)q(er)f(of)h(satis-)301 668 y(fying)g(assignmen)o(ts) f(of)g(a)g(prop)q(ositiona)q(l)j(form)o(ula)d(giv)o(en)g(in)g(disjunctiv)o(e) g(normal)g(form)301 740 y(\(a)i(#P-complete)f(problem\))h(and)g(estimating)h (the)e(failure)i(probabilit)o(y)g(of)f(a)g(system.)301 812 y(An)g(earlier)g(v)o(ersion)g(app)q(eared)h(in)f Fj(Pr)n(o)n(c.)g(24th)g(A)o (nn.)i(IEEE)f(Symp.)f(on)h(F)l(oundations)301 885 y(of)f(Computer)f(Scienc)n (e)t Fk(,)g(1983,)h(pp.)e(56{64.)i(See)d(also)j([KLM89].)0 996 y([KL93])157 b(R.)15 b(Klein)i(and)f(A.)e(Lingas.)23 b(A)15 b(linear-time)h(randomized)h(algorithm)g(for)f(the)f(b)q(ounded)301 1068 y(V)l(oronoi)21 b(diagram)g(of)f(a)g(simple)h(p)q(olygon.)33 b(In)19 b Fj(Pr)n(o)n(c.)h(Ninth)h(A)o(nn.)g(A)o(CM)f(Symp.)h(on)301 1141 y(Computational)h(Ge)n(ometry)p Fk(,)e(pages)h(124{132,)i(San)e(Diego,)g (CA,)f(Ma)o(y)f(1993.)34 b(F)l(or)21 b(a)301 1213 y(p)q(olygon)d Fh(P)7 b Fk(,)16 b(the)g Fj(b)n(ounde)n(d)h(V)l(or)n(onoi)f(diagr)n(am)f Fk(of)h Fh(P)23 b Fk(is)17 b(a)f(partition)i(of)e Fh(P)23 b Fk(in)o(to)17 b(regions)301 1285 y(assigned)23 b(to)e(the)g(v)o(ertices)f(of) h Fh(P)7 b Fk(.)21 b(Klein)g(and)h(Lingas)h(presen)o(t)d(a)i(randomized)f (algo-)301 1357 y(rithm)c(that)g(builds)h(the)e(b)q(ounded)h(V)l(oronoi)g (diagram)h(of)f(a)f(simple)i(p)q(olygon)g(in)f(linear)301 1430 y(exp)q(ected)f(time.)0 1541 y([KLM89])112 b(R.)13 b(M.)g(Karp,)h(M.)e(Lub)o (y)l(,)i(and)g(N.)f(Madras.)k(Mon)o(te-Carlo)d(appro)o(ximation)i(algorithms) 301 1614 y(for)i(en)o(umeration)g(problems.)26 b Fj(Journal)18 b(of)h(A)o(lgorithms)p Fk(,)e(10:429{448,)j(1989.)27 b(A)17 b(com-)301 1686 y(panion)h(pap)q(er)e(of)h([KL85];)f(an)g(earlier)h(v)o (ersion)f(app)q(eared)h(in)f Fj(Pr)n(o)n(c.)g(24th)h(A)o(nn.)h(IEEE)301 1758 y(Symp.)g(on)f(F)l(oundations)h(of)g(Computer)f(Scienc)n(e)t Fk(,)g(1983,)h(pp.)e(56{64.)0 1870 y([KLMadH92])24 b(R.)13 b(M.)f(Karp,)h(M.)f(Lub)o(y)l(,)h(and)h(F.)e(Mey)o(er)f(auf)j(der)e(Heide.)j (E\016cien)o(t)e(PRAM)f(sim)o(ulation)301 1942 y(on)j(a)g(distributed)g (memory)e(mac)o(hine.)18 b(In)c Fj(Pr)n(o)n(c.)g(24th)i(A)o(nn.)g(A)o(CM)f (Symp.)g(on)h(The)n(ory)301 2014 y(of)d(Computing)p Fk(,)g(pages)f(318{326,)j (Victoria,)e(B.C.,)d(Canada,)k(Ma)o(y)d(1992.)j(They)e(presen)o(t)301 2086 y(a)22 b(randomized)f(sim)o(ulation)i(of)e(an)g Fh(n)8 b Fk(log)j(log)r(\()p Fh(n)p Fk(\))d(log)1298 2065 y Fd(\003)1318 2086 y Fk(\()p Fh(n)p Fk(\)-pro)q(cessor)22 b(shared)f(memory)301 2159 y(mac)o(hine)11 b(\(PRAM\))g(on)g(an)h Fh(n)p Fk(-pro)q(cessor)h (distributed)f(memory)e(mac)o(hine)h(\(DMM\))g(with)301 2231 y(optimal)18 b(exp)q(ected)d(dela)o(y)i Fh(O)q Fk(\(log)11 b(log)r(\()p Fh(n)p Fk(\))d(log)1141 2209 y Fd(\003)1161 2231 y Fk(\()p Fh(n)p Fk(\)\))16 b(p)q(er)g(step)h(of)f(sim)o(ulation.)0 2342 y([KM93])142 b(D.)16 b(Koller)h(and)f(N.)f(Megiddo.)21 b(Constructing)d(small)f(sample)f(spaces)g(satisfying)i(giv)o(en)301 2415 y(constrain)o(ts.)25 b(In)17 b Fj(Pr)n(o)n(c.)g(25th)h(A)o(nn.)h(A)o(CM) f(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p Fk(,)f(pages)301 2487 y(268{277,)28 b(San)c(Diego,)i(CA,)d(Ma)o(y)g(1993.)44 b(The)23 b(authors)i(pro)o(v)o(e)d Fj(NP)5 b Fk(-completeness)301 2559 y(for)24 b(the)f(problem)h(of)f(\014nding)i(small)f(sample)g(spaces)g (for)f(join)o(t)h(distributions)i(of)e Fh(n)301 2631 y Fk(discrete)g(random)h (v)m(ariables)h(satisfying)g(a)e(giv)o(en)g(set)g(of)g(constrain)o(ts)h(of)f (the)g(form)301 2704 y(Pr\()p Fh(E)s(v)r(ent)p Fk(\))18 b(=)h Fh(\031)r Fk(.)f(F)l(or)h(the)g(case)h(where)e(the)h(constrain)o(ts)i(ha)o(v) o(e)d(a)i(certain)f(form)g(and)938 2828 y(128)p eop bop 301 195 a Fk(are)22 b(consisten)o(t)h(with)g(a)f(join)o(t)g(distribution) j(of)d(indep)q(enden)o(t)g(random)h(v)m(ariables,)i(a)301 267 y(small)20 b(sample)e(space)g(can)g(b)q(e)g(constructed)g(in)g(p)q(olynomial) j(time;)d(a)g(result)h(that)f(can)301 340 y(b)q(e)f(used)f(to)h(derandomize)f (algorithms.)0 451 y([KMO89])104 b(J.)23 b(Kilian,)j(S.)c(Micali,)k(and)d(R.) f(Ostro)o(vsky)l(.)40 b(Minim)o(um)23 b(resource)g(zero-kno)o(wledge)301 523 y(pro)q(of.)f(In)16 b Fj(Pr)n(o)n(c.)g(30th)h(A)o(nn.)h(IEEE)f(Symp.)g (on)h(F)l(oundations)f(of)h(Computer)f(Scienc)n(e)p Fk(,)301 596 y(pages)g(474{479,)h(Oct)d(1989.)22 b(The)16 b(v)m(arious)h(resources)f (suc)o(h)f(as)i(n)o(um)o(b)q(er)e(of)h(en)o(v)o(elop)q(es,)301 668 y(n)o(um)o(b)q(er)k(of)h(oblivious)i(transfers,)e(and)g(total)h(amoun)o (t)e(of)h(comm)o(unication)g(required)301 740 y(b)o(y)e(zero-kno)o(wledge)h (proto)q(cols)i(are)d(considered.)h(The)f(pap)q(er)h(presen)o(ts)f(a)h(tec)o (hnique)301 812 y(of)i(executing)f Fh(k)i Fk(rounds)f(of)f(a)h(proto)q(col,)i (whic)o(h)d(guaran)o(tees)h(that)f(an)o(y)g(p)q(olynomial)301 885 y(n)o(um)o(b)q(er)g(of)g(NP-theorems)g(can)h(b)q(e)f(pro)o(v)o(ed)f (non-in)o(teractiv)o(ely)i(in)g(zero-kno)o(wledge,)301 957 y(with)16 b(the)f(probabilit)o(y)j(of)d(accepting)h(a)f(false)h(theorem)f(b)q (elo)o(w)h(1)p Fh(=)p Fk(2)1559 939 y Ff(k)1582 957 y Fk(.)e(The)i(main)g (result)301 1029 y(in)25 b(this)f(pap)q(er)g(assumes)g(the)g(existence)f(of)h (trap-do)q(or)h(p)q(erm)o(utations)g(in)f(order)g(to)301 1101 y(implemen)o(t)16 b(Oblivious)j(T)l(ransfer)d(Proto)q(col.)0 1213 y([KMP77])109 b(D.)15 b(E.)g(Kn)o(uth,)f(J.)h(H.)f(Morris,)h(and)g(V.)f (R.)h(Pratt.)k(F)l(ast)c(pattern)g(matc)o(hing)h(in)f(strings.)301 1285 y Fj(SIAM)23 b(Journal)f(on)h(Computing)p Fk(,)h(6:323{350,)h(1977.)39 b(This)23 b(pap)q(er)g(presen)o(ts)e(a)i(fast)301 1357 y(deterministic)d (algorithm)i(for)d(the)g(problem)h(of)f(determining)h(if)g(a)g(giv)o(en)f (pattern)h(of)301 1430 y Fh(m)f Fk(sym)o(b)q(ols)g(o)q(ccurs)h(in)f(a)g(text) f(of)h(length)h Fh(n)p Fk(.)e(Their)i(w)o(ell-kno)o(wn)f(algorithm)i(runs)e (in)301 1502 y(time)g Fh(O)q Fk(\()p Fh(n)14 b Fk(+)e Fh(m)p Fk(\),)19 b(making)h(judicious)g(use)f(of)g(a)g Fj(pr)n(e\014x)h(function)t Fk(,)g(whic)o(h)g(for)f(a)g(giv)o(en)301 1574 y(pattern)d(encapsulates)g(kno) o(wledge)f(ab)q(out)h(ho)o(w)g(the)f(pattern)g(matc)o(hes)f(against)j(shifts) 301 1646 y(of)g(itself.)0 1758 y([KMRZ93])76 b(E.)17 b(Kushilevitz,)g(Y.)f (Mansour,)h(M.)f(O.)g(Rabin,)h(and)g(D.)f(Zuc)o(k)o(erman.)21 b(Lo)o(w)o(er)c(b)q(ounds)301 1830 y(for)24 b(randomized)g(m)o(utual)g (exclusion)g(\(extended)f(abstract\).)43 b(In)23 b Fj(Pr)n(o)n(c.)g(25th)h(A) o(nn.)301 1902 y(A)o(CM)d(Symp.)f(on)h(The)n(ory)f(of)g(Computing)p Fk(,)h(pages)g(154{163,)i(San)d(Diego,)h(CA,)f(Ma)o(y)301 1975 y(1993.)40 b(The)22 b(authors)h(establish)h(a)e(lo)o(w)o(er)h(b)q(ound)g(of)f (\012\(log)10 b(log)h Fh(n)p Fk(\))22 b(bits)h(on)f(the)g(size)301 2047 y(of)g(the)g(shared)g(v)m(ariable)h(required)e(b)o(y)g(randomized)h(m)o (utual)g(exclusion)h(algorithms)301 2119 y(ensuring)e(strong)g(fairness.)g (Sligh)o(tly)g(w)o(eak)o(ening)f(the)g(fairness)h(condition)h(results)e(in) 301 2191 y(an)d(exp)q(onen)o(tial)h(reduction)e(in)h(the)f(size)h(of)f(the)g (required)g(shared)h(v)m(ariable.)0 2303 y([Kn)o(u73])134 b(D.)14 b(E.)f(Kn)o(uth.)k Fj(The)f(A)o(rt)f(of)g(Computer)g(Pr)n(o)n(gr)n(amming,)f (V)l(ol.)i(3:)21 b(Sorting)16 b(and)f(Se)n(ar)n(ch-)301 2375 y(ing)p Fk(.)f(Addison-W)l(esley)l(,)f(1973.)i(This)e(v)o(olume)e(is)h(a)g (rep)q(ository)h(of)e(sorting)i(and)f(searc)o(hing)301 2447 y(algorithms)20 b(and)f(their)f(analysis.)i(It)d(con)o(tains)i(a)f(detailed)h (and)g(thorough)g(treatmen)o(t)301 2520 y(of)e(hashing.)0 2631 y([Ko82])163 b(K.)22 b(Ko.)40 b(Some)23 b(observ)m(ations)h(on)f (probabilisti)q(c)i(algorithms)g(and)e(NP-Hard)f(prob-)301 2704 y(lems.)38 b Fj(Information)23 b(Pr)n(o)n(c)n(essing)f(L)n(etters)p Fk(,)h(14\(1\):39{43,)i(Marc)o(h)c(1982.)40 b(Ko)22 b(sho)o(ws)938 2828 y(129)p eop bop 301 195 a Fk(that)16 b(if)g(there)f(is)h(a)f(probabilisti)q(c)j (algorithm)f(for)f(an)g Fj(NP)p Fk(-hard)g(problem)g(with)g(a)g(small)301 267 y(\\t)o(w)o(o-sided)g(error",)e(then)h(there)e(is)i(a)g(probabilistic)i (algorithm)g(for)d(an)o(y)g(NP-complete)301 340 y(problem)j(with)g(a)g(small) g(\\one-sided)h(error".)0 453 y([Koz81])141 b(D.)14 b(Kozen.)i(Seman)o(tics)d (of)h(probabilisti)q(c)i(programs.)h Fj(Journal)e(of)g(Computer)g(and)g(Sys-) 301 526 y(tem)i(Scienc)n(es)p Fk(,)g(22\(3\):328{350,)h(1981.)j(A)15 b(no)o(v)o(el)g(attempt)g(at)h(de\014ning)g(the)f(seman)o(tics)301 598 y(of)i(probabilistic)i(programs.)e(Tw)o(o)g(equiv)m(alen)o(t)g(seman)o (tics)f(are)g(presen)o(ted.)0 711 y([Koz85])141 b(D.)19 b(Kozen.)27 b(A)18 b(probabilistic)k(PDL.)28 b Fj(Journal)20 b(of)f(Computer)g(and)h (System)g(Scienc)n(es)p Fk(,)301 784 y(30\(2\):162{178)q(,)15 b(1985.)g(Kozen)d(de\014nes)g(a)g(formalism)h(for)f(reasoning)i(ab)q(out)f (probabilis-)301 856 y(tic)20 b(programs)g(at)g(the)f(prop)q(ositiona)q(l)k (lev)o(el.)c(Probabilistic)j(Prop)q(ositiona)q(l)h(Dynamic)301 928 y(Logic)16 b(\(PPDL\),)f(whic)o(h)g(has)g(an)g(arithmetic)g(extension)g (for)f(eac)o(h)g(logical)j(construct)d(in)301 1000 y(PDL,)j(is)g(presen)o (ted)f(along)i(with)g(some)e(decision)i(pro)q(cedure)e(form)o(ulas)h(and)g(a) g(deduc-)301 1073 y(tiv)o(e)f(calculus.)0 1186 y([KPRR92])82 b(Z.)22 b(M.)f(Kedem,)g(K.)g(V.)g(P)o(alem,)i(M.)e(O.)g(Rabin,)j(and)f(A.)d (Ragh)o(unathan.)40 b(E\016cien)o(t)301 1259 y(program)16 b(transformations)g (for)f(resilien)o(t)g(parallel)i(computation)e(via)g(randomization.)301 1331 y(In)24 b Fj(Pr)n(o)n(c.)f(24th)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)h(The)n (ory)e(of)h(Computing)p Fk(,)h(pages)g(306{317,)301 1403 y(Victoria,)16 b(B.C.,)e(Canada,)j(Ma)o(y)e(1992.)21 b(The)15 b(authors)i(sho)o(w)f(ho)o(w)f (randomization)j(can)301 1475 y(b)q(e)e(used)h(to)f(automatically)i (transform)f(an)f(arbitrary)h(program)g(written)f(for)g(an)h(ideal)301 1548 y(parallel)h(mac)o(hine)d(to)h(run)g(on)g(a)g(completely)f(async)o (hronous)i(mac)o(hine,)e(suc)o(h)g(that)h(the)301 1620 y(resulting)e(program) f(is)g(w)o(ork)f(and)h(space)f(e\016cien)o(t)g(relativ)o(e)g(to)h(the)f (ideal)h(program)g(from)301 1692 y(whic)o(h)k(it)g(w)o(as)f(deriv)o(ed.)0 1806 y([KPS85])127 b(R.)11 b(M.)f(Karp,)i(N.)f(Pipp)q(enger,)h(and)g(M.)e (Sipser.)k(A)c(time)h(randomness)h(tradeo\013.)i(In)d Fj(AMS)301 1878 y(Conf.)20 b(on)f(Pr)n(ob)n(abilistic)g(Computational)h(Complexity)p Fk(,)f(Durham,)g(New)e(Hampshire,)301 1950 y(1985.)28 b(This)19 b(pap)q(er)g(giv)o(es)f(the)g(\014rst)g(example)f(of)i(deterministic)f (ampli\014cation)j(using)301 2022 y(expander)16 b(graphs.)0 2136 y([KPU88])117 b(D.)20 b(Krizanc,)g(D.)f(P)o(eleg,)h(and)g(E.)f(Upfal.)31 b(A)19 b(time-randomness)h(tradeo\013s)h(for)e(obliv-)301 2208 y(ious)k(message)e(routing.)36 b(In)21 b Fj(Pr)n(o)n(c.)f(20th)i(A)o(nn.)g(A) o(CM)f(Symp.)h(on)g(The)n(ory)e(of)i(Com-)301 2281 y(puting)p Fk(,)e(pages)g(93{102,)h(1988.)31 b(Giv)o(en)19 b(the)f(probabilit)o(y)j(Q)e (that)g(an)h(algorithm)g(fails)301 2353 y(to)e(complete)f(its)h(task)g(in)g (T)f(steps,)h(a)f(lo)o(w)o(er)h(b)q(ound)g(on)g(the)f(en)o(trop)o(y)g(of)g (the)g(random)301 2425 y(source)c(used)f(in)h(the)f(algorithm)i(is)f (obtained.)h(Near-optimal)f(algorithms)i(for)d(oblivious)301 2497 y(pac)o(k)o(et-routing)17 b(in)g(a)g(b)q(ounded-degree)g(net)o(w)o(ork)e (are)i(included)g(\(see)e(also)j([PU90]\).)0 2611 y([KR87])151 b(R.)19 b(M.)g(Karp)h(and)g(M.)f(O.)g(Rabin.)32 b(E\016cien)o(t)19 b(randomized)i(pattern-matc)o(hing)f(algo-)301 2683 y(rithms.)41 b Fj(IBM)23 b(Journal)g(of)g(R)n(ese)n(ar)n(ch)f(and)i(Development)p Fk(,)h(31\(2\):249{260)q(,)i(Marc)o(h)938 2828 y(130)p eop bop 301 195 a Fk(1987.)36 b(An)20 b(elegan)o(t)h(randomized)h(algorithm)g (for)f(the)f(string)i(matc)o(hing)f(problem)g(is)301 267 y(presen)o(ted.)c (Mismatc)o(hes)g(rep)q(orted)h(b)o(y)f(the)h(algorithm)i(are)d(alw)o(a)o(ys)i (correct,)e(while)i(a)301 340 y(claimed)d(matc)o(h)e(ma)o(y)g(b)q(e)h (erroneous)g(with)g(small)h(probabilit)o(y)l(.)g(The)f(algorithm)i(uses)e(a) 301 412 y(\014ngerprin)o(ting)i(function)e(\(on)g(the)g(\014nite)g(\014eld)g (of)21 b(mo)q(d)6 b Fh(p)15 b Fk(residues,)g(where)g Fh(p)g Fk(is)g(c)o(hosen)301 484 y(at)f(random\))h(to)f(e\016cien)o(tly)f(c)o(hec)o (k)f(for)h(o)q(ccurrences)h(of)g(the)f(pattern)h(string)h(in)f(the)g(text)301 556 y(string.)g(The)f(running)h(time)e(of)h(the)g(algorithm)i(is)e Fh(O)q Fk(\(\()p Fh(n)t Fg(\000)t Fh(m)t Fk(+)t(1\))p Fh(m)p Fk(\))f(in)i(the)e(w)o(orst)h(case,)301 628 y(where)18 b(the)g(text)g(is)h (of)g(length)g Fh(n)f Fk(and)h(the)f(pattern)h(is)g(of)g(length)g Fh(m)p Fk(,)f(but)g(can)h(b)q(e)f(ex-)301 701 y(p)q(ected)13 b(to)h(run)f(in)h(time)f Fh(O)q Fk(\()p Fh(n)5 b Fk(+)g Fh(m)p Fk(\))13 b(in)h(practice.)f(The)g(probabilit)o(y)i(that)f(the)f(algorithm)301 773 y(rep)q(orts)21 b(a)g(false)g(matc)o(h)f(is)h(1)p Fh(=n)p Fk(.)g(Tw)o(o-dimensional)i(patterns)e(are)f(also)i(considered.)301 845 y(An)13 b(earlier)g(v)o(ersion)g(of)g(this)h(pap)q(er)f(app)q(eared)g(as) g(T)l(ec)o(hnical)h(Rep)q(ort)f(TR-31-81,)i(Aik)o(en)301 917 y(Computation)j(Lab,)f(Harv)m(ard)g(Univ)o(ersit)o(y)l(,)e(1981.)0 1031 y([KR88])151 b(H.)13 b(Karlo\013)h(and)g(P)l(.)f(Ragha)o(v)m(an.)k (Randomized)c(algorithms)i(and)f(pseudorandom)g(n)o(um-)301 1103 y(b)q(ers.)i(In)c Fj(Pr)n(o)n(c.)g(20th)i(A)o(nn.)h(A)o(CM)e(Symp.)h(on) g(The)n(ory)f(of)g(Computing)p Fk(,)h(pages)f(310{321,)301 1176 y(1988.)20 b(F)l(ollo)o(wing)c(up)f(on)f(Bac)o(h's)f(w)o(ork)h([Bac91],) g(this)h(pap)q(er)g(studies)g(pseudo-random)301 1248 y(substitutes)k(\(with)g (small)g(seeds\))f(for)g(purely)g(random)h(c)o(hoices)e(in)i(sorting,)g (selection)301 1320 y(and)j(oblivious)j(message)c(routing.)i(An)e(in)o (teresting)h(result)g(is)h(that)f(the)f(linear)i(con-)301 1392 y(gruence)f(pseudo-random)i(n)o(um)o(b)q(er)e(generator)h(prop)q(osed)h(b)o (y)e(Kn)o(uth)g([Kn)o(u73])g(can)301 1465 y(in)o(teract)17 b(with)g(some)f(quic)o(ksort)g(algorithms.)0 1578 y([Kro85])144 b(L.)16 b(Kronsjo.)21 b Fj(Computational)c(Complexity)g(of)g(Se)n(quential)i (and)d(Par)n(al)r(lel)i(A)o(lgorithms)p Fk(.)301 1650 y(John)c(Wiley)f(and)g (Sons,)h(New)e(Y)l(ork,)g(1985.)17 b(Chapter)c(5,)g(Section)g(5.3,)g (addresses)g(prob-)301 1723 y(abilistic)20 b(algorithms.)g(Rabin's)e (algorithms)i(for)e(primalit)o(y)g(and)g(the)f(Nearest)g(Neigh-)301 1795 y(b)q(ors)h(problem)e(are)h(describ)q(ed.)0 1909 y([KRR91])115 b(H.)17 b(Karlo\013,)i(Y.)d(Rabani,)j(and)f(Y.)e(Ra)o(vid.)25 b(Lo)o(w)o(er)17 b(b)q(ounds)i(for)f(randomized)g Fh(k)r Fk(-serv)o(er)301 1981 y(and)e(motion)h(planning.)22 b(In)15 b Fj(Pr)n(o)n(c.)h(23r)n(d)f(A)o (nn.)j(A)o(CM)e(Symp.)h(on)g(The)n(ory)e(of)i(Comput-)301 2053 y(ing)p Fk(,)k(pages)f(278{288,)i(New)d(Orleans,)h(LA,)f(Ma)o(y)g(1991.)32 b(Lo)o(w)o(er)19 b(b)q(ounds)h(are)g(pro)o(v)o(ed)301 2125 y(on)k(the)f(comp)q(etitiv)o(e)g(ratio)i(of)e(randomized)h(algorithms)h(for)f (the)f(on-line)i Fh(k)r Fk(-serv)o(er)301 2198 y(problem)17 b(and)g(an)g(on-line)h(motion-planning)h(problem.)0 2311 y([KR)l(T93])120 b(M.-Y.)13 b(Kao,)i(J.)f(H.)f(Reif,)i(and)f(S.)g(R.)g(T)l(ate.)k(Searc)o (hing)d(in)g(an)g(unkno)o(wn)f(en)o(vironmen)o(t:)301 2384 y(An)i(optimal)i(randomized)e(algorithm)i(for)f(the)e(co)o(w-path)i(problem.) k(In)16 b Fj(Pr)n(o)n(c.)g(F)l(ourth)301 2456 y(A)o(nn.)i(A)o(CM-SIAM)e (Symp.)g(on)h(Discr)n(ete)g(A)o(lgorithms)p Fk(,)e(pages)h(441{447,)h (Austin,)f(TX,)301 2528 y(Jan)o(uary)h(1993.)24 b(The)17 b(\014rst)g (randomized)g(algorithm)i(for)e(the)f Fh(w)q Fk(-lane)i(co)o(w-path)f(prob-) 301 2600 y(lem,)h(a)h(problem)g(of)f(searc)o(hing)h(in)g(an)f(unkno)o(wn)h (en)o(vironmen)o(t,)e(is)i(giv)o(en.)f(The)g(algo-)938 2828 y(131)p eop bop 301 195 a Fk(rithm)14 b(is)g(optimal)g(for)g Fh(w)h Fk(=)f(2)f(and)h (evidence)e(is)i(supplied)h(that)e(it)h(is)g(optimal)h(for)e(larger)301 267 y(v)m(alues)18 b(of)e Fh(w)q Fk(.)0 379 y([KS92])160 b(P)l(.)18 b(N.)e(Klein)j(and)f(S.)f(Sairam.)27 b(A)17 b(parallel)j(randomized)e(appro)o (ximation)h(sc)o(heme)e(for)301 451 y(shortest)23 b(paths.)40 b(In)22 b Fj(Pr)n(o)n(c.)g(24th)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n(ory)f (of)h(Computing)p Fk(,)301 523 y(pages)d(750{758,)i(Victoria,)e(B.C.,)d (Canada,)k(Ma)o(y)d(1992.)30 b(A)19 b(randomized)g(algorithm)301 596 y(is)c(giv)o(en)g(for)f(appro)o(ximate)h(shortest)g(path)g(computation)g (in)g(an)g(undirected)f(w)o(eigh)o(ted)301 668 y(graph.)0 780 y([KS93])160 b(D.)18 b(R.)e(Karger)i(and)g(C.)f(Stein.)25 b(An)1002 767 y(~)990 780 y Fh(O)r Fk(\()p Fh(n)1077 761 y Fl(2)1097 780 y Fk(\))17 b(algorithm)j(for)d(minim)o(um)g(cuts.)25 b(In)17 b Fj(Pr)n(o)n(c.)301 852 y(25th)j(A)o(nn.)f(A)o(CM)g(Symp.)g(on)h(The)n(ory)e (of)h(Computing)p Fk(,)g(pages)g(757{765,)h(San)f(Diego,)301 924 y(CA,)g(Ma)o(y)f(1993.)31 b(A)18 b Fj(minimum)i(cut)g Fk(is)g(a)f(set)g (of)g(edges)g(of)g(minim)o(um)g(w)o(eigh)o(t)g(whose)301 996 y(remo)o(v)m(al)12 b(disconnects)f(a)h(giv)o(en)f(graph.)g(Karger)h(and)f (Stein)h(giv)o(e)f(a)g(strongly)h(p)q(olynomial)301 1068 y(randomized)23 b(algorithm)g(whic)o(h)f(\014nds)h(a)f(minim)o(um)g(cut)f(with)i(high)g (probabilit)o(y)g(in)301 1141 y Fh(O)q Fk(\()p Fh(n)387 1123 y Fl(2)416 1141 y Fk(log)479 1119 y Fl(3)507 1141 y Fh(n)p Fk(\))f(time.)f(Their)i(algorithm)h(can)e(b)q(e)g(implemen)o(ted)f(in)h Fj(RNC)g Fk(using)h(only)301 1213 y Fh(n)330 1195 y Fl(2)371 1213 y Fk(pro)q(cessors,)f(and)f(is)h(th)o(us)e(the)h(\014rst)f(e\016cien)o (t)g Fj(RNC)g Fk(algorithm)j(for)d(the)h(min-cut)301 1285 y(problem.)0 1397 y([KST90])125 b(P)l(.)13 b(Klein,)h(C.)f(Stein,)g(and)h(E.)e(T)l(ardos.) 17 b(Leigh)o(ton-Rao)e(migh)o(t)e(b)q(e)h(practical:)20 b(F)l(aster)13 b(ap-)301 1469 y(pro)o(ximation)19 b(algorithms)g(for)e(concurren)o(t)f (\015o)o(w)i(with)f(uniform)h(capacities.)24 b(In)17 b Fj(Pr)n(o)n(c.)301 1541 y(22nd)i(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n(ory)f(of)g(Computing)p Fk(,)h(pages)f(310{321,)j(Baltimore,)301 1614 y(MD,)f(Ma)o(y)g(1990.)34 b(They)20 b(giv)o(e)g(an)h Fh(O)q Fk(\()p Fh(m)1081 1595 y Fl(2)1109 1614 y Fk(log)10 b Fh(m)p Fk(\))20 b(exp)q(ected-time)f(randomized) i(algo-)301 1686 y(rithm)15 b(for)g(appro)o(ximately)g(solving)i(the)d (concurren)o(t)g(m)o(ulticommo)q(dit)o(y)h(\015o)o(w)g(problem)301 1758 y(with)i(uniform)g(capacities.)0 1870 y([Kur87])141 b(S.)12 b(A.)e(Kurtz.)j(A)e(note)h(on)g(random)g(p)q(olynomial)i(time.)f Fj(SIAM)g(Journal)g(on)h(Computing)p Fk(,)301 1942 y(16\(5\):852{853)q(,)j (Octob)q(er)d(1987.)20 b(Sho)o(ws)15 b(that)g Fh(P)1229 1924 y Ff(A)1264 1942 y Fg(\\)7 b Fh(P)1342 1924 y Ff(B)1387 1942 y Fk(=)14 b Fh(B)s(P)7 b(P)21 b Fk(with)15 b(probabilit)o(y)i(1)301 2014 y(for)24 b(indep)q(enden)o(t)f(random)g(sets)g Fh(A)g Fk(and)g Fh(B)s Fk(.)f(Here,)h Fh(A)g Fk(and)g Fh(B)j Fk(are)d(sets)g (consisting)301 2086 y(of)h(strings)h(c)o(hosen)f(at)g(random,)h(and)f Fh(P)1101 2068 y Ff(A)1154 2086 y Fk(and)g Fh(P)1294 2068 y Ff(B)1348 2086 y Fk(are)g(relativized)g(to)g Fh(A)f Fk(and)h Fh(B)301 2159 y Fk(resp)q(ectiv)o(ely)l(.)16 b(See)f([Gil77)r(])h(for)g (additional)k(notation.)0 2270 y([KUW86])100 b(R.)15 b(M.)g(Karp,)g(E.)g (Upfal,)h(and)g(A.)e(Wigderson.)21 b(Constructing)c(a)f(p)q(erfect)f(matc)o (hing)g(in)301 2342 y(Random)d(NC.)h Fj(Combinatoric)n(a)p Fk(,)e(6:35{48,)i(1986.)i(P)o(erfect)10 b(matc)o(hing)h(is)h(a)f(fundamen)o (tal)301 2415 y(problem)17 b(that)g(is)h(not)f(kno)o(wn)g(to)g(b)q(e)g(solv)m (able)h(b)o(y)e(an)h Fj(NC)g Fk(algorithm,)h(i.e.,)e(a)h(parallel)301 2487 y(algorithm)c(running)g(in)f(time)f(p)q(olynomial)j(in)d(log)g Fh(n)g Fk(and)h(using)g(a)g(n)o(um)o(b)q(er)e(of)i(pro)q(cessors)301 2559 y(p)q(olynomial)23 b(in)e Fh(n)p Fk(.)e(This)j(pap)q(er)e(pro)o(v)o(es)g (that)g(p)q(erfect)f(matc)o(hing)i(is)g(in)f(random)h Fj(NC)301 2631 y Fk(and)15 b(giv)o(es)f(a)h(fast,)g(parallel,)h(randomized)f(algorithm) h(for)e(\014nding)i(a)e(p)q(erfect)g(matc)o(hing)301 2704 y(in)j(a)g(simple)g (graph.)938 2828 y(132)p eop bop 0 195 a Fk([KVV90])113 b(R.)20 b(M.)f(Karp,)h(U.)f(V.)g(V)l(azirani,)i (and)f(V.)f(V.)g(V)l(azirani.)32 b(An)20 b(optimal)h(algorithm)h(for)301 267 y(on-line)i(bipartite)f(matc)o(hing.)39 b(In)21 b Fj(Pr)n(o)n(c.)h(22nd)h (A)o(nn.)g(A)o(CM)f(Symp.)h(on)g(The)n(ory)e(of)301 340 y(Computing)p Fk(,)d(pages)g(352{358,)i(Baltimore,)e(MD,)f(Ma)o(y)g(1990.)26 b(An)17 b(on-line)i(algorithm)301 412 y(receiv)o(es)14 b(a)h(sequence)f(of)h (requests)f(and)i(m)o(ust)e(resp)q(ond)i(to)f(eac)o(h)f(request)g(as)i(so)q (on)g(as)f(it)301 484 y(is)j(receiv)o(ed.)d(In)h(con)o(trast,)g(an)i (o\013-line)g(algorithm)h(ma)o(y)d(w)o(ait)h(un)o(til)h(all)g(requests)e(ha)o (v)o(e)301 556 y(b)q(een)23 b(receiv)o(ed)e(b)q(efore)i(determining)h(its)f (resp)q(onses.)g(The)g(authors)h(giv)o(e)f(a)g(simple,)301 628 y(randomized,)17 b(optimal,)g(on-line)h(algorithm)g(for)f(bipartite)g (matc)o(hing.)0 740 y([KW85])137 b(R.)22 b(M.)f(Karp)h(and)g(A.)f(Wigderson.) 39 b(A)22 b(fast)g(parallel)i(algorithm)g(for)e(the)f(maximal)301 812 y(indep)q(enden)o(t)h(set)g(problem.)39 b Fj(Journal)22 b(of)h(the)g(A)o(CM)p Fk(,)e(32\(4\):762{773,)26 b(1985.)40 b(This)301 885 y(imp)q(ortan)o(t)14 b(pap)q(er)g(sho)o(w)o(ed)f(that)g(the)g (maximal)h(indep)q(enden)o(t)f(set)f(problem)i(for)f(graphs)301 957 y(can)i(b)q(e)g(solv)o(ed)g(in)g(p)q(olylogarithmic)j(time)c(using)i(a)f (p)q(olynomial)i(n)o(um)o(b)q(er)d(of)g(pro)q(cesses)301 1029 y(on)i(a)g(PRAM)e(in)i(whic)o(h)f(concurren)o(t)g(reads)g(and)h(writes)g(are) f(disallo)o(w)o(ed.)i(They)e(deriv)o(e)301 1101 y(their)23 b(algorithm)h(from)d(a)i(randomized)f(one)g(using)i(a)e(tec)o(hnique)f(that)i (has)f(b)q(ecome)301 1174 y(kno)o(wn)17 b(as)g(derandomization)h(via)f Fh(k)r Fk(-wise)g(indep)q(endence.)0 1285 y([KZ88])157 b(R.)11 b(M.)f(Karp)i(and)g(Y.)e(Zhang.)k(A)c(randomized)i(parallel)h(branc)o(h)e (and)h(b)q(ound)g(pro)q(cedure.)301 1357 y(In)24 b Fj(Pr)n(o)n(c.)f(20th)h(A) o(nn.)h(A)o(CM)e(Symp.)h(on)h(The)n(ory)e(of)h(Computing)p Fk(,)h(pages)g(290{300,)301 1430 y(1988.)h(A)16 b(general)i(tec)o(hnique)e (assuming)j(no)f(sp)q(ecial)g(comm)o(unication)g(capabilities)i(is)301 1502 y(presen)o(ted.)0 1614 y([Lak90])145 b(Y.)20 b(N.)f(Lakshman.)34 b(On)21 b(the)f(complexit)o(y)g(of)g(computing)h(a)g(Gr\177)-24 b(obner)21 b(basis)h(for)e(the)301 1686 y(radical)15 b(of)e(a)h(zero)e (dimensional)k(ideal.)h(In)12 b Fj(Pr)n(o)n(c.)i(22nd)g(A)o(nn.)h(A)o(CM)f (Symp.)g(on)h(The)n(ory)301 1758 y(of)i(Computing)p Fk(,)e(pages)h(555{562,)i (Baltimore,)e(MD,)f(Ma)o(y)f(1990.)21 b(Lakshmanan)c(sho)o(ws)301 1830 y(that)h(if)g(a)g(system)f(of)g(p)q(olynomials)k Fh(f)1012 1837 y Fl(1)1032 1830 y Fk(,)c Fh(f)1087 1837 y Fl(2)1106 1830 y Fh(;)8 b Fk(.)g(.)g(.)g Fh(;)17 b(f)1249 1837 y Ff(r)1285 1830 y Fk(in)h Fh(n)g Fk(v)m(ariables)h(with)f Fh(deg)r Fk(\()p Fh(f)1821 1837 y Ff(i)1835 1830 y Fk(\))e Fg(\024)g Fh(d)301 1902 y Fk(o)o(v)o(er)22 b(the)h(rational)i(n)o(um)o(b)q(ers)d(has)h(only)h (\014nitely)f(man)o(y)f(a\016ne)h(zeros,)h(then)e(all)i(the)301 1975 y(a\016ne)17 b(zeros)h(can)f(b)q(e)g(determined)g(in)h(time)f(p)q (olynomial)j(in)e Fh(d)1475 1957 y Ff(n)1516 1975 y Fk(b)o(y)e(a)i(Las)g(V)l (egas)g(t)o(yp)q(e)301 2047 y(randomized)f(algorithm.)0 2159 y([LC88])160 b(T.G.)19 b(Lewis)h(and)f(C.R.)f(Co)q(ok.)30 b(Hashing)21 b(for)e(dynamic)g(and)g(static)h(in)o(ternal)g(tables.)301 2231 y Fj(Computer)p Fk(,)d(21:45{56,)i(1988.)24 b(The)17 b(authors)h(surv)o (ey)e(the)g(classical)k(hashing)e(function)301 2303 y(approac)o(h)j(to)g (information)h(retriev)m(al)g(and)f(sho)o(w)g(ho)o(w)f(general)h(hashing)i (tec)o(hniques)301 2375 y(exc)o(hange)d(sp)q(eed)g(for)g(memory)l(.)e(It)i (is)h(a)f(tutorial)i(pap)q(er)e(that)h(co)o(v)o(ers,)e(among)i(other)301 2447 y(topics,)e(dynamic)f(and)g(static)g(hash)h(tables,)f(p)q(erfect)f (hashing,)i(and)g(minimal)g(p)q(erfect)301 2520 y(hashing.)0 2631 y([Leh27])146 b(D.)21 b(H.)e(Lehmer.)33 b Fj(Bul)r(letin)24 b(of)d(the)g(A)o(meric)n(an)h(Mathematic)n(al)f(So)n(ciety)p Fk(,)g(33:327{340,)301 2704 y(1927.)i(This)17 b(pap)q(er)g(presen)o(ts)f(the) g(Lucas-Lehmer)h(heuristic)g(for)g(primalit)o(y)g(testing.)938 2828 y(133)p eop bop 0 195 a Fk([Leh82])146 b(D.)19 b(Lehmann.)28 b(On)19 b(primalit)o(y)h (tests.)28 b Fj(SIAM)20 b(Journal)f(on)h(Computing)p Fk(,)g(11\(2\),)g(Ma)o (y)301 267 y(1982.)h(Lehmann)15 b(presen)o(ts)f(t)o(w)o(o)g(algorithms)j(for) e(testing)h(primalit)o(y)g(based)f(on)g(the)f(ex-)301 340 y(tended)e(Riemann) g(h)o(yp)q(othesis.)g(The)g(second)g(algorithm)h(is)g(faster)e(than)i(that)f (prop)q(osed)301 412 y(b)o(y)k([SS77)q(])f(as)i(it)g(do)q(es)g(not)g(in)o(v)o (olv)o(e)f(computing)h(the)f(Jacobi)h(sym)o(b)q(ol.)0 523 y([Lei92])160 b(T.)23 b(Leigh)o(ton.)41 b(Metho)q(ds)22 b(for)h(message)g(routing)h(on)f (parallel)h(mac)o(hines.)40 b(In)22 b Fj(Pr)n(o)n(c.)301 596 y(24th)17 b(A)o(nn.)f(A)o(CM)g(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p Fk(,)f(pages)h(77{96,)h(Victoria,)f(B.C.,)301 668 y(Canada,)i(Ma)o(y)e(1992.) 22 b(This)c(surv)o(ey)d(includes)i(the)f(topic)h(of)g(randomized)g(wiring.)0 780 y([LFKN90])88 b(C.)21 b(Lund,)i(L.)e(F)l(ortno)o(w,)h(H.)e(Karlo\013,)j (and)f(N.)e(Nisan.)36 b(Algebraic)21 b(metho)q(ds)h(for)f(in-)301 852 y(teractiv)o(e)e(pro)q(of)h(systems.)30 b(In)18 b Fj(Pr)n(o)n(c.)h(31st)h (A)o(nn.)h(IEEE)f(Symp.)g(on)g(F)l(oundations)h(of)301 924 y(Computer)h(Scienc)n(e)p Fk(,)j(pages)d(2{10,)i(1990.)38 b(The)22 b(authors)g(presen)o(t)f(a)h(new)f(algebraic)301 996 y(tec)o(hnique)e(for)h (constructing)h(IP)f(systems)f(and)i(pro)o(v)o(e)e(that)h(ev)o(ery)e (language)k(in)e(the)301 1068 y(p)q(olynomial)d(time)c(hierarc)o(h)o(y)g(has) h(an)g(in)o(teractiv)o(e)f(pro)q(of)h(system.)f(This)h(is)g(a)g(k)o(ey)e(pap) q(er)301 1141 y(essen)o(tial)17 b(for)e(pro)o(ving)h Fh(I)t(P)k Fk(=)14 b Fh(P)7 b(S)s(P)g(AC)t(E)18 b Fk([Sha92b)q(])c(and)i Fh(M)5 b(I)t(P)21 b Fk(=)14 b Fh(N)5 b(E)s(X)t(P)23 b Fk([BFL90].)0 1252 y([LLM90])120 b(F.)27 b(T.)f(Leigh)o(ton,)31 b(D.)c(Lisinski,)k(and)d (B.)e(M.)g(Maggs.)54 b(Empirical)29 b(ev)m(aluation)g(of)301 1325 y(randomly-wired)d(m)o(ultistage)g(net)o(w)o(orks.)45 b(In)24 b Fj(Pr)n(o)n(c.)g(1990)g(IEEE)h(Int'l.)h(Conf.)f(on)301 1397 y(Computer)d(Design)p Fk(,)g(pages)f(380{385,)j(1990.)36 b(This)22 b(pap)q(er)f(presen)o(ts)f(sim)o(ulation)j(re-)301 1469 y(sults)18 b(comparing)f(the)g(fault-tolerance,)g(dela)o(y)g(and)g (other)f(c)o(haracteristics)h(of)g(butter-)301 1541 y(\015ies,)e(dilated)h (butter\015ies)f(and)g(randomly-wired)i(m)o(ultibutter\015ies.)d (Randomly-wired)301 1614 y(m)o(ultibutter\015ies)j(p)q(erform)g(b)q(etter)f (b)o(y)f(man)o(y)h(y)o(ardstic)o(ks.)0 1725 y([LLS87])138 b(D.)12 b(Lic)o(h)o(tenstein,)g(N.)f(Linial,)k(and)d(M.)f(Saks.)j(Imp)q(erfect)c (random)i(sources)g(and)g(discrete)301 1797 y(con)o(trolled)19 b(pro)q(cesses.)26 b(In)17 b Fj(Pr)n(o)n(c.)g(19th)i(A)o(nn.)g(A)o(CM)f (Symp.)h(on)g(The)n(ory)e(of)i(Comput-)301 1870 y(ing)p Fk(,)h(pages)f (169{177,)j(1987.)29 b(Imp)q(erfect)17 b(sources)i(are)g(mo)q(deled)g(b)o(y)f (discrete)g(con)o(trol)301 1942 y(pro)q(cesses)h(where)e(the)h(output)g (string)h(of)f(zeros)g(and)g(ones)g(has)h(b)q(een)f(tamp)q(ered)f(with)301 2014 y(b)o(y)g(a)g(con)o(troller)g(who)g(can)g(sp)q(ecify)g(certain)g(bits.)g (Sev)o(eral)f(questions)i(concerning)f(the)301 2086 y(mem)o(b)q(ership)f(of)h (suc)o(h)f(a)h(string)g(in)g(a)g(presp)q(eci\014ed)f(set)g Fh(L)h Fk(are)f(answ)o(ered.)0 2198 y([LL)-5 b(W88])120 b(N.)17 b(Linial,)k(L.)c(Lo)o(v\023)-24 b(asz,)19 b(and)f(A.)f(Wigderson.)27 b(Rubb)q(er)18 b(bands,)h(con)o(v)o(ex)d(em)o(b)q(eddings,)301 2270 y(and)i(graph)g(connectivit)o(y)l(.)k Fj(Combinatoric)n(a)p Fk(,)17 b(8:91{102,)i(1988.)24 b(Sev)o(eral)17 b(probabilistic)301 2342 y(algorithms)24 b(for)d(connectivit)o(y)g(computation,)j(b)q(oth)e(of)f (the)h(Mon)o(te)e(Carlo)j(and)f(Las)301 2415 y(V)l(egas)d(v)m(ariet)o(y)l(,)f (are)h(giv)o(en,)f(as)h(is)g(a)g(formalization)i(of)d(the)g(connectivit)o(y)h (problem)f(in)301 2487 y(terms)k(of)h(em)o(b)q(edded)f(graphs.)h(E\016cien)o (t)f(parallel)i(implemen)o(tations)g(are)f(included.)301 2559 y(\(First)f(app)q(eared)g(under)f(the)f(title)i(\\A)f(ph)o(ysical)h(in)o (terpretation)g(of)f(graph)h(connec-)301 2631 y(tivit)o(y)g(and)f(its)h (algorithmic)h(applications")h(in)e Fj(Pr)n(o)n(c.)e(27th)i(A)o(nn.)h(IEEE)e (Symp.)h(on)301 2704 y(F)l(oundations)d(of)e(Computer)g(Scienc)n(e)t Fk(,)h(1986,)f(pp.)f(39{53.\).)938 2828 y(134)p eop bop 0 195 a Fk([LM89])150 b(F.)19 b(T.)h(Leigh)o(ton)h(and)f(B.)f(M.)g (Maggs.)32 b(Expanders)20 b(migh)o(t)g(b)q(e)g(practical:)29 b(fast)20 b(algo-)301 267 y(rithms)c(for)g(routing)h(around)g(faults)g(in)f (m)o(ultibutter\015ies.)21 b(In)15 b Fj(Pr)n(o)n(c.)h(30th)h(A)o(nn.)g(IEEE) 301 340 y(Symp.)f(on)g(F)l(oundations)h(of)f(Computer)g(Scienc)n(e)p Fk(,)g(pages)f(384{389,)j(1989.)i(This)15 b(pap)q(er)301 412 y(con)o(tains)g(a)f(simpler)g(v)o(ersion)f(of)h(Upfal's)g(results)g([Upf89])e (and)i(algorithms)i(for)e(routing)301 484 y(on)j(randomized)g(m)o (ultibutter\015ies)g(in)g(the)f(presence)f(of)i(faults.)0 598 y([LM92a])126 b(F.)15 b(T.)f(Leigh)o(ton)i(and)g(B.)d(M.)h(Maggs.)20 b(F)l(ast)15 b(algorithms)i(for)e(routing)i(around)e(faults)h(in)301 670 y(m)o(ultibutter\015ies)g(and)g(randomly-wired)h(splitter)g(net)o(w)o (orks.)i Fj(IEEE)d(T)l(r)n(ans.)g(on)h(Com-)301 742 y(puters)p Fk(,)k(41\(5\):578{587,)i(Ma)o(y)c(1992.)33 b(This)21 b(pap)q(er)g(describ)q (es)f(simple)g(deterministic)301 814 y Fh(O)q Fk(\(log)11 b Fh(N)5 b Fk(\)-step)18 b(algorithms)h(for)e(routing)i(p)q(erm)o(utations)f (of)f(pac)o(k)o(ets)f(in)i(m)o(ultibutter-)301 887 y(\015ies)e(and)g (randomly-wired)h(splitter)f(net)o(w)o(orks.)f(The)g(algorithms)j(are)d (robust)h(against)301 959 y(faults)h(\(ev)o(en)d(in)h(the)g(w)o(orst)h (case\))f(and)h(are)f(e\016cien)o(t)f(from)h(a)g(practical)i(p)q(oin)o(t)f (of)f(view.)0 1073 y([LM92b])123 b(F.)20 b(T.)g(Leigh)o(ton)i(and)f(B.)f(M.)g (Maggs.)34 b(The)21 b(role)g(of)g(randomness)g(in)g(the)f(design)i(of)301 1145 y(in)o(terconnection)c(net)o(w)o(orks.)k Fj(Information)17 b(Pr)n(o)n(c)n(essing)p Fk(,)f(I:291{305,)j(1992.)24 b(A)16 b(surv)o(ey)301 1217 y(of)22 b(recen)o(t)d(researc)o(h)i(on)g(randomly)h (wired)g(in)o(terconnection)f(net)o(w)o(orks,)h(whic)o(h)f(ha)o(v)o(e)301 1289 y(b)q(een)16 b(found)h(to)f(b)q(e)g(exceptionally)h(fault-toleran)o(t)h (and)e(w)o(ell-suited)i(for)e(b)q(oth)h(pac)o(k)o(et-)301 1362 y(routing)h(and)f(circuit-switc)o(hing)h(applications.)0 1475 y([LMP)122 1457 y Fl(+)151 1475 y Fk(91])88 b(F.)12 b(T.)g(Leigh)o(ton,)h(F.) f(Mak)o(edon,)g(S.)g(Plotkin,)i(C.)e(Stein,)g(E.)g(T)l(ardos,)i(and)f(S.)e(T) l(ragoudas.)301 1548 y(F)l(ast)20 b(appro)o(ximation)i(algorithms)g(for)e(m)o (ulticommo)q(dit)o(y)g(\015o)o(w)g(problems.)32 b(In)19 b Fj(Pr)n(o)n(c.)301 1620 y(23r)n(d)13 b(A)o(nn.)i(A)o(CM)e(Symp.)h(on)h(The)n(ory)d(of)i (Computing)p Fk(,)g(pages)f(101{111,)j(New)c(Orleans,)301 1692 y(LA,)k(Ma)o(y)g(1991.)23 b(The)16 b(pap)q(er)h(presen)o(ts)e(randomized)i (algorithms)i(for)d(appro)o(ximately)301 1764 y(solving)j(the)e(m)o (ulticommo)q(dit)o(y)g(\015o)o(w)h(problem.)f(The)g(algorithms)i(run)e(in)g (p)q(olynomial)301 1836 y(time)f(with)i(high)f(probabilit)o(y)l(.)0 1950 y([Lo)o(v79])146 b(L.)13 b(Lo)o(v)m(asz.)j(On)d(determinan)o(ts,)g(matc) o(hings)h(and)f(random)g(algorithms.)18 b(In)12 b(L.)h(Budac)o(h,)301 2022 y(editor,)23 b Fj(F)l(undamentals)g(of)e(Computing)h(The)n(ory)p Fk(.)e(Ak)m(ademia-V)l(erlag,)i(Berlin,)g(1979.)301 2095 y(Lo)o(v)m(asz)17 b(describ)q(es)g(a)f(probabilistic)j(metho)q(d)d(for)g(determining)h(the)e(p) q(erfect)h(matc)o(hing)301 2167 y(in)h(a)g(simple)g(graph,)g(if)f(one)h (exists,)f(using)i(T)l(utte's)e(theorem.)0 2281 y([LP90])162 b(F.)21 b(T.)g(Leigh)o(ton)i(and)f(C.)g(G.)f(Plaxton.)38 b(A)21 b(\(fairly\))h(simple)h(circuit)f(that)f(\(usually\))301 2353 y(sorts.)k(In)17 b Fj(Pr)n(o)n(c.)h(31st)g(A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l (oundations)g(of)f(Computer)h(Scienc)n(e)p Fk(,)301 2425 y(pages)i(264{274,)i (1990.)34 b(A)20 b Fh(k)r Fk(-round)h(tournamen)o(t)f(o)o(v)o(er)f Fh(n)i Fk(=)f(2)1540 2407 y Ff(k)1582 2425 y Fk(pa)o(y)o(ers)f(whic)o(h)h (has)301 2497 y(v)o(ery)12 b(go)q(o)q(d)j(sorting)g(prop)q(erties)f(is)g(in)o (tro)q(duced.)f(There)f(prop)q(erties)i(are)f(then)g(exploited)301 2570 y(in)k(a)g(sorting)h(net)o(w)o(ork)d(and)i(t)o(w)o(o)f(randomized)h (algorithms.)938 2828 y(135)p eop bop 0 195 a Fk([LPV81])125 b(G.)16 b(Lev,)f(N.)f(Pipp)q(enger,)i(and)g(L.)g (V)l(alian)o(t.)21 b(A)15 b(fast)h(parallel)h(algorithm)h(for)d(routing)i(in) 301 267 y(p)q(erm)o(utation)e(net)o(w)o(orks.)i Fj(IEEE)e(T)l(r)n(ans.)g(on)g (Computers)p Fk(,)f(C-30\(2\):93{100,)j(F)l(ebruary)301 340 y(1981.)36 b(This)22 b(pap)q(er)f(presen)o(ts)f(deterministic)h(algorithms)i (for)e(routing)h(in)f(p)q(erm)o(uta-)301 412 y(tion)16 b(net)o(w)o(orks.)e (The)h(fastest)h(algorithms)h(require)d(global)k(kno)o(wledge)d(and)h (\012\(log)1859 390 y Fl(2)1887 412 y Fh(N)5 b Fk(\))301 484 y(parallel)19 b(time.)0 598 y([LR81])159 b(D.)15 b(Lehmann)h(and)f(M.)g(O.)f (Rabin.)20 b(On)15 b(the)g(adv)m(an)o(tage)h(of)g(free)e(c)o(hoice:)20 b(A)15 b(symmetric)301 670 y(and)k(fully)h(distributed)g(solution)g(to)f(the) g(Dining)h(Philosophers)h(problem)e(\(extended)301 742 y(abstract\).)32 b(In)19 b Fj(Pr)n(o)n(c.)g(Eighth)i(A)o(nn.)g(A)o(CM)e(Symp.)i(on)f (Principles)h(of)g(Pr)n(o)n(gr)n(amming)301 814 y(L)n(anguages)p Fk(,)g(pages)g(133{138,)h(1981.)33 b(A)19 b(classic)i(pap)q(er)g(in)f(the)f (area)h(of)g(randomized)301 887 y(distributed)25 b(algorithms.)g(They)e(sho)o (w)g(there)g(is)h(no)f(deterministic,)i(deadlo)q(c)o(k-free,)301 959 y(truly)15 b(distributed)h(and)g(symmetric)e(solution)j(to)e(the)f (Dining)j(Philosophers)g(problem,)301 1031 y(and)g(describ)q(e)g(a)f(simple)h (probabilisti)q(c)i(alternativ)o(e.)0 1145 y([LS91])168 b(D.)12 b(Lapidot)h(and)f(A.)f(Shamir.)j(F)l(ully)f(parallelized)g(m)o(ulti-pro)o(v)o (er)f(proto)q(cols)h(for)f(NEXP-)301 1217 y(time.)22 b(In)16 b Fj(Pr)n(o)n(c.)h(32nd)g(A)o(nn.)i(IEEE)e(Symp.)g(on)h(F)l(oundations)h(of)e (Computer)h(Scienc)n(e)p Fk(,)301 1289 y(pages)f(13{18,)g(1991.)22 b(This)17 b(pap)q(er)g(presen)o(ts)e(a)h(one-round,)h(zero-kno)o(wledge)f (proto)q(col)301 1362 y(\(without)24 b(cryptographic)g(assumptions\))g(for)f (ev)o(ery)e(language)k(in)e Fj(NEXP-time)t Fk(.)g(In)301 1434 y(a)i(m)o(ulti-pro)o(v)o(er)e(proto)q(col,)k(sev)o(eral)d(pro)o(v)o(ers)f (try)g(to)i(con)o(vince)e(a)h(p)q(olynomial-ti)q(me)301 1506 y(v)o(eri\014er)18 b(that)h(a)g(string)h Fh(X)j Fk(b)q(elongs)e(in)e (language)i Fh(L)p Fk(.)d(Pro)o(v)o(ers)g(cannot)i(comm)o(unicate)301 1578 y(among)f(themselv)o(es)e(or)h(observ)o(e)f(comm)o(unications)i(b)q(et)o (w)o(een)e(the)g(v)o(eri\014er)h(and)g(other)301 1650 y(pro)o(v)o(ers.)g(The) g(proto)q(col)i(ensures)e(that)h(if)g Fh(X)k Fk(is)c(not)g(in)g Fh(L)p Fk(,)f(the)g(probabilit)o(y)j(that)d(the)301 1723 y(v)o(eri\014er)e (accepts)g(the)g(string)h(as)g(b)q(elonging)i(to)e Fh(L)f Fk(is)h(exp)q(onen) o(tially)h(small.)0 1836 y([LS92])168 b(L.)18 b(Lo)o(v)m(asz)g(and)g(M.)e (Simono)o(vits.)26 b(On)18 b(the)f(randomized)h(complexit)o(y)f(of)g(v)o (olume)g(and)301 1909 y(diameter.)23 b(In)17 b Fj(Pr)n(o)n(c.)g(33r)n(d)g(A)o (nn.)h(IEEE)g(Symp.)g(on)g(F)l(oundations)h(of)f(Computer)g(Sci-)301 1981 y(enc)n(e)p Fk(,)g(pages)g(482{492,)i(1992.)25 b(The)17 b(authors)i(presen)o(t)d(an)i Fh(O)q Fk(\()p Fh(n)1499 1963 y Fl(7)1527 1981 y Fk(log)1590 1959 y Fl(2)1618 1981 y Fh(n)p Fk(\))g(algorithm)h(to)301 2053 y(appro)o(ximate)i(the)g(v)o(olume)f(of)h(a)f (con)o(v)o(ex)g(b)q(o)q(dy)l(,)i(and)f(an)g Fh(O)q Fk(\()p Fh(n)1512 2035 y Fl(6)1540 2053 y Fk(log)11 b Fh(n)p Fk(\))20 b(algorithm)j(to)301 2125 y(sample)17 b(a)g(p)q(oin)o(t)g(from)f(the)g (uniform)h(distribution)i(o)o(v)o(er)c(a)i(con)o(v)o(ex)e(b)q(o)q(dy)l(.)0 2239 y([LS93])168 b(J.)13 b(Lutz)g(and)h(W.)f(Sc)o(hmidt.)j(Circuit)e(size)f (relativ)o(e)g(to)h(pseudo-random)g(oracles.)j Fj(The)n(o-)301 2311 y(r)n(etic)n(al)d(Computer)f(Scienc)n(e)p Fk(,)h(107:95{120,)i(1993.)f (Assuming)e(pseudo-random)h(oracles,)301 2384 y(circuit-size)20 b(complexit)o(y)e(is)h(compared)f(with)h(deterministic)h(and)e (non-deterministic)301 2456 y(complexit)o(y)l(.)c(The)h(pap)q(er)h(also)g (sho)o(ws)g(that)f(for)g(ev)o(ery)e(p-space)i(random)h(oracle)f Fh(A)f Fk(and)301 2528 y(almost)19 b(ev)o(ery)c(oracle)i Fh(A)g Fk(in)h Fh(E)s(P)7 b(S)s(P)g(AC)t(E)s Fk(,)16 b Fh(N)5 b(P)1217 2510 y Ff(A)1263 2528 y Fk(is)17 b(not)h(con)o(tained)f(in)h Fh(S)s(I)t(Z)t(E)1814 2510 y Ff(A)1842 2528 y Fk(\(2)1885 2510 y Ff(\013n)1931 2528 y Fk(\))301 2600 y(for)f(an)o(y)f(real)h Fh(\013)d(<)g Fk(1)p Fh(=)p Fk(3,)j(and)g Fh(E)897 2582 y Ff(A)941 2600 y Fk(is)g(not)g(con)o(tained)g(in)g Fh(S)s(I)t(Z)t(E)1490 2582 y Ff(A)1518 2600 y Fk(\(2)1561 2582 y Ff(n)1585 2600 y Fh(=n)p Fk(\).)938 2828 y(136)p eop bop 0 195 a Fk([LSP82])135 b(L.)22 b(Lamp)q(ort,)i(R.)d(Shostak,)j(and)e(M.)f (P)o(ease.)38 b(The)21 b(Byzan)o(tine)g(Generals)i(problem.)301 267 y Fj(A)o(CM)j(T)l(r)n(ans.)e(on)i(Pr)n(o)n(gr)n(amming)e(L)n(anguages)j (and)e(Systems)p Fk(,)j(4\(3\):382{401,)i(July)301 340 y(1982.)43 b(They)23 b(pro)o(v)o(ed)g(that)g(Byzan)o(tine)f(agreemen)o(t)h(\(the)f(sub)s (ject)h(of)g(Section)h(3.5\))301 412 y(cannot)15 b(b)q(e)f(reac)o(hed)f (unless)i(few)o(er)e(than)i(one-third)g(of)f(the)g(pro)q(cesses)g(are)g (fault)o(y)l(.)g(This)301 484 y(result)f(assumes)f(that)h(authen)o(tication,) h(i.e.,)d(the)h(crypting)h(of)f(messages)g(to)h(mak)o(e)e(them)301 556 y(unforgeable,)k(is)g(not)f(used.)f(With)h(unforgeable)h(messages,)f (they)f(sho)o(w)h(that)g(the)f(prob-)301 628 y(lem)20 b(is)g(solv)m(able)h (for)e(an)o(y)h Fh(n)f Fg(\025)g Fh(t)f(>)h Fk(0,)h(where)f Fh(n)h Fk(is)g(the)f(total)h(n)o(um)o(b)q(er)f(of)g(pro)q(cesses)301 701 y(and)e Fh(t)f Fk(is)h(the)f(n)o(um)o(b)q(er)g(of)g(fault)o(y)h(pro)q (cesses.)0 814 y([Lut92])149 b(J.)24 b(Lutz.)46 b(On)25 b(indep)q(enden)o(t)f (random)h(oracles.)46 b Fj(The)n(or)n(etic)n(al)25 b(Computer)g(Scienc)n(e)p Fk(,)301 887 y(92:301{307,)c(1992.)28 b(This)19 b(pap)q(er)g(sho)o(ws)g(that) f(for)g(ev)o(ery)f(random)h(language)i Fh(A)12 b Fg(\010)g Fh(B)s Fk(,)301 959 y Fh(P)7 b Fk(\()p Fh(A)p Fk(\))r Fg(\\)r Fh(P)g Fk(\()p Fh(B)s Fk(\))14 b(=)g Fh(B)s(P)7 b(P)g Fk(,)12 b(where)f Fh(P)c Fk(\()p Fh(A)p Fk(\))12 b(and)g Fh(P)7 b Fk(\()p Fh(B)s Fk(\))12 b(are)g(the)f(class)i(of)f(languages)i(in)f(p)q(oly-)301 1031 y(nomial)18 b(time)e(relativized)h(to)g Fh(A)f Fk(and)h Fh(B)s Fk(.)e(This)i(impro)o(v)o(es)f(on)h(the)f(results)h(of)g([Kur87].)0 1145 y([L)-5 b(V92])163 b(J.-H.)13 b(Lin)h(and)g(J.)f(S.)g(Vitter.)j Fh(\017)p Fk(-appro)o(ximations)f(with)f(minim)o(um)f(pac)o(king)h(constrain) o(t)301 1217 y(violation.)38 b(In)20 b Fj(Pr)n(o)n(c.)h(24th)g(A)o(nn.)i(A)o (CM)e(Symp.)g(on)h(The)n(ory)f(of)g(Computing)p Fk(,)h(pages)301 1289 y(771{782,)e(Victoria,)e(B.C.,)e(Canada,)i(Ma)o(y)f(1992.)25 b(E\016cien)o(t)17 b(randomized)h(and)f(deter-)301 1362 y(ministic)e (algorithms)g(are)e(presen)o(ted)f(for)i(transforming)g(optimal)h(solutions)h (for)d(a)h(t)o(yp)q(e)301 1434 y(of)g(relaxed)f(in)o(teger)h(linear)g (program)g(in)o(to)g(pro)o(v)m(ably)h(go)q(o)q(d)g(appro)o(ximate)f (solutions)i(for)301 1506 y(the)g(corresp)q(onding)j Fj(NP)p Fk(-hard)e(discrete)f(optimization)j(problem.)0 1620 y([MadH85])92 b(F.)22 b(Mey)o(er)e(auf)j(der)f(Heide.)38 b(Sim)o(ulating)24 b(probabilistic)h(b)o(y)d(determining)g(algebraic)301 1692 y(computation)i(trees.)40 b Fj(The)n(or)n(etic)n(al)23 b(Computer)g(Scienc)n (e)p Fk(,)j(41:325{330,)h(1985.)42 b(This)301 1764 y(pap)q(er)18 b(o)o(v)o(erlaps)g(with)g(the)g(pap)q(er)g(\\Nondeterministic)g(V)l(ersus)f (Probabilisti)q(c)j(Linear)301 1836 y(Searc)o(h)g(Algorithms,")j Fj(Pr)n(o)n(c.)d(26th)g(A)o(nn.)i(IEEE)f(Symp.)g(on)g(F)l(oundations)h(of)f (Com-)301 1909 y(puter)e(Scienc)n(e)t Fk(,)h(1985,)f(pp.)e(65{73.)j(It)d(is)h (sho)o(wn)h(that)f(nondeterministic)h(algorithms)301 1981 y(are)h(less)g (complex)f(than)i(their)e(probabilisti)q(c)j(coun)o(terparts)e(ev)o(en)e (when)i(the)f(proba-)301 2053 y(bilistic)f(c)o(hoices)d(are)g(assigned)i (zero)e(cost)g(and)h(error)f(is)h(allo)o(w)o(ed)g(in)g(all)h(computations.) 301 2125 y(The)g(sp)q(eci\014c)f(algorithms)j(considered)d(are)h(linear)g (searc)o(h)f(algorithms.)0 2239 y([MadH90])92 b(F.)16 b(Mey)o(er)e(auf)j(der) e(Heide.)21 b(Dynamic)16 b(hashing)i(strategies.)k(In)16 b Fj(Pr)n(o)n(c.)g(15th)h(Symp.)g(on)301 2311 y(Mathematic)n(al)i(F)l (oundations)h(of)e(Computer)h(Scienc)n(e,)h Fk(Lecture)d(Notes)h(in)g (Computer)301 2384 y(Science,)13 b(V)l(ol.)g(452,)h(pages)g(76{87,)h(Bansk)m (a)e(Bystrica,)g(Czec)o(hoslo)o(v)m(akia,)i(August)e(1990.)301 2456 y(Springer-V)l(erlag.)20 b(This)c(pap)q(er)f(con)o(tains)g(a)g(surv)o (ey)e(of)i(dynamic)g(hashing)h(tec)o(hniques.)301 2528 y(It)c(ev)m(aluates)i (hashing)g(algorithms)h(with)e(resp)q(ect)f(to)h(probabilit)o(y)i(of)d (collisions)q(,)j(buc)o(k)o(et)301 2600 y(sizes,)h(ev)m(aluation)h(time,)e (and)g(the)g(time)g(needed)g(to)g(construct)h(a)f(hash)h(function.)g(P)o(ar-) 301 2672 y(allel,)i(distributed)f(and)g(sequen)o(tial)g(algorithms)i(are)d (considered.)938 2828 y(137)p eop bop 0 195 a Fk([MC87])145 b(D.)14 b(Mitra)g(and)g(R.)f(A.)g(Cieslak.)18 b(Randomized)c(parallel)i(comm)o(unication)e(on)g(an)h(exten-)301 267 y(sion)20 b(of)e(the)f(Omega)h(net)o(w)o(ork.)26 b Fj(Journal)19 b(of)g(the)g(A)o(CM)p Fk(,)e(34\(4\):802{824,)k(1987.)28 b(This)301 340 y(is)19 b(an)g(extension)f(of)g(V)l(alian)o(t)h(and)g(Aleliunas')g (algorithm)h(to)e(eliminate)h(the)f(need)g(for)301 412 y(sc)o(heduling.)f (This)h(algorithm)g(also)g(w)o(orks)e(on)h(net)o(w)o(orks)f(of)g(\014xed)g (degree)g(no)q(des.)0 526 y([Meh82])131 b(K.)17 b(Mehlhorn.)23 b(On)17 b(the)f(program)i(size)f(of)g(p)q(erfect)f(and)h(univ)o(ersal)h(has)g (functions.)23 b(In)301 598 y Fj(Pr)n(o)n(c.)13 b(23r)n(d)f(A)o(nn.)i(IEEE)f (Symp.)g(on)h(F)l(oundations)g(of)f(Computer)h(Scienc)n(e)p Fk(,)g(pages)e(170{)301 670 y(175,)17 b(1982.)22 b(A)15 b(m)o(ust)g(for)h (readers)g(in)o(terested)g(in)g(p)q(erfect)f(hashing.)i(It)e(pro)o(v)o(es)h (that)g(for)301 742 y Fh(n)e Fk(distinct)h(k)o(eys)d(from)i([0)8 b(.)g(.)g(.)f Fh(N)k Fg(\000)5 b Fk(1],)14 b(there)f(exists)h(a)f(prime)h(n)o (um)o(b)q(er)f Fh(p)h Fk(=)g Fh(O)q Fk(\()p Fh(n)1784 724 y Fl(2)1804 742 y Fh(l)q(n)p Fk(\()p Fh(N)5 b Fk(\)\))301 814 y(suc)o(h)17 b(that)h(for)f(an)o(y)g(t)o(w)o(o)g(k)o(eys)f Fh(x)916 821 y Ff(i)947 814 y Fk(and)i Fh(x)1071 821 y Ff(j)1089 814 y Fk(,)f Fh(x)1148 821 y Ff(i)1161 814 y Fk(\()p Fh(modp)p Fk(\))f Fg(6)p Fk(=)g Fh(x)1412 821 y Ff(j)1430 814 y Fk(\()p Fh(modp)p Fk(\).)h(F)l(urther,)g(a)g(go)q(o)q(d)301 887 y(deterministic)j (algorithm)h(exists)e(for)h(\014nding)g Fh(p)p Fk(;)g(it)g(can)f(b)q(e)g (determined)f(ev)o(en)g(more)301 959 y(e\016cien)o(tly)e(using)i(a)e (randomized)h(algorithm.)h(Sev)o(eral)e(other)g(results)h(concerning)g(the) 301 1031 y(construction)f(and)f(length)g(of)f(p)q(erfect)g(and)g(univ)o (ersal)i(hashing)g(functions)f(are)f(pro)o(v)o(ed.)0 1145 y([Meh84a])107 b(K.)17 b(Mehlhorn.)23 b Fj(Data)17 b(Structur)n(es)i(and)f(A)o(lgorithms)g (1:)23 b(Sorting)c(and)f(Se)n(ar)n(ching)p Fk(,)e(v)o(ol-)301 1217 y(ume)22 b(1)g(of)g Fj(EA)l(TCS)i(Mono)n(gr)n(aphs)d(on)i(The)n(or)n (etic)n(al)f(Computer)h(Scienc)n(e)p Fk(.)40 b(Springer-)301 1289 y(V)l(erlag,)27 b(1984.)47 b(V)l(olume)25 b(1)g(of)g(this)g(three-v)o (olume)f(series)h(is)g(an)g(excellen)o(t)f(source)301 1362 y(for)d(searc)o(hing)g(and)f(sorting)i(algorithms.)g(It)e(con)o(tains)h (sections)g(on)f(quic)o(ksort)g(\(Sec-)301 1434 y(tion)i(I)q(I.1.3\),)e(p)q (erfect)f(hashing)j(\(Section)f(I)q(I)q(I.2.3\)and)f(univ)o(ersal)h(hashing)h (\(Sections)301 1506 y(I)q(I)q(I.2.3\).)0 1620 y([Meh84b])104 b(K.)18 b(Mehlhorn.)27 b Fj(Gr)n(aph)17 b(A)o(lgorithms)i(and)h (NP-Completeness)p Fk(,)g(v)o(olume)e(2)g(of)g Fj(EA)l(TCS)301 1692 y(Mono)n(gr)n(aphs)d(on)i(The)n(or)n(etic)n(al)e(Computer)i(Scienc)n(e)p Fk(.)k(Springer-V)l(erlag,)16 b(1984.)21 b(Section)301 1764 y(IV.9.2)15 b(giv)o(es)h(a)g(probabilisti)q(c)i(algorithm)g(for)e(graph)h (connectivit)o(y)e(and)i(Section)f(VI.8)301 1836 y(deals,)h(in)g(part,)f (with)h(primalit)o(y)h(testing.)0 1950 y([Meh84c])109 b(K.)18 b(Mehlhorn.)28 b Fj(Multi-dimensional)21 b(se)n(ar)n(ching)f(and)f(c)n (omputational)h(ge)n(ometry)p Fk(,)e(v)o(ol-)301 2022 y(ume)k(3)g(of)g Fj(EA)l(TCS)i(Mono)n(gr)n(aphs)d(on)i(The)n(or)n(etic)n(al)f(Computer)h (Scienc)n(e)p Fk(.)40 b(Springer-)301 2095 y(V)l(erlag,)19 b(1984.)30 b(This)19 b(b)q(o)q(ok)h(is)f(the)f(last)i(of)e(three)g(v)o (olmes.)g(Chapter)h(7)g(is)g(dev)o(oted)f(to)301 2167 y(m)o(ulti-dimensional) d(data)d(structures)f(and)h(Chapter)g(8)f(to)h(problems)g(in)g(computational) 301 2239 y(geometry)l(.)0 2353 y([Mig80])143 b(M.)17 b(Mignotte.)26 b(T)l(ests)17 b(de)h(primalite.)26 b Fj(The)n(or)n(etic)n(al)18 b(Computer)g(Scienc)n(e)p Fk(,)h(12:109{117,)301 2425 y(1980.)25 b(Surv)o(eys)16 b(the)h(\014eld)h(of)f(primalit)o(y)h(testing)g(from)f(a)g (computational)i(complexit)o(y)301 2497 y(p)q(ersp)q(ectiv)o(e.)d(In)g(F)l (renc)o(h.)0 2611 y([Mil76])154 b(G.)18 b(L.)g(Miller.)27 b(Reimann's)18 b(Hyp)q(othesis)h(and)f(test)g(for)g(primalit)o(y)l(.)27 b Fj(Journal)19 b(of)g(Com-)301 2683 y(puter)h(and)f(System)h(Scienc)n(es)p Fk(,)g(13:300{317,)h(1976.)29 b(A)17 b(seminal)j(pap)q(er)f(in)f(the)g(dev)o (el-)938 2828 y(138)p eop bop 301 195 a Fk(opmen)o(t)20 b(of)h(primalit)o(y)h(testing)f(algorithms.)h (This)g(pap)q(er)f(presen)o(ts)f(t)o(w)o(o)g(algorithms)301 267 y(for)15 b(primalit)o(y)g(testing.)g(The)g(\014rst)f(one)h(runs)f(in)h Fh(O)q Fk(\()p Fh(n)1292 235 y Fb(1)p 1293 241 16 2 v 1293 262 a(7)1315 267 y Fk(\))g(time.)e(The)i(second)f(one,)h(whic)o(h)301 340 y(is)23 b(actually)g(a)f(p)q(olynomial)i(time)d(algorithm)j(\()p Fh(O)q Fk(\(log)1333 318 y Fl(4)1362 340 y Fh(n)p Fk(\)\),)e(assumes)g(the)f (Extended)301 412 y(Reimann)i(Hyp)q(othesis.)f(This)i(pap)q(er)e(also)i(pro)o (v)o(es)e(a)g(certain)g(class)i(of)e(functions)h(is)301 484 y(computationally)17 b(equiv)m(alen)o(t)d(to)g(factoring)i(in)o(tegers.)d (\(This)i(pap)q(er)g(\014rst)f(app)q(eared)g(in)301 556 y Fj(Pr)n(o)n(c.)e (Seventh)j(A)o(nn.)f(A)o(CM)e(Symp.)h(on)g(The)n(ory)f(of)h(Computing)t Fk(,)g(1975,)g(pp.)e(234{239.\).)0 670 y([MMN93])98 b(J.)17 b(Matou)m(\024)-22 b(sek,)17 b(D.)g(M.)f(Moun)o(t,)g(and)h(N.)f(S.)g(Netan)o (y)o(ah)o(u.)22 b(E\016cien)o(t)16 b(randomized)h(algo-)301 742 y(rithms)j(for)f(the)g(rep)q(eated)g(median)h(line)g(estimator.)31 b(In)18 b Fj(Pr)n(o)n(c.)h(F)l(ourth)h(A)o(nn.)h(A)o(CM-)301 814 y(SIAM)16 b(Symp.)f(on)g(Discr)n(ete)h(A)o(lgorithms)p Fk(,)e(pages)g(74{82,)i(Austin,)e(TX,)g(Jan)o(uary)g(1993.)301 887 y(Computing)21 b(a)f(statistical)i(estimator)e(can)g(b)q(e)f(view)o(ed)g (as)h(the)g(problem)f(of)h(\014tting)h(a)301 959 y(straigh)o(t)15 b(line)g(to)f(a)g(collection)i(of)e Fh(n)f Fk(p)q(oin)o(ts)j(in)e(the)g (plane.)g(The)f Fj(br)n(e)n(akdown)j(p)n(oint)d Fk(of)i(an)301 1031 y(estimator)e(is)f(the)f(fraction)h(of)g(outlying)h(data)f(p)q(oin)o(ts) g(\(up)g(to)g(50\045\))f(that)h(ma)o(y)f(cause)g(the)301 1103 y(estimator)k(to)f(tak)o(e)f(on)h(an)g(arbitrarily)i(large)f(ab)q(erran)o(t)f (v)m(alue.)g(The)g(authors)h(presen)o(t)e(a)301 1176 y(\(not-so)19 b(simple\))f Fh(O)q Fk(\()p Fh(n)8 b Fk(log)j Fh(n)p Fk(\))18 b(randomized)g(exp)q(ected)e(time)h(algorithm)j(for)d(the)g(prob-)301 1248 y(lem)22 b(of)g(computing)g(a)g(50\045-breakdo)o(wn-p)q(oin)o(t)i (estimator,)f(namely)l(,)f(the)f(Siegel,)j(or)301 1320 y(rep)q(eated)19 b(median,)f(estimator.)h(A)f(simpler)h Fh(O)q Fk(\()p Fh(n)8 b Fk(log)1308 1299 y Fl(2)1336 1320 y Fh(n)p Fk(\))19 b(randomized)f (algorithm)j(for)301 1392 y(the)d(problem)g(is)h(also)g(giv)o(en,)f(whic)o(h) g(the)g(authors)g(con)o(tend)g(actually)h(has)g Fh(O)q Fk(\()p Fh(n)8 b Fk(log)j Fh(n)p Fk(\))301 1465 y(exp)q(ected)16 b(time)g(for)g (\\man)o(y)g(realistic)i(input)f(distributions.".)0 1578 y([MNN89])106 b(R.)13 b(Mot)o(w)o(ani,)i(J.)e(Naor,)h(and)g(M.)f(Naor.)k(The)c (probabilisti)q(c)j(metho)q(d)e(yields)g(determin-)301 1650 y(istic)19 b(parallel)i(algorithms.)28 b(In)18 b Fj(Pr)n(o)n(c.)g(30th)h(A)o (nn.)g(IEEE)g(Symp.)g(on)g(F)l(oundations)h(of)301 1723 y(Computer)f(Scienc)n (e)p Fk(,)h(pages)f(8{13,)h(Researc)o(h)d(T)l(riangle)j(P)o(ark,)e(NC,)f(Oct) h(1989.)28 b(This)301 1795 y(pap)q(er)23 b(presen)o(ts)f(a)g(metho)q(d)g(of)h (con)o(v)o(erting)e(randomized)i(parallel)h(algorithms)g(in)o(to)301 1867 y(deterministic)h(parallel)g(\()p Fj(NC)7 b Fk(\))24 b(algorithms.)h (Their)f(approac)o(h)g(is)h(based)e(on)h(a)g(par-)301 1939 y(allel)g(implemen)o(tation)f(of)f(the)f(metho)q(d)h(of)h(conditional)h (probabilities)h(due)d(to)g(Jo)q(el)301 2012 y(Sp)q(encer)d([Sp)q(e88],)f (whic)o(h)h(w)o(as)g(originall)q(y)i(in)o(tro)q(duced)e(with)h(the)e(aim)h (of)g(con)o(v)o(erting)301 2084 y(probabilisti)q(c)f(pro)q(ofs)f(of)e (existence)g(of)g(com)o(binatorial)j(structures)d(in)o(to)h(deterministic)301 2156 y(algorithms)23 b(that)f(can)e(actually)j(construct)d(these)h (structures.)f(Restrictions)i(on)f(the)301 2228 y(tec)o(hnique)16 b(to)g(a)h(certain)g(class)g(of)g(randomized)f Fj(NC)h Fk(algorithms)h(are)f (discussed.)0 2342 y([MNT93])108 b(Y.)25 b(Mansour,)i(N.)e(Nisan,)j(and)d(P)l (.)g(Tiw)o(ari.)49 b(The)26 b(computational)h(complexit)o(y)e(of)301 2414 y(univ)o(ersal)d(hashing.)36 b Fj(The)n(or)n(etic)n(al)21 b(Computer)g(Scienc)n(e)p Fk(,)j(107:121{133,)g(1993.)36 b(They)301 2487 y(pro)o(v)o(e)17 b(that)i(an)o(y)e(implemen)o(tation)i(of)f(univ)o (ersal)h(hashing)h(from)e Fh(n)p Fk(-bit)h(strings)g(to)f Fh(m)p Fk(-)301 2559 y(bit)f(strings)h(requires)e(a)h(time-space)f(tradeo\013)h(of)g Fh(T)7 b(S)16 b Fk(=)e(\012\()p Fh(nm)p Fk(\).)938 2828 y(139)p eop bop 0 195 a Fk([Mon80])129 b(L.)17 b(Monier.)22 b(Ev)m(aluation)d(and)e (comparison)h(of)f(t)o(w)o(o)f(e\016cien)o(t)f(probabilisti)q(c)k(primalit)o (y)301 267 y(testing)i(algorithms.)35 b Fj(The)n(or)n(etic)n(al)20 b(Computer)h(Scienc)n(e)p Fk(,)h(12:97{108,)h(1980.)34 b(Monier)301 340 y(presen)o(ts)18 b(an)h(in)o(teresting)g(comparison)h(of)e(the)g (Miller-Rabin)j([Rab76])d(and)h(Solo)o(v)m(a)o(y-)301 412 y(Strassen)14 b([SS77])e(primalit)o(y)i(testing)f(algorithms,)i(sho)o(wing)f(that)f(the)f (former)g(is)h(alw)o(a)o(ys)301 484 y(more)20 b(e\016cien)o(t)f(than)h(the)f (latter.)h(In)g(the)f(pro)q(cess,)i(he)f(pro)o(v)o(es)f(that)h(at)g(least)h (3)p Fh(=)p Fk(4)g(of)301 556 y(the)d(n)o(um)o(b)q(ers)g(in)g(the)g(set)g Fg(f)p Fk(1)p Fh(;)8 b Fk(2)p Fh(;)g(:::;)g(n)k Fg(\000)g Fk(1)p Fg(g)18 b Fk(are)g(witnesses)h(to)g(the)e(comp)q(ositeness)j(of)301 628 y Fh(n)p Fk(,)c(for)h Fh(n)f Fk(comp)q(osite.)h(This)g(strengthens)g(the) f(b)q(ound)h(giv)o(en)g(in)g([Rab76].)0 740 y([MOO)o(Y92])68 b(A.)21 b(Ma)o(y)o(er,)f(Y.)h(Ofek,)g(R.)g(Ostro)o(vsky)l(,)g(and)h(M.)f(Y)l (ung.)36 b(Self-stabilizing)24 b(symmetry)301 812 y(breaking)f(in)g(constan)o (t-space.)39 b(In)22 b Fj(Pr)n(o)n(c.)g(24th)g(A)o(nn.)i(A)o(CM)e(Symp.)h(on) g(The)n(ory)e(of)301 885 y(Computing)p Fk(,)16 b(pages)g(667{678,)i (Victoria,)e(B.C.,)d(Canada,)k(Ma)o(y)e(1992.)21 b(A)14 b(randomized)301 957 y(proto)q(col)g(is)f(presen)o(ted)e(for)i(the)e(problem)i(of)f (self-stabilizin)q(g)j(round-robin)f(tok)o(en)e(man-)301 1029 y(agemen)o(t)k(sc)o(heme)f(on)i(an)g(anon)o(ymous)g(bidirectional)h(ring)g (of)e(iden)o(tical)i(pro)q(cessors.)0 1141 y([Mor82])137 b(S.)11 b(Moran.)j(On)d(accepting)g(densit)o(y)g(hierarc)o(h)o(y)g(in)h(NP.)g Fj(SIAM)h(Journal)g(on)g(Computing)p Fk(,)301 1213 y(11\(2\),)21 b(Ma)o(y)d(1982.)32 b(Moran)19 b(in)o(v)o(estigates)h(a)g(c)o (haracterization)g(of)f(sets)g(in)h Fj(NP)g Fk(based)301 1285 y(on)i(accepting)g(densit)o(y)f(of)h(a)g(p)q(olynomial)i(time)d (nondeterministic)h(algorithm.)h(The)301 1357 y(accepting)18 b(densit)o(y)f(is)h(de\014ned)f(as)h(the)f(ratio)i(b)q(et)o(w)o(een)d(the)h (accepting)g(computations)301 1430 y(and)g(the)f(total)i(n)o(um)o(b)q(er)d (of)i(computations.)0 1541 y([MR89])144 b(G.)22 b(L.)g(Miller)h(and)f(J.)g (H.)f(Reif.)38 b(P)o(arallel)24 b(tree)d(con)o(traction,)j(P)o(art)e(1:)33 b(F)l(undamen-)301 1614 y(tals.)i(In)20 b(S.)f(Micali,)k(editor,)e Fj(A)n(dvanc)n(es)h(in)f(Computing)h(R)n(ese)n(ar)n(ch)e(5:)29 b(R)n(andomness)301 1686 y(and)19 b(Computation)p Fk(.)f(JAI)e(Press,)i (Green)o(wic)o(h,)f(CT,)h(1989.)27 b(They)17 b(exhibit)h(a)g(random-)301 1758 y(ized)i(parallel)h(algorithm)g(for)f(subtree)f(isomorphism)i(that)f (uses)f Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))19 b(time)g(and)301 1830 y Fh(O)q Fk(\()p Fh(n=)8 b Fk(log)k Fh(n)p Fk(\))21 b(pro)q(cessors.)h (This)h(w)o(as)e(the)g(\014rst)h(p)q(olylog)h(parallel)h(algorithm)f(for)e (the)301 1902 y(problem.)16 b(See)f(also)i(the)e(related)g(pap)q(er)h(\\P)o (arallel)i(tree)d(con)o(traction)h(and)g(its)g(applica-)301 1975 y(tions,")h(in)e Fj(Pr)n(o)n(c.)g(26th)h(A)o(nn.)h(IEEE)f(Symp.)g(on)h (F)l(oundations)g(of)f(Computer)g(Scienc)n(e)t Fk(,)301 2047 y(1985,)i(pp.)e(478{489;)i(and)f(the)f(companion)i(pap)q(er)f([MR91)o(].)0 2159 y([MR91])144 b(G.)21 b(L.)f(Miller)i(and)f(J.)f(H.)f(Reif.)34 b(P)o(arallel)23 b(tree)c(con)o(traction,)j(P)o(art)f(2:)30 b(F)l(urther)20 b(Ap-)301 2231 y(plications.)38 b Fj(SIAM)22 b(Journal)g(on)g(Computing)p Fk(,)g(20\(6\):1128{11)q(47,)j(Decem)o(b)q(er)20 b(1991.)301 2303 y(In)h(this)g(follo)o(w-up)i(of)e([MR89],)g(the)f(authors)i (presen)o(t)e(man)o(y)g(applications)k(of)d(their)301 2375 y(\\parallel)h(tree)c(con)o(traction)i(tec)o(hnique,")e(including)j (algorithms)g(for)f(sub)q(expression)301 2447 y(ev)m(aluation,)d(tree)d(and)h (graph)g(isomorphism,)h(and)f(building)i(cononical)f(forms)f(of)f(trees)301 2520 y(and)j(planar)h(graphs.)0 2631 y([MS82])153 b(K.)17 b(Mehlhorn)g(and)g (E.)g(Sc)o(hmidt.)23 b(Las)17 b(V)l(egas)g(is)h(b)q(etter)f(than)g (determinism)g(in)g(VLSI)301 2704 y(and)23 b(distributed)g(computing.)39 b(In)21 b Fj(Pr)n(o)n(c.)h(14th)g(A)o(nn.)h(A)o(CM)g(Symp.)f(on)h(The)n(ory)e (of)938 2828 y Fk(140)p eop bop 301 195 a Fj(Computing)p Fk(,)19 b(pages)g(330{337,)h(1982.)28 b(This)19 b(pap)q(er)f(demonstrates)h(a)f(problem)g(where)301 267 y(the)c(theoretical)h(lo)o(w)o(er)g(b)q(ounds)g(for)g(distributed)g (deterministic)g(solutions)i(can)d(b)q(e)h(im-)301 340 y(pro)o(v)o(ed)j (using)h(randomness.)f(Let)g Fh(X)j Fk(=)c(\()p Fh(x)1124 347 y Fl(1)1143 340 y Fh(;)8 b(x)1193 347 y Fl(2)1212 340 y Fh(;)g Fk(.)g(.)g(.)g Fh(x)1328 347 y Ff(n)1351 340 y Fk(\),)18 b Fh(Y)28 b Fk(=)16 b(\()p Fh(y)1555 347 y Fl(1)1575 340 y Fh(;)8 b(y)1621 347 y Fl(2)1640 340 y Fh(;)g Fk(.)g(.)g(.)f Fh(y)1751 347 y Ff(n)1775 340 y Fk(\),)17 b(where)301 412 y Fh(x)329 419 y Ff(i)355 412 y Fk(and)c Fh(y)470 419 y Ff(i)496 412 y Fk(are)f(in)o(tegers)g(b)q(et)o(w)o(een)g(0)g(and)h(2)1085 394 y Ff(n)1111 412 y Fg(\000)s Fk(1,)f(b)q(e)g(stored)h(on)f(t)o(w)o(o)g (di\013eren)o(t)h(sites.)f(The)301 484 y(function)h Fh(f)5 b Fk(\()p Fh(X)q(;)j(Y)k Fk(\)|whic)o(h)g(is)g(de\014ned)g(to)g(b)q(e)g(1)g (if)g(there)f(exists)h(an)g Fh(i)g Fk(suc)o(h)f(that)h Fh(x)1819 491 y Ff(i)1847 484 y Fk(=)i Fh(y)1923 491 y Ff(i)1936 484 y Fk(,)301 556 y(and)f(0)f(otherwise|is)h(to)f(b)q(e)g(computed)g(with)g (minim)o(um)g(comm)o(unication.)g(This)h(prob-)301 628 y(lem)j(requires)g Fh(n)605 610 y Fl(2)640 628 y Fk(message)g(bits)h(in)f(the)g(deterministic)g (case,)g(but)g(an)g Fh(O)q Fk(\()p Fh(n)8 b Fk(log)j Fh(n)d Fk(log)j Fh(n)p Fk(\))301 701 y(a)o(v)o(erage)16 b(running-time)i (probabilistic)h(algorithm)f(is)f(demonstrated.)0 812 y([MS88])153 b(S.)25 b(Micali)h(and)f(A.)f(Shamir.)47 b(An)24 b(impro)o(v)o(emen)o(t)f(of) i(the)g(Fiat-Shamir)h(iden)o(ti\014ca-)301 885 y(tion)18 b(and)f(signature)h (sc)o(heme.)j(In)16 b Fj(A)n(dvanc)n(es)i(in)g(Cryptolo)n(gy{CR)l(YPTO)f(88,) g Fk(Lecture)301 957 y(Notes)i(in)g(Computer)g(Science,)f(V)l(ol.)g(403.)i (Springer-V)l(erlag,)g(1988.)30 b(They)18 b(sp)q(eed)h(up)301 1029 y(zero-kno)o(wledge)e(based)f(iden)o(ti\014cation)i(and)e(digital)j (signature)e(sc)o(hemes)e(of)h(Fiat)g(and)301 1101 y(Shamir,)h(whic)o(h)f (require)g(only)h(10)g(to)g(30)g(mo)q(dular)h(m)o(ultiplications)h(p)q(er)d (part)o(y)l(.)f(Their)301 1174 y(impro)o(v)o(ed)f(sc)o(heme)e(reduces)i(the)f (v)o(eri\014er's)g(complexit)o(y)h(to)g(less)h(than)f(2)g(mo)q(dular)i(m)o (ul-)301 1246 y(tiplications)k(and)d(lea)o(v)o(es)e(the)h(pro)o(v)o(er's)g (complexit)o(y)f(unc)o(hanged.)0 1357 y([MS92])153 b(B.)14 b(M.)f(Maggs)i(and)g(R.)f(K.)f(Sitaraman.)20 b(Simple)14 b(algorithms)j(for)d (routing)i(on)e(butter\015y)301 1430 y(net)o(w)o(orks)h(with)g(b)q(ounded)h (queues.)i(In)c Fj(Pr)n(o)n(c.)h(24th)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n (ory)f(of)301 1502 y(Computing)p Fk(,)20 b(pages)f(150{161,)j(Victoria,)e (B.C.,)e(Canada,)i(Ma)o(y)e(1992.)30 b(The)19 b(authors)301 1574 y(presen)o(t)g(a)h(simple,)g(but)g(non-pure,)g(algorithm)i(for)d (routing)i(a)f(random)g(problem)g(on)301 1646 y(a)d(fully)h(loaded)g Fh(N)5 b Fk(-input)18 b(butter\015y)e(with)h(b)q(ounded-size)h(queues)e(in)h Fh(O)q Fk(\(log)11 b Fh(N)5 b Fk(\))17 b(steps,)301 1719 y(with)g (high-probabil)q(i)q(t)o(y)l(.)0 1830 y([MSV85])116 b(F.)16 b(Ma\016oli,)h(M.)f(G.)g(Sp)q(eranza,)h(and)g(C.)f(V)l(ercellis.)21 b(Randomized)c(algorithms.)24 b Fj(Com-)301 1902 y(binatorial)19 b(Optimization|A)o(nnotate)n(d)g(Biblio)n(gr)n(aphies)p Fk(,)e(pages)h (89{105,)h(1985.)25 b(This)301 1975 y(is)17 b(a)g(useful)g(annotated)g (bibliograph)o(y)i(on)e(randomized)g(algorithms.)0 2086 y([MSW92])103 b(J.)22 b(Matousek,)i(M.)d(Sharir,)k(and)d(E.)g(W)l(elzl.)40 b(A)22 b(sub)q(exp)q(onen)o(tial)i(b)q(ound)f(for)g(linear)301 2159 y(programming.)17 b(In)12 b Fj(Pr)n(o)n(c.)h(Eighth)h(A)o(nn.)h(A)o(CM)f (Symp.)f(on)i(Computational)f(Ge)n(ometry)p Fk(,)301 2231 y(pages)21 b(1{8,)h(Berlin,)f(German)o(y)l(,)e(June)h(1992.)34 b(They)20 b(presen)o(t)f(a)i(simple)f(randomized)301 2303 y(algorithm)j(whic)o(h)e (solv)o(es)g(linear)g(programs)h(with)f Fh(n)g Fk(constan)o(ts)g(and)g Fh(d)g Fk(v)m(ariables)h(in)301 2375 y(exp)q(ected)16 b Fh(O)q Fk(\()p Fh(nde)639 2355 y Fl(4)657 2322 y Fg(p)p 698 2322 148 2 v 698 2355 a Ff(d)6 b Fl(ln\()p Ff(n)p Fl(+1\))848 2375 y Fk(\))16 b(time)g(in)h(the)f(unit)h(cost)g(mo)q(del.)0 2487 y([MT85])145 b(U.)21 b(Man)o(b)q(er)g(and)h(M.)e(T)l(ompa.)37 b(Probabilisti)q(c,)25 b(nondeterministic)d(and)g(alternating)301 2559 y(decision)h(trees.)36 b Fj(Journal)22 b(of)f(the)i(A)o(CM)p Fk(,)d(32\(3\):720{732)q(,)25 b(July)c(1985.)38 b(This)22 b(pap)q(er)301 2631 y(compares)17 b(lo)o(w)o(er)g(b)q(ounds)i(on)e(the)g(running)h(times)f (of)g(algorithms)i(that)e(allo)o(w)i(proba-)301 2704 y(bilistic,)j (non-deterministic)e(and)f(alternating)i(con)o(trol)e(on)h(decision)g(trees.) e(Decision)938 2828 y(141)p eop bop 301 195 a Fk(trees)18 b(that)g(allo)o(w)h(in)o(ternal)g(randomization)g (at)f(the)g(exp)q(ense)f(of)h(a)g(small)h(probabilit)o(y)301 267 y(of)14 b(error)g(are)g(sho)o(wn)g(to)h(run)e(no)i(faster)f (asymptotically)h(than)f(ordinary)h(decision)g(trees)301 340 y(for)h(a)g(collection)g(of)g(problems.)f(An)g(earlier)h(v)o(ersion)g(of)g (this)g(publication)h(app)q(eared)f(in)301 412 y Fj(Pr)n(o)n(c.)h(14th)g(A)o (nn.)h(A)o(CM)f(Symp.)g(on)h(The)n(ory)e(of)i(Computing)t Fk(,)e(1982,)i(pp.) e(234{244.)0 523 y([Mul])188 b(K.)13 b(Mulm)o(uley)l(.)j(Computational)h (geometry:)i(An)13 b(in)o(tro)q(duction)i(through)f(randomized)301 596 y(algorithms.)20 b(This)c(b)q(o)q(ok,)f(due)f(out)h(in)g(F)l(all)g(1993,) h(presen)o(ts)e(a)g(n)o(um)o(b)q(er)g(of)g(randomized)301 668 y(algorithms)25 b(for)e(problems)g(in)g(computational)h(geometry)l(.)e(The)g (b)q(o)q(ok)i(is)f(mean)o(t)f(to)301 740 y(serv)o(e)17 b(as)g(an)h(in)o(tro)q (duction)h(to)e(computational)j(geometry;)c(the)h(author)h(c)o(ho)q(oses)g (ran-)301 812 y(domized)i(algorithms)h(to)e(do)h(the)f(job)g(as)h(they)e(are) h(usually)i(simpler)f(to)f(understand)301 885 y(than)d(their)g(deterministic) g(coun)o(terparts.)f(The)g(b)q(o)q(ok)h(is)g(divided)h(in)o(to)e(t)o(w)o(o)h (parts,)f(ba-)301 957 y(sics)23 b(and)f(applications.)i(Application)f(areas)f (considered)g(include)g(arrangemen)o(ts)g(of)301 1029 y(h)o(yp)q(erplanes,)16 b(con)o(v)o(ex)e(p)q(olytop)q(es,)i(range)g(searc)o(h,)f(and)g(computer)g (graphics.)h(A)f(c)o(hap-)301 1101 y(ter)h(on)h(derandomization)h(is)f(also)h (giv)o(en.)0 1213 y([Mul89])140 b(K.)22 b(Mulm)o(uley)l(.)38 b(On)23 b(obstructions)h(in)e(relation)i(to)f(a)f(\014xed)g(view)g(p)q(oin)o (t.)40 b(In)22 b Fj(Pr)n(o)n(c.)301 1285 y(30th)c(A)o(nn.)g(IEEE)f(Symp.)g (on)h(F)l(oundations)g(of)f(Computer)g(Scienc)n(e)p Fk(,)h(pages)f(592{597,) 301 1357 y(Oct)h(1989.)28 b(Randomized)18 b(algorithms)i(for)e(the)g(follo)o (wing)i(computational)h(geometry)301 1430 y(problems)14 b(are)e(giv)o(en:)20 b(\(1\))13 b(construction)g(of)g(lev)o(els)g(of)g(order)f(1)h(to)g Fh(k)i Fk(in)e(an)g(arrangemen)o(t)301 1502 y(of)18 b(h)o(yp)q(erplanes;)f (\(2\))g(construction)h(of)f(V)l(oronoi)h(diagrams)h(of)e(order)g(1)g(to)h Fh(k)r Fk(,)e(and)i(\(3\))301 1574 y(hidden)e(surface)f(remo)o(v)m(al)h(for)f (a)h(general)g(scene.)e(Both)h(\(1\))g(and)h(\(2\))g(are)f(solv)o(ed)g(in)h (an)o(y)301 1646 y(dimension,)i(and)e(\(3\))h(allo)o(ws)h(in)o(tersection)f (of)g(curv)o(ed)e(surfaces.)0 1758 y([Mul91a])116 b(K.)14 b(Mulm)o(uley)l(.)i (Randomized)f(m)o(ultidimensional)h(searc)o(h)e(trees:)19 b(Dynamic)c (sampling.)301 1830 y(In)j Fj(Pr)n(o)n(c.)f(Seventh)k(A)o(nn.)e(A)o(CM)f (Symp.)h(on)f(Computational)i(Ge)n(ometry)p Fk(,)c(pages)i(121{)301 1902 y(131,)e(North)g(Con)o(w)o(a)o(y)l(,)f(NH,)e(June)i(1991.)21 b(This)c(pap)q(er)e(dev)o(elops)h(a)f(general)h(tec)o(hnique,)301 1975 y(called)j(dynamic)f(sampling,)h(that)f(can)f(b)q(e)h(used)g(to)g (\\dynamize")g(randomized)g(incre-)301 2047 y(men)o(tal)h(algorithms,)i(so)f (to)f(allo)o(w)i(additions)g(as)e(w)o(ell)h(as)f(deletions)h(of)g(ob)s(jects) e(from)301 2119 y(m)o(ultidimensional)h(searc)o(h)d(trees.)0 2231 y([Mul91b])113 b(K.)24 b(Mulm)o(uley)l(.)44 b(Randomized)24 b(m)o(ultidimensional)j(searc)o(h)d(trees:)36 b(F)l(urther)23 b(results)301 2303 y(in)g(dynamic)f(sampling.)40 b(In)21 b Fj(Pr)n(o)n(c.)g(32nd)i(A)o(nn.)g(IEEE)g(Symp.)f(on)h(F)l(oundations)g(of)301 2375 y(Computer)g(Scienc)n(e)p Fk(,)i(pages)d(216{227,)k(1991.)40 b(This)23 b(pap)q(er)f(extends)g(the)f(approac)o(h)301 2447 y(presen)o(ted)16 b(in)h([Mul91c])f(to)g(Nearest)g(Neigh)o(b)q(ors)h(and)g (other)g(problems.)0 2559 y([Mul91c])118 b(K.)13 b(Mulm)o(uley)l(.)j (Randomized)e(m)o(ultidimensional)i(searc)o(h)d(trees:)19 b(Lazy)14 b(balancing)h(and)301 2631 y(dynamic)i(sh)o(u\017ing.)23 b(In)16 b Fj(Pr)n(o)n(c.)h(32nd)h(A)o(nn.)g(IEEE)g(Symp.)f(on)h(F)l(oundations)g(of)g (Com-)301 2704 y(puter)e(Scienc)n(e)p Fk(,)g(pages)e(180{196,)j(1991.)i(This) c(pap)q(er)f(presen)o(ts)g(a)g(general)g(randomized)938 2828 y(142)p eop bop 301 195 a Fk(algorithm)20 b(for)e(problems)h(suc)o(h)f(as)g(the)g (construction)h(and)f(managemen)o(t)g(of)g(Con)o(v)o(ex)301 267 y(Hulls)g(and)e(V)l(oronoi)i(Diagrams.)0 381 y([Mul92])140 b(K.)16 b(Mulm)o(uley)l(.)22 b(Randomized)17 b(geometric)g(algorithms)h(and)g (pseudo-random)g(genera-)301 453 y(tors.)28 b(In)18 b Fj(Pr)n(o)n(c.)g(33r)n (d)g(A)o(nn.)i(IEEE)g(Symp.)f(on)g(F)l(oundations)h(of)f(Computer)h(Scienc)n (e)p Fk(,)301 526 y(pages)i(90{100,)h(1992.)36 b(This)21 b(pap)q(er)h(sho)o (ws)f(that)g(a)g(generalization)i(of)e(the)f(familiar)301 598 y(linear)i(congruen)o(tial)g(pseudo-random)h(generator)e(that)g(uses)g Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))20 b(bits)i(can)f(b)q(e)301 670 y(substituted)14 b(for)e(the)g(random)h(source)g(in)g(man)o(y)f (randomized)h(incremen)o(tal)f(algorithms)301 742 y(used)18 b(in)g(computational)i(geometry)d(without)i(a\013ecting)g(the)e(order)h(of)f (complexit)o(y)h(of)301 814 y(the)d(exp)q(ected)f(running)i(time,)f(thereb)o (y)f(reducing)h(the)g(n)o(um)o(b)q(er)f(of)h(truly)h(random)f(bits)301 887 y(needed.)0 1000 y([Mut93])134 b(S.)16 b(Muth)o(ukrishnan.)21 b(Detecting)c(false)f(matc)o(hes)f(in)i(string)g(matc)o(hing)g(algorithms.)22 b(In)301 1073 y Fj(Pr)n(o)n(c.)c(F)l(ourth)g(Int'l.)h(Conf.)g(on)g (Combinatorial)f(Pattern)i(Matching,)f Fk(Lecture)e(Notes)301 1145 y(in)h(Computer)f(Science,)f(V)l(ol.)h(684,)h(pages)g(164{178,)h(P)o (ado)o(v)m(a,)f(Italy)l(,)f(1993.)h(Springer-)301 1217 y(V)l(erlag.)30 b(The)18 b(Karp)i(and)f(Rabin)h(randomized)f(string)h(matc)o(hing)g (algorithm)g([KR87])301 1289 y(ma)o(y)14 b(rep)q(ort,)g(with)h(a)f(small)i (probabilit)o(y)l(,)f(a)g(false)f(matc)o(h.)f(Muth)o(ukrishnan)i(presen)o(ts) f(a)301 1362 y(parallel)k(algorithm)f(to)e(detect)f(the)h(existence)g(of)g (suc)o(h)g(a)h(false)f(matc)o(h.)g(His)g(algorithm)301 1434 y(runs)21 b(in)f Fh(O)q Fk(\(1\))h(time)f(and)g(uses)g Fh(O)q Fk(\()p Fh(n)p Fk(\))h(CR)o(CW)f(PRAM)f(pro)q(cessors,)i(where)f Fh(n)g Fk(is)g(the)301 1506 y(length)k(of)e(the)h(input)g(text,)g(and)g(can)f (b)q(e)h(used)g(to)f(e\016cien)o(tly)g(con)o(v)o(ert)f(the)i(Mon)o(te)301 1578 y(Carlo)f(T)o(yp)q(e)e(string)h(matc)o(hing)f(algorithm)i(of)f(Karp)f (and)h(Rabin)g(in)o(to)f(a)h(Las)g(V)l(egas)301 1650 y(t)o(yp)q(e)i (algorithm.)h(Muth)o(ukrishnan)g(also)g(considers)g(the)f(problem)g(of)h (detecting)f Fj(al)r(l)301 1723 y Fk(false)17 b(matc)o(hes.)0 1836 y([MV91])143 b(Y.)18 b(Matias)i(and)f(U.)e(Vishkin.)29 b(Con)o(v)o(erting)19 b(high)g(probabilit)o(y)i(in)o(to)e(nearly)g(constan)o (t)301 1909 y(time)e({)f(with)h(applications)j(to)c(parallel)j(hashing.)k(In) 16 b Fj(Pr)n(o)n(c.)g(23r)n(d)g(A)o(nn.)i(A)o(CM)f(Symp.)301 1981 y(on)i(The)n(ory)e(of)i(Computing)p Fk(,)f(pages)g(307{316,)i(New)c (Orleans,)j(LA,)d(Ma)o(y)h(1991.)26 b(Ran-)301 2053 y(domized)15 b(parallel)j(algorithms)f(are)e(giv)o(en)g(for)g(constructing)h(a)f(p)q (erfect)f(hash)i(function)301 2125 y(in)f(exp)q(ected)f(p)q(olylogarithmic)j (time)d(and)h(for)g(generating)h(a)e(random)h(p)q(erm)o(utation)g(in)301 2198 y(p)q(olylogari)q(thmic)k(time.)0 2311 y([MVN93])106 b(Y.)13 b(Matias,)i(J.)f(S.)f(Vitter,)h(and)g(W.-C.)f(Ni.)18 b(Dynamic)c(generation)h (of)f(discrete)f(random)301 2384 y(v)m(ariables.)32 b(In)19 b Fj(Pr)n(o)n(c.)g(F)l(ourth)h(A)o(nn.)h(A)o(CM-SIAM)f(Symp.)g(on)g(Discr)n (ete)g(A)o(lgorithms)p Fk(,)301 2456 y(pages)13 b(361{370,)i(Austin,)e(TX,)e (Jan)o(uary)h(1993.)k(E\016cien)o(t)11 b(randomized)i(algorithms)h(are)301 2528 y(giv)o(en)h(to)g(generate)g(a)g(random)g(v)m(ariate)h(distributed)g (according)g(to)f(a)g(dynamically)h(set)301 2600 y(of)h(w)o(eigh)o(ts.)g(The) f(base)h(v)o(ersion)g(of)g(eac)o(h)f(algorithm)j(generates)e(the)f(discrete)g (random)301 2672 y(v)m(ariate)d(in)g Fh(O)q Fk(\(log)631 2651 y Fd(\003)659 2672 y Fh(N)5 b Fk(\))12 b(exp)q(ected)f(time)h(and)g(up)q (dates)h(a)f(w)o(eigh)o(t)g(in)g Fh(O)q Fk(\(2)1628 2654 y Fl(log)1675 2642 y Fa(\003)1699 2654 y Ff(N)1732 2672 y Fk(\))g(exp)q(ected) 938 2828 y(143)p eop bop 301 195 a Fk(time)13 b(in)h(the)f(w)o(orst)g(case.)g(It)g(is)g(sho)o(wn)h (ho)o(w)g(to)f(reduce)f(the)h(up)q(date)h(time)f(to)g Fh(O)q Fk(\(log)1859 174 y Fd(\003)1887 195 y Fh(N)5 b Fk(\))301 267 y(amortized)17 b(exp)q(ected)e(time.)0 381 y([MV)o(O91])106 b(A.)13 b(Menezes,)g(S.)g(V)l(anstone,)h(and)h(T.)e(Ok)m(amoto.)18 b(Reducing)c(elliptic)h(curv)o(e)e(logarithms)301 453 y(to)19 b(logarithms)h(in)e(a)g(\014nite)g(\014eld.)27 b(In)17 b Fj(Pr)n(o)n(c.)h (23r)n(d)g(A)o(nn.)h(A)o(CM)g(Symp.)f(on)h(The)n(ory)f(of)301 526 y(Computing)p Fk(,)g(pages)g(80{89,)g(New)f(Orleans,)g(LA,)g(Ma)o(y)g (1991.)25 b(They)16 b(presen)o(t)h(a)g(prob-)301 598 y(abilistic)22 b(p)q(olynomial-ti)q(me)f(algorithm)g(for)f(the)f(elliptic)i(curv)o(e)d (logarithm)j(problem,)301 670 y(the)16 b(\014rst)h(sub)q(exp)q(onen)o (tial-time,)h(general-purp)q(ose)g(algorithm)g(for)f(the)f(problem.)0 784 y([MVV87])106 b(K.)11 b(Mulm)o(uley)l(,)h(U.)e(V.)h(V)l(azirani,)i(and)e (V.)g(V.)f(V)l(azirani.)15 b(Matc)o(hing)c(is)h(as)g(easy)g(as)g(matrix)301 856 y(in)o(v)o(ersion.)31 b Fj(Combinatoric)n(a)p Fk(,)19 b(7:105{113,)j (1987.)31 b(An)18 b(elegan)o(t)i(parallel,)h(randomized)301 928 y(algorithm)g(for)e(\014nding)i(a)e(p)q(erfect)f(matc)o(hing)h(in)h(a)f (simple)h(graph)g(based)f(on)g(T)l(utte's)301 1000 y(matrix)e(is)g(presen)o (ted.)e(The)h(algorithm,)i(whic)o(h)e(is)h(made)f(p)q(ossible)j(b)o(y)c(a)i (probabilistic)301 1073 y(lemma)e(called)g(the)f(isolation)k(lemma,)c (requires)g(in)o(v)o(ersion)h(of)g(a)g(single)g(in)o(teger)g(matrix)301 1145 y(whic)o(h)i(can)f(b)q(e)h(parallelized.)0 1259 y([MW90])130 b(B.)11 b(McKa)o(y)g(and)h(N.)f(W)l(ormald.)j(Uniform)e(generation)h(of)f (random)g(graphs)h(of)f(mo)q(derate)301 1331 y(degree.)35 b Fj(Journal)22 b(of)g(A)o(lgorithms)p Fk(,)f(11:52{67,)j(1990.)37 b(A)21 b(randomized)g(algorithm)i(is)301 1403 y(giv)o(en)15 b(for)g(generating)g Fh(k)r Fk(-regular)h(graphs)g(on)f Fh(n)g Fk(v)o(ertices,)e(uniformly)j(at)e(random.)h(The)301 1475 y(exp)q(ected)d (running)h(time)g(of)f(the)g(algorithm)j(is)e Fh(O)q Fk(\()p Fh(nk)1294 1457 y Fl(3)1314 1475 y Fk(\))f(for)h Fh(k)j Fk(=)e Fh(O)q Fk(\()p Fh(n)1600 1443 y Fb(1)p 1600 1449 16 2 v 1600 1470 a(3)1623 1475 y Fk(\).)e(Sp)q(ecial)h(cases,)301 1548 y(suc)o(h)j(as)h(bipartite)h(graphs)f(with)g(giv)o(en)g(degree)e(sequences,)g (are)i(considered.)0 1661 y([MWHC93])58 b(B.S.)21 b(Ma)s(jewski,)i(N.C.)d(W)l (ormald,)k(G.)e(Ha)o(v)m(as,)h(and)f(Z.J.)f(Czec)o(h.)36 b(Graphs,)24 b(h)o(yp)q(er-)301 1733 y(graphs)19 b(and)f(hashing.)26 b(In)17 b Fj(Pr)n(o)n(c.)g(19th)h(Int'l.)h(Workshop)f(on)g(Gr)n(aph-The)n(or)n(etic)f (Con-)301 1806 y(c)n(epts)22 b(in)g(Computer)f(Scienc)n(e)i(\(WG'93\))p Fk(,)d(Utrec)o(h)o(t,)g(The)g(Netherlands,)h(June)g(1993.)301 1878 y(The)i(authors)h(generalize)g(the)e(metho)q(d)h(presen)o(ted)f(in)i ([CHM92])e(b)o(y)g(mapping)i(the)301 1950 y(input)c(set)f(in)o(to)g(a)g(h)o (yp)q(ergraph)g(rather)g(than)h(a)f(graph.)g(This)h(mo)q(di\014cation)h(allo) o(ws)g(a)301 2022 y(reduction)f(in)g(the)f(size)g(of)h(the)f(program,)h (while)g(main)o(taining)i(all)e(other)g(features)f(of)301 2095 y(the)d(metho)q(d.)g(Also,)h(the)f(hash)h(function)g(generation)h(time)e(is)h (reduced.)0 2208 y([MZ86])150 b(N.)25 b(Megiddo)h(and)g(E.)f(Zemel.)48 b(An)25 b Fh(O)q Fk(\()p Fh(n)8 b Fk(log)j Fh(n)p Fk(\))25 b(randomizing)i(algorithm)h(for)d(the)301 2281 y(w)o(eigh)o(ted)c(Euclidean)i (1-cen)o(ter)d(problem.)36 b Fj(Journal)22 b(of)g(A)o(lgorithms)p Fk(,)f(7\(3\):358{368,)301 2353 y(Sep)12 b(1986.)i(A)d(set)g(of)g(p)q(oin)o (ts)i Fh(p)848 2360 y Ff(i)876 2353 y Fk(=)h(\()p Fh(x)975 2360 y Ff(i)989 2353 y Fh(;)8 b(y)1035 2360 y Ff(i)1049 2353 y Fk(\))j(and)h(their)f(w)o(eigh)o(ts)h Fh(w)1484 2360 y Ff(i)1498 2353 y Fk(,)23 b(1)14 b Fg(\024)g Fh(i)f Fg(\024)h Fh(n)d Fk(are)g(giv)o(en.) 301 2425 y(It)17 b(is)i(required)e(to)h(\014nd)f(a)h(p)q(oin)o(t)h Fh(p)f Fk(that)f(minimizes)i(the)e(maxim)o(um)g(\014rst)g(momen)o(t)g(of)301 2497 y(the)d(w)o(eigh)o(ts)h(of)f(the)g Fh(p)714 2504 y Ff(i)742 2497 y Fk(s,)g(i.e.,)g(the)g Fh(p)g Fk(that)g(minimizes)h Fh(H)t Fk(\()p Fh(p)p Fk(\))g(=)e Fh(M)5 b(AX)1630 2504 y Fl(1)p Fd(\024)p Ff(i)p Fd(\024)p Ff(n)1739 2497 y Fh(w)1774 2504 y Ff(i)1802 2497 y Fh(d)p Fk(\()p Fh(p;)j(p)1916 2504 y Ff(i)1931 2497 y Fk(\))301 2570 y(where)k Fh(d)p Fk(\()p Fh(p;)c(p)552 2577 y Ff(i)568 2570 y Fk(\))k(is)h(the)f(magnitude)h(of)f(the)g(distance)h(b)q (et)o(w)o(een)f Fh(p)g Fk(and)h Fh(p)1614 2577 y Ff(i)1629 2570 y Fk(.)f(A)f(randomized)301 2642 y(algorithm)19 b(that)d(do)q(es)h(this) g(with)g(a)g(small)h(probabilit)o(y)g(of)f(error)f(is)h(presen)o(ted.)938 2828 y(144)p eop bop 0 195 a Fk([Nat92])145 b(B.)14 b(K.)h(Natara)s(jan.)20 b(Probably)c(appro)o(ximate)g(learning)g(o)o(v)o(er)e(classes)i(of)g (distributions.)301 267 y Fj(SIAM)d(Journal)g(on)g(Computing)p Fk(,)f(21\(3\):438{449,)j(June)c(1992.)j(Natara)s(jan)e(generalizes)301 340 y(the)k(mo)q(del)h(of)g(probably)g(appro)o(ximate)g(learning)h(prop)q (osed)g(b)o(y)e(V)l(alian)o(t)h([V)l(al84b)q(].)0 453 y([Nis90])156 b(N.)24 b(Nisan.)45 b(Pseudorandom)26 b(generators)f(for)f(space-b)q(ounded)i (computations.)46 b(In)301 526 y Fj(Pr)n(o)n(c.)16 b(22nd)g(A)o(nn.)i(A)o(CM) e(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p Fk(,)g(pages)g(204{212,)i(Balti-) 301 598 y(more,)d(MD,)g(ma)o(y)f(1990.)21 b(Pseudorandom)c(generators)e(are)h (constructed)f(that)g(con)o(v)o(ert)301 670 y Fh(O)q Fk(\()p Fh(S)d Fk(log)e Fh(R)p Fk(\))17 b(truly)g(random)f(bits)i(to)e Fh(R)h Fk(bits)g(that)f(app)q(ear)i(random)e(to)h(an)o(y)f(algorithm)301 742 y(that)h(runs)f(in)h Fj(SP)l(A)o(CE\(S\))r Fk(.)f(In)g(particular,)i(an)o (y)e(randomized)g(p)q(olynomial)j(time)d(algo-)301 814 y(rithm)21 b(that)h(runs)f(in)g(space)g Fh(S)j Fk(can)c(b)q(e)h(sim)o(ulated)h(using)g (only)f Fh(O)q Fk(\()p Fh(S)12 b Fk(log)f Fh(n)p Fk(\))20 b(random)301 887 y(bits.)e(Applications)i(are)e(giv)o(en)g(for)f(\\deterministic)i (ampli\014cation,")h(the)e(problem)g(of)301 959 y(reducing)f(the)f (probabilit)o(y)j(of)d(error)g(of)h(randomized)g(algorithms.)0 1073 y([Nis93])156 b(N.)17 b(Nisan.)27 b(On)17 b(read-once)h(vs.)f(m)o (ultiple)i(access)f(to)g(randomness)g(in)g(logspace.)27 b Fj(The-)301 1145 y(or)n(etic)n(al)21 b(Computer)f(Scienc)n(e)p Fk(,)i(107:135{144,)h (1993.)32 b(This)21 b(pap)q(er)f(sho)o(ws)h(that)f(ev)o(ery)301 1217 y(language)h(accepted)d(with)i(b)q(ounded)g(t)o(w)o(o-sided)g(error)f(b) o(y)f(a)h(read-once)g(randomized)301 1289 y(logspace)i(mac)o(hine)d(can)h(b)q (e)g(accepted)f(with)i(zero)e(error)h(b)o(y)f(a)h(randomized)h(logspace)301 1362 y(mac)o(hine)c(with)h(m)o(ultiple)g(access)f(to)g(the)g(random)g(bits.)g (Also,)h(the)e(class)j(of)e(languages)301 1434 y(accepted)h(with)g(t)o(w)o (o-sided)h(error)f(b)o(y)f(a)h(randomized)h(logspace)g(mac)o(hine)f(with)g(m) o(ulti-)301 1506 y(ple)f(access)f(to)g(the)g(random)h(bits)g(is)g(sho)o(wn)f (to)h(b)q(e)f(the)g(class)h(of)f(languages)j(that)d(are)g(in)301 1578 y(logspace)j(relativ)o(e)e(to)h(almost)h(ev)o(ery)c(oracle.)0 1692 y([NN90])151 b(J.)19 b(Naor)h(and)g(M.)e(Naor.)31 b(Small-bias)22 b(probabilit)o(y)f(spaces:)28 b(E\016cien)o(t)19 b(constructions)301 1764 y(and)f(applications.)28 b(In)17 b Fj(Pr)n(o)n(c.)h(22nd)h(A)o(nn.)g(A)o (CM)f(Symp.)g(on)h(The)n(ory)e(of)i(Computing)p Fk(,)301 1836 y(pages)25 b(213{223,)k(Baltimore,)e(MD,)c(Ma)o(y)h(1990.)47 b(This)25 b(pap)q(er)g(sho)o(ws)g(an)g(e\016cien)o(t)301 1909 y(construction)20 b(of)f(a)g(small)h(probabilit)o(y)g(space)f(on)g Fh(n)f Fk(binary)i(random)f(v)m(ariables)h(suc)o(h)301 1981 y(that)k(for)g(ev)o(ery)e(subset,)j(its)f(parit)o(y)g(is)h(either)e(zero)g (or)h(one)g(with)g(\\almost")i(equal)301 2053 y(probabilit)o(y)l(.)18 b(Applications)h(are)e(sho)o(wn)g(in)g(problems)g(suc)o(h)g(as)g(the)f (derandomization)301 2125 y(of)23 b(algorithms)h(and)e(reducing)h(the)f(n)o (um)o(b)q(er)f(of)h(random)h(bits)f(required)g(b)o(y)g(certain)301 2198 y(randomized)17 b(algorithms.)0 2311 y([NS93])161 b(M.)18 b(Naor)g(and)h(L.)f(Sto)q(c)o(kmey)o(er.)24 b(What)19 b(can)f(b)q(e)g (computed)g(lo)q(cally?)38 b(In)18 b Fj(Pr)n(o)n(c.)g(25th)301 2384 y(A)o(nn.)j(A)o(CM)e(Symp.)g(on)h(The)n(ory)f(of)h(Computing)p Fk(,)f(pages)h(184{193,)h(San)f(Diego,)g(CA,)301 2456 y(Ma)o(y)i(1993.)42 b(In)22 b(the)g(con)o(text)g(of)g(a)h(distributed)h(net)o(w)o(ork,)f(Naor)g (and)g(Sto)q(c)o(kmey)o(er)301 2528 y(in)o(v)o(estigate)15 b Fj(L)n(o)n(c)n(al)r(ly)g(Che)n(ckable)j(L)n(ab)n(eling)c Fk(\()p Fj(LCL)p Fk(\))g(problems,)g(where)g(the)g(legalit)o(y)i(of)f(a)301 2600 y(lab)q(eling)20 b(\(e.g.,)c(coloring\))k(can)d(b)q(e)g(c)o(hec)o(k)o (ed)e(lo)q(cally;)20 b(i.e.,)c(within)j(time)e(\(or)g(distance\))301 2672 y(indep)q(enden)o(t)j(of)g(the)g(size)f(of)h(the)g(net)o(w)o(ork.)e (Among)i(their)g(results)g(they)f(sho)o(w)i(that)938 2828 y(145)p eop bop 301 195 a Fk(randomization)24 b(cannot)d(mak)o(e)g(an)g(LCL)h(problem)g (lo)q(cal;)j(i.e.,)c(if)h(a)f(problem)h(has)g(a)301 267 y(lo)q(cal)d (randomized)d(algorithm)j(then)d(it)g(has)h(a)g(lo)q(cal)h(deterministic)f (algorithm.)0 381 y([NY90])151 b(M.)23 b(Naor)h(and)h(M.)e(Y)l(ung.)43 b(Public-k)o(ey)24 b(cryptosystems)f(pro)o(v)m(ably)i(secure)e(against)301 453 y(c)o(hosen)g(cypher-text)e(attac)o(k.)40 b(In)22 b Fj(Pr)n(o)n(c.)g (22nd)i(A)o(nn.)g(A)o(CM)f(Symp.)g(on)g(The)n(ory)f(of)301 526 y(Computing)p Fk(,)14 b(pages)g(427{437,)h(1990.)i(The)c(authors)h(sho)o (w)f(ho)o(w)h(to)f(construct)g(a)g(public-)301 598 y(k)o(ey)18 b(cryptosystem)f(secure)h(against)j Fj(chosen)f(ciphertest)h(attacks)t Fk(,)e(giv)o(en)g(a)g(publi-k)o(ey)301 670 y(cryptosystem)d(secure)f(against) j(passiv)o(e)e(ea)o(v)o(esdropping)g(and)h(a)f(nonin)o(teractiv)o(e)g(zero-) 301 742 y(kno)o(wledge)h(pro)q(of)g(system)f(in)h(the)f(shared)h(string)g(mo) q(del.)0 856 y([NZ93])158 b(N.)19 b(Nisan)h(and)g(D.)f(Zuc)o(k)o(erman.)29 b(More)20 b(deterministic)g(sim)o(ulation)h(in)f(logspace.)32 b(In)301 928 y Fj(Pr)n(o)n(c.)20 b(25th)h(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g (The)n(ory)f(of)h(Computing)p Fk(,)h(pages)f(235{244,)i(San)301 1000 y(Diego,)13 b(CA,)e(Ma)o(y)g(1993.)k(It)10 b(is)i(sho)o(wn)g(that)g(an)o (y)f(randomized)h Fj(sp)n(ac)n(e\(S\))f Fk(algorithm)j(that)301 1073 y(uses)j(only)g Fj(p)n(oly\(S\))f Fk(random)h(bits)g(can)g(b)q(e)f(sim)o (ulated)i(deterministically)g(in)f Fj(sp)n(ac)n(e\(S\))r Fk(,)301 1145 y(for)g Fh(S)s Fk(\()p Fh(n)p Fk(\))d Fg(\025)f Fk(log)e Fh(n)p Fk(.)0 1259 y([Ore87])146 b(Y.)24 b(Oren.)46 b(On)24 b(the)g(cunning)i(p)q(o)o(w)o(er)e(of)h(c)o(heating)g(v)o(eri\014ers:)38 b(Some)24 b(observ)m(ations)301 1331 y(ab)q(out)f(zero)d(kno)o(wledge)i(pro)q (ofs.)36 b(In)21 b Fj(Pr)n(o)n(c.)f(28th)i(A)o(nn.)g(IEEE)g(Symp.)f(on)h(F)l (ounda-)301 1403 y(tions)d(of)e(Computer)h(Scienc)n(e)p Fk(,)h(pages)e (462{471,)i(1987.)25 b(Oren)16 b(di\013eren)o(tiates)i(b)q(et)o(w)o(een)301 1475 y Fj(auxiliary-input)30 b Fk(zero-kno)o(wledge)25 b(and)g Fj(blackb)n(ox-simulation)31 b Fk(zero-kno)o(wledge.)25 b(He)301 1548 y(sho)o(ws)18 b(that)f(all)h(kno)o(wn)f(zero-kno)o(wledge)g(pro)q(ofs)i (are)d(in)i(the)e(latter)h(category)l(.)g(In)f(ad-)301 1620 y(dition,)h(it)f(is)h(pro)o(v)o(ed)e(that)h Fj(blackb)n(ox-simulation)22 b Fk(zero-kno)o(wledge)16 b(implies)h Fj(auxiliary-)301 1692 y(input)28 b Fk(kno)o(wledge,)c(and)f(that)g(the)f(latter)h(corresp)q(onds)h (to)f(the)f(original)j(de\014nition)301 1764 y(giv)o(en)17 b(in)g([GMR89].)0 1878 y([P)o(ac87])147 b(J.)12 b(P)o(ac)o(hl.)i(A)d(lo)o(w)o (er)h(b)q(ound)h(for)f(probabilistic)j(distributed)e(algorithms.)j Fj(Journal)d(of)g(A)o(l-)301 1950 y(gorithms)p Fk(,)g(8\(1\):53{65,)i(1987.)h (The)c(minim)o(um)h(n)o(um)o(b)q(er)e(of)i(messages)g(required)f(to)h(\014nd) 301 2022 y(the)19 b(extremal)f(v)m(alue)h(of)f(no)q(de)i(ids)f(in)g(an)g (async)o(hronous)g(net)o(w)o(ork)f(deterministically)301 2095 y(is)h(\002\()p Fh(n)27 b Fk(log)10 b Fh(n)p Fk(\).)18 b(This)i(pap)q(er)e (sho)o(ws)h(that)g(this)g(b)q(ound)h(holds)f(ev)o(en)e(for)i(probabilistic) 301 2167 y(algorithms.)0 2281 y([P)o(az71])147 b(A.)18 b(P)o(az.)29 b Fj(Intr)n(o)n(duction)19 b(to)h(Pr)n(ob)n(abilistic)g(A)o(utomata)p Fk(.)29 b(Academic)18 b(Press,)h(1971.)30 b(P)o(az)301 2353 y(dev)o(elops)17 b(a)f(theory)h(of)f(equiv)m(alence)g(among)i(probabilistic)h (automata.)0 2467 y([P)o(el90])158 b(M.)12 b(P)o(ellegrini.)k(Stabbing)e(and) f(ra)o(y)f(sho)q(oting)j(in)e(3)f(dimensional)j(space.)g(In)d Fj(Pr)n(o)n(c.)g(Sixth)301 2539 y(A)o(nn.)17 b(A)o(CM)e(Symp.)h(on)g (Computational)g(Ge)n(ometry)p Fk(,)e(pages)h(177{186,)i(Berk)o(eley)l(,)c (CA,)301 2611 y(June)18 b(1990.)26 b(The)17 b(author)h(presen)o(ts)f(a)h(n)o (um)o(b)q(er)f(of)g(results)h(ab)q(out)h(line)f(stabbing)h(and)301 2683 y(ra)o(y)e(sho)q(oting)i(including)g(the)d(follo)o(wing)j(t)o(w)o(o:)j (\(1\))17 b(One)f(can)h(determine)f(the)g(the)h(\014rst)938 2828 y(146)p eop bop 301 195 a Fk(triangles)24 b(hit)f(b)o(y)f Fh(m)g Fk(ra)o(ys)g(in)h(a)g (set)f(of)g Fh(n)h Fk(disjoin)o(t)g(triangles)h(using)g(a)e(randomized)301 267 y(algorithm)17 b(whose)f(exp)q(ected)e(running)i(time)e(is)i Fh(O)q Fk(\()p Fh(m)1304 249 y Fl(5)p Ff(=)p Fl(6)p Fd(\000)p Ff(\016)1404 267 y Fh(n)1433 249 y Fl(5)p Ff(=)p Fl(6+5)p Ff(\016)1558 267 y Fk(log)1621 246 y Fl(2)1649 267 y Fh(n)8 b Fk(+)g Fh(m)g Fk(log)1847 246 y Fl(2)1875 267 y Fh(n)g Fk(+)301 340 y Fh(n)g Fk(log)j Fh(n)d Fk(log)j Fh(m)p Fk(\);)16 b(and)h(\(2\))g(One)f(can)h (determine)f(the)g(\014rst)h(b)q(o)o(x)g(hit)g(b)o(y)f Fh(m)g Fk(ra)o(ys)h(in)g(a)g(set)301 412 y(of)h(disjoin)o(t)i(axis-orien)o(ted)f(b)q (o)o(xes)e(using)j(a)e(randomized)g(algorithm)i(whose)e(exp)q(ected)301 484 y(running)d(time)e(is)h Fh(O)q Fk(\()p Fh(m)734 466 y Fl(3)p Ff(=)p Fl(4)p Fd(\000)p Ff(\016)833 484 y Fh(n)862 466 y Fl(3)p Ff(=)p Fl(4+3)p Ff(\016)988 484 y Fk(log)1051 463 y Fl(4)1079 484 y Fh(n)5 b Fk(+)g Fh(m)j Fk(log)1269 463 y Fl(4)1297 484 y Fh(n)d Fk(+)g Fh(n)j Fk(log)i Fh(n)e Fk(log)j Fh(m)p Fk(\).)i(Here)f Fh(\016)i Fk(is)g(an)o(y)301 556 y(constan)o(t)j(greater)f(than)h(zero.)0 670 y([P)o(el92])158 b(M.)14 b(P)o(ellegrini.)19 b(Incidence)14 b(and)g(nearest)g(neigh)o(b)q(or)i(problems)f(for)f(lines)h(in)g(3-space.)j (In)301 742 y Fj(Pr)n(o)n(c.)g(Eighth)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g (Computational)g(Ge)n(ometry)p Fk(,)e(pages)i(130{137,)301 814 y(Berlin,)24 b(German)o(y)l(,)e(June)g(1992.)40 b(Giv)o(en)22 b(a)h(set)e(of)i Fh(n)f Fk(lines)h(in)g(3-space,)h(this)e(pap)q(er)301 887 y(demonstrates)16 b(a)f(randomized)g(algorithm)i(that)e(\014nds)h(the)e (shortest)i(v)o(ertical)f(segmen)o(t)301 959 y(b)q(et)o(w)o(een)21 b(an)o(y)h(pair)h(of)f(lines)h(in)f(randomized)h(exp)q(ected)e(time)g Fh(O)q Fk(\()p Fh(n)1619 941 y Fl(8)p Ff(=)p Fl(5+)p Ff(\017)1717 959 y Fk(\))g(for)i(ev)o(ery)301 1031 y Fh(\017)14 b(>)g Fk(0.)0 1145 y([P)o(el93])158 b(M.)15 b(P)o(ellegrini.)23 b(On)15 b(line)i(missing)h (p)q(olyhedral)f(sets)f(in)h(3-space)f(\(extended)f(abstract\).)301 1217 y(In)j Fj(Pr)n(o)n(c.)g(Ninth)i(A)o(nn.)g(A)o(CM)e(Symp.)h(on)h (Computational)f(Ge)n(ometry)p Fk(,)f(pages)h(19{28,)301 1289 y(San)e(Diego,)f(CA,)f(Ma)o(y)h(1993.)22 b(P)o(ellegrini)17 b(giv)o(es)f(an)g Fh(O)q Fk(\()p Fh(n)1376 1271 y Fl(1)p Ff(:)p Fl(5+)p Ff(\017)1466 1289 y Fk(\))g(randomized)g(exp)q(ected)301 1362 y(time)f(algorithm)h(that)g(tests)e(the)h Fj(sep)n(ar)n(ation)e Fk(prop)q(ert)o(y:)21 b(do)q(es)15 b(there)f(exist)h(a)g(direction)301 1434 y Fh(v)j Fk(along)f(whic)o(h)g(a)f(set)g(of)g Fh(n)g Fk(red)g(lines)h (can)f(b)q(e)g(translated)h(a)o(w)o(a)o(y)e(from)h(a)h(set)e(of)i Fh(n)f Fk(blue)301 1506 y(lines)i(without)f(collisions)q(?)0 1620 y([P)o(er85])152 b(K.)16 b(P)o(erry)l(.)k(Randomized)c(Byzan)o(tine)f (agreemen)o(t.)20 b Fj(IEEE)d(T)l(r)n(ans.)g(on)g(Softwar)n(e)h(Engi-)301 1692 y(ne)n(ering)p Fk(,)f(SE-11\(6\):539{5)q(46,)i(June)e(1985.)23 b(P)o(erry)16 b(presen)o(ts)g(randomized)h(algorithms)301 1764 y(for)g(Byzan)o(tine)e(agreemen)o(t)g(that,)h(lik)o(e)g(the)f(algorithm)j(of) e(Rabin)h([Rab83)q(],)e(terminate)301 1836 y(in)j(an)g(exp)q(ected)e(n)o(um)o (b)q(er)h(of)g(rounds)h(whic)o(h)g(is)g(a)g(small)g(constan)o(t)g(indep)q (enden)o(t)f(of)h Fh(n)301 1909 y Fk(and)k Fh(t)p Fk(.)e(As)h(usual,)i Fh(n)e Fk(is)g(the)g(total)h(n)o(um)o(b)q(er)e(of)i(pro)q(cesses)f(and)h Fh(t)e Fk(is)i(the)f(n)o(um)o(b)q(er)f(of)301 1981 y(fault)o(y)c(pro)q (cesses.)g(Ho)o(w)o(ev)o(er,)e(P)o(erry's)h(algorithm)i(can)f(tolerate)h(a)f (greater)g(n)o(um)o(b)q(er)f(of)301 2053 y(fault)o(y)20 b(pro)q(cesses.)g(He) e(requires)i(only)g(that)g Fh(n)f Fg(\025)g Fk(6)p Fh(t)13 b Fk(+)g(1)20 b(in)g(the)g(async)o(hronous)g(case)301 2125 y(and)d Fh(n)d Fg(\025)g Fk(3)p Fh(t)d Fk(+)g(1)16 b(in)h(the)f(sync)o (hronous)h(case.)0 2239 y([P)o(et82])152 b(G.)12 b(L.)g(P)o(eterson.)i(An)d Fh(O)q Fk(\()p Fh(n)d Fk(log)j Fh(n)p Fk(\))h(unidirectional)j(algorithm)f (for)e(the)f(circular)i(extrema)301 2311 y(problem.)39 b Fj(A)o(CM)23 b(T)l(r)n(ans.)f(on)h(Pr)n(o)n(gr)n(amming)e(L)n(anguages)j(and)f(Systems)p Fk(,)g(4\(4\):758{)301 2384 y(762,)g(Octob)q(er)e(1982.)36 b(P)o(eterson)21 b(presen)o(ts)f(a)h(deterministic)h(distributed)g(algorithm) 301 2456 y(for)15 b(\014nding)g(the)f(largest)h(of)f(a)h(set)f(of)g Fh(n)g Fk(uniquely)h(n)o(um)o(b)q(ered)e(pro)q(cesses)h(in)h(a)f(ring.)h(The) 301 2528 y(algorithm)g(requires)e Fh(O)q Fk(\()p Fh(n)8 b Fk(log)j Fh(n)p Fk(\))i(messages)g(in)h(the)e(w)o(orst)i(case,)f(and)g(is)h (unidirectional.)301 2600 y(The)j(n)o(um)o(b)q(er)e(of)i(pro)q(cesses)g(is)g (not)f(initially)j(kno)o(wn.)938 2828 y(147)p eop bop 0 195 a Fk([Pit89])160 b(L.)22 b(Pitt.)37 b(Probabilistic)24 b(inductiv)o(e)e(inference.)36 b Fj(Journal)22 b(of)g(the)g(A)o(CM)p Fk(,)f(36\(2\):383{)301 267 y(433,)j(1989.)39 b(Inductiv)o(e)20 b(inference)h(mac)o(hines)h(construct)f(total)i(recursiv)o(e)e(functions)301 340 y Fh(\036)p Fk(\()p Fh(x)p Fk(\))j(giv)o(en)f(examples)h(of)g(the)f (input)i(and)f(output)g(of)g Fh(\036)p Fk(.)f(Probabilisti)q(c)j(inductiv)o (e)301 412 y(inference)c(mac)o(hines)g(are)g(p)q(ermitted)g(coin)h(tosses)f (while)h(constructing)h Fh(\036)p Fk(,)e(and)h(are)301 484 y(only)15 b(required)e(to)h(construct)g Fh(\036)g Fk(with)g(probabilit)o(y)i Fh(p)p Fk(,)e(0)g Fh(<)g(p)h(<)e Fk(1.)h(This)h(pap)q(er)f(sho)o(ws)h(a)301 556 y(discrete)e(hierarc)o(h)o(y)f(of)i(inferabilit)o(y)g(parameterized)f(b)o (y)f Fh(p)p Fk(,)i(for)f Fh(p)h Fg(\024)g Fk(1)p Fh(=)p Fk(2.)f(An)o(y)f(mac) o(hine)301 628 y(that)20 b(can)g(b)q(e)f(constructed)g(b)o(y)g(probabilisti)q (c)j(inference)c(with)i Fh(p)g(>)f Fk(1)p Fh(=)p Fk(2)h(can)g(also)h(b)q(e) 301 701 y(constructed)c(deterministically)l(.)0 814 y([Pra75])149 b(V.)12 b(R.)g(Pratt.)k(Ev)o(ery)c(prime)g(has)i(a)f(succinct)f (certi\014cate.)j Fj(SIAM)f(Journal)g(on)h(Comput-)301 887 y(ing)p Fk(,)i(4\(3\):214{220,)i(1975.)j(This)17 b(pap)q(er)g(pro)o(v)o(es,)e (using)j(the)d(Lucas-Lehmer)i(heuristic)301 959 y(for)22 b(testing)g (primeness,)f(that)h(just)f(lik)o(e)g(comp)q(osite)h(n)o(um)o(b)q(ers,)f(the) g(primeness)g(of)h(a)301 1031 y(prime)17 b(n)o(um)o(b)q(er)e Fh(n)h Fk(can)h(b)q(e)f(demonstrated)h(b)o(y)e(an)i Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))16 b(long)i(pro)q(of.)0 1145 y([PS83])165 b(R.)20 b(P)o(aturi)i(and)f(J.)f(Simon.)34 b(Lo)o(w)o(er)21 b(b)q(ounds)h(on)f(the)f(time)g(of)h(probabilistic)i(on-line)301 1217 y(sim)o(ulations.)39 b(In)20 b Fj(Pr)n(o)n(c.)h(24th)h(A)o(nn.)h(IEEE)f (Symp.)f(on)i(F)l(oundations)f(of)g(Computer)301 1289 y(Scienc)n(e)p Fk(,)16 b(pages)e(343{350,)i(1983.)i(They)12 b(sho)o(w)i(that)g(coin)g (tossing)h(cannot)f(comp)q(ensate)301 1362 y(for)j(inadequate)g(memory)e (access.)0 1475 y([PSL80])135 b(M.)13 b(P)o(ease,)g(R.)g(Shostak,)i(and)f(L.) f(Lamp)q(ort.)18 b(Reac)o(hing)c(agreemen)o(t)f(in)h(the)f(presence)g(of)301 1548 y(faults.)18 b Fj(Journal)c(of)g(the)h(A)o(CM)p Fk(,)d(27\(2\):228{234)q (,)k(1980.)i(This)c(pap)q(er)f(is)h(similar)h(to)f(their)301 1620 y(1982)j(publication)g([LSP82)q(],)d(but)h(con)o(tains)g(a)g(rigorous)i (pro)q(of)f(of)f(the)f(imp)q(ossibili)q(t)o(y)j(of)301 1692 y(Byzan)o(tine)c(agreemen)o(t)g(for)h(the)f(case)h Fh(n)g Fk(=)g(3,)g Fh(t)f Fk(=)h(1.)g(As)f(usual,)i Fh(n)f Fk(is)g(the)g(total)h(n)o(um)o(b)q (er)301 1764 y(of)i(pro)q(cesses)g(and)g Fh(t)e Fk(is)j(the)e(n)o(um)o(b)q (er)f(of)i(fault)o(y)f(pro)q(cesses.)0 1878 y([PU90])155 b(D.)22 b(P)o(eleg)g(and)g(E.)g(Upfal.)38 b(A)21 b(time-randomness)i(tradeo\013s)g (for)f(oblivious)i(routing.)301 1950 y Fj(SIAM)c(Journal)g(on)g(Computing)p Fk(,)g(19:256{266,)i(1990.)30 b(This)20 b(is)f(a)g(companion)h(pap)q(er)301 2022 y(of)d([KPU88].)0 2136 y([Pug90])141 b(W.)19 b(Pugh.)28 b(Skip)20 b(lists:)27 b(A)18 b(probabilistic)k(alternativ)o(e)d(to)g (balanced)g(trees.)28 b Fj(Commu-)301 2208 y(nic)n(ations)23 b(of)f(the)h(A)o(CM)p Fk(,)d(33\(6\):668{676,)26 b(June)21 b(1990.)38 b(This)22 b(pap)q(er)g(presen)o(ts)f(skip)301 2281 y(lists,)i(a)f(list)g(in)f(whic)o(h)g(a)g(no)q(de)h(ma)o(y)e(ha)o(v)o(e)g(a)h (p)q(oin)o(ter)g(to)g(a)h(no)q(de)f(some)g(n)o(um)o(b)q(er)f(of)301 2353 y(places)d(ahead)h(of)e(it)h(on)g(the)g(list.)g(Suc)o(h)f(p)q(oin)o (ters,)h(called)g(\\forw)o(ard)h(p)q(oin)o(ters",)f(there-)301 2425 y(fore)j(\\skip")h(o)o(v)o(er)d(in)o(termediate)i(no)q(des.)g(A)f(no)q (de)h(with)g Fh(k)i Fk(forw)o(ard)e(p)q(oin)o(ters)g(is)h(said)301 2497 y(to)d(b)q(e)g(a)g Fj(level)i Fh(k)g Fk(no)q(de.)d(Skip)h(lists)i(are)d (probabilisti)q(c)j(in)e(that)g(the)g(lev)o(el)f(of)h(a)g(no)q(de)g(is)301 2570 y(c)o(hosen)h(randomly)h(with)f(the)g(prop)q(ert)o(y)f(that)h(a)g(no)q (de's)g Fh(i)p Fk(th)g(forw)o(ard)g(p)q(oin)o(ter)h(p)q(oin)o(ts)301 2642 y(to)c(the)f(next)g(no)q(de)h(of)g(lev)o(el)f Fh(i)g Fk(or)h(higher.)f (It)g(is)h(sho)o(wn)g(that)g(skips)g(lists)h(can)f(e\016cien)o(tly)938 2828 y(148)p eop bop 301 195 a Fk(implemen)o(t)19 b(abstract)h(data)g(t)o(yp)q(es)e(suc)o(h)h (as)h(dictionaries)h(and)e(ordered)g(lists)i(in)f(that)301 267 y(the)c(exp)q(ected)g(time)g(to)g(searc)o(h)g(for)h(an)g(item)f(is)h Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\).)0 378 y([PZ86])162 b(A.)11 b(Pn)o(ueli)h(and)f(L.)g(Zuc)o(k.)h(V)l(eri\014cation)g(of)g(m)o(ultipro)q (cess)g(probabilistic)i(proto)q(cols.)h Fj(Dis-)301 450 y(tribute)n(d)j (Computing)p Fk(,)e(1:53{72,)h(1986.)22 b(They)15 b(presen)o(t)g(a)h(temp)q (oral)h(logic)g(for)f(pro)o(ving)301 523 y(liv)o(eness)k(prop)q(erties)h(of)e (probabilisti)q(c)j(concurren)o(t)c(programs)j(based)f(on)f(the)h(notion)301 595 y(of)d(\\extreme)e(fairness".)0 705 y([Rab63])138 b(M.)19 b(O.)h(Rabin.)32 b(Probabilisti)q(c)22 b(automata.)33 b Fj(Information)20 b(and)h(Contr)n(ol)p Fk(,)f(6:230{245,)301 778 y(1963.)j(This)18 b(is)f(a)g(seminal)g(pap)q(er)g(on)g(the)f(theory)g(of)g(probabilisti)q(c)j (automata.)e(Rabin)301 850 y(de\014ned)f(the)g(notion)h(of)f(a)g(language)i (b)q(eing)f(accepted)e(b)o(y)g(a)i(probabilistic)i(automaton)301 922 y(relativ)o(e)g(to)f(a)h(cutp)q(oin)o(t)g(lam)o(b)q(da.)g(One)f(of)g(his) h(k)o(ey)e(results)i(w)o(as)g(to)f(sho)o(w)h(that)g(there)301 994 y(exist)e(\014nite)f(state)h(probabilistic)i(automata)f(that)f(de\014ne)e (non-regular)k(languages.)0 1105 y([Rab76])138 b(M.)23 b(O.)f(Rabin.)43 b(Probabilistic)26 b(algorithms.)44 b(In)23 b(J.F.)f(T)l(raub,)j(editor,)g Fj(A)o(lgorithms)301 1177 y(and)20 b(Complexity:)25 b(New)20 b(Dir)n(e)n(ctions)f(and)g(R)n(e)n(c)n(ent)g(R)n(esults)p Fk(,)f(pages)g (21{39.)i(Academic)301 1250 y(Press,)15 b(1976.)k(This)c(classic)g(pap)q(er)g (on)f(probabilisti)q(c)j(algorithms)f(features)e(algorithms)301 1322 y(for)j(primalit)o(y)g(testing)g(and)g(nearest)g(neigh)o(b)q(ors.)0 1432 y([Rab80a])114 b(M.)14 b(O.)f(Rabin.)18 b(A)c(probabilistic)j(algorithm) f(for)e(testing)h(primalit)o(y)l(.)j Fj(Journal)d(of)g(Num-)301 1505 y(b)n(er)k(The)n(ory)p Fk(,)c(12,)j(1980.)26 b(Rabin's)18 b(pap)q(er)f(in)o(tro)q(duces)h(another)g(celebrated)f(algorithm)301 1577 y(for)e(fast,)f(randomized)h(primalit)o(y)g(testing.)g(This)g(pap)q(er)g (is)g(based)g(on)f(a)h(di\013eren)o(t)f(n)o(um-)301 1649 y(b)q(er)j (theoretic)f(prop)q(ert)o(y)g(than)h(that)g(used)f(b)o(y)g(Solo)o(v)m(a)o(y)h (and)g(Strassen)g([SS77].)0 1760 y([Rab80b])111 b(M.)14 b(O.)h(Rabin.)k (Probabilisti)q(c)e(algorithms)g(in)e(\014nite)g(\014elds.)20 b Fj(SIAM)c(Journal)g(on)g(Com-)301 1832 y(puting)p Fk(,)21 b(9\(2\):273{280,)h(Ma)o(y)d(1980.)32 b(Rabin)20 b(presen)o(ts)f (probabilistic)j(algorithms)g(for)301 1904 y(\014nding)c(an)e(irreducible)h (p)q(olynomial)i(of)d(degree)f Fh(n)i Fk(o)o(v)o(er)e(a)h(\014nite)g (\014eld,)g(the)g(ro)q(ots)h(of)g(a)301 1977 y(p)q(olynomial,)i(and)e(the)f (irreducible)h(factors)g(of)f(a)h(p)q(olynomial.)0 2087 y([Rab83])138 b(M.)21 b(O.)h(Rabin.)38 b(Randomized)23 b(Byzan)o(tine)e(Generals.)39 b(In)21 b Fj(Pr)n(o)n(c.)g(24th)i(A)o(nn.)g(IEEE)301 2160 y(Symp.)i(on)g(F)l (oundations)g(of)g(Computer)g(Scienc)n(e)p Fk(,)i(pages)e(403{409,)k(1983.)46 b(Rabin)301 2232 y(presen)o(ts)17 b(a)g(randomized)h(algorithm)g(for)f(async) o(hronous)h(Byzan)o(tine)f(agreemen)o(t)f(that)301 2304 y(terminates)g(in)f (a)h(constan)o(t)f(exp)q(ected)f(n)o(um)o(b)q(er)g(of)i(rounds.)f (Cryptograph)o(y)h(is)g(used)f(to)301 2376 y(sim)o(ulate)j(a)f(trusted)f (dealer)h(that)g(distributes)h(random)f(coin)g(tosses)h(b)q(efore)e(the)g (start)301 2448 y(of)22 b(the)e(algorithm.)i(Rabin's)g(algorithm)h(w)o(orks)e (only)g(if)h(less)f(than)h(one-ten)o(th)e(of)i(all)301 2521 y(pro)q(cesses)17 b(are)g(fault)o(y)l(.)0 2631 y([Rac82])143 b(C.)12 b(Rac)o(k)o(o\013.)h(Relativized)f(questions)g(in)o(v)o(olving)h (probabilisti)q(c)h(algorithms.)h Fj(Journal)e(of)301 2704 y(the)18 b(A)o(CM)p Fk(,)d(29\(1\):261{266)q(,)j(Jan)o(uary)f(1982.)22 b(Rac)o(k)o(o\013)16 b(attempts)g(to)h(pro)o(v)o(e)e Fh(R)f Fg(6)p Fk(=)g Fh(P)24 b Fk(b)o(y)938 2828 y(149)p eop bop 301 195 a Fk(assuming)15 b Fh(P)21 b Fg(6)p Fk(=)14 b Fh(N)5 b(P)20 b Fk(and)13 b(relativization)i(\(i.e.,)e(for)g(a)g(class)h(of)f (languages)i Fh(C)t Fk(,)d Fh(C)1796 177 y Ff(A)1837 195 y Fk(is)h(the)301 267 y(same)j(as)g Fh(C)i Fk(except)c(that)i(one)f(can)h(answ) o(er)f(questions)i(concerning)f(mem)o(b)q(ership)f(in)g Fh(A)301 340 y Fk(in)h(constan)o(t)g(time\).)f(In)o(terestingly)l(,)g(he)g(pro)o(v)o (es)g(that)g(for)h(some)f(oracle)h(A,)f Fh(P)1745 321 y Ff(A)1787 340 y Fg(6)p Fk(=)f Fh(N)5 b(P)1921 321 y Ff(A)301 412 y Fk(and)20 b Fh(R)436 394 y Ff(A)484 412 y Fg(6)p Fk(=)f Fh(P)579 394 y Ff(A)608 412 y Fk(,)g(and)h(at)g(the)f(same)g(time,)h(for)f(some)g(other)h (oracle)g Fh(B)s Fk(,)f Fh(P)1731 394 y Ff(B)1780 412 y Fg(6)p Fk(=)g Fh(N)5 b(P)1919 394 y Ff(B)301 484 y Fk(and)19 b Fh(R)435 466 y Ff(B)484 484 y Fg(6)p Fk(=)e Fh(P)577 466 y Ff(B)607 484 y Fk(.)h(An)g(earlier)h(v)o(ersion)g(of)g(this)g(pap)q(er)g(app)q(eared)g (in)g Fj(Pr)n(o)n(c.)f(10th)h(A)o(nn.)301 556 y(A)o(CM)e(Symp.)h(on)f(The)n (ory)g(of)g(Computing)t Fk(,)g(1978,)g(pp.)f(338{342.)0 668 y([Rag88])141 b(P)l(.)16 b(Ragha)o(v)m(an.)22 b(Probabilistic)d(construction) e(of)f(deterministic)g(algorithms:)23 b(Appro)o(x-)301 740 y(imating)17 b(pac)o(king)e(in)o(teger)g(problems.)k Fj(Journal)d(of)g (Computer)g(and)g(System)h(Scienc)n(es)p Fk(,)301 812 y(37:130{143,)29 b(1988.)44 b(Based)24 b(on)g(the)g(derandomization)h(tec)o(hnique)e(of)h (conditional)301 885 y(probabiliti)q(es,)17 b(Ragha)o(v)m(an)e(dev)o(elops)f (a)h(metho)q(dology)h(for)e(con)o(v)o(erting)g(the)g(probabilis-)301 957 y(tic)k(existence)g(pro)q(of)h(of)f(a)g(near-optim)o(um)h(in)o(teger)e (solution)k(to)d(an)g(in)o(teger)g(program)301 1029 y(in)o(to)f(a)g (deterministic)g(appro)o(ximation)h(algorithm.)0 1141 y([Rag90])141 b(P)l(.)17 b(Ragha)o(v)m(an.)25 b(Lecture)16 b(notes)i(on)f(randomized)h (algorithms.)26 b(Researc)o(h)16 b(Rep)q(ort)h(R)o(C)301 1213 y(15340)i(\(#68237\),)f(IBM)d(T.J.)h(W)l(atson)i(Researc)o(h)d(Cen)o(ter,)h (Jan)o(uary)h(1990.)23 b(This)18 b(Re-)301 1285 y(searc)o(h)i(Rep)q(ort)h (consists)g(of)g(lecture)e(notes)i(from)f(a)g(course)g(taugh)o(t)h(b)o(y)f (the)g(author.)301 1357 y(These)e(notes)g(giv)o(e)g(a)g(thorough)h(in)o(tro)q (duction)g(to)f(man)o(y)f(randomized)i(algorithms)g(in)301 1430 y(computational)g(geometry)l(,)c(graph)i(theory)l(,)e(VLSI,)h(and)g(net) o(w)o(orks.)g(The)g(basic)h(math-)301 1502 y(ematical)f(bac)o(kground)e (essen)o(tial)i(for)e(understanding)i(these)e(algorithms)j(is)e(presen)o(ted) 301 1574 y(in)i(detail.)0 1686 y([Ra)s(j91a])123 b(S.)16 b(Ra)s(jasek)m (aran.)23 b Fh(k)14 b Fg(\000)c Fh(k)19 b Fk(routing,)e Fh(k)d Fg(\000)d Fh(k)18 b Fk(sorting,)g(and)f(cut)f(through)h(routing)h(on)f(the) 301 1758 y(mesh.)29 b(T)l(ec)o(hnical)20 b(Rep)q(ort)f(MS-CIS-91-93,)j(Dept.) c(of)h(Computer)g(and)h(Information)301 1830 y(Sciences,)c(Univ.)g(of)h(P)o (ennsylv)m(ania,)h(Philadelphia,)h(P)l(A,)d(1991.)24 b(This)17 b(pap)q(er)g(presen)o(ts)301 1902 y(randomized)c(algorithms)i(for)d Fh(k)5 b Fg(\000)s Fh(k)14 b Fk(routing,)g Fh(k)5 b Fg(\000)s Fh(k)14 b Fk(sorting,)g(and)f(cut)f(through)i(routing)301 1975 y(on)k(mesh)e(connected)h(computers.)f(The)h(time)g(b)q(ounds)h(of)f(these)g (algorithms)i(impro)o(v)o(e)301 2047 y(up)q(on)f(those)e(of)h(the)f(b)q(est)g (kno)o(wn)h(algorithms)h(prior)g(to)e(this)h(pap)q(er.)0 2159 y([Ra)s(j91b])120 b(S.)13 b(Ra)s(jasek)m(aran.)k(Randomized)d(algorithms)h (for)e(pac)o(k)o(et)f(routing)j(on)e(the)g(mesh.)i(T)l(ec)o(h-)301 2231 y(nical)26 b(Rep)q(ort)f(MS-CIS-91-92,)j(Dept.)d(of)f(Computer)h(and)g (Information)h(Sciences,)301 2303 y(Univ.)d(of)g(P)o(ennsylv)m(ania,)j (Philadelphia,)h(P)l(A,)22 b(1991.)43 b(E\016cien)o(t)23 b(randomized)g (algo-)301 2375 y(rithms)18 b(for)f(sore)g(and)g(forw)o(ard,)h(m)o(ultipac)o (k)o(et,)d(and)j(cut)f(through)g(routing)i(of)e(pac)o(k)o(ets)301 2447 y(on)e(a)g(mesh)g(connected)f(computer)g(are)g(surv)o(ey)o(ed.)f(The)h (exp)q(ected)g(running)i(times)e(and)301 2520 y(queueing)j(complexit)o(y)f (of)g(these)g(algorithms)j(are)d(analyzed.)0 2631 y([Ram93])124 b(H.)13 b(Ramesh.)k(On)c(tra)o(v)o(ersing)h(la)o(y)o(ered)f(graphs)i (on-line.)j(In)13 b Fj(Pr)n(o)n(c.)h(F)l(ourth)g(A)o(nn.)i(A)o(CM-)301 2704 y(SIAM)23 b(Symp.)g(on)g(Discr)n(ete)h(A)o(lgorithms)p Fk(,)f(pages)g(412{421,)j(Austin,)e(TX,)e(Jan)o(uary)938 2828 y(150)p eop bop 301 195 a Fk(1993.)27 b(A)17 b Fj(layer)n(e)n(d)h(gr)n(aph)i Fk(is)e(a)g(connected)f(w)o(eigh)o(ted)h(graph)g(whose)g(v)o(ertices)f(are)g (par-)301 267 y(titioned)23 b(in)o(to)f(sets)f(\(i.e.,)h(la)o(y)o(ers\))f Fh(L)1004 274 y Fl(0)1024 267 y Fk(,)h Fh(L)1093 274 y Fl(1)1113 267 y Fk(,)g Fh(L)1182 274 y Fl(2)1202 267 y Fh(;)8 b Fk(.)g(.)g(.)o(,)22 b(and)g(all)h(edges)e(connect)g(v)o(etices)301 340 y(in)k(consecutiv)o(e)e (la)o(y)o(ers.)f(Ramesh)i(presen)o(ts)f(a)h(randomized)g(on-line)h(algorithm) h(for)301 412 y(tra)o(v)o(ersing)17 b(width-)p Fh(w)i Fk(la)o(y)o(ered)c (graphs)j(with)f(a)f(comp)q(etitiv)o(e)g(ratio)i(of)e Fh(O)q Fk(\()p Fh(w)1723 394 y Fl(15)1761 412 y Fk(\).)g(His)h(al-)301 484 y(gorithm)k(represen)o(ts)f(the)f(\014rst)i(p)q(olynomially)i(comp)q (etitiv)o(e)d(randomized)g(algorithm)301 556 y(for)d(la)o(y)o(ered)f(graph)h (tra)o(v)o(ersal.)0 668 y([Rei80])154 b(J.)15 b(H.)g(Reif.)k(Logics)e(for)f (probabilistic)i(programs.)j(In)15 b Fj(Pr)n(o)n(c.)g(12th)i(A)o(nn.)g(A)o (CM)f(Symp.)301 740 y(on)h(The)n(ory)e(of)h(Computing)p Fk(,)g(1980.)21 b(Reif)15 b(presen)o(ts)g(y)o(et)f(another)h(attempt)g(at)h(a)f(formal)301 812 y(logic,)j(PR)o(OB-DL,)e(for)g(probabilisti)q(c)j(programs.)0 924 y([Rei81])154 b(R.)21 b(Reisc)o(h)o(uk.)34 b(A)20 b(fast)i(probabilistic) i(parallel)f(sorting)f(algorithm.)37 b(In)20 b Fj(Pr)n(o)n(c.)h(22nd)301 996 y(A)o(nn.)c(IEEE)e(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)g(Scienc)n (e)p Fk(,)h(pages)f(212{219,)i(1981.)301 1068 y(Reisc)o(h)o(uk)g(considers)h (the)g(problems)g(of)g(selecting)g Fh(k)h Fk(smallest)g(elemen)o(ts)e(out)h (of)f(a)h(set)301 1141 y(of)e Fh(n)g Fk(k)o(eys,)f(and)h(sorting)h(the)f Fh(n)g Fk(elemen)o(ts)f(using)i Fh(n)e Fk(pro)q(cessors)i(in)g(parallel.)g (He)e(sho)o(ws)301 1213 y(that)j(the)e(former)g(can)h(b)q(e)g(done)g(in)h Fj(c)n(onstant)k Fk(time)16 b(with)i(probabilit)o(y)h(1)12 b Fg(\000)f Fk(2)1761 1195 y Fd(\000)p Ff(cn)1829 1169 y Fb(1)p 1830 1173 16 2 v 1830 1191 a(8)1871 1213 y Fk(and)301 1285 y(the)i(later)g(in)g Fh(O)q Fk(\(log)e Fh(n)p Fk(\))i(time.)f(This)h(ac)o (hiev)o(es)f(the)g(information)j(theoretic)e(lo)o(w)o(er-b)q(ound)301 1357 y(in)k(terms)e(of)h(pro)q(cessor-time)g(pro)q(duct)h(as)f(w)o(ell)g(as)g (the)g(optimal)h(sp)q(eed-up)f(attainable)301 1430 y(using)i Fh(n)e Fk(pro)q(cessors.)0 1541 y([Rei85a])130 b(J.)17 b(H.)f(Reif.)23 b(Optimal)18 b(parallel)h(algorithms)g(for)e(in)o(teger)g(sorting)h(and)f (graph)h(connec-)301 1614 y(tivit)o(y)l(.)j(In)16 b Fj(Pr)n(o)n(c.)g(26th)h (A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l(oundations)f(of)h(Computer)f(Scienc)n(e)p Fk(,)301 1686 y(1985.)i(This)c(pap)q(er)g(con)o(tains)g(some)f(results)h(on)f (the)g(use)g(of)g(randomization)i(in)f(parallel)301 1758 y(algorithms.)0 1870 y([Rei85b])127 b(R.)14 b(Reisc)o(h)o(uk.)k(Probabilisti)q(c)f(parallel)g (algorithms)f(for)f(sorting)h(and)g(selection.)j Fj(SIAM)301 1942 y(Journal)i(on)h(Computing)p Fk(,)f(14\(2\):396{409)q(,)i(Ma)o(y)d (1985.)35 b(This)21 b(pap)q(er)g(considers)g(the)301 2014 y(problems)k(of)g (selecting)g(the)e Fh(k)k Fk(smallest)e(elemen)o(ts)e(out)i(of)f(a)h(set)f (of)g Fh(n)h Fk(k)o(eys,)f(and)301 2086 y(sorting)f(the)d Fh(n)h Fk(k)o(eys)e(using)j Fh(n)f Fk(pro)q(cessors)h(in)f(parallel.)i(Reisc)o(h)o (uk)d(sho)o(w)o(ed)g(that)h(the)301 2159 y(former)16 b(can)h(b)q(e)f(done)g (in)h(constan)o(t)g(time)f(with)h(probabilit)o(y)h(1)12 b Fg(\000)f Fk(2)1564 2140 y Fd(\000)p Ff(cn)1632 2115 y Fb(1)p 1633 2119 V 1633 2137 a(8)1674 2159 y Fk(and)16 b(the)g(later)301 2231 y(in)k Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))18 b(time.)h(Both)f(algorithms)j (meet)d(the)g(corresp)q(onding)j(information)g(theo-)301 2303 y(retic)d(lo)o(w)o(er)g(b)q(ounds)h(in)g(terms)e(of)i(pro)q(cessor-time)g (pro)q(duct)f(as)h(w)o(ell)f(as)h(the)e(optimal)301 2375 y(sp)q(eed-up)d (attainable)h(using)f Fh(n)f Fk(pro)q(cessors.)h(An)e(earlier)i(v)o(ersion)f (app)q(eared)g(as)h(\\A)f(F)l(ast)301 2447 y(Probabilisti)q(c)18 b(P)o(arallel)g(Sorting)e(Algorithm")h(in)g Fj(Pr)n(o)n(c.)e(22nd)i(A)o(nn.)h (IEEE)e(Symp.)h(on)301 2520 y(F)l(oundations)i(of)e(Computer)g(Scienc)n(e)t Fk(,)h(1981,)f(pp.)f(212{219.)0 2631 y([RP91])156 b(M.)13 b(V.)g(Ramakrishna) i(and)f(G.)f(A.)g(P)o(ortice.)k(P)o(erfect)12 b(hashing)j(functions)g(for)f (hardw)o(are)301 2704 y(applications.)19 b(In)13 b Fj(Pr)n(o)n(c.)h(Seventh)j (Int'l.)e(Conf.)f(on)h(Data)g(Engine)n(ering)p Fk(,)g(April)f(1991.)j(A)938 2828 y(151)p eop bop 301 195 a Fk(hardw)o(are)16 b(sc)o(heme)d(for)j(constructing)g(an)f(asso) q(ciativ)o(e)i(memory)d(using)i(a)g(p)q(erfect)e(hash)301 267 y(function)i(is)g(describ)q(ed.)f(A)g(simple)h(trail)g(and)g(error)f(sc)o (heme)e(is)j(used)f(to)h(\014nd)f(a)h(p)q(erfect)301 340 y(hash)h(function.)0 451 y([RR89])153 b(S.)16 b(Ra)s(jasek)m(aran)i(and)f(J.)f(H.)f(Reif.)22 b(Optimal)17 b(and)g(sublogarithmic)i(time)d(randomized)301 523 y(parallel)i(sorting)e(algorithm.)22 b Fj(SIAM)16 b(Journal)h(on)f (Computing)p Fk(,)g(18\(3\):594{607,)i(June)301 596 y(1989.)46 b(This)25 b(pap)q(er)g(presen)o(ts)e(an)i(optimal,)i(randomized,)f(parallel)g (algorithm)g(for)301 668 y(sorting)20 b Fh(n)e Fk(n)o(um)o(b)q(ers)f(in)i (the)e(range)i([1)8 b(.)g(.)g(.)g Fh(n)p Fk(])17 b(on)i(a)f(parallel)i (random)e(access)g(mac)o(hine)301 740 y(that)f(allo)o(ws)h(b)q(oth)f (concurren)o(t)f(reads)h(and)f(concurren)o(t)g(writes)h(of)f(a)h(global)i (memory)l(.)0 852 y([RS82])162 b(J.)21 b(H.)g(Reif)g(and)h(P)l(.)f(G.)h (Spirakis.)38 b(Real)22 b(time)f(resource)g(allo)q(cation)k(in)d(distributed) 301 924 y(systems.)i(In)17 b Fj(Pr)n(o)n(c.)h(First)f(A)o(nn.)i(A)o(CM)f (Symp.)g(on)h(Principles)g(of)g(Distribute)n(d)f(Com-)301 996 y(puting)p Fk(,)e(pages)f(84{94,)i(1982.)j(This)c(pap)q(er)f(considers)h(a)f (resource)g(allo)q(cation)j(problem)301 1068 y(in)24 b(distributed)h(systems) e(and)h(pro)o(vides)f(real-time)h(solutions)i(in)e(the)f(form)g(of)g(t)o(w)o (o)301 1141 y(probabilisti)q(c)c(algorithms.)0 1252 y([RS84])162 b(J.)16 b(H.)f(Reif)i(and)f(P)l(.)g(G.)g(Spirakis.)23 b(Real)16 b(time)g(sync)o(hronization)i(of)e(in)o(terpro)q(cess)h(com-)301 1325 y(m)o(unication.)40 b Fj(A)o(CM)22 b(T)l(r)n(ans.)g(on)h(Pr)n(o)n(gr)n (amming)e(L)n(anguages)i(and)g(Systems)p Fk(,)h(6:215{)301 1397 y(238,)f(1984.)36 b(They)20 b(presen)o(t)h(probabilistic)i(distributed)f (algorithms)h(for)e(the)g(guard-)301 1469 y(sc)o(heduling)16 b(problem)f(\(Section)g(3.2\))g(that)f(guaran)o(tee)h(real-time)g(resp)q (onse.)g(A)f(prelim-)301 1541 y(inary)j(v)o(ersion)g(of)g(this)g(pap)q(er)g (app)q(eared)g(as)g(\\Distributed)h(Algorithms)f(for)g(Sync)o(hro-)301 1614 y(nizing)j(In)o(terpro)q(cess)d(Comm)o(unication)i(in)g(Real)f(Time,")g (in)g Fj(Pr)n(o)n(c.)g(13th)h(A)o(nn.)g(A)o(CM)301 1686 y(Symp.)f(on)f(The)n (ory)g(of)g(Computing)p Fk(,)f(1981.)0 1797 y([RS89])162 b(J.)15 b(H.)g(Reif)g(and)i(S.)e(Sen.)k(P)o(olling:)24 b(A)15 b(new)g(random)h (sampling)h(tec)o(hnique)e(for)h(compu-)301 1870 y(tational)k(geometry)l(.)i (In)16 b Fj(Pr)n(o)n(c.)h(21st)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n(ory)f (of)h(Computing)p Fk(,)301 1942 y(pages)i(394{404,)j(1989.)31 b(A)19 b(randomized)g(sampling)j(tec)o(hnique)c(called)i(p)q(olling)i(is)e (in-)301 2014 y(tro)q(duced.)k(F)l(or)g(the)f(\014rst)h(time,)g(this)h(tec)o (hnique)e(allo)o(ws)i(the)f(calculation)h(of)f(`high)301 2086 y(lik)o(eliho)q(o)q(d)i(b)q(ounds')e(rather)f(than)g(simply)h(exp)q(ected)d (running)j(time,)g(in)f(computa-)301 2159 y(tional)17 b(geometric)e (randomized)h(algorithms.)h(The)e(tec)o(hnique)f(is)i(illustrated)h(using)g (an)301 2231 y(algorithm)i(for)d(the)g(in)o(tersection)h(of)f(half-spaces)i (in)f(three)f(dimensions.)0 2342 y([RS92])162 b(J.)23 b(H.)g(Reif)g(and)h(S.) f(Sen.)43 b(Optimal)24 b(parallel)i(randomized)e(algorithms)i(for)d(three-) 301 2415 y(dimensional)17 b(con)o(v)o(ex)c(h)o(ulls)i(and)g(related)g (problems.)k Fj(SIAM)c(Journal)h(on)g(Computing)p Fk(,)301 2487 y(21\(3\):466{485)q(,)h(June)d(1992.)19 b(An)13 b(optimal)j(parallel)g (randomized)f(algorithm)h(for)e(com-)301 2559 y(puting)19 b(the)d(in)o (tersection)i(of)f(half-spaces)h(in)g(3-D)g(is)f(giv)o(en.)g(The)g(algorithm) i(pro)o(vides)301 2631 y(e\016cien)o(t)h(solution)i(tec)o(hniques)e(for)g (con)o(v)o(ex)f(h)o(ulls)j(in)f(3-D)g(and)g(V)l(ornoi)g(diagrams)h(of)301 2704 y(p)q(oin)o(t)e(sites)g(on)f(a)g(plane.)g(An)g(earlier)h(v)o(ersion)f (of)g(the)f(pap)q(er)i(app)q(eared)f(as)h(\\P)o(olling:)938 2828 y(152)p eop bop 301 195 a Fk(a)17 b(new)f(random)h(sampling)h(tec)o(hnique)d(for)h (computational)i(geometry")e(in)h Fj(Pr)n(o)n(c.)f(21st)301 267 y(A)o(nn.)j(A)o(CM)d(Symp.)i(on)f(The)n(ory)g(of)g(Computing)t Fk(,)g(1989,)g(pp.)f(394{404.)0 381 y([RSA78])125 b(R.)11 b(L.)g(Riv)o(est,)g (A.)g(Shamir,)h(and)g(L.)f(Adleman.)i(A)d(metho)q(d)i(for)f(obtaining)j (digital)f(signa-)301 453 y(tures)j(and)g(public)h(k)o(ey)d(cryptosystems.)20 b Fj(Communic)n(ations)d(of)g(the)g(A)o(CM)p Fk(,)e(21\(2\):120,)301 526 y(F)l(ebruary)h(1978.)21 b(The)15 b(basics)i(of)f(trap-do)q(or)h (functions)g(and)f(the)f(famous)h(RSA)f(public)301 598 y(k)o(ey)g (cryptosystem)h(are)g(presen)o(ted)g(in)h(this)g(pap)q(er.)0 711 y([Rub81])135 b(R.)20 b(Y.)f(Rubinstein.)33 b Fj(Simulation)22 b(and)f(the)g(Monte)g(Carlo)g(Metho)n(d)p Fk(.)31 b(John)21 b(Wiley)f(&)301 784 y(Sons,)c(1981.)21 b(This)c(w)o(ork)e(is)h(an)f(in-depth) h(lo)q(ok)h(at)f(the)f(use)g(of)g(random)h(sampling)h(\(the)301 856 y(Mon)o(te)f(Carlo)h(metho)q(d\))f(in)h(the)f(con)o(text)f(of)h(sim)o (ulation)i(and)f(n)o(umerical)f(in)o(tegration.)0 970 y([R)-5 b(V89])157 b(M.)21 b(Rabin)h(and)f(V)l(azirani)h(V.)35 b(Maxim)o(um)21 b(matc)o(hings)g(in)h(general)g(graphs)g(through)301 1042 y(randomization.)h Fj(Journal)16 b(of)h(A)o(lgorithms)p Fk(,)e(10:557{567,)j(1989.)k(This)16 b(pap)q(er)g(presen)o(ts)301 1114 y(a)i(conceptually)f(simple)h(algorithm)h (for)e(maximal)g(matc)o(hing)h(in)f(a)g(graph)h(of)f Fh(n)g Fk(no)q(des)301 1186 y(with)f(complexit)o(y)f Fh(O)q Fk(\()p Fh(M)5 b Fk(\()p Fh(n)p Fk(\))p Fh(n)j Fk(log)k(log)e Fh(n)q Fk(\),)k(where)h Fh(M)5 b Fk(\()p Fh(n)p Fk(\))16 b(is)g(the)f(n)o(um)o(b)q (er)f(of)i(op)q(erations)301 1259 y(needed)g(to)h(m)o(ultiply)g(t)o(w)o(o)f Fh(n)11 b Fg(\002)g Fh(n)16 b Fk(matrices.)0 1372 y([R)-5 b(W89])144 b(R.)13 b(Raz)g(and)g(A.)f(Wigderson.)17 b(Probabilisti)q(c)e(comm)o (unication)f(complexit)o(y)f(of)g(b)q(o)q(olean)301 1445 y(relations.)27 b(In)17 b Fj(Pr)n(o)n(c.)h(30th)g(A)o(nn.)h(IEEE)g(Symp.)f(on)h(F)l (oundations)g(of)f(Computer)h(Sci-)301 1517 y(enc)n(e)p Fk(,)i(pages)f (562{567,)j(1989.)31 b(Exp)q(onen)o(tial)21 b(gaps)g(are)e(demonstrated)h(b)q (et)o(w)o(een)e(de-)301 1589 y(terministic)i(and)g(probabilistic)i(complexit) o(y)l(,)d(and)h(b)q(et)o(w)o(een)e(the)h(probabilistic)j(com-)301 1661 y(plexit)o(y)17 b(of)f(monotone)h(and)g(non-monotone)h(relations.)0 1775 y([Sal69])161 b(A.)24 b(Salomaa.)46 b Fj(The)n(ory)24 b(of)h(A)o(utomata)p Fk(.)44 b(P)o(ergamon)25 b(Press,)h(1969.)46 b(Chapter)25 b(2)g(of)301 1847 y(this)c(b)q(o)q(ok)h(discusses)f (probabilistic)i(automata)f(and)e(dev)o(elops)g(a)h(general)g(theory)f(of)301 1919 y(sto)q(c)o(hastic)e(languages.)0 2033 y([Sc)o(h78])150 b(J.)22 b(Sc)o(h)o(w)o(artz.)36 b(Distributed)23 b(sync)o(hronization)g(of)f (comm)o(unicating)g(sequen)o(tial)g(pro-)301 2105 y(cesses.)29 b(T)l(ec)o(hnical)19 b(rep)q(ort,)h(D)o(AI)e(Researc)o(h)g(Rep)q(ort)h(56,)h (Univ)o(ersit)o(y)e(of)h(Edin)o(burgh,)301 2178 y(1978.)i(Sc)o(h)o(w)o(artz) 14 b(presen)o(ts)g(a)h(distributed)h(algorithm)h(for)e(CSP)g(output)h(guards) g(based)301 2250 y(on)h(priorit)o(y)h(ordering)f(of)g(pro)q(cesses.)g(A)f (probabilistic)j(algorithm)g(for)e(output)g(guards)301 2322 y(is)g(describ)q(ed)g(in)g(Section)g(3.2.)0 2436 y([Sc)o(h79])150 b(J.)20 b(T.)f(Sc)o(h)o(w)o(artz.)30 b(Probabilistic)22 b(algorithms)g(for)e (v)o(eri\014cation)g(of)g(p)q(olynomial)i(iden-)301 2508 y(tities.)31 b(In)19 b Fj(ISSA)o(C)h('79:)27 b(Pr)n(o)n(c.)19 b(Int'l.)i(Symp.)f(on)g (Symb)n(olic)h(and)f(A)o(lgebr)n(aic)h(Compu-)301 2580 y(tation,)k Fk(Lecture)d(Notes)f(in)i(Computer)f(Science,)h(V)l(ol.)f(72.)g(Springer-V)l (erlag,)j(1979.)301 2653 y(This)19 b(pap)q(er,)f(whic)o(h)h(also)g(app)q (eared)f(in)h Fj(Journal)f(of)h(the)g(A)o(CM)8 b Fk(,)17 b(1980,)i(pp.)f (701{717,)938 2828 y(153)p eop bop 301 195 a Fk(presen)o(ts)14 b(probabilistic)i(metho)q(ds)e(for)g(testing) h(p)q(olynomial)h(iden)o(tities)f(and)f(prop)q(erties)301 267 y(of)j(systems)f(of)h(p)q(olynomials.)0 381 y([Sc)o(h82])150 b(F.)26 b(B.)f(Sc)o(hneider.)51 b(Sync)o(hronization)27 b(in)g(distributed)h (programs.)52 b Fj(A)o(CM)26 b(T)l(r)n(ans.)301 453 y(on)d(Pr)n(o)n(gr)n (amming)e(L)n(anguages)j(and)e(Systems)p Fk(,)i(4\(2\):1982,)g(April)f(1982.) 39 b(Sc)o(hneider)301 526 y(presen)o(ts)18 b(a)h(timestamp-based)g (distributed)g(algorithm)h(for)e(CSP)h(output)g(guards.)f(A)301 598 y(probabilisti)q(c)h(algorithm)f(for)e(output)h(guards)h(is)f(describ)q (ed)g(in)f(Section)h(3.2.)0 711 y([Sc)o(h84])150 b(M.)16 b(R.)f(Sc)o(hro)q (eder.)20 b Fj(Numb)n(er)d(The)n(ory)f(in)i(Scienc)n(e)h(and)e(Communic)n (ation)h(with)f(Appli-)301 784 y(c)n(ations)j(in)g(Crypto)n(gr)n(aphy,)e (Physics,)i(Biolo)n(gy,)g(Digital)g(Information)g(and)g(Comput-)301 856 y(ing)p Fk(.)25 b(Springer-V)l(erlag,)18 b(1984.)26 b(Sc)o(hro)q(eder)17 b(presen)o(ts)f(in)o(tuitiv)o(e)i(discussions)h(on)f(prime)301 928 y(n)o(um)o(b)q(ers,)13 b(their)g(distribution,)i(fractions,)f (congruences,)f(etc.)f(Sev)o(eral)g(applications)k(of)301 1000 y(n)o(um)o(b)q(er)h(theory)g(in)h(suc)o(h)f(div)o(erse)g(\014elds)h(as)g (cryptograph)o(y)f(and)h(F)l(raunhofer)g(di\013rac-)301 1073 y(tion)e(are)e(discussed.)h(A)f(go)q(o)q(d)i(source)e(of)h(basic)g(n)o(um)o (b)q(er)e(theory)i(results)g(for)f(algorithm)301 1145 y(designers.)0 1259 y([Sc)o(h88])150 b(A.)11 b(Sc)o(honhage.)j(Probabilisti)q(c)g (computation)f(of)f(in)o(teger)g(p)q(olynomial)i(GCDs.)h Fj(Journal)301 1331 y(of)23 b(A)o(lgorithms)p Fk(,)h(9\(3\):365{371,)i(Septem)o(b)q(er)21 b(1988.)40 b(The)23 b(GCD)g(of)f(t)o(w)o(o)g(univ)m(ariate)301 1403 y(in)o(teger)i(p)q(olynomials)i(of)d(degree)g Fg(\024)g Fk(n,)h(with)h(their)e Fh(l)1354 1385 y Fl(1)1397 1403 y Fk(norms)g(b)q (ounded)h(b)o(y)f(2)1855 1385 y Ff(n)1879 1403 y Fk(,)h(is)301 1475 y(sho)o(wn)18 b(to)f(b)q(e)g(reducible)g(to)g(GCD)g(computation)h(for)f (long)h(in)o(tegers.)f(A)f(probabilistic)301 1548 y(approac)o(h)h(yields)h (an)e(exp)q(ected)f(complexit)o(y)h(of)h Fh(O)q Fk(\()p Fh(n)p Fk(\()p Fh(n)12 b Fk(+)f Fh(h)p Fk(\))1465 1529 y Fl(1+)p Ff(o)p Fl(\(1\))1574 1548 y Fk(\))16 b(bit)h(op)q(erations.)0 1661 y([Sc)o(h91])150 b(O.)22 b(Sc)o(h)o(w)o(arzk)o(opf.)37 b(Dynamic)22 b(main)o(tenance)g(of)g(geometric)g(structures)g(made)f(easy)l(.)301 1733 y(In)16 b Fj(Pr)n(o)n(c.)h(32nd)g(A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l (oundations)g(of)f(Computer)h(Scienc)n(e)p Fk(,)f(pages)301 1806 y(180{196,)h(1991.)k(Sc)o(h)o(w)o(arzk)o(opf)14 b(presen)o(ts)h(a)h (randomized)g(algorithm)i(for)e(main)o(taining)301 1878 y(Con)o(v)o(ex)g (Hulls)i(with)g Fh(m)e Fk(p)q(oin)o(ts)j(that)e(runs)g(in)h(exp)q(ected)d (time)i Fh(O)q Fk(\(log)11 b Fh(m)p Fk(\))16 b(p)q(er)h(up)q(date)301 1950 y(for)h(dimensions)h(2)f(and)h(3,)e Fh(O)q Fk(\()p Fh(m)8 b Fk(log)j Fh(m)p Fk(\))18 b(for)f(dimensions)j(4)e(and)g(5,)g(and)g Fh(O)q Fk(\()p Fh(m)1799 1932 y Fd(b)p Ff(d=)p Fl(2)p Fd(c\000)p Fl(1)1931 1950 y Fk(\))301 2022 y(for)f(dimensions)h(greater)e(than)h(5.)0 2136 y([Sei90])163 b(R.)20 b(Seidel.)32 b(Linear)21 b(programming)g(and)g (con)o(v)o(ex)d(h)o(ulls)j(made)e(easy)l(.)32 b(In)20 b Fj(Pr)n(o)n(c.)f (Sixth)301 2208 y(A)o(nn.)e(A)o(CM)e(Symp.)h(on)g(Computational)g(Ge)n (ometry)p Fk(,)e(pages)h(211{215,)i(Berk)o(eley)l(,)c(CA,)301 2281 y(June)24 b(1990.)45 b(Seidel)24 b(presen)o(ts)f(t)o(w)o(o)h(simple)g (randomized)h(algorithms.)g(One)f(solv)o(es)301 2353 y(linear)16 b(programs)f(in)o(v)o(olving)h Fh(m)e Fk(constrain)o(ts)h(in)g Fh(d)g Fk(v)m(ariables)h(in)f(exp)q(ected)e(time)h Fh(O)q Fk(\()p Fh(m)p Fk(\).)301 2425 y(The)19 b(other)f(constructs)h(con)o(v)o(ex)e(h)o (ulls)i(of)g Fh(n)g Fk(p)q(oin)o(ts)g(in)g Fg(<)1397 2407 y Ff(d)1417 2425 y Fk(,)g Fh(d)f(>)f Fk(3)i(in)g(exp)q(ected)e(time)301 2497 y Fh(O)q Fk(\()p Fh(n)387 2479 y Fd(b)p Ff(d=)p Fl(2)p Fd(c)475 2497 y Fk(\).)f(In)g(b)q(oth)h(b)q(ounds,)g Fh(d)g Fk(is)g(considered)f(to)h(b)q(e)f(a)h(constan)o(t.)0 2611 y([Sei91])163 b(R.)19 b(Seidel.)29 b(A)18 b(simple)i(and)f(fast)g(incremen)o(tal)g (randomized)g(algorithm)i(for)e(comput-)301 2683 y(ing)c(trap)q(ezoidal)g (decomp)q(ositions)g(and)f(for)g(triangulating)i(p)q(olygons.)i Fj(Computational)938 2828 y Fk(154)p eop bop 301 195 a Fj(Ge)n(ometry:)21 b(The)n(ory)16 b(and)g(Applic)n(ations)p Fk(,)g(1:51{64,)h(1991.)k(Seidel's)15 b(randomized)h(algo-)301 267 y(rithm)g(runs)g(in)h Fh(O)q Fk(\()p Fh(n)8 b Fk(log)759 246 y Fd(\003)787 267 y Fh(n)p Fk(\))15 b(exp)q(ected)g(time)h(and)g(is)g (simpler)h(than)f(the)f(deterministic)301 340 y Fh(O)q Fk(\()p Fh(n)p Fk(\))i(algorithm)i(due)d(to)g(B.)g(Chazelle.)0 453 y([Sei92])163 b(R.)18 b(Seidel.)29 b(On)18 b(the)g(all-pairs-)q(shortest-pa)q (th)j(problem.)29 b(In)18 b Fj(Pr)n(o)n(c.)g(24th)h(A)o(nn.)h(A)o(CM)301 526 y(Symp.)d(on)h(The)n(ory)e(of)h(Computing)p Fk(,)f(pages)h(745{749,)h (Victoria,)f(B.C.,)d(Canada,)k(Ma)o(y)301 598 y(1992.)26 b(Giv)o(en)18 b(an)f(undirected,)g(un)o(w)o(eigh)o(ted)g Fh(n)p Fk(-v)o(ertex)g(graph,)h(a) f(simple)h(randomized)301 670 y(algorithm)f(is)f(presen)o(ted)e(that)h (\014nds)h(a)f(shortest)g(path)h(b)q(et)o(w)o(een)e(eac)o(h)g(pair)i(of)f(v)o (ertices)301 742 y(in)f(exp)q(ected)f Fh(O)q Fk(\()p Fh(M)5 b Fk(\()p Fh(n)p Fk(\))j(log)j Fh(n)p Fk(\))j(time,)f(where)g Fh(M)5 b Fk(\()p Fh(n)p Fk(\))13 b(is)h(the)f(time)h(necessary)f(to)g(m)o (ultiply)301 814 y(t)o(w)o(o)k Fh(n)11 b Fg(\002)g Fh(n)16 b Fk(matrices)g(of)h(small)g(in)o(tegers.)0 928 y([Sha92a])123 b(J.)21 b(Shallit.)36 b(Randomized)21 b(algorithms)h(in)g(\\primitiv)o(e)f (cultures".)35 b Fj(SIGA)o(CT)21 b(News)p Fk(,)301 1000 y(23\(4\):77{80,)g (1992.)30 b(Shallit,)20 b(in)f(a)g(sligh)o(tly)h(tongue-in-c)o(heek)f (manner,)f(traces)g(bac)o(k)301 1073 y(some)c(of)g(the)g(concepts)f(of)h (randomized)h(algorithms)h(to)e(the)g(nativ)o(e)f(American)h(so)q(ciet)o(y) 301 1145 y(of)21 b(the)g(Nask)m(api)h(and)f(the)f(cen)o(tral)h(African)f(so)q (ciet)o(y)h(of)g(the)g(Azande.)e(Ro)q(ots)j(in)f(the)301 1217 y(w)o(orks)c(of)f(Pierre)h(Laplace)g(and)g(Lord)g(Kelvin)g(are)f(also)i(p)q (oin)o(ted)f(out.)0 1331 y([Sha92b])120 b(A.)18 b(Shamir.)28 b Fh(I)t(P)c Fk(=)18 b Fh(P)7 b(S)s(P)g(AC)t(E)s Fk(.)26 b Fj(Journal)20 b(of)f(the)h(A)o(CM)p Fk(,)d(39\(4\),)j(1992.)29 b(This)19 b(pap)q(er)301 1403 y(sho)o(ws)c(that)f(the)f(set)g(of)h(problems)g (for)g(whic)o(h)f(in)o(teractiv)o(e)g(proto)q(cols)j(exist)e(is)g(precisely) 301 1475 y(the)19 b(set)g(of)h(problems)g(whic)o(h)f(are)g(solv)m(able)j (within)e(p)q(olynomial)i(space)d(on)h(a)g(T)l(uring)301 1548 y(mac)o(hine.)0 1661 y([Sho93])147 b(V.)19 b(Shoup.)31 b(F)l(ast)20 b(construction)g(of)g(irreducible)g(p)q(olynomials)i(o)o(v)o(er)d(\014nite)g (\014elds.)31 b(In)301 1733 y Fj(Pr)n(o)n(c.)24 b(F)l(ourth)g(A)o(nn.)h(A)o (CM-SIAM)f(Symp.)g(on)h(Discr)n(ete)g(A)o(lgorithms)p Fk(,)g(pages)f(484{)301 1806 y(492,)f(Austin,)f(TX,)e(Jan)o(uary)h(1993.)37 b(A)20 b(randomized)h(algorithm)i(is)f(presen)o(ted)e(that)301 1878 y(constructs)g(an)f(irreducible)i(p)q(olynomial)g(of)f(giv)o(en)f(degree)g Fh(n)g Fk(o)o(v)o(er)f(a)i(\014nite)f(\014eld)h Fh(F)1918 1885 y Ff(q)1936 1878 y Fk(.)301 1950 y(It)g(uses)f(an)h(exp)q(ected)f(n)o(um)o(b) q(er)g(of)h Fh(O)1020 1932 y Fd(\030)1050 1950 y Fk(\()p Fh(n)1098 1932 y Fl(2)1131 1950 y Fk(+)13 b Fh(n)8 b Fk(log)j Fh(q)r Fk(\))19 b(op)q(erations)i(in)g Fh(F)1686 1957 y Ff(q)1704 1950 y Fk(,)f(where)f(the)301 2022 y(\\soft-O")f Fh(O)536 2004 y Fd(\030)583 2022 y Fk(indicates)f(an)g(implicit)h(factor)e(of)h(\(log)10 b Fh(n)p Fk(\))1366 2004 y Ff(O)q Fl(\(1\))1441 2022 y Fk(.)0 2136 y([Sie89])163 b(A.)16 b(Siegel.)24 b(On)17 b(univ)o(ersal)h(classes)g (of)f(fast)g(high)h(p)q(erformance)f(hash)g(functions,)h(their)301 2208 y(time-space)h(tradeo\013,)g(and)h(their)e(applications.)31 b(In)18 b Fj(Pr)n(o)n(c.)g(30th)i(A)o(nn.)g(IEEE)f(Symp.)301 2281 y(on)i(F)l(oundations)f(of)g(Computer)g(Scienc)n(e)p Fk(,)h(pages)e (20{25,)i(Oct)e(1989.)30 b(An)19 b(algorithm)301 2353 y(for)f(constructing)g (log)10 b Fh(n)p Fk(-wise)19 b(indep)q(enden)o(t)e(hash)h(functions)g(that)g (can)f(b)q(e)g(ev)m(aluated)301 2425 y(in)g(constan)o(t)g(time)f(is)h(presen) o(ted.)0 2539 y([Sip88])158 b(M.)13 b(Sipser.)j(Expanders,)d(randomness,)h (or)g(time)e(v)o(ersus)h(space.)j Fj(Journal)e(of)g(Computer)301 2611 y(and)20 b(System)g(Scienc)n(es)p Fk(,)g(36,)f(1988.)30 b(Con)o(tains)20 b(a)e(discussion)j(on)e(e\016cien)o(tly)e(reducing)938 2828 y(155)p eop bop 301 195 a Fk(the)15 b(probabilit)o(y)i(of)f(error)f(in)h(randomized)g (algorithms.)g(It)f(also)i(describ)q(es)f(a)f(relation-)301 267 y(ship)h(b)q(et)o(w)o(een)d(pseudorandomness,)j(time)f(and)g(space)f (used)h(b)o(y)f(certain)h(algorithms)i(if)301 340 y(certain)g(t)o(yp)q(es)f (of)h(expander)f(graphs)h(can)f(b)q(e)h(explicitly)g(constructed.)0 453 y([Smi83])144 b(J.)16 b(Smith.)22 b(Public)c(k)o(ey)d(cryptograph)o(y)l (.)21 b Fj(Byte)p Fk(,)c(pages)g(198{218,)h(Jan)o(uary)f(1983.)23 b(This)301 526 y(is)17 b(a)g(simple)g(exp)q(osition)h(of)f(public)g(k)o(ey)e (cryptograph)o(y)l(.)0 639 y([Sp)q(e88])148 b(J.)15 b(Sp)q(encer.)j(T)l(en)c (lectures)g(on)h(the)g(probabilistic)i(metho)q(d.)i Fj(SIAM)d(Journal)g(on)g (Com-)301 711 y(puting)p Fk(,)24 b(1988.)39 b(Sp)q(encer)22 b(presen)o(ts)f(a)h(metho)q(d)g(of)g(con)o(v)o(erting)g(probabilistic)j(pro)q (ofs)301 784 y(of)19 b(existence)e(of)i(certain)f(com)o(binatorial)i (structures)e(in)o(to)h(deterministic)g(algorithms)301 856 y(that)e(construct)f(these)g(structures.)0 970 y([Spi82])158 b(P)l(.)17 b(G.)f(Spirakis.)23 b Fj(Pr)n(ob)n(abilistic)18 b(A)o(lgorithms,)f(A)o(lgorithms)h(with)g(R)n(andom)f(Inputs)h(and)301 1042 y(R)n(andom)25 b(Combinatorial)g(Structur)n(es)p Fk(.)47 b(PhD)25 b(thesis,)j(\(UMI)23 b(Order)i(Num)o(b)q(er)f(D)o(A)301 1114 y(8216206\))f(Harv)m(ard)e(Univ)o(ersit)o(y)l(,)e(Cam)o(bridge,)j(MA,)c (1982.)34 b(This)21 b(thesis)g(puts)g(forth)301 1186 y(a)d(new)g(mo)q(del,)g (`Random)g(Indep)q(endence)e(Systems',)h(for)h(the)f(probabilisti)q(c)j (analysis)301 1259 y(of)c(deterministic)g(algorithms)h(with)f(random)g (inputs,)g(i.e.,)f(algorithms)i(for)f(whic)o(h)f(the)301 1331 y(space)j(of)h(all)g(inputs)g(has)f(a)h(kno)o(wn)f(probabilit)o(y)i (distribution.)g(It)d(also)j(presen)o(ts)d(t)o(w)o(o)301 1403 y(probabilisti)q(c)i(algorithms)f(with)f(real)g(time)f(resp)q(onse)h(for)g (the)f(problem)g(of)h(comm)o(uni-)301 1475 y(cation)h(guard)f(sc)o(heduling.) 0 1589 y([Spr77])152 b(R.)22 b(Sprugnoli.)43 b(P)o(erfect)21 b(hash)j(functions:)35 b(A)22 b(single)i(prob)q(e)f(retriev)m(al)h(metho)q(d) f(for)301 1661 y(static)c(sets.)26 b Fj(Communic)n(ations)18 b(of)h(the)g(A)o(CM)p Fk(,)e(20:841{850,)k(1977.)27 b(This)19 b(is)f(the)g(\014rst)301 1733 y(discussion)c(on)e(p)q(erfect)f(hashing;)j (describ)q(es)e(heuristics)g(for)g(constructing)g(p)q(erfect)f(hash)301 1806 y(functions.)0 1919 y([SS77])171 b(R.)21 b(Solo)o(v)m(a)o(y)i(and)f(V.)f (Strassen.)38 b(A)21 b(fast)h(Mon)o(te-Carlo)h(test)f(for)g(primalit)o(y)l(.) 38 b Fj(SIAM)301 1992 y(Journal)21 b(on)h(Computing)p Fk(,)f(6\(1\):84{85,)j (Marc)o(h)19 b(1977.)35 b(Another)20 b(test)g(for)h(primalit)o(y)301 2064 y(based)d(on)f(the)g(abundance)g(of)g(witnesses)h(to)f(comp)q(ositeness) i(of)e Fh(n)g Fk(is)g(presen)o(ted.)f(The)301 2136 y(test)23 b(en)o(tails)h(pic)o(king)f(a)g(random)g(n)o(um)o(b)q(er)f Fh(a)g Fk(\(1)j Fg(\024)f Fh(a)h(<)f(n)p Fk(\))f(and)g(computing)h Fh(")g Fk(=)301 2208 y Fh(a)327 2190 y Fl(\()p Ff(n)p Fd(\000)p Fl(1\))p Ff(=)p Fl(2)458 2208 y Fk(\()50 b(\(mo)q(d)17 b Fh(n)p Fk(\)\),)h(where)g Fg(\000)p Fk(1)f Fg(\024)g Fh(")g(<)g(n)c Fg(\000)f Fk(2.)18 b(If)f(the)h(Jacobi)i(sym)o(b)q(ol)e Fh(\016)h Fk(=)e(\()p Fh(a=n)p Fk(\))301 2281 y(equals)h Fh(")f Fk(then)g Fh(n)g Fk(is)h(prime,)f(else,)g(if)g(either)g Fh(g)r(cd)p Fk(\()p Fh(a;)8 b(n)p Fk(\))15 b Fh(>)g Fk(1)j(or)f Fh(\016)g Fg(6)p Fk(=)e Fh(")p Fk(,)h(decide)h Fh(n)g Fk(to)h(b)q(e)301 2353 y(comp)q(osite.)f(The)f(second)h(decision)g(has)g(less)g(than)1282 2333 y Fl(1)p 1282 2341 18 2 v 1282 2370 a(2)1321 2353 y Fk(probabilit)o(y)h (of)f(b)q(eing)g(wrong.)0 2467 y([SS78])171 b(R.)17 b(Solo)o(v)m(a)o(y)h(and) f(V.)g(Strassen.)24 b(Erratum:)f(A)16 b(fast)i(Mon)o(te-Carlo)g(test)f(for)g (primalit)o(y)l(.)301 2539 y Fj(SIAM)f(Journal)f(on)g(Computing)p Fk(,)g(7\(1\),)f(F)l(eb.)f(1978.)19 b(A)14 b(minor)g(correction)g(in)h(the)e (anal-)301 2611 y(ysis)i(presen)o(ted)e(in)i([SS77])f(is)g(rep)q(orted)g(b)o (y)g(the)f(authors.)i(The)f(basic)h(results)f(of)g([SS77)q(],)301 2683 y(ho)o(w)o(ev)o(er,)h(still)j(hold.)938 2828 y(156)p eop bop 0 195 a Fk([SS90])171 b(J.)15 b(P)l(.)f(Sc)o(hmidt)h(and)g(A.)f(Siegel.) 20 b(The)15 b(spatial)i(complexit)o(y)d(of)h(oblivious)j Fh(k)r Fk(-prob)q(e)d(hash)301 267 y(functions.)41 b Fj(SIAM)23 b(Journal)g(on)h (Computing)p Fk(,)g(19\(5\):775{786,)j(1990.)41 b(This)23 b(pap)q(er)301 340 y(giv)o(es,)d(among)g(other)g(results,)g(a)g(lo)o(w)o(er)f(b)q(ound)i (for)e(the)g(a)o(v)o(erage)g(space)g(required)h(b)o(y)301 412 y(program)g(for)f(oblivious)j Fh(k)r Fk(-prob)q(e)e(hash)g(function.)f(A)g (probabilistic)j(construction)e(of)301 484 y(a)g(family)g(of)f(oblivious)j Fh(k)r Fk(-prob)q(e)e(hash)g(function)g(that)f(nearly)h(matc)o(h)e(this)i(b)q (ound)g(is)301 556 y(also)e(giv)o(en.)0 670 y([SSS93])144 b(J.)13 b(P)l(.)g(Sc)o(hmidt,)g(A.)f(Siegel,)j(and)e(A.)g(Sriniv)m(asan.)18 b(Cherno\013-Ho)q(e\013ding)e(b)q(ounds)f(for)e(ap-)301 742 y(plications)h(with)f(limited)g(indep)q(endence.)g(In)e Fj(Pr)n(o)n(c.)h(F)l (ourth)h(A)o(nn.)h(A)o(CM-SIAM)f(Symp.)301 814 y(on)18 b(Discr)n(ete)g(A)o (lgorithms)p Fk(,)e(pages)h(331{340,)h(Austin,)f(TX,)e(Jan)o(uary)i(1993.)23 b(Cherno\013-)301 887 y(Ho)q(e\013ding)15 b(b)q(ounds)f(are)f(frequen)o(tly)g (used)g(in)g(the)g(design)h(and)g(analysis)h(of)e(randomized)301 959 y(algorithms)21 b(to)e(b)q(ound)h(the)f(tail)h(probabilities)i(of)d(the)f (sums)h(of)g(b)q(ounded)h(and)f(inde-)301 1031 y(p)q(enden)o(t)h(random)g(v)m (ariables.)h(The)f(authors)h(giv)o(e)f(a)g(simple)h(tec)o(hnique)e(whic)o(h)h (giv)o(es)301 1103 y(sligh)o(tly)14 b(b)q(etter)e(b)q(ounds)i(than)f(these)f (and)g(whic)o(h)h(requires)f(only)h Fj(limite)n(d)h(indep)n(endenc)n(e)301 1176 y Fk(among)k(the)e(random)g(v)m(ariables.)0 1289 y([Sto85])155 b(L.)14 b(Sto)q(c)o(kmey)o(er.)g(On)f(appro)o(ximation)j(algorithms)f(for)f (#P.)i Fj(SIAM)e(Journal)h(on)g(Com-)301 1362 y(puting)p Fk(,)j (14\(4\):849{861,)i(1985.)k(The)17 b(author)g(explores)g(the)g(e\013ect)f(of) h(appro)o(ximation)301 1434 y(and)23 b(randomization)h(on)e(the)f(complexit)o (y)g(of)h(coun)o(ting)h(problems)f(\(V)l(alian)o(t's)h(class)301 1506 y(#P)17 b(whic)o(h)f(has)h(problems)h(suc)o(h)e(as)h(coun)o(ting)g(the)f (n)o(um)o(b)q(er)g(of)h(p)q(erfect)e(matc)o(hings)i(in)301 1578 y(a)g(graph,)g(the)f(size)g(of)h(bac)o(ktrac)o(k)e(searc)o(h)h(trees,)f (etc.\).)0 1692 y([SV86])161 b(M.)13 b(San)o(tha)g(and)h(U.)e(V.)g(V)l (azirani.)17 b(Generating)e(quasi-random)f(sequences)f(from)g(semi-)301 1764 y(random)g(sources.)i Fj(Journal)f(of)f(Computer)h(and)g(System)g (Scienc)n(es)p Fk(,)g(33\(1\):75{87,)h(April)301 1836 y(1986.)i(The)12 b(authors)h(in)o(tro)q(duce)g(the)f(notion)i(of)f(semi-random)g(sources)g (where)e(the)i(next)301 1909 y(bit)k(of)g(the)e(output)i(is)g(pro)q(duced)g (b)o(y)e(an)i(adv)o(ersary)f(b)o(y)f(the)h(\015ip)h(of)g(a)f(coin)h(of)f(v)m (ariable)301 1981 y(bias.)j(The)g(adv)o(ersary)f(can)g(lo)q(ok)i(at)e(the)g (previously)h(output)g(bits,)g(and)g(use)f(them)g(to)301 2053 y(set)g(the)f(bias)h(in)g(the)f(coin.)h(The)f(bias,)h(whic)o(h)g(helps)g(mo)q (del)g(correlation)g(among)h(bits,)301 2125 y(is)e(constrained)h(to)e(b)q(e)h (b)q(et)o(w)o(een)e(t)o(w)o(o)h(limits.)0 2239 y([TN91])153 b(T.)19 b(T)l(okuy)o(ama)f(and)h(J.)g(Nak)m(ano.)28 b(Geometric)19 b(algorithms)h(for)f(a)g(minim)o(um)f(cost)h(as-)301 2311 y(signmen)o(t)24 b(problem.)45 b(In)23 b Fj(Pr)n(o)n(c.)g(Seventh)k(A)o(nn.)e(A)o(CM)f(Symp.)g (on)g(Computational)301 2384 y(Ge)n(ometry)p Fk(,)c(pages)g(262{271,)j(North) d(Con)o(w)o(a)o(y)l(,)g(NH,)e(June)i(1991.)33 b(An)20 b(e\016cien)o(t)e(ran-) 301 2456 y(domized)13 b(algorithm)g(is)g(giv)o(en)f(for)g(the)g(minim)o(um)g (cost)g Fh(\025)p Fk(-assignmen)o(t)i(problem,)f(whic)o(h)301 2528 y(is)h(equiv)m(alen)o(t)g(to)g(the)f(minim)o(um)g(w)o(eigh)o(t)g (one-to-man)o(y)h(matc)o(hing)g(problem)f(in)h(a)g(com-)301 2600 y(plete)h(bipartite)i(graph)f(\000)e(=)g(\()p Fh(A;)8 b(B)s Fk(\).)13 b(If)i Fh(A)g Fk(and)g Fh(B)j Fk(ha)o(v)o(e)c Fh(n)h Fk(and)h Fh(k)h Fk(no)q(des)f(resp)q(ectiv)o(ely)l(,)301 2672 y(then)g(the)g(algorithm)j(requires)d Fh(O)q Fk(\()p Fh(k)r(n)c Fk(+)f Fh(k)1103 2654 y Fl(3)p Ff(:)p Fl(5)1150 2672 y Fh(n)1179 2654 y Fl(0)p Ff(:)p Fl(5)1226 2672 y Fk(\))16 b(exp)q(ected)g(time.)938 2828 y(157)p eop bop 0 195 a Fk([TO92])152 b(S.)27 b(T)l(o)q(da)h(and)g(M.)e(Ogiw)o(ara.)55 b(Coun)o(ting)28 b(classes)g(are)f(at)h(least)f(as)h(hard)g(as)f(the)301 267 y(p)q(olynomial-ti)q(me)14 b(hierarc)o(h)o(y)l(.)f Fj(SIAM)h(Journal)f (on)h(Computing)p Fk(,)f(21\(2\):316{328,)i(April)301 340 y(1992.)24 b(Man)o(y)17 b(coun)o(ting)g(classes)h(are)f(sho)o(wn)g(to)g(b)q(e)g (computationally)i(as)f(hard)f(as)g(the)301 412 y(p)q(olynomial)k(time)e (hierarc)o(h)o(y)l(,)e(under)i(a)f(notion)i(of)f(randomized)g(reducibilit)o (y)l(,)g(unless)301 484 y(the)d(p)q(olynomial-ti)q(me)i(hierarc)o(h)o(y)e (collapses.)0 596 y([T)l(ut47])148 b(W.)13 b(T.)g(T)l(utte.)j(The)c (factorization)j(of)f(linear)g(graphs.)j Fj(Journal)d(of)h(the)f(L)n(ondon)g (Mathe-)301 668 y(matic)n(al)j(So)n(ciety)p Fk(,)d(22:107{111,)k(1947.)i(Let) 15 b Fh(G)p Fk(\()p Fh(V)s(;)8 b(E)s Fk(\))15 b(b)q(e)g(a)g(giv)o(en)f (simple)i(graph)f(where)301 740 y Fh(V)30 b Fk(=)18 b Fg(f)p Fk(1)p Fh(;)8 b Fk(2)p Fh(;)g Fk(.)g(.)g(.)g Fh(n)p Fg(g)p Fk(.)18 b(Asso)q(ciate)i(a)f(v)m(ariable)h Fh(x)1160 747 y Ff(ij)1209 740 y Fk(with)f(eac)o(h)g(edge)f Fh(e)1571 747 y Ff(ij)1619 740 y Fg(2)g Fh(E)k Fk(and)d(de\014ne)301 812 y(the)d Fh(n)10 b Fg(\002)f Fh(n)16 b Fk(matrix)g Fh(B)g Fk(=)e([)p Fh(b)815 819 y Ff(ij)845 812 y Fk(])h(as)h(follo)o(ws.)h(If)e(there)g(is)i (no)f(edge)f(b)q(et)o(w)o(een)g(v)o(ertex)f Fh(i)h Fk(and)301 885 y(v)o(ertex)j Fh(j)k Fk(them)c Fh(b)642 892 y Ff(ij)691 885 y Fk(=)g(0.)h(Otherwise,)h Fh(b)1073 892 y Ff(ij)1121 885 y Fk(=)e Fh(x)1205 892 y Ff(ij)1254 885 y Fk(if)i Fh(i)e(>)g(j)k Fk(and)e Fh(b)1554 892 y Ff(ij)1602 885 y Fk(=)f Fg(\000)p Fh(x)1726 892 y Ff(ij)1775 885 y Fk(if)g Fh(i)f(<)g(j)s Fk(.)301 957 y(This)g(pap)q(er)f(pro)o(v)o(es)e(that)i Fh(G)g Fk(has)g(a)f(p)q(erfect) g(matc)o(hing)h(if)f(and)h(only)g(if)g(det\()p Fh(B)s Fk(\))c Fg(6)p Fk(=)h(0.)0 1068 y([TW87])140 b(M.)19 b(T)l(ompa)g(and)h(H.)e(W)l (oll.)30 b(Random)19 b(self-reducibilit)o(y)i(and)f(zero-kno)o(wledge)f(in)o (ter-)301 1141 y(activ)o(e)h(pro)q(ofs)i(of)e(p)q(ossession)i(of)f (information.)34 b(In)20 b Fj(Pr)n(o)n(c.)g(28th)h(A)o(nn.)g(IEEE)g(Symp.)301 1213 y(on)e(F)l(oundations)f(of)g(Computer)g(Scienc)n(e)p Fk(,)h(pages)e (472{482,)j(1987.)k(T)l(ompa)18 b(and)f(W)l(oll)301 1285 y(presen)o(t)e(a)g (general)h(theory)l(,)e(of)h(whic)o(h)h(IP)e(pro)q(ofs)j(for)e(graph)h (isomorphism,)g(quadratic)301 1357 y(residuosit)o(y)i(and)f(kno)o(wledge)f (of)h(discrete)f(logarithms)i(are)f(sp)q(ecial)h(cases.)0 1469 y([Tze89])146 b(W.)12 b(G.)g(Tzeng.)j(The)d(equiv)m(alence)h(and)g(learning)g (of)g(probabilistic)i(automata.)h(In)c Fj(Pr)n(o)n(c.)301 1541 y(30th)18 b(A)o(nn.)g(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)g (Scienc)n(e)p Fk(,)h(pages)f(268{273,)301 1614 y(1989.)31 b(The)18 b(equiv)m(alence)h(problem)h(of)f(probabilistic)i(automata)f(is)g(solv)m (able)h(in)e(time)301 1686 y Fh(O)q Fk(\(\()p Fh(n)406 1693 y Fl(1)435 1686 y Fk(+)8 b Fh(n)510 1693 y Fl(2)529 1686 y Fk(\))548 1668 y Fl(4)568 1686 y Fk(\),)15 b(where)f Fh(n)784 1693 y Fl(1)819 1686 y Fk(and)h Fh(n)941 1693 y Fl(2)975 1686 y Fk(are)g(the)g(n)o(um)o(b)q(er)f(of)h(states)g(in)g(the)g(t)o(w)o(o)f (automata.)301 1758 y(The)25 b(problem)f(of)h(learning)g(probabilisti)q(c)i (automata)e(b)o(y)f(a)g(system)g(of)g(queries)g(in)301 1830 y(p)q(olynomial)19 b(time)d(is)i(also)f(presen)o(ted.)0 1942 y([Upf89])146 b(E.)21 b(Upfal.)37 b(An)20 b Fh(O)q Fk(\(log)11 b Fh(N)5 b Fk(\))22 b(deterministic)f(pac)o(k)o(et)f(routing)j(sc)o(heme.)34 b(In)21 b Fj(Pr)n(o)n(c.)g(21st)301 2014 y(A)o(nn.)d(A)o(CM)f(Symp.)f(on)h (The)n(ory)f(of)h(Computing)p Fk(,)f(pages)h(241{250,)h(1989.)k(This)16 b(pap)q(er)301 2086 y(presen)o(ts)22 b(the)f(\014rst)h(deterministic)h Fh(O)q Fk(\(log)10 b Fh(N)5 b Fk(\))22 b(p)q(erm)o(utation)h(routing)g (algorithm)h(for)301 2159 y(a)19 b(m)o(ultibutter\015y)g(net)o(w)o(ork.)e(A)h (m)o(ultibutter\015y)g(net)o(w)o(ork)g(is)h(a)g(sp)q(ecial)h(instance)f(of)g (a)301 2231 y(delta)e(net)o(w)o(ork.)e(Upfal)h(also)h(sho)o(ws)g(that)f Fh(P)23 b Fk(instances)17 b(of)f(the)g(p)q(erm)o(utation)h(problem)301 2303 y(can)g(b)q(e)f(routed)h(in)g Fh(O)q Fk(\(log)10 b Fh(N)17 b Fk(+)11 b Fh(P)c Fk(\))16 b(steps)h(using)g(a)g(pip)q(elining)i(approac)o (h.)0 2415 y([UY91])151 b(J.)17 b(D.)f(Ullman)i(and)f(M.)f(Y)l(annak)m(akis.) 24 b(High-probabilit)o(y)19 b(parallel)g(transitiv)o(e)e(closure)301 2487 y(algorithms.)29 b Fj(SIAM)19 b(Journal)g(on)h(Computing)p Fk(,)e(20\(1\):100{125)q(,)j(F)l(eb)c(1991.)28 b(P)o(arallel)301 2559 y(transitiv)o(e)d(closure)f(algorithms)i(are)e(presen)o(ted)f(for)h(the) g(case)g(when)g(the)f(graph)i(is)301 2631 y(sparse)15 b(or)f(only)h(a)f (single)h(source)f(information)i(is)e(desired.)g(The)g(algorithms)i(presen)o (ted)301 2704 y(can)h(con)o(v)o(erted)e(to)h(the)g(Las)i(V)l(egas)e(t)o(yp)q (e.)938 2828 y(158)p eop bop 0 195 a Fk([V)l(al82])155 b(L.)19 b(G.)g(V)l(alian)o(t.)29 b(A)19 b(sc)o(heme)e(for)i(fast)g(parallel)i(comm)o(unication.)29 b Fj(SIAM)20 b(Journal)g(on)301 267 y(Computing)p Fk(,)c(11\(2\):350{361)q(,) i(Ma)o(y)d(1982.)21 b(V)l(alian)o(t)c(giv)o(es)f(a)g(distributed)g (randomized)301 340 y(algorithm)22 b(for)e(routing)i(pac)o(k)o(ets)d(from)g (unique)i(sources)f(to)g(unique)g(destinations)i(in)301 412 y(an)17 b Fh(n)p Fk(-dimensional)i(binary)e(cub)q(e)f(in)h Fh(O)q Fk(\(log)11 b Fh(N)5 b Fk(\))16 b(time,)g(where)g Fh(N)j Fk(=)14 b(2)1616 394 y Ff(n)1656 412 y Fk(is)j(the)f(n)o(um)o(b)q(er)301 484 y(of)h(no)q(des)g(in)g(the)f(net)o(w)o(ork,)f(with)i(high)h(probabilit)o (y)l(.)0 598 y([V)l(al84a])131 b(L.)16 b(G.)f(V)l(alian)o(t.)20 b(Short)c(monotone)g(form)o(ulae)f(for)h(the)e(ma)s(jorit)o(y)i(function.)k Fj(Journal)c(of)301 670 y(A)o(lgorithms)p Fk(,)f(5:363{366,)i(1984.)j(A)14 b(probabilisti)q(c)j(appro)o(ximation)f(of)f(a)g(deterministic)301 742 y(b)q(o)q(olean)j(function)e(can)f(yield)h(simple)g(circuits)g(ha)o(ving) h(a)e(small)i(prop)q(ortion)g(of)f(inputs)301 814 y(that)23 b(cause)f(wrong)h(outputs.)f(Indep)q(enden)o(t)g(probabilistic)j(appro)o (ximations)f(of)e(the)301 887 y(same)i(function)g(can)g(b)q(e)f(com)o(bined)g (to)h(reduce)f(the)g(probabilit)o(y)i(of)f(error.)f(In)g(this)301 959 y(pap)q(er)16 b(V)l(alian)o(t)h(uses)e(suc)o(h)g(a)h(tec)o(hnique)e(to)i (obtain)h Fh(O)q Fk(\()p Fh(n)1371 941 y Fl(5)p Ff(:)p Fl(3)1419 959 y Fk(\))e(size)g(monotone)h(form)o(ulas)301 1031 y(that)h(compute)f(the)g (ma)s(jorit)o(y)g(function)h(of)g Fh(n)f Fk(b)q(o)q(olean)j(v)m(ariables.)0 1145 y([V)l(al84b])128 b(L.)25 b(G.)f(V)l(alian)o(t.)47 b(A)24 b(theory)g(of)h(the)f(learnable.)47 b Fj(Communic)n(ations)25 b(of)f(the)i(A)o(CM)p Fk(,)301 1217 y(27:1134{114)q(2,)17 b(1984.)j(V)l (alian)o(t)15 b(in)o(tro)q(duces)g(a)g(formal)g(framew)o(ork)f(for)h(the)f (probabilis-)301 1289 y(tic)i(analysis)h(of)f(algorithms)h(that)f(learn)g (sets)f(de\014ned)g(on)h(a)f(predetermined)g(univ)o(erse.)0 1403 y([V)l(al87])155 b(D.)30 b(V)l(alois.)64 b(Algorithmes)31 b(probabilistes:)51 b(une)30 b(an)o(thologie.)64 b(Master's)30 b(thesis,)301 1475 y(D)o(\023)-23 b(epartemen)o(t)27 b(d'informatique)h(et)g (de)f(rec)o(herc)o(he)f(op)o(\023)-23 b(erationnelle,)32 b(Univ)o(ersit)o (\023)-23 b(e)27 b(de)301 1548 y(Mon)o(tr)o(\023)-23 b(eal,)24 b(1987.)39 b(In)22 b(F)l(renc)o(h,)f(this)i(pap)q(er)f(co)o(v)o(ers)f(a)i(n)o (um)o(b)q(er)e(of)h(probabilistic)j(al-)301 1620 y(gorithms)16 b(including)h(matrix)e(m)o(ultiplication)i(and)e(in)o(v)o(ersion,)g (manipulation)j(of)d(p)q(oly-)301 1692 y(nomials,)j(set)e(equalit)o(y)l(,)g (Byzan)o(tine)g(Generals,)h(and)f(cryptograph)o(y)l(.)0 1806 y([V)l(az87])146 b(U.)20 b(V.)g(V)l(azirani.)36 b(E\016ciency)20 b(considerations)j(in)e(using)i(semi-random)e(sources.)35 b(In)301 1878 y Fj(Pr)n(o)n(c.)18 b(19th)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h(The)n(ory)e (of)h(Computing)p Fk(,)g(pages)g(160{168,)i(1987.)301 1950 y(E\016cien)o(t)c(algorithms)j(for)d(using)i(semi-random)f(sources)f(are)h (presen)o(ted.)0 2064 y([VB81])153 b(L.)22 b(V)l(alian)o(t)i(and)e(G.)g (Brebner.)38 b(Univ)o(ersal)22 b(sc)o(hemes)f(for)h(parallel)j(comm)o (unication.)301 2136 y(In)f Fj(Pr)n(o)n(c.)f(13th)h(A)o(nn.)h(A)o(CM)e(Symp.) h(on)h(The)n(ory)e(of)h(Computing)p Fk(,)h(pages)g(263{277,)301 2208 y(1981.)19 b(This)c(pap)q(er)f(extends)f(V)l(alian)o(t's)i(message)f (routing)h(algorithm)g([V)l(al82)q(])e(to)h(asyn-)301 2281 y(c)o(hronous)j(net)o(w)o(orks.)0 2394 y([vdS81])145 b(J.)27 b(L.)f(A.)g(v)m(an)h(de)f(Snepsc)o(heut.)51 b(Sync)o(hronous)27 b(comm)o(unication)h(b)q(et)o(w)o(een)d(asyn-)301 2467 y(c)o(hronous)15 b(comp)q(onen)o(ts.)j Fj(Information)d(Pr)n(o)n(c)n(essing)g(L)n(etters)p Fk(,)e(13\(3\):127{130)q(,)k(Decem-)301 2539 y(b)q(er)f(1981.)21 b(Snepsc)o(heut)14 b(presen)o(ts)h(a)g(distributed)i(algorithm)g(for)e(CSP)h (output)g(guards)301 2611 y(in)k(whic)o(h)f(pro)q(cesses)h(are)f(related)h(b) o(y)e(a)i(tree)e(structure.)g(A)h(probabilistic)j(algorithm)301 2683 y(for)17 b(output)g(guards)g(is)g(describ)q(ed)g(in)g(Section)g(3.2.)938 2828 y(159)p eop bop 0 195 a Fk([VF90])156 b(J.)11 b(S.)g(Vitter)g(and)h(P)l(.)f(Fla)s(jolet.) j(Av)o(erage-case)c(analysis)k(of)d(algorithms)j(and)e(data)g(struc-)301 267 y(tures.)23 b(In)17 b(J.)f(v)m(an)h(Leeu)o(w)o(en,)f(editor,)h Fj(Handb)n(o)n(ok)h(of)g(The)n(or)n(etic)n(al)f(Computer)h(Scienc)n(e,)301 340 y Fk(V)l(olume)k(A:)f(Algorithms)i(and)f(Complexit)o(y,)h(c)o(hapter)f (9,)h(pages)f(432{524.)i(Elsevier)301 412 y(and)d(The)g(MIT)f(Press)g (\(co-publishers\),)j(1990.)35 b(Vitter)20 b(and)h(Fla)s(jolet)g(presen)o(t)f (ana-)301 484 y(lytic)h(metho)q(ds)f(for)g(a)o(v)o(erage-case)g(analysis)i (of)e(algorithms,)i(with)f(sp)q(ecial)g(emphasis)301 556 y(on)g(the)e(main)i (algorithms)h(and)e(data)h(structures)f(used)g(for)g(pro)q(cessing)h(nonn)o (umeri-)301 628 y(cal)h(data.)f(Problems)h(considered)f(include)h(sorting,)h (searc)o(hing,)g(pattern)e(matc)o(hing,)301 701 y(register)g(allo)q(cation,)j (tree)c(compaction,)i(retriev)m(al)f(of)g(m)o(ultidimensional)i(data,)e(and) 301 773 y(e\016cien)o(t)e(access)h(to)g(large)g(\014les)h(stored)f(on)g (secondary)g(memory)l(.)e(The)i(main)g(mathe-)301 845 y(matical)e(to)q(ols)h (used)d(include)h(generating)h(functions)g(\(for)e(recursiv)o(ely)h (de\014ned)f(struc-)301 917 y(tures\),)22 b(statistics)h(of)f(in)o(v)o (ersion)g(tables)g(\(for)f(sorting)i(algorithms\),)h(and)e(v)m(aluations)301 990 y(on)e(com)o(binatorial)i(structures)d(\(for)g(trees)g(and)h(structures)f (with)h(tree-lik)o(e)f(recursiv)o(e)301 1062 y(decomp)q(osition,)i(suc)o(h)d (as)g(plane)h(trees,)f(m)o(ultidimensional)j(searc)o(h)d(trees,)f(quic)o (ksort,)301 1134 y(and)g(algorithms)i(for)d(register)h(allo)q(cation)i(and)e (tree)f(compaction\).)0 1248 y([Vis84])156 b(U.)21 b(Vishkin.)37 b(Randomized)22 b(sp)q(eed-ups)g(in)h(parallel)g(computation.)38 b(In)21 b Fj(Pr)n(o)n(c.)g(16th)301 1320 y(A)o(nn.)i(A)o(CM)f(Symp.)g(on)h (The)n(ory)e(of)h(Computing)p Fk(,)h(pages)g(230{239,)i(1984.)38 b(Vishkin)301 1392 y(considers)20 b(the)f(problem)g(of)g(computing)h(the)e(p) q(osition)j(of)e(eac)o(h)g(elemen)o(t)e(of)i(a)h(link)o(ed)301 1465 y(list,)i(giv)o(en)e(the)g(length)h Fh(n)f Fk(of)g(the)g(list.)h(He)e (presen)o(ts)g(a)i(probabilistic)i(algorithm)f(for)301 1537 y(this)c(problem)e(running)i(time)e Fh(O)q Fk(\()p Fh(n=p)c Fk(+)f(log)g Fh(n)d Fk(log)1255 1519 y Fd(\003)1274 1537 y Fh(n)p Fk(\))17 b(using)g Fh(p)g Fk(pro)q(cessors.)0 1650 y([Vis90])156 b(S.)23 b(Vish)o(w)o(anathan.)44 b(Randomized)24 b(online)h(graph)g (coloring.)44 b(In)23 b Fj(Pr)n(o)n(c.)g(31st)h(A)o(nn.)301 1723 y(IEEE)d(Symp.)g(on)g(F)l(oundations)g(of)g(Computer)g(Scienc)n(e)p Fk(,)h(pages)f(464{469,)i(1990.)33 b(It)301 1795 y(sho)o(wn)18 b(that)f(randomization)i(helps)e(in)g(coloring)i(a)e(graph)g(in)h(an)f (online)h(manner)e(and)301 1867 y(the)22 b(randomized)g(online)h(algorithm)g (is)g(quite)e(comp)q(etitiv)o(e)h(with)g(the)g(b)q(est-kno)o(wn,)301 1939 y(deterministic,)17 b(o\013-line)h(algorithm.)0 2053 y([VV85])151 b(U.)14 b(V.)g(V)l(azirani)h(and)h(V.)d(V.)h(V)l(azirani.)20 b(Random)15 b(p)q(olynomial)i(time)d(is)i(equal)f(to)g(semi-)301 2125 y(random)i(p)q(olynomial)i(time.)i(In)15 b Fj(Pr)n(o)n(c.)h(26th)i(A)o (nn.)f(IEEE)h(Symp.)f(on)g(F)l(oundations)h(of)301 2198 y(Computer)g(Scienc)n (e)p Fk(,)g(pages)f(417{428,)i(1985.)24 b(This)18 b(pap)q(er)f(analyzes)g(of) g(the)f(b)q(eha)o(vior)301 2270 y(of)d(randomized)h(algorithms)g(where)f(p)q (erfectly)f(random)h(sources)g(are)g(substituted)g(with)301 2342 y(sources)j(whic)o(h)f(ha)o(v)o(e)f(small)i(bias)h(and)e(dep)q(endence.) f(It)g(sho)o(ws)i(that)g(if)f(a)g(problem)h(can)301 2414 y(b)q(e)21 b(solv)o(ed)f(b)o(y)g(a)h(p)q(olynomial-time)i(Mon)o(te)c(Carlo)j(algorithm)g (whic)o(h)f(has)g(access)f(to)301 2487 y(a)i(true)e(source)h(of)g (randomness,)h(the)e(the)h(same)g(problem)g(can)g(b)q(e)f(solv)o(ed)h(using)i (an)301 2559 y(arbitrarily)c(w)o(eak)d(semi-random)h(source.)938 2828 y(160)p eop bop 0 195 a Fk([VV89])151 b(U.)17 b(V.)g(V)l(azirani)i(and)f(V.)f(V.)g(V)l (azirani.)27 b(The)17 b(t)o(w)o(o-pro)q(cessor)i(sc)o(heduling)g(problem)f (is)301 267 y(in)e(random)g(NC.)j Fj(SIAM)d(Journal)g(on)h(Computing)p Fk(,)e(18\(6\):1140{114)q(8,)j(1989.)j(An)14 b(e\016-)301 340 y(cien)o(t,)h(randomized,)g(parallel)j(solution)f(to)f(the)f(w)o(ell-studied) h(t)o(w)o(o-pro)q(cessor)h(sc)o(hedul-)301 412 y(ing)h(problem)e(is)h(presen) o(ted.)0 526 y([vzG89])139 b(J.)12 b(v)o(on)f(zur)h(Gathen.)i(T)l(esting)f(p) q(erm)o(utation)g(p)q(olynomials.)j(In)c Fj(Pr)n(o)n(c.)g(30th)h(A)o(nn.)h (IEEE)301 598 y(Symp.)19 b(on)h(F)l(oundations)g(of)f(Computer)g(Scienc)n(e)p Fk(,)h(pages)f(88{98,)h(Researc)o(h)d(T)l(riangle)301 670 y(P)o(ark,)e(NC,)g (Octob)q(er)g(1989.)i(IEEE)e(Computer)h(So)q(ciet)o(y)f(Press.)20 b(The)15 b(author)h(presen)o(ts)301 742 y(a)k(randomized)f(algorithm)i(for)e (testing)g(whether)g(a)g(giv)o(en)g(p)q(olynomial)j(o)o(v)o(er)17 b(a)j(\014nite)301 814 y(\014eld)d(with)g Fh(q)h Fk(elemen)o(ts)d(is)i(a)g(p) q(erm)o(utation)g(p)q(olynomial)i(in)e(exp)q(ected)e Fh(O)q Fk(\()p Fh(q)r Fk(\))h(time.)0 928 y([vzG91])139 b(J.)22 b(v)o(on)g(zur)g (Gathen.)38 b(T)l(ests)23 b(for)f(p)q(erm)o(utation)h(p)q(olynomials.)41 b Fj(SIAM)23 b(Journal)g(on)301 1000 y(Computing)p Fk(,)g(20\(3\):591{602)q (,)i(June)d(1991.)38 b(An)21 b(elemen)o(t)g(of)h(a)f(\014nite)h(\014eld)g Fh(F)1822 1007 y Ff(q)1841 1000 y Fk([)p Fh(x)p Fk(])e(is)301 1073 y(called)k(a)f Fj(p)n(ermutation)g(p)n(olynomial)28 b Fk(if)23 b(the)g(mapping)h Fh(F)1409 1080 y Ff(q)1452 1073 y Fg(!)h Fh(F)1559 1080 y Ff(q)1600 1073 y Fk(induced)e(b)o(y)f(it)h(is)301 1145 y(bijectiv)o(e.)16 b(A)g(probabilistic)j(algorithm)f(for)f(testing)g (this)g(prop)q(ert)o(y)f(is)h(giv)o(en.)0 1259 y([vzGS92])112 b(J.)18 b(v)o(on)g(zur)g(Gathen)h(and)g(V.)e(Shoup.)27 b(Computing)20 b(F)l(rob)q(enius)f(maps)g(and)g(factoring)301 1331 y(p)q(olynomials.)k(In)15 b Fj(Pr)n(o)n(c.)g(24th)h(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h(The)n(ory)e(of)i (Computing)p Fk(,)e(pages)301 1403 y(97{105,)k(Victoria,)e(B.C.,)e(Canada,)j (Ma)o(y)e(1992.)23 b(A)16 b(probabilistic)k(algorithm)e(for)f(fac-)301 1475 y(toring)i(univ)m(ariate)f(p)q(olynomials)i(o)o(v)o(er)c(\014nite)h (\014elds)g(is)h(presen)o(ted)e(whose)h(asymptotic)301 1548 y(running)h(time)e(impro)o(v)o(es)g(up)q(on)h(previous)g(results.)0 1661 y([W)l(ei78])144 b(B.)18 b(W.)g(W)l(eide.)28 b Fj(Statistic)n(al)20 b(Metho)n(ds)f(in)h(A)o(lgorithmic)g(Design)g(and)g(A)o(nalysis)p Fk(.)27 b(PhD)301 1733 y(thesis,)33 b(Computer)28 b(Science)g(Departmen)o(t,) j(Carnegie-Mellon)g(Univ)o(ersit)o(y)l(,)g(Pitts-)301 1806 y(burgh,)22 b(P)l(A,)e(Rep)q(ort)h(CMU-CS-78-142,)j(1978.)35 b(An)20 b(early)h(surv)o(ey)f(of)h(probabilistic)301 1878 y(algorithms)e(and) e(analysis.)0 1992 y([W)l(el83])144 b(D.)21 b(J.)f(A.)g(W)l(elsh.)36 b(Randomized)21 b(algorithms.)37 b Fj(Discr)n(ete)22 b(Appl.)g(Math.)p Fk(,)f(5:133{146,)301 2064 y(1983.)40 b(This)23 b(is)f(a)g(w)o(ell-written)i (in)o(tro)q(duction)f(to)f(randomized)h(algorithms.)g(W)l(elsh)301 2136 y(discusses)e(probabilistic)h(algorithms)g(for)d(c)o(hec)o(king)g(p)q (olynomial)j(iden)o(tities,)f(primal-)301 2208 y(it)o(y)l(,)c(matrix)h(and)g (p)q(olynomial)i(m)o(ultiplication,)f(and)f(deciding)h(whether)d(a)i(graph)g (has)301 2281 y(a)e(p)q(erfect)e(matc)o(hing.)h(The)h(w)o(ork)f(also)h(con)o (tains)g(a)g(nice)f(discussion)i(on)f(random)g(p)q(oly-)301 2353 y(nomial)i(time,)e(random)h(log-space,)g(and)g(the)f(probabilisti)q(c)i (hierarc)o(h)o(y)l(.)0 2467 y([WVZT90])73 b(K.-Y.)16 b(Whang,)h(B.)e(T.)h(V)l (ander-Zanden,)h(and)g(H.)e(M.)h(T)l(a)o(ylor.)22 b(A)16 b(linear-time)i (proba-)301 2539 y(bilistic)c(coun)o(ting)f(algorithm)h(for)d(database)i (applications.)k Fj(A)o(CM)c(T)l(r)n(ans.)f(on)i(Datab)n(ase)301 2611 y(Systems)p Fk(,)25 b(15\(2\):208{229,)j(Sept)23 b(1990.)43 b(A)22 b(probabilisti)q(c)j(tec)o(hnique)e(called)h(linear)938 2828 y(161)p eop bop 301 195 a Fk(coun)o(ting,)19 b(based)g(on)f(hashing,)i(for)e(coun)o(ting) h(the)e(n)o(um)o(b)q(er)g(of)i(unique)f(v)m(alues)h(in)f(the)301 267 y(presence)e(of)g(duplicates)i(is)f(presen)o(ted)e(in)i(this)g(pap)q(er.) 0 379 y([Wyl79])136 b(J.)11 b(C.)h(Wyllie.)i(The)e(complexit)o(y)f(of)g (parallel)j(computation.)h(T)l(ec)o(hnical)d(Rep)q(ort)f(TR)h(79-)301 451 y(387,)19 b(Departmen)o(t)d(of)i(Computer)g(Science,)e(Cornell)j(Univ)o (ersit)o(y)l(,)e(Ithaca,)g(NY,)f(1979.)301 523 y(Wyllie)23 b(conjectures)f(that)g(there)f(is)i(no)f(optimal)i(sp)q(eed-up)e(parallel)i (algorithm)g(for)301 596 y Fh(n=)8 b Fk(log)k Fh(n)17 b Fk(pro)q(cessors)i (for)f(the)f(problem:)25 b(Giv)o(en)17 b(a)h(link)o(ed)g(list)h(of)f(length)h Fh(n)p Fk(,)e(compute)301 668 y(the)c(distance)g(of)g(eac)o(h)f(elemen)o(t)f (of)i(the)g(link)o(ed)g(list)g(from)g(the)f(end)h(of)g(the)f(list.)h(Ho)o(w)o (ev)o(er,)301 740 y(Vishkin)h(sho)o(w)o(ed)e(that)h(suc)o(h)f(optimal)h(sp)q (eed-up)g Fj(c)n(an)g Fk(b)q(e)f(obtained)i(via)f(randomization)301 812 y(\(see)j(Section)h(4\).)0 924 y([Y)l(ao79])144 b(A.)18 b(C.)g(Y)l(ao.)28 b(The)18 b(complexit)o(y)g(of)h(pattern)f(matc)o(hing)h (for)g(a)f(random)h(string.)29 b Fj(SIAM)301 996 y(Journal)16 b(on)h(Computing)p Fk(,)e(8\(3\):368{387,)j(August)d(1979.)21 b(Y)l(ao)15 b(pro)o(v)o(es)f(that)h(the)g(mini-)301 1068 y(m)o(um)c(a)o(v)o (erage)h(n)o(um)o(b)q(er)f(of)i(c)o(haracters)e(whic)o(h)i(need)e(b)q(e)h (examined)g(in)h(a)f(random)h(string)301 1141 y(of)18 b(length)f Fh(n)g Fk(for)g(lo)q(cating)i(patterns)f(of)f(length)g Fh(m)p Fk(,)f(in)i(an)f(alphab)q(et)i(with)e Fh(q)i Fk(sym)o(b)q(ols,)301 1213 y(is)d Fh(\022)q Fk(\()p Fg(d)p Fk(log)477 1225 y Ff(q)496 1213 y Fk(\()520 1193 y Ff(n)p Fd(\000)p Ff(m)p 520 1201 81 2 v 527 1230 a Fl(ln)5 b Ff(m)613 1213 y Fk(+)j(2\))p Fg(e)p Fk(\))15 b(if)g Fh(m)f Fg(\024)f Fh(n)h Fg(\024)g Fk(2)p Fh(m)h Fk(and)g Fh(\022)q Fk(\()1229 1185 y Fd(d)p Fl(log)1290 1193 y Fe(q)1313 1185 y Ff(m)p Fd(e)p 1229 1201 132 2 v 1279 1230 a Ff(m)1365 1213 y Fh(n)p Fk(\))g(if)g Fh(n)f(>)g Fk(2)p Fh(m)p Fk(.)g(This)i(con\014rms)301 1285 y(Kn)o(uth,)g(Morris,)h(and)f(Pratt's)h (conjecture)e(in)i([KMP77].)0 1397 y([Y)l(ao83])144 b(A.)22 b(C.)h(Y)l(ao.)40 b(Lo)o(w)o(er)23 b(b)q(ounds)h(b)o(y)e(probabilistic)j (argumen)o(ts)e(\(extended)f(abstract\).)301 1469 y(In)17 b Fj(Pr)n(o)n(c.)h(24th)g(A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)f (Computer)g(Scienc)n(e)p Fk(,)h(pages)301 1541 y(420{428,)24 b(1983.)35 b(Though)22 b(not)f(a)g(pap)q(er)g(on)f(probabilisti)q(c)j (algorithms,)g(this)e(pap)q(er)301 1614 y(illustrates)g(the)e(p)q(o)o(w)o(er) g(of)g(probabilistic)j(argumen)o(ts)d(b)o(y)f(pro)o(ving)i(lo)o(w)o(er)f(b)q (ounds)h(for)301 1686 y(three)c(imp)q(ortan)o(t)h(problems.)0 1797 y([Y)l(ao91])144 b(A.)23 b(C.)g(Y)l(ao.)42 b(Lo)o(w)o(er)23 b(b)q(ounds)i(to)f(randomized)f(algorithms)j(for)d(graph)h(prop)q(erties.)301 1870 y Fj(Journal)17 b(of)g(Computer)g(and)g(System)g(Scienc)n(es)p Fk(,)g(42:267{287,)h(1991.)k(Y)l(ao)16 b(sho)o(ws)h(that)301 1942 y(\012\()p Fh(n)p Fk(\(log)11 b Fh(n)p Fk(\))536 1910 y Fb(1)p 528 1916 31 2 v 528 1937 a(12)566 1942 y Fk(\))18 b(edges)h(m)o(ust)f(b)q(e)g(examined)g(b)o(y)g(an)o(y)h(randomized)g (algorithm)h(\(as)f(op-)301 2014 y(p)q(osed)13 b(to)g(\012\()p Fh(n)573 1996 y Fl(2)593 2014 y Fk(\))f(b)o(y)g(an)o(y)f(deterministic)i (algorithm\))h(for)f(determining)f(an)o(y)g(non-trivial)301 2086 y(monotone)19 b(graph)g(prop)q(ert)o(y)l(.)e(An)g(earlier)i(v)o(ersion)f (of)g(this)h(pap)q(er)f(app)q(eared)h(in)f Fj(Pr)n(o)n(c.)301 2159 y(28th)g(A)o(nn.)g(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)g(Computer)f (Scienc)n(e)p Fk(,)h(1987.)0 2270 y([YL91])158 b(M.)15 b(Y)l(annak)m(akis)h (and)g(D.)e(Lee.)19 b(T)l(esting)d(\014nite)g(state)f(mac)o(hines)g (\(extended)f(abstract\).)301 2342 y(In)23 b Fj(Pr)n(o)n(c.)g(23r)n(d)g(A)o (nn.)i(A)o(CM)e(Symp.)h(on)g(The)n(ory)f(of)h(Computing)p Fk(,)i(pages)e (476{485,)301 2415 y(New)18 b(Orleans,)h(LA,)f(Ma)o(y)g(1991.)29 b(A)18 b Fj(che)n(cking)j(se)n(quenc)n(e)f Fk(for)e(a)h(\014nite)g(state)f (mac)o(hine)301 2487 y Fh(A)j Fk(ha)o(ving)h Fh(n)g Fk(states)f(is)i(an)e (input)h(sequence)e(that)i(distinguishes)i Fh(A)d Fk(from)g(all)i(other)301 2559 y(mac)o(hines)g(with)g Fh(n)g Fk(states.)g(In)f(addition)j(to)e(some)f (other)h(results)g(on)g(testing)h(\014nite)301 2631 y(state)h(mac)o(hines,)g (the)f(authors)i(presen)o(t)d(a)i(simple)g(randomized)f(p)q(olynomial)j(time) 301 2704 y(algorithm)18 b(that)d(constructs)h(with)g(high)h(probabilit)o(y)g (a)f(c)o(hec)o(king)e(sequence)h(of)g(length)938 2828 y(162)p eop bop 301 195 a Fh(O)q Fk(\()p Fh(pn)411 177 y Fl(4)441 195 y Fk(log)10 b Fh(n)p Fk(\),)j(where)g Fh(p)h Fk(is)g(the)f(size)g(of)g(the)g (input)h(alphab)q(et.)g(\(There)f(is)h(a)g(lo)o(w)o(er)f(b)q(ound)301 267 y(of)g Fh(pn)406 249 y Fl(3)438 267 y Fk(on)f(the)g(length)h(of)f(c)o (hec)o(king)f(sequences;)h(previous)h(algorithms)h(are)e(exp)q(onen)o(tial) 301 340 y(in)17 b(general)g(or)g(w)o(ork)f(only)h(for)g(sp)q(ecial)g (cases.\).)0 453 y([Zac88])149 b(S.)23 b(Zac)o(hos.)42 b(Probabilistic)26 b(quan)o(ti\014ers)d(and)h(games.)41 b Fj(Journal)24 b(of)f(Computer)h(and) 301 526 y(System)f(Scienc)n(es)p Fk(,)g(36:433{451,)i(1988.)36 b(This)22 b(pap)q(er)g(attempts)f(to)g(giv)o(e)g(a)g(uniform)301 598 y(picture)c(of)f(the)g(v)m(arious)i(p)q(olynomial)h(time)d(complexit)o(y) g(classes.)0 711 y([Zip79])155 b(R.)22 b(Zipp)q(el.)39 b(Probabilisti)q(c)24 b(algorithms)h(for)d(sparse)g(p)q(olynomials.)42 b(In)21 b Fj(ISSA)o(C)i('79:)301 784 y(Pr)n(o)n(c.)17 b(Int'l.)i(Symp.)f(on)h(Symb)n (olic)g(and)f(A)o(lgebr)n(aic)h(Computation,)g Fk(Lecture)d(Notes)h(in)301 856 y(Computer)23 b(Science,)h(V)l(ol.)f(72.)g(Springer-V)l(erlag,)i(1979.)43 b(Zipp)q(el)24 b(discusses)g(proba-)301 928 y(bilistic)19 b(metho)q(ds)d(for) g(testing)h(p)q(olynomial)i(iden)o(tities)e(and)g(prop)q(erties)g(of)f (systems)g(of)301 1000 y(p)q(olynomials.)0 1114 y([Zuc90])146 b(D.)13 b(Zuc)o(k)o(erman.)h(General)g(w)o(eak)f(random)g(sources.)j(In)d Fj(Pr)n(o)n(c.)g(31st)i(A)o(nn.)g(IEEE)f(Symp.)301 1186 y(on)j(F)l (oundations)f(of)g(Computer)g(Scienc)n(e)p Fk(,)g(pages)g(534{543,)h(1990.)j (A)15 b(pseudo-random)301 1259 y(generator)h(that)f(dep)q(ends)g(only)h(on)f (a)g Fj(we)n(ak)i(r)n(andom)e(sour)n(c)n(e)g Fk(is)g(exhibited.)g(By)f(a)h(w) o(eak)301 1331 y(random)f(source)f(it)g(is)h(mean)o(t)e(that)i(the)e(source)h (is)h(ask)o(ed)f(only)g(once)g(for)g Fh(R)h Fk(random)f(bits)301 1403 y(and)19 b(the)f(source)g(outputs)h(an)f Fh(R)p Fk(-bit)i(string)f(suc)o (h)f(that)g(no)h(string)g(has)g(a)f(probabilit)o(y)301 1475 y(more)23 b(than)h(2)575 1457 y Fd(\000)p Ff(\016)q(R)672 1475 y Fk(of)f(b)q(eing)i(output,)g(for)e(some)g(\014xed)g Fh(\016)k(>)f Fk(0.)d(This)h(pap)q(er)g(sho)o(ws)301 1548 y(ho)o(w)g(to)g(sim)o(ulate)g Fj(RP)e Fk(using)j(a)f(string)g(from)f(a)h Fh(\016)r Fk(-source)f(in)h(time)f Fh(n)1674 1529 y Ff(O)q Fl(\(log)5 b Ff(n)p Fl(\))1804 1548 y Fk(,)25 b(or)e(in)301 1620 y(p)q(olynomial)d(time)e(under)f(the)g (Generalized)h(P)o(aley)f(Graph)h(Conjecture.)f(See)g([Zuc91)o(])301 1692 y(for)g(a)g(correction)f(to)h(a)f(result)h(in)g(this)g(pap)q(er.)0 1806 y([Zuc91])146 b(D.)14 b(Zuc)o(k)o(erman.)i(Sim)o(ulating)g(BPP)e(using)h (a)g(general)g(w)o(eak)e(random)i(source.)i(In)d Fj(Pr)n(o)n(c.)301 1878 y(32nd)21 b(A)o(nn.)h(IEEE)f(Symp.)g(on)g(F)l(oundations)h(of)e (Computer)h(Scienc)n(e)p Fk(,)i(pages)e(79{89,)301 1950 y(1991.)f(Using)c (the)e(w)o(eak)g(random)h(source)g(de\014ned)f(in)h([Zuc90],)f(this)h(pap)q (er)g(sho)o(ws)h(ho)o(w)301 2022 y(to)h(sim)o(ulate)g Fj(BPP)g Fk(and)g(appro)o(ximation)h(algorithms)h(in)e(p)q(olynomial)i(time)d(using)i (the)301 2095 y(output)f(from)f(a)h(suc)o(h)f(a)h(source.)938 2828 y(163)p eop eos end userdict /end-hook known{end-hook}if %%EOF