A bunch of chess-related papers.
[typhoon-papers.git] / parallel / brockington97aphid.ps
1 %!PS-Adobe-2.0
2 %%Creator: dvips 5.55 Copyright 1986, 1994 Radical Eye Software
3 %%Title: aphidacc.dvi
4 %%CreationDate: Thu Jun 13 23:50:30 1996
5 %%Pages: 20
6 %%PageOrder: Ascend
7 %%BoundingBox: 0 0 612 792
8 %%EndComments
9 %DVIPSCommandLine: dvips aphidacc
10 %DVIPSParameters: dpi=300, comments removed
11 %DVIPSSource:  TeX output 1996.06.13:2350
12 %%BeginProcSet: tex.pro
13 /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
14 /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
15 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
16 ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
17 isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
18 hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
19 TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
20 forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
21 /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
22 /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{
23 /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
24 string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
25 end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
26 /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
27 N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
28 length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
29 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
30 get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
31 dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
32 /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
33 /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
34 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
35 setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
36 .1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}
37 if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
38 length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
39 cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
40 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
41 add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage
42 userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
43 known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
44 /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
45 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
46 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
47 {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
48 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
49 ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
50 RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
51 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
52 round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
53 rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
54 {dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
55 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{
56 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{
57 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
58 a}B /bos{/SS save N}B /eos{SS restore}B end
59 %%EndProcSet
60 %%BeginProcSet: special.pro
61 TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
62 /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
63 false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
64 /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
65 div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
66 /CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
67 10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
68 /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
69 true def end /@MacSetUp{userdict /md known{userdict /md get type
70 /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
71 length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
72 N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
73 clippath mark{transform{itransform moveto}}{transform{itransform lineto}
74 }{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
75 itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
76 closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
77 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
78 /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
79 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
80 ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
81 not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
82 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
83 pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
84 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
85 TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
86 sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
87 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
88 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
89 {pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
90 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
91 N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
92 maxlength dict begin /magscale false def normalscale currentpoint TR
93 /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
94 /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
95 psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
96 scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
97 /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
98 psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
99 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
100 moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
101 begin /SpecialSave save N gsave normalscale currentpoint TR
102 @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
103 {CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
104 closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
105 sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
106 }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
107 CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
108 lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
109 }N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
110 end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
111 N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
112 /SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
113 SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
114 /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
115 yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end
116 %%EndProcSet
117 TeXDict begin 40258431 52099146 1000 300 300
118 (/usr/maligne2/grad/brock/Writing/aphid/aphidacc.dvi)
119 @start /Fa 6 112 df<00FC100383300E00B01C0070380030300030700010600010E000
120 10E00000E00000E00000E00000E00000E000106000107000103000203800201C00400E00
121 8003830000FC0014177E961A>67 D<FC1F80300600300600300600300600300600300600
122 3006003FFE00300600300600300600300600300600300600300600FC1F8011117F9014>
123 104 D<FF181818181818181818181818181818FF08117F900A>I<FC0F80300600300C00
124 30180030200030400030800031800032C000346000382000303000301800300C00300600
125 300600FC0F8011117F9015>107 D<F00F803807003802002C0200260200230200230200
126 21820020C200206200206200203200201A00200E00200E00700600F8020011117F9014>
127 110 D<03F0000C0C00180600300300600180400080C000C0C000C0C000C0C000C0C000C0
128 6001806001803003001806000C0C0003F00012117F9015>I E /Fb
129 1 111 df<30F8590C4E0C9C0C980C180C180C30183019303130316032601C100D7F8C15>
130 110 D E /Fc 49 122 df<000FF000007FFC0001F80E0003E01F0007C03F000F803F000F
131 803F000F801E000F800C000F8000000F8000000F8000000F800000FFFFFF00FFFFFF000F
132 801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F
133 801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F007F
134 F0FFE07FF0FFE01B237FA21F>12 D<3803807C07C0FE0FE0FF0FF0FF0FF07F07F03B03B0
135 0300300300300700700600600600600C00C01C01C018018070070020020014117EA21D>
136 34 D<387CFEFEFE7C3807077C8610>46 D<00180000780001F800FFF800FFF80001F800
137 01F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F800
138 01F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F800
139 7FFFE07FFFE013207C9F1C>49 D<03FC000FFF003C1FC07007E07C07F0FE03F0FE03F8FE
140 03F8FE01F87C01F83803F80003F80003F00003F00007E00007C0000F80001F00003E0000
141 380000700000E01801C0180380180700180E00380FFFF01FFFF03FFFF07FFFF0FFFFF0FF
142 FFF015207D9F1C>I<00FE0007FFC00F07E01E03F03F03F03F81F83F81F83F81F81F03F8
143 1F03F00003F00003E00007C0001F8001FE0001FF000007C00001F00001F80000FC0000FC
144 3C00FE7E00FEFF00FEFF00FEFF00FEFF00FC7E01FC7801F81E07F00FFFC001FE0017207E
145 9F1C>I<0000E00001E00003E00003E00007E0000FE0001FE0001FE00037E00077E000E7
146 E001C7E00187E00307E00707E00E07E00C07E01807E03807E07007E0E007E0FFFFFEFFFF
147 FE0007E00007E00007E00007E00007E00007E00007E000FFFE00FFFE17207E9F1C>I<10
148 00201E01E01FFFC01FFF801FFF001FFE001FF8001BC00018000018000018000018000019
149 FC001FFF001E0FC01807E01803E00003F00003F00003F80003F83803F87C03F8FE03F8FE
150 03F8FC03F0FC03F07007E03007C01C1F800FFF0003F80015207D9F1C>I<001F8000FFE0
151 03F07007C0F00F01F81F01F83E01F83E01F87E00F07C00007C0000FC0800FC7FC0FCFFE0
152 FD80F0FF00F8FE007CFE007CFC007EFC007EFC007EFC007E7C007E7C007E7C007E3C007C
153 3E007C1E00F80F00F00783E003FFC000FF0017207E9F1C>I<6000007800007FFFFE7FFF
154 FE7FFFFC7FFFF87FFFF87FFFF0E00060E000C0C00180C00300C00300000600000C00001C
155 0000180000380000780000780000F00000F00000F00001F00001F00001F00003F00003F0
156 0003F00003F00003F00003F00003F00001E00017227DA11C>I<00FE0003FFC00703E00E
157 00F01C00F01C00783C00783E00783F00783F80783FE0F01FF9E01FFFC00FFF8007FFC003
158 FFE007FFF01E7FF83C1FFC7807FC7801FEF000FEF0003EF0001EF0001EF0001CF8001C78
159 00383C00381F01F00FFFC001FF0017207E9F1C>I<000070000000007000000000F80000
160 0000F800000000F800000001FC00000001FC00000003FE00000003FE00000003FE000000
161 06FF000000067F0000000E7F8000000C3F8000000C3F800000183FC00000181FC0000038
162 1FE00000300FE00000300FE00000600FF000006007F00000E007F80000FFFFF80000FFFF
163 F800018001FC00018001FC00038001FE00030000FE00030000FE000600007F000600007F
164 00FFE00FFFF8FFE00FFFF825227EA12A>65 D<FFFFFF8000FFFFFFE00007F001F80007F0
165 00FC0007F0007E0007F0007E0007F0007F0007F0007F0007F0007F0007F0007F0007F000
166 7F0007F0007E0007F000FE0007F000FC0007F003F80007FFFFF00007FFFFF00007F001FC
167 0007F0007E0007F0003F0007F0003F8007F0001F8007F0001FC007F0001FC007F0001FC0
168 07F0001FC007F0001FC007F0001FC007F0003F8007F0003F8007F0007F0007F001FE00FF
169 FFFFF800FFFFFFC00022227EA128>I<0003FE0080001FFF818000FF01E38001F8003F80
170 03E0001F8007C0000F800F800007801F800007803F000003803F000003807F000001807E
171 000001807E00000180FE00000000FE00000000FE00000000FE00000000FE00000000FE00
172 000000FE00000000FE000000007E000000007E000001807F000001803F000001803F0000
173 03801F800003000F8000030007C000060003F0000C0001F800380000FF00F000001FFFC0
174 000003FE000021227DA128>I<FFFFFF8000FFFFFFF00007F003FC0007F0007E0007F000
175 3F0007F0001F8007F0000FC007F00007E007F00007E007F00007F007F00003F007F00003
176 F007F00003F007F00003F807F00003F807F00003F807F00003F807F00003F807F00003F8
177 07F00003F807F00003F807F00003F807F00003F007F00003F007F00003F007F00007E007
178 F00007E007F0000FC007F0001F8007F0003F0007F0007E0007F003FC00FFFFFFF000FFFF
179 FF800025227EA12B>I<FFFFFFF8FFFFFFF807F001F807F0007807F0003807F0001807F0
180 001C07F0001C07F0000C07F0000C07F0180C07F0180C07F0180007F0180007F0380007F0
181 780007FFF80007FFF80007F0780007F0380007F0180007F0180007F0180007F0180007F0
182 000007F0000007F0000007F0000007F0000007F0000007F0000007F00000FFFFE000FFFF
183 E0001E227EA123>70 D<FFFF83FFFEFFFF83FFFE07F0001FC007F0001FC007F0001FC007
184 F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0
185 001FC007F0001FC007F0001FC007FFFFFFC007FFFFFFC007F0001FC007F0001FC007F000
186 1FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001F
187 C007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC0FFFF83FFFEFFFF83FFFE
188 27227EA12C>72 D<FFFFE0FFFFE003F80003F80003F80003F80003F80003F80003F80003
189 F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003
190 F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800FFFFE0FF
191 FFE013227FA115>I<FFFFE000FFFFE00007F0000007F0000007F0000007F0000007F000
192 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
193 0007F0000007F0000007F0000007F0000007F0000007F0001807F0001807F0001807F000
194 1807F0003807F0003807F0007007F0007007F000F007F001F007F007F0FFFFFFF0FFFFFF
195 F01D227EA122>76 D<FFF000000FFFFFF800001FFF07F800001FE006FC000037E006FC00
196 0037E006FC000037E0067E000067E0067E000067E0063F0000C7E0063F0000C7E0061F80
197 0187E0061F800187E0060FC00307E0060FC00307E0060FC00307E00607E00607E00607E0
198 0607E00603F00C07E00603F00C07E00601F81807E00601F81807E00601F81807E00600FC
199 3007E00600FC3007E006007E6007E006007E6007E006003FC007E006003FC007E006001F
200 8007E006001F8007E006001F8007E006000F0007E0FFF00F00FFFFFFF00600FFFF30227E
201 A135>I<0007FC0000003FFF800000FC07E00003F001F80007E000FC000FC0007E001F80
202 003F001F80003F003F00001F803F00001F807F00001FC07E00000FC07E00000FC0FE0000
203 0FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000F
204 E0FE00000FE07E00000FC07F00001FC07F00001FC03F00001F803F80003F801F80003F00
205 0FC0007E0007E000FC0003F001F80000FC07E000003FFF80000007FC000023227DA12A>
206 79 D<FFFFFF00FFFFFFE007F007F007F001FC07F000FC07F0007E07F0007E07F0007F07
207 F0007F07F0007F07F0007F07F0007F07F0007E07F0007E07F000FC07F001FC07F007F007
208 FFFFE007FFFF0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007
209 F0000007F0000007F0000007F0000007F0000007F00000FFFF8000FFFF800020227EA126
210 >I<01FC0407FF8C1F03FC3C007C7C003C78001C78001CF8000CF8000CFC000CFC0000FF
211 0000FFE0007FFF007FFFC03FFFF01FFFF80FFFFC03FFFE003FFE0003FF00007F00003F00
212 003FC0001FC0001FC0001FE0001EE0001EF0003CFC003CFF00F8C7FFE080FF8018227DA1
213 1F>83 D<7FFFFFFF807FFFFFFF807E03F80F807803F807807003F803806003F80180E003
214 F801C0E003F801C0C003F800C0C003F800C0C003F800C0C003F800C00003F800000003F8
215 00000003F800000003F800000003F800000003F800000003F800000003F800000003F800
216 000003F800000003F800000003F800000003F800000003F800000003F800000003F80000
217 0003F800000003F800000003F800000003F8000003FFFFF80003FFFFF80022227EA127>
218 I<FFFF803FFCFFFF803FFC07F000018007F000018007F000018007F000018007F0000180
219 07F000018007F000018007F000018007F000018007F000018007F000018007F000018007
220 F000018007F000018007F000018007F000018007F000018007F000018007F000018007F0
221 00018007F000018007F000018007F000018007F000018003F000030003F800030001F800
222 060000FC000E00007E001C00003F80F800000FFFE0000001FF000026227EA12B>I<FFFF
223 800FFEFFFF800FFE07F00000C007F80000C003F800018003F800018001FC00030001FC00
224 030001FE00070000FE00060000FF000600007F000C00007F800C00003F801800003F8018
225 00003FC03800001FC03000001FE03000000FE06000000FF060000007F0C0000007F0C000
226 0007F9C0000003F980000003FD80000001FF00000001FF00000000FE00000000FE000000
227 00FE000000007C000000007C00000000380000000038000027227FA12A>I<FFFF0FFFF0
228 1FFEFFFF0FFFF01FFE0FF000FF0000E007F0007F0000C007F0007F0000C003F8007F8001
229 8003F8003F80018003FC003F80038001FC003FC0030001FC003FC0030000FE007FE00600
230 00FE006FE0060000FF006FE00600007F00C7F00C00007F00C7F00C00007F80C7F81C0000
231 3F8183F81800003F8183F81800001FC383FC3000001FC301FC3000001FE301FC3000000F
232 E600FE6000000FE600FE6000000FF600FFE0000007FC007FC0000007FC007FC0000003FC
233 007F80000003F8003F80000003F8003F80000001F0001F00000001F0001F00000000F000
234 1E00000000E0000E00000000E0000E000037227FA13A>I<0400400E00E0180180380380
235 300300600600600600E00E00C00C00C00C00DC0DC0FE0FE0FF0FF0FF0FF07F07F03E03E0
236 1C01C014117AA21D>92 D<07FC001FFF803F07C03F03E03F01E03F01F01E01F00001F000
237 01F0003FF003FDF01FC1F03F01F07E01F0FC01F0FC01F0FC01F0FC01F07E02F07E0CF81F
238 F87F07E03F18167E951B>97 D<FF000000FF0000001F0000001F0000001F0000001F0000
239 001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0FE0001F3FF8
240 001FF07C001F801E001F001F001F000F801F000F801F000FC01F000FC01F000FC01F000F
241 C01F000FC01F000FC01F000FC01F000FC01F000F801F001F801F801F001FC03E001EE07C
242 001C3FF800180FC0001A237EA21F>I<00FF8007FFE00F83F01F03F03E03F07E03F07C01
243 E07C0000FC0000FC0000FC0000FC0000FC0000FC00007C00007E00007E00003E00301F00
244 600FC0E007FF8000FE0014167E9519>I<0001FE000001FE0000003E0000003E0000003E
245 0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0001FC3E
246 0007FFBE000F81FE001F007E003E003E007E003E007C003E00FC003E00FC003E00FC003E
247 00FC003E00FC003E00FC003E00FC003E00FC003E007C003E007C003E003E007E001E00FE
248 000F83BE0007FF3FC001FC3FC01A237EA21F>I<00FE0007FF800F87C01E01E03E01F07C
249 00F07C00F8FC00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC00007C00007C00007E00003E
250 00181F00300FC07003FFC000FF0015167E951A>I<003F8000FFC001E3E003C7E007C7E0
251 0F87E00F83C00F80000F80000F80000F80000F80000F8000FFFC00FFFC000F80000F8000
252 0F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8000
253 0F80000F80000F80000F80007FF8007FF80013237FA211>I<03FC1E0FFF7F1F0F8F3E07
254 CF3C03C07C03E07C03E07C03E07C03E07C03E03C03C03E07C01F0F801FFF0013FC003000
255 003000003800003FFF801FFFF00FFFF81FFFFC3800FC70003EF0001EF0001EF0001EF000
256 1E78003C7C007C3F01F80FFFE001FF0018217E951C>I<FF000000FF0000001F0000001F
257 0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F
258 0000001F07E0001F1FF8001F307C001F403C001F803E001F803E001F003E001F003E001F
259 003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F
260 003E001F003E001F003E00FFE1FFC0FFE1FFC01A237EA21F>I<1C003E007F007F007F00
261 3E001C000000000000000000000000000000FF00FF001F001F001F001F001F001F001F00
262 1F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B247EA310>I<FF00FF
263 001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
264 001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B237EA210
265 >108 D<FF07F007F000FF1FFC1FFC001F303E303E001F403E403E001F801F801F001F80
266 1F801F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
267 1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
268 1F001F001F001F001F001F001F001F00FFE0FFE0FFE0FFE0FFE0FFE02B167E9530>I<FF
269 07E000FF1FF8001F307C001F403C001F803E001F803E001F003E001F003E001F003E001F
270 003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F
271 003E001F003E00FFE1FFC0FFE1FFC01A167E951F>I<00FE0007FFC00F83E01E00F03E00
272 F87C007C7C007C7C007CFC007EFC007EFC007EFC007EFC007EFC007EFC007E7C007C7C00
273 7C3E00F81F01F00F83E007FFC000FE0017167E951C>I<FF0FE000FF3FF8001FF07C001F
274 803E001F001F001F001F801F001F801F000FC01F000FC01F000FC01F000FC01F000FC01F
275 000FC01F000FC01F000FC01F001F801F001F801F803F001FC03E001FE0FC001F3FF8001F
276 0FC0001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000FF
277 E00000FFE000001A207E951F>I<FE1F00FE3FC01E67E01EC7E01E87E01E87E01F83C01F
278 00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F
279 0000FFF000FFF00013167E9517>114 D<0FF3003FFF00781F00600700E00300E00300F0
280 0300FC00007FE0007FF8003FFE000FFF0001FF00000F80C00780C00380E00380E00380F0
281 0700FC0E00EFFC00C7F00011167E9516>I<018000018000018000018000038000038000
282 0780000780000F80003F8000FFFF00FFFF000F80000F80000F80000F80000F80000F8000
283 0F80000F80000F80000F80000F80000F81800F81800F81800F81800F81800F830007C300
284 03FE0000F80011207F9F16>I<FF01FE00FF01FE001F003E001F003E001F003E001F003E
285 001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E
286 001F003E001F003E001F007E001F00FE000F81BE0007FF3FC001FC3FC01A167E951F>I<
287 FFE01FE0FFE01FE00F8006000F8006000FC00E0007C00C0007E01C0003E0180003E01800
288 01F0300001F0300000F8600000F86000007CC000007CC000007FC000003F8000003F8000
289 001F0000001F0000000E0000000E00001B167F951E>I<FFE7FF07F8FFE7FF07F81F0078
290 00C00F807801800F807C01800F807C018007C07E030007C0DE030007E0DE070003E0DF06
291 0003E18F060001F18F0C0001F38F8C0001FB079C0000FB07D80000FE03D800007E03F000
292 007E03F000007C01F000003C01E000003800E000001800C00025167F9528>I<FFE01FE0
293 FFE01FE00F8006000F8006000FC00E0007C00C0007E01C0003E0180003E0180001F03000
294 01F0300000F8600000F86000007CC000007CC000007FC000003F8000003F8000001F0000
295 001F0000000E0000000E0000000C0000000C00000018000078180000FC380000FC300000
296 FC60000069C000007F8000001F0000001B207F951E>121 D E /Fd
297 1 49 df<040E0E1C1C1C38383070706060C0C0070F7F8F0A>48 D
298 E /Fe 59 123 df<0387000387000387000387000387000387007FFFC0FFFFE0FFFFE007
299 0E00070E00070E000E1C000E1C000E1C000E1C00FFFFE0FFFFE07FFFC01C38001C38001C
300 38001C38001C38001C380013197F9816>35 D<03800007E0000FE0001E70001C70001C70
301 001C70001C77E01CE7E01DE7E00FC7000F8E000F0E001E0E003F1C007F1C00739C00E3F8
302 00E1F800E0F1C0E0F1C071F9C07FFFC03F9F801E070013197F9816>38
303 D<00E001E0038007000E001C001C0038003800700070007000E000E000E000E000E000E0
304 00E000E000E000700070007000380038001C001C000E000700038001E000E00B217A9C16
305 >40 D<C000E000700038001C000E000E000700070003800380038001C001C001C001C001
306 C001C001C001C001C0038003800380070007000E000E001C0038007000E000C0000A217B
307 9C16>I<01C00001C00001C00001C00071C700F9CF807FFF001FFC0007F00007F0001FFC
308 007FFF00F9CF8071C70001C00001C00001C00001C00011127E9516>I<01C00001C00001
309 C00001C00001C00001C00001C00001C000FFFF80FFFF80FFFF8001C00001C00001C00001
310 C00001C00001C00001C00001C00011137E9516>I<387C7E7E3E0E1E1C78F060070B7984
311 16>I<70F8F8F8700505788416>46 D<01800380038007800F807F80FF80738003800380
312 0380038003800380038003800380038003800380038003807FF87FFC7FF80E197C9816>
313 49 D<07E0001FF8003FFC00783E00E00700F00780F00380600380000380000380000700
314 000700000E00001C0000380000700000E00001C0000380000F00001E03803803807FFF80
315 FFFF807FFF8011197E9816>I<00E00001F00001F00001B00001B00003B80003B80003B8
316 00031800071C00071C00071C00071C00071C000E0E000E0E000FFE000FFE001FFF001C07
317 001C07001C07007F1FC0FF1FE07F1FC013197F9816>65 D<7FF800FFFE007FFF001C0F00
318 1C07801C03801C03801C03801C07801C07001FFF001FFE001FFE001C1F001C03801C03C0
319 1C01C01C01C01C01C01C01C01C03C01C07807FFF80FFFF007FFC0012197F9816>I<01F1
320 8007FB800FFF801F0F803C0780380380700380700380F00000E00000E00000E00000E000
321 00E00000E00000E00000F000007003807003803803803C07001F0F000FFE0007FC0001F0
322 0011197E9816>I<7FF800FFFE007FFF001C0F001C07801C03C01C01C01C01C01C01E01C
323 00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01C01C03C01C07801C
324 0F807FFF00FFFE007FF8001319809816>I<7FFFC0FFFFC07FFFC01C01C01C01C01C01C0
325 1C01C01C00001C00001C1C001C1C001FFC001FFC001FFC001C1C001C1C001C00001C00E0
326 1C00E01C00E01C00E01C00E07FFFE0FFFFE07FFFE013197F9816>I<FFFFE0FFFFE0FFFF
327 E01C00E01C00E01C00E01C00E01C00001C00001C1C001C1C001FFC001FFC001FFC001C1C
328 001C1C001C00001C00001C00001C00001C00001C0000FF8000FFC000FF800013197F9816
329 >I<03E30007FF000FFF001E1F003C0F00380700700700700700F00000E00000E00000E0
330 0000E00000E03F80E07FC0E03F80F00700700700700700380F003C0F001E1F000FFF0007
331 F70003E70012197E9816>I<7F1FC0FFBFE07F1FC01C07001C07001C07001C07001C0700
332 1C07001C07001FFF001FFF001FFF001C07001C07001C07001C07001C07001C07001C0700
333 1C07001C07007F1FC0FFBFE07F1FC013197F9816>I<FFFEFFFEFFFE0380038003800380
334 038003800380038003800380038003800380038003800380038003800380FFFEFFFEFFFE
335 0F197D9816>I<7F0FE0FF8FF07F0FE01C07801C0F001C0E001C1C001C3C001C78001CF0
336 001CE0001DF0001FF0001FF8001F38001E1C001C1C001C0E001C0E001C07001C07001C03
337 807F07E0FF8FF07F07E01419809816>75 D<FFC000FFC000FFC0001C00001C00001C0000
338 1C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0040
339 1C00E01C00E01C00E01C00E0FFFFE0FFFFE0FFFFE013197F9816>I<FC07E0FE0FE0FE0F
340 E03A0B803B1B803B1B803B1B803B1B803B1B803BBB8039B38039B38039B38039B38039F3
341 8038E38038E380380380380380380380380380380380FE0FE0FE0FE0FE0FE013197F9816
342 >I<7E1FC0FF3FE07F1FC01D07001D87001D87001D87001DC7001DC7001CC7001CC7001C
343 E7001CE7001CE7001C67001C67001C77001C77001C37001C37001C37001C17007F1F00FF
344 9F007F0F0013197F9816>I<1FFC003FFE007FFF00780F00F00780E00380E00380E00380
345 E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380F00780
346 F00780780F007FFF003FFE001FFC0011197E9816>I<7FF800FFFE007FFF001C0F801C03
347 801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF001FFE001FF8001C00001C00
348 001C00001C00001C00001C00001C00007F0000FF80007F000012197F9816>I<7FE000FF
349 F8007FFC001C1E001C0F001C07001C07001C07001C07001C0F001C1E001FFC001FF8001F
350 FC001C1C001C0E001C0E001C0E001C0E001C0E201C0E701C0E707F07E0FF87E07F03C014
351 197F9816>82 D<07E3001FFF003FFF00781F00F00700E00700E00700E00000F000007800
352 003F80001FF00007FC0000FE00000F00000700000380000380600380E00380E00700F80F
353 00FFFE00FFFC00C7F00011197E9816>I<7FFFE0FFFFE0FFFFE0E0E0E0E0E0E0E0E0E0E0
354 E0E000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
355 E00000E00000E00000E00007FC000FFE0007FC0013197F9816>I<7F07F0FF8FF87F07F0
356 1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C0
357 1C01C01C01C01C01C01C01C00E03800E038007070007FF0003FE0000F8001519809816>
358 I<FE0FE0FF1FE0FE0FE03803801C07001C07001C07001C07000E0E000E0E000E0E000E0E
359 00060C00071C00071C00071C00071C0003180003B80003B80003B80001B00001F00001F0
360 0000E00013197F9816>I<7F1F807F3F807F1F800E1E000E1C00073C0007380003B80003
361 F00001F00001E00000E00001E00001F00003F00003B80007B800071C00071C000E0E000E
362 0E001C07007F1FC0FF1FE07F1FC013197F9816>88 D<FE0FE0FF1FE0FE0FE01C07001C07
363 000E0E000E0E00071C00071C00071C0003B80003B80001F00001F00000E00000E00000E0
364 0000E00000E00000E00000E00000E00003F80007FC0003F80013197F9816>I<7FFF80FF
365 FF80FFFF80E00700E00F00E01E00E01C00003C0000780000700000F00001E00001C00003
366 C0000780000700000F00001E03801C03803C0380780380700380FFFF80FFFF80FFFF8011
367 197E9816>I<FFF0FFF0FFF0E000E000E000E000E000E000E000E000E000E000E000E000
368 E000E000E000E000E000E000E000E000E000E000E000E000E000E000FFF0FFF0FFF00C20
369 789C16>I<FFF0FFF0FFF000700070007000700070007000700070007000700070007000
370 700070007000700070007000700070007000700070007000700070FFF0FFF0FFF00C207F
371 9C16>93 D<1FE0003FF0007FF800783C00300E00000E00000E0003FE001FFE003E0E0070
372 0E00E00E00E00E00E00E00783E007FFFE03FE7E00F83E013127E9116>97
373 D<7E0000FE00007E00000E00000E00000E00000E00000E3E000EFF000FFF800F83C00F00
374 E00E00E00E00700E00700E00700E00700E00700E00700E00E00F01E00F83C00FFF800EFF
375 00063C001419809816>I<03F80FFC1FFE3C1E780C7000E000E000E000E000E000F00070
376 0778073E0E1FFC0FF803F010127D9116>I<003F00007F00003F00000700000700000700
377 00070003C7000FF7001FFF003C1F00780F00700700E00700E00700E00700E00700E00700
378 E00700700F00700F003C1F001FFFE00FE7F007C7E014197F9816>I<03E00FF81FFC3C1E
379 780E7007E007FFFFFFFFFFFFE000E000700778073C0F1FFE0FFC03F010127D9116>I<00
380 1F00007F8000FF8001E78001C30001C00001C0007FFF00FFFF00FFFF0001C00001C00001
381 C00001C00001C00001C00001C00001C00001C00001C00001C00001C0003FFE007FFF003F
382 FE0011197F9816>I<03E3C007F7E00FFFE01C1CC0380E00380E00380E00380E00380E00
383 1C1C000FF8001FF0001BE0003800001800001FFC001FFF003FFF807803C0E000E0E000E0
384 E000E0E000E07001C07C07C03FFF800FFE0003F800131C7F9116>I<7E0000FE00007E00
385 000E00000E00000E00000E00000E3C000EFE000FFF000F87800F03800E03800E03800E03
386 800E03800E03800E03800E03800E03800E03800E03807FC7F0FFE7F87FC7F01519809816
387 >I<018003C003C0018000000000000000007FC07FC07FC001C001C001C001C001C001C0
388 01C001C001C001C001C001C07FFFFFFF7FFF101A7D9916>I<7E0000FE00007E00000E00
389 000E00000E00000E00000E7FE00E7FE00E7FE00E0F000E1E000E3C000E78000EF0000FF0
390 000FF8000FBC000F1E000E0E000E07000E07807F87F0FFCFF07F87F01419809816>107
391 D<FFC000FFC000FFC00001C00001C00001C00001C00001C00001C00001C00001C00001C0
392 0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000FFFF80FFFF
393 80FFFF8011197E9816>I<F9C380FFEFC0FFFFE03C78E03C78E03870E03870E03870E038
394 70E03870E03870E03870E03870E03870E03870E0FE7CF8FE7CF8FE3C781512809116>I<
395 7E3C00FEFE007FFF000F87800F03800E03800E03800E03800E03800E03800E03800E0380
396 0E03800E03800E03807FC7F0FFE7F87FC7F01512809116>I<03E0000FF8001FFC003C1E
397 00780F00700700E00380E00380E00380E00380E00380F00780700700780F003C1E001FFC
398 000FF80003E00011127E9116>I<7E3E00FEFF007FFF800F83C00F00E00E00E00E00700E
399 00700E00700E00700E00700E00700E00E00F01E00F83C00FFF800EFF000E3C000E00000E
400 00000E00000E00000E00000E00007FC000FFE0007FC000141B809116>I<FF0FC0FF3FE0
401 FF7FE007F04007C000078000078000070000070000070000070000070000070000070000
402 070000FFFC00FFFC00FFFC0013127F9116>114 D<0FEC3FFC7FFCF03CE01CE01C70007F
403 801FF007F8003C600EE00EF00EF81EFFFCFFF8C7E00F127D9116>I<0300000700000700
404 000700000700007FFF00FFFF00FFFF000700000700000700000700000700000700000700
405 0007010007038007038007038007870003FE0001FC0000F80011177F9616>I<7E1F80FE
406 3F807E1F800E03800E03800E03800E03800E03800E03800E03800E03800E03800E03800E
407 03800E0F800FFFF007FBF803E3F01512809116>I<7F1FC0FF1FE07F1FC01C07001E0F00
408 0E0E000E0E000E0E00071C00071C00071C00071C0003B80003B80003B80001F00001F000
409 00E00013127F9116>I<FF1FE0FFBFE0FF1FE038038038038038038038038038E38019F3
410 0019F30019B3001DB7001DB7001DB7001DB7000F1E000F1E000F1E0013127F9116>I<7F
411 1FC07F3FC07F1FC00F1C00073C0003B80003F00001F00000E00001E00001F00003B80007
412 3C00071C000E0E007F1FC0FF3FE07F1FC013127F9116>I<7F1FC0FF9FE07F1FC01C0700
413 0E07000E0E000E0E00070E00071C00071C00039C00039C0003980001B80001B80000F000
414 00F00000F00000E00000E00000E00001C00079C0007BC0007F80003F00003C0000131B7F
415 9116>I<3FFFC07FFFC07FFFC0700780700F00701E00003C0000780001F00003E0000780
416 000F00001E01C03C01C07801C0FFFFC0FFFFC0FFFFC012127F9116>I
417 E /Ff 2 13 df<0007E00000003838000000E00C004001C00E0040038007008007000780
418 800F000780801E000381003E0003C1003C0003C2007C0003C2007C0003C400F80003C400
419 F80003C800F80003D000F80003D000F80003E000F00003C000F00003C000F00003C00078
420 0003C00078000FC000380011C1001C0061C2000E0380E60001FC003800221A7E9926>11
421 D<000003F80000000C0C0000003006000000400700000080038000010003800002000380
422 000400038000040007800008000780000800078000100007000010000F000020000E0000
423 20001C00002000380000403FF000004040E00000403F300000400038000080001C000080
424 001E000080001E000080001E000100001F000100001F000100001F000100001F00020000
425 3E000200003E000200003E000200003C000600007C000600007800060000F800060000F0
426 00090001E000090003C000088007800008400E000010303C0000100FE000001000000000
427 100000000020000000002000000000200000000020000000004000000000400000000040
428 0000000040000000008000000000800000000021367FA922>I E
429 /Fg 37 122 df<00FCF807839C0E079C1C07081C07001C07001C07001C07001C0700FFFF
430 E01C07001C07001C07001C07001C07001C07001C07001C07001C07001C07001C07001C07
431 00FF1FE01617809615>11 D<60C0F1E0F1E070E01020102020402040408040800B0A7F96
432 12>34 D<0102040C1818303070606060E0E0E0E0E0E0E0E0E0E060606070303018180C04
433 020108227D980E>40 D<8040203018180C0C0E060606070707070707070707070606060E
434 0C0C18183020408008227E980E>I<60F0F070101020204040040A7D830A>44
435 D<FF80FF80090280870C>I<60F0F06004047D830A>I<001000003800003800003800005C
436 00005C00005C00008E00008E00008E0001070001070003078002038002038007FFC00401
437 C00401C00800E00800E01800E03800F0FE03FE17177F961A>65 D<FFE00E000E000E000E
438 000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FF
439 E00B177F960D>73 D<FE0003F81E0003C0170005C0170005C0170005C0138009C0138009
440 C011C011C011C011C011C011C010E021C010E021C0107041C0107041C0107041C0103881
441 C0103881C0101D01C0101D01C0100E01C0100E01C0380E01C0FE040FF81D177F9620>77
442 D<0FC4302C601C400CC004C004C004E00070007F003FE00FF801FC001C000E0006800680
443 068006C004E008D81087E00F177E9614>83 D<7FFFF86038184038084038088038048038
444 048038040038000038000038000038000038000038000038000038000038000038000038
445 0000380000380000380000380007FFC016177F9619>I<204020404080408081008100E1
446 C0F1E0F1E060C00B0A7B9612>92 D<1FC0386038301038003803F81E3830387038E039E0
447 39E07970FF1F1E100E7F8D12>97 D<FC00001C00001C00001C00001C00001C00001C0000
448 1C00001C00001CF8001F06001C03001C03801C01801C01C01C01C01C01C01C01C01C0180
449 1C03801C03001B0E0010F8001217809614>I<07F01838303870106000E000E000E000E0
450 00600070083008183007C00D0E7F8D10>I<007E00000E00000E00000E00000E00000E00
451 000E00000E00000E0007CE001C3E00300E00700E00600E00E00E00E00E00E00E00E00E00
452 600E00700E00301E00182E0007CFC012177F9614>I<0FC0186030307038E018FFF8E000
453 E000E000600070083010183007C00D0E7F8D10>I<03E006700E701C201C001C001C001C
454 001C00FF801C001C001C001C001C001C001C001C001C001C001C001C00FF800C1780960B
455 >I<0F9E18E33060707070707070306018C02F80200060003FE03FF83FFC600EC006C006
456 C006600C38380FE010157F8D12>I<FC00001C00001C00001C00001C00001C00001C0000
457 1C00001C00001C7C001D8E001E07001C07001C07001C07001C07001C07001C07001C0700
458 1C07001C07001C0700FF9FE01317809614>I<183C3C1800000000007C1C1C1C1C1C1C1C
459 1C1C1C1C1CFF081780960A>I<FC00001C00001C00001C00001C00001C00001C00001C00
460 001C00001C3F801C1C001C18001C20001C40001CC0001FE0001CF0001C70001C78001C3C
461 001C1E001C1E00FF3FC01217809613>107 D<FC001C001C001C001C001C001C001C001C
462 001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091780960A>I<
463 FC7C1F001D8E63801E0781C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C0
464 1C0701C01C0701C01C0701C01C0701C0FF9FE7F81D0E808D1E>I<FC7C001D8E001E0700
465 1C07001C07001C07001C07001C07001C07001C07001C07001C07001C0700FF9FE0130E80
466 8D14>I<07C018303018600C600CE00EE00EE00EE00EE00E701C3018183007C00F0E7F8D
467 12>I<FCF8001F0E001C03001C03801C01801C01C01C01C01C01C01C01C01C01801C0380
468 1C07001F0E001CF8001C00001C00001C00001C00001C0000FF80001214808D14>I<07C2
469 001C2600381E00700E00600E00E00E00E00E00E00E00E00E00600E00700E00301E001C2E
470 0007CE00000E00000E00000E00000E00000E00007FC012147F8D13>I<FCF01D381E381C
471 101C001C001C001C001C001C001C001C001C00FF800D0E808D0E>I<1F4060C0C040C040
472 E000FF007F801FC001E080608060C060E0C09F000B0E7F8D0E>I<080008000800180018
473 003800FF80380038003800380038003800380038403840384038401C800F000A147F930E
474 >I<FC3F001C07001C07001C07001C07001C07001C07001C07001C07001C07001C07001C
475 0F000E170003E7E0130E808D14>I<FE1F3C0E3C0C1C081C080E100E100720072003C003
476 C003C001800180100E7F8D13>I<FCFE7C3838383838101C3C201C3C201C4C200E4E400E
477 4E400E8640078780078780070380030300030300160E7F8D19>I<FE3F3C181C100E2007
478 4007C0038001C002E004F008701838383CFC7F100E7F8D13>I<FE1F3C0E3C0C1C081C08
479 0E100E100720072003C003C003C00180018001000100E200E200A400780010147F8D13>
480 I E /Fh 4 53 df<0C003C00CC000C000C000C000C000C000C000C000C000C000C000C00
481 0C00FF8009107E8F0F>49 D<1F00618040C08060C0600060006000C00180030006000C00
482 102020207FC0FFC00B107F8F0F>I<1F00218060C060C000C0008001800F000080004000
483 60C060C060804060801F000B107F8F0F>I<0300030007000F000B001300330023004300
484 C300FFE003000300030003001FE00B107F8F0F>I E /Fi 4 53 df<0C001C00EC000C00
485 0C000C000C000C000C000C000C000C000C000C000C000C000C000C00FFC00A137D9211>
486 49 D<1F0060C06060F070F030603000700070006000C001C00180020004000810101020
487 207FE0FFE00C137E9211>I<0FC030707038703870380038003000E00FC0007000380018
488 001C601CF01CF018E03860701FC00E137F9211>I<006000E000E00160026006600C6008
489 60106020606060C060FFFC0060006000600060006003FC0E137F9211>I
490 E /Fj 19 123 df<000FE0200070186001C00460030003E0060001E00E0000E01C000060
491 38000060380000207800002070000020F0000000F0000000F0000000F0000000F0000000
492 F0000000F0000000F0000000700000207800002038000020380000201C0000400E000040
493 060000800300010001C0060000701800000FE0001B1E7D9C21>67
494 D<FFF00FF80F0007C00F0003000F0002000F0004000F0008000F0010000F0060000F0080
495 000F0100000F0200000F0700000F0F80000F1780000F23C0000F43E0000F81E0000F00F0
496 000F00F8000F0078000F003C000F001E000F001F000F000F000F0007800F0007C00F0007
497 E0FFF03FFC1E1C7D9B23>75 D<FFFFE0000F0078000F001C000F000E000F0007000F0007
498 800F0007800F0007800F0007800F0007800F0007000F000E000F001C000F0078000FFFE0
499 000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
500 000F0000000F0000000F000000FFF00000191C7D9B1F>80 D<7FFFFFC0700F01C0600F00
501 C0400F0040400F0040C00F0020800F0020800F0020800F0020000F0000000F0000000F00
502 00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
503 00000F0000000F0000000F0000000F0000000F0000001F800003FFFC001B1C7D9B21>84
504 D<7FFFFC7C00787000786000F06001E04001E04003C0400780400780000F00001E00001E
505 00003C0000780000780000F00001E00001E00403C0040780040780040F000C1E00081E00
506 083C00187800387800F8FFFFF8161C7D9B1C>90 D<00200000700000700000700000B800
507 00B80000B800011C00011C00011C00020E00020E0004070004070007FF00080380080380
508 0803801801C03803C0FE0FF815157F9419>97 D<FFFF801C03801C00801C00801C00401C
509 00401C10401C10001C10001C30001FF0001C30001C10001C10201C10201C00201C00601C
510 00401C00C01C01C0FFFFC013157F9417>101 D<00FC200782600E01E01C00E038006078
511 0020700020F00020F00000F00000F00000F00FF8F000E0F000E07000E07800E03800E01C
512 00E00E00E007836000FC2015157E941B>103 D<FF8FF81C01C01C01C01C01C01C01C01C
513 01C01C01C01C01C01C01C01C01C01FFFC01C01C01C01C01C01C01C01C01C01C01C01C01C
514 01C01C01C01C01C0FF8FF815157F9419>I<FF801C001C001C001C001C001C001C001C00
515 1C001C001C001C001C001C001C001C001C001C001C00FF8009157F940D>I<FF83F81C01
516 E01C01801C01001C02001C04001C08001C10001C30001C70001CB8001D1C001E1C001C0E
517 001C07001C07801C03801C01C01C01E01C01F0FF83FC16157F941A>107
518 D<FC03F81E00E01E004017004013804013C04011C04010E040107040107040103840101C
519 40101C40100E401007401007C01003C01001C01000C03800C0FE004015157F9419>110
520 D<01F800070E000C03001C03803801C07801E07000E0F000F0F000F0F000F0F000F0F000
521 F0F000F0F000F07000E07801E03801C01C03801E0780070E0001F80014157E941A>I<FF
522 F8001C0E001C07801C03801C03C01C03C01C03C01C03801C07801C0E001FF8001C1C001C
523 0E001C07001C07001C07001C07801C07841C07C41C03CCFF80F816157F9419>114
524 D<FF83F81C00E01C00401C00401C00401C00401C00401C00401C00401C00401C00401C00
525 401C00401C00401C00401C00400C00C00E008006010003860000FC0015157F9419>117
526 D<FF0FF87E3C01E03C3801C0181C02E0101C02E0101C02E0100E0470200E0470200E0470
527 2007083840070838400708384003901C8003901C8003901C8001E00F0001E00F0001E00F
528 0000C0060000C0060000C006001F157F9423>119 D<FF87F01E03800E03000F02000704
529 0003840003C80001D00000F00000F00000700000780000BC00011C00010E00020F000407
530 000403800C03C03C03C0FE07F815157F9419>I<FF80FE1E00780E00200F004007004003
531 808003C18001C10000E20000E200007400007C0000380000380000380000380000380000
532 380000380000380001FF001715809419>I<FFFEF01CC01CC0388038807080E000E001C0
533 01C00380070007000E020E021C02380238067006701EFFFE0F157E9415>I
534 E /Fk 3 16 df<FFFFFF80FFFFFF8019027D8A20>0 D<01800180018001804182F18F39
535 9C0FF003C003C00FF0399CF18F4182018001800180018010127E9215>3
536 D<03C00FF01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF80FF003C010107E
537 9115>15 D E /Fl 60 123 df<0001FC3C00060E67000C0EC7001C0DC6001C01C0003801
538 C0003803800038038000380380003803800070038007FFFFF80070070000700700007007
539 0000E0070000E00E0000E00E0000E00E0000E00E0001C00E0001C01C0001C01C0001C01C
540 0001C01C0003801C00038038000380380003803800030038000700300007007000060060
541 00C6606000E470C000C8618000703E00002025819C19>11 D<0001FC000703000C03001C
542 07001C0300180000380000380000380000380000700007FFFC00701C00701C00701C00E0
543 3800E03800E03800E03800E07001C07001C07001C07001C0E201C0E201C0E20380E40380
544 64038038038000030000070000060000C60000E40000CC00007000001825819C17>I<E0
545 E0E070301018080508749C15>18 D<03070E1C3860C0800808729C15>I<183C3C3C0404
546 080810204080060C779C0D>39 D<00030006000800180030006000C000C0018003000300
547 060006000C000C001C0018001800380030003000700070006000600060006000E000E000
548 E000E000E0006000600060006000600020003000100008000800102A7B9E11>I<001000
549 100008000C00040006000600060006000600070007000700070007000600060006000600
550 0E000E000C000C001C001800180038003000300060006000C000C001800300030006000C
551 00180010006000C000102A809E11>I<183878380808101020404080050C7D830D>44
552 D<FFC0FFC0FFC00A037D890F>I<3078F06005047C830D>I<003C0000C600018300030300
553 0603000603800E03800C03801C03801C0300380700380700380700380700700E00700E00
554 700E00700E00E01C00E01C00E01C00E03800E03800E03000C06000E0600060C000718000
555 1E0000111D7B9B15>48 D<00020006000C001C007C039C00380038003800380070007000
556 70007000E000E000E000E001C001C001C001C003800380038003800780FFF00F1C7C9B15
557 >I<003E0000C1800101800200C00400C00440C00841C00841C00841C008838007038000
558 0700000E0001F800003800000C00000C00000E00000E00000E00000E00700E00E01C0080
559 1C0080380080300040600021C0001F0000121D7C9B15>51 D<001E000061000081800180
560 800300C00300C006018006018006018007030007860003CC0003F00001F000037800063C
561 00081E00180E00300E00600600600600600600C00C00C00C00C0180060100060200030C0
562 000F0000121D7C9B15>56 D<003C0000C6000183000303000603000E03000C03801C0380
563 1C03001C0300380700380700380700380F00380E00181E00181E000C6C00079C00001C00
564 001800003800003000006000E0C000E0C0008180008600007C0000111D7B9B15>I<060F
565 0F06000000000000000000003078F06008127C910D>I<00001800000018000000380000
566 00380000007800000078000000B8000001B800000138000002380000023C0000041C0000
567 041C0000081C0000181C0000101C0000201C0000201C00007FFC0000401C0000801C0001
568 801C0001001C0002001C0002001C0004000E000C000E001C001E00FF00FFC01A1D7E9C1F
569 >65 D<01FFFE00003C0780003803C0003801C0003801C0003801C0007001C0007003C000
570 7003C00070078000E0070000E00E0000E03C0000FFF80001C01C0001C00E0001C00F0001
571 C00F0003800F0003800F0003800F0003800F0007001E0007001C0007003C00070078000E
572 01E000FFFF80001A1C7D9B1D>I<0003F020001E0C60003002E000E003C001C001C00380
573 01C0070000C00E0000801E0000801C0000803C0000803C00000078000000780000007800
574 0000F0000000F0000000F0000000F0000000F0000400F0000400F0000400F00008007000
575 08007000100038002000180040000C0180000706000001F800001B1E7A9C1E>I<01FFFE
576 00003C0780003801C0003801C0003800E0003800E0007000F00070007000700070007000
577 F000E000F000E000F000E000F000E000F001C001E001C001E001C001E001C001C0038003
578 C003800380038007800380070007000E0007001C0007003800070070000E01C000FFFF00
579 001C1C7D9B1F>I<01FFFFE0003C00E00038006000380040003800400038004000700040
580 00700040007020400070200000E0400000E0400000E0C00000FFC00001C0800001C08000
581 01C0800001C0800003810100038001000380020003800200070004000700040007000C00
582 070018000E007800FFFFF0001B1C7D9B1C>I<01FFFFC0003C01C0003800C00038008000
583 380080003800800070008000700080007020800070200000E0400000E0400000E0C00000
584 FFC00001C0800001C0800001C0800001C080000381000003800000038000000380000007
585 0000000700000007000000070000000F000000FFF000001A1C7D9B1B>I<01FFCFFE003C
586 01E0003801C0003801C0003801C0003801C00070038000700380007003800070038000E0
587 070000E0070000E0070000FFFF0001C00E0001C00E0001C00E0001C00E0003801C000380
588 1C0003801C0003801C00070038000700380007003800070038000F007800FFE7FF001F1C
589 7D9B1F>72 D<01FFC0003C00003800003800003800003800007000007000007000007000
590 00E00000E00000E00000E00001C00001C00001C00001C000038000038000038000038000
591 0700000700000700000700000F0000FFE000121C7E9B10>I<007FF00007800007000007
592 00000700000700000E00000E00000E00000E00001C00001C00001C00001C000038000038
593 0000380000380000700000700000700000700060E000E0E000C0C00081C0008380004700
594 003C0000141D7B9B16>I<01FFE0003C0000380000380000380000380000700000700000
595 700000700000E00000E00000E00000E00001C00001C00001C00001C00003800803800803
596 80080380100700100700300700600700E00E03C0FFFFC0151C7D9B1A>76
597 D<01FE0007F8003E000780002E000F00002E001700002E001700002E002700004E002E00
598 004E004E00004E004E00004E008E00008E011C00008E011C00008E021C00008E021C0001
599 070438000107043800010708380001071038000207107000020720700002072070000207
600 407000040740E000040780E000040700E0000C0700E0001C0601E000FF861FFC00251C7D
601 9B25>I<01FC03FE001C0070003C0060002E0040002E0040002E00400047008000470080
602 00470080004380800083810000838100008181000081C1000101C2000101C2000100E200
603 0100E2000200E4000200740002007400020074000400380004003800040038000C001800
604 1C001000FF8010001F1C7D9B1F>I<0007F000001C1C0000700E0000E0070001C0038003
605 800380070003800E0003C01E0003C01C0003C03C0003C03C0003C0780003C0780003C078
606 0003C0F0000780F0000780F0000780F0000F00F0000F00F0000E00F0001E00F0003C0070
607 003800700070007800E0003801C0001C0380000E0E000003F800001A1E7A9C20>I<01FF
608 FC00003C070000380380003801C0003801C0003801C0007003C0007003C0007003C00070
609 038000E0078000E0070000E00E0000E0380001FFE00001C0000001C0000001C000000380
610 0000038000000380000003800000070000000700000007000000070000000F000000FFE0
611 00001A1C7D9B1C>I<01FFF800003C0E0000380700003803800038038000380380007007
612 80007007800070078000700F0000E00E0000E01C0000E0700000FFC00001C0C00001C060
613 0001C0700001C07000038070000380700003807000038070000700F0000700F0400700F0
614 400700F0800F007880FFE0790000001E001A1D7D9B1E>82 D<000F8400304C00403C0080
615 1801001803001803001806001006001006000007000007000003E00003FC0001FF00007F
616 800007C00001C00001C00000C00000C02000C02000C0600180600180600300600200F004
617 00CC180083E000161E7D9C17>I<1FFFFFC01C0701C0300E00C0200E0080600E0080400E
618 0080401C0080801C0080801C0080001C0000003800000038000000380000003800000070
619 000000700000007000000070000000E0000000E0000000E0000000E0000001C0000001C0
620 000001C0000001C0000003C000007FFE00001A1C799B1E>I<FF83FF0FF03C007001C038
621 007001803800F001003800F0020038017002003801700400380270040038027008001C04
622 7008001C047010001C087010001C087020001C107020001C107040001C207040001C2070
623 80001C407180001C407100001C807200001D807200001D007400001E007400001E007800
624 001C007800001C00700000180070000018006000001000600000241D779B29>87
625 D<FFC00FE00E0007800E0006000F00040007000800070018000780100003802000038040
626 0003C0800001C1800001C1000001E2000000E4000000EC000000F8000000700000007000
627 0000E0000000E0000000E0000000E0000001C0000001C0000001C0000001C00000038000
628 003FF800001B1C789B1F>89 D<03CC063C0C3C181C3838303870387038E070E070E070E0
629 70E0E2C0E2C0E261E462643C380F127B9115>97 D<3F00070007000E000E000E000E001C
630 001C001C001C0039C03E60383038307038703870387038E070E070E070E060E0E0C0C0C1
631 C0618063003C000D1D7B9C13>I<01F007080C08181C3838300070007000E000E000E000
632 E000E000E008E010602030C01F000E127B9113>I<001F80000380000380000700000700
633 000700000700000E00000E00000E00000E0003DC00063C000C3C00181C00383800303800
634 703800703800E07000E07000E07000E07000E0E200C0E200C0E20061E4006264003C3800
635 111D7B9C15>I<01E007100C1018083810701070607F80E000E000E000E000E000E00860
636 10602030C01F000D127B9113>I<0003C0000670000C70001C60001C00001C0000380000
637 380000380000380000380003FF8000700000700000700000700000700000E00000E00000
638 E00000E00000E00001C00001C00001C00001C00001C00003800003800003800003000003
639 0000070000C60000E60000CC00007800001425819C0D>I<00F3018F030F06070E0E0C0E
640 1C0E1C0E381C381C381C381C383830383038187818F00F700070007000E000E0C0C0E1C0
641 C3007E00101A7D9113>I<0FC00001C00001C00003800003800003800003800007000007
642 00000700000700000E78000E8C000F0E000E0E001C0E001C0E001C0E001C0E00381C0038
643 1C00381C00383800703880703880707080707100E03200601C00111D7D9C15>I<018003
644 80010000000000000000000000000000001C002600470047008E008E000E001C001C001C
645 0038003800710071007100720072003C00091C7C9B0D>I<0FC00001C00001C000038000
646 0380000380000380000700000700000700000700000E0F000E11000E23800E43801C8300
647 1C80001D00001E00003F800039C00038E00038E00070E20070E20070E20070E400E06400
648 603800111D7D9C13>107 D<1F800380038007000700070007000E000E000E000E001C00
649 1C001C001C0038003800380038007000700070007000E400E400E400E40068003800091D
650 7C9C0B>I<3C1E0780266318C04683A0E04703C0E08E0380E08E0380E00E0380E00E0380
651 E01C0701C01C0701C01C0701C01C070380380E0388380E0388380E0708380E0710701C03
652 20300C01C01D127C9122>I<3C3C002646004687004707008E07008E07000E07000E0700
653 1C0E001C0E001C0E001C1C00381C40381C40383840383880701900300E0012127C9117>
654 I<01E007180C0C180C380C300E700E700EE01CE01CE01CE018E038E030E06060C031801E
655 000F127B9115>I<07870004D98008E0C008E0C011C0E011C0E001C0E001C0E00381C003
656 81C00381C00381800703800703000707000706000E8C000E70000E00000E00001C00001C
657 00001C00001C00003C0000FF8000131A7F9115>I<03C4062C0C3C181C38383038703870
658 38E070E070E070E070E0E0C0E0C0E061E063C03DC001C001C0038003800380038007803F
659 F00E1A7B9113>I<3C3C26C2468747078E068E000E000E001C001C001C001C0038003800
660 380038007000300010127C9112>I<01F006080C080C1C18181C001F001FC00FF007F000
661 7800386030E030C030806060C01F000E127D9111>I<00C001C001C001C0038003800380
662 0380FFE00700070007000E000E000E000E001C001C001C001C0038403840384038801900
663 0E000B1A7D990E>I<1E0300270700470700470700870E00870E000E0E000E0E001C1C00
664 1C1C001C1C001C1C003838803838801838801839001C5900078E0011127C9116>I<1E06
665 270E470E4706870287020E020E021C041C041C041C0818083808181018200C4007800F12
666 7C9113>I<1E01832703874703874703838707018707010E07010E07011C0E021C0E021C
667 0E021C0E04180C04181C04181C081C1C100C263007C3C018127C911C>I<070E00199100
668 10E38020E38041C30041C00001C00001C000038000038000038000038000070200670200
669 E70400CB04008B080070F00011127D9113>I<1E03270747074707870E870E0E0E0E0E1C
670 1C1C1C1C1C1C1C38383838183818381C7007F00070007000E0E0C0E1C0818047003C0010
671 1A7C9114>I<038207C20FEC083810080010002000400080010002000400080810083830
672 67F043E081C00F127D9111>I E /Fm 5 111 df<00F000030C000E06041C070438070830
673 0708700790700790E003A0E003A0E003C0E00380E00380E00380600780601B883061900F
674 80E016127E911B>11 D<0001F000061800080C00100C00200E00400E00800E00801C0100
675 1C010018010038020FF00210C0020FE00200300400300400300400380400380800700800
676 700800700800E01800E01800C0140180140300230E0020F8002000002000004000004000
677 0040000040000080000080000017257F9C17>I<60F0F06004047C830C>58
678 D<0007E00000E00000E00001C00001C00001C00001C000038000038000038000038001E7
679 000717000C0F00180F00380E00300E00700E00700E00E01C00E01C00E01C00E01C00E038
680 80E03880E038806078803199001E0E00131D7E9C16>100 D<381F004E61804681C04701
681 C08F01C08E01C00E01C00E01C01C03801C03801C03801C0700380710380710380E10380E
682 2070064030038014127E9119>110 D E /Fn 84 128 df<007E1F0001C1B1800303E3C0
683 0703C3C00E03C1800E01C0000E01C0000E01C0000E01C0000E01C0000E01C000FFFFFC00
684 0E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C000
685 0E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0007F87FC001A1D809C
686 18>11 D<007E0001C1800301800703C00E03C00E01800E00000E00000E00000E00000E00
687 00FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
688 C00E01C00E01C00E01C00E01C00E01C07F87F8151D809C17>I<007FC001C1C00303C007
689 03C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFFFC00E01C00E01C00E01C00E
690 01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
691 01C07FCFF8151D809C17>I<003F07E00001C09C18000380F018000701F03C000E01E03C
692 000E00E018000E00E000000E00E000000E00E000000E00E000000E00E00000FFFFFFFC00
693 0E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E
694 00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00
695 E01C000E00E01C007FC7FCFF80211D809C23>I<1C1C3C3870C0800607779C15>19
696 D<6060F0F0F8F86868080808080808101010102020404080800D0C7F9C15>34
697 D<0F0000C0188000C030600380703807006027FB00E0100600E0100C00E0100C00E01018
698 00E0101800E0103000E0106000602060007020C00030418000188180000F0303C0000606
699 2000060C10000C1C08001818080018380400303804006038040060380400C0380400C038
700 04018038040300180803001C0806000C100C000620040003C01E217E9E23>37
701 D<60F0F8680808081010204080050C7C9C0C>39 D<004000800100020006000C000C0018
702 001800300030007000600060006000E000E000E000E000E000E000E000E000E000E000E0
703 00E000600060006000700030003000180018000C000C00060002000100008000400A2A7D
704 9E10>I<800040002000100018000C000C000600060003000300038001800180018001C0
705 01C001C001C001C001C001C001C001C001C001C001C00180018001800380030003000600
706 06000C000C00180010002000400080000A2A7E9E10>I<00060000000600000006000000
707 060000000600000006000000060000000600000006000000060000000600000006000000
708 060000FFFFFFE0FFFFFFE000060000000600000006000000060000000600000006000000
709 0600000006000000060000000600000006000000060000000600001B1C7E9720>43
710 D<60F0F0701010101020204080040C7C830C>I<FFE0FFE00B0280890E>I<60F0F0600404
711 7C830C>I<00010003000600060006000C000C000C001800180018003000300030006000
712 6000C000C000C0018001800180030003000300060006000C000C000C0018001800180030
713 0030003000600060006000C000C00010297E9E15>I<03C00C301818300C300C700E6006
714 6006E007E007E007E007E007E007E007E007E007E007E007E007E00760066006700E300C
715 300C18180C3007E0101D7E9B15>I<030007003F00C70007000700070007000700070007
716 000700070007000700070007000700070007000700070007000700070007000F80FFF80D
717 1C7C9B15>I<07C01830201C400C400EF00FF80FF807F8077007000F000E000E001C001C
718 00380070006000C00180030006010C01180110023FFE7FFEFFFE101C7E9B15>I<07E018
719 30201C201C781E780E781E381E001C001C00180030006007E00030001C001C000E000F00
720 0F700FF80FF80FF80FF00E401C201C183007E0101D7E9B15>I<000C00000C00001C0000
721 3C00003C00005C0000DC00009C00011C00031C00021C00041C000C1C00081C00101C0030
722 1C00201C00401C00C01C00FFFFC0001C00001C00001C00001C00001C00001C00001C0001
723 FFC0121C7F9B15>I<300C3FF83FF03FC020002000200020002000200023E02430281830
724 1C200E000E000F000F000F600FF00FF00FF00F800E401E401C2038187007C0101D7E9B15
725 >I<00F0030C06040C0E181E301E300C700070006000E3E0E430E818F00CF00EE006E007
726 E007E007E007E007600760077006300E300C18180C3003E0101D7E9B15>I<4000007FFF
727 807FFF007FFF0040020080040080040080080000100000100000200000600000400000C0
728 0000C00001C0000180000180000380000380000380000380000780000780000780000780
729 00078000078000030000111D7E9B15>I<03E00C301008200C2006600660066006700678
730 0C3E083FB01FE007F007F818FC307E601E600FC007C003C003C003C00360026004300C1C
731 1007E0101D7E9B15>I<03C00C301818300C700C600EE006E006E007E007E007E007E007
732 6007700F300F18170C2707C700060006000E300C780C78187010203030C00F80101D7E9B
733 15>I<60F0F0600000000000000000000060F0F06004127C910C>I<60F0F0600000000000
734 000000000060F0F0701010101020204080041A7C910C>I<7FFFFFC0FFFFFFE000000000
735 00000000000000000000000000000000000000000000000000000000FFFFFFE07FFFFFC0
736 1B0C7E8F20>61 D<0FE03038401CE00EF00EF00EF00E000C001C0030006000C000800180
737 0100010001000100010001000000000000000000000003000780078003000F1D7E9C14>
738 63 D<000600000006000000060000000F0000000F0000000F0000001780000017800000
739 1780000023C0000023C0000023C0000041E0000041E0000041E0000080F0000080F00001
740 80F8000100780001FFF80003007C0002003C0002003C0006003E0004001E0004001E000C
741 001F001E001F00FF80FFF01C1D7F9C1F>65 D<FFFFC00F00F00F00380F003C0F001C0F00
742 1E0F001E0F001E0F001E0F001C0F003C0F00780F01F00FFFE00F00780F003C0F001E0F00
743 0E0F000F0F000F0F000F0F000F0F000F0F001E0F001E0F003C0F0078FFFFE0181C7E9B1D
744 >I<001F808000E0618001801980070007800E0003801C0003801C000180380001807800
745 00807800008070000080F0000000F0000000F0000000F0000000F0000000F0000000F000
746 0000F0000000700000807800008078000080380000801C0001001C0001000E0002000700
747 04000180080000E03000001FC000191E7E9C1E>I<FFFFC0000F00F0000F003C000F000E
748 000F0007000F0007000F0003800F0003C00F0001C00F0001C00F0001E00F0001E00F0001
749 E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001C00F0001C00F0003C00F0003
750 800F0007800F0007000F000E000F001C000F007000FFFFC0001B1C7E9B20>I<FFFFFC0F
751 003C0F000C0F00040F00040F00060F00020F00020F02020F02000F02000F02000F06000F
752 FE000F06000F02000F02000F02000F02010F00010F00020F00020F00020F00060F00060F
753 000C0F003CFFFFFC181C7E9B1C>I<FFFFF80F00780F00180F00080F00080F000C0F0004
754 0F00040F02040F02000F02000F02000F06000FFE000F06000F02000F02000F02000F0200
755 0F00000F00000F00000F00000F00000F00000F00000F8000FFF800161C7E9B1B>I<001F
756 808000E0618001801980070007800E0003801C0003801C00018038000180780000807800
757 008070000080F0000000F0000000F0000000F0000000F0000000F0000000F000FFF0F000
758 0F80700007807800078078000780380007801C0007801C0007800E00078007000B800180
759 118000E06080001F80001C1E7E9C21>I<FFF3FFC00F003C000F003C000F003C000F003C
760 000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000FFFFC
761 000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C
762 000F003C000F003C000F003C000F003C00FFF3FFC01A1C7E9B1F>I<FFF00F000F000F00
763 0F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
764 0F000F000F000F000F00FFF00C1C7F9B0F>I<1FFF00F800780078007800780078007800
765 780078007800780078007800780078007800780078007800787078F878F878F878F0F040
766 E021C01F00101D7F9B15>I<FFF03FE00F000F000F000C000F0008000F0010000F002000
767 0F0040000F0080000F0100000F0200000F0400000F0E00000F1F00000F2F00000F278000
768 0F4780000F83C0000F01E0000F01E0000F00F0000F00F8000F0078000F003C000F003C00
769 0F001E000F001F000F001F80FFF07FF01C1C7E9B20>I<FFF8000F80000F00000F00000F
770 00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F
771 00000F00000F00080F00080F00080F00180F00180F00100F00300F00700F01F0FFFFF015
772 1C7E9B1A>I<FF8000FF800F8000F8000F8000F8000BC00178000BC00178000BC0017800
773 09E002780009E002780008F004780008F004780008F00478000878087800087808780008
774 78087800083C107800083C107800083C107800081E207800081E207800081E207800080F
775 407800080F40780008078078000807807800080780780008030078001C03007800FF8307
776 FF80211C7E9B26>I<FF007FC00F800E000F8004000BC0040009E0040009E0040008F004
777 0008F8040008780400083C0400083C0400081E0400080F0400080F0400080784000807C4
778 000803C4000801E4000801E4000800F40008007C0008007C0008003C0008003C0008001C
779 0008000C001C000C00FF8004001A1C7E9B1F>I<003F800000E0E0000380380007001C00
780 0E000E001C0007003C00078038000380780003C0780003C0700001C0F00001E0F00001E0
781 F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C0780003C0780003C0
782 380003803C0007801C0007000E000E0007001C000380380000E0E000003F80001B1E7E9C
783 20>I<FFFF800F00E00F00780F003C0F001C0F001E0F001E0F001E0F001E0F001E0F001C
784 0F003C0F00780F00E00FFF800F00000F00000F00000F00000F00000F00000F00000F0000
785 0F00000F00000F00000F0000FFF000171C7E9B1C>I<003F800000E0E000038038000700
786 1C000E000E001C0007003C00078038000380780003C0780003C0700001C0F00001E0F000
787 01E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C0780003C07800
788 03C0380003803C0E07801C1107000E208E0007205C0003A0780000F0E020003FE0200000
789 602000003060000038E000003FC000003FC000001F8000000F001B257E9C20>I<FFFF00
790 000F01E0000F0078000F003C000F001C000F001E000F001E000F001E000F001E000F001C
791 000F003C000F0078000F01E0000FFF00000F03C0000F00E0000F00F0000F0078000F0078
792 000F0078000F0078000F0078000F0078000F0078100F0078100F0038100F003C20FFF01C
793 20000007C01C1D7E9B1F>I<07E0801C1980300580700380600180E00180E00080E00080
794 E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80000F800007C00003C0
795 0001C08001C08001C08001C0C00180C00180E00300D00200CC0C0083F800121E7E9C17>
796 I<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020800F00
797 20000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
798 00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F80
799 0003FFFC001B1C7F9B1E>I<FFF07FC00F000E000F0004000F0004000F0004000F000400
800 0F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F000400
801 0F0004000F0004000F0004000F0004000F0004000F0004000F0004000700080007800800
802 038010000180100000C020000070C000001F00001A1D7E9B1F>I<FFE00FF01F0003C00F
803 0001800F0001000F800300078002000780020003C0040003C0040003C0040001E0080001
804 E0080001F0080000F0100000F0100000F830000078200000782000003C4000003C400000
805 3C4000001E8000001E8000001F8000000F0000000F00000006000000060000000600001C
806 1D7F9B1F>I<FFE0FFE0FF1F001F003C1E001E00180F001F00100F001F00100F001F0010
807 07801F00200780278020078027802003C027804003C043C04003C043C04003E043C04001
808 E081E08001E081E08001E081E08000F100F10000F100F10000F100F100007900FA00007A
809 007A00007A007A00003E007C00003C003C00003C003C00003C003C000018001800001800
810 18000018001800281D7F9B2B>I<FFF007FC0F8001E00780008007C0018003C0010003E0
811 020001F0020000F0040000F8040000780800007C1800003C1000001E2000001F2000000F
812 4000000FC000000780000007800000078000000780000007800000078000000780000007
813 8000000780000007800000078000007FF8001E1C809B1F>89 D<FEFEC0C0C0C0C0C0C0C0
814 C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FEFE07297C9E0C
815 >91 D<08081010202040404040808080808080B0B0F8F8787830300D0C7A9C15>I<FEFE
816 060606060606060606060606060606060606060606060606060606060606060606060606
817 06FEFE0729809E0C>I<1FC000307000783800781C00301C00001C00001C0001FC000F1C
818 00381C00701C00601C00E01C40E01C40E01C40603C40304E801F870012127E9115>97
819 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C
820 001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C00
821 C01C01C01C01801E030019060010F800131D7F9C17>I<07E00C301878307870306000E0
822 00E000E000E000E000E00060007004300418080C3007C00E127E9112>I<003F00000700
823 00070000070000070000070000070000070000070000070000070003E7000C1700180F00
824 300700700700600700E00700E00700E00700E00700E00700E00700600700700700300700
825 180F000C370007C7E0131D7E9C17>I<03E00C301818300C700E6006E006FFFEE000E000
826 E000E00060007002300218040C1803E00F127F9112>I<00F8018C071E061E0E0C0E000E
827 000E000E000E000E00FFE00E000E000E000E000E000E000E000E000E000E000E000E000E
828 000E000E000E007FE00F1D809C0D>I<00038003C4C00C38C01C3880181800381C00381C
829 00381C00381C001818001C38000C300013C0001000003000001800001FF8001FFF001FFF
830 803003806001C0C000C0C000C0C000C06001803003001C0E0007F800121C7F9215>I<FC
831 00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C001C
832 87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
833 03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C00180000000000000000
834 00000000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C
835 001C001C00FF80091D7F9C0C>I<00C001E001E000C00000000000000000000000000000
836 0FE000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
837 00E000E000E060E0F0C0F1C061803E000B25839C0D>I<FC00001C00001C00001C00001C
838 00001C00001C00001C00001C00001C00001C00001C3FC01C0F001C0C001C08001C10001C
839 20001C40001CE0001DE0001E70001C78001C38001C3C001C1C001C0E001C0F001C0F80FF
840 9FE0131D7F9C16>I<FC001C001C001C001C001C001C001C001C001C001C001C001C001C
841 001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C
842 >I<FC7E07E0001C838838001D019018001E01E01C001C01C01C001C01C01C001C01C01C
843 001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00
844 1C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D0300
845 1E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380
846 1C03801C0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180E001
847 C0E001C0E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F0001212
848 7F9115>I<FC7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C
849 00E01C00E01C01C01C01C01C01801E03001D06001CF8001C00001C00001C00001C00001C
850 00001C00001C0000FF8000131A7F9117>I<03C1000C3300180B00300F00700700700700
851 E00700E00700E00700E00700E00700E00700600700700700300F00180F000C370007C700
852 000700000700000700000700000700000700000700003FE0131A7E9116>I<FCE01D301E
853 781E781C301C001C001C001C001C001C001C001C001C001C001C001C00FFC00D127F9110
854 >I<1F9030704030C010C010E010F8007F803FE00FF000F880388018C018C018E010D060
855 8FC00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C001C
856 001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>I<FC1F801C
857 03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
858 03801C07800C07800E1B8003E3F014127F9117>I<FF07E03C03801C01001C01000E0200
859 0E020007040007040007040003880003880003D80001D00001D00000E00000E00000E000
860 00400013127F9116>I<FF3FCFE03C0F03801C0701801C0701001C0B01000E0B82000E0B
861 82000E1182000711C4000711C4000720C40003A0E80003A0E80003C0680001C0700001C0
862 700001803000008020001B127F911E>I<7F8FF00F03800F030007020003840001C80001
863 D80000F00000700000780000F800009C00010E00020E000607000403801E07C0FF0FF815
864 12809116>I<FF07E03C03801C01001C01000E02000E0200070400070400070400038800
865 03880003D80001D00001D00000E00000E00000E000004000004000008000008000F08000
866 F10000F300006600003C0000131A7F9116>I<7FFC70386038407040F040E041C003C003
867 8007000F040E041C043C0C380870087038FFF80E127F9112>I<FFFFF01401808B15>I<60
868 60F0F0F0F060600C047C9C15>127 D E /Fo 38 121 df<000E00001E00007E0007FE00
869 FFFE00FFFE00F8FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
870 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
871 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE007FFFFE7FFFFE7FFFFE17277B
872 A622>49 D<00FF800003FFF0000FFFFC001F03FE003800FF007C007F80FE003FC0FF003F
873 C0FF003FE0FF001FE0FF001FE07E001FE03C003FE000003FE000003FC000003FC000007F
874 8000007F000000FE000000FC000001F8000003F0000003E00000078000000F0000001E00
875 00003C00E0007000E000E000E001C001C0038001C0070001C00FFFFFC01FFFFFC03FFFFF
876 C07FFFFFC0FFFFFF80FFFFFF80FFFFFF801B277DA622>I<007F800003FFF00007FFFC00
877 0F81FE001F00FF003F80FF003F807F803F807F803F807F801F807F800F007F800000FF00
878 0000FF000000FE000001FC000001F8000007F00000FFC00000FFF0000001FC0000007E00
879 00007F0000007F8000003FC000003FC000003FE000003FE03C003FE07E003FE0FF003FE0
880 FF003FE0FF003FC0FF007FC07E007F807C007F003F01FE001FFFFC0007FFF00000FF8000
881 1B277DA622>I<00000E0000001E0000003E0000007E000000FE000000FE000001FE0000
882 03FE0000077E00000E7E00000E7E00001C7E0000387E0000707E0000E07E0000E07E0001
883 C07E0003807E0007007E000E007E000E007E001C007E0038007E0070007E00E0007E00FF
884 FFFFF8FFFFFFF8FFFFFFF80000FE000000FE000000FE000000FE000000FE000000FE0000
885 00FE000000FE00007FFFF8007FFFF8007FFFF81D277EA622>I<0C0003000F803F000FFF
886 FE000FFFFC000FFFF8000FFFF0000FFFE0000FFFC0000FFE00000E0000000E0000000E00
887 00000E0000000E0000000E0000000E7FC0000FFFF8000F80FC000E003E000C003F000000
888 1F8000001FC000001FC000001FE000001FE018001FE07C001FE0FE001FE0FE001FE0FE00
889 1FE0FE001FC0FC001FC078003F8078003F803C007F001F01FE000FFFF80003FFF00000FF
890 80001B277DA622>I<0007F000003FFC0000FFFE0001FC0F0003F01F8007E03F800FC03F
891 801FC03F801F803F803F801F003F8000007F0000007F0000007F000000FF000000FF0FC0
892 00FF3FF800FF707C00FFC03E00FFC03F00FF801F80FF801FC0FF001FC0FF001FE0FF001F
893 E0FF001FE07F001FE07F001FE07F001FE07F001FE03F001FE03F001FC01F801FC01F803F
894 800FC03F0007E07E0003FFFC0000FFF000003FC0001B277DA622>I<0000038000000000
895 07C00000000007C0000000000FE0000000000FE0000000000FE0000000001FF000000000
896 1FF0000000003FF8000000003FF8000000003FF80000000073FC0000000073FC00000000
897 F3FE00000000E1FE00000000E1FE00000001C0FF00000001C0FF00000003C0FF80000003
898 807F80000007807FC0000007003FC0000007003FC000000E003FE000000E001FE000001E
899 001FF000001C000FF000001FFFFFF000003FFFFFF800003FFFFFF80000780007FC000070
900 0003FC0000700003FC0000E00001FE0000E00001FE0001E00001FF0001C00000FF0001C0
901 0000FF00FFFE001FFFFEFFFE001FFFFEFFFE001FFFFE2F297EA834>65
902 D<00003FF001800003FFFE0380000FFFFF8780003FF007DF8000FF8001FF8001FE00007F
903 8003FC00003F8007F000001F800FF000000F801FE0000007801FE0000007803FC0000007
904 803FC0000003807FC0000003807F80000003807F8000000000FF8000000000FF80000000
905 00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
906 00FF80000000007F80000000007F80000000007FC0000003803FC0000003803FC0000003
907 801FE0000003801FE0000007000FF00000070007F000000E0003FC00001E0001FE00003C
908 0000FF8000F800003FF007E000000FFFFFC0000003FFFF000000003FF8000029297CA832
909 >67 D<FFFFFFF80000FFFFFFFF8000FFFFFFFFE00003FC001FF80003FC0007FC0003FC00
910 01FE0003FC0000FF0003FC00007F8003FC00003FC003FC00001FC003FC00001FE003FC00
911 001FE003FC00000FF003FC00000FF003FC00000FF003FC00000FF003FC00000FF803FC00
912 000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00
913 000FF803FC00000FF803FC00000FF803FC00000FF003FC00000FF003FC00000FF003FC00
914 001FE003FC00001FE003FC00001FC003FC00003FC003FC00007F8003FC00007F0003FC00
915 01FE0003FC0003FC0003FC001FF800FFFFFFFFE000FFFFFFFF8000FFFFFFFC00002D297D
916 A835>I<FFFFFFFFE0FFFFFFFFE0FFFFFFFFE003FC001FE003FC0007F003FC0001F003FC
917 0001F003FC0000F003FC00007003FC00007003FC00007003FC01C07803FC01C03803FC01
918 C03803FC01C03803FC03C00003FC03C00003FC0FC00003FFFFC00003FFFFC00003FFFFC0
919 0003FC0FC00003FC03C00003FC03C00003FC01C00E03FC01C00E03FC01C00E03FC01C01C
920 03FC00001C03FC00001C03FC00001C03FC00003C03FC00003803FC00007803FC0000F803
921 FC0001F803FC0003F803FC001FF8FFFFFFFFF0FFFFFFFFF0FFFFFFFFF027297DA82D>I<
922 FFFFFFFFC0FFFFFFFFC0FFFFFFFFC003FC003FC003FC000FE003FC0003E003FC0001E003
923 FC0001E003FC0000E003FC0000E003FC0000E003FC0000F003FC03807003FC03807003FC
924 03807003FC03800003FC07800003FC07800003FC1F800003FFFF800003FFFF800003FFFF
925 800003FC1F800003FC07800003FC07800003FC03800003FC03800003FC03800003FC0380
926 0003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000000
927 03FC00000003FC000000FFFFFC0000FFFFFC0000FFFFFC000024297DA82B>I<FFFFF01F
928 FFFEFFFFF01FFFFEFFFFF01FFFFE03FC00007F8003FC00007F8003FC00007F8003FC0000
929 7F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC0000
930 7F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FFFFFF
931 FF8003FFFFFFFF8003FFFFFFFF8003FC00007F8003FC00007F8003FC00007F8003FC0000
932 7F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC0000
933 7F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC0000
934 7F8003FC00007F80FFFFF01FFFFEFFFFF01FFFFEFFFFF01FFFFE2F297DA836>72
935 D<FFFFFCFFFFFCFFFFFC01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE
936 0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE
937 0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE
938 0001FE0001FE00FFFFFCFFFFFCFFFFFC16297EA81A>I<FFFFFFF800FFFFFFFF00FFFFFF
939 FFC003FC003FE003FC000FF003FC0007F803FC0007FC03FC0003FC03FC0003FE03FC0003
940 FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FC03FC0007FC
941 03FC0007F803FC000FF003FC003FE003FFFFFF8003FFFFFE0003FC00000003FC00000003
942 FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC
943 00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000000FFFFF0
944 0000FFFFF00000FFFFF0000027297DA82F>80 D<FFFFFFE00000FFFFFFFE0000FFFFFFFF
945 800003FC007FE00003FC000FF00003FC0007F80003FC0007FC0003FC0003FC0003FC0003
946 FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003
947 FC0003FC0007F80003FC0007F80003FC001FE00003FC007FC00003FFFFFE000003FFFFF0
948 000003FC00FC000003FC007F000003FC003F800003FC003F800003FC001FC00003FC001F
949 E00003FC001FE00003FC001FE00003FC001FE00003FC001FE00003FC001FF00003FC001F
950 F00003FC001FF00003FC001FF00703FC001FF80703FC000FF80703FC0007F80EFFFFF003
951 FE1CFFFFF001FFF8FFFFF0003FF030297DA834>82 D<7FFFFFFFFFC07FFFFFFFFFC07FFF
952 FFFFFFC07F803FC03FC07E003FC007C078003FC003C078003FC003C070003FC001C0F000
953 3FC001E0F0003FC001E0E0003FC000E0E0003FC000E0E0003FC000E0E0003FC000E0E000
954 3FC000E000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000
955 3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000
956 3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000
957 3FC0000000003FC0000000003FC0000000003FC0000000003FC00000007FFFFFE000007F
958 FFFFE000007FFFFFE0002B287EA730>84 D<FFFFE07FFFF007FFF0FFFFE07FFFF007FFF0
959 FFFFE07FFFF007FFF003FC0001FE00001C0003FC0001FE00001C0001FE0001FF00003800
960 01FE0000FF0000380001FF0000FF0000780000FF0000FF8000700000FF0000FF80007000
961 00FF8000FF8000F000007F8001FFC000E000007F8001FFC000E000003FC003FFE001C000
962 003FC0039FE001C000003FE0039FE003C000001FE0070FF0038000001FE0070FF0038000
963 001FF00F0FF0078000000FF00E07F8070000000FF00E07F80700000007F81E07FC0E0000
964 0007F81C03FC0E00000007FC1C03FC1E00000003FC3801FE1C00000003FC3801FE1C0000
965 0001FE7801FF3800000001FE7000FF3800000001FE7000FF3800000000FFF000FFF00000
966 0000FFE0007FF000000000FFE0007FF0000000007FC0003FE0000000007FC0003FE00000
967 00003FC0003FC0000000003F80001FC0000000003F80001FC0000000001F80001F800000
968 00001F00000F80000000001F00000F80000000000E00000700000044297FA847>87
969 D<01FF800007FFF0000F81F8001FC07E001FC07E001FC03F000F803F8007003F8000003F
970 8000003F8000003F80000FFF8000FFFF8007FC3F800FE03F803F803F803F003F807F003F
971 80FE003F80FE003F80FE003F80FE003F807E007F807F00DF803F839FFC0FFF0FFC01FC03
972 FC1E1B7E9A21>97 D<001FF80000FFFE0003F01F0007E03F800FC03F801F803F803F801F
973 007F800E007F0000007F000000FF000000FF000000FF000000FF000000FF000000FF0000
974 00FF0000007F0000007F0000007F8000003F8001C01F8001C00FC0038007E0070003F01E
975 0000FFFC00001FE0001A1B7E9A1F>99 D<00003FF80000003FF80000003FF800000003F8
976 00000003F800000003F800000003F800000003F800000003F800000003F800000003F800
977 000003F800000003F800000003F800000003F800001FE3F80000FFFBF80003F03FF80007
978 E00FF8000FC007F8001F8003F8003F8003F8007F0003F8007F0003F8007F0003F800FF00
979 03F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F8007F0003
980 F8007F0003F8007F0003F8003F8003F8001F8003F8000F8007F80007C00FF80003F03BFF
981 8000FFF3FF80003FC3FF80212A7EA926>I<003FE00001FFF80003F07E0007C01F000F80
982 1F801F800F803F800FC07F000FC07F0007C07F0007E0FF0007E0FF0007E0FFFFFFE0FFFF
983 FFE0FF000000FF000000FF0000007F0000007F0000007F0000003F8000E01F8000E00FC0
984 01C007E0038003F81F0000FFFE00001FF0001B1B7E9A20>I<0007F0003FFC00FE3E01F8
985 7F03F87F03F07F07F07F07F03E07F00007F00007F00007F00007F00007F00007F000FFFF
986 C0FFFFC0FFFFC007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0
987 0007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0007FFF
988 807FFF807FFF80182A7EA915>I<00FF81F003FFE7F80FC1FE7C1F80FC7C1F007C383F00
989 7E107F007F007F007F007F007F007F007F007F007F007F007F003F007E001F007C001F80
990 FC000FC1F8001FFFE00018FF800038000000380000003C0000003E0000003FFFF8001FFF
991 FF001FFFFF800FFFFFC007FFFFE01FFFFFF03E0007F07C0001F8F80000F8F80000F8F800
992 00F8F80000F87C0001F03C0001E01F0007C00FC01F8003FFFE00007FF0001E287E9A22>
993 I<FFE0000000FFE0000000FFE00000000FE00000000FE00000000FE00000000FE0000000
994 0FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000F
995 E00000000FE07F00000FE1FFC0000FE787E0000FEE03F0000FF803F0000FF803F8000FF0
996 03F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003
997 F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8
998 000FE003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80212A7DA926
999 >I<07000F801FC03FE03FE03FE01FC00F8007000000000000000000000000000000FFE0
1000 FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
1001 0FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7DAA14>I<FFE00000FFE00000FFE000000F
1002 E000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000F
1003 E000000FE000000FE000000FE01FFC0FE01FFC0FE01FFC0FE007800FE00F000FE01E000F
1004 E03C000FE078000FE0E0000FE3C0000FE7C0000FEFE0000FFFE0000FFFF0000FF3F8000F
1005 E3F8000FC1FC000FC0FE000FC07F000FC07F000FC03F800FC01FC00FC00FC00FC00FE0FF
1006 FC3FFEFFFC3FFEFFFC3FFE1F2A7EA924>107 D<FFE0FFE0FFE00FE00FE00FE00FE00FE0
1007 0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
1008 0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2A7DA9
1009 14>I<FFC07F800FF000FFC1FFE03FFC00FFC383F0707E000FC603F8C07F000FCC01F980
1010 3F000FD801FF003F800FF001FE003F800FF001FE003F800FE001FC003F800FE001FC003F
1011 800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F80
1012 0FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800F
1013 E001FC003F800FE001FC003F800FE001FC003F800FE001FC003F80FFFE1FFFC3FFF8FFFE
1014 1FFFC3FFF8FFFE1FFFC3FFF8351B7D9A3A>I<FFC07F0000FFC1FFC000FFC787E0000FCE
1015 03F0000FD803F0000FD803F8000FF003F8000FF003F8000FE003F8000FE003F8000FE003
1016 F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8
1017 000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800FFFE3FFF80
1018 FFFE3FFF80FFFE3FFF80211B7D9A26>I<003FE00001FFFC0003F07E000FC01F801F800F
1019 C03F800FE03F0007E07F0007F07F0007F07F0007F0FF0007F8FF0007F8FF0007F8FF0007
1020 F8FF0007F8FF0007F8FF0007F8FF0007F87F0007F07F0007F03F800FE03F800FE01F800F
1021 C00FC01F8007F07F0001FFFC00003FE0001D1B7E9A22>I<FFE1FE0000FFE7FF8000FFFE
1022 07E0000FF803F0000FF001F8000FE000FC000FE000FE000FE000FF000FE0007F000FE000
1023 7F000FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F
1024 800FE0007F000FE000FF000FE000FF000FE000FE000FE001FC000FF001F8000FF803F000
1025 0FFE0FE0000FE7FF80000FE1FC00000FE00000000FE00000000FE00000000FE00000000F
1026 E00000000FE00000000FE00000000FE00000000FE0000000FFFE000000FFFE000000FFFE
1027 00000021277E9A26>I<FFC1F0FFC7FCFFCE3E0FD87F0FD87F0FF07F0FF03E0FF01C0FE0
1028 000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0
1029 000FE0000FE0000FE000FFFF00FFFF00FFFF00181B7E9A1C>114
1030 D<03FE300FFFF01E03F03800F0700070F00070F00070F80070FC0000FFE0007FFE007FFF
1031 803FFFE01FFFF007FFF800FFF80003FC0000FC60007CE0003CF0003CF00038F80038FC00
1032 70FF01E0F7FFC0C1FF00161B7E9A1B>I<00700000700000700000700000F00000F00000
1033 F00001F00003F00003F00007F0001FFFF0FFFFF0FFFFF007F00007F00007F00007F00007
1034 F00007F00007F00007F00007F00007F00007F00007F00007F00007F03807F03807F03807
1035 F03807F03807F03803F03803F87001F86000FFC0001F8015267FA51B>I<FFE03FF800FF
1036 E03FF800FFE03FF8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0
1037 03F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003
1038 F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE007F80007E007F8
1039 0007E00FF80003F03BFF8001FFF3FF80003FC3FF80211B7D9A26>I<FFFE03FF80FFFE03
1040 FF80FFFE03FF8007F000700007F000700007F800F00003F800E00003FC01E00001FC01C0
1041 0001FC01C00000FE03800000FE038000007F070000007F070000007F8F0000003F8E0000
1042 003FDE0000001FDC0000001FDC0000000FF80000000FF80000000FF800000007F0000000
1043 07F000000003E000000003E000000001C00000211B7F9A24>I<FFFE7FFC0FFEFFFE7FFC
1044 0FFEFFFE7FFC0FFE0FE007E000E007F003F001C007F003F001C007F807F803C003F807F8
1045 038003F807F8038001FC0EFC070001FC0EFC070001FE1EFC0F0000FE1C7E0E0000FE1C7E
1046 0E0000FF383F1E00007F383F1C00007F783F3C00003FF01FB800003FF01FB800003FF01F
1047 F800001FE00FF000001FE00FF000000FC007E000000FC007E000000FC007E00000078003
1048 C00000078003C0002F1B7F9A32>I<FFFC0FFF00FFFC0FFF00FFFC0FFF0007F003C00003
1049 F807800001FC07800000FE0F000000FF1E0000007F3C0000003FF80000001FF00000000F
1050 F00000000FF000000007F000000007F80000000FFC0000001FFE0000001EFE0000003C7F
1051 000000783F800000F01FC00001E01FE00001C00FE00003C007F000FFF01FFF80FFF01FFF
1052 80FFF01FFF80211B7F9A24>I E /Fp 1 49 df<081C1C3838383070706060C0C0060D7E
1053 8D09>48 D E /Fq 3 101 df<03E0000638101C1820381C20300E20700E40600E40E00E
1054 80E00E80E00F00E00E00C00E00E00E00603E0020C6401F038014107E8F19>11
1055 D<0007800018600020600040700080700080700100700100700200E00200C0023F800223
1056 00043F800401C00400C00401C00801C00801C00801C0080180180380180300180700140E
1057 0022180021F00020000020000040000040000040000040000080000014217F9916>I<00
1058 3F000700070007000E000E000E000E001C001C039C0C5C1838383830387038E070E070E0
1059 70E070C0E2C0E2C0E2E1E262643C38101A7E9914>100 D E /Fr
1060 7 117 df<00030000000780000007800000078000000FC000000FC000001BE000001BE0
1061 00001BE0000031F0000031F0000060F8000060F80000E0FC0000C07C0000C07C0001803E
1062 0001FFFE0003FFFF0003001F0003001F0006000F8006000F800E000FC0FFC07FFCFFC07F
1063 FC1E1A7F9921>65 D<0FF0001C3C003E1E003E0E003E0F001C0F00000F0000FF000FCF00
1064 3E0F007C0F00F80F00F80F00F80F00F817007C27E01FC3E013117F9015>97
1065 D<FE0000FE00001E00001E00001E00001E00001E00001E00001E00001E7F001FC3C01F00
1066 E01E00F01E00781E00781E007C1E007C1E007C1E007C1E007C1E00781E00781E00F01F00
1067 E01D83C0187F00161A7F9919>I<03FC000F0E001C1F003C1F00781F00780E00F80000F8
1068 0000F80000F80000F800007800007800003C01801C03000F060003FC0011117F9014>I<
1069 FC78FC9C1D3E1D3E1E3E1E1C1E001E001E001E001E001E001E001E001E00FFC0FFC00F11
1070 7F9012>114 D<1FB020704030C030C030F000FF807FE03FF807F8003CC00CC00CE00CE0
1071 08F830CFE00E117F9011>I<06000600060006000E000E001E003FF0FFF01E001E001E00
1072 1E001E001E001E001E001E181E181E181E181E180F3003E00D187F9711>I
1073 E /Fs 46 122 df<00FC7C0183C607078E0607040E07000E07000E07000E07000E07000E
1074 0700FFFFF00E07000E07000E07000E07000E07000E07000E07000E07000E07000E07000E
1075 07000E07000E07000E07007F0FF0171A809916>11 D<00FC000182000703000607000E02
1076 000E00000E00000E00000E00000E0000FFFF000E07000E07000E07000E07000E07000E07
1077 000E07000E07000E07000E07000E07000E07000E07000E07007F0FE0131A809915>I<00
1078 7E1F8001C170400703C060060380E00E0380400E0380000E0380000E0380000E0380000E
1079 038000FFFFFFE00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E
1080 0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E07F8FE3FC1E1A809920
1081 >14 D<00800100020004000C00080018003000300030006000600060006000E000E000E0
1082 00E000E000E000E000E000E000E0006000600060006000300030003000180008000C0004
1083 0002000100008009267D9B0F>40 D<8000400020001000180008000C0006000600060003
1084 000300030003000380038003800380038003800380038003800380030003000300030006
1085 00060006000C0008001800100020004000800009267E9B0F>I<60F0F070101010202040
1086 80040B7D830B>44 D<FFC0FFC00A0280880D>I<60F0F06004047D830B>I<03000700FF00
1087 070007000700070007000700070007000700070007000700070007000700070007000700
1088 07000700FFF00C187D9713>49 D<0F80106020304038803CC01CE01C401C003C00380038
1089 0070006000C001800100020004040804100430083FF87FF8FFF80E187E9713>I<01E006
1090 100C1818383038300070006000E000E7C0E860F030F018E018E01CE01CE01C601C601C70
1091 1830183030186007C00E187E9713>54 D<000C0000000C0000000C0000001E0000001E00
1092 00003F000000270000002700000043800000438000004380000081C0000081C0000081C0
1093 000100E0000100E00001FFE000020070000200700006007800040038000400380008001C
1094 0008001C001C001E00FF00FFC01A1A7F991D>65 D<003F0201C0C603002E0E001E1C000E
1095 1C0006380006780002700002700002F00000F00000F00000F00000F00000F00000700002
1096 7000027800023800041C00041C00080E000803003001C0C0003F00171A7E991C>67
1097 D<FFFF000E01C00E00E00E00300E00380E001C0E001C0E000E0E000E0E000F0E000F0E00
1098 0F0E000F0E000F0E000F0E000F0E000F0E000E0E000E0E001E0E001C0E00380E00380E00
1099 700E01C0FFFF00181A7E991D>I<FFFFF00E00700E00300E00100E00180E00080E00080E
1100 00080E04000E04000E04000E0C000FFC000E0C000E04000E04000E04000E00040E00040E
1101 00080E00080E00080E00180E00380E0070FFFFF0161A7E991A>I<003F020001C0C60003
1102 002E000E001E001C000E001C00060038000600780002007000020070000200F0000000F0
1103 000000F0000000F0000000F0000000F001FFC070000E0070000E0078000E0038000E001C
1104 000E001C000E000E000E000300160001C06600003F82001A1A7E991E>71
1105 D<FFE7FF0E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00
1106 700FFFF00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00
1107 700E0070FFE7FF181A7E991D>I<FFE00E000E000E000E000E000E000E000E000E000E00
1108 0E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B1A7F990E>
1109 I<FFFF000E03C00E00E00E00700E00700E00780E00780E00780E00780E00700E00700E00
1110 E00E03C00FFF000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00
1111 000E0000FFE000151A7E991A>80 D<0FC21836200E6006C006C002C002C002E00070007E
1112 003FE01FF807FC003E000E00070003800380038003C002C006E004D81887E0101A7E9915
1113 >83 D<7FFFFF00701C0700401C0100401C0100C01C0180801C0080801C0080801C008000
1114 1C0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C000000
1115 1C0000001C0000001C0000001C0000001C0000001C0000001C0000001C000003FFE00019
1116 1A7F991C>I<FFE1FF0E00380E00100E00100E00100E00100E00100E00100E00100E0010
1117 0E00100E00100E00100E00100E00100E00100E00100E00100E00100E0010060020070020
1118 03004001804000C180003E00181A7E991D>I<3F8070C070E020700070007007F01C7030
1119 707070E070E071E071E0F171FB1E3C10107E8F13>97 D<FC00001C00001C00001C00001C
1120 00001C00001C00001C00001C00001C00001CF8001F0E001E07001C03801C01801C01C01C
1121 01C01C01C01C01C01C01C01C01C01C03801C03001E07001B0C0010F000121A7F9915>I<
1122 07F80C1C381C30087000E000E000E000E000E000E0007000300438080C1807E00E107F8F
1123 11>I<007E00000E00000E00000E00000E00000E00000E00000E00000E00000E0003CE00
1124 0C3E00380E00300E00700E00E00E00E00E00E00E00E00E00E00E00E00E00600E00700E00
1125 381E001C2E0007CFC0121A7F9915>I<07C01C3030187018600CE00CFFFCE000E000E000
1126 E0006000300438080C1807E00E107F8F11>I<01F0031807380E100E000E000E000E000E
1127 000E00FFC00E000E000E000E000E000E000E000E000E000E000E000E000E000E007FE00D
1128 1A80990C>I<0FCE187330307038703870387038303018602FC02000600070003FF03FFC
1129 1FFE600FC003C003C003C0036006381C07E010187F8F13>I<FC00001C00001C00001C00
1130 001C00001C00001C00001C00001C00001C00001CF8001D0C001E0E001E0E001C0E001C0E
1131 001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E00FF9FC0121A7F9915
1132 >I<18003C003C001800000000000000000000000000FC001C001C001C001C001C001C00
1133 1C001C001C001C001C001C001C001C00FF80091A80990A>I<FC00001C00001C00001C00
1134 001C00001C00001C00001C00001C00001C00001C3F801C1E001C18001C10001C20001C40
1135 001DC0001FE0001CE0001C70001C78001C38001C1C001C1E001C1F00FF3FC0121A7F9914
1136 >107 D<FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00
1137 1C001C001C001C001C001C001C001C001C00FF80091A80990A>I<FC7C1F001D8E63801E
1138 0781C01E0781C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C
1139 0701C01C0701C01C0701C01C0701C0FF9FE7F81D107F8F20>I<FCF8001D0C001E0E001E
1140 0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E00FF
1141 9FC012107F8F15>I<07E01C38300C700E6006E007E007E007E007E007E0076006700E38
1142 1C1C3807E010107F8F13>I<FCF8001F0E001E07001C03801C03801C01C01C01C01C01C0
1143 1C01C01C01C01C01C01C03801C03001E07001F0C001CF0001C00001C00001C00001C0000
1144 1C00001C0000FF800012177F8F15>I<03C2000C2600381E00300E00700E00E00E00E00E
1145 00E00E00E00E00E00E00E00E00700E00700E00381E001C2E0007CE00000E00000E00000E
1146 00000E00000E00000E00007FC012177F8F14>I<FCE01D701E701E201C001C001C001C00
1147 1C001C001C001C001C001C001C00FFC00C107F8F0F>I<1F2060E04020C020C020F0007F
1148 003FC01FE000F080708030C030C020F0408F800C107F8F0F>I<0400040004000C000C00
1149 1C003C00FFC01C001C001C001C001C001C001C001C001C201C201C201C201C200E400380
1150 0B177F960F>I<FC7E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E
1151 001C0E001C0E001C0E001C1E000C2E0007CFC012107F8F15>I<FF1F803C06001C04001C
1152 04001E0C000E08000E080007100007100007900003A00003A00001C00001C00001C00000
1153 800011107F8F14>I<FF3F9F803C0E0700380E06001C1604001C1704001E170C000E2308
1154 000E2388000F239800074190000741D00003C1E0000380E0000380E0000180C000010040
1155 0019107F8F1C>I<FF3F803C1C001C18000E100007200007600003C00001C00001E00003
1156 E000027000043800083800181C00381E00FC3FC012107F8F14>I<FF1F803C06001C0400
1157 1C04001E0C000E08000E080007100007100007900003A00003A00001C00001C00001C000
1158 008000008000010000010000E10000E20000E4000078000011177F8F14>I
1159 E /Ft 16 118 df<70F8F8F0E005057A840F>46 D<0000FE000007018000180060002000
1160 100040001000800008010000040201F00404070804080C040210180202103003C2206001
1161 C220E0038240C0038241C0038241C003828380070483800704838007048380070483800E
1162 0883800E0881801E0881802E1080C04E2080618E60403E07804000000020000000200000
1163 00100000E00C00078003007C0000FF80001F2379A225>64 D<00F8C00185C00705C00E03
1164 800E03801C03803C0380380700780700780700780700F00E00F00E00F00E00F00E10F01C
1165 20701C20703C20305C40308C400F078014157B9419>97 D<03C03F800380038003800700
1166 0700070007000E000E000E000E001C001CF81D0C1E0E3C0638073807380F700F700F700F
1167 700FE01EE01EE01EE03CE038E038607060E031C01F0010237BA216>I<007E0001C10003
1168 01800703800E07801C07803C0000380000780000780000780000F00000F00000F00000F0
1169 0000F00100700100700200300C001830000FC00011157B9416>I<00F803840E021C023C
1170 0238027804F018FFE0F000F000E000E000E000E000E002E0026004701830600F800F157A
1171 9416>101 D<00F0000FE00000E00000E00000E00001C00001C00001C00001C000038000
1172 038000038000038000070000071F0007218007C0C00F00E00F00E00E00E00E00E01C01C0
1173 1C01C01C01C01C01C0380380380380380380380704700708700E08700E10700610E00620
1174 6003C016237DA219>104 D<0000E00001E00001E00000C0000000000000000000000000
1175 000000000000000000000000001E00002300004380008380008380010380010380000700
1176 000700000700000700000E00000E00000E00000E00001C00001C00001C00001C00003800
1177 00380000380000380000700000700000700070E000F0C000F180006300003C0000132B82
1178 A00F>106 D<00F0000FE00000E00000E00000E00001C00001C00001C00001C000038000
1179 0380000380000380000700000701E0070210070C700E10F00E10F00E20600E40001D8000
1180 1E00001FC0001C7000383800383800381C00381C20703840703840703840701880E01880
1181 600F0014237DA216>I<01E01FC001C001C001C003800380038003800700070007000700
1182 0E000E000E000E001C001C001C001C0038003800380038007000700070007100E200E200
1183 E200E200640038000B237CA20C>I<1C0F002631C04740C08780E08780E08700E08700E0
1184 0E01C00E01C00E01C00E01C01C03801C03801C03801C0704380708380E08380E10380610
1185 7006203003C016157B941B>110 D<007E0001C3000381800701C00E01C01C01E03C01E0
1186 3801E07801E07801E07801E0F003C0F003C0F00380F00780700700700E00700C00301800
1187 18700007C00013157B9419>I<1C1F002620804741C08783C08703C08701808700000E00
1188 000E00000E00000E00001C00001C00001C00001C00003800003800003800003800007000
1189 0030000012157B9415>114 D<00FC000183000200800401800C03800C03000C00000F00
1190 000FF00007FC0003FE00003E00000F00000700700700F00600F00600E004004008002030
1191 001FC00011157D9414>I<00C001C001C001C001C003800380038003800700FFF8070007
1192 000E000E000E000E001C001C001C001C003800380038003810702070207040708031001E
1193 000D1F7C9E10>I<1E00602300E04380E04381C08381C08701C08701C00703800E03800E
1194 03800E03801C07001C07001C07001C07081C0E10180E101C0E101C1E200C262007C3C015
1195 157B941A>I E /Fu 24 118 df<001F83E000706E3000C07C780180F8780380F0780700
1196 70000700700007007000070070000700700007007000070070000700700007007000FFFF
1197 FFC007007000070070000700700007007000070070000700700007007000070070000700
1198 700007007000070070000700700007007000070070000700700007007000070070000700
1199 7000070078007FE3FF801D2380A21C>11 D<70F8FCFC7404040404080810102040060F7C
1200 840E>44 D<70F8F8F87005057C840E>46 D<008003800F80F38003800380038003800380
1201 038003800380038003800380038003800380038003800380038003800380038003800380
1202 038003800380038007C0FFFE0F217CA018>49 D<03F8000C1E001007002007804007C078
1203 07C07803C07807C03807C0000780000780000700000F00000E0000380003F000001C0000
1204 0F000007800007800003C00003C00003E02003E07003E0F803E0F803E0F003C04003C040
1205 0780200780100F000C1C0003F00013227EA018>51 D<007E0001C1000300800601C00E03
1206 C01C03C0180180380000380000780000700000700000F0F800F30C00F40600F40300F803
1207 80F801C0F001C0F001E0F001E0F001E0F001E0F001E07001E07001E07001E03801C03801
1208 C01803801C03000C0600070C0001F00013227EA018>54 D<01F000060C000C0600180700
1209 380380700380700380F001C0F001C0F001C0F001E0F001E0F001E0F001E0F001E07001E0
1210 7003E03803E01805E00C05E00619E003E1E00001C00001C00001C0000380000380300300
1211 780700780600700C002018001030000FC00013227EA018>57 D<FFFFF8000F800E000780
1212 0780078003C0078003E0078001E0078001F0078001F0078001F0078001F0078001F00780
1213 01E0078003E0078007C007800F8007803E0007FFFE0007800780078003C0078001E00780
1214 01F0078000F0078000F8078000F8078000F8078000F8078000F8078000F8078001F00780
1215 01F0078003E0078007C00F800F00FFFFFC001D227EA123>66 D<0007F008003C0C1800E0
1216 021801C001B8038000F8070000780F0000381E0000381E0000183C0000183C0000187C00
1217 00087800000878000008F8000000F8000000F8000000F8000000F8000000F8000000F800
1218 0000F8001FFF780000F8780000787C0000783C0000783C0000781E0000781E0000780F00
1219 007807000078038000B801C000B800E00318003C0C080007F00020247DA226>71
1220 D<03FFF0001F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F
1221 00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F
1222 00000F00000F00700F00F80F00F80F00F80E00F01E00401C0020380018700007C0001423
1223 7EA119>74 D<FFC00003FF0FC00003F007C00003E005E00005E005E00005E004F00009E0
1224 04F00009E004F00009E004780011E004780011E004780011E0043C0021E0043C0021E004
1225 3C0021E0041E0041E0041E0041E0040F0081E0040F0081E0040F0081E004078101E00407
1226 8101E004078101E00403C201E00403C201E00401E401E00401E401E00401E401E00400F8
1227 01E00400F801E00400F801E004007001E00E007001E01F007003F0FFE0203FFF28227EA1
1228 2D>77 D<03F0200C0C601802603001E07000E0600060E00060E00060E00020E00020E000
1229 20F00000F000007800007F00003FF0001FFE000FFF0003FF80003FC00007E00001E00000
1230 F00000F0000070800070800070800070800070C00060C00060E000C0F000C0C80180C607
1231 0081FC0014247DA21B>83 D<0FE0001838003C0C003C0E00180700000700000700000700
1232 00FF0007C7001E07003C0700780700700700F00708F00708F00708F00F087817083C2390
1233 0FC1E015157E9418>97 D<01FE000703000C07801C0780380300780000700000F00000F0
1234 0000F00000F00000F00000F00000F000007000007800403800401C00800C010007060001
1235 F80012157E9416>99 D<01FC000707000C03801C01C03801C07801E07000E0F000E0FFFF
1236 E0F00000F00000F00000F00000F000007000007800203800201C00400E008007030000FC
1237 0013157F9416>101 D<00007001F198071E180E0E181C07001C07003C07803C07803C07
1238 803C07801C07001C07000E0E000F1C0019F0001000001000001800001800001FFE000FFF
1239 C00FFFE03800F0600030400018C00018C00018C000186000306000303800E00E038003FE
1240 0015217F9518>103 D<0E0000FE00001E00000E00000E00000E00000E00000E00000E00
1241 000E00000E00000E00000E00000E00000E1F800E60C00E80E00F00700F00700E00700E00
1242 700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00
1243 700E0070FFE7FF18237FA21B>I<1C001E003E001E001C00000000000000000000000000
1244 000000000E00FE001E000E000E000E000E000E000E000E000E000E000E000E000E000E00
1245 0E000E000E000E00FFC00A227FA10E>I<0E0000FE00001E00000E00000E00000E00000E
1246 00000E00000E00000E00000E00000E00000E00000E00000E03FC0E01F00E01C00E01800E
1247 02000E04000E08000E10000E38000EF8000F1C000E1E000E0E000E07000E07800E03C00E
1248 01C00E01E00E00F00E00F8FFE3FE17237FA21A>107 D<0E1F80FE60C01E80E00F00700F
1249 00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E
1250 00700E00700E00700E0070FFE7FF18157F941B>110 D<01FC000707000C01801800C038
1251 00E0700070700070F00078F00078F00078F00078F00078F00078F000787000707800F038
1252 00E01C01C00E038007070001FC0015157F9418>I<0E3CFE461E8F0F0F0F060F000E000E
1253 000E000E000E000E000E000E000E000E000E000E000E000F00FFF010157F9413>114
1254 D<02000200020002000600060006000E001E003E00FFF80E000E000E000E000E000E000E
1255 000E000E000E000E000E040E040E040E040E040E040708030801F00E1F7F9E13>116
1256 D<0E0070FE07F01E00F00E00700E00700E00700E00700E00700E00700E00700E00700E00
1257 700E00700E00700E00700E00700E00F00E00F006017003827800FC7F18157F941B>I
1258 E /Fv 15 115 df<FFFF80FFFF80FFFF8011037F9016>45 D<0000030000000000030000
1259 0000000300000000000780000000000780000000000FC0000000000FC0000000000FC000
1260 00000017E00000000013E00000000013E00000000023F00000000021F00000000021F000
1261 00000040F80000000040F80000000040F800000000807C00000000807C00000001807E00
1262 000001003E00000001003E00000002003F00000002001F00000002001F00000004000F80
1263 000004000F80000004000F800000080007C00000080007C00000180007E000001FFFFFE0
1264 00001FFFFFE00000200003F00000200001F00000200001F00000400001F80000400000F8
1265 0000400000F800008000007C00008000007C00008000007C00010000003E00010000003E
1266 00030000003F00030000001F00070000001F001F8000003F80FFE00003FFFCFFE00003FF
1267 FC2E327EB132>65 D<FFFFFFE00000FFFFFFFC000007E0007F000003E0000F800003E000
1268 03C00003E00001E00003E00000F00003E00000780003E000003C0003E000001E0003E000
1269 001E0003E000000F0003E000000F0003E000000F8003E00000078003E0000007C003E000
1270 0007C003E0000003C003E0000003C003E0000003E003E0000003E003E0000003E003E000
1271 0003E003E0000003E003E0000003E003E0000003E003E0000003E003E0000003E003E000
1272 0003E003E0000003E003E0000003C003E0000003C003E0000007C003E0000007C003E000
1273 00078003E00000078003E000000F8003E000000F0003E000001F0003E000001E0003E000
1274 003C0003E00000780003E00000F80003E00001F00003E00003E00003E0000F800007E000
1275 3F0000FFFFFFFC0000FFFFFFE000002B317CB033>68 D<00001FE000800000FFFC018000
1276 07F00F0180000F80018380003E0000C38000780000278000F00000178001E000000F8003
1277 C000000F800780000007800780000003800F00000003801F00000001801E00000001803E
1278 00000001803C00000001803C00000000807C00000000807C0000000080780000000000F8
1279 0000000000F80000000000F80000000000F80000000000F80000000000F80000000000F8
1280 0000000000F80000000000F80000000000F80000000000F800000FFFFC7800000FFFFC7C
1281 0000001FC07C0000000F803C0000000F803C0000000F803E0000000F801E0000000F801F
1282 0000000F800F0000000F80078000000F8007C000000F8003C000000F8001E000000F8000
1283 F000001780007C00001780003E00006380000F8000C3800007F00781800000FFFE008000
1284 001FF000002E337CB134>71 D<FFFF807FFFC0FFFF807FFFC007F00003F80003E00001F0
1285 0003E00001F00003E00001F00003E00001F00003E00001F00003E00001F00003E00001F0
1286 0003E00001F00003E00001F00003E00001F00003E00001F00003E00001F00003E00001F0
1287 0003E00001F00003E00001F00003E00001F00003E00001F00003E00001F00003E00001F0
1288 0003E00001F00003FFFFFFF00003FFFFFFF00003E00001F00003E00001F00003E00001F0
1289 0003E00001F00003E00001F00003E00001F00003E00001F00003E00001F00003E00001F0
1290 0003E00001F00003E00001F00003E00001F00003E00001F00003E00001F00003E00001F0
1291 0003E00001F00003E00001F00003E00001F00003E00001F00003E00001F00003E00001F0
1292 0007F00003F800FFFF807FFFC0FFFF807FFFC02A317CB032>I<FFFF80FFFF8007F00003
1293 E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003
1294 E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003
1295 E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003
1296 E00003E00003E00003E00003E00003E00003E00007F000FFFF80FFFF8011317DB017>I<
1297 FFFFFFC000FFFFFFF80007E0007E0003E0001F0003E000078003E00003C003E00001E003
1298 E00001F003E00001F003E00000F003E00000F803E00000F803E00000F803E00000F803E0
1299 0000F803E00000F803E00000F003E00001F003E00001E003E00003E003E00003C003E000
1300 078003E0001F0003E0007C0003FFFFF00003E000000003E000000003E000000003E00000
1301 0003E000000003E000000003E000000003E000000003E000000003E000000003E0000000
1302 03E000000003E000000003E000000003E000000003E000000003E000000003E000000003
1303 E000000003E000000003E000000007F0000000FFFF800000FFFF80000025317CB02D>80
1304 D<007F802001FFE02007C078600F001C601E0006E03C0003E0380001E0780000E0700000
1305 E070000060F0000060F0000060F0000020F0000020F0000020F8000020F80000007C0000
1306 007E0000003F0000003FC000001FF800000FFF800007FFF80003FFFC0000FFFF00000FFF
1307 800000FFC000001FE0000007E0000003F0000001F0000000F0000000F8000000F8800000
1308 7880000078800000788000007880000078C0000078C0000070E00000F0E00000E0F00000
1309 E0F80001C0EC000380C7000700C1F01E00807FFC00800FF0001D337CB125>83
1310 D<7FFFFFFFFFE07FFFFFFFFFE07E000F8007E078000F8001E070000F8000E060000F8000
1311 6040000F80002040000F800020C0000F800030C0000F80003080000F80001080000F8000
1312 1080000F80001080000F80001080000F80001080000F80001000000F80000000000F8000
1313 0000000F80000000000F80000000000F80000000000F80000000000F80000000000F8000
1314 0000000F80000000000F80000000000F80000000000F80000000000F80000000000F8000
1315 0000000F80000000000F80000000000F80000000000F80000000000F80000000000F8000
1316 0000000F80000000000F80000000000F80000000000F80000000000F80000000000F8000
1317 0000000F80000000000F80000000000F80000000000F80000000001FC00000000FFFFF80
1318 00000FFFFF80002C317EB030>I<00FE00000303C0000C00E00010007000100038003C00
1319 3C003E001C003E001E003E001E0008001E0000001E0000001E0000001E00000FFE0000FC
1320 1E0003E01E000F801E001F001E003E001E003C001E007C001E00F8001E04F8001E04F800
1321 1E04F8003E04F8003E0478003E047C005E043E008F080F0307F003FC03E01E1F7D9E21>
1322 97 D<003F8000E0600380180700040F00041E001E1C003E3C003E7C003E7C0008780000
1323 F80000F80000F80000F80000F80000F80000F80000F80000F800007800007C00007C0000
1324 3C00011E00011E00020F000207000403801800E060003F80181F7D9E1D>99
1325 D<003F800000E0E0000380380007003C000E001E001E001E001C000F003C000F007C000F
1326 0078000F8078000780F8000780F8000780FFFFFF80F8000000F8000000F8000000F80000
1327 00F8000000F8000000780000007C0000003C0000003C0000801E0000800E0001000F0002
1328 000780020001C00C0000F03000001FC000191F7E9E1D>101 D<0780000000FF80000000
1329 FF800000000F800000000780000000078000000007800000000780000000078000000007
1330 800000000780000000078000000007800000000780000000078000000007800000000780
1331 000000078000000007800000000780FE00000783078000078C03C000079001E00007A001
1332 E00007A000F00007C000F00007C000F000078000F000078000F000078000F000078000F0
1333 00078000F000078000F000078000F000078000F000078000F000078000F000078000F000
1334 078000F000078000F000078000F000078000F000078000F000078000F000078000F00007
1335 8000F000078000F0000FC001F800FFFC1FFF80FFFC1FFF8021327EB125>104
1336 D<0780FE001FC000FF83078060F000FF8C03C18078000F9001E2003C0007A001E4003C00
1337 07A000F4001E0007C000F8001E0007C000F8001E00078000F0001E00078000F0001E0007
1338 8000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E000780
1339 00F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000
1340 F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0
1341 001E00078000F0001E00078000F0001E000FC001F8003F00FFFC1FFF83FFF0FFFC1FFF83
1342 FFF0341F7E9E38>109 D<0783E0FF8C18FF907C0F907C07A07C07C03807C00007C00007
1343 C00007800007800007800007800007800007800007800007800007800007800007800007
1344 80000780000780000780000780000780000780000780000FC000FFFE00FFFE00161F7E9E
1345 19>114 D E end
1346 %%EndProlog
1347 %%BeginSetup
1348 %%Feature: *Resolution 300dpi
1349 TeXDict begin
1350
1351 %%EndSetup
1352 %%Page: 1 1
1353 1 0 bop 591 369 a Fv(APHID)22 b(Game-T)-6 b(ree)22 b(Searc)n(h)516
1354 490 y Fu(Mark)16 b(G.)g(Bro)q(c)o(kington,)g Ft(br)n(o)n([email protected])n
1355 (erta.c)n(a)504 548 y Fu(Jonathan)i(Sc)o(hae\013er,)d
1356 Ft([email protected])n(erta.c)n(a)685 606 y Fs(Departmen)o(t)f(of)f
1357 (Computing)h(Science)797 664 y(Univ)o(ersit)o(y)h(of)d(Alb)q(erta)727
1358 722 y(Edmon)o(ton,)i(Alb)q(erta)g(T6G)f(2H1)911 780 y(Canada)828
1359 878 y Fu(June)k(13,)f(1996)890 1017 y Fr(Abstract)161
1360 1073 y Fs(This)g(pap)q(er)h(in)o(tro)q(duces)g(the)e(APHID)g(\(Async)o
1361 (hronous)j(P)o(arallel)f(Hierarc)o(hical)h(Iterativ)o(e)e(Deep)q
1362 (ening\))i(game-)104 1118 y(tree)13 b(searc)o(h)g(algorithm.)19
1363 b(An)13 b(APHID)g(searc)o(h)h(is)f(con)o(trolled)j(b)o(y)d(a)g(master)g
1364 (and)h(a)f(series)h(of)f(sla)o(v)o(e)h(pro)q(cessors.)k(The)104
1365 1164 y(master)d(searc)o(hes)g(the)g(\014rst)g Fq(d)551
1366 1148 y Fp(0)576 1164 y Fs(ply)h(of)e(the)h(game-tree)g(rep)q(eatedly)m
1367 (.)24 b(The)14 b(sla)o(v)o(es)i(are)f(resp)q(onsible)i(for)e(the)g(b)q
1368 (ottom)104 1210 y(plies)k(of)f(the)f(game-tree.)32 b(The)17
1369 b(sla)o(v)o(es)i(async)o(hronously)i(read)d(w)o(ork)g(lists)h(from)e
1370 (the)h(master)g(and)g(return)h(score)104 1255 y(information)g(to)d(the)
1371 h(master.)29 b(The)17 b(master)g(uses)g(the)g(returned)h(score)f
1372 (information)i(to)e(generate)g(appro)o(ximate)104 1301
1373 y(minimax)e(v)n(alues,)f(un)o(til)g(all)h(of)d(the)i(required)g(score)f
1374 (information)j(is)d(a)o(v)n(ailable.)161 1346 y(APHID)e(has)g(b)q(een)g
1375 (programmed)g(as)g(an)g(easy)g(to)f(implemen)o(t,)j(game-indep)q(enden)
1376 o(t)g Fq(\013\014)f Fs(library)m(,)g(and)f(w)o(as)g(imple-)104
1377 1392 y(men)o(ted)g(in)o(to)h(a)g(c)o(hess)f(program)h(with)g(one)f(da)o
1378 (y)h(of)f(programming)i(e\013ort.)k(APHID)11 b(yields)i(reasonable)g(p)
1379 q(erformance)104 1438 y(on)e(a)h(net)o(w)o(ork)f(of)g(w)o(orkstations,)
1380 i(an)f(arc)o(hitecture)h(where)e(it)h(is)g(extremely)g(di\016cult)h(to)
1381 f(use)f(a)h(shared)g(transp)q(osition)104 1483 y(table)i(e\013fectiv)o
1382 (ely)m(.)0 1619 y Fo(1)69 b(In)n(tro)r(duction)0 1722
1383 y Fn(The)18 b(alpha-b)q(eta)f(\()p Fm(\013\014)r Fn(\))h(minim)o(ax)c
1384 (tree)19 b(searc)o(h)f(algorithm)d(has)j(pro)o(v)o(en)f(to)g(b)q(e)h(a)
1385 f(di\016cult)g(algorithm)e(to)i(parallelize.)0 1785 y(Although)e(sim)o
1386 (ulations)e(predict)k(excellen)o(t)f(parallel)f(p)q(erformance,)g(man)o
1387 (y)f(of)h(these)i(results)g(are)f(based)h(on)e(an)h(unrea-)0
1388 1847 y(sonable)c(set)h(of)e(assumptions.)17 b(In)12 b(practice,)h(kno)o
1389 (wing)e(where)i(to)f(initiate)f(parallel)g(activit)o(y)g(is)h
1390 (di\016cult)g(since)h(the)f(result)0 1909 y(of)18 b(searc)o(hing)g(one)
1391 h(no)q(de)f(at)g(a)g(branc)o(h)h(ma)o(y)d(ob)o(viate)i(the)h(parallel)e
1392 (w)o(ork)g(of)h(the)h(other)g(branc)o(hes)g(\(a)f(so-called)g
1393 Fl(cut-)0 1972 y(o\013)p Fn(\).)h(In)14 b(real-w)o(orld)f(implemen)o
1394 (tations,)d(suc)o(h)15 b(as)f(for)g(high-p)q(erformance)f(c)o(hess,)i
1395 (c)o(hec)o(k)o(ers)h(and)d(Othello)h(game-pla)o(ying)0
1396 2034 y(programs,)e(the)j(programs)d(su\013er)k(from)c(three)j(ma)r(jor)
1397 d(sources)k(of)d(parallel)g(ine\016ciency:)62 2121 y
1398 Fk(\017)21 b Fl(Synchr)n(onization)15 b(Overhe)n(ad)p
1399 Fn(:)i(The)d(searc)o(h)g(t)o(ypically)d(has)i(man)o(y)e(sync)o
1400 (hronization)i(p)q(oin)o(ts)f(that)h(result)h(in)e(a)h(high)104
1401 2184 y(p)q(ercen)o(tage)i(of)f(pro)q(cessor)h(idle)f(time.)62
1402 2275 y Fk(\017)21 b Fl(Communic)n(ation)f(Overhe)n(ad)p
1403 Fn(:)29 b(Pro)q(cesses)22 b(m)o(ust)c(comm)o(unicate)f(information)f(b)
1404 q(et)o(w)o(een)21 b(them;)f(the)g(impact)e(of)104 2338
1405 y(comm)o(unicatio)o(n)11 b(dep)q(ends)16 b(on)d(the)i(frequency)g(of)e
1406 (messages)h(and)g(the)g(comm)o(unication)d(latency)m(.)62
1407 2429 y Fk(\017)21 b Fl(Se)n(ar)n(ch)c(Overhe)n(ad)p Fn(:)22
1408 b(Searc)o(h)16 b(trees)i(are)e(really)f(directed)i(graphs.)24
1409 b(W)m(ork)15 b(p)q(erformed)g(on)h(one)g(pro)q(cessor)h(ma)o(y)d(b)q(e)
1410 104 2491 y(useful)d(to)g(the)g(computations)f(of)g(another)i(pro)q
1411 (cessor.)18 b(If)11 b(this)g(information)d(is)j(not)g(a)o(v)n(ailable,)
1412 e(unnecessary)k(searc)o(h)104 2554 y(ma)o(y)f(b)q(e)i(done.)0
1413 2641 y(These)h(o)o(v)o(erheads)f(are)g(not)f(indep)q(enden)o(t)i(of)d
1414 (eac)o(h)i(other.)19 b(F)m(or)13 b(example,)f(increased)i(comm)o
1415 (unication)c(can)k(help)f(reduce)0 2704 y(the)j(searc)o(h)h(o)o(v)o
1416 (erhead.)23 b(Reducing)15 b(the)h(n)o(um)o(b)q(er)f(of)f(sync)o
1417 (hronization)i(p)q(oin)o(ts)f(can)h(increase)g(the)g(searc)o(h)h(o)o(v)
1418 o(erhead.)23 b(In)965 2828 y(1)p eop
1419 %%Page: 2 2
1420 2 1 bop 0 195 a Fn(practice,)14 b(the)h(righ)o(t)e(balance)h(b)q(et)o
1421 (w)o(een)h(these)g(sources)h(of)d(program)f(ine\016ciency)i(is)g
1422 (di\016cult)f(to)h(\014nd,)f(and)h(one)g(usually)0 257
1423 y(p)q(erforms)f(man)o(y)f(exp)q(erimen)o(ts)j(to)e(\014nd)h(the)h(righ)
1424 o(t)e(trade-o\013s)i(to)f(maxim)o(ize)d(p)q(erformance.)62
1425 320 y(Man)o(y)i(parallel)g Fm(\013\014)j Fn(algorithms)11
1426 b(ha)o(v)o(e)j(app)q(eared)g(in)f(the)i(literature)f([1)o(,)f(2,)g(3,)g
1427 (9,)g(13)o(,)g(22].)k(The)d(PV-Split)g(algorithm)0 382
1428 y(recognized)19 b(that)f(some)f(no)q(des)h(exist)h(in)e(the)h(searc)o
1429 (h)h(tree)g(where,)h(ha)o(ving)d(searc)o(hed)i(the)g(\014rst)f(branc)o
1430 (h)g(sequen)o(tially)m(,)0 444 y(the)f(remaining)e(branc)o(hes)i(can)g
1431 (b)q(e)g(searc)o(hed)h(in)e(parallel)g([16)o(].)25 b(Initiating)15
1432 b(parallelism)f(along)h(the)i(b)q(est)h(line)e(of)g(pla)o(y)m(,)0
1433 506 y(the)h Fl(princip)n(al)f(variation)p Fn(,)g(w)o(as)g(e\013ectiv)o
1434 (e)h(for)f(a)f(small)f(n)o(um)o(b)q(er)h(of)h(pro)q(cessors,)i
1435 (although)d(v)n(ariations)g(on)h(this)g(sc)o(heme)0 569
1436 y(seemed)e(limited)e(to)i(sp)q(eedups)i(of)d(less)h(than)g(8)g([21)o
1437 (].)62 631 y(The)e(idea)f(can)h(b)q(e)g(generalized)g(to)g(other)g(no)q
1438 (des)g(in)f(the)h(tree.)18 b(A)o(t)12 b(no)q(des)g(where)h(the)f
1439 (\014rst)g(branc)o(h)g(has)g(b)q(een)g(searc)o(hed)0
1440 693 y(and)17 b(no)g(cut-o\013)h(o)q(ccurs,)h(the)e(rest)i(can)e(lik)o
1441 (ely)f(b)q(e)i(searc)o(hed)h(in)e(parallel.)26 b(It)18
1442 b(is)f(a)g(trade-o\013)g({)g(increased)i(parallelism)0
1443 756 y(v)o(ersus)c(additional)d(searc)o(h)k(o)o(v)o(erhead,)e(since)g
1444 (one)h(of)e(these)j(parallel)d(tasks)h(could)g(cause)h(a)f(cuto\013.)19
1445 b(This)14 b(idea)g(has)g(b)q(een)0 818 y(tried)e(b)o(y)g(a)f(n)o(um)o
1446 (b)q(er)h(of)f(researc)o(hers)k([6)o(,)c(7,)g(10].)17
1447 b(The)12 b(b)q(est-kno)o(wn)g(instance)h(of)e(this)h(t)o(yp)q(e)h(of)e
1448 (algorithm)e(is)j(called)f Fl(Y)m(oung)0 880 y(Br)n(others)k(Wait)f
1449 Fn(\(YBW\))h(and)f(w)o(as)g(implemen)o(ted)e(b)o(y)i(F)m(eldmann)e(in)i
1450 (the)h Fj(Zugzw)l(ang)f Fn(c)o(hess)i(program)d([5)o(].)19
1451 b(F)m(eldmann)0 942 y(ac)o(hiev)o(ed)f(a)f(344-fold)f(sp)q(eedup)j
1452 (using)e(YBW)h(on)f(1024)g(pro)q(cessors.)31 b(V)m(ariations)16
1453 b(of)h(this)h(algorithm)d(ha)o(v)o(e)i(app)q(eared)0
1454 1005 y(with)d(comparable)e(exp)q(erimen)o(tal)h(results,)i(suc)o(h)f
1455 (as)g(Jam)o(b)q(oree)g(searc)o(h)h([12)o(])e(and)h(ABD)o(AD)o(A)g([24)o
1456 (].)62 1067 y(This)20 b(class)f(of)g(algorithms)e(cannot)j(ac)o(hiev)o
1457 (e)g(a)f(linear)g(sp)q(eedup)i(primarily)c(due)i(to)h(sync)o
1458 (hronization)f(o)o(v)o(erhead;)0 1129 y(the)c(searc)o(h)h(tree)g(ma)o
1459 (y)d(ha)o(v)o(e)i(thousands)g(of)f(sync)o(hronization)h(p)q(oin)o(ts)g
1460 (and)f(there)j(are)e(n)o(umerous)f(o)q(ccasions)h(where)h(the)0
1461 1191 y(pro)q(cesses)i(are)e(starv)o(ed)h(for)e(w)o(ork.)23
1462 b(The)16 b(algorithms)e(ha)o(v)o(e)h(lo)o(w)g(searc)o(h)i(o)o(v)o
1463 (erhead,)f(but)f(this)h(is)g(primarily)d(due)j(to)f(the)0
1464 1254 y(implemen)o(tatio)o(n)c(of)j(a)f(globally)f(shared)j(transp)q
1465 (osition)e(table)h([8].)62 1316 y(This)g(pap)q(er)h(in)o(tro)q(duces)h
1466 (the)f(Async)o(hronous)g(P)o(arallel)e(Hierarc)o(hical)h(Iterativ)o(e)h
1467 (Deep)q(ening)g(\(APHID)1723 1301 y Fi(1)1742 1316 y
1468 Fn(\))f(game-tree)0 1378 y(searc)o(h)i(algorithm.)k(The)c(algorithm)d
1469 (represen)o(ts)18 b(a)d(departure)i(from)c(the)j(approac)o(hes)g(used)h
1470 (in)d(practice.)24 b(In)15 b(con)o(trast)0 1440 y(to)d(other)h(sc)o
1471 (hemes,)g(APHID)g(de\014nes)h(a)e(fron)o(tier)h(\(a)f(\014xed)h(n)o(um)
1472 o(b)q(er)f(of)f(mo)o(v)o(es)h(a)o(w)o(a)o(y)f(from)g(the)i(ro)q(ot)f
1473 (of)g(the)h(searc)o(h)h(tree\),)0 1503 y(and)d(all)g(no)q(des)h(at)f
1474 (the)h(fron)o(tier)g(are)f(done)h(in)f(parallel.)16 b(Eac)o(h)c(w)o
1475 (ork)o(er)g(pro)q(cess)h(is)e(assigned)h(an)f(equal)g(n)o(um)o(b)q(er)g
1476 (of)g(fron)o(tier)0 1565 y(no)q(des)i(to)f(searc)o(h.)19
1477 b(The)13 b(w)o(ork)o(ers)g(con)o(tin)o(ually)d(searc)o(h)k(these)g(no)q
1478 (des)f(deep)q(er)h(and)e(deep)q(er,)i(nev)o(er)f(ha)o(ving)f(to)g(sync)
1479 o(hronize)0 1627 y(with)j(a)g(con)o(trolling)f(master)h(pro)q(cess.)24
1480 b(The)16 b(master)f(pro)q(cess)i(rep)q(eatedly)f(searc)o(hes)i(to)d
1481 (the)h(fron)o(tier)f(to)g(get)h(the)g(latest)0 1689 y(searc)o(h)g
1482 (results.)k(In)15 b(this)f(w)o(a)o(y)m(,)f(there)j(is)e(e\013ectiv)o
1483 (ely)i(no)e(idle)g(time;)f(searc)o(h)i(ine\016ciencies)h(are)f
1484 (primarily)d(due)j(to)f(searc)o(h)0 1752 y(o)o(v)o(erhead.)29
1485 b(APHID's)18 b(p)q(erformance)f(do)q(es)h(not)g(rely)f(on)h(the)g
1486 (implemen)o(tati)o(on)d(of)i(a)g(global)f(shared)i(memory)m(,)d(whic)o
1487 (h)0 1814 y(mak)o(es)f(the)i(algorithm)d(suitable)i(for)g(lo)q
1488 (osely-coupled)f(arc)o(hitectures)k(\(suc)o(h)e(as)f(a)g(net)o(w)o(ork)
1489 h(of)e(w)o(orkstations\),)h(as)h(w)o(ell)0 1876 y(as)e(tigh)o
1490 (tly-coupled)f(arc)o(hitectures.)62 1939 y(Unlik)o(e)f(most)f(parallel)
1491 g Fm(\013\014)k Fn(algorithms,)9 b(APHID)k(is)f(designed)h(to)f(\014t)g
1492 (in)o(to)g(a)g(sequen)o(tial)g Fm(\013\014)j Fn(structure.)k(APHID)13
1493 b(has)0 2001 y(b)q(een)i(implemen)o(ted)e(as)h(a)g(game-indep)q(enden)o
1494 (t)g(library)g(of)f(routines.)20 b(These,)c(com)o(bined)d(with)h
1495 (application-dep)q(enden)o(t)0 2063 y(routines)d(that)f(the)g(user)h
1496 (supplies,)g(allo)o(w)d(a)i(sequen)o(tial)g Fm(\013\014)j
1497 Fn(program)8 b(to)i(b)q(e)h(easily)e(con)o(v)o(erted)i(to)f(a)g
1498 (parallel)f Fm(\013\014)j Fn(program.)0 2125 y(Although)i(most)f
1499 (parallel)g Fm(\013\014)j Fn(programs)d(tak)o(e)h(mon)o(ths)f(to)h(dev)
1500 o(elop,)g(the)h(game-indep)q(enden)o(t)f(library)g(allo)o(ws)e(users)k
1501 (to)0 2188 y(in)o(tegrate)e(parallelism)d(in)o(to)j(their)g
1502 (application)e(with)i(only)f(a)h(few)g(hours)g(of)f(w)o(ork.)62
1503 2250 y(This)j(pap)q(er)h(discusses)i(the)e(APHID)f(algorithm,)e(its)i
1504 (application-indep)q(enden)o(t)g(in)o(terface)h(and)f(the)h(p)q
1505 (erformance)0 2312 y(of)12 b(the)h(APHID)g(algorithm.)i(The)f(pap)q(er)
1506 f(is)g(organized)f(in)o(to)g(\014v)o(e)h(sections.)19
1507 b(Section)13 b(2)g(is)f(a)h(brief)f(summary)e(of)j(previous)0
1508 2374 y(w)o(ork)18 b(in)g(parallel)f(game-tree)h(searc)o(h.)33
1509 b(Section)19 b(3)f(is)g(primarily)e(concerned)21 b(with)d(the)h
1510 (details)f(of)g(ho)o(w)g(the)h(APHID)0 2437 y(algorithm)d(op)q(erates,)
1511 21 b(and)e(ho)o(w)g(the)g(library)f(in)o(tegrates)i(with)f(an)f
1512 (existing)h(sequen)o(tial)g Fm(\013\014)i Fn(algorithm.)31
1513 b(Section)19 b(4)0 2499 y(describ)q(es)h(the)e(preliminary)d(results)k
1514 (of)e(in)o(tegrating)g(the)h(library)f(in)o(to)g(a)g(c)o(hess)i
1515 (program,)d(and)i(Section)g(5)f(describ)q(es)0 2561 y(some)c(of)g(the)i
1516 (researc)o(h)h(directions)e(that)g(w)o(e)g(are)g(curren)o(tly)h(w)o
1517 (orking)e(on.)p 0 2596 780 2 v 46 2623 a Fh(1)64 2634
1518 y Fg(An)e(aphid)f(is)i(a)f(soft-b)q(o)q(died)e(insect)h(that)g(suc)o
1519 (ks)h(the)g(sap)g(from)f(plan)o(ts.)965 2828 y Fn(2)p
1520 eop
1521 %%Page: 3 3
1522 3 2 bop 0 195 a Fo(2)69 b(Previous)23 b(W)-6 b(ork)24
1523 b(on)g(P)n(arallel)d Ff(\013\014)26 b Fo(Algorithms)0
1524 298 y Fn(The)14 b(idea)g(b)q(ehind)g(the)g(PV-Split)g(algorithm)d(has)j
1525 (pro)o(v)o(en)g(to)g(b)q(e)g(a)g(fundamen)o(tal)d(building)i(blo)q(c)o
1526 (k)g(in)h(dev)o(eloping)f(high-)0 361 y(p)q(erformance)i(parallel)e
1527 (game-tree)h(algorithms)f([16)o(].)20 b(Simply)12 b(stated,)k(the)f
1528 (\014rst)g(mo)o(v)o(e)f(at)g(a)h(principal)e(v)n(ariation)h(no)q(de)0
1529 423 y(m)o(ust)19 b(b)q(e)h(completely)f(ev)n(aluated)g(b)q(efore)i(the)
1530 f(subsequen)o(t)i(mo)o(v)o(es)c(can)i(b)q(e)g(handed)h(out)e(to)h
1531 (other)g(pro)q(cessors)i(and)0 485 y(ev)n(aluated)13
1532 b(in)h(parallel.)i(P)o(arallelism)c(o)q(ccurs)j(only)e(at)g(the)h
1533 Fe(PV)g Fn(no)q(des,)g(and)f(the)h(nature)h(of)e(the)h(algorithm)d
1534 (ensures)16 b(that)0 548 y(an)10 b(accurate)i(searc)o(h)g(windo)o(w)e
1535 (is)g(determined)h(b)q(efore)g(allo)q(cating)e(w)o(ork)i(to)f(the)h
1536 (sla)o(v)o(es)g(in)f(parallel,)g(whic)o(h)g(reduces)j(searc)o(h)0
1537 610 y(o)o(v)o(erhead.)18 b(Although)c(it)f(is)h(easy)g(to)g(con)o(trol)
1538 f(the)i(PV-Split)e(algorithm)e(since)k(only)e(one)h Fe(PV)f
1539 Fn(no)q(de)h(can)g(b)q(e)h(ev)n(aluated)e(in)0 672 y(parallel)h(at)g(a)
1540 h(giv)o(en)f(momen)o(t)e(in)i(time,)f(a)i(di\013eren)o(t)h(approac)o(h)
1541 e(is)h(needed)h(if)e(y)o(ou)g(ha)o(v)o(e)h(more)f(pro)q(cessors)j(than)
1542 d(mo)o(v)o(es)0 734 y(at)g(the)g(curren)o(t)i Fe(PV)d
1543 Fn(no)q(de.)62 797 y(Newb)q(orn's)k(UIDP)m(ABS)f(algorithm)d([17)o(])i
1544 (w)o(as)h(the)g(\014rst)g(attempt)f(to)h(async)o(hronously)g(start)g
1545 (the)g(next)h(lev)o(el)e(of)g(an)0 859 y(iterativ)o(ely)e(deep)q(ened)k
1546 (searc)o(h)e(instead)f(of)g(sync)o(hronizing)g(at)g(the)g(ro)q(ot)g(of)
1547 g(the)h(game-tree.)j(The)c(mo)o(v)o(es)f(from)f(the)j(ro)q(ot)0
1548 921 y(p)q(osition)d(are)h(partitioned)f(among)f(the)i(pro)q(cessors,)i
1549 (and)d(the)i(pro)q(cessors)g(searc)o(h)g(their)f(o)o(wn)g(subset)h(of)e
1550 (the)h(mo)o(v)o(es)e(with)0 983 y(iterativ)o(e)k(deep)q(ening.)21
1551 b(Eac)o(h)15 b(pro)q(cessor)h(is)f(giv)o(en)f(the)h(same)f(initial)e
1552 (windo)o(w,)i(but)h(some)e(of)h(the)i(pro)q(cessors)g(ma)o(y)d(ha)o(v)o
1553 (e)0 1046 y(c)o(hanged)g(their)h(windo)o(ws,)e(based)i(on)f(the)g
1554 (searc)o(h)i(results)f(of)e(their)i(mo)o(v)o(es.)i(The)e(UIDP)m(ABS)f
1555 (algorithm)d(then)k(com)o(bines)0 1108 y(the)f(results)h(once)g(a)e
1556 (predetermined)h(time)f(limit)e(has)j(b)q(een)h(reac)o(hed.)k(The)c
1557 (APHID)f(algorithm)d(uses)j(the)h(basic)f(concept)0 1170
1558 y(of)g(ho)o(w)h(to)f(implemen)o(t)f(async)o(hronous)i(searc)o(h)h(from)
1559 d(UIDP)m(ABS,)i(as)g(w)o(e)g(shall)f(see)i(in)f(Section)g(3.)62
1560 1232 y(The)f(Y)m(oung)f(Brothers)i(W)m(ait)c(\(YBW\))j(algorithm)d
1561 (extends)k(PV-Split)d(to)h(state)i(that)e(the)h(other)g(mo)o(v)o(es)e
1562 (\(the)i(\\y)o(oung)0 1295 y(brothers"\))19 b(can)e(b)q(e)h(searc)o
1563 (hed)h(in)e(parallel)f(only)g(if)h(the)h(\014rst)g(mo)o(v)o(e)e(of)g(a)
1564 h(no)q(de)h(has)g(b)q(een)g(completely)e(searc)o(hed)j(and)0
1565 1357 y(has)d(not)g(caused)h(the)g Fm(\013\014)h Fn(windo)o(w)d(to)h(b)q
1566 (e)h(cut)f(o\013)g([5)o(].)24 b(This)16 b(is)g(alw)o(a)o(ys)f(true)i
1567 (at)f Fe(PV)f Fn(no)q(des,)i(and)f(is)g(generally)f(true)i(at)0
1568 1419 y Fe(ALL)c Fn(no)q(des,)i(assuming)e(w)o(e)h(start)h(with)f(an)g
1569 (in\014nite)f(searc)o(h)j(windo)o(w)d(at)h(the)h(ro)q(ot)f(p)q
1570 (osition.)k(Th)o(us,)c(there)i(are)e(m)o(ultiple)0 1482
1571 y(p)q(oten)o(tial)e(parallel)g(no)q(des)i(at)f(an)o(y)f(giv)o(en)g
1572 (time)g(when)h(searc)o(hing)h(the)f(tree.)19 b(Ho)o(w)o(ev)o(er,)13
1573 b(the)h(searc)o(h)g(is)f(still)f(sync)o(hronized)0 1544
1574 y(in)f(the)i(same)e(w)o(a)o(y)g(that)g(PV-Split)h(is)f(sync)o
1575 (hronized.)19 b(Un)o(til)11 b(a)g(searc)o(h)i(of)e(all)g(c)o(hildren)h
1576 (of)f(a)h(giv)o(en)f Fe(PV)g Fn(no)q(de)h(is)g(completed,)0
1577 1606 y(the)i(other)h(c)o(hildren)f(of)f(the)i Fe(PV)e
1578 Fn(no)q(de's)h(paren)o(t)h(cannot)f(b)q(e)g(searc)o(hed.)62
1579 1668 y(Although)i(the)i Fl(synchr)n(onization)g(overhe)n(ad)f
1580 Fn(in)f(YBW)h(is)g(a)f(lot)g(smaller)f(than)i(in)f(PV-Split,)h(w)o(ork)
1581 o(ers)g(still)f(searc)o(h)0 1731 y(for)e(a)h(pro)q(cessor)h(that)f(has)
1582 g(w)o(ork)g(to)f(do)h(\(according)g(to)f(the)i(YBW)e(criterion\))i(b)o
1583 (y)e(sending)h(a)g(message)f(to)h(a)f(pro)q(cessor)0
1584 1793 y(at)f(random.)j(This)e(dynamic)d(load-balancing)h(metho)q(d,)g
1585 (\\w)o(ork-stealing")g([12)o(],)g(is)h(e\013ectiv)o(e)i(in)e(balancing)
1586 f(the)i(share)h(of)0 1855 y(w)o(ork)f(done)g(on)f(eac)o(h)i(pro)q
1587 (cessor,)g(but)f(p)q(erio)q(dically)f(imp)q(oses)g(a)h(hea)o(vy)g(comm)
1588 o(unicati)o(on)d(load.)62 1917 y(In)h(the)g(implemen)o(tatio)o(n)d(of)i
1589 Fj(Zugzw)l(ang)h Fn(presen)o(ted)i(in)d(F)m(eldmann's)e(thesis)k([5)o
1590 (],)e(a)g(distributed)i(transp)q(osition)e(table)0 1980
1591 y(w)o(as)g(implemen)o(ted)e(with)j(message)f(passing)g(across)h(a)f
1592 (series)i(of)e(T)m(ransputers)i(to)e(impro)o(v)o(e)f(the)i(results)g
1593 (of)f(the)h(algorithm.)0 2042 y(On)j(a)g(system)f(with)h(a)f(lo)o(w)g
1594 (CPU)h(cycle)h(to)e(message)h(latency)g(ratio,)f(this)h(t)o(yp)q(e)g
1595 (of)f(distributed)i(transp)q(osition)e(table)h(is)0 2104
1596 y(practical)f(and)f(is)h(useful)g(in)g(con)o(trolling)e(the)j(searc)o
1597 (h)g(o)o(v)o(erhead.)62 2166 y(Da)o(vid's)k Fm(\013\014)r
1598 Fk(\003)i Fn(framew)o(ork)e(uses)j(a)e(global)f(transp)q(osition)h
1599 (table)h(to)f(con)o(trol)g(where)i(the)f(pro)q(cessors)i(should)d(b)q
1600 (e)0 2229 y(searc)o(hing)g([4].)35 b(By)20 b(adding)f(a)h(\014eld)g(to)
1601 g(the)g(global)f(transp)q(osition)g(table)h(to)g(indicate)g(the)g(n)o
1602 (um)o(b)q(er)f(of)h(pro)q(cessors)0 2291 y(searc)o(hing)15
1603 b(that)f(no)q(de,)g(eac)o(h)g(pro)q(cessor)i(can)e(pretend)i(it)d(is)h
1604 (searc)o(hing)h(the)f(tree)i(sequen)o(tially)m(,)c(and)i(mak)o(e)f
1605 (decisions)h(on)0 2353 y(where)h(to)f(searc)o(h)h(based)f(on)g(the)g(n)
1606 o(um)o(b)q(er)f(of)g(pro)q(cessors)j(searc)o(hing)e(the)h(c)o(hildren)f
1607 (of)f(the)h(no)q(de.)19 b(When)14 b(an)o(y)f(pro)q(cessor)0
1608 2416 y(generates)j(a)e(v)n(alue)g(for)f(the)i(ro)q(ot)g(p)q(osition,)e
1609 (the)i(searc)o(h)g(is)f(\014nished.)20 b(Unfortunately)m(,)13
1610 b(Da)o(vid's)g(metho)q(d)h(of)f(con)o(trolling)0 2478
1611 y(where)h(the)f(pro)q(cessors)i(should)e(b)q(e)h(searc)o(hing)f(w)o(as)
1612 g(ine\016cien)o(t,)f(and)h(the)g(sc)o(heme)g(w)o(as)g(hamp)q(ered)g(b)o
1613 (y)f(the)i(use)g(of)e(half)g(of)0 2540 y(the)h(T)m(ransputers)g(as)f
1614 (transp)q(osition)g(table)g(storage)g(units,)g(limiting)d(the)j(sp)q
1615 (eedup)i(rep)q(orted)f(to)f(6.5)f(on)h(16)f(T)m(ransputers.)0
1616 2602 y(Regrettably)m(,)i(no)h(w)o(ork)f(is)h(rep)q(orted)h(that)f
1617 (addresses)i(these)g(shortcomings.)62 2665 y(W)m(eill)h([24)o(])g
1618 (recognized)j(that)e(the)h(YBW)f(criterion)h(could)f(b)q(e)h(used)g(in)
1619 f(conjunction)g(with)g(the)h Fm(\013\014)r Fk(\003)f
1620 Fn(framew)o(ork.)965 2828 y(3)p eop
1621 %%Page: 4 4
1622 4 3 bop 0 195 a Fn(W)m(eill)14 b(sho)o(w)o(ed)h(the)h(com)o(bination,)d
1623 (ABD)o(AD)o(A,)h(yields)i(comparable)e(p)q(erformance)h(to)g(a)g(YBW)g
1624 (implemen)o(tation)d(on)j(a)0 257 y(CM-5.)k(On)14 b(16)g(pro)q
1625 (cessors,)i(ABD)o(AD)o(A)e(yielded)g(an)g(10-fold)f(sp)q(eedup)j(for)e
1626 (a)g(c)o(hess)h(program,)d(while)i(YBW)h(generated)0
1627 320 y(a)f(sp)q(eedup)h(of)e(just)h(under)h(8.)62 382
1628 y(Unfortunately)m(,)j(neither)g(of)f(these)i(sc)o(heduling)f(metho)q
1629 (ds)f(deal)g(adequately)h(with)f(arc)o(hitectures)j(that)d(ha)o(v)o(e)h
1630 (high)0 444 y(CPU)e(cycle/message)f(latency)h(ratios,)f(suc)o(h)h(as)g
1631 (a)f(net)o(w)o(ork)g(of)g(w)o(orkstations.)23 b(Using)15
1632 b(YBW)g(on)g(a)h(system)f(with)g(only)0 506 y(transp)q(osition)i
1633 (tables)g(lo)q(cal)g(to)g(eac)o(h)g(pro)q(cess)i(will)d(yield)g(large)h
1634 (searc)o(h)i(o)o(v)o(erheads,)f(since)g(there)g(is)f(no)g(guaran)o(tee)
1635 h(of)0 569 y(where)12 b(a)f(giv)o(en)f(no)q(de)i(will)d(end)j(up)f
1636 (when)g(w)o(e)g(use)h(the)g(c)o(haotic)f(w)o(ork-stealing)f(sc)o
1637 (heduler)i(in)f(com)o(bination)d(with)j(iterativ)o(e)0
1638 631 y(deep)q(ening.)18 b(Using)12 b(ABD)o(AD)o(A)g(is)g(infeasible)g
1639 (since)g(the)h(system)f(requires)h(a)f(shared)h(transp)q(osition)f
1640 (table,)g(whic)o(h)g(w)o(ould)0 693 y(b)q(e)j(extremely)e(slo)o(w)g(on)
1641 h(a)g(parallel)e(arc)o(hitecture)k(with)e(a)f(high)g(CPU)i
1642 (cycle/message)f(latency)g(ratio.)0 831 y Fo(3)69 b(The)23
1643 b(APHID)f(Algorithm)0 934 y Fn(Y)m(oung)12 b(Brothers)i(W)m(ait)d(and)h
1644 (other)h(algorithms)e(su\013er)i(from)e(three)j(serious)f(problems.)k
1645 (First,)12 b(the)i(n)o(umerous)d(sync)o(hro-)0 996 y(nization)k(p)q
1646 (oin)o(ts)h(result)h(in)f(idle)f(time.)24 b(This)16 b(suggests)h(that)f
1647 (a)g(new)g(algorithm)e(m)o(ust)h(striv)o(e)h(to)g(reduce)i(or)e
1648 (eliminate)0 1058 y(sync)o(hronization)c(altogether.)18
1649 b(Second,)13 b(the)g(c)o(haotic)g(nature)g(of)f(a)g(w)o(ork-stealing)f
1650 (sc)o(heduler)j(requires)g(algorithms)c(suc)o(h)0 1121
1651 y(as)15 b(YBW)g(and)g(Jam)o(b)q(oree)f(to)h(use)h(a)e(shared)i(transp)q
1652 (osition)f(table)g(to)f(ac)o(hiev)o(e)i(reasonable)f(p)q(erformance.)21
1653 b(Algorithms)0 1183 y(based)13 b(on)f(the)i Fm(\013\014)r
1654 Fk(\003)e Fn(framew)o(ork)f(require)j(a)e(shared)h(transp)q(osition)g
1655 (table)f(to)g(function.)18 b(Third,)12 b(the)h(program)e(ma)o(y)f
1656 (initi-)0 1245 y(ate)i(parallelism)e(at)h(no)q(des)i(whic)o(h)f(are)g
1657 (b)q(etter)i(done)e(sequen)o(tially)m(.)17 b(F)m(or)11
1658 b(example,)g(ha)o(ving)g(searc)o(hed)i(the)g(\014rst)g(branc)o(h)f(at)0
1659 1307 y(a)i(no)q(de)h(and)f(not)g(ac)o(hiev)o(ed)h(a)f(cut-o\013,)h(Y)m
1660 (oung)e(Brothers)j(W)m(ait)d(\(in)i(its)f(simplest)f(form\))g(p)q
1661 (ermits)h(all)f(of)h(the)h(remaining)0 1370 y(branc)o(hes)f(to)f(b)q(e)
1662 g(searc)o(hed)i(in)d(parallel.)17 b(Ho)o(w)o(ev)o(er,)c(if)f(the)h
1663 (second)h(branc)o(h)f(causes)h(a)f(cuto\013,)g(then)h(all)d(the)j
1664 (parallel)d(w)o(ork)0 1432 y(done)18 b(on)f(the)h(third)g(\(and)f
1665 (subsequen)o(t\))j(branc)o(hes)e(has)g(b)q(een)h(w)o(asted.)29
1666 b(This)18 b(suggests)g(parallelism)d(should)j(only)e(b)q(e)0
1667 1494 y(initiated)d(at)h(no)q(des)g(where)i(there)f(is)e(a)h(v)o(ery)g
1668 (high)f(probabilit)o(y)g(that)h(all)e(branc)o(hes)k(m)o(ust)c(b)q(e)j
1669 (considered.)62 1557 y(This)f(section)h(in)o(tro)q(duces)g(the)f(Async)
1670 o(hronous)h(P)o(arallel)e(Hierarc)o(hical)h(Iterativ)o(e)g(Deep)q
1671 (ening)h(\(APHID\))f(game-tree)0 1619 y(searc)o(hing)i(algorithm.)21
1672 b(APHID)15 b(has)h(b)q(een)h(designed)f(to)g(address)h(the)f(ab)q(o)o
1673 (v)o(e)f(three)i(issues.)25 b(The)16 b(algorithm)d(is)i(asyn-)0
1674 1681 y(c)o(hronous)g(in)f(nature;)h(it)e(remo)o(v)o(es)h(all)f(sync)o
1675 (hronization)i(p)q(oin)o(ts)f(from)e(the)j Fm(\013\014)i
1676 Fn(searc)o(h)e(and)g(from)d(iterativ)o(e)i(deep)q(ening.)0
1677 1743 y(Also,)f(parallelism)e(is)j(only)f(applied)g(at)h(no)q(des)g
1678 (that)g(ha)o(v)o(e)g(a)f(high)g(probabilit)o(y)g(of)g(needing)h
1679 (parallelism.)h(The)f(top)g(plies)0 1806 y(of)k(a)g(game-tree)g(\(near)
1680 g(the)h(ro)q(ot\))g(v)n(ary)f(infrequen)o(tly)g(b)q(et)o(w)o(een)h
1681 (steps)h(of)e(iterativ)o(e)g(deep)q(ening)h([19)o(].)31
1682 b(This)18 b(relativ)o(e)0 1868 y(in)o(v)n(ariance)13
1683 b(of)g(the)i(top)f(p)q(ortion)f(of)h(the)g(game-tree)g(is)f(exploited)h
1684 (b)o(y)g(the)g(APHID)g(algorithm.)62 1930 y(In)e(its)f(simplest)g
1685 (form,)f(APHID)i(can)g(b)q(e)g(view)o(ed)g(as)f(a)h(master/sla)o(v)o(e)
1686 e(program)g(although,)h(as)h(discussed)h(later,)e(it)h(can)0
1687 1992 y(b)q(e)k(generalized)g(to)g(a)f(hierarc)o(hical)g(pro)q(cessor)i
1688 (tree.)24 b(F)m(or)15 b(a)g(depth)i Fm(d)e Fn(searc)o(h,)h(the)g
1689 (master)f(is)g(resp)q(onsible)i(for)e(the)h(top)0 2055
1690 y Fm(d)22 2040 y Fd(0)47 2055 y Fn(ply)d(of)g(the)i(tree,)f(and)g(the)g
1691 (remaining)e Fm(d)d Fk(\000)g Fm(d)770 2040 y Fd(0)795
1692 2055 y Fn(ply)k(are)h(searc)o(hed)i(in)d(parallel)f(b)o(y)i(the)g(sla)o
1693 (v)o(es.)k(Figure)c(1)g(sho)o(ws)g(where)0 2117 y(parallel)f
1694 (activities)g(o)q(ccur)j(in)d(APHID)h(and)g(YBW.)g(Eac)o(h)g(lo)q
1695 (cation)f(mark)o(ed)g(with)g(an)h Fe(x)g Fn(sho)o(ws)g(where)h(the)g
1696 (parallelism)0 2179 y(t)o(ypically)10 b(tak)o(es)h(place.)17
1697 b(Although)11 b(more)f(w)o(ork)h(could)g(b)q(e)g(generated)i(in)d(YBW,)
1698 h(eac)o(h)h Fe(x)e Fn(represen)o(ts)k(a)d(p)q(oten)o(tially)f(costly)0
1699 2241 y(sync)o(hronization)16 b(p)q(oin)o(t.)25 b(The)17
1700 b(parallelism)c(is)j(more)g(constrained)h(in)f(APHID)g(and,)g(hence,)i
1701 (is)e(more)g(lik)o(ely)f(to)h(su\013er)0 2304 y(from)c(load)h(im)o
1702 (balances)f(than)i(other)h(dynamic)d(sc)o(heduling)i(routines)g(\(suc)o
1703 (h)h(as)f(YBW,)g(Jam)o(b)q(oree,)f(or)h Fm(\013\014)r
1704 Fk(\003)p Fn(\).)0 2420 y Fc(3.1)56 b(Op)r(eration)17
1705 b(of)i(the)f(Master)h(in)f(APHID)0 2509 y Fn(The)d(master)e(is)h(resp)q
1706 (onsible)i(for)d(searc)o(hing)i(the)g(top)f Fm(d)892
1707 2494 y Fd(0)918 2509 y Fn(ply)f(of)h(the)h(tree.)20 b(It)14
1708 b(rep)q(eatedly)h(tra)o(v)o(erses)h(this)f(tree)g(un)o(til)e(the)0
1709 2571 y(correct)g(minim)o(ax)8 b(v)n(alue)j(has)g(b)q(een)i(determined.)
1710 k(The)12 b(master)f(is)g(executing)h(a)f(normal)e Fm(\013\014)14
1711 b Fn(searc)o(h,)e(with)f(the)h(exception)0 2634 y(that)j(APHID)f
1712 (enforces)i(an)f(arti\014cial)e(searc)o(h)j(horizon)e(at)h
1713 Fm(d)973 2618 y Fd(0)999 2634 y Fn(ply)f(from)e(the)k(ro)q(ot.)k(Eac)o
1714 (h)15 b(leaf)e(no)q(de)i(in)g(the)g(master's)f Fm(d)1939
1715 2618 y Fd(0)965 2828 y Fn(4)p eop
1716 %%Page: 5 5
1717 5 4 bop 444 154 a
1718  16766447 9472573 9669918 31246336 22892052 38679674 startTexFig
1719  444 154 a
1720 %%BeginDocument: draw1b.ps
1721
1722 /arrowHeight 10 def
1723 /arrowWidth 5 def
1724
1725 /IdrawDict 52 dict def
1726 IdrawDict begin
1727
1728 /reencodeISO {
1729 dup dup findfont dup length dict begin
1730 { 1 index /FID ne { def }{ pop pop } ifelse } forall
1731 /Encoding ISOLatin1Encoding def
1732 currentdict end definefont
1733 } def
1734
1735 /ISOLatin1Encoding [
1736 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1737 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1738 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1739 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1740 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
1741 /parenleft/parenright/asterisk/plus/comma/minus/period/slash
1742 /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
1743 /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
1744 /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
1745 /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
1746 /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
1747 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1748 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1749 /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
1750 /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
1751 /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
1752 /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
1753 /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
1754 /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
1755 /guillemotright/onequarter/onehalf/threequarters/questiondown
1756 /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
1757 /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
1758 /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
1759 /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
1760 /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
1761 /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
1762 /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
1763 /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
1764 /yacute/thorn/ydieresis
1765 ] def
1766 /Times-Roman reencodeISO def
1767 /Helvetica reencodeISO def
1768
1769 /none null def
1770 /numGraphicParameters 17 def
1771 /stringLimit 65535 def
1772
1773 /Begin {
1774 save
1775 numGraphicParameters dict begin
1776 } def
1777
1778 /End {
1779 end
1780 restore
1781 } def
1782
1783 /SetB {
1784 dup type /nulltype eq {
1785 pop
1786 false /brushRightArrow idef
1787 false /brushLeftArrow idef
1788 true /brushNone idef
1789 } {
1790 /brushDashOffset idef
1791 /brushDashArray idef
1792 0 ne /brushRightArrow idef
1793 0 ne /brushLeftArrow idef
1794 /brushWidth idef
1795 false /brushNone idef
1796 } ifelse
1797 } def
1798
1799 /SetCFg {
1800 /fgblue idef
1801 /fggreen idef
1802 /fgred idef
1803 } def
1804
1805 /SetCBg {
1806 /bgblue idef
1807 /bggreen idef
1808 /bgred idef
1809 } def
1810
1811 /SetF {
1812 /printSize idef
1813 /printFont idef
1814 } def
1815
1816 /SetP {
1817 dup type /nulltype eq {
1818 pop true /patternNone idef
1819 } {
1820 dup -1 eq {
1821 /patternGrayLevel idef
1822 /patternString idef
1823 } {
1824 /patternGrayLevel idef
1825 } ifelse
1826 false /patternNone idef
1827 } ifelse
1828 } def
1829
1830 /BSpl {
1831 0 begin
1832 storexyn
1833 newpath
1834 n 1 gt {
1835 0 0 0 0 0 0 1 1 true subspline
1836 n 2 gt {
1837 0 0 0 0 1 1 2 2 false subspline
1838 1 1 n 3 sub {
1839 /i exch def
1840 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
1841 } for
1842 n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
1843 } if
1844 n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
1845 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
1846 brushNone not { istroke } if
1847 0 0 1 1 leftarrow
1848 n 2 sub dup n 1 sub dup rightarrow
1849 } if
1850 end
1851 } dup 0 4 dict put def
1852
1853 /Circ {
1854 newpath
1855 0 360 arc
1856 patternNone not { ifill } if
1857 brushNone not { istroke } if
1858 } def
1859
1860 /CBSpl {
1861 0 begin
1862 dup 2 gt {
1863 storexyn
1864 newpath
1865 n 1 sub dup 0 0 1 1 2 2 true subspline
1866 1 1 n 3 sub {
1867 /i exch def
1868 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
1869 } for
1870 n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
1871 n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
1872 patternNone not { ifill } if
1873 brushNone not { istroke } if
1874 } {
1875 Poly
1876 } ifelse
1877 end
1878 } dup 0 4 dict put def
1879
1880 /Elli {
1881 0 begin
1882 newpath
1883 4 2 roll
1884 translate
1885 scale
1886 0 0 1 0 360 arc
1887 patternNone not { ifill } if
1888 brushNone not { istroke } if
1889 end
1890 } dup 0 1 dict put def
1891
1892 /Line {
1893 0 begin
1894 2 storexyn
1895 newpath
1896 x 0 get y 0 get moveto
1897 x 1 get y 1 get lineto
1898 brushNone not { istroke } if
1899 0 0 1 1 leftarrow
1900 0 0 1 1 rightarrow
1901 end
1902 } dup 0 4 dict put def
1903
1904 /MLine {
1905 0 begin
1906 storexyn
1907 newpath
1908 n 1 gt {
1909 x 0 get y 0 get moveto
1910 1 1 n 1 sub {
1911 /i exch def
1912 x i get y i get lineto
1913 } for
1914 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
1915 brushNone not { istroke } if
1916 0 0 1 1 leftarrow
1917 n 2 sub dup n 1 sub dup rightarrow
1918 } if
1919 end
1920 } dup 0 4 dict put def
1921
1922 /Poly {
1923 3 1 roll
1924 newpath
1925 moveto
1926 -1 add
1927 { lineto } repeat
1928 closepath
1929 patternNone not { ifill } if
1930 brushNone not { istroke } if
1931 } def
1932
1933 /Rect {
1934 0 begin
1935 /t exch def
1936 /r exch def
1937 /b exch def
1938 /l exch def
1939 newpath
1940 l b moveto
1941 l t lineto
1942 r t lineto
1943 r b lineto
1944 closepath
1945 patternNone not { ifill } if
1946 brushNone not { istroke } if
1947 end
1948 } dup 0 4 dict put def
1949
1950 /Text {
1951 ishow
1952 } def
1953
1954 /idef {
1955 dup where { pop pop pop } { exch def } ifelse
1956 } def
1957
1958 /ifill {
1959 0 begin
1960 gsave
1961 patternGrayLevel -1 ne {
1962 fgred bgred fgred sub patternGrayLevel mul add
1963 fggreen bggreen fggreen sub patternGrayLevel mul add
1964 fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
1965 eofill
1966 } {
1967 eoclip
1968 originalCTM setmatrix
1969 pathbbox /t exch def /r exch def /b exch def /l exch def
1970 /w r l sub ceiling cvi def
1971 /h t b sub ceiling cvi def
1972 /imageByteWidth w 8 div ceiling cvi def
1973 /imageHeight h def
1974 bgred bggreen bgblue setrgbcolor
1975 eofill
1976 fgred fggreen fgblue setrgbcolor
1977 w 0 gt h 0 gt and {
1978 l b translate w h scale
1979 w h true [w 0 0 h neg 0 h] { patternproc } imagemask
1980 } if
1981 } ifelse
1982 grestore
1983 end
1984 } dup 0 8 dict put def
1985
1986 /istroke {
1987 gsave
1988 brushDashOffset -1 eq {
1989 [] 0 setdash
1990 1 setgray
1991 } {
1992 brushDashArray brushDashOffset setdash
1993 fgred fggreen fgblue setrgbcolor
1994 } ifelse
1995 brushWidth setlinewidth
1996 originalCTM setmatrix
1997 stroke
1998 grestore
1999 } def
2000
2001 /ishow {
2002 0 begin
2003 gsave
2004 fgred fggreen fgblue setrgbcolor
2005 /fontDict printFont printSize scalefont dup setfont def
2006 /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
2007 transform exch pop def
2008 /vertoffset 1 printSize sub descender sub def {
2009 0 vertoffset moveto show
2010 /vertoffset vertoffset printSize sub def
2011 } forall
2012 grestore
2013 end
2014 } dup 0 3 dict put def
2015 /patternproc {
2016 0 begin
2017 /patternByteLength patternString length def
2018 /patternHeight patternByteLength 8 mul sqrt cvi def
2019 /patternWidth patternHeight def
2020 /patternByteWidth patternWidth 8 idiv def
2021 /imageByteMaxLength imageByteWidth imageHeight mul
2022 stringLimit patternByteWidth sub min def
2023 /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
2024 patternHeight mul patternHeight max def
2025 /imageHeight imageHeight imageMaxHeight sub store
2026 /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
2027 0 1 imageMaxHeight 1 sub {
2028 /y exch def
2029 /patternRow y patternByteWidth mul patternByteLength mod def
2030 /patternRowString patternString patternRow patternByteWidth getinterval def
2031 /imageRow y imageByteWidth mul def
2032 0 patternByteWidth imageByteWidth 1 sub {
2033 /x exch def
2034 imageString imageRow x add patternRowString putinterval
2035 } for
2036 } for
2037 imageString
2038 end
2039 } dup 0 12 dict put def
2040
2041 /min {
2042 dup 3 2 roll dup 4 3 roll lt { exch } if pop
2043 } def
2044
2045 /max {
2046 dup 3 2 roll dup 4 3 roll gt { exch } if pop
2047 } def
2048
2049 /midpoint {
2050 0 begin
2051 /y1 exch def
2052 /x1 exch def
2053 /y0 exch def
2054 /x0 exch def
2055 x0 x1 add 2 div
2056 y0 y1 add 2 div
2057 end
2058 } dup 0 4 dict put def
2059
2060 /thirdpoint {
2061 0 begin
2062 /y1 exch def
2063 /x1 exch def
2064 /y0 exch def
2065 /x0 exch def
2066 x0 2 mul x1 add 3 div
2067 y0 2 mul y1 add 3 div
2068 end
2069 } dup 0 4 dict put def
2070
2071 /subspline {
2072 0 begin
2073 /movetoNeeded exch def
2074 y exch get /y3 exch def
2075 x exch get /x3 exch def
2076 y exch get /y2 exch def
2077 x exch get /x2 exch def
2078 y exch get /y1 exch def
2079 x exch get /x1 exch def
2080 y exch get /y0 exch def
2081 x exch get /x0 exch def
2082 x1 y1 x2 y2 thirdpoint
2083 /p1y exch def
2084 /p1x exch def
2085 x2 y2 x1 y1 thirdpoint
2086 /p2y exch def
2087 /p2x exch def
2088 x1 y1 x0 y0 thirdpoint
2089 p1x p1y midpoint
2090 /p0y exch def
2091 /p0x exch def
2092 x2 y2 x3 y3 thirdpoint
2093 p2x p2y midpoint
2094 /p3y exch def
2095 /p3x exch def
2096 movetoNeeded { p0x p0y moveto } if
2097 p1x p1y p2x p2y p3x p3y curveto
2098 end
2099 } dup 0 17 dict put def
2100
2101 /storexyn {
2102 /n exch def
2103 /y n array def
2104 /x n array def
2105 n 1 sub -1 0 {
2106 /i exch def
2107 y i 3 2 roll put
2108 x i 3 2 roll put
2109 } for
2110 } def
2111
2112 /SSten {
2113 fgred fggreen fgblue setrgbcolor
2114 dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
2115 } def
2116
2117 /FSten {
2118 dup 3 -1 roll dup 4 1 roll exch
2119 newpath
2120 0 0 moveto
2121 dup 0 exch lineto
2122 exch dup 3 1 roll exch lineto
2123 0 lineto
2124 closepath
2125 bgred bggreen bgblue setrgbcolor
2126 eofill
2127 SSten
2128 } def
2129
2130 /Rast {
2131 exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
2132 } def
2133
2134
2135 /arrowhead {
2136 0 begin
2137 transform originalCTM itransform
2138 /taily exch def
2139 /tailx exch def
2140 transform originalCTM itransform
2141 /tipy exch def
2142 /tipx exch def
2143 /dy tipy taily sub def
2144 /dx tipx tailx sub def
2145 /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
2146 gsave
2147 originalCTM setmatrix
2148 tipx tipy translate
2149 angle rotate
2150 newpath
2151 arrowHeight neg arrowWidth 2 div moveto
2152 0 0 lineto
2153 arrowHeight neg arrowWidth 2 div neg lineto
2154 patternNone not {
2155 originalCTM setmatrix
2156 /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
2157 arrowWidth div def
2158 /padtail brushWidth 2 div def
2159 tipx tipy translate
2160 angle rotate
2161 padtip 0 translate
2162 arrowHeight padtip add padtail add arrowHeight div dup scale
2163 arrowheadpath
2164 ifill
2165 } if
2166 brushNone not {
2167 originalCTM setmatrix
2168 tipx tipy translate
2169 angle rotate
2170 arrowheadpath
2171 istroke
2172 } if
2173 grestore
2174 end
2175 } dup 0 9 dict put def
2176
2177 /arrowheadpath {
2178 newpath
2179 arrowHeight neg arrowWidth 2 div moveto
2180 0 0 lineto
2181 arrowHeight neg arrowWidth 2 div neg lineto
2182 } def
2183
2184 /leftarrow {
2185 0 begin
2186 y exch get /taily exch def
2187 x exch get /tailx exch def
2188 y exch get /tipy exch def
2189 x exch get /tipx exch def
2190 brushLeftArrow { tipx tipy tailx taily arrowhead } if
2191 end
2192 } dup 0 4 dict put def
2193
2194 /rightarrow {
2195 0 begin
2196 y exch get /tipy exch def
2197 x exch get /tipx exch def
2198 y exch get /taily exch def
2199 x exch get /tailx exch def
2200 brushRightArrow { tipx tipy tailx taily arrowhead } if
2201 end
2202 } dup 0 4 dict put def
2203
2204
2205 %I Idraw 10 Grid 3 3 
2206
2207
2208 Begin
2209 %I b u
2210 %I cfg u
2211 %I cbg u
2212 %I f u
2213 %I p u
2214 %I t
2215 [ 0.799705 0 0 0.799705 0 0 ] concat
2216 /originalCTM matrix currentmatrix def
2217
2218 Begin %I Line
2219 %I b 65535
2220 2 0 0 [] 0 SetB
2221 %I cfg Black
2222 0 0 0 SetCFg
2223 %I cbg White
2224 1 1 1 SetCBg
2225 none SetP %I p n
2226 %I t
2227 [ 1 -0 -0 1 122 296 ] concat
2228 %I
2229 117 437 65 332 Line
2230 %I 1
2231 End
2232
2233 Begin %I Line
2234 %I b 65535
2235 2 0 0 [] 0 SetB
2236 %I cfg Black
2237 0 0 0 SetCFg
2238 %I cbg White
2239 1 1 1 SetCBg
2240 none SetP %I p n
2241 %I t
2242 [ 1 -0 -0 1 122 296 ] concat
2243 %I
2244 117 437 162 332 Line
2245 %I 1
2246 End
2247
2248 Begin %I Line
2249 %I b 65535
2250 2 0 0 [] 0 SetB
2251 %I cfg Black
2252 0 0 0 SetCFg
2253 %I cbg White
2254 1 1 1 SetCBg
2255 none SetP %I p n
2256 %I t
2257 [ 1 0 0 1 271 296 ] concat
2258 %I
2259 117 437 65 332 Line
2260 %I 1
2261 End
2262
2263 Begin %I Line
2264 %I b 65535
2265 2 0 0 [] 0 SetB
2266 %I cfg Black
2267 0 0 0 SetCFg
2268 %I cbg White
2269 1 1 1 SetCBg
2270 none SetP %I p n
2271 %I t
2272 [ 1 0 0 1 271 296 ] concat
2273 %I
2274 117 437 162 332 Line
2275 %I 1
2276 End
2277
2278 Begin %I Text
2279 %I cfg Black
2280 0 0 0 SetCFg
2281 %I f -*-times-medium-r-normal-*-12-*-*-*-*-*-*-*
2282 Times-Roman 12 SetF
2283 %I t
2284 [ 1 0 0 1 217 609 ] concat
2285 %I
2286 [
2287 (APHID)
2288 ] Text
2289 End
2290
2291 Begin %I Pict
2292 %I b 65535
2293 1 0 0 [] 0 SetB
2294 %I cfg u
2295 %I cbg u
2296 %I f u
2297 %I p u
2298 %I t
2299 [ 1 0 0 1 26.5 123.5 ] concat
2300
2301 Begin %I Line
2302 %I b 65535
2303 2 0 0 [] 0 SetB
2304 %I cfg Black
2305 0 0 0 SetCFg
2306 %I cbg White
2307 1 1 1 SetCBg
2308 none SetP %I p n
2309 %I t
2310 [ 1 -0 -0 1 122 296 ] concat
2311 %I
2312 72 272 76 268 Line
2313 %I 1
2314 End
2315
2316 Begin %I Line
2317 %I b 65535
2318 2 0 0 [] 0 SetB
2319 %I cfg Black
2320 0 0 0 SetCFg
2321 %I cbg White
2322 1 1 1 SetCBg
2323 none SetP %I p n
2324 %I t
2325 [ 1 -0 -0 1 122 296 ] concat
2326 %I
2327 72 268 76 272 Line
2328 %I 1
2329 End
2330
2331 End %I eop
2332
2333 Begin %I Pict
2334 %I b 65535
2335 1 0 0 [] 0 SetB
2336 %I cfg u
2337 %I cbg u
2338 %I f u
2339 %I p u
2340 %I t
2341 [ 1 0 0 1 30.5 123 ] concat
2342
2343 Begin %I Line
2344 %I b 65535
2345 2 0 0 [] 0 SetB
2346 %I cfg Black
2347 0 0 0 SetCFg
2348 %I cbg White
2349 1 1 1 SetCBg
2350 none SetP %I p n
2351 %I t
2352 [ 1 -0 -0 1 122 296 ] concat
2353 %I
2354 72 272 76 268 Line
2355 %I 1
2356 End
2357
2358 Begin %I Line
2359 %I b 65535
2360 2 0 0 [] 0 SetB
2361 %I cfg Black
2362 0 0 0 SetCFg
2363 %I cbg White
2364 1 1 1 SetCBg
2365 none SetP %I p n
2366 %I t
2367 [ 1 -0 -0 1 122 296 ] concat
2368 %I
2369 72 268 76 272 Line
2370 %I 1
2371 End
2372
2373 End %I eop
2374
2375 Begin %I Pict
2376 %I b 65535
2377 1 0 0 [] 0 SetB
2378 %I cfg u
2379 %I cbg u
2380 %I f u
2381 %I p u
2382 %I t
2383 [ 1 0 0 1 33.5 123 ] concat
2384
2385 Begin %I Line
2386 %I b 65535
2387 2 0 0 [] 0 SetB
2388 %I cfg Black
2389 0 0 0 SetCFg
2390 %I cbg White
2391 1 1 1 SetCBg
2392 none SetP %I p n
2393 %I t
2394 [ 1 -0 -0 1 122 296 ] concat
2395 %I
2396 72 272 76 268 Line
2397 %I 1
2398 End
2399
2400 Begin %I Line
2401 %I b 65535
2402 2 0 0 [] 0 SetB
2403 %I cfg Black
2404 0 0 0 SetCFg
2405 %I cbg White
2406 1 1 1 SetCBg
2407 none SetP %I p n
2408 %I t
2409 [ 1 -0 -0 1 122 296 ] concat
2410 %I
2411 72 268 76 272 Line
2412 %I 1
2413 End
2414
2415 End %I eop
2416
2417 Begin %I Pict
2418 %I b 65535
2419 1 0 0 [] 0 SetB
2420 %I cfg u
2421 %I cbg u
2422 %I f u
2423 %I p u
2424 %I t
2425 [ 1 0 0 1 37.5 123 ] concat
2426
2427 Begin %I Line
2428 %I b 65535
2429 2 0 0 [] 0 SetB
2430 %I cfg Black
2431 0 0 0 SetCFg
2432 %I cbg White
2433 1 1 1 SetCBg
2434 none SetP %I p n
2435 %I t
2436 [ 1 -0 -0 1 122 296 ] concat
2437 %I
2438 72 272 76 268 Line
2439 %I 1
2440 End
2441
2442 Begin %I Line
2443 %I b 65535
2444 2 0 0 [] 0 SetB
2445 %I cfg Black
2446 0 0 0 SetCFg
2447 %I cbg White
2448 1 1 1 SetCBg
2449 none SetP %I p n
2450 %I t
2451 [ 1 -0 -0 1 122 296 ] concat
2452 %I
2453 72 268 76 272 Line
2454 %I 1
2455 End
2456
2457 End %I eop
2458
2459 Begin %I Pict
2460 %I b 65535
2461 1 0 0 [] 0 SetB
2462 %I cfg u
2463 %I cbg u
2464 %I f u
2465 %I p u
2466 %I t
2467 [ 1 0 0 1 42 123.5 ] concat
2468
2469 Begin %I Line
2470 %I b 65535
2471 2 0 0 [] 0 SetB
2472 %I cfg Black
2473 0 0 0 SetCFg
2474 %I cbg White
2475 1 1 1 SetCBg
2476 none SetP %I p n
2477 %I t
2478 [ 1 -0 -0 1 122 296 ] concat
2479 %I
2480 72 272 76 268 Line
2481 %I 1
2482 End
2483
2484 Begin %I Line
2485 %I b 65535
2486 2 0 0 [] 0 SetB
2487 %I cfg Black
2488 0 0 0 SetCFg
2489 %I cbg White
2490 1 1 1 SetCBg
2491 none SetP %I p n
2492 %I t
2493 [ 1 -0 -0 1 122 296 ] concat
2494 %I
2495 72 268 76 272 Line
2496 %I 1
2497 End
2498
2499 End %I eop
2500
2501 Begin %I Pict
2502 %I b 65535
2503 1 0 0 [] 0 SetB
2504 %I cfg u
2505 %I cbg u
2506 %I f u
2507 %I p u
2508 %I t
2509 [ 1 0 0 1 45 123.5 ] concat
2510
2511 Begin %I Line
2512 %I b 65535
2513 2 0 0 [] 0 SetB
2514 %I cfg Black
2515 0 0 0 SetCFg
2516 %I cbg White
2517 1 1 1 SetCBg
2518 none SetP %I p n
2519 %I t
2520 [ 1 -0 -0 1 122 296 ] concat
2521 %I
2522 72 272 76 268 Line
2523 %I 1
2524 End
2525
2526 Begin %I Line
2527 %I b 65535
2528 2 0 0 [] 0 SetB
2529 %I cfg Black
2530 0 0 0 SetCFg
2531 %I cbg White
2532 1 1 1 SetCBg
2533 none SetP %I p n
2534 %I t
2535 [ 1 -0 -0 1 122 296 ] concat
2536 %I
2537 72 268 76 272 Line
2538 %I 1
2539 End
2540
2541 End %I eop
2542
2543 Begin %I Pict
2544 %I b 65535
2545 1 0 0 [] 0 SetB
2546 %I cfg u
2547 %I cbg u
2548 %I f u
2549 %I p u
2550 %I t
2551 [ 1 0 0 1 49 123.5 ] concat
2552
2553 Begin %I Line
2554 %I b 65535
2555 2 0 0 [] 0 SetB
2556 %I cfg Black
2557 0 0 0 SetCFg
2558 %I cbg White
2559 1 1 1 SetCBg
2560 none SetP %I p n
2561 %I t
2562 [ 1 -0 -0 1 122 296 ] concat
2563 %I
2564 72 272 76 268 Line
2565 %I 1
2566 End
2567
2568 Begin %I Line
2569 %I b 65535
2570 2 0 0 [] 0 SetB
2571 %I cfg Black
2572 0 0 0 SetCFg
2573 %I cbg White
2574 1 1 1 SetCBg
2575 none SetP %I p n
2576 %I t
2577 [ 1 -0 -0 1 122 296 ] concat
2578 %I
2579 72 268 76 272 Line
2580 %I 1
2581 End
2582
2583 End %I eop
2584
2585 Begin %I Pict
2586 %I b 65535
2587 1 0 0 [] 0 SetB
2588 %I cfg u
2589 %I cbg u
2590 %I f u
2591 %I p u
2592 %I t
2593 [ 1 0 0 1 52.5 123.5 ] concat
2594
2595 Begin %I Line
2596 %I b 65535
2597 2 0 0 [] 0 SetB
2598 %I cfg Black
2599 0 0 0 SetCFg
2600 %I cbg White
2601 1 1 1 SetCBg
2602 none SetP %I p n
2603 %I t
2604 [ 1 -0 -0 1 122 296 ] concat
2605 %I
2606 72 272 76 268 Line
2607 %I 1
2608 End
2609
2610 Begin %I Line
2611 %I b 65535
2612 2 0 0 [] 0 SetB
2613 %I cfg Black
2614 0 0 0 SetCFg
2615 %I cbg White
2616 1 1 1 SetCBg
2617 none SetP %I p n
2618 %I t
2619 [ 1 -0 -0 1 122 296 ] concat
2620 %I
2621 72 268 76 272 Line
2622 %I 1
2623 End
2624
2625 End %I eop
2626
2627 Begin %I Pict
2628 %I b 65535
2629 1 0 0 [] 0 SetB
2630 %I cfg u
2631 %I cbg u
2632 %I f u
2633 %I p u
2634 %I t
2635 [ 1 0 0 1 56 123.5 ] concat
2636
2637 Begin %I Line
2638 %I b 65535
2639 2 0 0 [] 0 SetB
2640 %I cfg Black
2641 0 0 0 SetCFg
2642 %I cbg White
2643 1 1 1 SetCBg
2644 none SetP %I p n
2645 %I t
2646 [ 1 -0 -0 1 122 296 ] concat
2647 %I
2648 72 272 76 268 Line
2649 %I 1
2650 End
2651
2652 Begin %I Line
2653 %I b 65535
2654 2 0 0 [] 0 SetB
2655 %I cfg Black
2656 0 0 0 SetCFg
2657 %I cbg White
2658 1 1 1 SetCBg
2659 none SetP %I p n
2660 %I t
2661 [ 1 -0 -0 1 122 296 ] concat
2662 %I
2663 72 268 76 272 Line
2664 %I 1
2665 End
2666
2667 End %I eop
2668
2669 Begin %I Pict
2670 %I b 65535
2671 1 0 0 [] 0 SetB
2672 %I cfg u
2673 %I cbg u
2674 %I f u
2675 %I p u
2676 %I t
2677 [ 1 0 0 1 60 123.5 ] concat
2678
2679 Begin %I Line
2680 %I b 65535
2681 2 0 0 [] 0 SetB
2682 %I cfg Black
2683 0 0 0 SetCFg
2684 %I cbg White
2685 1 1 1 SetCBg
2686 none SetP %I p n
2687 %I t
2688 [ 1 -0 -0 1 122 296 ] concat
2689 %I
2690 72 272 76 268 Line
2691 %I 1
2692 End
2693
2694 Begin %I Line
2695 %I b 65535
2696 2 0 0 [] 0 SetB
2697 %I cfg Black
2698 0 0 0 SetCFg
2699 %I cbg White
2700 1 1 1 SetCBg
2701 none SetP %I p n
2702 %I t
2703 [ 1 -0 -0 1 122 296 ] concat
2704 %I
2705 72 268 76 272 Line
2706 %I 1
2707 End
2708
2709 End %I eop
2710
2711 Begin %I Pict
2712 %I b 65535
2713 1 0 0 [] 0 SetB
2714 %I cfg u
2715 %I cbg u
2716 %I f u
2717 %I p u
2718 %I t
2719 [ 1 0 0 1 22.5 123.5 ] concat
2720
2721 Begin %I Line
2722 %I b 65535
2723 2 0 0 [] 0 SetB
2724 %I cfg Black
2725 0 0 0 SetCFg
2726 %I cbg White
2727 1 1 1 SetCBg
2728 none SetP %I p n
2729 %I t
2730 [ 1 -0 -0 1 122 296 ] concat
2731 %I
2732 72 272 76 268 Line
2733 %I 1
2734 End
2735
2736 Begin %I Line
2737 %I b 65535
2738 2 0 0 [] 0 SetB
2739 %I cfg Black
2740 0 0 0 SetCFg
2741 %I cbg White
2742 1 1 1 SetCBg
2743 none SetP %I p n
2744 %I t
2745 [ 1 -0 -0 1 122 296 ] concat
2746 %I
2747 72 268 76 272 Line
2748 %I 1
2749 End
2750
2751 End %I eop
2752
2753 Begin %I Pict
2754 %I b 65535
2755 1 0 0 [] 0 SetB
2756 %I cfg u
2757 %I cbg u
2758 %I f u
2759 %I p u
2760 %I t
2761 [ 1 0 0 1 159 96 ] concat
2762
2763 Begin %I Line
2764 %I b 65535
2765 2 0 0 [] 0 SetB
2766 %I cfg Black
2767 0 0 0 SetCFg
2768 %I cbg White
2769 1 1 1 SetCBg
2770 none SetP %I p n
2771 %I t
2772 [ 1 -0 -0 1 122 296 ] concat
2773 %I
2774 72 272 76 268 Line
2775 %I 1
2776 End
2777
2778 Begin %I Line
2779 %I b 65535
2780 2 0 0 [] 0 SetB
2781 %I cfg Black
2782 0 0 0 SetCFg
2783 %I cbg White
2784 1 1 1 SetCBg
2785 none SetP %I p n
2786 %I t
2787 [ 1 -0 -0 1 122 296 ] concat
2788 %I
2789 72 268 76 272 Line
2790 %I 1
2791 End
2792
2793 End %I eop
2794
2795 Begin %I Pict
2796 %I b 65535
2797 1 0 0 [] 0 SetB
2798 %I cfg u
2799 %I cbg u
2800 %I f u
2801 %I p u
2802 %I t
2803 [ 1 0 0 1 162.5 104 ] concat
2804
2805 Begin %I Line
2806 %I b 65535
2807 2 0 0 [] 0 SetB
2808 %I cfg Black
2809 0 0 0 SetCFg
2810 %I cbg White
2811 1 1 1 SetCBg
2812 none SetP %I p n
2813 %I t
2814 [ 1 -0 -0 1 122 296 ] concat
2815 %I
2816 72 272 76 268 Line
2817 %I 1
2818 End
2819
2820 Begin %I Line
2821 %I b 65535
2822 2 0 0 [] 0 SetB
2823 %I cfg Black
2824 0 0 0 SetCFg
2825 %I cbg White
2826 1 1 1 SetCBg
2827 none SetP %I p n
2828 %I t
2829 [ 1 -0 -0 1 122 296 ] concat
2830 %I
2831 72 268 76 272 Line
2832 %I 1
2833 End
2834
2835 End %I eop
2836
2837 Begin %I Pict
2838 %I b 65535
2839 1 0 0 [] 0 SetB
2840 %I cfg u
2841 %I cbg u
2842 %I f u
2843 %I p u
2844 %I t
2845 [ 1 0 0 1 166 110.5 ] concat
2846
2847 Begin %I Line
2848 %I b 65535
2849 2 0 0 [] 0 SetB
2850 %I cfg Black
2851 0 0 0 SetCFg
2852 %I cbg White
2853 1 1 1 SetCBg
2854 none SetP %I p n
2855 %I t
2856 [ 1 -0 -0 1 122 296 ] concat
2857 %I
2858 72 272 76 268 Line
2859 %I 1
2860 End
2861
2862 Begin %I Line
2863 %I b 65535
2864 2 0 0 [] 0 SetB
2865 %I cfg Black
2866 0 0 0 SetCFg
2867 %I cbg White
2868 1 1 1 SetCBg
2869 none SetP %I p n
2870 %I t
2871 [ 1 -0 -0 1 122 296 ] concat
2872 %I
2873 72 268 76 272 Line
2874 %I 1
2875 End
2876
2877 End %I eop
2878
2879 Begin %I Pict
2880 %I b 65535
2881 1 0 0 [] 0 SetB
2882 %I cfg u
2883 %I cbg u
2884 %I f u
2885 %I p u
2886 %I t
2887 [ 1 0 0 1 170.5 118.5 ] concat
2888
2889 Begin %I Line
2890 %I b 65535
2891 2 0 0 [] 0 SetB
2892 %I cfg Black
2893 0 0 0 SetCFg
2894 %I cbg White
2895 1 1 1 SetCBg
2896 none SetP %I p n
2897 %I t
2898 [ 1 -0 -0 1 122 296 ] concat
2899 %I
2900 72 272 76 268 Line
2901 %I 1
2902 End
2903
2904 Begin %I Line
2905 %I b 65535
2906 2 0 0 [] 0 SetB
2907 %I cfg Black
2908 0 0 0 SetCFg
2909 %I cbg White
2910 1 1 1 SetCBg
2911 none SetP %I p n
2912 %I t
2913 [ 1 -0 -0 1 122 296 ] concat
2914 %I
2915 72 268 76 272 Line
2916 %I 1
2917 End
2918
2919 End %I eop
2920
2921 Begin %I Pict
2922 %I b 65535
2923 1 0 0 [] 0 SetB
2924 %I cfg u
2925 %I cbg u
2926 %I f u
2927 %I p u
2928 %I t
2929 [ 1 0 0 1 174 126.5 ] concat
2930
2931 Begin %I Line
2932 %I b 65535
2933 2 0 0 [] 0 SetB
2934 %I cfg Black
2935 0 0 0 SetCFg
2936 %I cbg White
2937 1 1 1 SetCBg
2938 none SetP %I p n
2939 %I t
2940 [ 1 -0 -0 1 122 296 ] concat
2941 %I
2942 72 272 76 268 Line
2943 %I 1
2944 End
2945
2946 Begin %I Line
2947 %I b 65535
2948 2 0 0 [] 0 SetB
2949 %I cfg Black
2950 0 0 0 SetCFg
2951 %I cbg White
2952 1 1 1 SetCBg
2953 none SetP %I p n
2954 %I t
2955 [ 1 -0 -0 1 122 296 ] concat
2956 %I
2957 72 268 76 272 Line
2958 %I 1
2959 End
2960
2961 End %I eop
2962
2963 Begin %I Pict
2964 %I b 65535
2965 1 0 0 [] 0 SetB
2966 %I cfg u
2967 %I cbg u
2968 %I f u
2969 %I p u
2970 %I t
2971 [ 1 0 0 1 177 134 ] concat
2972
2973 Begin %I Line
2974 %I b 65535
2975 2 0 0 [] 0 SetB
2976 %I cfg Black
2977 0 0 0 SetCFg
2978 %I cbg White
2979 1 1 1 SetCBg
2980 none SetP %I p n
2981 %I t
2982 [ 1 -0 -0 1 122 296 ] concat
2983 %I
2984 72 272 76 268 Line
2985 %I 1
2986 End
2987
2988 Begin %I Line
2989 %I b 65535
2990 2 0 0 [] 0 SetB
2991 %I cfg Black
2992 0 0 0 SetCFg
2993 %I cbg White
2994 1 1 1 SetCBg
2995 none SetP %I p n
2996 %I t
2997 [ 1 -0 -0 1 122 296 ] concat
2998 %I
2999 72 268 76 272 Line
3000 %I 1
3001 End
3002
3003 End %I eop
3004
3005 Begin %I Pict
3006 %I b 65535
3007 1 0 0 [] 0 SetB
3008 %I cfg u
3009 %I cbg u
3010 %I f u
3011 %I p u
3012 %I t
3013 [ 1 0 0 1 181 141 ] concat
3014
3015 Begin %I Line
3016 %I b 65535
3017 2 0 0 [] 0 SetB
3018 %I cfg Black
3019 0 0 0 SetCFg
3020 %I cbg White
3021 1 1 1 SetCBg
3022 none SetP %I p n
3023 %I t
3024 [ 1 -0 -0 1 122 296 ] concat
3025 %I
3026 72 272 76 268 Line
3027 %I 1
3028 End
3029
3030 Begin %I Line
3031 %I b 65535
3032 2 0 0 [] 0 SetB
3033 %I cfg Black
3034 0 0 0 SetCFg
3035 %I cbg White
3036 1 1 1 SetCBg
3037 none SetP %I p n
3038 %I t
3039 [ 1 -0 -0 1 122 296 ] concat
3040 %I
3041 72 268 76 272 Line
3042 %I 1
3043 End
3044
3045 End %I eop
3046
3047 Begin %I Pict
3048 %I b 65535
3049 1 0 0 [] 0 SetB
3050 %I cfg u
3051 %I cbg u
3052 %I f u
3053 %I p u
3054 %I t
3055 [ 1 0 0 1 185 149 ] concat
3056
3057 Begin %I Line
3058 %I b 65535
3059 2 0 0 [] 0 SetB
3060 %I cfg Black
3061 0 0 0 SetCFg
3062 %I cbg White
3063 1 1 1 SetCBg
3064 none SetP %I p n
3065 %I t
3066 [ 1 -0 -0 1 122 296 ] concat
3067 %I
3068 72 272 76 268 Line
3069 %I 1
3070 End
3071
3072 Begin %I Line
3073 %I b 65535
3074 2 0 0 [] 0 SetB
3075 %I cfg Black
3076 0 0 0 SetCFg
3077 %I cbg White
3078 1 1 1 SetCBg
3079 none SetP %I p n
3080 %I t
3081 [ 1 -0 -0 1 122 296 ] concat
3082 %I
3083 72 268 76 272 Line
3084 %I 1
3085 End
3086
3087 End %I eop
3088
3089 Begin %I Pict
3090 %I b 65535
3091 1 0 0 [] 0 SetB
3092 %I cfg u
3093 %I cbg u
3094 %I f u
3095 %I p u
3096 %I t
3097 [ 1 0 0 1 188.5 156 ] concat
3098
3099 Begin %I Line
3100 %I b 65535
3101 2 0 0 [] 0 SetB
3102 %I cfg Black
3103 0 0 0 SetCFg
3104 %I cbg White
3105 1 1 1 SetCBg
3106 none SetP %I p n
3107 %I t
3108 [ 1 -0 -0 1 122 296 ] concat
3109 %I
3110 72 272 76 268 Line
3111 %I 1
3112 End
3113
3114 Begin %I Line
3115 %I b 65535
3116 2 0 0 [] 0 SetB
3117 %I cfg Black
3118 0 0 0 SetCFg
3119 %I cbg White
3120 1 1 1 SetCBg
3121 none SetP %I p n
3122 %I t
3123 [ 1 -0 -0 1 122 296 ] concat
3124 %I
3125 72 268 76 272 Line
3126 %I 1
3127 End
3128
3129 End %I eop
3130
3131 Begin %I Pict
3132 %I b 65535
3133 1 0 0 [] 0 SetB
3134 %I cfg u
3135 %I cbg u
3136 %I f u
3137 %I p u
3138 %I t
3139 [ 1 0 0 1 191.5 164 ] concat
3140
3141 Begin %I Line
3142 %I b 65535
3143 2 0 0 [] 0 SetB
3144 %I cfg Black
3145 0 0 0 SetCFg
3146 %I cbg White
3147 1 1 1 SetCBg
3148 none SetP %I p n
3149 %I t
3150 [ 1 -0 -0 1 122 296 ] concat
3151 %I
3152 72 272 76 268 Line
3153 %I 1
3154 End
3155
3156 Begin %I Line
3157 %I b 65535
3158 2 0 0 [] 0 SetB
3159 %I cfg Black
3160 0 0 0 SetCFg
3161 %I cbg White
3162 1 1 1 SetCBg
3163 none SetP %I p n
3164 %I t
3165 [ 1 -0 -0 1 122 296 ] concat
3166 %I
3167 72 268 76 272 Line
3168 %I 1
3169 End
3170
3171 End %I eop
3172
3173 Begin %I Pict
3174 %I b 65535
3175 1 0 0 [] 0 SetB
3176 %I cfg u
3177 %I cbg u
3178 %I f u
3179 %I p u
3180 %I t
3181 [ 1 0 0 1 156 88.5 ] concat
3182
3183 Begin %I Line
3184 %I b 65535
3185 2 0 0 [] 0 SetB
3186 %I cfg Black
3187 0 0 0 SetCFg
3188 %I cbg White
3189 1 1 1 SetCBg
3190 none SetP %I p n
3191 %I t
3192 [ 1 -0 -0 1 122 296 ] concat
3193 %I
3194 72 272 76 268 Line
3195 %I 1
3196 End
3197
3198 Begin %I Line
3199 %I b 65535
3200 2 0 0 [] 0 SetB
3201 %I cfg Black
3202 0 0 0 SetCFg
3203 %I cbg White
3204 1 1 1 SetCBg
3205 none SetP %I p n
3206 %I t
3207 [ 1 -0 -0 1 122 296 ] concat
3208 %I
3209 72 268 76 272 Line
3210 %I 1
3211 End
3212
3213 End %I eop
3214
3215 Begin %I Pict
3216 %I b 65535
3217 1 0 0 [] 0 SetB
3218 %I cfg u
3219 %I cbg u
3220 %I f u
3221 %I p u
3222 %I t
3223 [ 1 0 0 1 151.5 80 ] concat
3224
3225 Begin %I Line
3226 %I b 65535
3227 2 0 0 [] 0 SetB
3228 %I cfg Black
3229 0 0 0 SetCFg
3230 %I cbg White
3231 1 1 1 SetCBg
3232 none SetP %I p n
3233 %I t
3234 [ 1 -0 -0 1 122 296 ] concat
3235 %I
3236 72 272 76 268 Line
3237 %I 1
3238 End
3239
3240 Begin %I Line
3241 %I b 65535
3242 2 0 0 [] 0 SetB
3243 %I cfg Black
3244 0 0 0 SetCFg
3245 %I cbg White
3246 1 1 1 SetCBg
3247 none SetP %I p n
3248 %I t
3249 [ 1 -0 -0 1 122 296 ] concat
3250 %I
3251 72 268 76 272 Line
3252 %I 1
3253 End
3254
3255 End %I eop
3256
3257 Begin %I Pict
3258 %I b 65535
3259 1 0 0 [] 0 SetB
3260 %I cfg u
3261 %I cbg u
3262 %I f u
3263 %I p u
3264 %I t
3265 [ 1 0 0 1 148 72.5 ] concat
3266
3267 Begin %I Line
3268 %I b 65535
3269 2 0 0 [] 0 SetB
3270 %I cfg Black
3271 0 0 0 SetCFg
3272 %I cbg White
3273 1 1 1 SetCBg
3274 none SetP %I p n
3275 %I t
3276 [ 1 -0 -0 1 122 296 ] concat
3277 %I
3278 72 272 76 268 Line
3279 %I 1
3280 End
3281
3282 Begin %I Line
3283 %I b 65535
3284 2 0 0 [] 0 SetB
3285 %I cfg Black
3286 0 0 0 SetCFg
3287 %I cbg White
3288 1 1 1 SetCBg
3289 none SetP %I p n
3290 %I t
3291 [ 1 -0 -0 1 122 296 ] concat
3292 %I
3293 72 268 76 272 Line
3294 %I 1
3295 End
3296
3297 End %I eop
3298
3299 Begin %I Pict
3300 %I b 65535
3301 1 0 0 [] 0 SetB
3302 %I cfg u
3303 %I cbg u
3304 %I f u
3305 %I p u
3306 %I t
3307 [ 1 0 0 1 192 149 ] concat
3308
3309 Begin %I Line
3310 %I b 65535
3311 2 0 0 [] 0 SetB
3312 %I cfg Black
3313 0 0 0 SetCFg
3314 %I cbg White
3315 1 1 1 SetCBg
3316 none SetP %I p n
3317 %I t
3318 [ 1 -0 -0 1 122 296 ] concat
3319 %I
3320 72 272 76 268 Line
3321 %I 1
3322 End
3323
3324 Begin %I Line
3325 %I b 65535
3326 2 0 0 [] 0 SetB
3327 %I cfg Black
3328 0 0 0 SetCFg
3329 %I cbg White
3330 1 1 1 SetCBg
3331 none SetP %I p n
3332 %I t
3333 [ 1 -0 -0 1 122 296 ] concat
3334 %I
3335 72 268 76 272 Line
3336 %I 1
3337 End
3338
3339 End %I eop
3340
3341 Begin %I Pict
3342 %I b 65535
3343 1 0 0 [] 0 SetB
3344 %I cfg u
3345 %I cbg u
3346 %I f u
3347 %I p u
3348 %I t
3349 [ 1 0 0 1 195.5 149 ] concat
3350
3351 Begin %I Line
3352 %I b 65535
3353 2 0 0 [] 0 SetB
3354 %I cfg Black
3355 0 0 0 SetCFg
3356 %I cbg White
3357 1 1 1 SetCBg
3358 none SetP %I p n
3359 %I t
3360 [ 1 -0 -0 1 122 296 ] concat
3361 %I
3362 72 272 76 268 Line
3363 %I 1
3364 End
3365
3366 Begin %I Line
3367 %I b 65535
3368 2 0 0 [] 0 SetB
3369 %I cfg Black
3370 0 0 0 SetCFg
3371 %I cbg White
3372 1 1 1 SetCBg
3373 none SetP %I p n
3374 %I t
3375 [ 1 -0 -0 1 122 296 ] concat
3376 %I
3377 72 268 76 272 Line
3378 %I 1
3379 End
3380
3381 End %I eop
3382
3383 Begin %I Pict
3384 %I b 65535
3385 1 0 0 [] 0 SetB
3386 %I cfg u
3387 %I cbg u
3388 %I f u
3389 %I p u
3390 %I t
3391 [ 1 0 0 1 198.5 149 ] concat
3392
3393 Begin %I Line
3394 %I b 65535
3395 2 0 0 [] 0 SetB
3396 %I cfg Black
3397 0 0 0 SetCFg
3398 %I cbg White
3399 1 1 1 SetCBg
3400 none SetP %I p n
3401 %I t
3402 [ 1 -0 -0 1 122 296 ] concat
3403 %I
3404 72 272 76 268 Line
3405 %I 1
3406 End
3407
3408 Begin %I Line
3409 %I b 65535
3410 2 0 0 [] 0 SetB
3411 %I cfg Black
3412 0 0 0 SetCFg
3413 %I cbg White
3414 1 1 1 SetCBg
3415 none SetP %I p n
3416 %I t
3417 [ 1 -0 -0 1 122 296 ] concat
3418 %I
3419 72 268 76 272 Line
3420 %I 1
3421 End
3422
3423 End %I eop
3424
3425 Begin %I Pict
3426 %I b 65535
3427 1 0 0 [] 0 SetB
3428 %I cfg u
3429 %I cbg u
3430 %I f u
3431 %I p u
3432 %I t
3433 [ 1 0 0 1 191 135 ] concat
3434
3435 Begin %I Line
3436 %I b 65535
3437 2 0 0 [] 0 SetB
3438 %I cfg Black
3439 0 0 0 SetCFg
3440 %I cbg White
3441 1 1 1 SetCBg
3442 none SetP %I p n
3443 %I t
3444 [ 1 -0 -0 1 122 296 ] concat
3445 %I
3446 72 272 76 268 Line
3447 %I 1
3448 End
3449
3450 Begin %I Line
3451 %I b 65535
3452 2 0 0 [] 0 SetB
3453 %I cfg Black
3454 0 0 0 SetCFg
3455 %I cbg White
3456 1 1 1 SetCBg
3457 none SetP %I p n
3458 %I t
3459 [ 1 -0 -0 1 122 296 ] concat
3460 %I
3461 72 268 76 272 Line
3462 %I 1
3463 End
3464
3465 End %I eop
3466
3467 Begin %I Pict
3468 %I b 65535
3469 1 0 0 [] 0 SetB
3470 %I cfg u
3471 %I cbg u
3472 %I f u
3473 %I p u
3474 %I t
3475 [ 1 0 0 1 195 135 ] concat
3476
3477 Begin %I Line
3478 %I b 65535
3479 2 0 0 [] 0 SetB
3480 %I cfg Black
3481 0 0 0 SetCFg
3482 %I cbg White
3483 1 1 1 SetCBg
3484 none SetP %I p n
3485 %I t
3486 [ 1 -0 -0 1 122 296 ] concat
3487 %I
3488 72 272 76 268 Line
3489 %I 1
3490 End
3491
3492 Begin %I Line
3493 %I b 65535
3494 2 0 0 [] 0 SetB
3495 %I cfg Black
3496 0 0 0 SetCFg
3497 %I cbg White
3498 1 1 1 SetCBg
3499 none SetP %I p n
3500 %I t
3501 [ 1 -0 -0 1 122 296 ] concat
3502 %I
3503 72 268 76 272 Line
3504 %I 1
3505 End
3506
3507 End %I eop
3508
3509 Begin %I Pict
3510 %I b 65535
3511 1 0 0 [] 0 SetB
3512 %I cfg u
3513 %I cbg u
3514 %I f u
3515 %I p u
3516 %I t
3517 [ 1 0 0 1 199 135 ] concat
3518
3519 Begin %I Line
3520 %I b 65535
3521 2 0 0 [] 0 SetB
3522 %I cfg Black
3523 0 0 0 SetCFg
3524 %I cbg White
3525 1 1 1 SetCBg
3526 none SetP %I p n
3527 %I t
3528 [ 1 -0 -0 1 122 296 ] concat
3529 %I
3530 72 272 76 268 Line
3531 %I 1
3532 End
3533
3534 Begin %I Line
3535 %I b 65535
3536 2 0 0 [] 0 SetB
3537 %I cfg Black
3538 0 0 0 SetCFg
3539 %I cbg White
3540 1 1 1 SetCBg
3541 none SetP %I p n
3542 %I t
3543 [ 1 -0 -0 1 122 296 ] concat
3544 %I
3545 72 268 76 272 Line
3546 %I 1
3547 End
3548
3549 End %I eop
3550
3551 Begin %I Pict
3552 %I b 65535
3553 1 0 0 [] 0 SetB
3554 %I cfg u
3555 %I cbg u
3556 %I f u
3557 %I p u
3558 %I t
3559 [ 1 0 0 1 203.5 135 ] concat
3560
3561 Begin %I Line
3562 %I b 65535
3563 2 0 0 [] 0 SetB
3564 %I cfg Black
3565 0 0 0 SetCFg
3566 %I cbg White
3567 1 1 1 SetCBg
3568 none SetP %I p n
3569 %I t
3570 [ 1 -0 -0 1 122 296 ] concat
3571 %I
3572 72 272 76 268 Line
3573 %I 1
3574 End
3575
3576 Begin %I Line
3577 %I b 65535
3578 2 0 0 [] 0 SetB
3579 %I cfg Black
3580 0 0 0 SetCFg
3581 %I cbg White
3582 1 1 1 SetCBg
3583 none SetP %I p n
3584 %I t
3585 [ 1 -0 -0 1 122 296 ] concat
3586 %I
3587 72 268 76 272 Line
3588 %I 1
3589 End
3590
3591 End %I eop
3592
3593 Begin %I Pict
3594 %I b 65535
3595 1 0 0 [] 0 SetB
3596 %I cfg u
3597 %I cbg u
3598 %I f u
3599 %I p u
3600 %I t
3601 [ 1 0 0 1 187 141 ] concat
3602
3603 Begin %I Line
3604 %I b 65535
3605 2 0 0 [] 0 SetB
3606 %I cfg Black
3607 0 0 0 SetCFg
3608 %I cbg White
3609 1 1 1 SetCBg
3610 none SetP %I p n
3611 %I t
3612 [ 1 -0 -0 1 122 296 ] concat
3613 %I
3614 72 272 76 268 Line
3615 %I 1
3616 End
3617
3618 Begin %I Line
3619 %I b 65535
3620 2 0 0 [] 0 SetB
3621 %I cfg Black
3622 0 0 0 SetCFg
3623 %I cbg White
3624 1 1 1 SetCBg
3625 none SetP %I p n
3626 %I t
3627 [ 1 -0 -0 1 122 296 ] concat
3628 %I
3629 72 268 76 272 Line
3630 %I 1
3631 End
3632
3633 End %I eop
3634
3635 Begin %I Pict
3636 %I b 65535
3637 1 0 0 [] 0 SetB
3638 %I cfg u
3639 %I cbg u
3640 %I f u
3641 %I p u
3642 %I t
3643 [ 1 0 0 1 190 141 ] concat
3644
3645 Begin %I Line
3646 %I b 65535
3647 2 0 0 [] 0 SetB
3648 %I cfg Black
3649 0 0 0 SetCFg
3650 %I cbg White
3651 1 1 1 SetCBg
3652 none SetP %I p n
3653 %I t
3654 [ 1 -0 -0 1 122 296 ] concat
3655 %I
3656 72 272 76 268 Line
3657 %I 1
3658 End
3659
3660 Begin %I Line
3661 %I b 65535
3662 2 0 0 [] 0 SetB
3663 %I cfg Black
3664 0 0 0 SetCFg
3665 %I cbg White
3666 1 1 1 SetCBg
3667 none SetP %I p n
3668 %I t
3669 [ 1 -0 -0 1 122 296 ] concat
3670 %I
3671 72 268 76 272 Line
3672 %I 1
3673 End
3674
3675 End %I eop
3676
3677 Begin %I Pict
3678 %I b 65535
3679 1 0 0 [] 0 SetB
3680 %I cfg u
3681 %I cbg u
3682 %I f u
3683 %I p u
3684 %I t
3685 [ 1 0 0 1 181 126.5 ] concat
3686
3687 Begin %I Line
3688 %I b 65535
3689 2 0 0 [] 0 SetB
3690 %I cfg Black
3691 0 0 0 SetCFg
3692 %I cbg White
3693 1 1 1 SetCBg
3694 none SetP %I p n
3695 %I t
3696 [ 1 -0 -0 1 122 296 ] concat
3697 %I
3698 72 272 76 268 Line
3699 %I 1
3700 End
3701
3702 Begin %I Line
3703 %I b 65535
3704 2 0 0 [] 0 SetB
3705 %I cfg Black
3706 0 0 0 SetCFg
3707 %I cbg White
3708 1 1 1 SetCBg
3709 none SetP %I p n
3710 %I t
3711 [ 1 -0 -0 1 122 296 ] concat
3712 %I
3713 72 268 76 272 Line
3714 %I 1
3715 End
3716
3717 End %I eop
3718
3719 Begin %I Pict
3720 %I b 65535
3721 1 0 0 [] 0 SetB
3722 %I cfg u
3723 %I cbg u
3724 %I f u
3725 %I p u
3726 %I t
3727 [ 1 0 0 1 185 126.5 ] concat
3728
3729 Begin %I Line
3730 %I b 65535
3731 2 0 0 [] 0 SetB
3732 %I cfg Black
3733 0 0 0 SetCFg
3734 %I cbg White
3735 1 1 1 SetCBg
3736 none SetP %I p n
3737 %I t
3738 [ 1 -0 -0 1 122 296 ] concat
3739 %I
3740 72 272 76 268 Line
3741 %I 1
3742 End
3743
3744 Begin %I Line
3745 %I b 65535
3746 2 0 0 [] 0 SetB
3747 %I cfg Black
3748 0 0 0 SetCFg
3749 %I cbg White
3750 1 1 1 SetCBg
3751 none SetP %I p n
3752 %I t
3753 [ 1 -0 -0 1 122 296 ] concat
3754 %I
3755 72 268 76 272 Line
3756 %I 1
3757 End
3758
3759 End %I eop
3760
3761 Begin %I Pict
3762 %I b 65535
3763 1 0 0 [] 0 SetB
3764 %I cfg u
3765 %I cbg u
3766 %I f u
3767 %I p u
3768 %I t
3769 [ 1 0 0 1 189 127 ] concat
3770
3771 Begin %I Line
3772 %I b 65535
3773 2 0 0 [] 0 SetB
3774 %I cfg Black
3775 0 0 0 SetCFg
3776 %I cbg White
3777 1 1 1 SetCBg
3778 none SetP %I p n
3779 %I t
3780 [ 1 -0 -0 1 122 296 ] concat
3781 %I
3782 72 272 76 268 Line
3783 %I 1
3784 End
3785
3786 Begin %I Line
3787 %I b 65535
3788 2 0 0 [] 0 SetB
3789 %I cfg Black
3790 0 0 0 SetCFg
3791 %I cbg White
3792 1 1 1 SetCBg
3793 none SetP %I p n
3794 %I t
3795 [ 1 -0 -0 1 122 296 ] concat
3796 %I
3797 72 268 76 272 Line
3798 %I 1
3799 End
3800
3801 End %I eop
3802
3803 Begin %I Pict
3804 %I b 65535
3805 1 0 0 [] 0 SetB
3806 %I cfg u
3807 %I cbg u
3808 %I f u
3809 %I p u
3810 %I t
3811 [ 1 0 0 1 188.5 118.5 ] concat
3812
3813 Begin %I Line
3814 %I b 65535
3815 2 0 0 [] 0 SetB
3816 %I cfg Black
3817 0 0 0 SetCFg
3818 %I cbg White
3819 1 1 1 SetCBg
3820 none SetP %I p n
3821 %I t
3822 [ 1 -0 -0 1 122 296 ] concat
3823 %I
3824 72 272 76 268 Line
3825 %I 1
3826 End
3827
3828 Begin %I Line
3829 %I b 65535
3830 2 0 0 [] 0 SetB
3831 %I cfg Black
3832 0 0 0 SetCFg
3833 %I cbg White
3834 1 1 1 SetCBg
3835 none SetP %I p n
3836 %I t
3837 [ 1 -0 -0 1 122 296 ] concat
3838 %I
3839 72 268 76 272 Line
3840 %I 1
3841 End
3842
3843 End %I eop
3844
3845 Begin %I Pict
3846 %I b 65535
3847 1 0 0 [] 0 SetB
3848 %I cfg u
3849 %I cbg u
3850 %I f u
3851 %I p u
3852 %I t
3853 [ 1 0 0 1 192.5 118.5 ] concat
3854
3855 Begin %I Line
3856 %I b 65535
3857 2 0 0 [] 0 SetB
3858 %I cfg Black
3859 0 0 0 SetCFg
3860 %I cbg White
3861 1 1 1 SetCBg
3862 none SetP %I p n
3863 %I t
3864 [ 1 -0 -0 1 122 296 ] concat
3865 %I
3866 72 272 76 268 Line
3867 %I 1
3868 End
3869
3870 Begin %I Line
3871 %I b 65535
3872 2 0 0 [] 0 SetB
3873 %I cfg Black
3874 0 0 0 SetCFg
3875 %I cbg White
3876 1 1 1 SetCBg
3877 none SetP %I p n
3878 %I t
3879 [ 1 -0 -0 1 122 296 ] concat
3880 %I
3881 72 268 76 272 Line
3882 %I 1
3883 End
3884
3885 End %I eop
3886
3887 Begin %I Pict
3888 %I b 65535
3889 1 0 0 [] 0 SetB
3890 %I cfg u
3891 %I cbg u
3892 %I f u
3893 %I p u
3894 %I t
3895 [ 1 0 0 1 196.5 118.5 ] concat
3896
3897 Begin %I Line
3898 %I b 65535
3899 2 0 0 [] 0 SetB
3900 %I cfg Black
3901 0 0 0 SetCFg
3902 %I cbg White
3903 1 1 1 SetCBg
3904 none SetP %I p n
3905 %I t
3906 [ 1 -0 -0 1 122 296 ] concat
3907 %I
3908 72 272 76 268 Line
3909 %I 1
3910 End
3911
3912 Begin %I Line
3913 %I b 65535
3914 2 0 0 [] 0 SetB
3915 %I cfg Black
3916 0 0 0 SetCFg
3917 %I cbg White
3918 1 1 1 SetCBg
3919 none SetP %I p n
3920 %I t
3921 [ 1 -0 -0 1 122 296 ] concat
3922 %I
3923 72 268 76 272 Line
3924 %I 1
3925 End
3926
3927 End %I eop
3928
3929 Begin %I Pict
3930 %I b 65535
3931 1 0 0 [] 0 SetB
3932 %I cfg u
3933 %I cbg u
3934 %I f u
3935 %I p u
3936 %I t
3937 [ 1 0 0 1 204.5 118.5 ] concat
3938
3939 Begin %I Line
3940 %I b 65535
3941 2 0 0 [] 0 SetB
3942 %I cfg Black
3943 0 0 0 SetCFg
3944 %I cbg White
3945 1 1 1 SetCBg
3946 none SetP %I p n
3947 %I t
3948 [ 1 -0 -0 1 122 296 ] concat
3949 %I
3950 72 272 76 268 Line
3951 %I 1
3952 End
3953
3954 Begin %I Line
3955 %I b 65535
3956 2 0 0 [] 0 SetB
3957 %I cfg Black
3958 0 0 0 SetCFg
3959 %I cbg White
3960 1 1 1 SetCBg
3961 none SetP %I p n
3962 %I t
3963 [ 1 -0 -0 1 122 296 ] concat
3964 %I
3965 72 268 76 272 Line
3966 %I 1
3967 End
3968
3969 End %I eop
3970
3971 Begin %I Pict
3972 %I b 65535
3973 1 0 0 [] 0 SetB
3974 %I cfg u
3975 %I cbg u
3976 %I f u
3977 %I p u
3978 %I t
3979 [ 1 0 0 1 178 110.5 ] concat
3980
3981 Begin %I Line
3982 %I b 65535
3983 2 0 0 [] 0 SetB
3984 %I cfg Black
3985 0 0 0 SetCFg
3986 %I cbg White
3987 1 1 1 SetCBg
3988 none SetP %I p n
3989 %I t
3990 [ 1 -0 -0 1 122 296 ] concat
3991 %I
3992 72 272 76 268 Line
3993 %I 1
3994 End
3995
3996 Begin %I Line
3997 %I b 65535
3998 2 0 0 [] 0 SetB
3999 %I cfg Black
4000 0 0 0 SetCFg
4001 %I cbg White
4002 1 1 1 SetCBg
4003 none SetP %I p n
4004 %I t
4005 [ 1 -0 -0 1 122 296 ] concat
4006 %I
4007 72 268 76 272 Line
4008 %I 1
4009 End
4010
4011 End %I eop
4012
4013 Begin %I Pict
4014 %I b 65535
4015 1 0 0 [] 0 SetB
4016 %I cfg u
4017 %I cbg u
4018 %I f u
4019 %I p u
4020 %I t
4021 [ 1 0 0 1 199 110.5 ] concat
4022
4023 Begin %I Line
4024 %I b 65535
4025 2 0 0 [] 0 SetB
4026 %I cfg Black
4027 0 0 0 SetCFg
4028 %I cbg White
4029 1 1 1 SetCBg
4030 none SetP %I p n
4031 %I t
4032 [ 1 -0 -0 1 122 296 ] concat
4033 %I
4034 72 272 76 268 Line
4035 %I 1
4036 End
4037
4038 Begin %I Line
4039 %I b 65535
4040 2 0 0 [] 0 SetB
4041 %I cfg Black
4042 0 0 0 SetCFg
4043 %I cbg White
4044 1 1 1 SetCBg
4045 none SetP %I p n
4046 %I t
4047 [ 1 -0 -0 1 122 296 ] concat
4048 %I
4049 72 268 76 272 Line
4050 %I 1
4051 End
4052
4053 End %I eop
4054
4055 Begin %I Pict
4056 %I b 65535
4057 1 0 0 [] 0 SetB
4058 %I cfg u
4059 %I cbg u
4060 %I f u
4061 %I p u
4062 %I t
4063 [ 1 0 0 1 213.5 111 ] concat
4064
4065 Begin %I Line
4066 %I b 65535
4067 2 0 0 [] 0 SetB
4068 %I cfg Black
4069 0 0 0 SetCFg
4070 %I cbg White
4071 1 1 1 SetCBg
4072 none SetP %I p n
4073 %I t
4074 [ 1 -0 -0 1 122 296 ] concat
4075 %I
4076 72 272 76 268 Line
4077 %I 1
4078 End
4079
4080 Begin %I Line
4081 %I b 65535
4082 2 0 0 [] 0 SetB
4083 %I cfg Black
4084 0 0 0 SetCFg
4085 %I cbg White
4086 1 1 1 SetCBg
4087 none SetP %I p n
4088 %I t
4089 [ 1 -0 -0 1 122 296 ] concat
4090 %I
4091 72 268 76 272 Line
4092 %I 1
4093 End
4094
4095 End %I eop
4096
4097 Begin %I Pict
4098 %I b 65535
4099 1 0 0 [] 0 SetB
4100 %I cfg u
4101 %I cbg u
4102 %I f u
4103 %I p u
4104 %I t
4105 [ 1 0 0 1 184 96 ] concat
4106
4107 Begin %I Line
4108 %I b 65535
4109 2 0 0 [] 0 SetB
4110 %I cfg Black
4111 0 0 0 SetCFg
4112 %I cbg White
4113 1 1 1 SetCBg
4114 none SetP %I p n
4115 %I t
4116 [ 1 -0 -0 1 122 296 ] concat
4117 %I
4118 72 272 76 268 Line
4119 %I 1
4120 End
4121
4122 Begin %I Line
4123 %I b 65535
4124 2 0 0 [] 0 SetB
4125 %I cfg Black
4126 0 0 0 SetCFg
4127 %I cbg White
4128 1 1 1 SetCBg
4129 none SetP %I p n
4130 %I t
4131 [ 1 -0 -0 1 122 296 ] concat
4132 %I
4133 72 268 76 272 Line
4134 %I 1
4135 End
4136
4137 End %I eop
4138
4139 Begin %I Pict
4140 %I b 65535
4141 1 0 0 [] 0 SetB
4142 %I cfg u
4143 %I cbg u
4144 %I f u
4145 %I p u
4146 %I t
4147 [ 1 0 0 1 208 95.5 ] concat
4148
4149 Begin %I Line
4150 %I b 65535
4151 2 0 0 [] 0 SetB
4152 %I cfg Black
4153 0 0 0 SetCFg
4154 %I cbg White
4155 1 1 1 SetCBg
4156 none SetP %I p n
4157 %I t
4158 [ 1 -0 -0 1 122 296 ] concat
4159 %I
4160 72 272 76 268 Line
4161 %I 1
4162 End
4163
4164 Begin %I Line
4165 %I b 65535
4166 2 0 0 [] 0 SetB
4167 %I cfg Black
4168 0 0 0 SetCFg
4169 %I cbg White
4170 1 1 1 SetCBg
4171 none SetP %I p n
4172 %I t
4173 [ 1 -0 -0 1 122 296 ] concat
4174 %I
4175 72 268 76 272 Line
4176 %I 1
4177 End
4178
4179 End %I eop
4180
4181 Begin %I Pict
4182 %I b 65535
4183 1 0 0 [] 0 SetB
4184 %I cfg u
4185 %I cbg u
4186 %I f u
4187 %I p u
4188 %I t
4189 [ 1 0 0 1 194 156 ] concat
4190
4191 Begin %I Line
4192 %I b 65535
4193 2 0 0 [] 0 SetB
4194 %I cfg Black
4195 0 0 0 SetCFg
4196 %I cbg White
4197 1 1 1 SetCBg
4198 none SetP %I p n
4199 %I t
4200 [ 1 -0 -0 1 122 296 ] concat
4201 %I
4202 72 272 76 268 Line
4203 %I 1
4204 End
4205
4206 Begin %I Line
4207 %I b 65535
4208 2 0 0 [] 0 SetB
4209 %I cfg Black
4210 0 0 0 SetCFg
4211 %I cbg White
4212 1 1 1 SetCBg
4213 none SetP %I p n
4214 %I t
4215 [ 1 -0 -0 1 122 296 ] concat
4216 %I
4217 72 268 76 272 Line
4218 %I 1
4219 End
4220
4221 End %I eop
4222
4223 Begin %I Pict
4224 %I b u
4225 %I cfg u
4226 %I cbg u
4227 %I f u
4228 %I p u
4229 %I t
4230 [ 1 0 0 1 -36.5 92.5 ] concat
4231
4232 Begin %I Line
4233 %I b 65535
4234 2 0 0 [] 0 SetB
4235 %I cfg Black
4236 0 0 0 SetCFg
4237 %I cbg White
4238 1 1 1 SetCBg
4239 none SetP %I p n
4240 %I t
4241 [ 0.5 -0 -0 0.5 174 494 ] concat
4242 %I
4243 100 84 116 100 Line
4244 %I 2
4245 End
4246
4247 Begin %I Line
4248 %I b 65535
4249 2 0 0 [] 0 SetB
4250 %I cfg Black
4251 0 0 0 SetCFg
4252 %I cbg White
4253 1 1 1 SetCBg
4254 none SetP %I p n
4255 %I t
4256 [ 0.5 -0 -0 0.5 174 494 ] concat
4257 %I
4258 116 100 132 84 Line
4259 %I 2
4260 End
4261
4262 Begin %I Line
4263 %I b 65535
4264 2 0 0 [] 0 SetB
4265 %I cfg Black
4266 0 0 0 SetCFg
4267 %I cbg White
4268 1 1 1 SetCBg
4269 none SetP %I p n
4270 %I t
4271 [ 0.5 -0 -0 0.5 174 494 ] concat
4272 %I
4273 132 84 148 116 Line
4274 %I 2
4275 End
4276
4277 Begin %I Line
4278 %I b 65535
4279 2 0 0 [] 0 SetB
4280 %I cfg Black
4281 0 0 0 SetCFg
4282 %I cbg White
4283 1 1 1 SetCBg
4284 none SetP %I p n
4285 %I t
4286 [ 0.5 -0 -0 0.5 174 494 ] concat
4287 %I
4288 148 116 164 84 Line
4289 %I 2
4290 End
4291
4292 Begin %I Line
4293 %I b 65535
4294 2 0 0 [] 0 SetB
4295 %I cfg Black
4296 0 0 0 SetCFg
4297 %I cbg White
4298 1 1 1 SetCBg
4299 none SetP %I p n
4300 %I t
4301 [ 0.5 -0 -0 0.5 174 494 ] concat
4302 %I
4303 164 84 180 116 Line
4304 %I 2
4305 End
4306
4307 Begin %I Line
4308 %I b 65535
4309 2 0 0 [] 0 SetB
4310 %I cfg Black
4311 0 0 0 SetCFg
4312 %I cbg White
4313 1 1 1 SetCBg
4314 none SetP %I p n
4315 %I t
4316 [ 0.5 -0 -0 0.5 174 494 ] concat
4317 %I
4318 180 116 196 100 Line
4319 %I 2
4320 End
4321
4322 Begin %I Line
4323 %I b 65535
4324 2 0 0 [] 0 SetB
4325 %I cfg Black
4326 0 0 0 SetCFg
4327 %I cbg White
4328 1 1 1 SetCBg
4329 none SetP %I p n
4330 %I t
4331 [ 0.5 -0 -0 0.5 174 494 ] concat
4332 %I
4333 196 100 212 116 Line
4334 %I 2
4335 End
4336
4337 Begin %I Line
4338 %I b 65535
4339 2 0 0 [] 0 SetB
4340 %I cfg Black
4341 0 0 0 SetCFg
4342 %I cbg White
4343 1 1 1 SetCBg
4344 none SetP %I p n
4345 %I t
4346 [ 0.5 -0 -0 0.5 174 494 ] concat
4347 %I
4348 212 116 228 116 Line
4349 %I 2
4350 End
4351
4352 Begin %I Line
4353 %I b 65535
4354 2 0 0 [] 0 SetB
4355 %I cfg Black
4356 0 0 0 SetCFg
4357 %I cbg White
4358 1 1 1 SetCBg
4359 none SetP %I p n
4360 %I t
4361 [ 0.5 -0 -0 0.5 174 494 ] concat
4362 %I
4363 228 116 244 100 Line
4364 %I 2
4365 End
4366
4367 Begin %I Line
4368 %I b 65535
4369 2 0 0 [] 0 SetB
4370 %I cfg Black
4371 0 0 0 SetCFg
4372 %I cbg White
4373 1 1 1 SetCBg
4374 none SetP %I p n
4375 %I t
4376 [ 0.5 -0 -0 0.5 174 494 ] concat
4377 %I
4378 244 100 260 116 Line
4379 %I 2
4380 End
4381
4382 Begin %I Line
4383 %I b 65535
4384 2 0 0 [] 0 SetB
4385 %I cfg Black
4386 0 0 0 SetCFg
4387 %I cbg White
4388 1 1 1 SetCBg
4389 none SetP %I p n
4390 %I t
4391 [ 0.5 -0 -0 0.5 174 494 ] concat
4392 %I
4393 260 116 276 100 Line
4394 %I 2
4395 End
4396
4397 Begin %I Line
4398 %I b 65535
4399 2 0 0 [] 0 SetB
4400 %I cfg Black
4401 0 0 0 SetCFg
4402 %I cbg White
4403 1 1 1 SetCBg
4404 none SetP %I p n
4405 %I t
4406 [ 0.5 -0 -0 0.5 174 494 ] concat
4407 %I
4408 276 100 292 84 Line
4409 %I 2
4410 End
4411
4412 End %I eop
4413
4414 Begin %I Pict
4415 %I b u
4416 %I cfg u
4417 %I cbg u
4418 %I f u
4419 %I p u
4420 %I t
4421 [ 1 0 0 1 112.5 93 ] concat
4422
4423 Begin %I Line
4424 %I b 65535
4425 2 0 0 [] 0 SetB
4426 %I cfg Black
4427 0 0 0 SetCFg
4428 %I cbg White
4429 1 1 1 SetCBg
4430 none SetP %I p n
4431 %I t
4432 [ 0.5 -0 -0 0.5 174 494 ] concat
4433 %I
4434 100 84 116 100 Line
4435 %I 2
4436 End
4437
4438 Begin %I Line
4439 %I b 65535
4440 2 0 0 [] 0 SetB
4441 %I cfg Black
4442 0 0 0 SetCFg
4443 %I cbg White
4444 1 1 1 SetCBg
4445 none SetP %I p n
4446 %I t
4447 [ 0.5 -0 -0 0.5 174 494 ] concat
4448 %I
4449 116 100 132 84 Line
4450 %I 2
4451 End
4452
4453 Begin %I Line
4454 %I b 65535
4455 2 0 0 [] 0 SetB
4456 %I cfg Black
4457 0 0 0 SetCFg
4458 %I cbg White
4459 1 1 1 SetCBg
4460 none SetP %I p n
4461 %I t
4462 [ 0.5 -0 -0 0.5 174 494 ] concat
4463 %I
4464 132 84 148 116 Line
4465 %I 2
4466 End
4467
4468 Begin %I Line
4469 %I b 65535
4470 2 0 0 [] 0 SetB
4471 %I cfg Black
4472 0 0 0 SetCFg
4473 %I cbg White
4474 1 1 1 SetCBg
4475 none SetP %I p n
4476 %I t
4477 [ 0.5 -0 -0 0.5 174 494 ] concat
4478 %I
4479 148 116 164 84 Line
4480 %I 2
4481 End
4482
4483 Begin %I Line
4484 %I b 65535
4485 2 0 0 [] 0 SetB
4486 %I cfg Black
4487 0 0 0 SetCFg
4488 %I cbg White
4489 1 1 1 SetCBg
4490 none SetP %I p n
4491 %I t
4492 [ 0.5 -0 -0 0.5 174 494 ] concat
4493 %I
4494 164 84 180 116 Line
4495 %I 2
4496 End
4497
4498 Begin %I Line
4499 %I b 65535
4500 2 0 0 [] 0 SetB
4501 %I cfg Black
4502 0 0 0 SetCFg
4503 %I cbg White
4504 1 1 1 SetCBg
4505 none SetP %I p n
4506 %I t
4507 [ 0.5 -0 -0 0.5 174 494 ] concat
4508 %I
4509 180 116 196 100 Line
4510 %I 2
4511 End
4512
4513 Begin %I Line
4514 %I b 65535
4515 2 0 0 [] 0 SetB
4516 %I cfg Black
4517 0 0 0 SetCFg
4518 %I cbg White
4519 1 1 1 SetCBg
4520 none SetP %I p n
4521 %I t
4522 [ 0.5 -0 -0 0.5 174 494 ] concat
4523 %I
4524 196 100 212 116 Line
4525 %I 2
4526 End
4527
4528 Begin %I Line
4529 %I b 65535
4530 2 0 0 [] 0 SetB
4531 %I cfg Black
4532 0 0 0 SetCFg
4533 %I cbg White
4534 1 1 1 SetCBg
4535 none SetP %I p n
4536 %I t
4537 [ 0.5 -0 -0 0.5 174 494 ] concat
4538 %I
4539 212 116 228 116 Line
4540 %I 2
4541 End
4542
4543 Begin %I Line
4544 %I b 65535
4545 2 0 0 [] 0 SetB
4546 %I cfg Black
4547 0 0 0 SetCFg
4548 %I cbg White
4549 1 1 1 SetCBg
4550 none SetP %I p n
4551 %I t
4552 [ 0.5 -0 -0 0.5 174 494 ] concat
4553 %I
4554 228 116 244 100 Line
4555 %I 2
4556 End
4557
4558 Begin %I Line
4559 %I b 65535
4560 2 0 0 [] 0 SetB
4561 %I cfg Black
4562 0 0 0 SetCFg
4563 %I cbg White
4564 1 1 1 SetCBg
4565 none SetP %I p n
4566 %I t
4567 [ 0.5 -0 -0 0.5 174 494 ] concat
4568 %I
4569 244 100 260 116 Line
4570 %I 2
4571 End
4572
4573 Begin %I Line
4574 %I b 65535
4575 2 0 0 [] 0 SetB
4576 %I cfg Black
4577 0 0 0 SetCFg
4578 %I cbg White
4579 1 1 1 SetCBg
4580 none SetP %I p n
4581 %I t
4582 [ 0.5 -0 -0 0.5 174 494 ] concat
4583 %I
4584 260 116 276 100 Line
4585 %I 2
4586 End
4587
4588 Begin %I Line
4589 %I b 65535
4590 2 0 0 [] 0 SetB
4591 %I cfg Black
4592 0 0 0 SetCFg
4593 %I cbg White
4594 1 1 1 SetCBg
4595 none SetP %I p n
4596 %I t
4597 [ 0.5 -0 -0 0.5 174 494 ] concat
4598 %I
4599 276 100 292 84 Line
4600 %I 2
4601 End
4602
4603 End %I eop
4604
4605 Begin %I Line
4606 %I b 65535
4607 2 0 0 [] 0 SetB
4608 %I cfg Black
4609 0 0 0 SetCFg
4610 %I cbg White
4611 1 1 1 SetCBg
4612 none SetP %I p n
4613 %I t
4614 [ 0.5 -0 -0 0.5 226 494 ] concat
4615 %I
4616 136 476 160 476 Line
4617 %I 2
4618 End
4619
4620 Begin %I Line
4621 %I b 65535
4622 2 0 0 [] 0 SetB
4623 %I cfg Black
4624 0 0 0 SetCFg
4625 %I cbg White
4626 1 1 1 SetCBg
4627 none SetP %I p n
4628 %I t
4629 [ 0.5 -0 -0 0.5 244 596 ] concat
4630 %I
4631 136 272 160 272 Line
4632 %I 2
4633 End
4634
4635 Begin %I Line
4636 %I b 65535
4637 2 0 0 [] 0 SetB
4638 %I cfg Black
4639 0 0 0 SetCFg
4640 %I cbg White
4641 1 1 1 SetCBg
4642 none SetP %I p n
4643 %I t
4644 [ 0.5 -0 -0 0.5 226 497 ] concat
4645 %I
4646 136 296 160 296 Line
4647 %I 2
4648 End
4649
4650 Begin %I Line
4651 %I b 65535
4652 2 0 0 [] 0 SetB
4653 %I cfg Black
4654 0 0 0 SetCFg
4655 %I cbg White
4656 1 1 1 SetCBg
4657 none SetP %I p n
4658 %I t
4659 [ 0.5 -0 -0 0.5 244 554 ] concat
4660 %I
4661 136 272 160 272 Line
4662 %I 2
4663 End
4664
4665 Begin %I Text
4666 %I cfg Black
4667 0 0 0 SetCFg
4668 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
4669 Helvetica 12 SetF
4670 %I t
4671 [ 1 0 0 1 297 692 ] concat
4672 %I
4673 [
4674 (d)
4675 ] Text
4676 End
4677
4678 Begin %I Text
4679 %I cfg Black
4680 0 0 0 SetCFg
4681 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
4682 Helvetica 12 SetF
4683 %I t
4684 [ 1 0 0 1 313.5 716 ] concat
4685 %I
4686 [
4687 (d')
4688 ] Text
4689 End
4690
4691 Begin %I Line
4692 %I b 65535
4693 2 0 1 [] 0 SetB
4694 %I cfg Black
4695 0 0 0 SetCFg
4696 %I cbg White
4697 1 1 1 SetCBg
4698 none SetP %I p n
4699 %I t
4700 [ 0.5 -0 -0 0.5 200 494 ] concat
4701 %I
4702 200 374 200 308 Line
4703 %I 2
4704 End
4705
4706 Begin %I Line
4707 %I b 65535
4708 2 0 1 [] 0 SetB
4709 %I cfg Black
4710 0 0 0 SetCFg
4711 %I cbg White
4712 1 1 1 SetCBg
4713 none SetP %I p n
4714 %I t
4715 [ 0.5 -0 -0 0.5 200 494 ] concat
4716 %I
4717 200 404 200 470 Line
4718 %I 2
4719 End
4720
4721 Begin %I Line
4722 %I b 65535
4723 2 0 1 [] 0 SetB
4724 %I cfg Black
4725 0 0 0 SetCFg
4726 %I cbg White
4727 1 1 1 SetCBg
4728 none SetP %I p n
4729 %I t
4730 [ 0.5 -0 -0 0.5 200 494 ] concat
4731 %I
4732 236 452 236 470 Line
4733 %I 2
4734 End
4735
4736 Begin %I Line
4737 %I b 65535
4738 2 0 1 [] 0 SetB
4739 %I cfg Black
4740 0 0 0 SetCFg
4741 %I cbg White
4742 1 1 1 SetCBg
4743 none SetP %I p n
4744 %I t
4745 [ 0.5 -0 -0 0.5 200 494 ] concat
4746 %I
4747 236 422 236 398 Line
4748 %I 2
4749 End
4750
4751 Begin %I Text
4752 %I cfg Black
4753 0 0 0 SetCFg
4754 %I f -*-times-medium-r-normal-*-12-*-*-*-*-*-*-*
4755 Times-Roman 12 SetF
4756 %I t
4757 [ 1 0 0 1 373 608 ] concat
4758 %I
4759 [
4760 (YBW)
4761 ] Text
4762 End
4763
4764 End %I eop
4765
4766 showpage
4767
4768
4769 end
4770 %%EndDocument
4771
4772  endTexFig
4773  334 845 a Fn(Figure)14 b(1:)k(Lo)q(cation)13 b(of)h(P)o(arallelism)d
4774 (in)i(T)o(ypical)g(APHID)h(and)g(YBW)g(Searc)o(h)0 978
4775 y(ply)e(game-tree)f(is)h(b)q(eing)g(async)o(hronously)h(searc)o(hed)g
4776 (b)o(y)f(the)h(sla)o(v)o(es.)18 b(Before)13 b(describing)f(ho)o(w)g
4777 (the)h(master)e(kno)o(ws)h(when)0 1040 y(the)i Fm(d)g
4778 Fn(ply)f(searc)o(h)i(is)f(complete,)f(w)o(e)h(m)o(ust)f(\014rst)h
4779 (describ)q(e)i(ho)o(w)e(the)g(master)f(searc)o(hes)j(the)f
4780 Fm(d)1491 1025 y Fd(0)1516 1040 y Fn(ply)e(tree.)62 1102
4781 y(When)k(the)g(master)f(reac)o(hes)i(a)f(leaf)f(of)f(the)j
4782 Fm(d)810 1087 y Fd(0)837 1102 y Fn(ply)e(tree,)i(it)f(uses)g(a)g
4783 (reliable)f(or)g(appro)o(ximate)f(v)n(alue)h(for)g(the)h(leaf,)0
4784 1164 y(dep)q(ending)g(on)f(the)h(information)d(a)o(v)n(ailable.)24
4785 b(If)16 b(a)g Fm(d)10 b Fk(\000)i Fm(d)938 1149 y Fd(0)965
4786 1164 y Fn(ply)k(searc)o(h)i(result)f(is)g(a)o(v)n(ailable)d(from)g(the)
4787 k(sla)o(v)o(e,)e(that)g(will)0 1227 y(b)q(e)g(used.)22
4788 b(\(In)15 b(the)h(curren)o(t)g(implemen)o(tation,)11
4789 b(w)o(e)16 b(do)e(not)h(use)h(deep)q(er)h(ply)e(v)n(alues,)f(ev)o(en)i
4790 (if)e(they)h(are)h(a)o(v)n(ailable.)j(This)0 1289 y(will)12
4791 b(b)q(e)h(discussed)i(in)e(Section)g(4.\))18 b(Ho)o(w)o(ev)o(er,)13
4792 b(if)f(the)i Fm(d)7 b Fk(\000)h Fm(d)949 1274 y Fd(0)973
4793 1289 y Fn(ply)k(result)i(is)f(not)g(a)o(v)n(ailable,)d(then)k(the)g
4794 (algorithm)c(uses)k(the)0 1351 y(\\b)q(est)h(a)o(v)n(ailable")d(ply)h
4795 (result)i(that)g(had)e(b)q(een)j(returned)g(b)o(y)e(the)g(sla)o(v)o(e)g
4796 (to)g(generate)i(a)d(guessed)j(minim)o(ax)11 b(v)n(alue)1826
4797 1336 y Fi(2)1844 1351 y Fn(.)19 b(An)o(y)0 1413 y(no)q(de)14
4798 b(where)h(w)o(e)f(are)h(forced)f(to)g(guess)h(are)f(mark)o(ed)f(as)h
4799 Fl(unc)n(ertain)p Fn(.)62 1476 y(As)g(v)n(alues)g(get)g(bac)o(k)o(ed)g
4800 (up)f(the)h(tree,)h(the)f(master)f(main)o(tains)e(a)j(coun)o(t)g(of)f
4801 (ho)o(w)g(man)o(y)f(uncertain)i(no)q(des)g(ha)o(v)o(e)g(b)q(een)0
4802 1538 y(visited)d(in)f(a)h(pass)h(of)e(the)i(tree.)18
4803 b(As)11 b(long)g(as)g(the)g(score)h(at)f(an)o(y)g(of)f(the)i(lea)o(v)o
4804 (es)f(is)g(uncertain,)h(the)f(master)g(m)o(ust)f(do)h(another)0
4805 1600 y(pass)j(of)g(the)g(tree.)19 b(Once)c(the)g(master)e(has)h(a)f
4806 (reliable)h(v)n(alue)f(for)g(all)g(the)h(lea)o(v)o(es)g(in)g(its)g
4807 Fm(d)1423 1585 y Fd(0)1448 1600 y Fn(ply)f(tree,)h(the)h(searc)o(h)g
4808 (of)e(the)h Fm(d)0 1662 y Fn(ply)h(tree)h(is)f(complete.)22
4809 b(The)16 b(con)o(trolling)d(program)h(w)o(ould)h(then)h(pro)q(ceed)g
4810 (to)f(the)h(next)g(iteration)f(b)o(y)g(incremen)o(ting)f
4811 Fm(d)0 1725 y Fn(and)g(asking)f(the)h(master)g(to)g(searc)o(h)h(the)f
4812 (tree)h(again.)62 1787 y(Note)e(that)f(this)g(de\014nition)f(of)h(the)g
4813 (master)g(solv)o(es)g(one)g(of)g(the)g(problems)f(that)h(some)f
4814 (algorithms)f(ha)o(v)o(e)i(with)g(resp)q(ect)0 1849 y(to)k
4815 (initializing)d(parallelism)g(to)q(o)j(quic)o(kly)f(at)g(a)h(p)q(oten)o
4816 (tial)f Fe(CUT)g Fn(no)q(de.)24 b(By)17 b(using)e(the)i(guessed)g
4817 (scores)g(when)g(accurate)0 1912 y(information)9 b(is)j(not)f(a)o(v)n
4818 (ailable,)f(the)i(APHID)g(algorithm)e(automatically)e(determines)k(if)f
4819 (a)h(subsequen)o(t)i(c)o(hild)d(is)h(lik)o(ely)e(to)0
4820 1974 y(generate)15 b(a)f(cuto\013)g(at)g(a)f(failed)g
4821 Fe(CUT)g Fn(no)q(de.)19 b(If)13 b(it)h(seems)g(lik)o(ely)e(that)i(a)g
4822 (c)o(hild)f(will)f(generate)j(a)f(cuto\013)g(based)h(on)e(guessed)0
4823 2036 y(v)n(alues,)e(the)g(c)o(hildren)g(of)f(the)h(failed)e
4824 Fe(CUT)h Fn(no)q(de)h(are)g(ev)n(aluated)g(sequen)o(tially)m(.)16
4825 b(If)10 b(it)g(seems)h(unlik)o(ely)e(that)i(the)g(no)q(de)g(will)e(b)q
4826 (e)0 2098 y(cut)j(o\013)g(due)h(to)e(lo)o(w)g(minima)o(x)e(v)n(alues,)j
4827 (the)g(searc)o(h)h(w)o(ould)e(con)o(tin)o(ue)h(for)g(a)f(promising)f
4828 (no)q(de)i(at)g(that)g(branc)o(h)g(in)g(parallel.)0 2161
4829 y(This)j(is)g(all)f(handled)i(automatically)c(b)o(y)j(the)h
4830 Fm(\013\014)i Fn(routine.)k(The)16 b(handling)e(of)h(a)g(h)o(yp)q
4831 (othesized)h Fe(CUT)f Fn(no)q(de)h(is)f(stronger)0 2223
4832 y(than)g(the)g(equiv)n(alen)o(t)f(scenario)i(in)e(the)h(YBW)g
4833 (algorithm,)d(whic)o(h)j(ignores)g(previous)g(score)h(information)c(a)o
4834 (v)n(ailable)g(for)0 2285 y(some)f(branc)o(hes)i(of)f(the)h(failed)e
4835 Fe(CUT)g Fn(no)q(de.)18 b(In)12 b(the)h(full)d(v)o(ersion)j(of)e(YBW,)h
4836 (application-dep)q(enden)o(t)g(information)d(is)j(used)0
4837 2347 y(to)i(do)f(what)h(APHID)g(handles)g(automatically)d(with)j(the)g
4838 Fm(\013\014)i Fn(searc)o(h)f(windo)o(w.)62 2410 y(The)g(sla)o(v)o(es)g
4839 (are)g(resp)q(onsible)g(for)f(setting)h(their)g(o)o(wn)f(searc)o(h)i
4840 (windo)o(ws,)e(based)h(on)f(information)e(from)h(the)i(master.)0
4841 2472 y(Sometimes,)10 b(the)j(information)d(returned)k(b)o(y)e(the)h
4842 (sla)o(v)o(e)f(ma)o(y)f(not)h(b)q(e)h(useful)g(to)f(the)h(master.)k(F)m
4843 (or)12 b(example,)f(a)i(sla)o(v)o(e)f(can)0 2534 y(tell)h(the)i(master)
4844 e(that)h(the)g(score)h(of)f(a)f(giv)o(en)g(no)q(de)i(is)e(less)i(than)f
4845 (30,)e(but)i(the)h(master)e(ma)o(y)f(w)o(an)o(t)h(to)h(kno)o(w)f(if)g
4846 (the)i(score)p 0 2569 780 2 v 46 2596 a Fh(2)64 2607
4847 y Fg(Man)o(y)d(game-tree)f(searc)o(h)h(programs)e(exhibit)i(an)g
4848 (e\013ect)g(based)g(on)h(the)g(parit)o(y)e(of)i(the)g(searc)o(h)f
4849 (depth)f(\(o)q(dd)h(or)h(ev)o(en)f(n)o(um)o(b)q(er)g(of)g(ply\).)0
4850 2647 y(Scores)d(are)g(stable)g(when)h(y)o(ou)f(lo)q(ok)h(at)f(results)g
4851 (from)g(the)h(o)q(dd)f(plies)g(only)m(,)h(or)g(ev)o(en)f(plies)g(only)m
4852 (,)g(but)h(are)f(sometimes)f(unstable)g(when)i(y)o(ou)f(mix)0
4853 2686 y(the)i(t)o(w)o(o.)k(Th)o(us,)c(w)o(e)h(use)f(the)g(largest)f(ply)
4854 h(v)n(alue)f(with)h(the)g(same)f(parit)o(y)m(,)g(instead)g(of)h(alw)o
4855 (a)o(ys)g(using)f(the)h(largest)f(ply)h(v)n(alue)f(a)o(v)n(ailable.)965
4856 2828 y Fn(5)p eop
4857 %%Page: 6 6
4858 6 5 bop 165 154 a
4859  25575945 23681433 8420065 17234821 28417720 35653713 startTexFig
4860  165 154 a
4861 %%BeginDocument: draw2.ps
4862
4863 /arrowHeight 10 def
4864 /arrowWidth 5 def
4865
4866 /IdrawDict 51 dict def
4867 IdrawDict begin
4868
4869 /reencodeISO {
4870 dup dup findfont dup length dict begin
4871 { 1 index /FID ne { def }{ pop pop } ifelse } forall
4872 /Encoding ISOLatin1Encoding def
4873 currentdict end definefont
4874 } def
4875
4876 /ISOLatin1Encoding [
4877 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4878 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4879 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4880 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4881 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
4882 /parenleft/parenright/asterisk/plus/comma/minus/period/slash
4883 /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
4884 /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
4885 /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
4886 /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
4887 /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
4888 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4889 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4890 /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
4891 /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
4892 /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
4893 /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
4894 /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
4895 /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
4896 /guillemotright/onequarter/onehalf/threequarters/questiondown
4897 /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
4898 /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
4899 /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
4900 /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
4901 /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
4902 /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
4903 /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
4904 /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
4905 /yacute/thorn/ydieresis
4906 ] def
4907 /Helvetica reencodeISO def
4908
4909 /none null def
4910 /numGraphicParameters 17 def
4911 /stringLimit 65535 def
4912
4913 /Begin {
4914 save
4915 numGraphicParameters dict begin
4916 } def
4917
4918 /End {
4919 end
4920 restore
4921 } def
4922
4923 /SetB {
4924 dup type /nulltype eq {
4925 pop
4926 false /brushRightArrow idef
4927 false /brushLeftArrow idef
4928 true /brushNone idef
4929 } {
4930 /brushDashOffset idef
4931 /brushDashArray idef
4932 0 ne /brushRightArrow idef
4933 0 ne /brushLeftArrow idef
4934 /brushWidth idef
4935 false /brushNone idef
4936 } ifelse
4937 } def
4938
4939 /SetCFg {
4940 /fgblue idef
4941 /fggreen idef
4942 /fgred idef
4943 } def
4944
4945 /SetCBg {
4946 /bgblue idef
4947 /bggreen idef
4948 /bgred idef
4949 } def
4950
4951 /SetF {
4952 /printSize idef
4953 /printFont idef
4954 } def
4955
4956 /SetP {
4957 dup type /nulltype eq {
4958 pop true /patternNone idef
4959 } {
4960 dup -1 eq {
4961 /patternGrayLevel idef
4962 /patternString idef
4963 } {
4964 /patternGrayLevel idef
4965 } ifelse
4966 false /patternNone idef
4967 } ifelse
4968 } def
4969
4970 /BSpl {
4971 0 begin
4972 storexyn
4973 newpath
4974 n 1 gt {
4975 0 0 0 0 0 0 1 1 true subspline
4976 n 2 gt {
4977 0 0 0 0 1 1 2 2 false subspline
4978 1 1 n 3 sub {
4979 /i exch def
4980 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
4981 } for
4982 n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
4983 } if
4984 n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
4985 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
4986 brushNone not { istroke } if
4987 0 0 1 1 leftarrow
4988 n 2 sub dup n 1 sub dup rightarrow
4989 } if
4990 end
4991 } dup 0 4 dict put def
4992
4993 /Circ {
4994 newpath
4995 0 360 arc
4996 patternNone not { ifill } if
4997 brushNone not { istroke } if
4998 } def
4999
5000 /CBSpl {
5001 0 begin
5002 dup 2 gt {
5003 storexyn
5004 newpath
5005 n 1 sub dup 0 0 1 1 2 2 true subspline
5006 1 1 n 3 sub {
5007 /i exch def
5008 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
5009 } for
5010 n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
5011 n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
5012 patternNone not { ifill } if
5013 brushNone not { istroke } if
5014 } {
5015 Poly
5016 } ifelse
5017 end
5018 } dup 0 4 dict put def
5019
5020 /Elli {
5021 0 begin
5022 newpath
5023 4 2 roll
5024 translate
5025 scale
5026 0 0 1 0 360 arc
5027 patternNone not { ifill } if
5028 brushNone not { istroke } if
5029 end
5030 } dup 0 1 dict put def
5031
5032 /Line {
5033 0 begin
5034 2 storexyn
5035 newpath
5036 x 0 get y 0 get moveto
5037 x 1 get y 1 get lineto
5038 brushNone not { istroke } if
5039 0 0 1 1 leftarrow
5040 0 0 1 1 rightarrow
5041 end
5042 } dup 0 4 dict put def
5043
5044 /MLine {
5045 0 begin
5046 storexyn
5047 newpath
5048 n 1 gt {
5049 x 0 get y 0 get moveto
5050 1 1 n 1 sub {
5051 /i exch def
5052 x i get y i get lineto
5053 } for
5054 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
5055 brushNone not { istroke } if
5056 0 0 1 1 leftarrow
5057 n 2 sub dup n 1 sub dup rightarrow
5058 } if
5059 end
5060 } dup 0 4 dict put def
5061
5062 /Poly {
5063 3 1 roll
5064 newpath
5065 moveto
5066 -1 add
5067 { lineto } repeat
5068 closepath
5069 patternNone not { ifill } if
5070 brushNone not { istroke } if
5071 } def
5072
5073 /Rect {
5074 0 begin
5075 /t exch def
5076 /r exch def
5077 /b exch def
5078 /l exch def
5079 newpath
5080 l b moveto
5081 l t lineto
5082 r t lineto
5083 r b lineto
5084 closepath
5085 patternNone not { ifill } if
5086 brushNone not { istroke } if
5087 end
5088 } dup 0 4 dict put def
5089
5090 /Text {
5091 ishow
5092 } def
5093
5094 /idef {
5095 dup where { pop pop pop } { exch def } ifelse
5096 } def
5097
5098 /ifill {
5099 0 begin
5100 gsave
5101 patternGrayLevel -1 ne {
5102 fgred bgred fgred sub patternGrayLevel mul add
5103 fggreen bggreen fggreen sub patternGrayLevel mul add
5104 fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
5105 eofill
5106 } {
5107 eoclip
5108 originalCTM setmatrix
5109 pathbbox /t exch def /r exch def /b exch def /l exch def
5110 /w r l sub ceiling cvi def
5111 /h t b sub ceiling cvi def
5112 /imageByteWidth w 8 div ceiling cvi def
5113 /imageHeight h def
5114 bgred bggreen bgblue setrgbcolor
5115 eofill
5116 fgred fggreen fgblue setrgbcolor
5117 w 0 gt h 0 gt and {
5118 l b translate w h scale
5119 w h true [w 0 0 h neg 0 h] { patternproc } imagemask
5120 } if
5121 } ifelse
5122 grestore
5123 end
5124 } dup 0 8 dict put def
5125
5126 /istroke {
5127 gsave
5128 brushDashOffset -1 eq {
5129 [] 0 setdash
5130 1 setgray
5131 } {
5132 brushDashArray brushDashOffset setdash
5133 fgred fggreen fgblue setrgbcolor
5134 } ifelse
5135 brushWidth setlinewidth
5136 originalCTM setmatrix
5137 stroke
5138 grestore
5139 } def
5140
5141 /ishow {
5142 0 begin
5143 gsave
5144 fgred fggreen fgblue setrgbcolor
5145 /fontDict printFont printSize scalefont dup setfont def
5146 /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
5147 transform exch pop def
5148 /vertoffset 1 printSize sub descender sub def {
5149 0 vertoffset moveto show
5150 /vertoffset vertoffset printSize sub def
5151 } forall
5152 grestore
5153 end
5154 } dup 0 3 dict put def
5155 /patternproc {
5156 0 begin
5157 /patternByteLength patternString length def
5158 /patternHeight patternByteLength 8 mul sqrt cvi def
5159 /patternWidth patternHeight def
5160 /patternByteWidth patternWidth 8 idiv def
5161 /imageByteMaxLength imageByteWidth imageHeight mul
5162 stringLimit patternByteWidth sub min def
5163 /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
5164 patternHeight mul patternHeight max def
5165 /imageHeight imageHeight imageMaxHeight sub store
5166 /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
5167 0 1 imageMaxHeight 1 sub {
5168 /y exch def
5169 /patternRow y patternByteWidth mul patternByteLength mod def
5170 /patternRowString patternString patternRow patternByteWidth getinterval def
5171 /imageRow y imageByteWidth mul def
5172 0 patternByteWidth imageByteWidth 1 sub {
5173 /x exch def
5174 imageString imageRow x add patternRowString putinterval
5175 } for
5176 } for
5177 imageString
5178 end
5179 } dup 0 12 dict put def
5180
5181 /min {
5182 dup 3 2 roll dup 4 3 roll lt { exch } if pop
5183 } def
5184
5185 /max {
5186 dup 3 2 roll dup 4 3 roll gt { exch } if pop
5187 } def
5188
5189 /midpoint {
5190 0 begin
5191 /y1 exch def
5192 /x1 exch def
5193 /y0 exch def
5194 /x0 exch def
5195 x0 x1 add 2 div
5196 y0 y1 add 2 div
5197 end
5198 } dup 0 4 dict put def
5199
5200 /thirdpoint {
5201 0 begin
5202 /y1 exch def
5203 /x1 exch def
5204 /y0 exch def
5205 /x0 exch def
5206 x0 2 mul x1 add 3 div
5207 y0 2 mul y1 add 3 div
5208 end
5209 } dup 0 4 dict put def
5210
5211 /subspline {
5212 0 begin
5213 /movetoNeeded exch def
5214 y exch get /y3 exch def
5215 x exch get /x3 exch def
5216 y exch get /y2 exch def
5217 x exch get /x2 exch def
5218 y exch get /y1 exch def
5219 x exch get /x1 exch def
5220 y exch get /y0 exch def
5221 x exch get /x0 exch def
5222 x1 y1 x2 y2 thirdpoint
5223 /p1y exch def
5224 /p1x exch def
5225 x2 y2 x1 y1 thirdpoint
5226 /p2y exch def
5227 /p2x exch def
5228 x1 y1 x0 y0 thirdpoint
5229 p1x p1y midpoint
5230 /p0y exch def
5231 /p0x exch def
5232 x2 y2 x3 y3 thirdpoint
5233 p2x p2y midpoint
5234 /p3y exch def
5235 /p3x exch def
5236 movetoNeeded { p0x p0y moveto } if
5237 p1x p1y p2x p2y p3x p3y curveto
5238 end
5239 } dup 0 17 dict put def
5240
5241 /storexyn {
5242 /n exch def
5243 /y n array def
5244 /x n array def
5245 n 1 sub -1 0 {
5246 /i exch def
5247 y i 3 2 roll put
5248 x i 3 2 roll put
5249 } for
5250 } def
5251
5252 /SSten {
5253 fgred fggreen fgblue setrgbcolor
5254 dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
5255 } def
5256
5257 /FSten {
5258 dup 3 -1 roll dup 4 1 roll exch
5259 newpath
5260 0 0 moveto
5261 dup 0 exch lineto
5262 exch dup 3 1 roll exch lineto
5263 0 lineto
5264 closepath
5265 bgred bggreen bgblue setrgbcolor
5266 eofill
5267 SSten
5268 } def
5269
5270 /Rast {
5271 exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
5272 } def
5273
5274
5275 /arrowhead {
5276 0 begin
5277 transform originalCTM itransform
5278 /taily exch def
5279 /tailx exch def
5280 transform originalCTM itransform
5281 /tipy exch def
5282 /tipx exch def
5283 /dy tipy taily sub def
5284 /dx tipx tailx sub def
5285 /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
5286 gsave
5287 originalCTM setmatrix
5288 tipx tipy translate
5289 angle rotate
5290 newpath
5291 arrowHeight neg arrowWidth 2 div moveto
5292 0 0 lineto
5293 arrowHeight neg arrowWidth 2 div neg lineto
5294 patternNone not {
5295 originalCTM setmatrix
5296 /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
5297 arrowWidth div def
5298 /padtail brushWidth 2 div def
5299 tipx tipy translate
5300 angle rotate
5301 padtip 0 translate
5302 arrowHeight padtip add padtail add arrowHeight div dup scale
5303 arrowheadpath
5304 ifill
5305 } if
5306 brushNone not {
5307 originalCTM setmatrix
5308 tipx tipy translate
5309 angle rotate
5310 arrowheadpath
5311 istroke
5312 } if
5313 grestore
5314 end
5315 } dup 0 9 dict put def
5316
5317 /arrowheadpath {
5318 newpath
5319 arrowHeight neg arrowWidth 2 div moveto
5320 0 0 lineto
5321 arrowHeight neg arrowWidth 2 div neg lineto
5322 } def
5323
5324 /leftarrow {
5325 0 begin
5326 y exch get /taily exch def
5327 x exch get /tailx exch def
5328 y exch get /tipy exch def
5329 x exch get /tipx exch def
5330 brushLeftArrow { tipx tipy tailx taily arrowhead } if
5331 end
5332 } dup 0 4 dict put def
5333
5334 /rightarrow {
5335 0 begin
5336 y exch get /tipy exch def
5337 x exch get /tipx exch def
5338 y exch get /taily exch def
5339 x exch get /tailx exch def
5340 brushRightArrow { tipx tipy tailx taily arrowhead } if
5341 end
5342 } dup 0 4 dict put def
5343
5344
5345 %I Idraw 10 Grid 6 6 
5346
5347
5348 Begin
5349 %I b u
5350 %I cfg u
5351 %I cbg u
5352 %I f u
5353 %I p u
5354 %I t
5355 [ 0.799705 0 0 0.799705 0 0 ] concat
5356 /originalCTM matrix currentmatrix def
5357
5358 Begin %I Pict
5359 %I b u
5360 %I cfg u
5361 %I cbg u
5362 %I f u
5363 %I p u
5364 %I t
5365 [ 1 0 0 1 5.99997 0 ] concat
5366
5367 Begin %I Text
5368 %I cfg Black
5369 0 0 0 SetCFg
5370 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5371 Helvetica 12 SetF
5372 %I t
5373 [ 1 0 0 1 342 674 ] concat
5374 %I
5375 [
5376 (Master)
5377 ] Text
5378 End
5379
5380 Begin %I Pict
5381 %I b u
5382 %I cfg u
5383 %I cbg u
5384 %I f u
5385 %I p u
5386 %I t
5387 [ 1 0 0 1 8 26 ] concat
5388
5389 Begin %I Text
5390 %I cfg Black
5391 0 0 0 SetCFg
5392 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5393 Helvetica 12 SetF
5394 %I t
5395 [ 1 0 0 1 315 543.5 ] concat
5396 %I
5397 [
5398 (1)
5399 ] Text
5400 End
5401
5402 Begin %I Elli
5403 %I b 65535
5404 1 0 0 [] 0 SetB
5405 %I cfg Black
5406 0 0 0 SetCFg
5407 %I cbg White
5408 1 1 1 SetCBg
5409 none SetP %I p n
5410 %I t
5411 [ 0.5 -0 -0 0.5 278 428 ] concat
5412 %I
5413 80 224 12 12 Elli
5414 End
5415
5416 End %I eop
5417
5418 Begin %I Pict
5419 %I b u
5420 %I cfg u
5421 %I cbg u
5422 %I f u
5423 %I p u
5424 %I t
5425 [ 1 0 0 1 -4 26 ] concat
5426
5427 Begin %I Elli
5428 %I b 65535
5429 1 0 0 [] 0 SetB
5430 %I cfg Black
5431 0 0 0 SetCFg
5432 %I cbg White
5433 1 1 1 SetCBg
5434 none SetP %I p n
5435 %I t
5436 [ 0.5 -0 -0 0.5 278 428 ] concat
5437 %I
5438 128 224 12 12 Elli
5439 End
5440
5441 Begin %I Text
5442 %I cfg Black
5443 0 0 0 SetCFg
5444 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5445 Helvetica 12 SetF
5446 %I t
5447 [ 1 0 0 1 339 543.5 ] concat
5448 %I
5449 [
5450 (2)
5451 ] Text
5452 End
5453
5454 End %I eop
5455
5456 Begin %I Pict
5457 %I b u
5458 %I cfg u
5459 %I cbg u
5460 %I f u
5461 %I p u
5462 %I t
5463 [ 1 0 0 1 -10 26 ] concat
5464
5465 Begin %I Elli
5466 %I b 65535
5467 1 0 0 [] 0 SetB
5468 %I cfg Black
5469 0 0 0 SetCFg
5470 %I cbg White
5471 1 1 1 SetCBg
5472 none SetP %I p n
5473 %I t
5474 [ 0.5 -0 -0 0.5 278 428 ] concat
5475 %I
5476 164 224 12 12 Elli
5477 End
5478
5479 Begin %I Text
5480 %I cfg Black
5481 0 0 0 SetCFg
5482 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5483 Helvetica 12 SetF
5484 %I t
5485 [ 1 0 0 1 357 544 ] concat
5486 %I
5487 [
5488 (3)
5489 ] Text
5490 End
5491
5492 End %I eop
5493
5494 Begin %I Pict
5495 %I b u
5496 %I cfg u
5497 %I cbg u
5498 %I f u
5499 %I p u
5500 %I t
5501 [ 1 0 0 1 -16 26 ] concat
5502
5503 Begin %I Elli
5504 %I b 65535
5505 1 0 0 [] 0 SetB
5506 %I cfg Black
5507 0 0 0 SetCFg
5508 %I cbg White
5509 1 1 1 SetCBg
5510 none SetP %I p n
5511 %I t
5512 [ 0.5 -0 -0 0.5 278 428 ] concat
5513 %I
5514 200 224 12 12 Elli
5515 End
5516
5517 Begin %I Text
5518 %I cfg Black
5519 0 0 0 SetCFg
5520 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5521 Helvetica 12 SetF
5522 %I t
5523 [ 1 0 0 1 375 544 ] concat
5524 %I
5525 [
5526 (4)
5527 ] Text
5528 End
5529
5530 End %I eop
5531
5532 Begin %I Pict
5533 %I b u
5534 %I cfg u
5535 %I cbg u
5536 %I f u
5537 %I p u
5538 %I t
5539 [ 1 0 0 1 -22 26 ] concat
5540
5541 Begin %I Elli
5542 %I b 65535
5543 1 0 0 [] 0 SetB
5544 %I cfg Black
5545 0 0 0 SetCFg
5546 %I cbg White
5547 1 1 1 SetCBg
5548 none SetP %I p n
5549 %I t
5550 [ 0.5 -0 -0 0.5 278 428 ] concat
5551 %I
5552 236 224 12 12 Elli
5553 End
5554
5555 Begin %I Text
5556 %I cfg Black
5557 0 0 0 SetCFg
5558 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5559 Helvetica 12 SetF
5560 %I t
5561 [ 1 0 0 1 393 544 ] concat
5562 %I
5563 [
5564 (5)
5565 ] Text
5566 End
5567
5568 End %I eop
5569
5570 Begin %I Pict
5571 %I b u
5572 %I cfg u
5573 %I cbg u
5574 %I f u
5575 %I p u
5576 %I t
5577 [ 1 0 0 1 104 26 ] concat
5578
5579 Begin %I Elli
5580 %I b 65535
5581 1 0 0 [] 0 SetB
5582 %I cfg Black
5583 0 0 0 SetCFg
5584 %I cbg White
5585 1 1 1 SetCBg
5586 none SetP %I p n
5587 %I t
5588 [ 0.5 -0 -0 0.5 278 428 ] concat
5589 %I
5590 32 224 12 12 Elli
5591 End
5592
5593 Begin %I Text
5594 %I cfg Black
5595 0 0 0 SetCFg
5596 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5597 Helvetica 12 SetF
5598 %I t
5599 [ 1 0 0 1 291 543.5 ] concat
5600 %I
5601 [
5602 (7)
5603 ] Text
5604 End
5605
5606 End %I eop
5607
5608 Begin %I Pict
5609 %I b u
5610 %I cfg u
5611 %I cbg u
5612 %I f u
5613 %I p u
5614 %I t
5615 [ 1 0 0 1 -28 26 ] concat
5616
5617 Begin %I Elli
5618 %I b 65535
5619 1 0 0 [] 0 SetB
5620 %I cfg Black
5621 0 0 0 SetCFg
5622 %I cbg White
5623 1 1 1 SetCBg
5624 none SetP %I p n
5625 %I t
5626 [ 0.5 -0 -0 0.5 278 428 ] concat
5627 %I
5628 272 224 12 12 Elli
5629 End
5630
5631 Begin %I Text
5632 %I cfg Black
5633 0 0 0 SetCFg
5634 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5635 Helvetica 12 SetF
5636 %I t
5637 [ 1 0 0 1 411 544 ] concat
5638 %I
5639 [
5640 (6)
5641 ] Text
5642 End
5643
5644 End %I eop
5645
5646 Begin %I Line
5647 %I b 65535
5648 1 0 0 [] 0 SetB
5649 %I cfg Black
5650 0 0 0 SetCFg
5651 %I cbg White
5652 1 1 1 SetCBg
5653 none SetP %I p n
5654 %I t
5655 [ 0.5 -0 -0 0.5 278 428 ] concat
5656 %I
5657 68 260 164 452 Line
5658 %I 2
5659 End
5660
5661 Begin %I Line
5662 %I b 65535
5663 1 0 0 [] 0 SetB
5664 %I cfg Black
5665 0 0 0 SetCFg
5666 %I cbg White
5667 1 1 1 SetCBg
5668 none SetP %I p n
5669 %I t
5670 [ 0.5 -0 -0 0.5 278 428 ] concat
5671 %I
5672 68 260 272 260 Line
5673 %I 2
5674 End
5675
5676 Begin %I Line
5677 %I b 65535
5678 1 0 0 [] 0 SetB
5679 %I cfg Black
5680 0 0 0 SetCFg
5681 %I cbg White
5682 1 1 1 SetCBg
5683 none SetP %I p n
5684 %I t
5685 [ 0.5 -0 -0 0.5 278 428 ] concat
5686 %I
5687 164 452 272 260 Line
5688 %I 2
5689 End
5690
5691 Begin %I Pict
5692 %I b u
5693 %I cfg u
5694 %I cbg u
5695 %I f u
5696 %I p u
5697 %I t
5698 [ 1 0 0 1 -71.5 99 ] concat
5699
5700 Begin %I Elli
5701 %I b 65535
5702 1 0 0 [] 0 SetB
5703 %I cfg Black
5704 0 0 0 SetCFg
5705 %I cbg White
5706 1 1 1 SetCBg
5707 none SetP %I p n
5708 %I t
5709 [ 0.5 -0 -0 0.5 278 428 ] concat
5710 %I
5711 308 224 12 12 Elli
5712 End
5713
5714 Begin %I Text
5715 %I cfg Black
5716 0 0 0 SetCFg
5717 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5718 Helvetica 12 SetF
5719 %I t
5720 [ 1 0 0 1 428.5 544 ] concat
5721 %I
5722 [
5723 (R)
5724 ] Text
5725 End
5726
5727 End %I eop
5728
5729 Begin %I Text
5730 %I cfg Black
5731 0 0 0 SetCFg
5732 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5733 Helvetica 12 SetF
5734 %I t
5735 [ 1 0 0 1 284 612.5 ] concat
5736 %I
5737 [
5738 (d')
5739 ] Text
5740 End
5741
5742 Begin %I Line
5743 %I b 65535
5744 1 0 0 [] 0 SetB
5745 %I cfg Black
5746 0 0 0 SetCFg
5747 %I cbg White
5748 1 1 1 SetCBg
5749 none SetP %I p n
5750 %I t
5751 [ 0.5 -0 -0 0.5 226 395 ] concat
5752 %I
5753 148 518 100 518 Line
5754 %I 2
5755 End
5756
5757 Begin %I Line
5758 %I b 65535
5759 1 0 0 [] 0 SetB
5760 %I cfg Black
5761 0 0 0 SetCFg
5762 %I cbg White
5763 1 1 1 SetCBg
5764 none SetP %I p n
5765 %I t
5766 [ 0.5 -0 -0 0.5 226 395 ] concat
5767 %I
5768 148 326 100 326 Line
5769 %I 2
5770 End
5771
5772 Begin %I Line
5773 %I b 65535
5774 1 0 1 [] 0 SetB
5775 %I cfg Black
5776 0 0 0 SetCFg
5777 %I cbg White
5778 1 1 1 SetCBg
5779 none SetP %I p n
5780 %I t
5781 [ 0.5 -0 -0 0.5 226 395 ] concat
5782 %I
5783 124 446 124 506 Line
5784 %I 2
5785 End
5786
5787 Begin %I Line
5788 %I b 65535
5789 1 0 1 [] 0 SetB
5790 %I cfg Black
5791 0 0 0 SetCFg
5792 %I cbg White
5793 1 1 1 SetCBg
5794 none SetP %I p n
5795 %I t
5796 [ 0.5 -0 -0 0.5 226 395 ] concat
5797 %I
5798 124 410 124 338 Line
5799 %I 2
5800 End
5801
5802 End %I eop
5803
5804 Begin %I Pict
5805 %I b u
5806 %I cfg u
5807 %I cbg u
5808 %I f u
5809 %I p u
5810 %I t
5811 [ 1 0 0 1 18 -24 ] concat
5812
5813 Begin %I Elli
5814 %I b 65535
5815 1 0 0 [] 0 SetB
5816 %I cfg Black
5817 0 0 0 SetCFg
5818 %I cbg White
5819 1 1 1 SetCBg
5820 none SetP %I p n
5821 %I t
5822 [ 0.5 -0 -0 0.5 278 428 ] concat
5823 %I
5824 128 224 12 12 Elli
5825 End
5826
5827 Begin %I Text
5828 %I cfg Black
5829 0 0 0 SetCFg
5830 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5831 Helvetica 12 SetF
5832 %I t
5833 [ 1 0 0 1 339 543.5 ] concat
5834 %I
5835 [
5836 (2)
5837 ] Text
5838 End
5839
5840 End %I eop
5841
5842 Begin %I Pict
5843 %I b u
5844 %I cfg u
5845 %I cbg u
5846 %I f u
5847 %I p u
5848 %I t
5849 [ 1 0 0 1 84 -24 ] concat
5850
5851 Begin %I Elli
5852 %I b 65535
5853 1 0 0 [] 0 SetB
5854 %I cfg Black
5855 0 0 0 SetCFg
5856 %I cbg White
5857 1 1 1 SetCBg
5858 none SetP %I p n
5859 %I t
5860 [ 0.5 -0 -0 0.5 278 428 ] concat
5861 %I
5862 164 224 12 12 Elli
5863 End
5864
5865 Begin %I Text
5866 %I cfg Black
5867 0 0 0 SetCFg
5868 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5869 Helvetica 12 SetF
5870 %I t
5871 [ 1 0 0 1 357 544 ] concat
5872 %I
5873 [
5874 (3)
5875 ] Text
5876 End
5877
5878 End %I eop
5879
5880 Begin %I Pict
5881 %I b u
5882 %I cfg u
5883 %I cbg u
5884 %I f u
5885 %I p u
5886 %I t
5887 [ 1 0 0 1 -108 -24 ] concat
5888
5889 Begin %I Elli
5890 %I b 65535
5891 1 0 0 [] 0 SetB
5892 %I cfg Black
5893 0 0 0 SetCFg
5894 %I cbg White
5895 1 1 1 SetCBg
5896 none SetP %I p n
5897 %I t
5898 [ 0.5 -0 -0 0.5 278 428 ] concat
5899 %I
5900 200 224 12 12 Elli
5901 End
5902
5903 Begin %I Text
5904 %I cfg Black
5905 0 0 0 SetCFg
5906 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5907 Helvetica 12 SetF
5908 %I t
5909 [ 1 0 0 1 375 544 ] concat
5910 %I
5911 [
5912 (4)
5913 ] Text
5914 End
5915
5916 End %I eop
5917
5918 Begin %I Pict
5919 %I b u
5920 %I cfg u
5921 %I cbg u
5922 %I f u
5923 %I p u
5924 %I t
5925 [ 1 0 0 1 0 -24 ] concat
5926
5927 Begin %I Elli
5928 %I b 65535
5929 1 0 0 [] 0 SetB
5930 %I cfg Black
5931 0 0 0 SetCFg
5932 %I cbg White
5933 1 1 1 SetCBg
5934 none SetP %I p n
5935 %I t
5936 [ 0.5 -0 -0 0.5 278 428 ] concat
5937 %I
5938 236 224 12 12 Elli
5939 End
5940
5941 Begin %I Text
5942 %I cfg Black
5943 0 0 0 SetCFg
5944 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5945 Helvetica 12 SetF
5946 %I t
5947 [ 1 0 0 1 393 544 ] concat
5948 %I
5949 [
5950 (5)
5951 ] Text
5952 End
5953
5954 End %I eop
5955
5956 Begin %I Pict
5957 %I b u
5958 %I cfg u
5959 %I cbg u
5960 %I f u
5961 %I p u
5962 %I t
5963 [ 1 0 0 1 66 -24 ] concat
5964
5965 Begin %I Elli
5966 %I b 65535
5967 1 0 0 [] 0 SetB
5968 %I cfg Black
5969 0 0 0 SetCFg
5970 %I cbg White
5971 1 1 1 SetCBg
5972 none SetP %I p n
5973 %I t
5974 [ 0.5 -0 -0 0.5 278 428 ] concat
5975 %I
5976 272 224 12 12 Elli
5977 End
5978
5979 Begin %I Text
5980 %I cfg Black
5981 0 0 0 SetCFg
5982 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
5983 Helvetica 12 SetF
5984 %I t
5985 [ 1 0 0 1 411 544 ] concat
5986 %I
5987 [
5988 (6)
5989 ] Text
5990 End
5991
5992 End %I eop
5993
5994 Begin %I Pict
5995 %I b u
5996 %I cfg u
5997 %I cbg u
5998 %I f u
5999 %I p u
6000 %I t
6001 [ 1 0 0 1 -84 -24 ] concat
6002
6003 Begin %I Text
6004 %I cfg Black
6005 0 0 0 SetCFg
6006 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6007 Helvetica 12 SetF
6008 %I t
6009 [ 1 0 0 1 315 543.5 ] concat
6010 %I
6011 [
6012 (1)
6013 ] Text
6014 End
6015
6016 Begin %I Elli
6017 %I b 65535
6018 1 0 0 [] 0 SetB
6019 %I cfg Black
6020 0 0 0 SetCFg
6021 %I cbg White
6022 1 1 1 SetCBg
6023 none SetP %I p n
6024 %I t
6025 [ 0.5 -0 -0 0.5 278 428 ] concat
6026 %I
6027 80 224 12 12 Elli
6028 End
6029
6030 End %I eop
6031
6032 Begin %I Pict
6033 %I b u
6034 %I cfg u
6035 %I cbg u
6036 %I f u
6037 %I p u
6038 %I t
6039 [ 1 0 0 1 12 -24 ] concat
6040
6041 Begin %I Elli
6042 %I b 65535
6043 1 0 0 [] 0 SetB
6044 %I cfg Black
6045 0 0 0 SetCFg
6046 %I cbg White
6047 1 1 1 SetCBg
6048 none SetP %I p n
6049 %I t
6050 [ 0.5 -0 -0 0.5 278 428 ] concat
6051 %I
6052 32 224 12 12 Elli
6053 End
6054
6055 Begin %I Text
6056 %I cfg Black
6057 0 0 0 SetCFg
6058 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6059 Helvetica 12 SetF
6060 %I t
6061 [ 1 0 0 1 291 543.5 ] concat
6062 %I
6063 [
6064 (7)
6065 ] Text
6066 End
6067
6068 End %I eop
6069
6070 Begin %I Rect
6071 %I b 65535
6072 1 0 0 [] 0 SetB
6073 %I cfg Black
6074 0 0 0 SetCFg
6075 %I cbg White
6076 1 1 1 SetCBg
6077 none SetP %I p n
6078 %I t
6079 [ 0.458861 0 0 0.489848 235.544 397.7 ] concat
6080 %I
6081 232 170 388 266 Rect
6082 End
6083
6084 Begin %I Rect
6085 %I b 65535
6086 1 0 0 [] 0 SetB
6087 %I cfg Black
6088 0 0 0 SetCFg
6089 %I cbg White
6090 1 1 1 SetCBg
6091 none SetP %I p n
6092 %I t
6093 [ 0.815325 0 0 0.489848 236.845 397.7 ] concat
6094 %I
6095 232 170 364 266 Rect
6096 End
6097
6098 Begin %I Line
6099 %I b 65520
6100 1 0 0 [12 4] 0 SetB
6101 %I cfg Black
6102 0 0 0 SetCFg
6103 %I cbg White
6104 1 1 1 SetCBg
6105 none SetP %I p n
6106 %I t
6107 [ 1.21519 0 0 0.046875 83.0438 492.703 ] concat
6108 %I
6109 100 241 376 241 Line
6110 %I 1
6111 End
6112
6113 Begin %I Text
6114 %I cfg Black
6115 0 0 0 SetCFg
6116 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6117 Helvetica 12 SetF
6118 %I t
6119 [ 1 0 0 1 162 515 ] concat
6120 %I
6121 [
6122 (APHID)
6123 ] Text
6124 End
6125
6126 Begin %I Text
6127 %I cfg Black
6128 0 0 0 SetCFg
6129 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6130 Helvetica 12 SetF
6131 %I t
6132 [ 1 0 0 1 162 503 ] concat
6133 %I
6134 [
6135 (Table)
6136 ] Text
6137 End
6138
6139 Begin %I Text
6140 %I cfg Black
6141 0 0 0 SetCFg
6142 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6143 Helvetica 12 SetF
6144 %I t
6145 [ 1 0 0 1 222 497 ] concat
6146 %I
6147 [
6148 (-1/4)
6149 ] Text
6150 End
6151
6152 Begin %I Text
6153 %I cfg Black
6154 0 0 0 SetCFg
6155 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6156 Helvetica 12 SetF
6157 %I t
6158 [ 1 0 0 1 258 497 ] concat
6159 %I
6160 [
6161 (+2/3)
6162 ] Text
6163 End
6164
6165 Begin %I Text
6166 %I cfg Black
6167 0 0 0 SetCFg
6168 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6169 Helvetica 12 SetF
6170 %I t
6171 [ 1 0 0 1 297.5 497 ] concat
6172 %I
6173 [
6174 (?/0)
6175 ] Text
6176 End
6177
6178 Begin %I Rect
6179 %I b 65535
6180 1 0 0 [] 0 SetB
6181 %I cfg Black
6182 0 0 0 SetCFg
6183 %I cbg White
6184 1 1 1 SetCBg
6185 none SetP %I p n
6186 %I t
6187 [ 0.5 0 0 0.5 148 395 ] concat
6188 %I
6189 136 170 352 266 Rect
6190 End
6191
6192 Begin %I Text
6193 %I cfg Black
6194 0 0 0 SetCFg
6195 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6196 Helvetica 12 SetF
6197 %I t
6198 [ 1 0 0 1 348 497 ] concat
6199 %I
6200 [
6201 (+5/5)
6202 ] Text
6203 End
6204
6205 Begin %I Text
6206 %I cfg Black
6207 0 0 0 SetCFg
6208 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6209 Helvetica 12 SetF
6210 %I t
6211 [ 1 0 0 1 468 497 ] concat
6212 %I
6213 [
6214 (+1/3)
6215 ] Text
6216 End
6217
6218 Begin %I Line
6219 %I b 65535
6220 1 0 0 [] 0 SetB
6221 %I cfg Black
6222 0 0 0 SetCFg
6223 %I cbg White
6224 1 1 1 SetCBg
6225 none SetP %I p n
6226 %I t
6227 [ 1 0 0 1 130 131 ] concat
6228 %I
6229 140 331 98 217 Line
6230 %I 1
6231 End
6232
6233 Begin %I Line
6234 %I b 65535
6235 1 0 0 [] 0 SetB
6236 %I cfg Black
6237 0 0 0 SetCFg
6238 %I cbg White
6239 1 1 1 SetCBg
6240 none SetP %I p n
6241 %I t
6242 [ 1 0 0 1 130 131 ] concat
6243 %I
6244 140 331 170 235 Line
6245 %I 1
6246 End
6247
6248 Begin %I Line
6249 %I b 65535
6250 1 0 0 [] 0 SetB
6251 %I cfg Black
6252 0 0 0 SetCFg
6253 %I cbg White
6254 1 1 1 SetCBg
6255 none SetP %I p n
6256 %I t
6257 [ 1 0 0 1 130 131 ] concat
6258 %I
6259 98 217 110 229 Line
6260 %I 1
6261 End
6262
6263 Begin %I Line
6264 %I b 65535
6265 1 0 0 [] 0 SetB
6266 %I cfg Black
6267 0 0 0 SetCFg
6268 %I cbg White
6269 1 1 1 SetCBg
6270 none SetP %I p n
6271 %I t
6272 [ 1 0 0 1 130 131 ] concat
6273 %I
6274 110 229 116 217 Line
6275 %I 1
6276 End
6277
6278 Begin %I Line
6279 %I b 65535
6280 1 0 0 [] 0 SetB
6281 %I cfg Black
6282 0 0 0 SetCFg
6283 %I cbg White
6284 1 1 1 SetCBg
6285 none SetP %I p n
6286 %I t
6287 [ 1 0 0 1 130 131 ] concat
6288 %I
6289 116 217 122 247 Line
6290 %I 1
6291 End
6292
6293 Begin %I Line
6294 %I b 65535
6295 1 0 0 [] 0 SetB
6296 %I cfg Black
6297 0 0 0 SetCFg
6298 %I cbg White
6299 1 1 1 SetCBg
6300 none SetP %I p n
6301 %I t
6302 [ 1 0 0 1 130 131 ] concat
6303 %I
6304 122 247 140 235 Line
6305 %I 1
6306 End
6307
6308 Begin %I Line
6309 %I b 65535
6310 1 0 0 [] 0 SetB
6311 %I cfg Black
6312 0 0 0 SetCFg
6313 %I cbg White
6314 1 1 1 SetCBg
6315 none SetP %I p n
6316 %I t
6317 [ 1 0 0 1 130 131 ] concat
6318 %I
6319 140 235 146 247 Line
6320 %I 1
6321 End
6322
6323 Begin %I Line
6324 %I b 65535
6325 1 0 0 [] 0 SetB
6326 %I cfg Black
6327 0 0 0 SetCFg
6328 %I cbg White
6329 1 1 1 SetCBg
6330 none SetP %I p n
6331 %I t
6332 [ 1 0 0 1 130 131 ] concat
6333 %I
6334 146 247 152 229 Line
6335 %I 1
6336 End
6337
6338 Begin %I Line
6339 %I b 65535
6340 1 0 0 [] 0 SetB
6341 %I cfg Black
6342 0 0 0 SetCFg
6343 %I cbg White
6344 1 1 1 SetCBg
6345 none SetP %I p n
6346 %I t
6347 [ 1 0 0 1 130 131 ] concat
6348 %I
6349 152 229 158 247 Line
6350 %I 1
6351 End
6352
6353 Begin %I Line
6354 %I b 65535
6355 1 0 0 [] 0 SetB
6356 %I cfg Black
6357 0 0 0 SetCFg
6358 %I cbg White
6359 1 1 1 SetCBg
6360 none SetP %I p n
6361 %I t
6362 [ 1 0 0 1 130 131 ] concat
6363 %I
6364 158 247 170 235 Line
6365 %I 1
6366 End
6367
6368 Begin %I Line
6369 %I b 65535
6370 1 0 0 [] 0 SetB
6371 %I cfg Black
6372 0 0 0 SetCFg
6373 %I cbg White
6374 1 1 1 SetCBg
6375 none SetP %I p n
6376 %I t
6377 [ 0.5 0 0 0.5 234 263 ] concat
6378 %I
6379 288 398 204 194 Line
6380 %I 2
6381 End
6382
6383 Begin %I Line
6384 %I b 65535
6385 1 0 0 [] 0 SetB
6386 %I cfg Black
6387 0 0 0 SetCFg
6388 %I cbg White
6389 1 1 1 SetCBg
6390 none SetP %I p n
6391 %I t
6392 [ 0.5 0 0 0.5 234 263 ] concat
6393 %I
6394 204 194 240 218 Line
6395 %I 2
6396 End
6397
6398 Begin %I Line
6399 %I b 65535
6400 1 0 0 [] 0 SetB
6401 %I cfg Black
6402 0 0 0 SetCFg
6403 %I cbg White
6404 1 1 1 SetCBg
6405 none SetP %I p n
6406 %I t
6407 [ 0.5 0 0 0.5 234 263 ] concat
6408 %I
6409 240 218 252 230 Line
6410 %I 2
6411 End
6412
6413 Begin %I Line
6414 %I b 65535
6415 1 0 0 [] 0 SetB
6416 %I cfg Black
6417 0 0 0 SetCFg
6418 %I cbg White
6419 1 1 1 SetCBg
6420 none SetP %I p n
6421 %I t
6422 [ 0.5 0 0 0.5 234 263 ] concat
6423 %I
6424 252 230 264 218 Line
6425 %I 2
6426 End
6427
6428 Begin %I Line
6429 %I b 65535
6430 1 0 0 [] 0 SetB
6431 %I cfg Black
6432 0 0 0 SetCFg
6433 %I cbg White
6434 1 1 1 SetCBg
6435 none SetP %I p n
6436 %I t
6437 [ 0.5 0 0 0.5 234 263 ] concat
6438 %I
6439 264 218 276 182 Line
6440 %I 2
6441 End
6442
6443 Begin %I Line
6444 %I b 65535
6445 1 0 0 [] 0 SetB
6446 %I cfg Black
6447 0 0 0 SetCFg
6448 %I cbg White
6449 1 1 1 SetCBg
6450 none SetP %I p n
6451 %I t
6452 [ 0.5 0 0 0.5 234 263 ] concat
6453 %I
6454 276 182 288 206 Line
6455 %I 2
6456 End
6457
6458 Begin %I Line
6459 %I b 65535
6460 1 0 0 [] 0 SetB
6461 %I cfg Black
6462 0 0 0 SetCFg
6463 %I cbg White
6464 1 1 1 SetCBg
6465 none SetP %I p n
6466 %I t
6467 [ 0.5 0 0 0.5 234 263 ] concat
6468 %I
6469 288 206 300 230 Line
6470 %I 2
6471 End
6472
6473 Begin %I Line
6474 %I b 65535
6475 1 0 0 [] 0 SetB
6476 %I cfg Black
6477 0 0 0 SetCFg
6478 %I cbg White
6479 1 1 1 SetCBg
6480 none SetP %I p n
6481 %I t
6482 [ 0.5 0 0 0.5 234 263 ] concat
6483 %I
6484 300 230 312 206 Line
6485 %I 2
6486 End
6487
6488 Begin %I Line
6489 %I b 65535
6490 1 0 0 [] 0 SetB
6491 %I cfg Black
6492 0 0 0 SetCFg
6493 %I cbg White
6494 1 1 1 SetCBg
6495 none SetP %I p n
6496 %I t
6497 [ 0.5 0 0 0.5 234 263 ] concat
6498 %I
6499 312 206 324 230 Line
6500 %I 2
6501 End
6502
6503 Begin %I Line
6504 %I b 65535
6505 1 0 0 [] 0 SetB
6506 %I cfg Black
6507 0 0 0 SetCFg
6508 %I cbg White
6509 1 1 1 SetCBg
6510 none SetP %I p n
6511 %I t
6512 [ 0.5 0 0 0.5 234 263 ] concat
6513 %I
6514 288 398 348 230 Line
6515 %I 2
6516 End
6517
6518 Begin %I Line
6519 %I b 65535
6520 1 0 0 [] 0 SetB
6521 %I cfg Black
6522 0 0 0 SetCFg
6523 %I cbg White
6524 1 1 1 SetCBg
6525 none SetP %I p n
6526 %I t
6527 [ 0.5 0 0 0.5 234 263 ] concat
6528 %I
6529 324 230 348 230 Line
6530 %I 2
6531 End
6532
6533 Begin %I Line
6534 %I b 65535
6535 1 0 0 [] 0 SetB
6536 %I cfg Black
6537 0 0 0 SetCFg
6538 %I cbg White
6539 1 1 1 SetCBg
6540 none SetP %I p n
6541 %I t
6542 [ 0.5 0 0 0.5 338 230 ] concat
6543 %I
6544 188 248 212 284 Line
6545 %I 2
6546 End
6547
6548 Begin %I Line
6549 %I b 65535
6550 1 0 0 [] 0 SetB
6551 %I cfg Black
6552 0 0 0 SetCFg
6553 %I cbg White
6554 1 1 1 SetCBg
6555 none SetP %I p n
6556 %I t
6557 [ 0.5 0 0 0.5 338 230 ] concat
6558 %I
6559 212 284 236 248 Line
6560 %I 2
6561 End
6562
6563 Begin %I Line
6564 %I b 65535
6565 1 0 0 [] 0 SetB
6566 %I cfg Black
6567 0 0 0 SetCFg
6568 %I cbg White
6569 1 1 1 SetCBg
6570 none SetP %I p n
6571 %I t
6572 [ 0.5 0 0 0.5 338 230 ] concat
6573 %I
6574 236 248 248 296 Line
6575 %I 2
6576 End
6577
6578 Begin %I Line
6579 %I b 65535
6580 1 0 0 [] 0 SetB
6581 %I cfg Black
6582 0 0 0 SetCFg
6583 %I cbg White
6584 1 1 1 SetCBg
6585 none SetP %I p n
6586 %I t
6587 [ 0.5 0 0 0.5 338 230 ] concat
6588 %I
6589 248 296 272 260 Line
6590 %I 2
6591 End
6592
6593 Begin %I Line
6594 %I b 65535
6595 1 0 0 [] 0 SetB
6596 %I cfg Black
6597 0 0 0 SetCFg
6598 %I cbg White
6599 1 1 1 SetCBg
6600 none SetP %I p n
6601 %I t
6602 [ 0.5 0 0 0.5 338 230 ] concat
6603 %I
6604 272 260 284 296 Line
6605 %I 2
6606 End
6607
6608 Begin %I Line
6609 %I b 65535
6610 1 0 0 [] 0 SetB
6611 %I cfg Black
6612 0 0 0 SetCFg
6613 %I cbg White
6614 1 1 1 SetCBg
6615 none SetP %I p n
6616 %I t
6617 [ 0.5 0 0 0.5 338 230 ] concat
6618 %I
6619 284 296 308 272 Line
6620 %I 2
6621 End
6622
6623 Begin %I Line
6624 %I b 65535
6625 1 0 0 [] 0 SetB
6626 %I cfg Black
6627 0 0 0 SetCFg
6628 %I cbg White
6629 1 1 1 SetCBg
6630 none SetP %I p n
6631 %I t
6632 [ 0.5 0 0 0.5 338 230 ] concat
6633 %I
6634 308 272 320 296 Line
6635 %I 2
6636 End
6637
6638 Begin %I Line
6639 %I b 65535
6640 1 0 0 [] 0 SetB
6641 %I cfg Black
6642 0 0 0 SetCFg
6643 %I cbg White
6644 1 1 1 SetCBg
6645 none SetP %I p n
6646 %I t
6647 [ 0.5 0 0 0.5 338 230 ] concat
6648 %I
6649 260 464 320 296 Line
6650 %I 2
6651 End
6652
6653 Begin %I Line
6654 %I b 65535
6655 1 0 0 [] 0 SetB
6656 %I cfg Black
6657 0 0 0 SetCFg
6658 %I cbg White
6659 1 1 1 SetCBg
6660 none SetP %I p n
6661 %I t
6662 [ 0.5 0 0 0.5 338 230 ] concat
6663 %I
6664 260 464 188 248 Line
6665 %I 2
6666 End
6667
6668 Begin %I Text
6669 %I cfg Black
6670 0 0 0 SetCFg
6671 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6672 Helvetica 12 SetF
6673 %I t
6674 [ 1 0 0 1 246 341 ] concat
6675 %I
6676 [
6677 (Slave 1)
6678 ] Text
6679 End
6680
6681 Begin %I Text
6682 %I cfg Black
6683 0 0 0 SetCFg
6684 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6685 Helvetica 12 SetF
6686 %I t
6687 [ 1 0 0 1 354 341 ] concat
6688 %I
6689 [
6690 (Slave 2)
6691 ] Text
6692 End
6693
6694 Begin %I Text
6695 %I cfg Black
6696 0 0 0 SetCFg
6697 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6698 Helvetica 12 SetF
6699 %I t
6700 [ 1 0 0 1 444 341 ] concat
6701 %I
6702 [
6703 (Slave 3)
6704 ] Text
6705 End
6706
6707 Begin %I Pict
6708 %I b u
6709 %I cfg u
6710 %I cbg u
6711 %I f u
6712 %I p u
6713 %I t
6714 [ 1 0 0 1 35.5 -97.5 ] concat
6715
6716 Begin %I Elli
6717 %I b 65535
6718 1 0 0 [] 0 SetB
6719 %I cfg Black
6720 0 0 0 SetCFg
6721 %I cbg White
6722 1 1 1 SetCBg
6723 none SetP %I p n
6724 %I t
6725 [ 0.5 -0 -0 0.5 278 428 ] concat
6726 %I
6727 128 224 12 12 Elli
6728 End
6729
6730 Begin %I Text
6731 %I cfg Black
6732 0 0 0 SetCFg
6733 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6734 Helvetica 12 SetF
6735 %I t
6736 [ 1 0 0 1 339 543.5 ] concat
6737 %I
6738 [
6739 (2)
6740 ] Text
6741 End
6742
6743 End %I eop
6744
6745 Begin %I Pict
6746 %I b u
6747 %I cfg u
6748 %I cbg u
6749 %I f u
6750 %I p u
6751 %I t
6752 [ 1 0 0 1 54 -97 ] concat
6753
6754 Begin %I Elli
6755 %I b 65535
6756 1 0 0 [] 0 SetB
6757 %I cfg Black
6758 0 0 0 SetCFg
6759 %I cbg White
6760 1 1 1 SetCBg
6761 none SetP %I p n
6762 %I t
6763 [ 0.5 -0 -0 0.5 278 428 ] concat
6764 %I
6765 272 224 12 12 Elli
6766 End
6767
6768 Begin %I Text
6769 %I cfg Black
6770 0 0 0 SetCFg
6771 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6772 Helvetica 12 SetF
6773 %I t
6774 [ 1 0 0 1 411 544 ] concat
6775 %I
6776 [
6777 (6)
6778 ] Text
6779 End
6780
6781 End %I eop
6782
6783 Begin %I Pict
6784 %I b u
6785 %I cfg u
6786 %I cbg u
6787 %I f u
6788 %I p u
6789 %I t
6790 [ 1 0 0 1 -24.5 -99 ] concat
6791
6792 Begin %I Elli
6793 %I b 65535
6794 1 0 0 [] 0 SetB
6795 %I cfg Black
6796 0 0 0 SetCFg
6797 %I cbg White
6798 1 1 1 SetCBg
6799 none SetP %I p n
6800 %I t
6801 [ 0.5 -0 -0 0.5 278 428 ] concat
6802 %I
6803 32 224 12 12 Elli
6804 End
6805
6806 Begin %I Text
6807 %I cfg Black
6808 0 0 0 SetCFg
6809 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6810 Helvetica 12 SetF
6811 %I t
6812 [ 1 0 0 1 291 543.5 ] concat
6813 %I
6814 [
6815 (7)
6816 ] Text
6817 End
6818
6819 End %I eop
6820
6821 Begin %I Line
6822 %I b 65535
6823 1 0 0 [] 0 SetB
6824 %I cfg Black
6825 0 0 0 SetCFg
6826 %I cbg White
6827 1 1 1 SetCBg
6828 none SetP %I p n
6829 %I t
6830 [ 0.5 0 0 0.5 130 296 ] concat
6831 %I
6832 100 320 148 320 Line
6833 %I 2
6834 End
6835
6836 Begin %I Line
6837 %I b 65535
6838 1 0 0 [] 0 SetB
6839 %I cfg Black
6840 0 0 0 SetCFg
6841 %I cbg White
6842 1 1 1 SetCBg
6843 none SetP %I p n
6844 %I t
6845 [ 0.5 0 0 0.5 130 296 ] concat
6846 %I
6847 100 164 148 164 Line
6848 %I 2
6849 End
6850
6851 Begin %I Text
6852 %I cfg Black
6853 0 0 0 SetCFg
6854 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6855 Helvetica 12 SetF
6856 %I t
6857 [ 1 0 0 1 180.5 421.5 ] concat
6858 %I
6859 [
6860 (d-d')
6861 ] Text
6862 End
6863
6864 Begin %I Line
6865 %I b 65535
6866 1 0 1 [] 0 SetB
6867 %I cfg Black
6868 0 0 0 SetCFg
6869 %I cbg White
6870 1 1 1 SetCBg
6871 none SetP %I p n
6872 %I t
6873 [ 0.5 0 0 0.5 130 296 ] concat
6874 %I
6875 124 224 124 176 Line
6876 %I 2
6877 End
6878
6879 Begin %I Line
6880 %I b 65535
6881 1 0 1 [] 0 SetB
6882 %I cfg Black
6883 0 0 0 SetCFg
6884 %I cbg White
6885 1 1 1 SetCBg
6886 none SetP %I p n
6887 %I t
6888 [ 0.5 0 0 0.5 130 296 ] concat
6889 %I
6890 124 260 124 308 Line
6891 %I 2
6892 End
6893
6894 Begin %I Text
6895 %I cfg Black
6896 0 0 0 SetCFg
6897 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6898 Helvetica 12 SetF
6899 %I t
6900 [ 1 0 0 1 384 497 ] concat
6901 %I
6902 [
6903 (+4/5)
6904 ] Text
6905 End
6906
6907 Begin %I Pict
6908 %I b u
6909 %I cfg u
6910 %I cbg u
6911 %I f u
6912 %I p u
6913 %I t
6914 [ 1 0 0 1 60 -36 ] concat
6915
6916 Begin %I Elli
6917 %I b 65535
6918 1 0 0 [] 0 SetB
6919 %I cfg Black
6920 0 0 0 SetCFg
6921 %I cbg White
6922 1 1 1 SetCBg
6923 none SetP %I p n
6924 %I t
6925 [ 0.5 -0 -0 0.5 278 362 ] concat
6926 %I
6927 356 380 12 12 Elli
6928 End
6929
6930 Begin %I Text
6931 %I cfg Black
6932 0 0 0 SetCFg
6933 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6934 Helvetica 12 SetF
6935 %I t
6936 [ 1 0 0 1 453 555.5 ] concat
6937 %I
6938 [
6939 (8)
6940 ] Text
6941 End
6942
6943 End %I eop
6944
6945 Begin %I Text
6946 %I cfg Black
6947 0 0 0 SetCFg
6948 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6949 Helvetica 12 SetF
6950 %I t
6951 [ 1 0 0 1 504 497 ] concat
6952 %I
6953 [
6954 (-3/1)
6955 ] Text
6956 End
6957
6958 Begin %I Text
6959 %I cfg Black
6960 0 0 0 SetCFg
6961 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6962 Helvetica 12 SetF
6963 %I t
6964 [ 1 0 0 1 432 497 ] concat
6965 %I
6966 [
6967 (<0/4)
6968 ] Text
6969 End
6970
6971 End %I eop
6972
6973 showpage
6974
6975
6976 end
6977 %%EndDocument
6978
6979  endTexFig
6980  488 1745 a Fn(Figure)14 b(2:)k(A)c(Snapshot)g(of)f(APHID)i(Searc)o(h)f
6981 (In)g(Op)q(eration)0 1878 y(is)f(in)g(b)q(et)o(w)o(een)i(-5)e(and)g(5.)
6982 18 b(In)13 b(this)h(case,)g(a)f(\\bad)g(b)q(ound")h(searc)o(h)g(is)f
6983 (generated,)i(and)e(the)h(searc)o(h)h(windo)o(w)d(parameters,)0
6984 1940 y Fm(\013)j Fn(and)f Fm(\014)r Fn(,)h(m)o(ust)f(b)q(e)i(comm)o
6985 (unicated)c(to)j(the)h(sla)o(v)o(e)e(pro)q(cessor.)23
6986 b(An)o(y)15 b(no)q(des)g(where)h(w)o(e)f(are)h(w)o(aiting)d(for)i
6987 (\\bad)f(b)q(ound")0 2002 y(information)f(are)k(considered)g(as)f
6988 (uncertain)h(b)o(y)f(the)g(master,)g(ev)o(en)h(though)f(w)o(e)g(ha)o(v)
6989 o(e)g(a)g(score)h(b)q(ound)f(for)g(the)h Fm(d)10 b Fk(\000)h
6990 Fm(d)1939 1987 y Fd(0)0 2064 y Fn(ply)k(searc)o(h.)25
6991 b(Ev)o(en)o(tually)m(,)14 b(the)j(sla)o(v)o(e)e(will)f(return)j(up)q
6992 (dated)f(information)d(that)j(is)f(consisten)o(t)i(with)f(b)q(oth)g
6993 (the)g(original)0 2127 y(information)11 b(and)j(the)g(searc)o(h)h
6994 (windo)o(w)e(requested)824 2112 y Fi(3)845 2127 y Fn(.)0
6995 2243 y Fc(3.2)56 b(The)18 b(APHID)h(T)-5 b(able)0 2332
6996 y Fn(If)15 b(a)f(leaf)h(no)q(de)g(is)g(visited)g(b)o(y)g(the)g(master)g
6997 (for)g(the)g(\014rst)h(time,)d(it)i(is)g(statically)f(allo)q(cated)h
6998 (to)f(a)h(sla)o(v)o(e)g(pro)q(cessor.)23 b(This)0 2394
6999 y(information)14 b(is)j(recorded)h(in)f(a)f(table,)i(the)f
7000 Fl(APHID)h(table)p Fn(,)f(that)g(is)g(shared)h(b)o(y)e(all)g(pro)q
7001 (cessors.)29 b(Figure)17 b(2)g(sho)o(ws)g(an)0 2456 y(example)c(of)g
7002 (ho)o(w)g(the)i(APHID)f(table)g(w)o(ould)f(b)q(e)h(organized)g(at)g(a)f
7003 (giv)o(en)h(p)q(oin)o(t)f(in)h(time.)62 2519 y(The)h(APHID)f(table)g
7004 (is)g(partitioned)g(in)o(to)g(t)o(w)o(o)f(parts:)20 b(one)14
7005 b(whic)o(h)g(only)g(the)g(master)g(can)g(write)h(to,)f(and)g(one)g
7006 (whic)o(h)p 0 2553 780 2 v 46 2580 a Fh(3)64 2592 y Fg(It)f(ma)o(y)g
7007 (happ)q(en)f(that)h(the)g(original)f(searc)o(h)g(and)h(the)h(\\bad)e(b)
7008 q(ound")g(searc)o(h)h(are)g(inconsisten)o(t)e(with)j(one)f(another,)f
7009 (through)g(the)h(use)0 2631 y(of)h(searc)o(h)e(extensions)f(that)i(ma)o
7010 (y)g(or)h(ma)o(y)f(not)g(b)q(e)g(triggered)f(based)g(on)i(the)f(searc)o
7011 (h)g(windo)o(w)g(used.)22 b(In)13 b(this)h(case,)f(the)g(searc)o(h)g
7012 (explicitly)0 2671 y(requested)c(b)o(y)i(the)g(master)f(o)o(v)o
7013 (errides)f(the)i(informatio)o(n)e(that)h(had)h(b)q(een)f(previously)f
7014 (stored.)965 2828 y Fn(6)p eop
7015 %%Page: 7 7
7016 7 6 bop 0 195 a Fn(only)14 b(the)h(sla)o(v)o(e)g(that)f(has)h(b)q(een)h
7017 (assigned)f(that)g(piece)h(of)e(w)o(ork)g(can)h(write)g(to.)21
7018 b(An)o(y)14 b(attempt)g(to)h(write)g(in)o(to)f(the)h(table)0
7019 257 y(generates)k(a)e(message)g(that)g(informs)f(the)i(sla)o(v)o(e)f
7020 (or)g(the)h(master)f(pro)q(cess)i(of)e(the)h(up)q(date)g(to)f(the)h
7021 (information.)26 b(The)0 320 y(master)13 b(and)f(sla)o(v)o(e)h(only)f
7022 (read)i(their)f(lo)q(cal)f(copies)i(of)e(the)i(information;)c(there)k
7023 (are)f(no)g(explicit)g(messages)g(sen)o(t)h(b)q(et)o(w)o(een)0
7024 382 y(the)g(master)g(and)g(the)g(sla)o(v)o(e)g(asking)f(for)g
7025 (information.)62 444 y(The)g(master's)f(half)f(of)h(the)h(table)f(is)h
7026 (illustrated)f(ab)q(o)o(v)o(e)g(the)h(dotted)g(line)f(in)g(Figure)g(2.)
7027 17 b(F)m(or)12 b(eac)o(h)h(leaf)f(that)g(has)h(b)q(een)0
7028 506 y(visited)h(b)o(y)f(the)h(master,)f(there)i(is)f(an)f(en)o(try)i
7029 (in)e(the)h(APHID)g(table.)k(Information)11 b(main)o(tained)h(on)h(the)
7030 i(lea)o(v)o(es)e(includes)0 569 y(the)g(mo)o(v)o(es)e(required)j(to)e
7031 (generate)i(the)f(leaf)f(p)q(ositions)g(from)f(the)i(ro)q(ot)g
7032 Fe(R)p Fn(,)f(the)h(appro)o(ximate)e(lo)q(cation)g(of)h(the)h(leaf)f
7033 (in)g(the)0 631 y(tree)k(\(whic)o(h)e(is)g(used)h(b)o(y)g(the)f(sla)o
7034 (v)o(e)g(to)h(prioritize)f(w)o(ork\),)g(whether)h(this)g(leaf)f(w)o(as)
7035 g(touc)o(hed)h(on)f(the)h(last)f(pass)h(that)f(the)0
7036 693 y(master)f(executed,)j(and)d(the)i(n)o(um)o(b)q(er)e(of)g(the)i
7037 (sla)o(v)o(e)e(that)h(the)h(leaf)e(w)o(as)h(allo)q(cated)f(to.)62
7038 756 y(In)h(our)f(example,)f(w)o(e)i(can)g(see)g(that)g(the)g(same)f(n)o
7039 (um)o(b)q(er)f(of)h(lea)o(v)o(es)h(ha)o(v)o(e)f(b)q(een)i(allo)q(cated)
7040 e(to)g(eac)o(h)h(sla)o(v)o(e.)k(Note)c(that)0 818 y(there)i(is)f(an)g
7041 (additional)f(leaf,)g(8,)h(that)g(is)g(not)g(represen)o(ted)j(in)c(the)
7042 i(master's)f Fm(d)1286 803 y Fd(0)1312 818 y Fn(ply)f(searc)o(h)j
7043 (tree.)23 b(This)15 b(leaf)f(no)q(de)i(has)0 880 y(b)q(een)f(visited)g
7044 (on)f(a)g(previous)h(pass)g(of)e(the)i Fm(d)723 865 y
7045 Fd(0)749 880 y Fn(ply)f(searc)o(h)h(tree,)g(and)g(w)o(as)f(not)g(touc)o
7046 (hed)h(on)f(the)h(latest)g(pass.)20 b(Ho)o(w)o(ev)o(er,)0
7047 942 y(the)14 b(information)c(that)k(the)g(sla)o(v)o(e)f(has)g
7048 (generated)i(ma)o(y)c(b)q(e)j(needed)h(in)e(a)g(later)g(pass)h(of)f
7049 (the)h(tree)g(and)f(is)h(not)f(deleted)h(b)o(y)0 1005
7050 y(the)g(master.)k(Lea)o(v)o(es)c(are)g(initially)e(allo)q(cated)h(to)h
7051 (the)g(sla)o(v)o(es)g(in)f(a)h(round-robin)f(manner,)f(and)i(ma)o(y)e
7052 (mo)o(v)o(e)g(due)i(to)g(load)0 1067 y(balancing)g(\(as)h(describ)q(ed)
7053 i(in)e(Section)h(3.4\).)k(Although)15 b(there)i(ma)o(y)c(b)q(e)i(b)q
7054 (etter)i(metho)q(ds)e(of)f(allo)q(cating)g(lea)o(v)o(es,)h(it)g(has)0
7055 1129 y(b)q(een)f(found)f(that)h(this)f(is)g(a)g(reasonable)h(metho)q(d)
7056 f(of)f(initially)f(balancing)h(the)i(load)f(on)g(a)g(small)e(n)o(um)o
7057 (b)q(er)h(of)h(pro)q(cessors.)62 1191 y(The)j(sla)o(v)o(e's)e(part)h
7058 (of)g(the)g(table,)g(illustrated)f(b)o(y)h(the)h(area)f(b)q(elo)o(w)f
7059 (the)i(dotted)g(line,)e(con)o(tains)h(information)d(on)i(the)0
7060 1254 y(result)f(of)e(searc)o(hing)i(the)g(p)q(osition)e(to)h(v)n
7061 (arious)f(depths)j(of)d(searc)o(h.)19 b(The)12 b(\\b)q(est")h
7062 (information)c(and)j(the)h(ply)e(to)h(whic)o(h)g(the)0
7063 1316 y(leaf)j(w)o(as)g(examined)f(is)i(giv)o(en)f(underneath)h(eac)o(h)
7064 g(leaf)f(no)q(de)h(in)f(the)h(tree.)24 b(F)m(or)15 b(leaf)g(1,)g(the)h
7065 (score)h(returned)g(is)e(-1)g(with)0 1378 y(a)f(searc)o(h)h(depth)f(of)
7066 g(4.)j(Leaf)d(3)g(illustrates)g(that)g(the)g(score)h(information)c
7067 (returned)16 b(b)o(y)e(the)g(sla)o(v)o(e)g(is)f(not)h(necessarily)h(an)
7068 0 1440 y(exact)h(n)o(um)o(b)q(er.)k(The)15 b(sla)o(v)o(es)g(main)o
7069 (tain)d(an)j(upp)q(er)h(b)q(ound)e(and)h(a)g(lo)o(w)o(er)f(b)q(ound)h
7070 (on)g(the)g(score)h(for)f(eac)o(h)g(ply)g(of)f(searc)o(h)0
7071 1503 y(depth.)19 b(The)14 b(score)h(is)f(kno)o(wn)f(to)h(b)q(e)h(exact)
7072 f(when)h(the)f(upp)q(er)h(and)f(lo)o(w)o(er)f(b)q(ounds)i(are)f(the)g
7073 (same.)0 1618 y Fc(3.3)56 b(Op)r(eration)17 b(of)i(Sla)n(v)n(e)g(in)f
7074 (APHID)0 1707 y Fn(A)c(sla)o(v)o(e)f(pro)q(cess)i(essen)o(tially)e
7075 (executes)j(the)e(same)e(co)q(de)j(that)e(a)g(sequen)o(tial)h
7076 Fm(\013\014)i Fn(searc)o(her)f(w)o(ould.)i(The)d(pro)q(cess)h(simply)0
7077 1770 y(rep)q(eats)g(the)g(follo)o(wing)c(three)k(steps)h(un)o(til)d
7078 (the)h(master)g(tells)f(it)h(that)g(the)g(searc)o(h)h(is)f(complete:)51
7079 1862 y(1.)20 b(Lo)q(ok)13 b(in)h(its)f(p)q(ortion)h(of)f(its)h(lo)q
7080 (cal)f(cop)o(y)h(of)f(the)i(APHID)f(table,)f(and)h(\014nd)g(the)g
7081 (highest)h(priorit)o(y)e(no)q(de)h(to)g(searc)o(h.)51
7082 1956 y(2.)20 b(Execute)15 b(the)g(searc)o(h.)51 2051
7083 y(3.)20 b(Rep)q(ort)14 b(the)g(result)h(bac)o(k)f(to)g(the)g(master)g
7084 (\(getting)f(an)h(up)q(date)h(to)e(its)h(APHID)g(table)g(in)g
7085 (return\).)62 2143 y(The)19 b(w)o(ork)e(selection)i(criterion)f(is)g
7086 (primarily)d(based)k(on)f(the)g(depth)h(to)f(whic)o(h)f(the)i(sla)o(v)o
7087 (e)f(has)g(already)f(searc)o(hed)0 2205 y(a)h(no)q(de.)31
7088 b(As)18 b(w)o(e)g(can)h(see)g(for)e(Sla)o(v)o(e)h(1)g(in)f(Figure)h(2,)
7089 h(lea)o(v)o(es)f(1,)g(4)g(and)g(7)f(ha)o(v)o(e)h(b)q(een)h(searc)o(hed)
7090 h(to)e(4,)g(3)g(and)g(0)f(ply)m(,)0 2268 y(resp)q(ectiv)o(ely)m(.)i(Th)
7091 o(us,)14 b(Sla)o(v)o(e)f(1)g(is)h(attempting)e(to)i(searc)o(h)h(leaf)e
7092 (7)h(to)f(1)h(ply)m(,)e(and)i(will)e(con)o(tin)o(ue)i(to)g(searc)o(h)h
7093 (leaf)e(7)h(up)g(to)f(3)0 2330 y(ply)g(b)o(y)h(using)g(iterativ)o(e)f
7094 (deep)q(ening,)i(if)e(no)h(new)g(w)o(ork)f(arriv)o(es)i(from)d(the)i
7095 (master.)62 2392 y(The)c(secondary)h(criterion)f(is)g(the)g(lo)q
7096 (cation)f(of)g(the)h(no)q(de)h(within)d(the)j(master's)e(game-tree.)16
7097 b(This)10 b(secondary)h(criterion)0 2455 y(is)f(necessary)j(since)e(it)
7098 f(is)g(usually)g(b)q(ene\014cial)h(to)f(generate)i(the)f(results)h(in)e
7099 (a)g(left)g(to)g(righ)o(t)g(order)h(for)g(the)g(master.)16
7100 b(Children)0 2517 y(of)e(no)q(des)h(are)g(usually)f(considered)h(in)g
7101 (a)f(b)q(est-to-w)o(orst)h(ordering,)f(implying)e(that)i(the)h
7102 (left-most)e(branc)o(hes)j(at)e(a)h(no)q(de)0 2579 y(ha)o(v)o(e)g(a)g
7103 (higher)g(probabilit)o(y)e(of)i(b)q(eing)g(useful)g(than)g(the)h(righ)o
7104 (t-most)d(ones.)22 b(F)m(or)15 b(Sla)o(v)o(e)f(2)h(in)g(Figure)g(2,)f
7105 (lea)o(v)o(es)i(2)e(and)h(5)0 2641 y(ha)o(v)o(e)f(b)q(oth)h(b)q(een)g
7106 (searc)o(hed)h(to)e(5)g(ply)m(,)f(but)h(leaf)g(2)g(is)g(b)q(eing)h
7107 (searc)o(hed)g(in)f(the)h(sla)o(v)o(e)f(to)g(6)g(ply)g(since)h(it)f(is)
7108 g(further)h(left)f(in)0 2704 y(the)g(tree)i(than)d(leaf)h(5.)965
7109 2828 y(7)p eop
7110 %%Page: 8 8
7111 8 7 bop 62 195 a Fn(A)14 b(no)q(de)h(that)f(has)g(a)f(priorit)o(y)h(of)
7112 f(zero)i(\(b)q(ecause)h(it)d(is)h(no)g(longer)f(part)i(of)e(the)h
7113 (master's)g(tree\))h(will)e(not)h(b)q(e)g(selected)0
7114 257 y(for)d(further)i(searc)o(h.)18 b(F)m(or)11 b(Sla)o(v)o(e)g(3,)h(w)
7115 o(e)g(notice)g(that)f(Leaf)h(8)f(w)o(ould)g(b)q(e)h(searc)o(hed)i(if)c
7116 (it)i(had)f(b)q(een)i(touc)o(hed)f(b)o(y)g(the)g(master.)0
7117 320 y(Leaf)i(8)f(is)h(ignored)g(b)o(y)f(the)i(sc)o(heduling)f
7118 (algorithm)d(b)q(ecause)16 b(it)d(is)h(not)g(curren)o(tly)h(part)f(of)f
7119 (the)h(master's)g(tree.)62 382 y(Before)19 b(a)f(searc)o(h)h(can)f(b)q
7120 (e)h(executed,)h(an)e Fm(\013\014)i Fn(searc)o(h)f(windo)o(w)e(m)o(ust)
7121 g(b)q(e)i(generated)g(b)o(y)f(the)g(sla)o(v)o(e.)30 b(The)18
7122 b(master)0 444 y(con)o(tin)o(ually)f(advises)j(the)f(sla)o(v)o(es)g(of)
7123 g(the)g(leaf)s('s)f(lo)q(cation)h(within)f(the)h(master's)g(tree,)i
7124 (and)d(the)i(h)o(yp)q(othetical)f(v)n(alue)0 506 y(of)e(the)g(ro)q(ot)h
7125 (of)e(the)i(master's)f(tree.)29 b(Although)17 b(the)h(width)f(of)f(the)
7126 i(searc)o(h)g(windo)o(w)f(is)g(application-dep)q(enden)o(t,)h(one)0
7127 569 y(normally)12 b(w)o(an)o(ts)i(to)g(cen)o(ter)i(the)f(windo)o(w)f
7128 (around)g(this)h(h)o(yp)q(othesized)g(ro)q(ot)g(v)n(alue,)e(plus)h(or)h
7129 (min)o(us)d(a)j(factor)f(to)g(re\015ect)0 631 y(the)g(uncertain)o(t)o
7130 (y)h(in)e(it.)62 693 y(There)19 b(are)e(three)h(t)o(yp)q(es)g(of)f(up)q
7131 (date)h(messages)f(that)g(a)g(sla)o(v)o(e)g(receiv)o(es)h(from)e(the)h
7132 (master:)24 b(a)17 b(new)h(piece)g(of)e(w)o(ork)0 756
7133 y(has)g(b)q(een)h(added)f(to)f(the)i(sla)o(v)o(e)e(pro)q(cessor's)j
7134 (APHID)e(table,)f(the)i(lo)q(cation)d(of)h(a)h(leaf)f(no)q(de)h(within)
7135 f(the)i(master's)e(tree)0 818 y(has)g(c)o(hanged)h(\(c)o(hanging)e(the)
7136 i(secondary)g(w)o(ork)e(sc)o(heduling)i(criterion\),)f(and)g(a)g
7137 (noti\014cation)f(of)g(a)h(\\bad)g(b)q(ound")f(on)h(a)0
7138 880 y(no)q(de.)21 b(The)15 b(bad)g(b)q(ound)g(message)f(alerts)i(the)f
7139 (sla)o(v)o(e)f(that)h(a)g(p)q(osition's)f(searc)o(h)i(information)c(is)
7140 i(not)h(su\016cien)o(t)g(to)g(sa)o(v)o(e)0 942 y(the)g(no)q(de)h(from)d
7141 (b)q(eing)h(uncertain.)22 b(In)15 b(this)g(case,)g(the)h(sla)o(v)o(e)e
7142 (m)o(ust)g(re-searc)o(h)i(the)g(no)q(de)f(with)f(the)i
7143 Fm(\013\014)h Fn(searc)o(h)f(windo)o(w)0 1005 y(sen)o(t)f(b)o(y)e(the)i
7144 (master)e(to)h(the)g(ply)g(requested.)62 1067 y(As)19
7145 b(a)g(p)q(erformance)f(impro)o(v)o(emen)o(t,)f(w)o(e)i(w)o(an)o(t)f(to)
7146 h(force)g(the)g(sla)o(v)o(e)f(to)h(alw)o(a)o(ys)f(w)o(ork)g(on)g(no)q
7147 (des)i(for)e(the)h(curren)o(t)0 1129 y(searc)o(h)c(depth)f(of)f(the)h
7148 (master.)j(When)d(all)e(the)i(sla)o(v)o(e's)f(w)o(ork)h(has)f(b)q(een)i
7149 (searc)o(hed)g(to)e(the)h(required)h(depth,)f(rather)g(than)0
7150 1191 y(b)q(ecoming)g(idle,)g(it)g(starts)i(re-searc)o(hing)g(its)e(w)o
7151 (ork)h(an)f(additional)f(ply)i(deep)q(er,)h(in)e(an)o(ticipation)g(of)g
7152 (the)h(next)g(iteration)0 1254 y(\(depth)g Fm(d)9 b Fn(+)h(1\).)19
7153 b(When)14 b(this)g(is)g(happ)q(ening,)g(the)h(sla)o(v)o(e)f(routinely)g
7154 (c)o(hec)o(ks)h(the)g(comm)o(unicatio)o(n)d(c)o(hannel)i(for)g
7155 (messages)0 1316 y(from)c(the)i(master.)17 b(If)11 b(the)h(sla)o(v)o(e)
7156 f(receiv)o(es)i(a)e(new)h(piece)h(of)d(w)o(ork)i(to)f(do)g(at)g
7157 Fm(d)t Fk(\000)t Fm(d)1269 1301 y Fd(0)1293 1316 y Fn(ply)g(or)g(less,)
7158 h(the)g(searc)o(h)h(is)e(immediately)0 1378 y(ab)q(orted)j(and)g(con)o
7159 (trol)g(is)g(returned)h(to)f(the)g(sla)o(v)o(e's)g(sc)o(heduling)g
7160 (algorithm.)0 1494 y Fc(3.4)56 b(Load)18 b(Balancing)0
7161 1583 y Fn(Although)c(the)g(master)g(attemps)g(to)g(giv)o(e)g(an)g
7162 (equal)f(amoun)o(t)g(of)g(w)o(ork)h(to)g(eac)o(h)h(sla)o(v)o(e)f(in)g
7163 (APHID,)g(neither)h(the)f(master)0 1646 y(nor)h(the)h(sla)o(v)o(e)e
7164 (can)i(predict)g(the)f(amoun)o(t)f(of)g(e\013ort)i(required)g(to)f
7165 (complete)f(a)h Fm(d)9 b Fk(\000)i Fm(d)1377 1631 y Fd(0)1403
7166 1646 y Fn(ply)j(searc)o(h)j(for)d(a)h(giv)o(en)g(piece)h(of)0
7167 1708 y(w)o(ork.)i(In)13 b(games)f(suc)o(h)i(as)f(c)o(hess,)i(there)f
7168 (are)g(no)f(completely)f(reliable)h(indicators)g(of)g(the)h
7169 (\\e\013ort")f(required)i(for)d(a)h(giv)o(en)0 1770 y(searc)o(h.)19
7170 b(Th)o(us,)14 b(load)f(im)o(balances)f(can)i(o)q(ccur)h(based)g(on)e
7171 (the)i(allo)q(cation)d(of)h(w)o(ork)h(to)g(sla)o(v)o(es.)62
7172 1833 y(The)j(master)g(kno)o(ws)f(all)g(of)g(the)i(information)13
7173 b(ab)q(out)k(ho)o(w)g(man)o(y)d(uncertain)k(no)q(des)g(it)e(is)h(w)o
7174 (aiting)e(for)h(from)f(eac)o(h)0 1895 y(sla)o(v)o(e.)24
7175 b(Th)o(us,)16 b(the)g(master)g(has)g(information)d(on)i(when)i(to)e(mo)
7176 o(v)o(e)g(lea)o(v)o(es)h(from)e(the)i Fm(d)1405 1880
7177 y Fd(0)1432 1895 y Fn(ply)g(tree)h(from)d(an)i Fl(overworke)n(d)0
7178 1957 y(slave)f Fn(\(a)g(sla)o(v)o(e)g(with)g(a)g(large)h(n)o(um)o(b)q
7179 (er)e(of)h(uncertain)h(no)q(des\))g(to)f(an)g Fl(underworke)n(d)i
7180 (slave)e Fn(\(a)g(sla)o(v)o(e)g(with)g(no)g(uncertain)0
7181 2019 y(no)q(des\).)24 b(This)15 b(yields)g(a)g(tradeo\013)h(b)q(et)o(w)
7182 o(een)h(faster)f(con)o(v)o(ergence)h(for)e(a)h(giv)o(en)f(ply)f(searc)o
7183 (h)j(of)e(the)h(tree)h(and)e(additional)0 2082 y(searc)o(h)g(o)o(v)o
7184 (erhead,)f(as)g(discussed)h(in)f(Section)g(4.)0 2198
7185 y Fc(3.5)56 b(Implem)o(en)n(tation)0 2287 y Fn(The)17
7186 b(APHID)f(algorithm)e(has)j(b)q(een)g(written)g(as)g(an)f
7187 (application-indep)q(enden)o(t)g(library)g(of)f(C)i(routines.)26
7188 b(The)17 b(library)0 2349 y(w)o(as)12 b(written)g(to)f(pro)o(vide)h
7189 (minim)o(al)c(in)o(terv)o(en)o(tion)j(in)o(to)g(a)h(w)o(orking)e(v)o
7190 (ersion)i(of)f(sequen)o(tial)h Fm(\013\014)i Fn(\(or)e(its)f(common)e
7191 (v)n(arian)o(ts:)0 2411 y(NegaScout[18,)k(20)o(])g(and)g(Principal)g(V)
7192 m(ariation)f(Searc)o(h)i(\(PVS\))g([16)o(]\).)k(Since)c(the)g(library)e
7193 (is)i(application-indep)q(enden)o(t,)0 2474 y(a)c(p)q(oten)o(tial)g
7194 (user)i(m)o(ust)e(write)g(a)h(few)f(application-dep)q(enden)o(t)h
7195 (routines)g(\(suc)o(h)h(as)f(mo)o(v)o(e)d(format,)h(ho)o(w)i(to)f(mak)o
7196 (e/unmak)o(e)0 2536 y(mo)o(v)o(es,)j(p)q(osition)i(format,)e(setting)i
7197 (a)g(windo)o(w)f(for)g(a)h(sla)o(v)o(e's)f(searc)o(h,)i
7198 Fl(etc)p Fn(.\).)21 b(APHID's)15 b(message)g(passing)g(w)o(as)f
7199 (written)0 2598 y(using)g(PVM)g([23)o(])f(to)h(allo)o(w)e(for)i(the)g
7200 (maxim)o(um)9 b(p)q(ortabilit)o(y)k(among)e(a)o(v)n(ailable)h(hardw)o
7201 (are.)62 2660 y(T)m(o)h(parallelize)f(a)i(sequen)o(tial)f
7202 Fm(\013\014)j Fn(program,)11 b(the)j(user)g(mo)q(di\014es)f(his)g(or)g
7203 (her)h(searc)o(h)h(routine)f(as)f(sho)o(wn)g(in)g(Figure)h(3.)965
7204 2828 y(8)p eop
7205 %%Page: 9 9
7206 9 8 bop 0 195 a Fn(The)15 b(APHID)f(c)o(hanges)h(are)f(mark)o(ed)f(b)o
7207 (y)h(shading,)f(and)h(easily)g(\014t)g(in)o(to)g(standard)g
7208 Fm(\013\014)j Fn(framew)o(orks.)g(This)d(one)h(piece)g(of)0
7209 257 y(co)q(de)g(functions)f(as)g(the)g(searc)o(h)h(algorithm)c(for)j(b)
7210 q(oth)g(the)g(master)g(and)g(the)g(sla)o(v)o(e)g(pro)q(cesses.)62
7211 320 y(There)i(are)f(a)g(few)f(additional)f(calls)i(that)f(ha)o(v)o(e)h
7212 (to)f(b)q(e)i(added)f(to)f(the)i(iterativ)o(e)e(deep)q(ening)i(routine)
7213 f(that)g(calls)f Fm(\013\014)r Fn(,)0 382 y(outlined)f(in)h(Figure)g
7214 (4.)62 444 y(Initially)m(,)c(it)i(w)o(as)g(an)o(ticipated)g(that)h(all)
7215 e(users)j(w)o(ould)d(w)o(an)o(t)h(to)h(searc)o(h)g(in)f(parallel)f
7216 (from)g(the)i(ro)q(ot)f(of)g(the)h(game)e(tree.)0 506
7217 y(Ho)o(w)o(ev)o(er,)i(there)i(are)e(some)f(programs)g(that)h(wish)g(to)
7218 g(handle)g(the)h(ro)q(ot)f(of)f(the)i(game)d(tree)k(in)d(a)h
7219 (di\013eren)o(t)h(w)o(a)o(y)e(than)h(the)0 569 y(other)j(lea)o(v)o(es)f
7220 (of)f(the)i(searc)o(h)g(tree)g(\(b)o(y)f(adding)f(calls)h(to)g(the)g
7221 (time-con)o(trol)f(mec)o(hanism,)e(and)j(sp)q(ecial)g(handling)f(of)g
7222 (the)0 631 y Fm(\013\014)19 b Fn(searc)o(h)f(windo)o(w\).)25
7223 b(APHID)17 b(has)g(b)q(een)h(generalized)f(to)g(in)o(tegrate)g(with)f
7224 (this)h(st)o(yle)g(of)f(searc)o(hing)h(the)g(game)e(tree;)0
7225 693 y(Figure)e(5)f(illustrates)g(the)h(c)o(hanges)g(necessary)m(.)20
7226 b(The)12 b(only)g(signi\014can)o(t)g(c)o(hange)h(from)d(Figure)j(4)f
7227 (is)g(the)h(addition)f(of)g(a)g(call)0 756 y(to)i Fe(aphid)p
7228 164 756 14 2 v 14 w(intnode)p 332 756 V 15 w(premove)p
7229 Fn(.)62 818 y(There)h(are)g(t)o(w)o(o)e(calls)g(that)h(are)h(inserted)g
7230 (in)o(to)e(the)i(main)c(program,)h(whic)o(h)i(are)g(illustrated)g(in)f
7231 (Figure)h(6.)62 880 y(A)k(brief)g(explanation)f(of)g(the)i(parameters)f
7232 (and)g(function)f(of)h(eac)o(h)g(of)g(these)h Fe(aphid)p
7233 1461 880 V 33 w Fn(routines)f(can)g(b)q(e)h(found)e(in)0
7234 942 y(App)q(endix)d(A.)0 1080 y Fo(4)69 b(Exp)r(erimen)n(ts)0
7235 1183 y Fn(The)12 b(APHID)f(game-indep)q(enden)o(t)h(library)e(w)o(as)i
7236 (inserted)g(in)o(to)f Fj(TheTurk)h Fn(c)o(hess)h(program,)d(written)i
7237 (b)o(y)f(Yngvi)g(Bjorns-)0 1245 y(son)16 b(and)g(Andreas)h(Junghanns)g
7238 (at)f(the)h(Univ)o(ersit)o(y)f(of)f(Alb)q(erta.)25 b(With)16
7239 b(less)h(than)f(one)g(da)o(y)g(of)f(programming)e(e\013ort,)0
7240 1307 y(w)o(e)j(had)g(a)g(running)f(parallel)g(program)g(based)h(on)g
7241 (the)g(APHID)h(algorithm)c(that)j(could)g(run)g(on)g(a)f(series)j(of)d
7242 (w)o(orksta-)0 1370 y(tions.)i(Along)11 b(with)h(the)h(additional)d
7243 (calls)h(added)i(to)e(PVS,)h(the)h(iterativ)o(e)f(deep)q(ening)h
7244 (routine,)f(and)g(the)g(main)e(program,)0 1432 y(roughly)15
7245 b(100)g(lines)h(of)f(co)q(de)i(w)o(ere)g(de\014ned)g(for)e(the)i
7246 Fe(aphid)p 970 1432 V 14 w(stub)p 1072 1432 V 31 w Fn(routines,)g
7247 (whose)f(purp)q(ose)h(is)f(brie\015y)g(describ)q(ed)h(in)0
7248 1494 y(App)q(endix)d(A.)62 1557 y(T)m(o)j(test)h(the)g(algorithm,)d
7249 Fj(TheTurk)j Fn(w)o(as)g(programmed)c(to)k(searc)o(h)g(the)g(24)f
7250 (Bratk)o(o-Kop)q(ec)h(p)q(ositions)f([11)o(])g(to)g(a)0
7251 1619 y(depth)e(of)e Fm(d)e Fn(=)h(8)h(ply)m(,)g(with)g(the)i(master)e
7252 (con)o(trolling)g(the)h(top)g Fm(d)1031 1604 y Fd(0)1054
7253 1619 y Fn(=)e(3)h(ply)h(of)f(the)h(tree.)62 1681 y(P)o(arallel)e(tests)
7254 i(w)o(ere)f(run)g(on)g(4,)f(8,)g(12)g(and)h(16)f(w)o(orkstations)g(on)h
7255 (a)f(net)o(w)o(ork)h(of)f(SUN)h(4s.)18 b(One)13 b(w)o(orkstation)f(in)g
7256 (eac)o(h)0 1743 y(exp)q(erimen)o(t)i(w)o(as)g(completely)f(o)q(ccupied)
7257 i(b)o(y)e(the)i Fe(master)e Fn(pro)q(cess,)i(while)f(the)g(other)h(w)o
7258 (orkstations)f(eac)o(h)g(ran)g(a)g Fe(slave)0 1806 y
7259 Fn(pro)q(cess.)20 b(On)14 b(the)h(a)o(v)n(ailable)c(hardw)o(are,)j
7260 Fj(TheTurk)h Fn(visits)e(appro)o(ximately)f(2500)g(no)q(des)j(p)q(er)g
7261 (second.)62 1868 y(P)o(arallel)c(and)h(sequen)o(tial)g(algorithms)e
7262 (are)i(notoriously)g(p)q(o)q(or)g(when)g(it)g(comes)g(to)g(exact)g(con)
7263 o(v)o(ergence)i(when)f(the)f(full)0 1930 y(v)o(ersion)i(of)f(the)i
7264 (program)d(is)i(used)h([14)o(].)i(F)m(or)d(example,)e(di\013eren)o(t)j
7265 (searc)o(h)g(windo)o(ws)e(cause)i(di\013eren)o(t)g(searc)o(h)g
7266 (extensions)0 1992 y(to)h(b)q(e)g(turned)h(on,)f(causing)g(di\013eren)o
7267 (t)h(alpha-b)q(eta)e(results.)25 b(Th)o(us,)17 b(all)d(searc)o(h)k
7268 (extensions)f(and)e(n)o(ull)g(mo)o(v)o(e)f(searc)o(hing)0
7269 2055 y(w)o(ere)20 b(turned)g(o\013)f(for)g(this)g(exp)q(erimen)o(t.)34
7270 b(Since)20 b(some)e(w)o(ork)h(could)g(b)q(e)h(ev)n(aluated)f(to)g
7271 Fm(d)12 b Fn(+)h(1-ply)18 b(b)q(efore)i(the)g Fm(d)p
7272 Fn(-ply)0 2117 y(result)d(is)f(\014nished,)g(w)o(e)h(also)e(forced)i
7273 (the)f(transp)q(osition)g(table)g(to)g(rep)q(ort)h(only)e(transp)q
7274 (osition)h(table)g(scores)i(that)e(had)0 2179 y(b)q(een)g(searc)o(hed)h
7275 (to)d(the)i(exact)f(depth)h(\(as)f(in)g(Figure)g(3\).)21
7276 b(Quiescence)c(searc)o(h)f(w)o(as)f(left)g(in)f Fj(TheTurk)i
7277 Fn(to)e(prev)o(en)o(t)i(the)0 2241 y(ev)n(aluations)d(from)f(b)q(eing)i
7278 (signi\014can)o(tly)f(unstable.)62 2304 y(Although)g(this)f(list)h(of)f
7279 (c)o(hanges)i(is)e(incomplete)g(to)h(guaran)o(tee)g(the)h(same)e(minim)
7280 o(ax)d(v)n(alue)k(is)f(returned)j(b)o(y)d(b)q(oth)h(the)0
7281 2366 y(sequen)o(tial)g(and)g(parallel)f(programs,)g(this)h(list)g
7282 (constitutes)i(the)f(c)o(hanges)g(made)e(to)h Fj(TheTurk)h
7283 Fn(without)f(doing)f(serious)0 2428 y(damage)f(to)h(the)h(p)q
7284 (erformance)g(of)e(the)j(program.)h(In)e(the)g(v)o(ersion)g(tested,)h
7285 (o)o(v)o(er)e(90\045)g(of)f(the)j(parallel)d(searc)o(hes)j(returned)0
7286 2491 y(the)g(same)e(minim)o(ax)e(v)n(alue)j(as)g(the)h(sequen)o(tial)f
7287 (searc)o(h,)h(and)f(the)h(principal)e(v)n(ariation)g(w)o(as)h(correct)i
7288 (for)e(all)e(but)j(1)f(of)f(the)0 2553 y(96)h(searc)o(hes)j(executed)g
7289 (in)d(parallel.)62 2615 y(Figure)e(7)f(illustrates)h(the)g(a)o(v)o
7290 (erage)g(sp)q(eedups)i(for)d(5)g(to)h(8)f(ply)g(searc)o(hes,)j(whic)o
7291 (h)e(are)g(the)g(searc)o(hes)i(that)d(w)o(ere)i(executed)0
7292 2677 y(in)h(parallel.)k(The)e(graph)e(sho)o(ws)i(that)f(as)f(the)i
7293 (depth)g(of)e(the)h(searc)o(h)h(increases,)g(so)f(do)q(es)h(the)g(sp)q
7294 (eedup.)965 2828 y(9)p eop
7295 %%Page: 10 10
7296 10 9 bop 482 329 a
7297  15582380 33154007 1184071 3025960 24010342 51178209 startTexFig
7298  482 329 a
7299 %%BeginDocument: code4.ps
7300
7301 /arrowHeight 10 def
7302 /arrowWidth 5 def
7303
7304 /IdrawDict 51 dict def
7305 IdrawDict begin
7306
7307 /reencodeISO {
7308 dup dup findfont dup length dict begin
7309 { 1 index /FID ne { def }{ pop pop } ifelse } forall
7310 /Encoding ISOLatin1Encoding def
7311 currentdict end definefont
7312 } def
7313
7314 /ISOLatin1Encoding [
7315 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7316 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7317 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7318 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7319 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
7320 /parenleft/parenright/asterisk/plus/comma/minus/period/slash
7321 /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
7322 /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
7323 /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
7324 /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
7325 /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
7326 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7327 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7328 /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
7329 /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
7330 /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
7331 /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
7332 /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
7333 /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
7334 /guillemotright/onequarter/onehalf/threequarters/questiondown
7335 /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
7336 /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
7337 /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
7338 /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
7339 /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
7340 /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
7341 /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
7342 /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
7343 /yacute/thorn/ydieresis
7344 ] def
7345 /Courier reencodeISO def
7346
7347 /none null def
7348 /numGraphicParameters 17 def
7349 /stringLimit 65535 def
7350
7351 /Begin {
7352 save
7353 numGraphicParameters dict begin
7354 } def
7355
7356 /End {
7357 end
7358 restore
7359 } def
7360
7361 /SetB {
7362 dup type /nulltype eq {
7363 pop
7364 false /brushRightArrow idef
7365 false /brushLeftArrow idef
7366 true /brushNone idef
7367 } {
7368 /brushDashOffset idef
7369 /brushDashArray idef
7370 0 ne /brushRightArrow idef
7371 0 ne /brushLeftArrow idef
7372 /brushWidth idef
7373 false /brushNone idef
7374 } ifelse
7375 } def
7376
7377 /SetCFg {
7378 /fgblue idef
7379 /fggreen idef
7380 /fgred idef
7381 } def
7382
7383 /SetCBg {
7384 /bgblue idef
7385 /bggreen idef
7386 /bgred idef
7387 } def
7388
7389 /SetF {
7390 /printSize idef
7391 /printFont idef
7392 } def
7393
7394 /SetP {
7395 dup type /nulltype eq {
7396 pop true /patternNone idef
7397 } {
7398 dup -1 eq {
7399 /patternGrayLevel idef
7400 /patternString idef
7401 } {
7402 /patternGrayLevel idef
7403 } ifelse
7404 false /patternNone idef
7405 } ifelse
7406 } def
7407
7408 /BSpl {
7409 0 begin
7410 storexyn
7411 newpath
7412 n 1 gt {
7413 0 0 0 0 0 0 1 1 true subspline
7414 n 2 gt {
7415 0 0 0 0 1 1 2 2 false subspline
7416 1 1 n 3 sub {
7417 /i exch def
7418 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
7419 } for
7420 n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
7421 } if
7422 n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
7423 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
7424 brushNone not { istroke } if
7425 0 0 1 1 leftarrow
7426 n 2 sub dup n 1 sub dup rightarrow
7427 } if
7428 end
7429 } dup 0 4 dict put def
7430
7431 /Circ {
7432 newpath
7433 0 360 arc
7434 patternNone not { ifill } if
7435 brushNone not { istroke } if
7436 } def
7437
7438 /CBSpl {
7439 0 begin
7440 dup 2 gt {
7441 storexyn
7442 newpath
7443 n 1 sub dup 0 0 1 1 2 2 true subspline
7444 1 1 n 3 sub {
7445 /i exch def
7446 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
7447 } for
7448 n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
7449 n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
7450 patternNone not { ifill } if
7451 brushNone not { istroke } if
7452 } {
7453 Poly
7454 } ifelse
7455 end
7456 } dup 0 4 dict put def
7457
7458 /Elli {
7459 0 begin
7460 newpath
7461 4 2 roll
7462 translate
7463 scale
7464 0 0 1 0 360 arc
7465 patternNone not { ifill } if
7466 brushNone not { istroke } if
7467 end
7468 } dup 0 1 dict put def
7469
7470 /Line {
7471 0 begin
7472 2 storexyn
7473 newpath
7474 x 0 get y 0 get moveto
7475 x 1 get y 1 get lineto
7476 brushNone not { istroke } if
7477 0 0 1 1 leftarrow
7478 0 0 1 1 rightarrow
7479 end
7480 } dup 0 4 dict put def
7481
7482 /MLine {
7483 0 begin
7484 storexyn
7485 newpath
7486 n 1 gt {
7487 x 0 get y 0 get moveto
7488 1 1 n 1 sub {
7489 /i exch def
7490 x i get y i get lineto
7491 } for
7492 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
7493 brushNone not { istroke } if
7494 0 0 1 1 leftarrow
7495 n 2 sub dup n 1 sub dup rightarrow
7496 } if
7497 end
7498 } dup 0 4 dict put def
7499
7500 /Poly {
7501 3 1 roll
7502 newpath
7503 moveto
7504 -1 add
7505 { lineto } repeat
7506 closepath
7507 patternNone not { ifill } if
7508 brushNone not { istroke } if
7509 } def
7510
7511 /Rect {
7512 0 begin
7513 /t exch def
7514 /r exch def
7515 /b exch def
7516 /l exch def
7517 newpath
7518 l b moveto
7519 l t lineto
7520 r t lineto
7521 r b lineto
7522 closepath
7523 patternNone not { ifill } if
7524 brushNone not { istroke } if
7525 end
7526 } dup 0 4 dict put def
7527
7528 /Text {
7529 ishow
7530 } def
7531
7532 /idef {
7533 dup where { pop pop pop } { exch def } ifelse
7534 } def
7535
7536 /ifill {
7537 0 begin
7538 gsave
7539 patternGrayLevel -1 ne {
7540 fgred bgred fgred sub patternGrayLevel mul add
7541 fggreen bggreen fggreen sub patternGrayLevel mul add
7542 fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
7543 eofill
7544 } {
7545 eoclip
7546 originalCTM setmatrix
7547 pathbbox /t exch def /r exch def /b exch def /l exch def
7548 /w r l sub ceiling cvi def
7549 /h t b sub ceiling cvi def
7550 /imageByteWidth w 8 div ceiling cvi def
7551 /imageHeight h def
7552 bgred bggreen bgblue setrgbcolor
7553 eofill
7554 fgred fggreen fgblue setrgbcolor
7555 w 0 gt h 0 gt and {
7556 l b translate w h scale
7557 w h true [w 0 0 h neg 0 h] { patternproc } imagemask
7558 } if
7559 } ifelse
7560 grestore
7561 end
7562 } dup 0 8 dict put def
7563
7564 /istroke {
7565 gsave
7566 brushDashOffset -1 eq {
7567 [] 0 setdash
7568 1 setgray
7569 } {
7570 brushDashArray brushDashOffset setdash
7571 fgred fggreen fgblue setrgbcolor
7572 } ifelse
7573 brushWidth setlinewidth
7574 originalCTM setmatrix
7575 stroke
7576 grestore
7577 } def
7578
7579 /ishow {
7580 0 begin
7581 gsave
7582 fgred fggreen fgblue setrgbcolor
7583 /fontDict printFont printSize scalefont dup setfont def
7584 /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
7585 transform exch pop def
7586 /vertoffset 1 printSize sub descender sub def {
7587 0 vertoffset moveto show
7588 /vertoffset vertoffset printSize sub def
7589 } forall
7590 grestore
7591 end
7592 } dup 0 3 dict put def
7593 /patternproc {
7594 0 begin
7595 /patternByteLength patternString length def
7596 /patternHeight patternByteLength 8 mul sqrt cvi def
7597 /patternWidth patternHeight def
7598 /patternByteWidth patternWidth 8 idiv def
7599 /imageByteMaxLength imageByteWidth imageHeight mul
7600 stringLimit patternByteWidth sub min def
7601 /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
7602 patternHeight mul patternHeight max def
7603 /imageHeight imageHeight imageMaxHeight sub store
7604 /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
7605 0 1 imageMaxHeight 1 sub {
7606 /y exch def
7607 /patternRow y patternByteWidth mul patternByteLength mod def
7608 /patternRowString patternString patternRow patternByteWidth getinterval def
7609 /imageRow y imageByteWidth mul def
7610 0 patternByteWidth imageByteWidth 1 sub {
7611 /x exch def
7612 imageString imageRow x add patternRowString putinterval
7613 } for
7614 } for
7615 imageString
7616 end
7617 } dup 0 12 dict put def
7618
7619 /min {
7620 dup 3 2 roll dup 4 3 roll lt { exch } if pop
7621 } def
7622
7623 /max {
7624 dup 3 2 roll dup 4 3 roll gt { exch } if pop
7625 } def
7626
7627 /midpoint {
7628 0 begin
7629 /y1 exch def
7630 /x1 exch def
7631 /y0 exch def
7632 /x0 exch def
7633 x0 x1 add 2 div
7634 y0 y1 add 2 div
7635 end
7636 } dup 0 4 dict put def
7637
7638 /thirdpoint {
7639 0 begin
7640 /y1 exch def
7641 /x1 exch def
7642 /y0 exch def
7643 /x0 exch def
7644 x0 2 mul x1 add 3 div
7645 y0 2 mul y1 add 3 div
7646 end
7647 } dup 0 4 dict put def
7648
7649 /subspline {
7650 0 begin
7651 /movetoNeeded exch def
7652 y exch get /y3 exch def
7653 x exch get /x3 exch def
7654 y exch get /y2 exch def
7655 x exch get /x2 exch def
7656 y exch get /y1 exch def
7657 x exch get /x1 exch def
7658 y exch get /y0 exch def
7659 x exch get /x0 exch def
7660 x1 y1 x2 y2 thirdpoint
7661 /p1y exch def
7662 /p1x exch def
7663 x2 y2 x1 y1 thirdpoint
7664 /p2y exch def
7665 /p2x exch def
7666 x1 y1 x0 y0 thirdpoint
7667 p1x p1y midpoint
7668 /p0y exch def
7669 /p0x exch def
7670 x2 y2 x3 y3 thirdpoint
7671 p2x p2y midpoint
7672 /p3y exch def
7673 /p3x exch def
7674 movetoNeeded { p0x p0y moveto } if
7675 p1x p1y p2x p2y p3x p3y curveto
7676 end
7677 } dup 0 17 dict put def
7678
7679 /storexyn {
7680 /n exch def
7681 /y n array def
7682 /x n array def
7683 n 1 sub -1 0 {
7684 /i exch def
7685 y i 3 2 roll put
7686 x i 3 2 roll put
7687 } for
7688 } def
7689
7690 /SSten {
7691 fgred fggreen fgblue setrgbcolor
7692 dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
7693 } def
7694
7695 /FSten {
7696 dup 3 -1 roll dup 4 1 roll exch
7697 newpath
7698 0 0 moveto
7699 dup 0 exch lineto
7700 exch dup 3 1 roll exch lineto
7701 0 lineto
7702 closepath
7703 bgred bggreen bgblue setrgbcolor
7704 eofill
7705 SSten
7706 } def
7707
7708 /Rast {
7709 exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
7710 } def
7711
7712
7713 /arrowhead {
7714 0 begin
7715 transform originalCTM itransform
7716 /taily exch def
7717 /tailx exch def
7718 transform originalCTM itransform
7719 /tipy exch def
7720 /tipx exch def
7721 /dy tipy taily sub def
7722 /dx tipx tailx sub def
7723 /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
7724 gsave
7725 originalCTM setmatrix
7726 tipx tipy translate
7727 angle rotate
7728 newpath
7729 arrowHeight neg arrowWidth 2 div moveto
7730 0 0 lineto
7731 arrowHeight neg arrowWidth 2 div neg lineto
7732 patternNone not {
7733 originalCTM setmatrix
7734 /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
7735 arrowWidth div def
7736 /padtail brushWidth 2 div def
7737 tipx tipy translate
7738 angle rotate
7739 padtip 0 translate
7740 arrowHeight padtip add padtail add arrowHeight div dup scale
7741 arrowheadpath
7742 ifill
7743 } if
7744 brushNone not {
7745 originalCTM setmatrix
7746 tipx tipy translate
7747 angle rotate
7748 arrowheadpath
7749 istroke
7750 } if
7751 grestore
7752 end
7753 } dup 0 9 dict put def
7754
7755 /arrowheadpath {
7756 newpath
7757 arrowHeight neg arrowWidth 2 div moveto
7758 0 0 lineto
7759 arrowHeight neg arrowWidth 2 div neg lineto
7760 } def
7761
7762 /leftarrow {
7763 0 begin
7764 y exch get /taily exch def
7765 x exch get /tailx exch def
7766 y exch get /tipy exch def
7767 x exch get /tipx exch def
7768 brushLeftArrow { tipx tipy tailx taily arrowhead } if
7769 end
7770 } dup 0 4 dict put def
7771
7772 /rightarrow {
7773 0 begin
7774 y exch get /tipy exch def
7775 x exch get /tipx exch def
7776 y exch get /taily exch def
7777 x exch get /tailx exch def
7778 brushRightArrow { tipx tipy tailx taily arrowhead } if
7779 end
7780 } dup 0 4 dict put def
7781
7782
7783 %I Idraw 10 Grid 6 6 
7784
7785
7786 Begin
7787 %I b u
7788 %I cfg u
7789 %I cbg u
7790 %I f u
7791 %I p u
7792 %I t
7793 [ 0.799705 0 0 0.799705 0 0 ] concat
7794 /originalCTM matrix currentmatrix def
7795
7796 Begin %I Rect
7797 none SetB %I b n
7798 %I cfg Black
7799 0 0 0 SetCFg
7800 %I cbg White
7801 1 1 1 SetCBg
7802 %I p
7803 0.95 SetP
7804 %I t
7805 [ 0.99763 -0 -0 3.92857 18.0284 -414.643 ] concat
7806 %I
7807 12 231 432 243 Rect
7808 End
7809
7810 Begin %I Rect
7811 none SetB %I b n
7812 %I cfg Black
7813 0 0 0 SetCFg
7814 %I cbg White
7815 1 1 1 SetCBg
7816 %I p
7817 0.95 SetP
7818 %I t
7819 [ 0.99763 -0 -0 3.07143 18.0284 -128.357 ] concat
7820 %I
7821 12 231 432 243 Rect
7822 End
7823
7824 Begin %I Rect
7825 none SetB %I b n
7826 %I cfg Black
7827 0 0 0 SetCFg
7828 %I cbg White
7829 1 1 1 SetCBg
7830 %I p
7831 0.95 SetP
7832 %I t
7833 [ 1 -0 -0 1 18 477 ] concat
7834 %I
7835 12 231 432 243 Rect
7836 End
7837
7838 Begin %I Rect
7839 none SetB %I b n
7840 %I cfg Black
7841 0 0 0 SetCFg
7842 %I cbg White
7843 1 1 1 SetCBg
7844 %I p
7845 0.95 SetP
7846 %I t
7847 [ 1 -0 -0 1 18 -57 ] concat
7848 %I
7849 12 231 432 243 Rect
7850 End
7851
7852 Begin %I Rect
7853 none SetB %I b n
7854 %I cfg Black
7855 0 0 0 SetCFg
7856 %I cbg White
7857 1 1 1 SetCBg
7858 %I p
7859 0.95 SetP
7860 %I t
7861 [ 1 -0 -0 1 18 -27 ] concat
7862 %I
7863 12 231 432 243 Rect
7864 End
7865
7866 Begin %I Rect
7867 none SetB %I b n
7868 %I cfg Black
7869 0 0 0 SetCFg
7870 %I cbg White
7871 1 1 1 SetCBg
7872 %I p
7873 0.95 SetP
7874 %I t
7875 [ 1 -0 -0 1 18 177 ] concat
7876 %I
7877 12 231 432 243 Rect
7878 End
7879
7880 Begin %I Rect
7881 none SetB %I b n
7882 %I cfg Black
7883 0 0 0 SetCFg
7884 %I cbg White
7885 1 1 1 SetCBg
7886 %I p
7887 0.95 SetP
7888 %I t
7889 [ 1 -0 -0 1 18 219 ] concat
7890 %I
7891 12 231 432 243 Rect
7892 End
7893
7894 Begin %I Rect
7895 none SetB %I b n
7896 %I cfg Black
7897 0 0 0 SetCFg
7898 %I cbg White
7899 1 1 1 SetCBg
7900 %I p
7901 0.95 SetP
7902 %I t
7903 [ 1 -0 -0 1 18 81 ] concat
7904 %I
7905 12 231 432 243 Rect
7906 End
7907
7908 Begin %I Text
7909 %I cfg Black
7910 0 0 0 SetCFg
7911 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
7912 Courier 10 SetF
7913 %I t
7914 [ 1 0 0 1 42 957 ] concat
7915 %I
7916 [
7917 (int PVS\(p, alpha, beta, depth, plytogo\))
7918 ] Text
7919 End
7920
7921 Begin %I Text
7922 %I cfg Black
7923 0 0 0 SetCFg
7924 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
7925 Courier 10 SetF
7926 %I t
7927 [ 1 0 0 1 42 945 ] concat
7928 %I
7929 [
7930 (position p;)
7931 ] Text
7932 End
7933
7934 Begin %I Text
7935 %I cfg Black
7936 0 0 0 SetCFg
7937 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
7938 Courier 10 SetF
7939 %I t
7940 [ 1 0 0 1 42 933 ] concat
7941 %I
7942 [
7943 (int alpha, beta;)
7944 ] Text
7945 End
7946
7947 Begin %I Text
7948 %I cfg Black
7949 0 0 0 SetCFg
7950 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
7951 Courier 10 SetF
7952 %I t
7953 [ 1 0 0 1 42 921 ] concat
7954 %I
7955 [
7956 (int depth, plytogo;)
7957 ] Text
7958 End
7959
7960 Begin %I Text
7961 %I cfg Black
7962 0 0 0 SetCFg
7963 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
7964 Courier 10 SetF
7965 %I t
7966 [ 1 0 0 1 42 909 ] concat
7967 %I
7968 [
7969 ({)
7970 ] Text
7971 End
7972
7973 Begin %I Text
7974 %I cfg Black
7975 0 0 0 SetCFg
7976 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
7977 Courier 10 SetF
7978 %I t
7979 [ 1 0 0 1 72 873 ] concat
7980 %I
7981 [
7982 (int h_length;  /* ply position previously searched to */)
7983 ] Text
7984 End
7985
7986 Begin %I Text
7987 %I cfg Black
7988 0 0 0 SetCFg
7989 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
7990 Courier 10 SetF
7991 %I t
7992 [ 1 0 0 1 72 897 ] concat
7993 %I
7994 [
7995 (char *p_hash;  /* pointer to hash value        */)
7996 ] Text
7997 End
7998
7999 Begin %I Text
8000 %I cfg Black
8001 0 0 0 SetCFg
8002 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8003 Courier 10 SetF
8004 %I t
8005 [ 1 0 0 1 72 885 ] concat
8006 %I
8007 [
8008 (char *p_key;   /* pointer to hash table "lock" */)
8009 ] Text
8010 End
8011
8012 Begin %I Text
8013 %I cfg Black
8014 0 0 0 SetCFg
8015 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8016 Courier 10 SetF
8017 %I t
8018 [ 1 0 0 1 72 861 ] concat
8019 %I
8020 [
8021 (int h_score;   /* score for h_length ply              */)
8022 ] Text
8023 End
8024
8025 Begin %I Text
8026 %I cfg Black
8027 0 0 0 SetCFg
8028 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8029 Courier 10 SetF
8030 %I t
8031 [ 1 0 0 1 72 849 ] concat
8032 %I
8033 [
8034 (int h_flag;    /* VALID, LBOUND or UBOUND             */)
8035 ] Text
8036 End
8037
8038 Begin %I Text
8039 %I cfg Black
8040 0 0 0 SetCFg
8041 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8042 Courier 10 SetF
8043 %I t
8044 [ 1 0 0 1 72 837 ] concat
8045 %I
8046 [
8047 (move *h_move;  /* recommended move for h_length ply   */)
8048 ] Text
8049 End
8050
8051 Begin %I Text
8052 %I cfg Black
8053 0 0 0 SetCFg
8054 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8055 Courier 10 SetF
8056 %I t
8057 [ 1 0 0 1 72 825 ] concat
8058 %I
8059 [
8060 (int width;     /* number of moves in move list */)
8061 ] Text
8062 End
8063
8064 Begin %I Text
8065 %I cfg Black
8066 0 0 0 SetCFg
8067 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8068 Courier 10 SetF
8069 %I t
8070 [ 1 0 0 1 72 813 ] concat
8071 %I
8072 [
8073 (int i;         /* move counter                 */)
8074 ] Text
8075 End
8076
8077 Begin %I Text
8078 %I cfg Black
8079 0 0 0 SetCFg
8080 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8081 Courier 10 SetF
8082 %I t
8083 [ 1 0 0 1 72 801 ] concat
8084 %I
8085 [
8086 (int value;     /* score of child PVS call      */)
8087 ] Text
8088 End
8089
8090 Begin %I Text
8091 %I cfg Black
8092 0 0 0 SetCFg
8093 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8094 Courier 10 SetF
8095 %I t
8096 [ 1 0 0 1 72 783 ] concat
8097 %I
8098 [
8099 (/* Generate hash value and key for this position */)
8100 ] Text
8101 End
8102
8103 Begin %I Text
8104 %I cfg Black
8105 0 0 0 SetCFg
8106 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8107 Courier 10 SetF
8108 %I t
8109 [ 1 0 0 1 72 771 ] concat
8110 %I
8111 [
8112 (generate_hash\(p, p_hash, p_key\);)
8113 ] Text
8114 End
8115
8116 Begin %I Text
8117 %I cfg Black
8118 0 0 0 SetCFg
8119 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8120 Courier 10 SetF
8121 %I t
8122 [ 1 0 0 1 72 759 ] concat
8123 %I
8124 [
8125 (/* Fetch information from local transposition table */)
8126 ] Text
8127 End
8128
8129 Begin %I Text
8130 %I cfg Black
8131 0 0 0 SetCFg
8132 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8133 Courier 10 SetF
8134 %I t
8135 [ 1 0 0 1 72 747 ] concat
8136 %I
8137 [
8138 (retrieve\(p_hash, p_kley, h_length, h_score, h_flag, h_move\);)
8139 ] Text
8140 End
8141
8142 Begin %I Text
8143 %I cfg Black
8144 0 0 0 SetCFg
8145 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8146 Courier 10 SetF
8147 %I t
8148 [ 1 0 0 1 72 729 ] concat
8149 %I
8150 [
8151 (/* If we have searched position deep enough, use score info */)
8152 ] Text
8153 End
8154
8155 Begin %I Text
8156 %I cfg Black
8157 0 0 0 SetCFg
8158 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8159 Courier 10 SetF
8160 %I t
8161 [ 1 0 0 1 96 705 ] concat
8162 %I
8163 [
8164 (if \(flag == VALID\)  { return\(h_score\); })
8165 ] Text
8166 End
8167
8168 Begin %I Text
8169 %I cfg Black
8170 0 0 0 SetCFg
8171 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8172 Courier 10 SetF
8173 %I t
8174 [ 1 0 0 1 96 669 ] concat
8175 %I
8176 [
8177 (if \(alpha >= beta\) { return\(h_score\); })
8178 ] Text
8179 End
8180
8181 Begin %I Text
8182 %I cfg Black
8183 0 0 0 SetCFg
8184 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8185 Courier 10 SetF
8186 %I t
8187 [ 1 0 0 1 72 657 ] concat
8188 %I
8189 [
8190 (})
8191 ] Text
8192 End
8193
8194 Begin %I Text
8195 %I cfg Black
8196 0 0 0 SetCFg
8197 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8198 Courier 10 SetF
8199 %I t
8200 [ 1 0 0 1 72 639 ] concat
8201 %I
8202 [
8203 (/* Evaluate position if at bottom of the tree */)
8204 ] Text
8205 End
8206
8207 Begin %I Text
8208 %I cfg Black
8209 0 0 0 SetCFg
8210 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8211 Courier 10 SetF
8212 %I t
8213 [ 1 0 0 1 72 591 ] concat
8214 %I
8215 [
8216 (})
8217 ] Text
8218 End
8219
8220 Begin %I Text
8221 %I cfg Black
8222 0 0 0 SetCFg
8223 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8224 Courier 10 SetF
8225 %I t
8226 [ 1 0 0 1 72 573 ] concat
8227 %I
8228 [
8229 (/* Generate move list, evaluate position if no moves */)
8230 ] Text
8231 End
8232
8233 Begin %I Text
8234 %I cfg Black
8235 0 0 0 SetCFg
8236 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8237 Courier 10 SetF
8238 %I t
8239 [ 1 0 0 1 72 549 ] concat
8240 %I
8241 [
8242 (if \(width == 0\) { return\(evaluate\(p\)\); })
8243 ] Text
8244 End
8245
8246 Begin %I Text
8247 %I cfg Black
8248 0 0 0 SetCFg
8249 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8250 Courier 10 SetF
8251 %I t
8252 [ 1 0 0 1 72 501 ] concat
8253 %I
8254 [
8255 (})
8256 ] Text
8257 End
8258
8259 Begin %I Text
8260 %I cfg Black
8261 0 0 0 SetCFg
8262 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8263 Courier 10 SetF
8264 %I t
8265 [ 1 0 0 1 96 681 ] concat
8266 %I
8267 [
8268 (if \(flag == UBOUND\) { beta = min\(beta,h_score\); })
8269 ] Text
8270 End
8271
8272 Begin %I Text
8273 %I cfg Black
8274 0 0 0 SetCFg
8275 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8276 Courier 10 SetF
8277 %I t
8278 [ 1 0 0 1 96 693 ] concat
8279 %I
8280 [
8281 (if \(flag == LBOUND\) { alpha = max\(alpha,h_score\); })
8282 ] Text
8283 End
8284
8285 Begin %I Text
8286 %I cfg Black
8287 0 0 0 SetCFg
8288 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8289 Courier 10 SetF
8290 %I t
8291 [ 1 0 0 1 72 483 ] concat
8292 %I
8293 [
8294 (score = -INFINITY;)
8295 ] Text
8296 End
8297
8298 Begin %I Text
8299 %I cfg Black
8300 0 0 0 SetCFg
8301 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8302 Courier 10 SetF
8303 %I t
8304 [ 1 0 0 1 72 471 ] concat
8305 %I
8306 [
8307 (lower = alpha;  upper = beta;)
8308 ] Text
8309 End
8310
8311 Begin %I Text
8312 %I cfg Black
8313 0 0 0 SetCFg
8314 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8315 Courier 10 SetF
8316 %I t
8317 [ 1 0 0 1 72 441 ] concat
8318 %I
8319 [
8320 (/* Loop through moves in move list */)
8321 ] Text
8322 End
8323
8324 Begin %I Text
8325 %I cfg Black
8326 0 0 0 SetCFg
8327 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8328 Courier 10 SetF
8329 %I t
8330 [ 1 0 0 1 72 429 ] concat
8331 %I
8332 [
8333 (for\(i=1; \(i <= width && score <= beta\); i++ \) {)
8334 ] Text
8335 End
8336
8337 Begin %I Text
8338 %I cfg Black
8339 0 0 0 SetCFg
8340 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8341 Courier 10 SetF
8342 %I t
8343 [ 1 0 0 1 96 405 ] concat
8344 %I
8345 [
8346 (make_move\(p, move[i]\);)
8347 ] Text
8348 End
8349
8350 Begin %I Text
8351 %I cfg Black
8352 0 0 0 SetCFg
8353 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8354 Courier 10 SetF
8355 %I t
8356 [ 1 0 0 1 96 387 ] concat
8357 %I
8358 [
8359 (value = -PVS\(p, -upper, -lower, depth+1, plytogo-1\);)
8360 ] Text
8361 End
8362
8363 Begin %I Text
8364 %I cfg Black
8365 0 0 0 SetCFg
8366 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8367 Courier 10 SetF
8368 %I t
8369 [ 1 0 0 1 96 375 ] concat
8370 %I
8371 [
8372 (if \(value > score && i > 1\) {)
8373 ] Text
8374 End
8375
8376 Begin %I Text
8377 %I cfg Black
8378 0 0 0 SetCFg
8379 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8380 Courier 10 SetF
8381 %I t
8382 [ 1 0 0 1 120 363 ] concat
8383 %I
8384 [
8385 (value = -PVS\(p, -beta, -value, depth+1, plytogo-1\);)
8386 ] Text
8387 End
8388
8389 Begin %I Text
8390 %I cfg Black
8391 0 0 0 SetCFg
8392 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8393 Courier 10 SetF
8394 %I t
8395 [ 1 0 0 1 96 351 ] concat
8396 %I
8397 [
8398 (})
8399 ] Text
8400 End
8401
8402 Begin %I Text
8403 %I cfg Black
8404 0 0 0 SetCFg
8405 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8406 Courier 10 SetF
8407 %I t
8408 [ 1 0 0 1 96 333 ] concat
8409 %I
8410 [
8411 (unmake_move\(p,move[i]\);)
8412 ] Text
8413 End
8414
8415 Begin %I Text
8416 %I cfg Black
8417 0 0 0 SetCFg
8418 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8419 Courier 10 SetF
8420 %I t
8421 [ 1 0 0 1 96 309 ] concat
8422 %I
8423 [
8424 (if \(value > score\) {)
8425 ] Text
8426 End
8427
8428 Begin %I Text
8429 %I cfg Black
8430 0 0 0 SetCFg
8431 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8432 Courier 10 SetF
8433 %I t
8434 [ 1 0 0 1 120 297 ] concat
8435 %I
8436 [
8437 (score = value;)
8438 ] Text
8439 End
8440
8441 Begin %I Text
8442 %I cfg Black
8443 0 0 0 SetCFg
8444 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8445 Courier 10 SetF
8446 %I t
8447 [ 1 0 0 1 120 285 ] concat
8448 %I
8449 [
8450 (move_opt = move[i];)
8451 ] Text
8452 End
8453
8454 Begin %I Text
8455 %I cfg Black
8456 0 0 0 SetCFg
8457 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8458 Courier 10 SetF
8459 %I t
8460 [ 1 0 0 1 96 273 ] concat
8461 %I
8462 [
8463 (})
8464 ] Text
8465 End
8466
8467 Begin %I Text
8468 %I cfg Black
8469 0 0 0 SetCFg
8470 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8471 Courier 10 SetF
8472 %I t
8473 [ 1 0 0 1 96 255 ] concat
8474 %I
8475 [
8476 (/* Set bounds for next search */)
8477 ] Text
8478 End
8479
8480 Begin %I Text
8481 %I cfg Black
8482 0 0 0 SetCFg
8483 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8484 Courier 10 SetF
8485 %I t
8486 [ 1 0 0 1 96 243 ] concat
8487 %I
8488 [
8489 (lower = max\(alpha, score\);  upper = lower+1;)
8490 ] Text
8491 End
8492
8493 Begin %I Text
8494 %I cfg Black
8495 0 0 0 SetCFg
8496 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8497 Courier 10 SetF
8498 %I t
8499 [ 1 0 0 1 72 231 ] concat
8500 %I
8501 [
8502 (} /* for all moves */)
8503 ] Text
8504 End
8505
8506 Begin %I Text
8507 %I cfg Black
8508 0 0 0 SetCFg
8509 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8510 Courier 10 SetF
8511 %I t
8512 [ 1 0 0 1 72 195 ] concat
8513 %I
8514 [
8515 (/* Write information into local trans. table */)
8516 ] Text
8517 End
8518
8519 Begin %I Text
8520 %I cfg Black
8521 0 0 0 SetCFg
8522 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8523 Courier 10 SetF
8524 %I t
8525 [ 1 0 0 1 72 171 ] concat
8526 %I
8527 [
8528 (h_flag = VALID;)
8529 ] Text
8530 End
8531
8532 Begin %I Text
8533 %I cfg Black
8534 0 0 0 SetCFg
8535 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8536 Courier 10 SetF
8537 %I t
8538 [ 1 0 0 1 72 561 ] concat
8539 %I
8540 [
8541 (width = generate\(p, h_move\);)
8542 ] Text
8543 End
8544
8545 Begin %I Text
8546 %I cfg Black
8547 0 0 0 SetCFg
8548 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8549 Courier 10 SetF
8550 %I t
8551 [ 1 0 0 1 72 159 ] concat
8552 %I
8553 [
8554 (if \(score <= alpha\) { h_flag = UBOUND; })
8555 ] Text
8556 End
8557
8558 Begin %I Text
8559 %I cfg Black
8560 0 0 0 SetCFg
8561 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8562 Courier 10 SetF
8563 %I t
8564 [ 1 0 0 1 72 147 ] concat
8565 %I
8566 [
8567 (if \(score >= beta\)  { h_flag = LBOUND; })
8568 ] Text
8569 End
8570
8571 Begin %I Text
8572 %I cfg Black
8573 0 0 0 SetCFg
8574 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8575 Courier 10 SetF
8576 %I t
8577 [ 1 0 0 1 72 135 ] concat
8578 %I
8579 [
8580 (if \(h_length <= plytogo\) {)
8581 ] Text
8582 End
8583
8584 Begin %I Text
8585 %I cfg Black
8586 0 0 0 SetCFg
8587 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8588 Courier 10 SetF
8589 %I t
8590 [ 1 0 0 1 96 123 ] concat
8591 %I
8592 [
8593 (store\(p_hash, p_key, plytogo, score, h_flag, move_opt\);)
8594 ] Text
8595 End
8596
8597 Begin %I Text
8598 %I cfg Black
8599 0 0 0 SetCFg
8600 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8601 Courier 10 SetF
8602 %I t
8603 [ 1 0 0 1 72 111 ] concat
8604 %I
8605 [
8606 (})
8607 ] Text
8608 End
8609
8610 Begin %I Text
8611 %I cfg Black
8612 0 0 0 SetCFg
8613 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8614 Courier 10 SetF
8615 %I t
8616 [ 1 0 0 1 72 99 ] concat
8617 %I
8618 [
8619 (return\(score\);)
8620 ] Text
8621 End
8622
8623 Begin %I Text
8624 %I cfg Black
8625 0 0 0 SetCFg
8626 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8627 Courier 10 SetF
8628 %I t
8629 [ 1 0 0 1 48 87 ] concat
8630 %I
8631 [
8632 (} /* function PVS */)
8633 ] Text
8634 End
8635
8636 Begin %I Rect
8637 %I b 65535
8638 1 0 0 [] 0 SetB
8639 %I cfg Black
8640 0 0 0 SetCFg
8641 %I cbg White
8642 1 1 1 SetCBg
8643 none SetP %I p n
8644 %I t
8645 [ 2 -0 -0 2 -190 -34 ] concat
8646 %I
8647 107 47 323 503 Rect
8648 End
8649
8650 Begin %I Text
8651 %I cfg Black
8652 0 0 0 SetCFg
8653 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8654 Courier 10 SetF
8655 %I t
8656 [ 1 0 0 1 72 627 ] concat
8657 %I
8658 [
8659 (if \(plytogo <= 0\) { return\(evaluate\(p\)\); })
8660 ] Text
8661 End
8662
8663 Begin %I Text
8664 %I cfg Black
8665 0 0 0 SetCFg
8666 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8667 Courier 10 SetF
8668 %I t
8669 [ 1 0 0 1 72 717 ] concat
8670 %I
8671 [
8672 (if \(aphid_master\(\) == FALSE && h_length == plytogo\) {)
8673 ] Text
8674 End
8675
8676 Begin %I Text
8677 %I cfg Black
8678 0 0 0 SetCFg
8679 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8680 Courier 10 SetF
8681 %I t
8682 [ 1 0 0 1 72 615 ] concat
8683 %I
8684 [
8685 (if \(aphid_horizon\(depth\)\) {)
8686 ] Text
8687 End
8688
8689 Begin %I Text
8690 %I cfg Black
8691 0 0 0 SetCFg
8692 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8693 Courier 10 SetF
8694 %I t
8695 [ 1 0 0 1 72 537 ] concat
8696 %I
8697 [
8698 (if \(aphid_checkalarm\(\) != FALSE\) {)
8699 ] Text
8700 End
8701
8702 Begin %I Text
8703 %I cfg Black
8704 0 0 0 SetCFg
8705 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8706 Courier 10 SetF
8707 %I t
8708 [ 1 0 0 1 72 459 ] concat
8709 %I
8710 [
8711 (aphid_intnode_start\(depth, p_hash, p_key\);)
8712 ] Text
8713 End
8714
8715 Begin %I Text
8716 %I cfg Black
8717 0 0 0 SetCFg
8718 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8719 Courier 10 SetF
8720 %I t
8721 [ 1 0 0 1 96 417 ] concat
8722 %I
8723 [
8724 (aphid_intnode_move\(depth, &\(move[i]\)\);)
8725 ] Text
8726 End
8727
8728 Begin %I Text
8729 %I cfg Black
8730 0 0 0 SetCFg
8731 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8732 Courier 10 SetF
8733 %I t
8734 [ 1 0 0 1 96 321 ] concat
8735 %I
8736 [
8737 (aphid_intnode_update\(depth, value\);)
8738 ] Text
8739 End
8740
8741 Begin %I Text
8742 %I cfg Black
8743 0 0 0 SetCFg
8744 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8745 Courier 10 SetF
8746 %I t
8747 [ 1 0 0 1 72 213 ] concat
8748 %I
8749 [
8750 (if \(score >= beta\) { aphid_intnode_fixbound\(depth\); })
8751 ] Text
8752 End
8753
8754 Begin %I Text
8755 %I cfg Black
8756 0 0 0 SetCFg
8757 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8758 Courier 10 SetF
8759 %I t
8760 [ 1 0 0 1 72 183 ] concat
8761 %I
8762 [
8763 (aphid_intnode_end\(depth, &score\);)
8764 ] Text
8765 End
8766
8767 Begin %I Text
8768 %I cfg Black
8769 0 0 0 SetCFg
8770 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8771 Courier 10 SetF
8772 %I t
8773 [ 1 0 0 1 96 525 ] concat
8774 %I
8775 [
8776 (terminate_search = TRUE;)
8777 ] Text
8778 End
8779
8780 Begin %I Text
8781 %I cfg Black
8782 0 0 0 SetCFg
8783 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8784 Courier 10 SetF
8785 %I t
8786 [ 1 0 0 1 96 603 ] concat
8787 %I
8788 [
8789 (return\(aphid_eval_leaf\(alpha,beta,depth,p_hash,p_key\)\);)
8790 ] Text
8791 End
8792
8793 Begin %I Text
8794 %I cfg Black
8795 0 0 0 SetCFg
8796 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
8797 Courier 10 SetF
8798 %I t
8799 [ 1 0 0 1 96 513 ] concat
8800 %I
8801 [
8802 (return\(0\);  /* Should exit PVS quickly when alarm on */)
8803 ] Text
8804 End
8805
8806 End %I eop
8807
8808 showpage
8809
8810
8811 end
8812 %%EndDocument
8813
8814  endTexFig
8815  390 2520 a Fn(Figure)14 b(3:)j(Ho)o(w)d(APHID)g(Mo)q(di\014es)g(A)g(T)
8816 o(ypical)f(PVS)h(Implemen)o(tation)954 2828 y(10)p eop
8817 %%Page: 11 11
8818 11 10 bop 459 188 a
8819  16292818 4736286 1184071 44665815 23615651 51178209 startTexFig
8820  459 188 a
8821 %%BeginDocument: code5.ps
8822
8823 /arrowHeight 10 def
8824 /arrowWidth 5 def
8825
8826 /IdrawDict 51 dict def
8827 IdrawDict begin
8828
8829 /reencodeISO {
8830 dup dup findfont dup length dict begin
8831 { 1 index /FID ne { def }{ pop pop } ifelse } forall
8832 /Encoding ISOLatin1Encoding def
8833 currentdict end definefont
8834 } def
8835
8836 /ISOLatin1Encoding [
8837 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8838 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8839 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8840 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8841 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
8842 /parenleft/parenright/asterisk/plus/comma/minus/period/slash
8843 /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
8844 /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
8845 /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
8846 /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
8847 /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
8848 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8849 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8850 /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
8851 /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
8852 /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
8853 /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
8854 /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
8855 /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
8856 /guillemotright/onequarter/onehalf/threequarters/questiondown
8857 /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
8858 /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
8859 /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
8860 /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
8861 /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
8862 /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
8863 /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
8864 /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
8865 /yacute/thorn/ydieresis
8866 ] def
8867 /Courier reencodeISO def
8868
8869 /none null def
8870 /numGraphicParameters 17 def
8871 /stringLimit 65535 def
8872
8873 /Begin {
8874 save
8875 numGraphicParameters dict begin
8876 } def
8877
8878 /End {
8879 end
8880 restore
8881 } def
8882
8883 /SetB {
8884 dup type /nulltype eq {
8885 pop
8886 false /brushRightArrow idef
8887 false /brushLeftArrow idef
8888 true /brushNone idef
8889 } {
8890 /brushDashOffset idef
8891 /brushDashArray idef
8892 0 ne /brushRightArrow idef
8893 0 ne /brushLeftArrow idef
8894 /brushWidth idef
8895 false /brushNone idef
8896 } ifelse
8897 } def
8898
8899 /SetCFg {
8900 /fgblue idef
8901 /fggreen idef
8902 /fgred idef
8903 } def
8904
8905 /SetCBg {
8906 /bgblue idef
8907 /bggreen idef
8908 /bgred idef
8909 } def
8910
8911 /SetF {
8912 /printSize idef
8913 /printFont idef
8914 } def
8915
8916 /SetP {
8917 dup type /nulltype eq {
8918 pop true /patternNone idef
8919 } {
8920 dup -1 eq {
8921 /patternGrayLevel idef
8922 /patternString idef
8923 } {
8924 /patternGrayLevel idef
8925 } ifelse
8926 false /patternNone idef
8927 } ifelse
8928 } def
8929
8930 /BSpl {
8931 0 begin
8932 storexyn
8933 newpath
8934 n 1 gt {
8935 0 0 0 0 0 0 1 1 true subspline
8936 n 2 gt {
8937 0 0 0 0 1 1 2 2 false subspline
8938 1 1 n 3 sub {
8939 /i exch def
8940 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
8941 } for
8942 n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
8943 } if
8944 n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
8945 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
8946 brushNone not { istroke } if
8947 0 0 1 1 leftarrow
8948 n 2 sub dup n 1 sub dup rightarrow
8949 } if
8950 end
8951 } dup 0 4 dict put def
8952
8953 /Circ {
8954 newpath
8955 0 360 arc
8956 patternNone not { ifill } if
8957 brushNone not { istroke } if
8958 } def
8959
8960 /CBSpl {
8961 0 begin
8962 dup 2 gt {
8963 storexyn
8964 newpath
8965 n 1 sub dup 0 0 1 1 2 2 true subspline
8966 1 1 n 3 sub {
8967 /i exch def
8968 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
8969 } for
8970 n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
8971 n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
8972 patternNone not { ifill } if
8973 brushNone not { istroke } if
8974 } {
8975 Poly
8976 } ifelse
8977 end
8978 } dup 0 4 dict put def
8979
8980 /Elli {
8981 0 begin
8982 newpath
8983 4 2 roll
8984 translate
8985 scale
8986 0 0 1 0 360 arc
8987 patternNone not { ifill } if
8988 brushNone not { istroke } if
8989 end
8990 } dup 0 1 dict put def
8991
8992 /Line {
8993 0 begin
8994 2 storexyn
8995 newpath
8996 x 0 get y 0 get moveto
8997 x 1 get y 1 get lineto
8998 brushNone not { istroke } if
8999 0 0 1 1 leftarrow
9000 0 0 1 1 rightarrow
9001 end
9002 } dup 0 4 dict put def
9003
9004 /MLine {
9005 0 begin
9006 storexyn
9007 newpath
9008 n 1 gt {
9009 x 0 get y 0 get moveto
9010 1 1 n 1 sub {
9011 /i exch def
9012 x i get y i get lineto
9013 } for
9014 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
9015 brushNone not { istroke } if
9016 0 0 1 1 leftarrow
9017 n 2 sub dup n 1 sub dup rightarrow
9018 } if
9019 end
9020 } dup 0 4 dict put def
9021
9022 /Poly {
9023 3 1 roll
9024 newpath
9025 moveto
9026 -1 add
9027 { lineto } repeat
9028 closepath
9029 patternNone not { ifill } if
9030 brushNone not { istroke } if
9031 } def
9032
9033 /Rect {
9034 0 begin
9035 /t exch def
9036 /r exch def
9037 /b exch def
9038 /l exch def
9039 newpath
9040 l b moveto
9041 l t lineto
9042 r t lineto
9043 r b lineto
9044 closepath
9045 patternNone not { ifill } if
9046 brushNone not { istroke } if
9047 end
9048 } dup 0 4 dict put def
9049
9050 /Text {
9051 ishow
9052 } def
9053
9054 /idef {
9055 dup where { pop pop pop } { exch def } ifelse
9056 } def
9057
9058 /ifill {
9059 0 begin
9060 gsave
9061 patternGrayLevel -1 ne {
9062 fgred bgred fgred sub patternGrayLevel mul add
9063 fggreen bggreen fggreen sub patternGrayLevel mul add
9064 fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
9065 eofill
9066 } {
9067 eoclip
9068 originalCTM setmatrix
9069 pathbbox /t exch def /r exch def /b exch def /l exch def
9070 /w r l sub ceiling cvi def
9071 /h t b sub ceiling cvi def
9072 /imageByteWidth w 8 div ceiling cvi def
9073 /imageHeight h def
9074 bgred bggreen bgblue setrgbcolor
9075 eofill
9076 fgred fggreen fgblue setrgbcolor
9077 w 0 gt h 0 gt and {
9078 l b translate w h scale
9079 w h true [w 0 0 h neg 0 h] { patternproc } imagemask
9080 } if
9081 } ifelse
9082 grestore
9083 end
9084 } dup 0 8 dict put def
9085
9086 /istroke {
9087 gsave
9088 brushDashOffset -1 eq {
9089 [] 0 setdash
9090 1 setgray
9091 } {
9092 brushDashArray brushDashOffset setdash
9093 fgred fggreen fgblue setrgbcolor
9094 } ifelse
9095 brushWidth setlinewidth
9096 originalCTM setmatrix
9097 stroke
9098 grestore
9099 } def
9100
9101 /ishow {
9102 0 begin
9103 gsave
9104 fgred fggreen fgblue setrgbcolor
9105 /fontDict printFont printSize scalefont dup setfont def
9106 /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
9107 transform exch pop def
9108 /vertoffset 1 printSize sub descender sub def {
9109 0 vertoffset moveto show
9110 /vertoffset vertoffset printSize sub def
9111 } forall
9112 grestore
9113 end
9114 } dup 0 3 dict put def
9115 /patternproc {
9116 0 begin
9117 /patternByteLength patternString length def
9118 /patternHeight patternByteLength 8 mul sqrt cvi def
9119 /patternWidth patternHeight def
9120 /patternByteWidth patternWidth 8 idiv def
9121 /imageByteMaxLength imageByteWidth imageHeight mul
9122 stringLimit patternByteWidth sub min def
9123 /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
9124 patternHeight mul patternHeight max def
9125 /imageHeight imageHeight imageMaxHeight sub store
9126 /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
9127 0 1 imageMaxHeight 1 sub {
9128 /y exch def
9129 /patternRow y patternByteWidth mul patternByteLength mod def
9130 /patternRowString patternString patternRow patternByteWidth getinterval def
9131 /imageRow y imageByteWidth mul def
9132 0 patternByteWidth imageByteWidth 1 sub {
9133 /x exch def
9134 imageString imageRow x add patternRowString putinterval
9135 } for
9136 } for
9137 imageString
9138 end
9139 } dup 0 12 dict put def
9140
9141 /min {
9142 dup 3 2 roll dup 4 3 roll lt { exch } if pop
9143 } def
9144
9145 /max {
9146 dup 3 2 roll dup 4 3 roll gt { exch } if pop
9147 } def
9148
9149 /midpoint {
9150 0 begin
9151 /y1 exch def
9152 /x1 exch def
9153 /y0 exch def
9154 /x0 exch def
9155 x0 x1 add 2 div
9156 y0 y1 add 2 div
9157 end
9158 } dup 0 4 dict put def
9159
9160 /thirdpoint {
9161 0 begin
9162 /y1 exch def
9163 /x1 exch def
9164 /y0 exch def
9165 /x0 exch def
9166 x0 2 mul x1 add 3 div
9167 y0 2 mul y1 add 3 div
9168 end
9169 } dup 0 4 dict put def
9170
9171 /subspline {
9172 0 begin
9173 /movetoNeeded exch def
9174 y exch get /y3 exch def
9175 x exch get /x3 exch def
9176 y exch get /y2 exch def
9177 x exch get /x2 exch def
9178 y exch get /y1 exch def
9179 x exch get /x1 exch def
9180 y exch get /y0 exch def
9181 x exch get /x0 exch def
9182 x1 y1 x2 y2 thirdpoint
9183 /p1y exch def
9184 /p1x exch def
9185 x2 y2 x1 y1 thirdpoint
9186 /p2y exch def
9187 /p2x exch def
9188 x1 y1 x0 y0 thirdpoint
9189 p1x p1y midpoint
9190 /p0y exch def
9191 /p0x exch def
9192 x2 y2 x3 y3 thirdpoint
9193 p2x p2y midpoint
9194 /p3y exch def
9195 /p3x exch def
9196 movetoNeeded { p0x p0y moveto } if
9197 p1x p1y p2x p2y p3x p3y curveto
9198 end
9199 } dup 0 17 dict put def
9200
9201 /storexyn {
9202 /n exch def
9203 /y n array def
9204 /x n array def
9205 n 1 sub -1 0 {
9206 /i exch def
9207 y i 3 2 roll put
9208 x i 3 2 roll put
9209 } for
9210 } def
9211
9212 /SSten {
9213 fgred fggreen fgblue setrgbcolor
9214 dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
9215 } def
9216
9217 /FSten {
9218 dup 3 -1 roll dup 4 1 roll exch
9219 newpath
9220 0 0 moveto
9221 dup 0 exch lineto
9222 exch dup 3 1 roll exch lineto
9223 0 lineto
9224 closepath
9225 bgred bggreen bgblue setrgbcolor
9226 eofill
9227 SSten
9228 } def
9229
9230 /Rast {
9231 exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
9232 } def
9233
9234
9235 /arrowhead {
9236 0 begin
9237 transform originalCTM itransform
9238 /taily exch def
9239 /tailx exch def
9240 transform originalCTM itransform
9241 /tipy exch def
9242 /tipx exch def
9243 /dy tipy taily sub def
9244 /dx tipx tailx sub def
9245 /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
9246 gsave
9247 originalCTM setmatrix
9248 tipx tipy translate
9249 angle rotate
9250 newpath
9251 arrowHeight neg arrowWidth 2 div moveto
9252 0 0 lineto
9253 arrowHeight neg arrowWidth 2 div neg lineto
9254 patternNone not {
9255 originalCTM setmatrix
9256 /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
9257 arrowWidth div def
9258 /padtail brushWidth 2 div def
9259 tipx tipy translate
9260 angle rotate
9261 padtip 0 translate
9262 arrowHeight padtip add padtail add arrowHeight div dup scale
9263 arrowheadpath
9264 ifill
9265 } if
9266 brushNone not {
9267 originalCTM setmatrix
9268 tipx tipy translate
9269 angle rotate
9270 arrowheadpath
9271 istroke
9272 } if
9273 grestore
9274 end
9275 } dup 0 9 dict put def
9276
9277 /arrowheadpath {
9278 newpath
9279 arrowHeight neg arrowWidth 2 div moveto
9280 0 0 lineto
9281 arrowHeight neg arrowWidth 2 div neg lineto
9282 } def
9283
9284 /leftarrow {
9285 0 begin
9286 y exch get /taily exch def
9287 x exch get /tailx exch def
9288 y exch get /tipy exch def
9289 x exch get /tipx exch def
9290 brushLeftArrow { tipx tipy tailx taily arrowhead } if
9291 end
9292 } dup 0 4 dict put def
9293
9294 /rightarrow {
9295 0 begin
9296 y exch get /tipy exch def
9297 x exch get /tipx exch def
9298 y exch get /taily exch def
9299 x exch get /tailx exch def
9300 brushRightArrow { tipx tipy tailx taily arrowhead } if
9301 end
9302 } dup 0 4 dict put def
9303
9304
9305 %I Idraw 10 Grid 8 8 
9306
9307
9308 Begin
9309 %I b u
9310 %I cfg u
9311 %I cbg u
9312 %I f u
9313 %I p u
9314 %I t
9315 [ 0.799705 0 0 0.799705 0 0 ] concat
9316 /originalCTM matrix currentmatrix def
9317
9318 Begin %I Rect
9319 none SetB %I b n
9320 %I cfg Black
9321 0 0 0 SetCFg
9322 %I cbg White
9323 1 1 1 SetCBg
9324 %I p
9325 0.95 SetP
9326 %I t
9327 [ 1 -0 -0 1 -125 612 ] concat
9328 %I
9329 155 342 563 354 Rect
9330 End
9331
9332 Begin %I Text
9333 %I cfg Black
9334 0 0 0 SetCFg
9335 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
9336 Courier 10 SetF
9337 %I t
9338 [ 1 0 0 1 36 951 ] concat
9339 %I
9340 [
9341 (for\(plytogo=1;\(plytogo <= MAXDEPTH && done == FALSE\); plytogo++\) {)
9342 ] Text
9343 End
9344
9345 Begin %I Text
9346 %I cfg Black
9347 0 0 0 SetCFg
9348 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
9349 Courier 10 SetF
9350 %I t
9351 [ 1 0 0 1 60 939 ] concat
9352 %I
9353 [
9354 (/* Set up search */)
9355 ] Text
9356 End
9357
9358 Begin %I Rect
9359 %I b 65535
9360 1 0 0 [] 0 SetB
9361 %I cfg Black
9362 0 0 0 SetCFg
9363 %I cbg White
9364 1 1 1 SetCBg
9365 none SetP %I p n
9366 %I t
9367 [ 1.00951 -0 -0 1.12603 -126.417 566.628 ] concat
9368 %I
9369 149 252 569 360 Rect
9370 End
9371
9372 Begin %I Text
9373 %I cfg Black
9374 0 0 0 SetCFg
9375 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
9376 Courier 10 SetF
9377 %I t
9378 [ 1 0 0 1 36 963 ] concat
9379 %I
9380 [
9381 (aphid_initsearch\(MAXDEPTH\);)
9382 ] Text
9383 End
9384
9385 Begin %I Rect
9386 none SetB %I b n
9387 %I cfg Black
9388 0 0 0 SetCFg
9389 %I cbg White
9390 1 1 1 SetCBg
9391 %I p
9392 0.95 SetP
9393 %I t
9394 [ 1 0 0 1 -125 596 ] concat
9395 %I
9396 155 294 563 318 Rect
9397 End
9398
9399 Begin %I Rect
9400 none SetB %I b n
9401 %I cfg Black
9402 0 0 0 SetCFg
9403 %I cbg White
9404 1 1 1 SetCBg
9405 %I p
9406 0.95 SetP
9407 %I t
9408 [ 1 0 0 1 -125 596 ] concat
9409 %I
9410 155 258 563 270 Rect
9411 End
9412
9413 Begin %I Text
9414 %I cfg Black
9415 0 0 0 SetCFg
9416 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
9417 Courier 10 SetF
9418 %I t
9419 [ 1 0 0 1 60 887 ] concat
9420 %I
9421 [
9422 (/* Print out results of search */)
9423 ] Text
9424 End
9425
9426 Begin %I Text
9427 %I cfg Black
9428 0 0 0 SetCFg
9429 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
9430 Courier 10 SetF
9431 %I t
9432 [ 1 0 0 1 36 875 ] concat
9433 %I
9434 [
9435 (})
9436 ] Text
9437 End
9438
9439 Begin %I Text
9440 %I cfg Black
9441 0 0 0 SetCFg
9442 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
9443 Courier 10 SetF
9444 %I t
9445 [ 1 0 0 1 60 911 ] concat
9446 %I
9447 [
9448 (/* Call to aphid_rootsearch replaces call to PVS */)
9449 ] Text
9450 End
9451
9452 Begin %I Text
9453 %I cfg Black
9454 0 0 0 SetCFg
9455 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
9456 Courier 10 SetF
9457 %I t
9458 [ 1 0 0 1 60 899 ] concat
9459 %I
9460 [
9461 (score = aphid_rootsearch\(0,plytogo,guess-eps,guess+eps\);)
9462 ] Text
9463 End
9464
9465 Begin %I Text
9466 %I cfg Black
9467 0 0 0 SetCFg
9468 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
9469 Courier 10 SetF
9470 %I t
9471 [ 1 0 0 1 36 863 ] concat
9472 %I
9473 [
9474 (aphid_endsearch\(\);)
9475 ] Text
9476 End
9477
9478 Begin %I Text
9479 %I cfg Black
9480 0 0 0 SetCFg
9481 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
9482 Courier 10 SetF
9483 %I t
9484 [ 1 0 0 1 61 925 ] concat
9485 %I
9486 [
9487 (/* Search at root around value \(guess\) with small error \(eps\) */)
9488 ] Text
9489 End
9490
9491 End %I eop
9492
9493 showpage
9494
9495
9496 end
9497 %%EndDocument
9498
9499  endTexFig
9500  385 579 a Fn(Figure)14 b(4:)k(Ho)o(w)c(APHID)g(Mo)q(di\014es)g(the)g
9501 (Iterativ)o(e)h(Deep)q(ening)f(Routine)465 689 y
9502  16117604 19418804 1184071 24405032 23549870 51178209 startTexFig
9503  465
9504 689 a
9505 %%BeginDocument: code6.ps
9506
9507 /arrowHeight 10 def
9508 /arrowWidth 5 def
9509
9510 /IdrawDict 51 dict def
9511 IdrawDict begin
9512
9513 /reencodeISO {
9514 dup dup findfont dup length dict begin
9515 { 1 index /FID ne { def }{ pop pop } ifelse } forall
9516 /Encoding ISOLatin1Encoding def
9517 currentdict end definefont
9518 } def
9519
9520 /ISOLatin1Encoding [
9521 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9522 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9523 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9524 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9525 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
9526 /parenleft/parenright/asterisk/plus/comma/minus/period/slash
9527 /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
9528 /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
9529 /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
9530 /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
9531 /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
9532 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9533 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9534 /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
9535 /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
9536 /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
9537 /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
9538 /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
9539 /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
9540 /guillemotright/onequarter/onehalf/threequarters/questiondown
9541 /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
9542 /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
9543 /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
9544 /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
9545 /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
9546 /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
9547 /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
9548 /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
9549 /yacute/thorn/ydieresis
9550 ] def
9551 /Courier reencodeISO def
9552
9553 /none null def
9554 /numGraphicParameters 17 def
9555 /stringLimit 65535 def
9556
9557 /Begin {
9558 save
9559 numGraphicParameters dict begin
9560 } def
9561
9562 /End {
9563 end
9564 restore
9565 } def
9566
9567 /SetB {
9568 dup type /nulltype eq {
9569 pop
9570 false /brushRightArrow idef
9571 false /brushLeftArrow idef
9572 true /brushNone idef
9573 } {
9574 /brushDashOffset idef
9575 /brushDashArray idef
9576 0 ne /brushRightArrow idef
9577 0 ne /brushLeftArrow idef
9578 /brushWidth idef
9579 false /brushNone idef
9580 } ifelse
9581 } def
9582
9583 /SetCFg {
9584 /fgblue idef
9585 /fggreen idef
9586 /fgred idef
9587 } def
9588
9589 /SetCBg {
9590 /bgblue idef
9591 /bggreen idef
9592 /bgred idef
9593 } def
9594
9595 /SetF {
9596 /printSize idef
9597 /printFont idef
9598 } def
9599
9600 /SetP {
9601 dup type /nulltype eq {
9602 pop true /patternNone idef
9603 } {
9604 dup -1 eq {
9605 /patternGrayLevel idef
9606 /patternString idef
9607 } {
9608 /patternGrayLevel idef
9609 } ifelse
9610 false /patternNone idef
9611 } ifelse
9612 } def
9613
9614 /BSpl {
9615 0 begin
9616 storexyn
9617 newpath
9618 n 1 gt {
9619 0 0 0 0 0 0 1 1 true subspline
9620 n 2 gt {
9621 0 0 0 0 1 1 2 2 false subspline
9622 1 1 n 3 sub {
9623 /i exch def
9624 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
9625 } for
9626 n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
9627 } if
9628 n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
9629 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
9630 brushNone not { istroke } if
9631 0 0 1 1 leftarrow
9632 n 2 sub dup n 1 sub dup rightarrow
9633 } if
9634 end
9635 } dup 0 4 dict put def
9636
9637 /Circ {
9638 newpath
9639 0 360 arc
9640 patternNone not { ifill } if
9641 brushNone not { istroke } if
9642 } def
9643
9644 /CBSpl {
9645 0 begin
9646 dup 2 gt {
9647 storexyn
9648 newpath
9649 n 1 sub dup 0 0 1 1 2 2 true subspline
9650 1 1 n 3 sub {
9651 /i exch def
9652 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
9653 } for
9654 n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
9655 n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
9656 patternNone not { ifill } if
9657 brushNone not { istroke } if
9658 } {
9659 Poly
9660 } ifelse
9661 end
9662 } dup 0 4 dict put def
9663
9664 /Elli {
9665 0 begin
9666 newpath
9667 4 2 roll
9668 translate
9669 scale
9670 0 0 1 0 360 arc
9671 patternNone not { ifill } if
9672 brushNone not { istroke } if
9673 end
9674 } dup 0 1 dict put def
9675
9676 /Line {
9677 0 begin
9678 2 storexyn
9679 newpath
9680 x 0 get y 0 get moveto
9681 x 1 get y 1 get lineto
9682 brushNone not { istroke } if
9683 0 0 1 1 leftarrow
9684 0 0 1 1 rightarrow
9685 end
9686 } dup 0 4 dict put def
9687
9688 /MLine {
9689 0 begin
9690 storexyn
9691 newpath
9692 n 1 gt {
9693 x 0 get y 0 get moveto
9694 1 1 n 1 sub {
9695 /i exch def
9696 x i get y i get lineto
9697 } for
9698 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
9699 brushNone not { istroke } if
9700 0 0 1 1 leftarrow
9701 n 2 sub dup n 1 sub dup rightarrow
9702 } if
9703 end
9704 } dup 0 4 dict put def
9705
9706 /Poly {
9707 3 1 roll
9708 newpath
9709 moveto
9710 -1 add
9711 { lineto } repeat
9712 closepath
9713 patternNone not { ifill } if
9714 brushNone not { istroke } if
9715 } def
9716
9717 /Rect {
9718 0 begin
9719 /t exch def
9720 /r exch def
9721 /b exch def
9722 /l exch def
9723 newpath
9724 l b moveto
9725 l t lineto
9726 r t lineto
9727 r b lineto
9728 closepath
9729 patternNone not { ifill } if
9730 brushNone not { istroke } if
9731 end
9732 } dup 0 4 dict put def
9733
9734 /Text {
9735 ishow
9736 } def
9737
9738 /idef {
9739 dup where { pop pop pop } { exch def } ifelse
9740 } def
9741
9742 /ifill {
9743 0 begin
9744 gsave
9745 patternGrayLevel -1 ne {
9746 fgred bgred fgred sub patternGrayLevel mul add
9747 fggreen bggreen fggreen sub patternGrayLevel mul add
9748 fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
9749 eofill
9750 } {
9751 eoclip
9752 originalCTM setmatrix
9753 pathbbox /t exch def /r exch def /b exch def /l exch def
9754 /w r l sub ceiling cvi def
9755 /h t b sub ceiling cvi def
9756 /imageByteWidth w 8 div ceiling cvi def
9757 /imageHeight h def
9758 bgred bggreen bgblue setrgbcolor
9759 eofill
9760 fgred fggreen fgblue setrgbcolor
9761 w 0 gt h 0 gt and {
9762 l b translate w h scale
9763 w h true [w 0 0 h neg 0 h] { patternproc } imagemask
9764 } if
9765 } ifelse
9766 grestore
9767 end
9768 } dup 0 8 dict put def
9769
9770 /istroke {
9771 gsave
9772 brushDashOffset -1 eq {
9773 [] 0 setdash
9774 1 setgray
9775 } {
9776 brushDashArray brushDashOffset setdash
9777 fgred fggreen fgblue setrgbcolor
9778 } ifelse
9779 brushWidth setlinewidth
9780 originalCTM setmatrix
9781 stroke
9782 grestore
9783 } def
9784
9785 /ishow {
9786 0 begin
9787 gsave
9788 fgred fggreen fgblue setrgbcolor
9789 /fontDict printFont printSize scalefont dup setfont def
9790 /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
9791 transform exch pop def
9792 /vertoffset 1 printSize sub descender sub def {
9793 0 vertoffset moveto show
9794 /vertoffset vertoffset printSize sub def
9795 } forall
9796 grestore
9797 end
9798 } dup 0 3 dict put def
9799 /patternproc {
9800 0 begin
9801 /patternByteLength patternString length def
9802 /patternHeight patternByteLength 8 mul sqrt cvi def
9803 /patternWidth patternHeight def
9804 /patternByteWidth patternWidth 8 idiv def
9805 /imageByteMaxLength imageByteWidth imageHeight mul
9806 stringLimit patternByteWidth sub min def
9807 /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
9808 patternHeight mul patternHeight max def
9809 /imageHeight imageHeight imageMaxHeight sub store
9810 /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
9811 0 1 imageMaxHeight 1 sub {
9812 /y exch def
9813 /patternRow y patternByteWidth mul patternByteLength mod def
9814 /patternRowString patternString patternRow patternByteWidth getinterval def
9815 /imageRow y imageByteWidth mul def
9816 0 patternByteWidth imageByteWidth 1 sub {
9817 /x exch def
9818 imageString imageRow x add patternRowString putinterval
9819 } for
9820 } for
9821 imageString
9822 end
9823 } dup 0 12 dict put def
9824
9825 /min {
9826 dup 3 2 roll dup 4 3 roll lt { exch } if pop
9827 } def
9828
9829 /max {
9830 dup 3 2 roll dup 4 3 roll gt { exch } if pop
9831 } def
9832
9833 /midpoint {
9834 0 begin
9835 /y1 exch def
9836 /x1 exch def
9837 /y0 exch def
9838 /x0 exch def
9839 x0 x1 add 2 div
9840 y0 y1 add 2 div
9841 end
9842 } dup 0 4 dict put def
9843
9844 /thirdpoint {
9845 0 begin
9846 /y1 exch def
9847 /x1 exch def
9848 /y0 exch def
9849 /x0 exch def
9850 x0 2 mul x1 add 3 div
9851 y0 2 mul y1 add 3 div
9852 end
9853 } dup 0 4 dict put def
9854
9855 /subspline {
9856 0 begin
9857 /movetoNeeded exch def
9858 y exch get /y3 exch def
9859 x exch get /x3 exch def
9860 y exch get /y2 exch def
9861 x exch get /x2 exch def
9862 y exch get /y1 exch def
9863 x exch get /x1 exch def
9864 y exch get /y0 exch def
9865 x exch get /x0 exch def
9866 x1 y1 x2 y2 thirdpoint
9867 /p1y exch def
9868 /p1x exch def
9869 x2 y2 x1 y1 thirdpoint
9870 /p2y exch def
9871 /p2x exch def
9872 x1 y1 x0 y0 thirdpoint
9873 p1x p1y midpoint
9874 /p0y exch def
9875 /p0x exch def
9876 x2 y2 x3 y3 thirdpoint
9877 p2x p2y midpoint
9878 /p3y exch def
9879 /p3x exch def
9880 movetoNeeded { p0x p0y moveto } if
9881 p1x p1y p2x p2y p3x p3y curveto
9882 end
9883 } dup 0 17 dict put def
9884
9885 /storexyn {
9886 /n exch def
9887 /y n array def
9888 /x n array def
9889 n 1 sub -1 0 {
9890 /i exch def
9891 y i 3 2 roll put
9892 x i 3 2 roll put
9893 } for
9894 } def
9895
9896 /SSten {
9897 fgred fggreen fgblue setrgbcolor
9898 dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
9899 } def
9900
9901 /FSten {
9902 dup 3 -1 roll dup 4 1 roll exch
9903 newpath
9904 0 0 moveto
9905 dup 0 exch lineto
9906 exch dup 3 1 roll exch lineto
9907 0 lineto
9908 closepath
9909 bgred bggreen bgblue setrgbcolor
9910 eofill
9911 SSten
9912 } def
9913
9914 /Rast {
9915 exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
9916 } def
9917
9918
9919 /arrowhead {
9920 0 begin
9921 transform originalCTM itransform
9922 /taily exch def
9923 /tailx exch def
9924 transform originalCTM itransform
9925 /tipy exch def
9926 /tipx exch def
9927 /dy tipy taily sub def
9928 /dx tipx tailx sub def
9929 /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
9930 gsave
9931 originalCTM setmatrix
9932 tipx tipy translate
9933 angle rotate
9934 newpath
9935 arrowHeight neg arrowWidth 2 div moveto
9936 0 0 lineto
9937 arrowHeight neg arrowWidth 2 div neg lineto
9938 patternNone not {
9939 originalCTM setmatrix
9940 /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
9941 arrowWidth div def
9942 /padtail brushWidth 2 div def
9943 tipx tipy translate
9944 angle rotate
9945 padtip 0 translate
9946 arrowHeight padtip add padtail add arrowHeight div dup scale
9947 arrowheadpath
9948 ifill
9949 } if
9950 brushNone not {
9951 originalCTM setmatrix
9952 tipx tipy translate
9953 angle rotate
9954 arrowheadpath
9955 istroke
9956 } if
9957 grestore
9958 end
9959 } dup 0 9 dict put def
9960
9961 /arrowheadpath {
9962 newpath
9963 arrowHeight neg arrowWidth 2 div moveto
9964 0 0 lineto
9965 arrowHeight neg arrowWidth 2 div neg lineto
9966 } def
9967
9968 /leftarrow {
9969 0 begin
9970 y exch get /taily exch def
9971 x exch get /tailx exch def
9972 y exch get /tipy exch def
9973 x exch get /tipx exch def
9974 brushLeftArrow { tipx tipy tailx taily arrowhead } if
9975 end
9976 } dup 0 4 dict put def
9977
9978 /rightarrow {
9979 0 begin
9980 y exch get /tipy exch def
9981 x exch get /tipx exch def
9982 y exch get /taily exch def
9983 x exch get /tailx exch def
9984 brushRightArrow { tipx tipy tailx taily arrowhead } if
9985 end
9986 } dup 0 4 dict put def
9987
9988
9989 %I Idraw 10 Grid 8 8 
9990
9991
9992 Begin
9993 %I b u
9994 %I cfg u
9995 %I cbg u
9996 %I f u
9997 %I p u
9998 %I t
9999 [ 0.799705 0 0 0.799705 0 0 ] concat
10000 /originalCTM matrix currentmatrix def
10001
10002 Begin %I Rect
10003 none SetB %I b n
10004 %I cfg Black
10005 0 0 0 SetCFg
10006 %I cbg White
10007 1 1 1 SetCBg
10008 %I p
10009 0.95 SetP
10010 %I t
10011 [ 1 -0 -0 1 -125 559 ] concat
10012 %I
10013 155 173 563 197 Rect
10014 End
10015
10016 Begin %I Rect
10017 none SetB %I b n
10018 %I cfg Black
10019 0 0 0 SetCFg
10020 %I cbg White
10021 1 1 1 SetCBg
10022 %I p
10023 0.95 SetP
10024 %I t
10025 [ 1 -0 -0 1 -125 559 ] concat
10026 %I
10027 155 209 563 221 Rect
10028 End
10029
10030 Begin %I Rect
10031 none SetB %I b n
10032 %I cfg Black
10033 0 0 0 SetCFg
10034 %I cbg White
10035 1 1 1 SetCBg
10036 %I p
10037 0.95 SetP
10038 %I t
10039 [ 1 -0 -0 1 -125 559 ] concat
10040 %I
10041 155 323 563 335 Rect
10042 End
10043
10044 Begin %I Rect
10045 none SetB %I b n
10046 %I cfg Black
10047 0 0 0 SetCFg
10048 %I cbg White
10049 1 1 1 SetCBg
10050 %I p
10051 0.95 SetP
10052 %I t
10053 [ 1 -0 -0 1 -125 612 ] concat
10054 %I
10055 155 342 563 354 Rect
10056 End
10057
10058 Begin %I Text
10059 %I cfg Black
10060 0 0 0 SetCFg
10061 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10062 Courier 10 SetF
10063 %I t
10064 [ 1 0 0 1 36 951 ] concat
10065 %I
10066 [
10067 (for\(plytogo=1;\(plytogo <= MAXDEPTH && done == FALSE\); plytogo++\) {)
10068 ] Text
10069 End
10070
10071 Begin %I Text
10072 %I cfg Black
10073 0 0 0 SetCFg
10074 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10075 Courier 10 SetF
10076 %I t
10077 [ 1 0 0 1 36 903 ] concat
10078 %I
10079 [
10080 (})
10081 ] Text
10082 End
10083
10084 Begin %I Rect
10085 %I b 65535
10086 1 0 0 [] 0 SetB
10087 %I cfg Black
10088 0 0 0 SetCFg
10089 %I cbg White
10090 1 1 1 SetCBg
10091 none SetP %I p n
10092 %I t
10093 [ 1.00711 -0 -0 4.68604 -126.059 -714.975 ] concat
10094 %I
10095 149 252 569 360 Rect
10096 End
10097
10098 Begin %I Text
10099 %I cfg Black
10100 0 0 0 SetCFg
10101 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10102 Courier 10 SetF
10103 %I t
10104 [ 1 0 0 1 60 915 ] concat
10105 %I
10106 [
10107 (/* Print out results of search */)
10108 ] Text
10109 End
10110
10111 Begin %I Text
10112 %I cfg Black
10113 0 0 0 SetCFg
10114 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10115 Courier 10 SetF
10116 %I t
10117 [ 1 0 0 1 60 927 ] concat
10118 %I
10119 [
10120 (score = ROOT_PVS\(root_pos,guess-eps,guess+eps,0,plytogo\);)
10121 ] Text
10122 End
10123
10124 Begin %I Text
10125 %I cfg Black
10126 0 0 0 SetCFg
10127 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10128 Courier 10 SetF
10129 %I t
10130 [ 1 0 0 1 36 867 ] concat
10131 %I
10132 [
10133 (ROOT_PVS\(root_pos, alpha, beta, depth, plytogo\))
10134 ] Text
10135 End
10136
10137 Begin %I Text
10138 %I cfg Black
10139 0 0 0 SetCFg
10140 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10141 Courier 10 SetF
10142 %I t
10143 [ 1 0 0 1 36 855 ] concat
10144 %I
10145 [
10146 (...)
10147 ] Text
10148 End
10149
10150 Begin %I Text
10151 %I cfg Black
10152 0 0 0 SetCFg
10153 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10154 Courier 10 SetF
10155 %I t
10156 [ 1 0 0 1 36 843 ] concat
10157 %I
10158 [
10159 ({)
10160 ] Text
10161 End
10162
10163 Begin %I Text
10164 %I cfg Black
10165 0 0 0 SetCFg
10166 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10167 Courier 10 SetF
10168 %I t
10169 [ 1 0 0 1 60 831 ] concat
10170 %I
10171 [
10172 (...)
10173 ] Text
10174 End
10175
10176 Begin %I Text
10177 %I cfg Black
10178 0 0 0 SetCFg
10179 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10180 Courier 10 SetF
10181 %I t
10182 [ 1 0 0 1 60 819 ] concat
10183 %I
10184 [
10185 (/* Search PV Move */)
10186 ] Text
10187 End
10188
10189 Begin %I Text
10190 %I cfg Black
10191 0 0 0 SetCFg
10192 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10193 Courier 10 SetF
10194 %I t
10195 [ 1 0 0 1 60 807 ] concat
10196 %I
10197 [
10198 (lower = alpha;)
10199 ] Text
10200 End
10201
10202 Begin %I Text
10203 %I cfg Black
10204 0 0 0 SetCFg
10205 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10206 Courier 10 SetF
10207 %I t
10208 [ 1 0 0 1 36 789 ] concat
10209 %I
10210 [
10211 (search_best_move:)
10212 ] Text
10213 End
10214
10215 Begin %I Text
10216 %I cfg Black
10217 0 0 0 SetCFg
10218 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10219 Courier 10 SetF
10220 %I t
10221 [ 1 0 0 1 60 765 ] concat
10222 %I
10223 [
10224 (make_move\(p,bestmove\);)
10225 ] Text
10226 End
10227
10228 Begin %I Text
10229 %I cfg Black
10230 0 0 0 SetCFg
10231 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10232 Courier 10 SetF
10233 %I t
10234 [ 1 0 0 1 60 729 ] concat
10235 %I
10236 [
10237 (unmake_move\(p,bestmove\);)
10238 ] Text
10239 End
10240
10241 Begin %I Text
10242 %I cfg Black
10243 0 0 0 SetCFg
10244 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10245 Courier 10 SetF
10246 %I t
10247 [ 1 0 0 1 36 963 ] concat
10248 %I
10249 [
10250 (aphid_initsearch\(MAXDEPTH\);)
10251 ] Text
10252 End
10253
10254 Begin %I Text
10255 %I cfg Black
10256 0 0 0 SetCFg
10257 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10258 Courier 10 SetF
10259 %I t
10260 [ 1 0 0 1 36 891 ] concat
10261 %I
10262 [
10263 (aphid_endsearch\(\);)
10264 ] Text
10265 End
10266
10267 Begin %I Text
10268 %I cfg Black
10269 0 0 0 SetCFg
10270 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10271 Courier 10 SetF
10272 %I t
10273 [ 1 0 0 1 60 777 ] concat
10274 %I
10275 [
10276 (aphid_intnode_premove\(depth, &bestmove\);)
10277 ] Text
10278 End
10279
10280 Begin %I Text
10281 %I cfg Black
10282 0 0 0 SetCFg
10283 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10284 Courier 10 SetF
10285 %I t
10286 [ 1 0 0 1 60 753 ] concat
10287 %I
10288 [
10289 (/* aphid_rootsearch replaces typical call to PVS */)
10290 ] Text
10291 End
10292
10293 Begin %I Text
10294 %I cfg Black
10295 0 0 0 SetCFg
10296 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10297 Courier 10 SetF
10298 %I t
10299 [ 1 0 0 1 60 939 ] concat
10300 %I
10301 [
10302 (/* Set up search with small window \(eps\) around guess */)
10303 ] Text
10304 End
10305
10306 Begin %I Text
10307 %I cfg Black
10308 0 0 0 SetCFg
10309 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10310 Courier 10 SetF
10311 %I t
10312 [ 1 0 0 1 60 741 ] concat
10313 %I
10314 [
10315 (oldscore = -aphid_rootsearch\(depth+1,plytogo-1,-beta,-lower\);)
10316 ] Text
10317 End
10318
10319 Begin %I Rect
10320 none SetB %I b n
10321 %I cfg Black
10322 0 0 0 SetCFg
10323 %I cbg White
10324 1 1 1 SetCBg
10325 %I p
10326 0.95 SetP
10327 %I t
10328 [ 1 0 0 1 -125 437 ] concat
10329 %I
10330 155 159 563 183 Rect
10331 End
10332
10333 Begin %I Rect
10334 none SetB %I b n
10335 %I cfg Black
10336 0 0 0 SetCFg
10337 %I cbg White
10338 1 1 1 SetCBg
10339 %I p
10340 0.95 SetP
10341 %I t
10342 [ 1 0 0 1 -125 437 ] concat
10343 %I
10344 155 207 563 219 Rect
10345 End
10346
10347 Begin %I Text
10348 %I cfg Black
10349 0 0 0 SetCFg
10350 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10351 Courier 10 SetF
10352 %I t
10353 [ 1 0 0 1 84 641 ] concat
10354 %I
10355 [
10356 (make_move\(p,move[i]\);)
10357 ] Text
10358 End
10359
10360 Begin %I Text
10361 %I cfg Black
10362 0 0 0 SetCFg
10363 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10364 Courier 10 SetF
10365 %I t
10366 [ 1 0 0 1 84 629 ] concat
10367 %I
10368 [
10369 (/* Check if move beats PV move by more than delta */)
10370 ] Text
10371 End
10372
10373 Begin %I Text
10374 %I cfg Black
10375 0 0 0 SetCFg
10376 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10377 Courier 10 SetF
10378 %I t
10379 [ 1 0 0 1 60 581 ] concat
10380 %I
10381 [
10382 (})
10383 ] Text
10384 End
10385
10386 Begin %I Text
10387 %I cfg Black
10388 0 0 0 SetCFg
10389 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10390 Courier 10 SetF
10391 %I t
10392 [ 1 0 0 1 84 539 ] concat
10393 %I
10394 [
10395 (bestmove = move[i];)
10396 ] Text
10397 End
10398
10399 Begin %I Text
10400 %I cfg Black
10401 0 0 0 SetCFg
10402 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10403 Courier 10 SetF
10404 %I t
10405 [ 1 0 0 1 84 527 ] concat
10406 %I
10407 [
10408 (lower = newscore;)
10409 ] Text
10410 End
10411
10412 Begin %I Text
10413 %I cfg Black
10414 0 0 0 SetCFg
10415 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10416 Courier 10 SetF
10417 %I t
10418 [ 1 0 0 1 60 503 ] concat
10419 %I
10420 [
10421 (})
10422 ] Text
10423 End
10424
10425 Begin %I Text
10426 %I cfg Black
10427 0 0 0 SetCFg
10428 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10429 Courier 10 SetF
10430 %I t
10431 [ 1 0 0 1 60 491 ] concat
10432 %I
10433 [
10434 (...)
10435 ] Text
10436 End
10437
10438 Begin %I Text
10439 %I cfg Black
10440 0 0 0 SetCFg
10441 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10442 Courier 10 SetF
10443 %I t
10444 [ 1 0 0 1 36 479 ] concat
10445 %I
10446 [
10447 (} /* function ROOT_PVS */)
10448 ] Text
10449 End
10450
10451 Begin %I Text
10452 %I cfg Black
10453 0 0 0 SetCFg
10454 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10455 Courier 10 SetF
10456 %I t
10457 [ 1 0 0 1 84 653 ] concat
10458 %I
10459 [
10460 (aphid_intnode_premove\(depth,&move[i]\);)
10461 ] Text
10462 End
10463
10464 Begin %I Text
10465 %I cfg Black
10466 0 0 0 SetCFg
10467 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10468 Courier 10 SetF
10469 %I t
10470 [ 1 0 0 1 84 593 ] concat
10471 %I
10472 [
10473 (unmake_move\(p,move[i]\);)
10474 ] Text
10475 End
10476
10477 Begin %I Text
10478 %I cfg Black
10479 0 0 0 SetCFg
10480 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10481 Courier 10 SetF
10482 %I t
10483 [ 1 0 0 1 210 605 ] concat
10484 %I
10485 [
10486 (-oldscore-delta-1, -oldscore-delta\);)
10487 ] Text
10488 End
10489
10490 Begin %I Text
10491 %I cfg Black
10492 0 0 0 SetCFg
10493 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10494 Courier 10 SetF
10495 %I t
10496 [ 1 0 0 1 84 617 ] concat
10497 %I
10498 [
10499 (newscore = -aphid_rootsearch\(depth+1, plytogo-1,)
10500 ] Text
10501 End
10502
10503 Begin %I Text
10504 %I cfg Black
10505 0 0 0 SetCFg
10506 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10507 Courier 10 SetF
10508 %I t
10509 [ 1 0 0 1 84 515 ] concat
10510 %I
10511 [
10512 (if \(newscore < beta\) { goto search_best_move; })
10513 ] Text
10514 End
10515
10516 Begin %I Text
10517 %I cfg Black
10518 0 0 0 SetCFg
10519 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10520 Courier 10 SetF
10521 %I t
10522 [ 1 0 0 1 84 551 ] concat
10523 %I
10524 [
10525 (/* set new best move and score and research \(if necc.\) */)
10526 ] Text
10527 End
10528
10529 Begin %I Text
10530 %I cfg Black
10531 0 0 0 SetCFg
10532 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10533 Courier 10 SetF
10534 %I t
10535 [ 1 0 0 1 60 665 ] concat
10536 %I
10537 [
10538 (for\(i=2;\(i<=width && newscore <= oldscore+delta; i++\) {)
10539 ] Text
10540 End
10541
10542 Begin %I Text
10543 %I cfg Black
10544 0 0 0 SetCFg
10545 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10546 Courier 10 SetF
10547 %I t
10548 [ 1 0 0 1 60 677 ] concat
10549 %I
10550 [
10551 (newscore = oldscore;)
10552 ] Text
10553 End
10554
10555 Begin %I Text
10556 %I cfg Black
10557 0 0 0 SetCFg
10558 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10559 Courier 10 SetF
10560 %I t
10561 [ 1 0 0 1 60 563 ] concat
10562 %I
10563 [
10564 (if \(newscore > oldscore+delta\) {)
10565 ] Text
10566 End
10567
10568 Begin %I Text
10569 %I cfg Black
10570 0 0 0 SetCFg
10571 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10572 Courier 10 SetF
10573 %I t
10574 [ 1 0 0 1 60 711 ] concat
10575 %I
10576 [
10577 (/* Search other moves at root, and only switch if move beats */)
10578 ] Text
10579 End
10580
10581 Begin %I Text
10582 %I cfg Black
10583 0 0 0 SetCFg
10584 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
10585 Courier 10 SetF
10586 %I t
10587 [ 1 0 0 1 59 698 ] concat
10588 %I
10589 [
10590 (/* PV score \(oldscore\) by a small margin \(delta\)             */)
10591 ] Text
10592 End
10593
10594 End %I eop
10595
10596 showpage
10597
10598
10599 end
10600 %%EndDocument
10601
10602  endTexFig
10603  222 2010 a Fn(Figure)g(5:)k(Ho)o(w)c(APHID)g(Mo)q(di\014es)g(Sp)q
10604 (ecial)g(Handling)e(Of)i(The)h(Ro)q(ot)e(Of)h(The)g(Game)e(T)m(ree)489
10605 2120 y
10606  15345567 7104430 1447198 41639854 22102671 51178209 startTexFig
10607  489 2120 a
10608 %%BeginDocument: code7.ps
10609
10610 /arrowHeight 10 def
10611 /arrowWidth 5 def
10612
10613 /IdrawDict 51 dict def
10614 IdrawDict begin
10615
10616 /reencodeISO {
10617 dup dup findfont dup length dict begin
10618 { 1 index /FID ne { def }{ pop pop } ifelse } forall
10619 /Encoding ISOLatin1Encoding def
10620 currentdict end definefont
10621 } def
10622
10623 /ISOLatin1Encoding [
10624 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
10625 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
10626 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
10627 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
10628 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
10629 /parenleft/parenright/asterisk/plus/comma/minus/period/slash
10630 /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
10631 /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
10632 /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
10633 /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
10634 /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
10635 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
10636 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
10637 /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
10638 /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
10639 /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
10640 /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
10641 /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
10642 /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
10643 /guillemotright/onequarter/onehalf/threequarters/questiondown
10644 /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
10645 /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
10646 /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
10647 /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
10648 /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
10649 /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
10650 /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
10651 /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
10652 /yacute/thorn/ydieresis
10653 ] def
10654 /Courier reencodeISO def
10655
10656 /none null def
10657 /numGraphicParameters 17 def
10658 /stringLimit 65535 def
10659
10660 /Begin {
10661 save
10662 numGraphicParameters dict begin
10663 } def
10664
10665 /End {
10666 end
10667 restore
10668 } def
10669
10670 /SetB {
10671 dup type /nulltype eq {
10672 pop
10673 false /brushRightArrow idef
10674 false /brushLeftArrow idef
10675 true /brushNone idef
10676 } {
10677 /brushDashOffset idef
10678 /brushDashArray idef
10679 0 ne /brushRightArrow idef
10680 0 ne /brushLeftArrow idef
10681 /brushWidth idef
10682 false /brushNone idef
10683 } ifelse
10684 } def
10685
10686 /SetCFg {
10687 /fgblue idef
10688 /fggreen idef
10689 /fgred idef
10690 } def
10691
10692 /SetCBg {
10693 /bgblue idef
10694 /bggreen idef
10695 /bgred idef
10696 } def
10697
10698 /SetF {
10699 /printSize idef
10700 /printFont idef
10701 } def
10702
10703 /SetP {
10704 dup type /nulltype eq {
10705 pop true /patternNone idef
10706 } {
10707 dup -1 eq {
10708 /patternGrayLevel idef
10709 /patternString idef
10710 } {
10711 /patternGrayLevel idef
10712 } ifelse
10713 false /patternNone idef
10714 } ifelse
10715 } def
10716
10717 /BSpl {
10718 0 begin
10719 storexyn
10720 newpath
10721 n 1 gt {
10722 0 0 0 0 0 0 1 1 true subspline
10723 n 2 gt {
10724 0 0 0 0 1 1 2 2 false subspline
10725 1 1 n 3 sub {
10726 /i exch def
10727 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
10728 } for
10729 n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
10730 } if
10731 n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
10732 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
10733 brushNone not { istroke } if
10734 0 0 1 1 leftarrow
10735 n 2 sub dup n 1 sub dup rightarrow
10736 } if
10737 end
10738 } dup 0 4 dict put def
10739
10740 /Circ {
10741 newpath
10742 0 360 arc
10743 patternNone not { ifill } if
10744 brushNone not { istroke } if
10745 } def
10746
10747 /CBSpl {
10748 0 begin
10749 dup 2 gt {
10750 storexyn
10751 newpath
10752 n 1 sub dup 0 0 1 1 2 2 true subspline
10753 1 1 n 3 sub {
10754 /i exch def
10755 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
10756 } for
10757 n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
10758 n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
10759 patternNone not { ifill } if
10760 brushNone not { istroke } if
10761 } {
10762 Poly
10763 } ifelse
10764 end
10765 } dup 0 4 dict put def
10766
10767 /Elli {
10768 0 begin
10769 newpath
10770 4 2 roll
10771 translate
10772 scale
10773 0 0 1 0 360 arc
10774 patternNone not { ifill } if
10775 brushNone not { istroke } if
10776 end
10777 } dup 0 1 dict put def
10778
10779 /Line {
10780 0 begin
10781 2 storexyn
10782 newpath
10783 x 0 get y 0 get moveto
10784 x 1 get y 1 get lineto
10785 brushNone not { istroke } if
10786 0 0 1 1 leftarrow
10787 0 0 1 1 rightarrow
10788 end
10789 } dup 0 4 dict put def
10790
10791 /MLine {
10792 0 begin
10793 storexyn
10794 newpath
10795 n 1 gt {
10796 x 0 get y 0 get moveto
10797 1 1 n 1 sub {
10798 /i exch def
10799 x i get y i get lineto
10800 } for
10801 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
10802 brushNone not { istroke } if
10803 0 0 1 1 leftarrow
10804 n 2 sub dup n 1 sub dup rightarrow
10805 } if
10806 end
10807 } dup 0 4 dict put def
10808
10809 /Poly {
10810 3 1 roll
10811 newpath
10812 moveto
10813 -1 add
10814 { lineto } repeat
10815 closepath
10816 patternNone not { ifill } if
10817 brushNone not { istroke } if
10818 } def
10819
10820 /Rect {
10821 0 begin
10822 /t exch def
10823 /r exch def
10824 /b exch def
10825 /l exch def
10826 newpath
10827 l b moveto
10828 l t lineto
10829 r t lineto
10830 r b lineto
10831 closepath
10832 patternNone not { ifill } if
10833 brushNone not { istroke } if
10834 end
10835 } dup 0 4 dict put def
10836
10837 /Text {
10838 ishow
10839 } def
10840
10841 /idef {
10842 dup where { pop pop pop } { exch def } ifelse
10843 } def
10844
10845 /ifill {
10846 0 begin
10847 gsave
10848 patternGrayLevel -1 ne {
10849 fgred bgred fgred sub patternGrayLevel mul add
10850 fggreen bggreen fggreen sub patternGrayLevel mul add
10851 fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
10852 eofill
10853 } {
10854 eoclip
10855 originalCTM setmatrix
10856 pathbbox /t exch def /r exch def /b exch def /l exch def
10857 /w r l sub ceiling cvi def
10858 /h t b sub ceiling cvi def
10859 /imageByteWidth w 8 div ceiling cvi def
10860 /imageHeight h def
10861 bgred bggreen bgblue setrgbcolor
10862 eofill
10863 fgred fggreen fgblue setrgbcolor
10864 w 0 gt h 0 gt and {
10865 l b translate w h scale
10866 w h true [w 0 0 h neg 0 h] { patternproc } imagemask
10867 } if
10868 } ifelse
10869 grestore
10870 end
10871 } dup 0 8 dict put def
10872
10873 /istroke {
10874 gsave
10875 brushDashOffset -1 eq {
10876 [] 0 setdash
10877 1 setgray
10878 } {
10879 brushDashArray brushDashOffset setdash
10880 fgred fggreen fgblue setrgbcolor
10881 } ifelse
10882 brushWidth setlinewidth
10883 originalCTM setmatrix
10884 stroke
10885 grestore
10886 } def
10887
10888 /ishow {
10889 0 begin
10890 gsave
10891 fgred fggreen fgblue setrgbcolor
10892 /fontDict printFont printSize scalefont dup setfont def
10893 /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
10894 transform exch pop def
10895 /vertoffset 1 printSize sub descender sub def {
10896 0 vertoffset moveto show
10897 /vertoffset vertoffset printSize sub def
10898 } forall
10899 grestore
10900 end
10901 } dup 0 3 dict put def
10902 /patternproc {
10903 0 begin
10904 /patternByteLength patternString length def
10905 /patternHeight patternByteLength 8 mul sqrt cvi def
10906 /patternWidth patternHeight def
10907 /patternByteWidth patternWidth 8 idiv def
10908 /imageByteMaxLength imageByteWidth imageHeight mul
10909 stringLimit patternByteWidth sub min def
10910 /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
10911 patternHeight mul patternHeight max def
10912 /imageHeight imageHeight imageMaxHeight sub store
10913 /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
10914 0 1 imageMaxHeight 1 sub {
10915 /y exch def
10916 /patternRow y patternByteWidth mul patternByteLength mod def
10917 /patternRowString patternString patternRow patternByteWidth getinterval def
10918 /imageRow y imageByteWidth mul def
10919 0 patternByteWidth imageByteWidth 1 sub {
10920 /x exch def
10921 imageString imageRow x add patternRowString putinterval
10922 } for
10923 } for
10924 imageString
10925 end
10926 } dup 0 12 dict put def
10927
10928 /min {
10929 dup 3 2 roll dup 4 3 roll lt { exch } if pop
10930 } def
10931
10932 /max {
10933 dup 3 2 roll dup 4 3 roll gt { exch } if pop
10934 } def
10935
10936 /midpoint {
10937 0 begin
10938 /y1 exch def
10939 /x1 exch def
10940 /y0 exch def
10941 /x0 exch def
10942 x0 x1 add 2 div
10943 y0 y1 add 2 div
10944 end
10945 } dup 0 4 dict put def
10946
10947 /thirdpoint {
10948 0 begin
10949 /y1 exch def
10950 /x1 exch def
10951 /y0 exch def
10952 /x0 exch def
10953 x0 2 mul x1 add 3 div
10954 y0 2 mul y1 add 3 div
10955 end
10956 } dup 0 4 dict put def
10957
10958 /subspline {
10959 0 begin
10960 /movetoNeeded exch def
10961 y exch get /y3 exch def
10962 x exch get /x3 exch def
10963 y exch get /y2 exch def
10964 x exch get /x2 exch def
10965 y exch get /y1 exch def
10966 x exch get /x1 exch def
10967 y exch get /y0 exch def
10968 x exch get /x0 exch def
10969 x1 y1 x2 y2 thirdpoint
10970 /p1y exch def
10971 /p1x exch def
10972 x2 y2 x1 y1 thirdpoint
10973 /p2y exch def
10974 /p2x exch def
10975 x1 y1 x0 y0 thirdpoint
10976 p1x p1y midpoint
10977 /p0y exch def
10978 /p0x exch def
10979 x2 y2 x3 y3 thirdpoint
10980 p2x p2y midpoint
10981 /p3y exch def
10982 /p3x exch def
10983 movetoNeeded { p0x p0y moveto } if
10984 p1x p1y p2x p2y p3x p3y curveto
10985 end
10986 } dup 0 17 dict put def
10987
10988 /storexyn {
10989 /n exch def
10990 /y n array def
10991 /x n array def
10992 n 1 sub -1 0 {
10993 /i exch def
10994 y i 3 2 roll put
10995 x i 3 2 roll put
10996 } for
10997 } def
10998
10999 /SSten {
11000 fgred fggreen fgblue setrgbcolor
11001 dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
11002 } def
11003
11004 /FSten {
11005 dup 3 -1 roll dup 4 1 roll exch
11006 newpath
11007 0 0 moveto
11008 dup 0 exch lineto
11009 exch dup 3 1 roll exch lineto
11010 0 lineto
11011 closepath
11012 bgred bggreen bgblue setrgbcolor
11013 eofill
11014 SSten
11015 } def
11016
11017 /Rast {
11018 exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
11019 } def
11020
11021
11022 /arrowhead {
11023 0 begin
11024 transform originalCTM itransform
11025 /taily exch def
11026 /tailx exch def
11027 transform originalCTM itransform
11028 /tipy exch def
11029 /tipx exch def
11030 /dy tipy taily sub def
11031 /dx tipx tailx sub def
11032 /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
11033 gsave
11034 originalCTM setmatrix
11035 tipx tipy translate
11036 angle rotate
11037 newpath
11038 arrowHeight neg arrowWidth 2 div moveto
11039 0 0 lineto
11040 arrowHeight neg arrowWidth 2 div neg lineto
11041 patternNone not {
11042 originalCTM setmatrix
11043 /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
11044 arrowWidth div def
11045 /padtail brushWidth 2 div def
11046 tipx tipy translate
11047 angle rotate
11048 padtip 0 translate
11049 arrowHeight padtip add padtail add arrowHeight div dup scale
11050 arrowheadpath
11051 ifill
11052 } if
11053 brushNone not {
11054 originalCTM setmatrix
11055 tipx tipy translate
11056 angle rotate
11057 arrowheadpath
11058 istroke
11059 } if
11060 grestore
11061 end
11062 } dup 0 9 dict put def
11063
11064 /arrowheadpath {
11065 newpath
11066 arrowHeight neg arrowWidth 2 div moveto
11067 0 0 lineto
11068 arrowHeight neg arrowWidth 2 div neg lineto
11069 } def
11070
11071 /leftarrow {
11072 0 begin
11073 y exch get /taily exch def
11074 x exch get /tailx exch def
11075 y exch get /tipy exch def
11076 x exch get /tipx exch def
11077 brushLeftArrow { tipx tipy tailx taily arrowhead } if
11078 end
11079 } dup 0 4 dict put def
11080
11081 /rightarrow {
11082 0 begin
11083 y exch get /tipy exch def
11084 x exch get /tipx exch def
11085 y exch get /taily exch def
11086 x exch get /tailx exch def
11087 brushRightArrow { tipx tipy tailx taily arrowhead } if
11088 end
11089 } dup 0 4 dict put def
11090
11091
11092 %I Idraw 10 Grid 8 8 
11093
11094
11095 Begin
11096 %I b u
11097 %I cfg u
11098 %I cbg u
11099 %I f u
11100 %I p u
11101 %I t
11102 [ 0.799705 0 0 0.799705 0 0 ] concat
11103 /originalCTM matrix currentmatrix def
11104
11105 Begin %I Rect
11106 none SetB %I b n
11107 %I cfg Black
11108 0 0 0 SetCFg
11109 %I cbg White
11110 1 1 1 SetCBg
11111 %I p
11112 0.95 SetP
11113 %I t
11114 [ 1 -0 -0 1 -125 612 ] concat
11115 %I
11116 161 216 539 228 Rect
11117 End
11118
11119 Begin %I Rect
11120 none SetB %I b n
11121 %I cfg Black
11122 0 0 0 SetCFg
11123 %I cbg White
11124 1 1 1 SetCBg
11125 %I p
11126 0.95 SetP
11127 %I t
11128 [ 1 -0 -0 1 -125 612 ] concat
11129 %I
11130 161 276 539 288 Rect
11131 End
11132
11133 Begin %I Text
11134 %I cfg Black
11135 0 0 0 SetCFg
11136 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11137 Courier 10 SetF
11138 %I t
11139 [ 1 0 0 1 42 963 ] concat
11140 %I
11141 [
11142 (int main\(argc, argv\))
11143 ] Text
11144 End
11145
11146 Begin %I Text
11147 %I cfg Black
11148 0 0 0 SetCFg
11149 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11150 Courier 10 SetF
11151 %I t
11152 [ 1 0 0 1 42 951 ] concat
11153 %I
11154 [
11155 (int argc;)
11156 ] Text
11157 End
11158
11159 Begin %I Text
11160 %I cfg Black
11161 0 0 0 SetCFg
11162 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11163 Courier 10 SetF
11164 %I t
11165 [ 1 0 0 1 42 939 ] concat
11166 %I
11167 [
11168 (char *argv[];)
11169 ] Text
11170 End
11171
11172 Begin %I Text
11173 %I cfg Black
11174 0 0 0 SetCFg
11175 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11176 Courier 10 SetF
11177 %I t
11178 [ 1 0 0 1 42 927 ] concat
11179 %I
11180 [
11181 ({)
11182 ] Text
11183 End
11184
11185 Begin %I Text
11186 %I cfg Black
11187 0 0 0 SetCFg
11188 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11189 Courier 10 SetF
11190 %I t
11191 [ 1 0 0 1 72 915 ] concat
11192 %I
11193 [
11194 (/* Initialization required by any process in system */)
11195 ] Text
11196 End
11197
11198 Begin %I Text
11199 %I cfg Black
11200 0 0 0 SetCFg
11201 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11202 Courier 10 SetF
11203 %I t
11204 [ 1 0 0 1 72 867 ] concat
11205 %I
11206 [
11207 (/* Initialization required only by the master process */)
11208 ] Text
11209 End
11210
11211 Begin %I Text
11212 %I cfg Black
11213 0 0 0 SetCFg
11214 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11215 Courier 10 SetF
11216 %I t
11217 [ 1 0 0 1 72 825 ] concat
11218 %I
11219 [
11220 (exit\(0\);)
11221 ] Text
11222 End
11223
11224 Begin %I Text
11225 %I cfg Black
11226 0 0 0 SetCFg
11227 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11228 Courier 10 SetF
11229 %I t
11230 [ 1 0 0 1 42 813 ] concat
11231 %I
11232 [
11233 (})
11234 ] Text
11235 End
11236
11237 Begin %I Text
11238 %I cfg Black
11239 0 0 0 SetCFg
11240 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11241 Courier 10 SetF
11242 %I t
11243 [ 1 0 0 1 72 855 ] concat
11244 %I
11245 [
11246 (/* Play game */)
11247 ] Text
11248 End
11249
11250 Begin %I Rect
11251 %I b 65535
11252 1 0 0 [] 0 SetB
11253 %I cfg Black
11254 0 0 0 SetCFg
11255 %I cbg White
11256 1 1 1 SetCBg
11257 none SetP %I p n
11258 %I t
11259 [ 0.997449 -0 -0 0.962766 -124.605 625.404 ] concat
11260 %I
11261 155 174 545 360 Rect
11262 End
11263
11264 Begin %I Text
11265 %I cfg Black
11266 0 0 0 SetCFg
11267 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11268 Courier 10 SetF
11269 %I t
11270 [ 1 0 0 1 72 885 ] concat
11271 %I
11272 [
11273 (/* Only the absolute master process gets here */)
11274 ] Text
11275 End
11276
11277 Begin %I Text
11278 %I cfg Black
11279 0 0 0 SetCFg
11280 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11281 Courier 10 SetF
11282 %I t
11283 [ 1 0 0 1 72 897 ] concat
11284 %I
11285 [
11286 (aphid_startup\(argv\);)
11287 ] Text
11288 End
11289
11290 Begin %I Text
11291 %I cfg Black
11292 0 0 0 SetCFg
11293 %I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-*
11294 Courier 10 SetF
11295 %I t
11296 [ 1 0 0 1 72 837 ] concat
11297 %I
11298 [
11299 (aphid_exit\(\);)
11300 ] Text
11301 End
11302
11303 End %I eop
11304
11305 showpage
11306
11307
11308 end
11309 %%EndDocument
11310
11311  endTexFig
11312  503 2661 a Fn(Figure)i(6:)k(Ho)o(w)13 b(APHID)h(Mo)q(di\014es)h(The)f
11313 (Main)f(Program)954 2828 y(11)p eop
11314 %%Page: 12 12
11315 12 11 bop 336 154 a
11316  20176580 14208860 3289088 3289088 50651955 36443095 startTexFig
11317  336 154 a
11318 %%BeginDocument: graph5.ps
11319 /gnudict 40 dict def
11320 gnudict begin
11321 /Color false def
11322 /Solid false def
11323 /gnulinewidth 5.000 def
11324 /vshift -46 def
11325 /dl {10 mul} def
11326 /hpt 31.5 def
11327 /vpt 31.5 def
11328 /M {moveto} bind def
11329 /L {lineto} bind def
11330 /R {rmoveto} bind def
11331 /V {rlineto} bind def
11332 /vpt2 vpt 2 mul def
11333 /hpt2 hpt 2 mul def
11334 /Lshow { currentpoint stroke M
11335   0 vshift R show } def
11336 /Rshow { currentpoint stroke M
11337   dup stringwidth pop neg vshift R show } def
11338 /Cshow { currentpoint stroke M
11339   dup stringwidth pop -2 div vshift R show } def
11340 /DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
11341  {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
11342 /BL { stroke gnulinewidth 2 mul setlinewidth } def
11343 /AL { stroke gnulinewidth 2 div setlinewidth } def
11344 /PL { stroke gnulinewidth setlinewidth } def
11345 /LTb { BL [] 0 0 0 DL } def
11346 /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
11347 /LT0 { PL [] 0 1 0 DL } def
11348 /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
11349 /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
11350 /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
11351 /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
11352 /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
11353 /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
11354 /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
11355 /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
11356 /P { stroke [] 0 setdash
11357   currentlinewidth 2 div sub M
11358   0 currentlinewidth V stroke } def
11359 /D { stroke [] 0 setdash 2 copy vpt add M
11360   hpt neg vpt neg V hpt vpt neg V
11361   hpt vpt V hpt neg vpt V closepath stroke
11362   P } def
11363 /A { stroke [] 0 setdash vpt sub M 0 vpt2 V
11364   currentpoint stroke M
11365   hpt neg vpt neg R hpt2 0 V stroke
11366   } def
11367 /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
11368   0 vpt2 neg V hpt2 0 V 0 vpt2 V
11369   hpt2 neg 0 V closepath stroke
11370   P } def
11371 /C { stroke [] 0 setdash exch hpt sub exch vpt add M
11372   hpt2 vpt2 neg V currentpoint stroke M
11373   hpt2 neg 0 R hpt2 vpt2 V stroke } def
11374 /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
11375   hpt neg vpt -1.62 mul V
11376   hpt 2 mul 0 V
11377   hpt neg vpt 1.62 mul V closepath stroke
11378   P  } def
11379 /S { 2 copy A C} def
11380 end
11381 gnudict begin
11382 gsave
11383 50 50 translate
11384 0.100 0.100 scale
11385 0 setgray
11386 /Helvetica findfont 140 scalefont setfont
11387 newpath
11388 LTa
11389 840 351 M
11390 6129 0 V
11391 840 351 M
11392 0 4618 V
11393 LTb
11394 840 351 M
11395 63 0 V
11396 6066 0 R
11397 -63 0 V
11398 756 351 M
11399 (0) Rshow
11400 840 928 M
11401 63 0 V
11402 6066 0 R
11403 -63 0 V
11404 756 928 M
11405 (1) Rshow
11406 840 1506 M
11407 63 0 V
11408 6066 0 R
11409 -63 0 V
11410 -6150 0 R
11411 (2) Rshow
11412 840 2083 M
11413 63 0 V
11414 6066 0 R
11415 -63 0 V
11416 -6150 0 R
11417 (3) Rshow
11418 840 2660 M
11419 63 0 V
11420 6066 0 R
11421 -63 0 V
11422 -6150 0 R
11423 (4) Rshow
11424 840 3237 M
11425 63 0 V
11426 6066 0 R
11427 -63 0 V
11428 -6150 0 R
11429 (5) Rshow
11430 840 3815 M
11431 63 0 V
11432 6066 0 R
11433 -63 0 V
11434 -6150 0 R
11435 (6) Rshow
11436 840 4392 M
11437 63 0 V
11438 6066 0 R
11439 -63 0 V
11440 -6150 0 R
11441 (7) Rshow
11442 840 4969 M
11443 63 0 V
11444 6066 0 R
11445 -63 0 V
11446 -6150 0 R
11447 (8) Rshow
11448 840 351 M
11449 0 63 V
11450 0 4555 R
11451 0 -63 V
11452 840 211 M
11453 (0) Cshow
11454 2372 351 M
11455 0 63 V
11456 0 4555 R
11457 0 -63 V
11458 0 -4695 R
11459 (5) Cshow
11460 3905 351 M
11461 0 63 V
11462 0 4555 R
11463 0 -63 V
11464 0 -4695 R
11465 (10) Cshow
11466 5437 351 M
11467 0 63 V
11468 0 4555 R
11469 0 -63 V
11470 0 -4695 R
11471 (15) Cshow
11472 6969 351 M
11473 0 63 V
11474 0 4555 R
11475 0 -63 V
11476 0 -4695 R
11477 (20) Cshow
11478 840 351 M
11479 6129 0 V
11480 0 4618 V
11481 -6129 0 V
11482 840 351 L
11483 140 2660 M
11484 currentpoint gsave translate 90 rotate 0 0 M
11485 (Speedup) Cshow
11486 grestore
11487 3904 71 M
11488 (Number of Processors) Cshow
11489 LT0
11490 6486 4766 M
11491 (5 ply) Rshow
11492 6570 4766 M
11493 252 0 V
11494 2066 790 M
11495 3292 980 L
11496 1225 41 V
11497 1226 75 V
11498 6654 4766 D
11499 2066 790 D
11500 3292 980 D
11501 4517 1021 D
11502 5743 1096 D
11503 LT1
11504 6486 4626 M
11505 (6 ply) Rshow
11506 6570 4626 M
11507 252 0 V
11508 2066 1067 M
11509 1226 467 V
11510 1225 266 V
11511 1226 300 V
11512 6654 4626 A
11513 2066 1067 A
11514 3292 1534 A
11515 4517 1800 A
11516 5743 2100 A
11517 LT2
11518 6486 4486 M
11519 (7 ply) Rshow
11520 6570 4486 M
11521 252 0 V
11522 2066 1055 M
11523 1226 664 V
11524 1225 491 V
11525 1226 548 V
11526 6654 4486 B
11527 2066 1055 B
11528 3292 1719 B
11529 4517 2210 B
11530 5743 2758 B
11531 LT3
11532 6486 4346 M
11533 (8 ply) Rshow
11534 6570 4346 M
11535 252 0 V
11536 2066 1176 M
11537 3292 2181 L
11538 1225 877 V
11539 1226 768 V
11540 6654 4346 C
11541 2066 1176 C
11542 3292 2181 C
11543 4517 3058 C
11544 5743 3826 C
11545 stroke
11546 grestore
11547 end
11548 showpage
11549 %%EndDocument
11550
11551  endTexFig
11552  394 1145 a Fn(Figure)14 b(7:)j(Sp)q(eedups)f(at)e(V)m(arious)f(Depths)
11553 i(for)e(APHID)h(in)g Fj(TheTurk)62 1278 y Fn(The)f(24)f(p)q(ositions)g
11554 (ha)o(v)o(e)h(b)q(een)g(sorted)h(b)o(y)e(the)h(size)g(of)f(the)h
11555 (sequen)o(tial)g(searc)o(h)g(tree,)h(and)e(divided)g(in)o(to)g(three)i
11556 (groups)0 1340 y(of)f(equal)h(size.)19 b(Figure)14 b(8)f(illustrates)h
11557 (the)h(a)o(v)o(erage)f(sp)q(eedup)h(at)f(8)f(ply)h(for)f(eac)o(h)i
11558 (third)f(of)f(the)h(complete)g(test)h(set.)62 1402 y(The)f(o)o(v)o
11559 (erheads)g(in)f(the)g(algorithm)e(are)j(illustrated)f(in)f(Figure)i(9)f
11560 (as)g(p)q(ercen)o(tages)i(of)e(the)h(sequen)o(tial)f(time)f(required)0
11561 1464 y(to)18 b(searc)o(h)i(all)d(24)h(p)q(ositions.)31
11562 b(The)19 b Fl(total)g(overhe)n(ad)f Fn(represen)o(ts)j(the)e
11563 (additional)e(computing)g(time)g(required)i(b)o(y)f(the)0
11564 1527 y(parallel)13 b(algorithm)e(to)j(ac)o(hiev)o(e)g(the)g(same)f
11565 (result:)486 1638 y(total)c(o)o(v)o(erhead)j(=)801 1610
11566 y(\(parallel)d(time)17 b Fk(\003)h Fn(n\))9 b Fk(\000)h
11567 Fn(sequen)o(tial)f(time)p 801 1629 658 2 v 995 1667 a(sequen)o(tial)g
11568 (time)0 1749 y(where)15 b Fm(n)f Fn(is)g(the)g(n)o(um)o(b)q(er)f(of)g
11569 (pro)q(cessors.)21 b(The)14 b(total)f(o)o(v)o(erhead)h(is)g(also)f(a)h
11570 (sum)f(of)g(the)i(four)e(o)o(v)o(erheads:)78 1853 y(total)8
11571 b(o)o(v)o(erhead)k(=)g(master)d(o)o(v)o(erhead)g(+)h(parallelization)d
11572 (o)o(v)o(erhead)j(+)f(sp)q(eculativ)o(e)h(searc)o(h)h(+)e(searc)o(h)i
11573 (o)o(v)o(erhead)p Fm(:)62 1957 y Fn(The)17 b Fl(master)f(overhe)n(ad)h
11574 Fn(is)f(the)g(appro)o(ximate)e(p)q(enalt)o(y)i(incurred)h(b)o(y)f(ha)o
11575 (ving)f(a)h(single)g(pro)q(cessor)h(b)q(eing)f(allo)q(cated)0
11576 2019 y(completely)d(to)g(the)i(handling)e(of)g(the)h(master.)k(This)c
11577 (is)f(not)h(simply)1123 2003 y Fi(1)p 1121 2010 21 2
11578 v 1121 2034 a Fb(n)1147 2019 y Fn(,)f(but)h(is)g(the)g(time)f(tak)o(en)
11579 h(a)o(w)o(a)o(y)f(b)o(y)g(the)i(master:)655 2137 y(master)9
11580 b(o)o(v)o(erhead)j(=)1031 2109 y(parallel)c(time)p 1008
11581 2128 271 2 v 1008 2166 a(sequen)o(tial)h(time)1283 2137
11582 y Fm(:)62 2248 y Fn(The)18 b Fl(p)n(ar)n(al)r(lelization)e(overhe)n(ad)
11583 i Fn(is)f(the)g(p)q(enalt)o(y)g(incurred)h(b)o(y)f(the)g(APHID-library)
11584 g(on)f(the)i(sp)q(eed)g(of)f(the)g(sla)o(v)o(es.)0 2311
11585 y(In)e(the)h(parallel)f(algorithm,)d(the)k(sla)o(v)o(es)f(w)o(ere)i
11586 (visiting)d(2000)g(no)q(des)i(p)q(er)h(second.)23 b(The)16
11587 b(di\013erence)h(b)q(et)o(w)o(een)g(this)e(rate)0 2373
11588 y(and)g(the)g(sequen)o(tial)g(program's)e(no)q(de)i(rate)g(is)f(deriv)o
11589 (ed)i(partially)d(from)g(the)i(o)o(v)o(erhead)g(of)f(using)g(PVM,)h
11590 (and)g(partially)0 2435 y(from)f(the)i(w)o(ork-sc)o(heduling)f
11591 (algorithm)e(on)i(eac)o(h)h(sla)o(v)o(e.)23 b(In)15 b(the)h(authors')g
11592 (exp)q(erience,)h(this)f(complexit)o(y)d(o)o(v)o(erhead)j(is)0
11593 2497 y(appro)o(ximately)11 b(the)k(same)e(as)h(implemen)o(tatio)o(ns)e
11594 (of)h(YBW)h(on)g(similar)d(hardw)o(are.)62 2560 y(The)16
11595 b Fl(se)n(ar)n(ch)f(overhe)n(ad)g Fn(starts)h(at)f(70\045)f(and)g
11596 (increases)j(v)o(ery)e(gradually)f(as)g(w)o(e)i(increase)g(from)d(4)h
11597 (to)h(16)f(pro)q(cessors.)0 2622 y(Most)i(of)g(the)h(searc)o(h)g(o)o(v)
11598 o(erhead)g(is)f(incurred)h(b)o(y)f(attempting)f(to)h(do)g(searc)o(hes)i
11599 (b)q(efore)f(the)g(correct)g(searc)o(h)h(windo)o(w)d(is)0
11600 2684 y(a)o(v)n(ailable.)g(Th)o(us,)c(the)h(sla)o(v)o(es)f(use)h
11601 Fm(\013\014)h Fn(searc)o(h)g(windo)o(ws)d(that)h(are)h(larger)f(than)g
11602 (those)h(in)e(the)i(sequen)o(tial)f(program.)16 b(Most)954
11603 2828 y(12)p eop
11604 %%Page: 13 13
11605 13 12 bop 336 283 a
11606  20176580 14208860 3289088 3289088 50651955 36443095 startTexFig
11607  336 283 a
11608 %%BeginDocument: graph6.ps
11609 /gnudict 40 dict def
11610 gnudict begin
11611 /Color false def
11612 /Solid false def
11613 /gnulinewidth 5.000 def
11614 /vshift -46 def
11615 /dl {10 mul} def
11616 /hpt 31.5 def
11617 /vpt 31.5 def
11618 /M {moveto} bind def
11619 /L {lineto} bind def
11620 /R {rmoveto} bind def
11621 /V {rlineto} bind def
11622 /vpt2 vpt 2 mul def
11623 /hpt2 hpt 2 mul def
11624 /Lshow { currentpoint stroke M
11625   0 vshift R show } def
11626 /Rshow { currentpoint stroke M
11627   dup stringwidth pop neg vshift R show } def
11628 /Cshow { currentpoint stroke M
11629   dup stringwidth pop -2 div vshift R show } def
11630 /DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
11631  {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
11632 /BL { stroke gnulinewidth 2 mul setlinewidth } def
11633 /AL { stroke gnulinewidth 2 div setlinewidth } def
11634 /PL { stroke gnulinewidth setlinewidth } def
11635 /LTb { BL [] 0 0 0 DL } def
11636 /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
11637 /LT0 { PL [] 0 1 0 DL } def
11638 /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
11639 /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
11640 /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
11641 /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
11642 /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
11643 /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
11644 /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
11645 /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
11646 /P { stroke [] 0 setdash
11647   currentlinewidth 2 div sub M
11648   0 currentlinewidth V stroke } def
11649 /D { stroke [] 0 setdash 2 copy vpt add M
11650   hpt neg vpt neg V hpt vpt neg V
11651   hpt vpt V hpt neg vpt V closepath stroke
11652   P } def
11653 /A { stroke [] 0 setdash vpt sub M 0 vpt2 V
11654   currentpoint stroke M
11655   hpt neg vpt neg R hpt2 0 V stroke
11656   } def
11657 /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
11658   0 vpt2 neg V hpt2 0 V 0 vpt2 V
11659   hpt2 neg 0 V closepath stroke
11660   P } def
11661 /C { stroke [] 0 setdash exch hpt sub exch vpt add M
11662   hpt2 vpt2 neg V currentpoint stroke M
11663   hpt2 neg 0 R hpt2 vpt2 V stroke } def
11664 /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
11665   hpt neg vpt -1.62 mul V
11666   hpt 2 mul 0 V
11667   hpt neg vpt 1.62 mul V closepath stroke
11668   P  } def
11669 /S { 2 copy A C} def
11670 end
11671 gnudict begin
11672 gsave
11673 50 50 translate
11674 0.100 0.100 scale
11675 0 setgray
11676 /Helvetica findfont 140 scalefont setfont
11677 newpath
11678 LTa
11679 840 351 M
11680 6129 0 V
11681 840 351 M
11682 0 4618 V
11683 LTb
11684 840 351 M
11685 63 0 V
11686 6066 0 R
11687 -63 0 V
11688 756 351 M
11689 (0) Rshow
11690 840 928 M
11691 63 0 V
11692 6066 0 R
11693 -63 0 V
11694 756 928 M
11695 (1) Rshow
11696 840 1506 M
11697 63 0 V
11698 6066 0 R
11699 -63 0 V
11700 -6150 0 R
11701 (2) Rshow
11702 840 2083 M
11703 63 0 V
11704 6066 0 R
11705 -63 0 V
11706 -6150 0 R
11707 (3) Rshow
11708 840 2660 M
11709 63 0 V
11710 6066 0 R
11711 -63 0 V
11712 -6150 0 R
11713 (4) Rshow
11714 840 3237 M
11715 63 0 V
11716 6066 0 R
11717 -63 0 V
11718 -6150 0 R
11719 (5) Rshow
11720 840 3815 M
11721 63 0 V
11722 6066 0 R
11723 -63 0 V
11724 -6150 0 R
11725 (6) Rshow
11726 840 4392 M
11727 63 0 V
11728 6066 0 R
11729 -63 0 V
11730 -6150 0 R
11731 (7) Rshow
11732 840 4969 M
11733 63 0 V
11734 6066 0 R
11735 -63 0 V
11736 -6150 0 R
11737 (8) Rshow
11738 840 351 M
11739 0 63 V
11740 0 4555 R
11741 0 -63 V
11742 840 211 M
11743 (0) Cshow
11744 2372 351 M
11745 0 63 V
11746 0 4555 R
11747 0 -63 V
11748 0 -4695 R
11749 (5) Cshow
11750 3905 351 M
11751 0 63 V
11752 0 4555 R
11753 0 -63 V
11754 0 -4695 R
11755 (10) Cshow
11756 5437 351 M
11757 0 63 V
11758 0 4555 R
11759 0 -63 V
11760 0 -4695 R
11761 (15) Cshow
11762 6969 351 M
11763 0 63 V
11764 0 4555 R
11765 0 -63 V
11766 0 -4695 R
11767 (20) Cshow
11768 840 351 M
11769 6129 0 V
11770 0 4618 V
11771 -6129 0 V
11772 840 351 L
11773 140 2660 M
11774 currentpoint gsave translate 90 rotate 0 0 M
11775 (Speedup) Cshow
11776 grestore
11777 3904 71 M
11778 (Number of Processors) Cshow
11779 LT0
11780 6486 4766 M
11781 (Small) Rshow
11782 6570 4766 M
11783 252 0 V
11784 2066 1136 M
11785 1226 797 V
11786 1225 698 V
11787 1226 641 V
11788 6654 4766 D
11789 2066 1136 D
11790 3292 1933 D
11791 4517 2631 D
11792 5743 3272 D
11793 LT1
11794 6486 4626 M
11795 (Medium) Rshow
11796 6570 4626 M
11797 252 0 V
11798 2066 1101 M
11799 3292 2146 L
11800 1225 681 V
11801 1226 809 V
11802 6654 4626 A
11803 2066 1101 A
11804 3292 2146 A
11805 4517 2827 A
11806 5743 3636 A
11807 LT2
11808 6486 4486 M
11809 (Large) Rshow
11810 6570 4486 M
11811 252 0 V
11812 2066 1234 M
11813 3292 2239 L
11814 4517 3272 L
11815 1226 756 V
11816 6654 4486 B
11817 2066 1234 B
11818 3292 2239 B
11819 4517 3272 B
11820 5743 4028 B
11821 stroke
11822 grestore
11823 end
11824 showpage
11825 %%EndDocument
11826
11827  endTexFig
11828  340 1274 a Fn(Figure)14 b(8:)k(Sp)q(eedups)d(for)f(Di\013eren)o(t)g
11829 (Size)h(Problems)e(at)h(8)f(Ply)h(in)f Fj(TheTurk)336
11830 1575 y
11831  20176580 14208860 3289088 3289088 50651955 36443095 startTexFig
11832  336 1575 a
11833 %%BeginDocument: graph4.ps
11834 /gnudict 40 dict def
11835 gnudict begin
11836 /Color false def
11837 /Solid false def
11838 /gnulinewidth 5.000 def
11839 /vshift -46 def
11840 /dl {10 mul} def
11841 /hpt 31.5 def
11842 /vpt 31.5 def
11843 /M {moveto} bind def
11844 /L {lineto} bind def
11845 /R {rmoveto} bind def
11846 /V {rlineto} bind def
11847 /vpt2 vpt 2 mul def
11848 /hpt2 hpt 2 mul def
11849 /Lshow { currentpoint stroke M
11850   0 vshift R show } def
11851 /Rshow { currentpoint stroke M
11852   dup stringwidth pop neg vshift R show } def
11853 /Cshow { currentpoint stroke M
11854   dup stringwidth pop -2 div vshift R show } def
11855 /DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
11856  {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
11857 /BL { stroke gnulinewidth 2 mul setlinewidth } def
11858 /AL { stroke gnulinewidth 2 div setlinewidth } def
11859 /PL { stroke gnulinewidth setlinewidth } def
11860 /LTb { BL [] 0 0 0 DL } def
11861 /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
11862 /LT0 { PL [] 0 1 0 DL } def
11863 /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
11864 /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
11865 /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
11866 /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
11867 /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
11868 /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
11869 /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
11870 /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
11871 /P { stroke [] 0 setdash
11872   currentlinewidth 2 div sub M
11873   0 currentlinewidth V stroke } def
11874 /D { stroke [] 0 setdash 2 copy vpt add M
11875   hpt neg vpt neg V hpt vpt neg V
11876   hpt vpt V hpt neg vpt V closepath stroke
11877   P } def
11878 /A { stroke [] 0 setdash vpt sub M 0 vpt2 V
11879   currentpoint stroke M
11880   hpt neg vpt neg R hpt2 0 V stroke
11881   } def
11882 /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
11883   0 vpt2 neg V hpt2 0 V 0 vpt2 V
11884   hpt2 neg 0 V closepath stroke
11885   P } def
11886 /C { stroke [] 0 setdash exch hpt sub exch vpt add M
11887   hpt2 vpt2 neg V currentpoint stroke M
11888   hpt2 neg 0 R hpt2 vpt2 V stroke } def
11889 /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
11890   hpt neg vpt -1.62 mul V
11891   hpt 2 mul 0 V
11892   hpt neg vpt 1.62 mul V closepath stroke
11893   P  } def
11894 /S { 2 copy A C} def
11895 end
11896 gnudict begin
11897 gsave
11898 50 50 translate
11899 0.100 0.100 scale
11900 0 setgray
11901 /Helvetica findfont 140 scalefont setfont
11902 newpath
11903 LTa
11904 840 351 M
11905 6129 0 V
11906 840 351 M
11907 0 4618 V
11908 LTb
11909 840 351 M
11910 63 0 V
11911 6066 0 R
11912 -63 0 V
11913 756 351 M
11914 (0) Rshow
11915 840 1275 M
11916 63 0 V
11917 6066 0 R
11918 -63 0 V
11919 -6150 0 R
11920 (50) Rshow
11921 840 2198 M
11922 63 0 V
11923 6066 0 R
11924 -63 0 V
11925 -6150 0 R
11926 (100) Rshow
11927 840 3122 M
11928 63 0 V
11929 6066 0 R
11930 -63 0 V
11931 -6150 0 R
11932 (150) Rshow
11933 840 4045 M
11934 63 0 V
11935 6066 0 R
11936 -63 0 V
11937 -6150 0 R
11938 (200) Rshow
11939 840 4969 M
11940 63 0 V
11941 6066 0 R
11942 -63 0 V
11943 -6150 0 R
11944 (250) Rshow
11945 840 351 M
11946 0 63 V
11947 0 4555 R
11948 0 -63 V
11949 840 211 M
11950 (0) Cshow
11951 2372 351 M
11952 0 63 V
11953 0 4555 R
11954 0 -63 V
11955 0 -4695 R
11956 (5) Cshow
11957 3905 351 M
11958 0 63 V
11959 0 4555 R
11960 0 -63 V
11961 0 -4695 R
11962 (10) Cshow
11963 5437 351 M
11964 0 63 V
11965 0 4555 R
11966 0 -63 V
11967 0 -4695 R
11968 (15) Cshow
11969 6969 351 M
11970 0 63 V
11971 0 4555 R
11972 0 -63 V
11973 0 -4695 R
11974 (20) Cshow
11975 840 351 M
11976 6129 0 V
11977 0 4618 V
11978 -6129 0 V
11979 840 351 L
11980 140 2660 M
11981 currentpoint gsave translate 90 rotate 0 0 M
11982 (Percent Overhead) Cshow
11983 grestore
11984 3904 71 M
11985 (Number of Processors) Cshow
11986 LT0
11987 6486 4766 M
11988 (Search Overhead) Rshow
11989 6570 4766 M
11990 252 0 V
11991 2066 1699 M
11992 1226 113 V
11993 1225 94 V
11994 1226 96 V
11995 6654 4766 D
11996 2066 1699 D
11997 3292 1812 D
11998 4517 1906 D
11999 5743 2002 D
12000 LT1
12001 6486 4626 M
12002 (Speculative Search) Rshow
12003 6570 4626 M
12004 252 0 V
12005 2066 567 M
12006 1226 33 V
12007 1225 71 V
12008 1226 85 V
12009 6654 4626 A
12010 2066 567 A
12011 3292 600 A
12012 4517 671 A
12013 5743 756 A
12014 LT2
12015 6486 4486 M
12016 (Parallelization Overhead) Rshow
12017 6570 4486 M
12018 252 0 V
12019 2066 802 M
12020 1226 66 V
12021 1225 96 V
12022 1226 87 V
12023 6654 4486 B
12024 2066 802 B
12025 3292 868 B
12026 4517 964 B
12027 5743 1051 B
12028 LT3
12029 6486 4346 M
12030 (Master Overhead) Rshow
12031 6570 4346 M
12032 252 0 V
12033 2066 1638 M
12034 3292 933 L
12035 4517 744 L
12036 5743 658 L
12037 6654 4346 C
12038 2066 1638 C
12039 3292 933 C
12040 4517 744 C
12041 5743 658 C
12042 LT4
12043 6486 4206 M
12044 (Total Overhead) Rshow
12045 6570 4206 M
12046 252 0 V
12047 2066 3656 M
12048 3292 3161 L
12049 1225 72 V
12050 1226 181 V
12051 6654 4206 T
12052 2066 3656 T
12053 3292 3161 T
12054 4517 3233 T
12055 5743 3414 T
12056 stroke
12057 grestore
12058 end
12059 showpage
12060 %%EndDocument
12061
12062  endTexFig
12063  475 2566 a Fn(Figure)h(9:)k(Ov)o(erheads)d(at)f(8)g(Ply)f(for)h(APHID)
12064 g(in)f Fj(TheTurk)954 2828 y Fn(13)p eop
12065 %%Page: 14 14
12066 14 13 bop 0 195 a Fn(of)13 b(the)h(increase)h(in)e(searc)o(h)i(o)o(v)o
12067 (erhead)f(as)g(w)o(e)f(increase)i(the)g(n)o(um)o(b)q(er)d(of)h(pro)q
12068 (cessors)j(can)e(b)q(e)g(attributed)g(to)g(information)0
12069 257 y(de\014ciency)m(,)21 b(since)e(there)i(is)d(no)h(common)d(shared)k
12070 (data)e(b)q(et)o(w)o(een)j(the)e(pro)q(cesses)j(\(suc)o(h)e(as)f(a)f
12071 (shared)i(transp)q(osition)0 320 y(table\).)62 382 y(Since)e(w)o(e)f
12072 (only)f(searc)o(h)j(eac)o(h)e(p)q(osition)f(to)h(8)g(ply)m(,)g(the)g
12073 (async)o(hronous)h(nature)g(of)e(the)i(sla)o(v)o(es)f(will)e(result)j
12074 (in)f(some)0 444 y(w)o(ork)d(b)q(eing)h(done)f(at)h(9)f(ply)g(\(or)g
12075 (more\).)19 b(The)c Fl(sp)n(e)n(culative)g(se)n(ar)n(ch)g
12076 Fn(line)f(represen)o(ts)j(the)e(amoun)o(t)d(of)i(additional)f(searc)o
12077 (h)0 506 y(b)q(ey)o(ond)f(what)g(the)g(sequen)o(tial)g(algorithm)d(w)o
12078 (ould)i(ha)o(v)o(e)h(done.)18 b(Ho)o(w)o(ev)o(er,)12
12079 b(in)f(our)h(exp)q(erimen)o(ts,)g(the)g(sp)q(eculativ)o(e)h(searc)o(h)0
12080 569 y(results)k(w)o(ere)f(not)g(used)g(so)g(that)f(the)i(parallel)d
12081 (program)g(pro)q(duces)j(the)f(iden)o(tical)f(results)i(as)e(the)i
12082 (sequen)o(tial)e(v)o(ersion,)0 631 y(v)o(erifying)h(APHID's)g
12083 (correctness)q(.)29 b(In)17 b(a)f(real)h(tournamen)o(t)f(game,)f(this)i
12084 (sp)q(eculativ)o(e)h(searc)o(h)g(could)e(b)q(e)i(used)f(to)g(lo)q(ok)0
12085 693 y(an)e(extra)h(mo)o(v)o(e)d(ahead)j(on)f(some)f(k)o(ey)h(v)n
12086 (ariations,)f(since)i(it)f(is)g(highly)f(lik)o(ely)g(that)i(the)f(mo)o
12087 (v)o(es)f(extended)j(a)e(ply)g(ahead)0 756 y(w)o(ould)g(b)q(e)h(in)e
12088 (the)i(left-most)e(branc)o(hes)j(of)e(the)h(tree.)23
12089 b(Note)16 b(that)g(other)g(algorithms,)d(suc)o(h)j(as)f(Y)m(oung)g
12090 (Brothers)i(W)m(ait,)0 818 y(ha)o(v)o(e)d(pro)q(cessors)i(go)d(idle)h
12091 (when)g(there)h(is)f(no)g(w)o(ork)f(left)h(to)g(do)f(on)h(the)g(curren)
12092 o(t)i(iteration.)62 880 y(As)f(discussed)h(earlier,)d(load)h(balancing)
12093 f(w)o(as)h(used)h(for)e(generating)i(the)f(results)h(giv)o(en)f(here.)
12094 20 b(This)14 b(is)g(based)g(on)g(the)0 942 y(assumption)e(that)h(the)h
12095 (primary)e(metric)g(to)h(measuring)g(a)g(parallel)f(program's)f(p)q
12096 (erformance)i(is)g(the)h(sp)q(eed)h(with)e(whic)o(h)0
12097 1005 y(it)k(ac)o(hiev)o(es)g(a)g Fm(d)p Fn(-ply)e(result.)28
12098 b(Ho)o(w)o(ev)o(er,)18 b(one)f(could)g(argue)g(that)g(the)g(qualit)o(y)
12099 f(of)g(the)i(result)f(ac)o(hiev)o(ed)g(is)g(equiv)n(alen)o(t,)0
12100 1067 y(irresp)q(ectiv)o(e)22 b(of)d(the)h(sp)q(eedup.)38
12101 b(The)20 b(additional)e(sp)q(eculativ)o(e)j(searc)o(h)g(done)f(in)g
12102 (cases)h(where)g(the)f(load)f(balance)h(is)0 1129 y(incorrect)15
12103 b(could)f(b)q(e)g(used)h(to)f(impro)o(v)o(e)e(the)i(qualit)o(y)f(of)g
12104 (the)i(result)f(returned.)62 1191 y(Other)e(results)f(for)f(parallel)f
12105 (searc)o(h)j(algorithms)c(on)i(a)g(net)o(w)o(ork)h(of)e(w)o
12106 (orkstations)h(ha)o(v)o(e)h(b)q(een)g(presen)o(ted)i(for)d(the)g(game)0
12107 1254 y(of)k(c)o(hess)h([21].)j(A)d(distributed)g(transp)q(osition)f
12108 (table)g(w)o(as)g(used)h(to)g(impro)o(v)o(e)d(the)j(p)q(erformance)f
12109 (of)g(the)h Fj(P)l(araPhoenix)0 1316 y Fn(c)o(hess)c(searc)o(hes,)h
12110 (and)e(a)f(sp)q(eedup)j(of)d(7)g(w)o(as)h(ac)o(hiev)o(ed)g(on)f(16)h
12111 (pro)q(cessors.)19 b(Although)9 b(these)i(results)g(are)f(marginally)c
12112 (b)q(etter)0 1378 y(than)14 b(the)g(results)h(presen)o(ted)h(here,)e
12113 (the)h(scalabilit)o(y)d(of)h(the)h(algorithm)e(w)o(as)h(extrap)q
12114 (olated)h(to)g(a)f(sp)q(eedup)j(of)d(at)h(most)e(8)0
12115 1440 y(on)g(32)f(pro)q(cessors.)20 b(Based)13 b(on)f(the)g(graphs)h
12116 (presen)o(ted)h(earlier)e(in)g(this)g(section,)h(w)o(e)f(b)q(eliev)o(e)
12117 g(the)h(APHID)f(algorithm)d(will)0 1503 y(outp)q(erform)16
12118 b(on)g(a)g(larger)h(n)o(um)o(b)q(er)f(of)g(pro)q(cessors.)28
12119 b(The)17 b(b)q(ene\014cial)g(e\013ects)i(of)d(the)h(distributed)h
12120 (transp)q(osition)e(table)0 1565 y(are)i(deriv)o(ed)g(primarily)d(in)j
12121 (the)g(top)g(plies)f(of)g(the)i(searc)o(h)g(tree,)g(and)f(these)h(b)q
12122 (ene\014ts)g(are)f(duplicated)g(in)f(APHID)h(b)o(y)0
12123 1627 y(main)o(taining)10 b(the)15 b(top)f Fm(d)397 1612
12124 y Fd(0)422 1627 y Fn(ply)f(exclusiv)o(ely)h(on)g(the)g(master)g(pro)q
12125 (cessor.)62 1689 y(Although)c(the)h(results)g(presen)o(ted)h(here)g
12126 (for)e(c)o(hess)h(are)g(promising,)d(w)o(e)j(b)q(eliev)o(e)f(that)h(b)q
12127 (etter)g(results)h(can)e(b)q(e)h(ac)o(hiev)o(ed.)0 1752
12128 y(The)16 b(results)g(for)f(parallelizing)e Fj(Key)m(ano)p
12129 Fn(,)k(an)e(Othello)g(program,)e(yield)i(a)f(9-fold)g(sp)q(eedup)j
12130 (with)e(the)g(APHID)h(library)0 1814 y(without)f(the)g(use)h(of)e(load)
12131 g(balancing.)20 b(The)c(main)d(di\013erence)k(b)q(et)o(w)o(een)f(the)f
12132 (results)i(is)d(that)h(the)h(searc)o(h)g(o)o(v)o(erhead)f(for)0
12133 1876 y Fj(Key)m(ano)h Fn(is)e(less)g(than)g(half)f(of)g(the)i
12134 Fj(TheTurk)p Fn('s)f(70\045)f(searc)o(h)i(o)o(v)o(erhead.)62
12135 1939 y(The)g(authors)g(ha)o(v)o(e)f(come)f(up)h(with)g(t)o(w)o(o)g(p)q
12136 (ossible)h(h)o(yp)q(otheses)g(for)f(this)h(discrepancy)m(.)20
12137 b(The)14 b(\014rst)h(is)g(that)f Fj(Key)m(ano)0 2001
12138 y Fn(do)q(es)f(not)e(use)i(quiescen)o(t)g(searc)o(h.)19
12139 b(As)12 b(a)f(consequence,)k(the)d(sizes)h(of)e(the)i(v)n(arious)e
12140 (pieces)i(of)e(w)o(ork)h(are)g(more)f(predictable;)0
12141 2063 y(hence,)i(load)e(balancing)g(is)g(not)h(necessary)m(.)19
12142 b(Load)11 b(balancing)g(causes)i(searc)o(h)g(o)o(v)o(erhead)f(since)g
12143 (it)g(forces)g(a)g(new)g(pro)q(cessor)0 2125 y(to)f(rep)q(eat)i(searc)o
12144 (hes)h(done)e(b)o(y)f(a)g(di\013eren)o(t)i(pro)q(cessor.)19
12145 b(The)12 b(load)f(balancing)f(is)i(partially)e(resp)q(onsible)j(for)e
12146 (the)h(di\013erence)0 2188 y(in)i(searc)o(h)h(o)o(v)o(erhead.)k(The)c
12147 (second)g(p)q(ossible)f(reason)h(is)f(that)g(the)h(searc)o(h)g(windo)o
12148 (ws)f(in)f(the)i(sla)o(v)o(es)f(can,)g(in)g(some)f(cases,)0
12149 2250 y(b)q(e)g(larger)f(than)h(the)g(minim)o(al)c(windo)o(w)i(used)i
12150 (in)f(the)h(sequen)o(tial)g(program.)i(Although)d(this)h(larger)f
12151 (windo)o(w)g(is)g(common)0 2312 y(to)i(b)q(oth)h(parallel)e(implemen)o
12152 (tatio)o(ns,)f(it)i(has)g(a)g(m)o(uc)o(h)f(larger)i(e\013ect)h(on)e
12153 (the)h(size)g(of)e(the)i(trees)h(searc)o(hed)g(in)e Fj(TheTurk)0
12154 2374 y Fn(than)g(in)f Fj(Key)m(ano)p Fn(.)62 2437 y(The)i(APHID)g
12155 (algorithm)c(can)k(supp)q(ort)g(a)f(shared)i(transp)q(osition)e(table,)
12156 g(but)g(the)h(algorithm)d(do)q(es)j(not)g(dep)q(end)g(on)0
12157 2499 y(its)g(presence.)22 b(Th)o(us,)15 b(the)g(algorithm)d(gets)j(go)q
12158 (o)q(d)f(p)q(erformance)h(on)f(a)h(lo)q(osely-coupled)f(net)o(w)o(ork)h
12159 (of)f(w)o(orkstations)g(and)0 2561 y(will)e(p)q(erform)h(ev)o(en)i(b)q
12160 (etter)h(on)d(tigh)o(tly-coupled)g(pro)q(cessors.)954
12161 2828 y(14)p eop
12162 %%Page: 15 15
12163 15 14 bop 0 195 a Fo(5)69 b(Conclusions)22 b(and)i(F)-6
12164 b(uture)23 b(W)-6 b(ork)0 298 y Fn(The)14 b(APHID)f(algorithm)e(yields)
12165 i(go)q(o)q(d)g(sp)q(eedups)i(on)e(a)g(net)o(w)o(ork)g(of)g(w)o
12166 (orkstations)g(without)g(the)h(necessit)o(y)g(of)f(a)g(shared)0
12167 361 y(transp)q(osition)g(table.)18 b(Although)13 b(the)i(authors)f(are)
12168 g(pleased)g(with)f(these)i(preliminary)c(results,)k(a)e(lot)g(of)g(w)o
12169 (ork)g(is)h(left)f(to)0 423 y(b)q(e)i(done.)62 485 y(Our)e(curren)o(t)h
12170 (implemen)o(tation)9 b(of)j(APHID)g(uses)i(a)e(\014xed-depth)h(horizon)
12171 g(for)f(the)h(master's)e(tree.)19 b(As)13 b(men)o(tioned)e(in)0
12172 548 y(our)i(discussion)h(of)f(load)f(balancing,)g(all)g(p)q(ositions)h
12173 (are)h(not)f(equal)g(in)g(the)h(amoun)o(t)e(of)h(searc)o(h)h(e\013ort)g
12174 (they)g(require)g(for)f(a)0 610 y(\014xed)g(depth)g(of)e(searc)o(h.)19
12175 b(APHID)13 b(is)f(b)q(eing)g(generalized)h(to)f(supp)q(ort)h(a)f
12176 (dynamically)e(c)o(hanging)h(horizon)h(in)g(the)h(master.)62
12177 672 y(Instead)h(of)e(basing)h(the)g(results)i(of)d(the)i(algorithm)c
12178 (on)j(the)g(sp)q(eedup,)i(w)o(e)e(are)g(also)g(in)o(terested)h(in)f
12179 (the)g(qualit)o(y)f(of)g(the)0 734 y(results)i(returned)h(b)o(y)d(the)i
12180 (algorithm.)h(This)e(alternativ)o(e)g(view)f(of)h(parallel)f(p)q
12181 (erformance)g(is)h(curren)o(tly)h(b)q(eing)f(explored.)62
12182 797 y(The)i(results)g(rep)q(orted)h(here)f(are)g(based)g(on)e(a)h
12183 (simple)f(master/sla)o(v)o(e)g(relationship.)18 b(As)d(the)g(n)o(um)o
12184 (b)q(er)e(of)h(pro)q(cessors)0 859 y(increases,)f(the)f(master)f
12185 (increasingly)h(b)q(ecomes)f(a)h(b)q(ottlenec)o(k.)18
12186 b(APHID)11 b(has)h(b)q(een)h(generalized)f(to)f(w)o(ork)h(in)f(a)g
12187 (hierarc)o(hi-)0 921 y(cal)j(pro)q(cess)j(tree,)e(although)f(this)h
12188 (asp)q(ect)h(of)e(the)h(algorithm)d(has)j(not)f(b)q(een)i(tested)g
12189 (here.)22 b(Mid-lev)o(el)13 b(pro)q(cesses)18 b(w)o(ould)0
12190 983 y(b)q(eha)o(v)o(e)c(as)f(a)g(sla)o(v)o(e)g(to)o(w)o(ard)g(their)h
12191 (master,)e(and)i(as)f(a)g(master)g(to)o(w)o(ard)g(their)h(sla)o(v)o
12192 (es.)j(The)d(scalabilit)o(y)e(of)h(the)h(algorithm)0
12193 1046 y(has)g(y)o(et)h(to)f(b)q(e)h(demonstrated)f(on)g(arc)o
12194 (hitectures)i(of)e(more)f(than)h(16)g(pro)q(cessors,)i(due)f(to)f
12195 (resource)i(limitations)11 b(during)0 1108 y(the)j(academic)f(y)o(ear.)
12196 62 1170 y(P)o(erhaps)i(the)e(biggest)h(con)o(tribution)f(of)f(APHID)i
12197 (is)f(that)g(it)g(easily)g(\014ts)h(in)f(to)g(an)g(existing)g(sequen)o
12198 (tial)g Fm(\013\014)j Fn(program.)0 1232 y(Not)h(only)e(has)i(APHID)g
12199 (b)q(een)h(in)o(tegrated)f(in)o(to)f Fj(TheTurk)h Fn(and)f
12200 Fj(Key)m(ano)p Fn(,)j(APHID)e(has)g(b)q(een)g(in)o(tegrated)g(in)o(to)f
12201 (the)0 1295 y(c)o(hec)o(k)o(ers)g(program)d Fj(Chinook)j
12202 Fn(with)e(one)g(afterno)q(on)h(of)f(e\013ort.)1033 1280
12203 y Fi(4)1072 1295 y Fn(In)g(con)o(trast,)h(the)g(v)o(ersion)g(of)e
12204 Fj(Chinook)j Fn(used)f(in)f(the)0 1357 y(1994)f(matc)o(h)g(v)o(ersus)i
12205 (Tinsley)e(to)q(ok)h(4)f(to)h(6)g(w)o(eeks)h(to)e(implemen)o(t)e([15].)
12206 0 1494 y Fo(6)69 b(Ac)n(kno)n(wledgemen)n(ts)0 1598 y
12207 Fn(This)14 b(w)o(ork)f(w)o(as)h(supp)q(orted)h(b)o(y)f(the)h(Natural)e
12208 (Sciences)j(and)d(Engineering)h(Researc)o(h)h(Council)f(of)f(Canada.)0
12209 1735 y Fo(References)21 1818 y Fn([1])19 b(S.)d(G.)g(Akl,)f(D.)h(T.)g
12210 (Barnard,)h(and)f(R.)f(J.)h(Doran.)25 b(Design,)16 b(Analysis)g(and)g
12211 (Implemen)o(tation)d(of)j(a)g(P)o(arallel)f(T)m(ree)85
12212 1859 y(Searc)o(h)g(Algorithm.)i Fl(IEEE)f(T)m(r)n(ansactions)f(on)h
12213 (Pattern)f(A)o(nalysis)g(and)h(Machine)g(Intel)r(ligenc)n(e)p
12214 Fn(,)e(P)m(AMI-4\(2\):192{)85 1901 y(203,)f(1982.)21
12215 1975 y([2])19 b(G.)13 b(M.)h(Baudet.)k Fl(The)d(Design)g(and)h
12216 (Analysis)e(of)h(Algorithms)f(for)g(Asynchr)n(onous)i(Multipr)n(o)n(c)n
12217 (essors)p Fn(.)h(PhD)d(thesis,)85 2017 y(Carnegie)g(Mellon)g(Univ)o
12218 (ersit)o(y)m(,)f(Pittsburgh,)h(P)m(A,)f(1978.)k(Av)n(ailable)12
12219 b(as)i(T)m(ec)o(h.)g(Rept.)f(CMU-CS-78-116.)21 2092 y([3])19
12220 b(V.-D.)j(Cung.)44 b Fl(Contribution)23 b(\022)-21 b(a)23
12221 b(l'A)o(lgorithmique)e(Non)j(Num)o(\023)-20 b(erique)23
12222 b(Par)n(al)r(l)o(\022)-20 b(ele:)34 b(Explor)n(ation)23
12223 b(d'Esp)n(ac)n(es)h(de)85 2133 y(R)n(e)n(cher)n(che)p
12224 Fn(.)19 b(PhD)13 b(thesis,)i(Univ)o(ersit)o(\023)-20
12225 b(e)14 b(P)o(aris)g(VI,)g(April)f(1994.)21 2208 y([4])19
12226 b(V.)12 b(Da)o(vid.)h Fl(A)o(lgorithmique)f(p)n(ar)n(al)r(l)o(\022)-20
12227 b(ele)12 b(sur)h(les)g(arbr)n(es)f(de)i(d)o(\023)-20
12228 b(ecision)13 b(et)g(r)n(aisonnement)g(en)h(temps)f(c)n(ontr)n(aint)g(-)
12229 f(Etude)85 2249 y(et)j(applic)n(ation)g(au)h(minimax)p
12230 Fn(.)i(PhD)13 b(thesis,)i(ENSAE,)f(T)m(oulouse,)f(F)m(rance,)h(1993.)21
12231 2324 y([5])19 b(R.)34 b(F)m(eldmann.)78 b Fl(Spielb)n(aumsuche)35
12232 b(mit)e(massiv)h(p)n(ar)n(al)r(lelen)g(Systemen)p Fn(.)80
12233 b(PhD)35 b(thesis,)40 b(Univ)o(ersit\177)-21 b(at-)85
12234 2365 y(Gesam)o(tho)q(c)o(hsc)o(h)o(ule)13 b(P)o(aderb)q(orn,)h(P)o
12235 (aderb)q(orn,)g(German)o(y)m(,)c(Ma)o(y)j(1993.)j(In)d(German)f({)h
12236 (English)g(translation)f(a)o(v)n(ail-)85 2407 y(able.)21
12237 2482 y([6])19 b(E.)f(W.)e(F)m(elten)i(and)f(S.)h(W.)e(Otto.)29
12238 b(Chess)19 b(on)f(a)f(Hyp)q(ercub)q(e.)31 b(In)17 b(G.)g(F)m(o)o(x,)g
12239 (editor,)h Fl(Pr)n(o)n(c)n(e)n(e)n(dings)g(of)h(The)f(Thir)n(d)85
12240 2523 y(Confer)n(enc)n(e)13 b(on)g(Hyp)n(er)n(cub)n(e)f(Concurr)n(ent)h
12241 (Computers)f(and)h(Applic)n(ations)p Fn(,)e(v)o(olume)f(I)q
12242 (I-Applications,)h(pages)g(1329{)85 2565 y(1341,)i(P)o(assadena,)h(CA,)
12243 f(1988.)p 0 2599 780 2 v 46 2626 a Fh(4)64 2638 y Fg(The)e(results)f
12244 (for)h Fa(Chinook)i Fg(w)o(ere)e(not)g(a)o(v)n(ailable)e(at)i(the)g
12245 (time)g(of)g(writing.)954 2828 y Fn(15)p eop
12246 %%Page: 16 16
12247 16 15 bop 21 195 a Fn([7])19 b(C.)c(F)m(erguson)h(and)g(R.)f(E.)g
12248 (Korf.)23 b(Distributed)16 b(T)m(ree)g(Searc)o(h)h(and)e(its)h
12249 (Application)f(to)g(Alpha-Beta)h(Pruning.)23 b(In)85
12250 237 y Fl(Pr)n(o)n(c)n(e)n(e)n(dings)15 b(of)g(AAAI-88)p
12251 Fn(,)e(pages)h(128{132,)e(Sain)o(t)h(P)o(aul,)g(MN,)h(August)g(1988.)21
12252 311 y([8])19 b(R.D.)14 b(Green)o(blatt,)h(D.E.)e(Eastlak)o(e,)i(and)g
12253 (S.D.)f(Cro)q(c)o(k)o(er.)22 b(The)15 b(Green)o(blatt)g(Chess)i
12254 (Program.)i(In)c Fl(Pr)n(o)n(c)n(e)n(e)n(dings)h(of)85
12255 353 y(the)f(F)m(al)r(l)g(Joint)f(Computer)h(Confer)n(enc)n(e)p
12256 Fn(,)e(pages)h(801{810,)e(1967.)21 428 y([9])19 b(F.-h.)c(Hsu.)22
12257 b Fl(L)n(ar)n(ge)16 b(Sc)n(ale)g(Par)n(al)r(lelization)f(of)h(A)o
12258 (lpha-Beta)h(Se)n(ar)n(ch:)k(A)o(n)c(A)o(lgorithmic)d(and)j(A)o(r)n
12259 (chite)n(ctur)n(al)e(Study)p Fn(.)85 469 y(PhD)g(thesis,)h(Carnegie)g
12260 (Mellon)e(Univ)o(ersit)o(y)m(,)g(Pittsburgh,)i(U.S.A.,)e(1990.)20
12261 b(Also)15 b(T)m(ec)o(h.)g(Rept.)g(CMU-CS-90-108,)85 511
12262 y(Carnegie)f(Mellon)g(Univ)o(ersit)o(y)m(,)f(F)m(eb.)g(1990.)0
12263 585 y([10])19 b(R.)11 b(M.)h(Hy)o(att,)g(B.)g(W.)f(Suter,)i(and)e(H.)h
12264 (L.)f(Nelson.)16 b(A)c(P)o(arallel)f(Alpha/Beta)h(T)m(ree)g(Searc)o
12265 (hing)g(Algorithm.)h Fl(Par)n(al)r(lel)85 627 y(Computing)p
12266 Fn(,)h(10\(3\):299{308,)d(1989.)0 702 y([11])19 b(D.)f(Kop)q(ec)i(and)f
12267 (I.)f(Bratk)o(o.)33 b(The)19 b(Bratk)o(o-Kop)q(ec)h(Exp)q(erimen)o(t:)
12268 28 b(A)19 b(Comparison)d(of)j(Human)e(and)i(Computer)85
12269 743 y(Performance)11 b(in)f(Chess.)j(In)d(M.R.B.)f(Clark)o(e,)i
12270 (editor,)f Fl(A)n(dvanc)n(es)j(in)e(Computer)h(Chess)f(3)p
12271 Fn(,)g(pages)g(57{72.)d(P)o(ermagon)85 785 y(Press,)15
12272 b(Oxford,)f(1982.)0 859 y([12])19 b(B.)14 b(C.)g(Kuszmaul.)k
12273 Fl(Synchr)n(onize)n(d)e(MIMD)g(Computing)p Fn(.)k(PhD)14
12274 b(thesis,)h(Massac)o(h)o(usetts)h(Institute)f(of)f(T)m(ec)o(hnology)m
12275 (,)85 901 y(Cam)o(bridge,)e(MA,)i(1994.)0 976 y([13])19
12276 b(G.)e(Lindstrom.)28 b(The)18 b(Key)g(No)q(de)g(Metho)q(d:)26
12277 b(A)18 b(Highly-P)o(arallel)d(Alpha-Beta)j(Algorithm.)26
12278 b(T)m(ec)o(hnical)18 b(Rep)q(ort)85 1017 y(UUCS)c(83-101,)e(Univ)o
12279 (ersit)o(y)i(of)g(Utah,)f(Departmen)o(t)g(of)h(Computer)f(Science,)i
12280 (Salt)e(Lak)o(e)h(Cit)o(y)m(,)e(UT,)h(Marc)o(h)i(1983.)0
12281 1092 y([14])k(C.-P)m(.)11 b(P)m(.)g(Lu.)j(P)o(arallel)d(Searc)o(h)h(of)
12282 f(Narro)o(w)h(Game)e(Trees.)16 b(Master's)d(thesis,)f(Departmen)o(t)f
12283 (of)g(Computing)f(Science,)85 1133 y(Univ)o(ersit)o(y)k(of)f(Alb)q
12284 (erta,)h(Edmon)o(ton,)e(Canada,)h(1993.)0 1208 y([15])19
12285 b(P)m(.)13 b(Lu.)18 b(Priv)n(ate)c(comm)o(unication.)o(,)d(1996.)0
12286 1283 y([16])19 b(T.)11 b(A.)f(Marsland)h(and)g(M.)f(S.)h(Campb)q(ell.)g
12287 (Parallel)f(Searc)o(h)i(of)e(Strongly)g(Ordered)j(Game)c(Trees.)15
12288 b Fl(A)o(CM)d(Computing)85 1324 y(Surveys)p Fn(,)i(14\(4\):533{551,)d
12289 (1982.)0 1399 y([17])19 b(M.)14 b(M.)f(Newb)q(orn.)20
12290 b(Unsync)o(hronized)15 b(Iterativ)o(e)g(Deep)q(ening)f(P)o(arallel)f
12291 (Alpha-Beta)h(Searc)o(h.)20 b Fl(IEEE)15 b(T)m(r)n(ansactions)85
12292 1440 y(on)h(Pattern)e(A)o(nalysis)h(and)h(Machine)g(Intel)r(ligenc)n(e)
12293 p Fn(,)d(P)m(AMI-10\(5\):687{694,)d(1988.)0 1515 y([18])19
12294 b(J.)c(P)o(earl.)21 b(Asymptotic)14 b(Prop)q(erties)j(of)d(Minimax)e
12295 (Trees)17 b(and)d(Game-Searc)o(hing)g(Pro)q(cedures.)23
12296 b Fl(A)o(rti\014cial)15 b(Intel)r(li-)85 1557 y(genc)n(e)p
12297 Fn(,)f(14:113{138,)d(1980.)0 1631 y([19])19 b(A.)d(Plaat,)g(J.)g(Sc)o
12298 (hae\013er,)i(W.)e(Pijls,)g(and)g(A.)g(de)h(Bruin.)25
12299 b(Nearly)17 b(Optimal)d(Minimax)g(T)m(ree)j(Searc)o(h?)35
12300 b(T)m(ec)o(hnical)85 1673 y(Rep)q(ort)17 b(94-19,)e(Departmen)o(t)h(of)
12301 g(Computing)e(Science,)k(Univ)o(ersit)o(y)e(of)f(Alb)q(erta,)i(Edmon)o
12302 (ton,)e(Alta.,)h(Decem)o(b)q(er)85 1714 y(1994.)0 1789
12303 y([20])j(A.)14 b(Reinefeld.)k(An)c(Impro)o(v)o(emen)o(t)d(to)j(the)g
12304 (Scout)h(Tree-Searc)o(h)g(Algorithm.)h Fl(ICCA)e(Journal)p
12305 Fn(,)g(6\(4\):4{14,)d(1983.)0 1864 y([21])19 b(J.)11
12306 b(Sc)o(hae\013er.)k(Distributed)d(Game-T)m(ree)e(Searc)o(hing.)j
12307 Fl(Journal)g(of)f(Par)n(al)r(lel)f(and)i(Distribute)n(d)f(Computing)p
12308 Fn(,)f(6\(2\):90{)85 1905 y(114,)i(1989.)0 1980 y([22])19
12309 b(I.)12 b(R.)g(Stein)o(b)q(erg)h(and)g(M.)f(Solomon.)h(Searc)o(hing)g
12310 (Game)d(Trees)k(in)e(P)o(arallel.)j(In)e Fl(Pr)n(o)n(c)n(c)n(e)n(dings)
12311 g(of)h(the)f(1990)i(Interna-)85 2022 y(tional)i(Confer)n(enc)n(e)f(on)h
12312 (Par)n(al)r(lel)e(Pr)n(o)n(c)n(essing)h(\(vol.)g(3\))p
12313 Fn(,)g(pages)g(9{17,)e(Univ)o(ersit)o(y)h(P)o(ark,)h(P)m(A,)f(1990.)f
12314 (P)o(enn.)h(State)85 2063 y(Univ)o(ersit)o(y)f(Press.)0
12315 2138 y([23])19 b(V.)e(Sunderam.)28 b(PVM:)17 b(A)h(F)m(ramew)o(ork)d
12316 (for)i(P)o(arallel)g(Distributed)g(Computing.)26 b Fl(Concurr)n(ency:)g
12317 (Pr)n(actic)n(e)17 b(and)85 2179 y(Exp)n(erienc)n(e)p
12318 Fn(,)d(2\(4\):315{339,)d(Decem)o(b)q(er)j(1990.)0 2254
12319 y([24])19 b(J.-C.)25 b(W)m(eill.)51 b Fl(Pr)n(o)n(gr)n(ammes)25
12320 b(d')o(\023)-20 b(eche)n(cs)26 b(de)g(championnat:)41
12321 b(ar)n(chite)n(ctur)n(e)25 b(lo)n(giciel)r(le)f(synth)o(\022)-20
12322 b(ese)27 b(de)f(fonctions)85 2296 y(d')o(\023)-20 b(evaluations,)15
12323 b(p)n(ar)n(al)r(l)o(\023)-20 b(elisme)14 b(de)h(r)n(e)n(cher)n(che)p
12324 Fn(.)j(PhD)13 b(thesis,)i(Univ)o(ersit)o(\023)-20 b(e)14
12325 b(P)o(aris)g(8,)f(Jan)o(uary)h(1995.)954 2828 y(16)p
12326 eop
12327 %%Page: 17 17
12328 17 16 bop 0 195 a Fo(A)69 b(Description)21 b(of)i(APHID)f(In)n(terface)
12329 0 294 y Fc(A.1)56 b(T)n(yp)r(es)18 b(of)h(Pro)r(cesses)f(within)g
12330 (APHID)62 363 y Fk(\017)j Fe(absolute)f(master)p Fn(:)25
12331 b(The)18 b(single)g(pro)q(cess)h(whic)o(h)f(in)o(v)o(ok)o(es)g(all)e
12332 (other)j(pro)q(cesses)h(within)e(the)g(APHID)g(pro)q(cess)104
12333 404 y(hierarc)o(h)o(y)m(,)13 b(whic)o(h)h(o)q(ccupies)h(the)f(highest)h
12334 (lev)o(el)e(in)h(the)g(pro)q(cess)i(hierarc)o(h)o(y)m(.)62
12335 476 y Fk(\017)21 b Fe(slave)p Fn(:)g(An)o(y)16 b(pro)q(cess)i(that)e(m)
12336 o(ust)f(rep)q(ort)i(its)f(searc)o(h)h(results)g(to)f(a)g(pro)q(cess)i
12337 (ab)q(o)o(v)o(e)d(it)h(in)g(the)g(hierarc)o(h)o(y)m(.)25
12338 b(With)104 518 y(this)14 b(de\014nition,)f(a)g(pro)q(cess)j(is)e
12339 (either)h(the)f(absolute)g(master)f(or)h(a)g(sla)o(v)o(e,)f(and)h(can)g
12340 (not)g(b)q(e)g(b)q(oth.)62 589 y Fk(\017)21 b Fe(master)p
12341 Fn(:)e(An)o(y)14 b(pro)q(cess)j(that)e(has)g(pro)q(cesses)j(underneath)
12342 e(it)e(in)h(the)g(hierarc)o(h)o(y)m(.)21 b(Note)15 b(that)g(it)g(is)g
12343 (p)q(ossible)g(for)f(a)104 631 y(pro)q(cess)h(to)f(b)q(e)h(b)q(oth)f(a)
12344 f(master)h(and)f(a)h(sla)o(v)o(e)g(if)f(the)h(pro)q(cess)i(hierarc)o(h)
12345 o(y)e(has)g(m)o(ultiple)e(lev)o(els.)0 746 y Fc(A.2)56
12346 b(Constan)n(ts)20 b(T)-5 b(o)19 b(Be)f(De\014ned)0 814
12347 y Fn(Since)c(the)h(library)e(is)h(application-indep)q(enden)o(t,)f
12348 (some)g(de\014nitions)h(of)f(ho)o(w)g(things)h(are)h(implem)o(en)o(ted)
12349 d(m)o(ust)h(b)q(e)h(giv)o(en)0 856 y(to)g(the)g(APHID)g(library)m(.)62
12350 932 y Fk(\017)21 b Fe(APHID)p 217 932 14 2 v 14 w(HASHTYPESIZE)p
12351 Fn(:)11 b(The)k(size)f(\(in)g(b)o(ytes\))h(of)e(the)h(hash)g(v)n(alue)g
12352 (used)h(in)e(y)o(our)h(program.)62 1003 y Fk(\017)21
12353 b Fe(APHID)p 217 1003 V 14 w(HASHKEYSIZE)p Fn(:)10 b(The)i(size)h(\(in)
12354 f(b)o(ytes\))h(of)f(the)h(\\lo)q(c)o(k")e(used)i(to)f(guaran)o(tee)h
12355 (that)f(t)o(w)o(o)g(p)q(ositions)f(sharing)h(the)104
12356 1045 y(same)h(hash)h(v)n(alue)f(are)h(the)h(same.)62
12357 1117 y Fk(\017)21 b Fe(APHID)p 217 1117 V 14 w(MOVESIZE)p
12358 Fn(:)12 b(The)i(size)h(\(in)f(b)o(ytes\))g(of)g(the)g(represen)o
12359 (tation)i(of)d(a)h(mo)o(v)o(e)e(in)h(the)i(application.)62
12360 1189 y Fk(\017)21 b Fe(APHID)p 217 1189 V 14 w(MINUSINF)15
12361 b Fn(and)h Fe(APHID)p 615 1189 V 15 w(PLUSINF)p Fn(:)e(Sp)q
12362 (eci\014cations)j(of)e(v)n(alues)h(smaller)f(than)h(the)h(minim)n(um)o
12363 (,)c(and)j(larger)104 1230 y(than)e(the)g(maxim)n(um)o(,)c(that)k(the)h
12364 (\\ev)n(aluation")d(could)i(p)q(ossibly)f(return,)i(resp)q(ectiv)o(ely)
12365 m(.)62 1302 y Fk(\017)21 b Fe(APHID)p 217 1302 V 14 w(INVALIDSCORE)p
12366 Fn(:)13 b(A)j(v)n(alue)g(that)g(is)g(outside)g(the)g(range)h(represen)o
12367 (ted)h(b)o(y)e(the)h(minim)n(um)11 b(and)16 b(maxim)n(um)104
12368 1344 y(v)n(alues)d(sp)q(eci\014ed)j(previously)m(.)62
12369 1415 y Fk(\017)21 b Fe(APHID)p 217 1415 V 14 w(LOG2)p
12370 319 1415 V 15 w(TABSIZE)p Fn(:)16 b(The)j(size)g(of)e(the)i(APHID)f
12371 (table)g(that)g(y)o(ou)g(in)o(tend)g(on)g(using)g(to)g(share)h(b)q(et)o
12372 (w)o(een)g(the)104 1457 y(master)c(and)h(the)g(sla)o(v)o(es,)g(tak)o
12373 (en)f(to)h(a)f(base)i(2)e(logarithm.)21 b(F)m(or)15 b(example,)g(a)g(v)
12374 n(alue)g(of)g(14)g(indicates)h(an)g(APHID)104 1503 y(table)e(with)f(2)
12375 323 1488 y Fi(14)370 1503 y Fn(=)e(16384)i(en)o(tries.)62
12376 1575 y Fk(\017)21 b Fe(APHID)p 217 1575 V 14 w(MAXSLAVEPLYSEARCH)p
12377 Fn(:)7 b(The)j(maxim)o(um)c("plytogo")i(v)n(alue)i(that)g(y)o(ou)g
12378 (could)g(p)q(ossibly)g(exp)q(ect)i(to)e(hand)g(to)g(a)104
12379 1616 y(sla)o(v)o(e)g(to)g(searc)o(h.)18 b(Note)10 b(that)g(this)h(v)n
12380 (alue)e(should)h(not)g(b)q(e)h(excessiv)o(ely)g(large,)g(since)g(this)f
12381 (and)g Fe(APHID)p 1683 1616 V 15 w(LOG2)p 1786 1616 V
12382 14 w(TABSIZE)104 1658 y Fn(are)k(the)h(leading)e(determinan)o(ts)g(in)h
12383 (the)g(amoun)o(t)e(of)h(memory)f(used)j(b)o(y)e(the)i(APHID)f(library)m
12384 (.)62 1730 y Fk(\017)21 b Fe(APHID)p 217 1730 V 14 w
12385 (MAXMASTERPLYSEARCH)p Fn(:)10 b(The)k(maxim)o(um)9 b(depth)15
12386 b(that)f(w)o(e)g(exp)q(ect)h(the)g(master)e(should)h(reac)o(h.)62
12387 1802 y Fk(\017)21 b Fe(APHID)p 217 1802 V 14 w(SLAVENODESTOCOMM)p
12388 Fn(:)15 b(This)j(should)g(b)q(e)g(set)h(to)f(the)h(n)o(um)o(b)q(er)e
12389 (of)h(no)q(des)h(that)f(the)g(sequen)o(tial)h(program)104
12390 1843 y(visits)13 b(on)h(the)h(t)o(yp)q(e)f(of)f(pro)q(cessor)j(b)q
12391 (eing)e(used,)g(divided)g(b)o(y)f(10.)0 1958 y Fc(A.3)56
12392 b(Standard)19 b(V)-5 b(ariables)19 b(Used)62 2026 y Fk(\017)i
12393 Fe(argv)p Fn(:)e(Standard)c(argumen)o(t)e(list.)20 b(Used)c(to)f
12394 (instan)o(tiate)f(the)h(sla)o(v)o(es)g(with)g(the)g(same)f(parameters)h
12395 (as)g(the)g(initial)104 2068 y(program.)62 2140 y Fk(\017)21
12396 b Fe(depth)p Fn(:)c(The)d(n)o(um)o(b)q(er)f(of)g(ply)h(the)g(curren)o
12397 (t)i(no)q(de)e(is)g(a)o(w)o(a)o(y)f(from)f(the)i(ro)q(ot)g(of)f(the)i
12398 (game)d(tree.)62 2212 y Fk(\017)21 b Fe(plytogo)p Fn(:)15
12399 b(The)c(n)o(um)o(b)q(er)f(of)g(ply)h(un)o(til)f(w)o(e)h(reac)o(h)g(the)
12400 h(b)q(ottom)d(of)h(the)i(game)d(tree.)18 b(In)11 b(a)g(searc)o(h)h
12401 (with)e(no)h(extensions)104 2253 y(or)j(forw)o(ard)f(pruning,)g
12402 Fe(plytogo)21 b(+)g(depth)13 b Fn(should)h(b)q(e)g(constan)o(t.)62
12403 2325 y Fk(\017)21 b Fe(&move[i])10 b Fn(or)i Fe(&bestmove)p
12404 Fn(:)j(A)d(p)q(oin)o(ter)g(to)f(an)h(area)g(of)f Fe(APHID)p
12405 1098 2325 V 15 w(MOVESIZE)f Fn(b)o(ytes)i(whic)o(h)g(sp)q(eci\014es)h
12406 (the)g(mo)o(v)o(e)d(b)q(eing)104 2367 y(pla)o(y)o(ed.)62
12407 2438 y Fk(\017)21 b Fe(p)p 129 2438 V 15 w(hash)p Fn(:)c(A)d(p)q(oin)o
12408 (ter)g(to)g(an)g(area)g(of)f Fe(APHID)p 805 2438 V 15
12409 w(HASHTYPESIZE)e Fn(b)o(ytes)k(that)f(con)o(tains)g(the)g(curren)o(t)h
12410 (hash)g(v)n(alue.)62 2510 y Fk(\017)21 b Fe(p)p 129 2510
12411 V 15 w(key)p Fn(:)c(A)c(p)q(oin)o(ter)g(to)f(an)g(area)h
12412 Fe(APHID)p 729 2510 V 15 w(HASHKEYSIZE)d Fn(b)o(ytes)k(that)e(con)o
12413 (tains)h(a)f(lo)q(c)o(k)g(whic)o(h)h(can)g(\\guaran)o(tee")f(the)104
12414 2552 y(b)q(oard)i(stored)h(in)e(the)h(lo)q(cation)f(of)h(the)g(hash)g
12415 (table)g(is)g(correct.)62 2624 y Fk(\017)21 b Fe(alpha)13
12416 b Fn(and)g Fe(beta)p Fn(:)k(Searc)o(h)e(windo)o(w)e(used)i(b)o(y)f
12417 Fm(\013\014)i Fn(implemen)o(tatio)o(n;)11 b(they)j(are)g(exp)q(ected)i
12418 (to)e(b)q(e)h(32-bit)e(in)o(tegers.)62 2696 y Fk(\017)21
12419 b Fe(value)13 b Fn(and)g Fe(score)p Fn(:)k(V)m(alues)d(of)f(leaf)g(no)q
12420 (des;)i(they)f(are)g(exp)q(ected)i(to)e(b)q(e)h(32-bit)e(in)o(tegers)h
12421 (for)g(this)g(library)m(.)954 2828 y(17)p eop
12422 %%Page: 18 18
12423 18 17 bop 0 195 a Fc(A.4)56 b(Stubs)19 b(T)-5 b(o)19
12424 b(Be)f(W)-5 b(ritten)62 263 y Fk(\017)21 b Fe(int)g(aphid)p
12425 304 263 14 2 v 15 w(stub)p 407 263 V 14 w(encodeinit\(char)e(*msg\))p
12426 Fn(:)k(Pro)o(vides)17 b(the)g(absolute)g(master)f(with)h(a)f(4000-b)o
12427 (yte)g(bu\013er)i(to)104 305 y(store)g(all)d(p)q(ertinen)o(t)k
12428 (information)14 b(ab)q(out)i(the)i(ro)q(ot)f(of)f(the)i(game)d(tree.)29
12429 b(The)17 b(return)i(v)n(alue)d(is)h(the)g(n)o(um)o(b)q(er)g(of)104
12430 346 y(b)o(ytes)d(used)h(in)f(the)g(string)g Fe(msg)p
12431 Fn(.)62 421 y Fk(\017)21 b Fe(int)g(aphid)p 304 421 V
12432 15 w(stub)p 407 421 V 14 w(decodeinit\(int)e(msg)p 814
12433 421 V 15 w(ln,)j(char)f(*msg\))p Fn(:)15 b(All)9 b(other)i(pro)q
12434 (cesses)j(in)c(the)h(system,)f(aside)h(from)104 463 y(the)i(absolute)f
12435 (master,)g(receiv)o(e)i(the)f(message)f(length)g(and)g(the)h(message)f
12436 (enco)q(ded)i(b)o(y)e Fe(aphid)p 1606 463 V 15 w(stub)p
12437 1709 463 V 15 w(encodeinit)p Fn(,)104 504 y(and)h(should)h(set)h(the)f
12438 (ro)q(ot)g(of)g(their)g(game)e(tree,)j(accordingly)m(.)62
12439 579 y Fk(\017)21 b Fe(void)g(aphid)p 326 579 V 14 w(stub)p
12440 428 579 V 15 w(movedownpath\(int)e(num)p 880 579 V 15
12441 w(moves,)h(char)h(*movepath\))p Fn(:)15 b(Called)10 b(b)o(y)h(the)h
12442 (sla)o(v)o(es,)f(a)g(series)i(of)104 620 y Fe(num)p 173
12443 620 V 15 w(moves)d Fn(mo)o(v)o(es)h(is)g(giv)o(en)h(in)f
12444 Fe(movepath)p Fn(,)f(with)h(eac)o(h)h(mo)o(v)o(e)e(b)q(eing)i
12445 Fe(APHID)p 1328 620 V 15 w(MOVESIZE)e Fn(b)o(ytes)i(long.)17
12446 b(The)12 b(routine)104 662 y(should)h(pla)o(y)g(through)h(the)h(mo)o(v)
12447 o(es)d(giv)o(en)i(in)f Fe(movepath)f Fn(from)h(the)h(ro)q(ot)g(of)f
12448 (the)i(game)d(tree.)62 737 y Fk(\017)21 b Fe(void)g(aphid)p
12449 326 737 V 14 w(stub)p 428 737 V 15 w(moveuppath\(int)e(num)p
12450 836 737 V 15 w(moves,)i(char)g(*movepath\))p Fn(:)14
12451 b(Called)d(b)o(y)g(the)h(sla)o(v)o(es,)f(should)g(com-)104
12452 778 y(pletely)j(undo)f(an)o(y)h(c)o(hanges)g(made)f(b)o(y)h
12453 Fe(aphid)p 856 778 V 14 w(stub)p 958 778 V 15 w(movedownpath)p
12454 Fn(.)62 853 y Fk(\017)21 b Fe(int)g(aphid)p 304 853 V
12455 15 w(stub)p 407 853 V 14 w(iterativedeepening\(i)o(nt)e(depth,)h(int)h
12456 (last,)g(int)g(max\))p Fn(:)d(Called)13 b(b)o(y)h(the)h(sla)o(v)o(es,)f
12457 (this)104 894 y(routine)j(should)f(return)i(the)g(searc)o(h)g(depth)f
12458 (for)g(the)g(next)g(searc)o(h)h(of)f(a)f(leaf)g(no)q(de)i(from)d(a)h
12459 (master's)g(tree.)28 b(F)m(or)104 936 y(most)12 b(programs)h(that)h(do)
12460 g(iterativ)o(e)g(deep)q(ening)g(in)g(1)f(ply)h(steps,)h(this)f(should)f
12461 (simply)f(return)j Fe(last)21 b(+)h(1)p Fn(.)62 1011
12462 y Fk(\017)f Fe(void)g(aphid)p 326 1011 V 14 w(stub)p
12463 428 1011 V 15 w(preparesearch\(int)e(depth,)h(int)h(plytogo,)f(int)i
12464 (winstats[],)d(int)i(*alpha,)104 1052 y(int)g(*beta\))p
12465 Fn(:)16 b(Called)10 b(b)o(y)i(the)g(sla)o(v)o(es,)f(this)h(routine)g
12466 (sets)g(the)g(initial)e(windo)o(w)h(searc)o(hed)i(b)o(y)e(the)h(sla)o
12467 (v)o(es.)17 b(Statistics)104 1094 y(on)12 b(previous)h(searc)o(hes)h
12468 (and)f(the)g(curren)o(t)h(guessed)g(score)g(at)e(the)h(ro)q(ot)g(are)f
12469 (passed)i(in)e(via)g(the)h Fe(winstats[])d Fn(arra)o(y)m(.)104
12470 1135 y(The)j(routine)f(should)h(set)g Fe(*alpha)e Fn(and)h
12471 Fe(*beta)g Fn(b)q(efore)h(terminating.)j(F)m(urthermore,)c(this)g
12472 (routine)h(should)f(ensure)104 1177 y(that)i(an)o(y)f(global)f("alarm")
12473 g(states)j(ha)o(v)o(e)e(b)q(een)i(turned)g(o\013.)62
12474 1251 y Fk(\017)21 b Fe(int)g(aphid)p 304 1251 V 15 w(stub)p
12475 407 1251 V 14 w(alphabeta\(int)f(depth,)g(int)h(plytogo,)f(int)i
12476 (alpha,)e(int)h(beta\))p Fn(:)c(Called)c(b)o(y)h(b)q(oth)104
12477 1293 y(the)f(master)e(and)h(the)h(sla)o(v)o(es,)f(this)g(routine)g
12478 (should)g(call)g(y)o(our)g(implem)o(en)o(tation)d(of)j
12479 Fm(\013\014)r Fn(,)g(and)g(return)h(the)g(minim)o(ax)104
12480 1334 y(v)n(alue)g(bac)o(k)h(to)g(the)g(APHID)g(library)m(.)62
12481 1409 y Fk(\017)21 b Fe(int)g(aphid)p 304 1409 V 15 w(stub)p
12482 407 1409 V 14 w(evaluate\(int)f(depth,)g(int)i(alpha,)e(int)h(beta\))p
12483 Fn(:)c(Called)c(b)o(y)g(the)h(master)f(the)h(\014rst)g(time)104
12484 1451 y(it)g(visits)h(a)f(leaf)g(of)g(its)h(tree,)g(this)g(routine)g
12485 (should)f(simply)f(call)h(y)o(our)g(ev)n(aluation)f(routine)i(and)g
12486 (return)g(the)h(score)104 1492 y(for)d(the)i(p)q(osition)e(reac)o(hed)i
12487 (at)f Fe(depth)f Fn(ply)g(within)g(the)i(tree.)62 1567
12488 y Fk(\017)21 b Fe(int)g(aphid)p 304 1567 V 15 w(stub)p
12489 407 1567 V 14 w(stopsearch\(int)e(pass)p 836 1567 V 15
12490 w(stats[]\))p Fn(:)j(Called)16 b(only)f(b)o(y)i(the)g(absolute)f
12491 (master)g(pro)q(cess,)j(this)104 1608 y(routine)d(should)g(c)o(hec)o(k)
12492 h(y)o(our)e(timer)g(and)h(determine)g(if)f(y)o(our)h(time)e(limit)f
12493 (has)k(b)q(een)g(exceeded)h(for)d(a)h(searc)o(h.)25 b(If)104
12494 1650 y(the)14 b(time)f(limit)e(has)j(b)q(een)h(exceeded,)h(this)e
12495 (routine)g(should)f(return)i(1;)f(otherwise,)g(0.)62
12496 1725 y Fk(\017)21 b Fe(int)g(aphid)p 304 1725 V 15 w(stub)p
12497 407 1725 V 14 w(visited\(\))p Fn(:)c(Called)d(b)o(y)g(the)g(sla)o(v)o
12498 (es,)g(this)g(should)g(return)i(a)e(global)e(coun)o(t)j(of)e(the)i(n)o
12499 (um)o(b)q(er)f(of)104 1766 y(no)q(des)g(visited)g(b)o(y)g(the)g
12500 (program.)0 1882 y Fc(A.5)56 b(In)n(terface)18 b(Calls)h(Used)f(b)n(y)h
12501 (Master)g(and)g(Sla)n(v)n(e)62 1951 y Fk(\017)i Fe(void)g(aphid)p
12502 326 1951 V 14 w(startup\(argv\))p Fn(:)k(In)19 b(the)g(\014rst)h(pro)q
12503 (cess)g(run,)g(PVM)f(is)g(spa)o(wned)g(on)g(the)g(mac)o(hines)f(sp)q
12504 (eci\014ed,)104 1992 y(and)c(a)f(sla)o(v)o(e)h(pro)q(cess)i(is)e(spa)o
12505 (wned)g(with)g(the)h(same)e(argumen)o(t)g(list)g Fe(\(argv\))g
12506 Fn(as)h(the)h(master,)e(as)h(sp)q(eci\014ed)i(b)o(y)d(the)104
12507 2034 y Fe(aphid.config)e Fn(\014le.)18 b(In)c(a)g(spa)o(wned)g(pro)q
12508 (cess,)h(the)g(APHID)f(library)f(nev)o(er)i(exits)f(this)g(function)g
12509 (call.)62 2108 y Fk(\017)21 b Fe(void)g(aphid)p 326 2108
12510 V 14 w(exit\(\))p Fn(:)j(This)17 b(routine)h(remo)o(v)o(es)e(a)h(pro)q
12511 (cess)j(from)15 b(the)j(PVM)g(group,)f(and)g(it)g(should)g(b)q(e)h
12512 (called)104 2150 y(b)q(efore)e(an)o(y)f(pro)q(cess)j(exits)e(\(due)g
12513 (to)g(errors)h(or)e(normal)f(completion\).)21 b(If)16
12514 b(the)g(pro)q(cess)h(is)f(the)g(absolute)g(master,)104
12515 2191 y(completion)11 b(of)i(this)h(routine)f(ensures)j(that)d(all)f(of)
12516 h(the)h(spa)o(wned)g(pro)q(cesses)i(ha)o(v)o(e)d(b)q(een)i(sh)o(ut)f
12517 (do)o(wn)f(successfully)m(.)62 2266 y Fk(\017)21 b Fe(int)g(aphid)p
12518 304 2266 V 15 w(master\(\))p Fn(:)16 b(Returns)f(1)e(if)g(the)i(pro)q
12519 (cess)h(is)d(a)h(master)f(in)h(the)g(hierarc)o(h)o(y)m(,)g(and)f(0)h
12520 (otherwise.)62 2341 y Fk(\017)21 b Fe(int)g(aphid)p 304
12521 2341 V 15 w(slave\(\))p Fn(:)14 b(Returns)d(1)f(if)g(the)h(pro)q(cess)h
12522 (w)o(as)e(spa)o(wned,)h(returns)h(0)e(if)f(it)h(is)g(the)h(absolute)f
12523 (master)g(pro)q(cess)104 2382 y(whic)o(h)k(spa)o(wned)h(the)g(other)g
12524 (pro)q(cesses.)23 b(Note)15 b(that)f(a)h(pro)q(cess)h(can)f(b)q(e)g(b)q
12525 (oth)f(a)h(sla)o(v)o(e)f(and)g(a)g(master)g(dep)q(ending)104
12526 2424 y(on)f(the)i(hierarc)o(h)o(y)f(sp)q(eci\014ed)i(in)d
12527 Fe(aphid.config)p Fn(.)954 2828 y(18)p eop
12528 %%Page: 19 19
12529 19 18 bop 0 195 a Fc(A.6)56 b(In)n(terface)18 b(Calls)h(Used)f(b)n(y)h
12530 (Masters)g(Only)62 263 y Fk(\017)i Fe(void)g(aphid)p
12531 326 263 14 2 v 14 w(initserach\(int)e(maxdepth\))p Fn(:)d(Called)d(b)o
12532 (y)h(the)g(absolute)g(master)g(pro)q(cess,)h(this)f(pro)q(cedure)h
12533 (pre-)104 305 y(pares)i(to)g(start)g(a)f(searc)o(h)i(in)e(parallel.)26
12534 b(This)16 b(routine)h(calls)f Fe(aphid)p 1212 305 V 15
12535 w(stub)p 1315 305 V 15 w(encodeinit)p Fn(,)f(and)h(then)h(informs)e
12536 (all)104 346 y(of)e(the)i(other)g(pro)q(cesses)i(of)c(the)i(curren)o(t)
12537 h(state)f(of)e(the)i(game.)i(The)e(parameter)f(indicates)g(the)h(maxim)
12538 n(um)10 b(depth)104 388 y(that)k(an)o(y)f(pro)q(cess)j(is)e(nominall)o
12539 (y)d(allo)o(w)o(ed)i(to)g(searc)o(h,)i Fl(not)g(including)h(se)n(ar)n
12540 (ch)e(extensions)p Fn(.)62 463 y Fk(\017)21 b Fe(int)g(aphid)p
12541 304 463 V 15 w(rootsearch\(int)e(depth,)h(int)h(plytogo,)f(int)i
12542 (alpha,)e(int)h(beta\))p Fn(:)26 b(This)18 b(routine)h(is)f(called)104
12543 504 y(b)o(y)d(the)h(absolute)g(master,)e(instead)i(of)f(calling)f(the)i
12544 (t)o(ypical)f Fm(\013\014)i Fn(implemen)o(taiton.)i(It)d(allo)o(ws)e(a)
12545 h(master)g(pro)q(cess)104 546 y(to)i(do)g(m)o(ultiple)e(passes)k(of)e
12546 (the)h(tree)g(un)o(til)f(the)h(searc)o(h)g(is)g(completed,)f(or)g(the)h
12547 (alarm)d(has)j(b)q(een)g(signalled)f(via)104 587 y Fe(aphid)p
12548 217 587 V 14 w(stub)p 319 587 V 15 w(stopsearch)p Fn(.)f(If)e(the)g
12549 (searc)o(h)i(is)d(allo)o(w)o(ed)g(to)h(complete,)f(this)h(routine)g
12550 (returns)h(the)g(minim)o(ax)c(v)n(alue)104 629 y(of)i(the)i(tree)g
12551 (that)f(it)f(has)h(b)q(een)h(ask)o(ed)f(to)g(searc)o(h.)62
12552 703 y Fk(\017)21 b Fe(int)g(aphid)p 304 703 V 15 w(intnode)p
12553 473 703 V 14 w(premove\(int)e(depth,)i(char)g(*moveptr\))p
12554 Fn(:)15 b(Called)d(b)o(y)h(the)g(absolute)g(master,)e(this)i(rou-)104
12555 745 y(tine)h(stores)h(mo)o(v)o(es)e(made)f(b)q(efore)j(a)f(call)f(to)g
12556 Fe(aphid)p 938 745 V 15 w(rootsearch)f Fn(in)h(the)i(mo)o(v)o(e)d
12557 (list.)62 820 y Fk(\017)21 b Fe(void)g(aphid)p 326 820
12558 V 14 w(endsearch\(\))p Fn(:)15 b(The)e(absolute)f(master)g(should)g
12559 (call)f(this)i(routine)f(when)h(it)f(is)g(\014nished)h(searc)o(hing)f
12560 (a)104 861 y(tree)i(that)e(has)h(b)q(een)h(called)e(;)h(it)f(stops)h
12561 (the)g(sla)o(v)o(es)g(from)e(w)o(orking)g(on)i(the)g(lea)o(v)o(es)g(of)
12562 f(the)h(game)e(tree)j(and)e(prepares)104 903 y(the)i(sla)o(v)o(es)g(to)
12563 g(receiv)o(e)h(a)f(new)g(ro)q(ot)g(p)q(osition.)62 977
12564 y Fk(\017)21 b Fe(void)g(aphid)p 326 977 V 14 w(horizon\(int)f(depth\))
12565 p Fn(:)15 b(A)d(\\master")e(pro)q(cess)j(calls)e(this)h(routine)f(to)g
12566 (determine)h(if)e(it)h(has)h(reac)o(hed)104 1019 y(its)i(arti\014cial)f
12567 (horizon.)62 1094 y Fk(\017)21 b Fe(void)g(aphid)p 326
12568 1094 V 14 w(eval)p 428 1094 V 15 w(leaf\(int)f(alpha,)h(int)g(beta,)g
12569 (int)g(depth,)g(char)g(*p)p 1403 1094 V 15 w(hash,)g(char)g(*p)p
12570 1702 1094 V 15 w(key\))p Fn(:)104 1135 y(This)10 b(routine)h
12571 (determines)g(a)f(score)i(v)n(alue)d(for)h(the)i(leaf,)e(based)h(on)f
12572 (the)h(b)q(est)h(information)7 b(a)o(v)n(ailable)h(to)j(the)g(master.)
12573 104 1177 y Fe(p)p 129 1177 V 15 w(hash)i Fn(and)h Fe(p)p
12574 348 1177 V 15 w(key)g Fn(are)g(required)h(to)f(determine)f(if)g(this)h
12575 (no)q(de)h(has)f(b)q(een)h(previously)e(visited.)62 1251
12576 y Fk(\017)21 b Fe(void)g(aphid)p 326 1251 V 14 w(intnode)p
12577 494 1251 V 15 w(start\(int)f(depth,)g(char)h(*p)p 1032
12578 1251 V 15 w(hash,)g(char)g(*p)p 1331 1251 V 15 w(key\))p
12579 Fn(:)16 b(Called)11 b(b)o(y)g(a)h(master)f(pro)q(cess,)104
12580 1293 y(this)j(routine)g(initializes)e(b)q(ound)i(gathering)g
12581 (information)d(for)i(an)h(in)o(terior)f(no)q(de)h(within)f(the)i(game)d
12582 (tree.)19 b Fe(p)p 1850 1293 V 16 w(hash)104 1334 y Fn(and)13
12583 b Fe(p)p 209 1334 V 16 w(key)g Fn(are)h(required)h(to)f(determine)g(if)
12584 f(this)h(no)q(de)g(has)g(b)q(een)h(previously)f(visited.)62
12585 1409 y Fk(\017)21 b Fe(void)g(aphid)p 326 1409 V 14 w(intnode)p
12586 494 1409 V 15 w(move\(int)f(depth,)g(char)h(*moveptr\))p
12587 Fn(:)k(Called)18 b(b)o(y)g(a)g(master)g(pro)q(cess,)i(this)f(routine)
12588 104 1451 y(inserts)c(the)f(mo)o(v)o(e)e(p)q(oin)o(ted)i(to)f(b)o(y)h
12589 Fe(moveptr)e Fn(in)o(to)h(a)h(hidden)g(mo)o(v)o(e)e(list)h(that)h(will)
12590 e(ev)o(en)o(tually)h(b)q(e)i(sen)o(t)f(to)g(a)f(sla)o(v)o(e)104
12591 1492 y(in)g Fe(aphid)p 265 1492 V 15 w(eval)p 368 1492
12592 V 15 w(leaf)p Fn(.)62 1567 y Fk(\017)21 b Fe(void)g(aphid)p
12593 326 1567 V 14 w(intnode)p 494 1567 V 15 w(update\(int)e(depth,)i(int)g
12594 (value\))p Fn(:)27 b(Called)19 b(b)o(y)f(the)i(master)f(pro)q(cess,)j
12595 (this)d(routine)104 1608 y(tak)o(es)d(the)g(v)n(alue)f(returned)j(b)o
12596 (y)d(the)i(c)o(hild)e Fm(\013\014)j Fn(call)d(and)h(uses)h(it)e(to)h
12597 (up)q(date)g(the)h(hidden)e(\\b)q(ound")h(information)104
12598 1650 y(gathered)f(for)e(ev)o(ery)i(no)q(de)f(in)f(the)i(master's)e
12599 (tree.)62 1725 y Fk(\017)21 b Fe(void)g(aphid)p 326 1725
12600 V 14 w(intnode)p 494 1725 V 15 w(fixbound\(int)e(depth\))p
12601 Fn(:)h(In)c(the)g(case)h(of)e(a)h(cuto\013,)g(this)g(routine)g(will)e
12602 (\014x)h(the)i(hidden)104 1766 y(b)q(ound)d(information)d(when)j(not)g
12603 (all)f(mo)o(v)o(es)f(ha)o(v)o(e)i(b)q(een)h(fully)d(explored.)62
12604 1841 y Fk(\017)21 b Fe(void)g(aphid)p 326 1841 V 14 w(intnode)p
12605 494 1841 V 15 w(end\(int)f(depth,)h(int)g(*score\))p
12606 Fn(;)12 b(This)j(routine)f(is)g(called)g(b)o(y)h(a)f(master)f(for)h(ev)
12607 o(ery)i(in-)104 1882 y(ternal)d(no)q(de)g(within)f(the)i(tree,)g(and)e
12608 (ensures)j(that)e(the)g(score)i(returned)f(is)f(consisten)o(t)h(with)e
12609 (previously)h(gathered)104 1924 y(information)e(ab)q(out)j(the)g(no)q
12610 (de.)0 2040 y Fc(A.7)56 b(In)n(terface)18 b(Calls)h(Used)f(b)n(y)h(Sla)
12611 n(v)n(es)g(Only)62 2108 y Fk(\017)i Fe(int)g(aphid)p
12612 304 2108 V 15 w(checkalarm\(\))p Fn(:)e(This)d(routine)h(c)o(hec)o(ks)g
12613 (to)f(see)h(if)f(a)f(searc)o(h)j(should)e(b)q(e)g(terminated.)24
12614 b(If)16 b(the)h(v)n(alue)104 2150 y(returned)f(is)e(equal)f(to)h(0,)g
12615 (the)h(searc)o(h)g(should)f(con)o(tin)o(ue.)19 b(If)13
12616 b(the)i(v)n(alue)f(returned)h(is)f(not)h(equal)e(to)h(0,)g(the)g
12617 (curren)o(t)104 2191 y(searc)o(h)h(has)f(b)q(een)h(in)o(terrupted,)g
12618 (and)e(w)o(e)h(should)g(terminate)f(it)h(in)f(a)h(\\nice")g(w)o(a)o(y)m
12619 (.)954 2828 y(19)p eop
12620 %%Page: 20 20
12621 20 19 bop 0 195 a Fc(A.8)56 b(The)18 b(\\aphid.con\014g")h(File)e
12622 (Description)62 263 y Fk(\017)k Fn(The)15 b(\014rst)g(line)f(con)o
12623 (tains)h(t)o(w)o(o)f(in)o(tegers:)21 b(The)15 b(n)o(um)o(b)q(er)f(of)g
12624 (lev)o(els)g(in)g(the)i(pro)q(cess)g(hierarc)o(h)o(y)m(,)e(and)h(the)g
12625 (minim)n(um)104 305 y(gran)o(ularit)o(y)d(of)i(w)o(ork)f(that)h(w)o(e)g
12626 (are)h(allo)q(cated)e(in)g(parallel.)62 380 y Fk(\017)21
12627 b Fn(The)d(next)g(lines)g(eac)o(h)g(con)o(tain)g(one)g(in)o(teger,)g
12628 (eac)o(h)g(in)o(teger)h(represen)o(ting)g(the)f(v)n(alue)g(of)f
12629 Fm(d)1607 365 y Fd(0)1636 380 y Fn(for)g(a)h(lev)o(el)f(in)g(the)104
12630 421 y(pro)q(cess)e(hierarc)o(h)o(y)m(.)62 496 y Fk(\017)21
12631 b Fn(The)14 b(last)g(lines)g(indicate)h(what)f(mac)o(hines)f(the)i(pro)
12632 q(cesses)i(should)c(b)q(e)i(spa)o(wned)g(on,)f(and)g(what)g(executable)
12633 h(is)f(to)104 537 y(b)q(e)j(run,)g(one)g(line)f(p)q(er)i(pro)q(cess)g
12634 (to)f(b)q(e)g(spa)o(wned.)27 b(By)17 b(default,)f(APHID)h(will)e(spa)o
12635 (wn)i(an)f(executable)i(with)e(the)104 579 y(same)d(program)f(name)h
12636 (as)h(the)h(original)d(program)g(unless)j(a)f Fe(#)f
12637 Fn(c)o(haracter)j(app)q(ears)e(on)g(the)h(line,)e(whic)o(h)h(indicates)
12638 104 620 y(a)h(separation)h(b)q(et)o(w)o(een)h(the)f(mac)o(hine)e(name)g
12639 (and)i(the)g(program)e(name.)22 b(The)16 b(absolute)f(master)g(pro)q
12640 (cess)j(is)d(not)104 662 y(listed)c(in)f(this)h(hierarc)o(h)o(y)m(.)17
12641 b(A)10 b(pro)q(cess)j(hierarc)o(h)o(y)e(can)g(b)q(e)g(sp)q(eci\014ed)i
12642 (using)d(tabs)h(to)g(mo)o(v)o(e)e(the)i(start)h(of)e(the)h(mac)o(hine)
12643 104 703 y(name)h(o)o(v)o(er)i(in)g(the)g(\014le.)954
12644 2828 y(20)p eop
12645 %%Trailer
12646 end
12647 userdict /end-hook known{end-hook}if
12648 %%EOF