A bunch of chess-related papers.
[typhoon-papers.git] / parallel / jpdc.ps
1 %!PS-Adobe-2.0
2 %%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
3 %%Title: journal.dvi
4 %%Pages: 39
5 %%PageOrder: Ascend
6 %%BoundingBox: 0 0 612 792
7 %%DocumentFonts: Times-Roman Times-Bold Times-Italic Courier
8 %%DocumentPaperSizes: Letter
9 %%EndComments
10 %DVIPSCommandLine: dvips journal -t letter -o journal.ps
11 %DVIPSParameters: dpi=600, comments removed
12 %DVIPSSource:  TeX output 1999.02.12:1313
13 %%BeginProcSet: tex.pro
14 /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
15 /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
16 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
17 ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
18 isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
19 hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
20 TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
21 forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
22 /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
23 /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{
24 /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
25 string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
26 end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
27 /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
28 N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
29 length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
30 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
31 get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
32 dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
33 /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
34 /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
35 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
36 setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
37 .1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}
38 if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
39 length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
40 cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
41 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
42 add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
43 /eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
44 known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
45 /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
46 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
47 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
48 {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
49 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
50 ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
51 RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
52 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
53 round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
54 rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
55 {dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
56 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{
57 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{
58 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
59 a}B /bos{/SS save N}B /eos{SS restore}B end
60 %%EndProcSet
61 %%BeginFont: Times-Roman
62 % @@psencodingfile@{
63 %   author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry",
64 %   version = "0.6",
65 %   date = "22 June 1996",
66 %   filename = "8r.enc",
67 %   email = "kb@@mail.tug.org",
68 %   address = "135 Center Hill Rd. // Plymouth, MA 02360",
69 %   codetable = "ISO/ASCII",
70 %   checksum = "119     662    4424",
71 %   docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX."
72 % @}
73
74 % Idea is to have all the characters normally included in Type 1 fonts
75 % available for typesetting. This is effectively the characters in Adobe
76 % Standard Encoding + ISO Latin 1 + extra characters from Lucida.
77
78 % Character code assignments were made as follows:
79
80 % (1) the Windows ANSI characters are almost all in their Windows ANSI
81 % positions, because some Windows users cannot easily reencode the
82 % fonts, and it makes no difference on other systems. The only Windows
83 % ANSI characters not available are those that make no sense for
84 % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
85 % (173). quotesingle and grave are moved just because it's such an
86 % irritation not having them in TeX positions.
87
88 % (2) Remaining characters are assigned arbitrarily to the lower part
89 % of the range, avoiding 0, 10 and 13 in case we meet dumb software.
90
91 % (3) Y&Y Lucida Bright includes some extra text characters; in the
92 % hopes that other PostScript fonts, perhaps created for public
93 % consumption, will include them, they are included starting at 0x12.
94
95 % (4) Remaining positions left undefined are for use in (hopefully)
96 % upward-compatible revisions, if someday more characters are generally
97 % available.
98
99 % (5) hyphen appears twice for compatibility with both ASCII and Windows.
100
101 /TeXBase1Encoding [
102 % 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
103   /.notdef /dotaccent /fi /fl
104   /fraction /hungarumlaut /Lslash /lslash
105   /ogonek /ring /.notdef
106   /breve /minus /.notdef 
107 % These are the only two remaining unencoded characters, so may as
108 % well include them.
109   /Zcaron /zcaron 
110 % 0x10
111  /caron /dotlessi 
112 % (unusual TeX characters available in, e.g., Lucida Bright)
113  /dotlessj /ff /ffi /ffl 
114  /.notdef /.notdef /.notdef /.notdef
115  /.notdef /.notdef /.notdef /.notdef
116  % very contentious; it's so painful not having quoteleft and quoteright
117  % at 96 and 145 that we move the things normally found there down to here.
118  /grave /quotesingle 
119 % 0x20 (ASCII begins)
120  /space /exclam /quotedbl /numbersign
121  /dollar /percent /ampersand /quoteright
122  /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
123 % 0x30
124  /zero /one /two /three /four /five /six /seven
125  /eight /nine /colon /semicolon /less /equal /greater /question
126 % 0x40
127  /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
128 % 0x50
129  /P /Q /R /S /T /U /V /W
130  /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
131 % 0x60
132  /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
133 % 0x70
134  /p /q /r /s /t /u /v /w
135  /x /y /z /braceleft /bar /braceright /asciitilde
136  /.notdef % rubout; ASCII ends
137 % 0x80
138  /.notdef /.notdef /quotesinglbase /florin
139  /quotedblbase /ellipsis /dagger /daggerdbl
140  /circumflex /perthousand /Scaron /guilsinglleft
141  /OE /.notdef /.notdef /.notdef
142 % 0x90
143  /.notdef /.notdef /.notdef /quotedblleft
144  /quotedblright /bullet /endash /emdash
145  /tilde /trademark /scaron /guilsinglright
146  /oe /.notdef /.notdef /Ydieresis
147 % 0xA0
148  /.notdef % nobreakspace
149  /exclamdown /cent /sterling
150  /currency /yen /brokenbar /section
151  /dieresis /copyright /ordfeminine /guillemotleft
152  /logicalnot
153  /hyphen % Y&Y (also at 45); Windows' softhyphen
154  /registered
155  /macron
156 % 0xD0
157  /degree /plusminus /twosuperior /threesuperior
158  /acute /mu /paragraph /periodcentered
159  /cedilla /onesuperior /ordmasculine /guillemotright
160  /onequarter /onehalf /threequarters /questiondown
161 % 0xC0
162  /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
163  /Egrave /Eacute /Ecircumflex /Edieresis
164  /Igrave /Iacute /Icircumflex /Idieresis
165 % 0xD0
166  /Eth /Ntilde /Ograve /Oacute
167  /Ocircumflex /Otilde /Odieresis /multiply
168  /Oslash /Ugrave /Uacute /Ucircumflex
169  /Udieresis /Yacute /Thorn /germandbls
170 % 0xE0
171  /agrave /aacute /acircumflex /atilde
172  /adieresis /aring /ae /ccedilla
173  /egrave /eacute /ecircumflex /edieresis
174  /igrave /iacute /icircumflex /idieresis
175 % 0xF0
176  /eth /ntilde /ograve /oacute
177  /ocircumflex /otilde /odieresis /divide
178  /oslash /ugrave /uacute /ucircumflex
179  /udieresis /yacute /thorn /ydieresis
180 ] def
181 %%EndFont
182 %%BeginProcSet: texps.pro
183 TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2
184 index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
185 exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
186 exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub
187 dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
188 ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict
189 end definefont 3 -1 roll makefont /setfont load]cvx def}def
190 /ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def
191 /ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def
192 end
193 %%EndProcSet
194 %%BeginProcSet: special.pro
195 TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
196 /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
197 false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
198 /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
199 div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
200 /CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
201 10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
202 /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
203 true def end /@MacSetUp{userdict /md known{userdict /md get type
204 /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
205 length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
206 N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
207 clippath mark{transform{itransform moveto}}{transform{itransform lineto}
208 }{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
209 itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
210 closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
211 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
212 /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
213 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
214 ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
215 not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
216 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
217 pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
218 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
219 TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
220 sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
221 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
222 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
223 {pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
224 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
225 N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
226 maxlength dict begin /magscale true def normalscale currentpoint TR
227 /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
228 /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
229 psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
230 scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
231 /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
232 psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
233 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
234 moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
235 begin /SpecialSave save N gsave normalscale currentpoint TR
236 @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
237 {CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
238 closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
239 sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
240 }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
241 CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
242 lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
243 }N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
244 end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
245 N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
246 /SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
247 SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
248 /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
249 yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end
250 %%EndProcSet
251 TeXDict begin 40258431 52099146 1000 600 600 (journal.dvi)
252 @start /Fa 165[49 58 1[75 1[58 49 1[53 2[58 58 2[58 1[27
253 58 58 44 49 3[58 65[{ TeXBase1Encoding ReEncodeFont }15
254 79.999924 /Times-Roman rf /Fb 133[60 1[60 1[60 60 60
255 60 60 1[60 60 60 60 60 60 1[60 60 2[60 60 60 1[60 14[60
256 16[60 65[{ TeXBase1Encoding ReEncodeFont }21 100.000000
257 /Courier rf /Fc 1 51 df<01FC0007FF801C0FC03003E06001F06000F8F800F8FC00FC
258 FC00FCFC007C78007C3000FC0000FC0000F80000F80001F00003E00003C0000780000F00
259 001E0000380000700000E00001C00C03800C0600180C00181800183FFFF87FFFF8FFFFF0
260 FFFFF016217CA01E>50 D E /Fd 1 101 df<000003E000003FC000003FC0000003C000
261 0003C00000078000000780000007800000078000000F0000000F0000000F0000000F0000
262 1F1E0000FF9E0001E0DE0003807E0007007C000F003C001E003C003E003C003C0078007C
263 0078007C0078007C007800F800F000F800F000F800F040F800F060F801E0C07801E0C078
264 03E0C03807E1801C1CF3000FF87F0007E03C001B247EA220>100
265 D E /Fe 1 101 df<0000001F000003FF000003FF0000003F0000003F0000003E000000
266 3E0000007E0000007E0000007C0000007C000000FC000000FC000000F8000000F8000001
267 F80007E1F8001FF9F0007C1DF000F80FF001F00FF003E007E007C007E00FC007E01F8007
268 E01F8007C03F0007C03F000FC07F000FC07E000F807E000F807E001F80FE001F80FC001F
269 00FC001F00FC003F02FC003F06FC003E06F8003E06F8007E0E7C00FE0C7C00FC0C7C01FC
270 1C3E07BE181F0E1E380FFC0FF003F003C0202F7DAD24>100 D E
271 /Ff 2 13 df<0000003FE000000000000001FFFC0000000000000FFFFF0000000000003F
272 E03FC00000000000FF000FE00000000001FC0007F00003C00007F80003F80003C0000FF0
273 0001FC000380001FE00001FE000380003FC00000FE000780007F800000FF00070000FF00
274 0000FF00070001FE0000007F800F0003FE0000007F800E0003FC0000007F800E0007F800
275 00007FC01E000FF80000003FC01C000FF80000003FC03C001FF00000003FC038001FF000
276 00003FC078003FE00000003FC070003FE00000003FC0F0007FE00000003FC0E0007FC000
277 00003FC1E0007FC00000003FC1C0007FC00000003FC3C000FFC00000003FC78000FF8000
278 00003FC78000FF800000003FCF0000FF800000003FDE0000FF800000003FDE0000FF0000
279 00003FFC0000FF000000003FF80000FF000000003FF00000FF000000003FF00000FF0000
280 00003FE00000FF000000003FC00000FF000000003FC00000FF000000003FC00000FF0000
281 00003FC00000FF000000003FC000007F00000000FFC000007F80000001FFE000003F8000
282 0003FFE000003F8000000F9FE00E001FC000001F1FE01E000FE000007C0FE01C0007F000
283 01F80FE03C0003F8000FE007F0780001FE00FF8003F8F800007FFFFE0001FFF000001FFF
284 F00000FFC0000003FF0000003F000042357BB34A>11 D<000000000001FF000000000000
285 000FFFC00000000000007FFFF0000000000000FE01FC000000000003F000FE0000000000
286 0FC0007F00000000001F00003F00000000003C00003F80000000007800001F8000000000
287 F000001FC000000001E000001FC000000003C000001FC0000000078000001FC00000000F
288 0000001FE00000001E0000001FE00000001C0000001FE00000003C0000001FE000000078
289 0000003FE0000000700000003FC0000000F00000003FC0000001E00000003FC0000001C0
290 0000007FC0000003C00000007F80000003800000007F80000007800000007F8000000700
291 000000FF0000000700000000FF0000000F00000001FE0000000E00000001FC0000000E00
292 000003FC0000001E00000007F80000001C00000007F00000001C0000000FE00000003C00
293 07FF1FC000000038001FFFFF8000000038003FFFFE0000000038003803FE000000007800
294 3FFFFF0000000070003FFFFF8000000070000FFE1FC0000000700000000FE0000000F000
295 00000FE0000000E000000007F0000000E000000007F0000000E000000007F8000001E000
296 000003F8000001C000000003F8000001C000000003FC000001C000000003FC000003C000
297 000003FC0000038000000003FC0000038000000003FC0000038000000007FC0000078000
298 000007FC0000070000000007FC0000070000000007FC0000070000000007FC00000F0000
299 00000FFC00000E000000000FF800000E000000000FF800000E000000000FF800001E0000
300 00001FF800001E000000001FF000001E000000001FF000001C000000001FF000003C0000
301 00003FE000003C000000003FE000003E000000007FC000003E000000007FC000007E0000
302 0000FF8000007E00000000FF0000007E00000001FF0000007F00000001FE000000F70000
303 0003FC000000E780000007F8000000E38000000FF0000000E3C000000FE0000001E1E000
304 001FC0000001C1F000007F80000001C0F80000FF00000001C07E0001FC00000003C01F80
305 0FF000000003800FFFFFE0000000038003FFFF00000000038000FFFC0000000007800000
306 00000000000700000000000000000700000000000000000700000000000000000F000000
307 00000000000E00000000000000000E00000000000000000E00000000000000001E000000
308 00000000001C00000000000000001C00000000000000001C00000000000000003C000000
309 000000000038000000000000000038000000000000000038000000000000000078000000
310 0000000000700000000000000000700000000000000000700000000000000000F0000000
311 0000000000F00000000000000000436B7ED342>I E /Fg 134[60
312 60 1[60 66 40 47 53 2[60 66 100 33 2[33 66 60 40 53 66
313 53 66 60 12[80 66 86 1[73 93 1[113 80 2[47 93 2[80 86
314 1[80 86 11[60 60 60 60 60 2[30 40 45[{ TeXBase1Encoding ReEncodeFont }
315 40 119.999947 /Times-Bold rf /Fh 103[50 32[50 1[50 50
316 50 50 1[50 2[50 50 2[50 50 50 1[50 50 50 50 50 38[50
317 10[50 50 46[{ TeXBase1Encoding ReEncodeFont }20 83.333336
318 /Courier rf /Fi 134[42 42 60 42 42 23 32 28 42 42 42
319 42 65 23 42 23 23 42 42 28 37 42 37 42 37 3[28 1[28 3[78
320 60 1[51 46 55 1[46 60 60 74 51 60 1[28 60 60 2[60 55
321 55 60 7[42 42 42 42 42 42 42 42 42 42 1[21 28 21 2[28
322 28 2[69 34[46 2[{ TeXBase1Encoding ReEncodeFont }62 83.333336
323 /Times-Roman rf /Fj 8 57 df<00380000780001F8001FF800FEF800E0F80000F80000
324 F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000
325 F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000
326 F80000F80000F80000F80001FC00FFFFF8FFFFF815267BA521>49
327 D<00FF000003FFE0000E03F0001800F80030007C0060007E0078003F00FC003F00FE001F
328 80FE001F80FE001F80FE001F807C001F8000001F8000001F0000003F0000003E0000007E
329 0000007C000000F8000001F0000003E0000003C00000078000000E0000001C0000003800
330 000070018000E001800180018003000300060003000C0003001FFFFF003FFFFF007FFFFE
331 00FFFFFE00FFFFFE0019267DA521>I<00FF000003FFE0000F01F8001C007C0030007E00
332 3C003E007E003F007E003F007E003F007E003F003C003F0000003E0000007E0000007C00
333 0000F8000001F0000007E00001FF800001FF00000001E0000000F00000007C0000003E00
334 00003F0000001F0000001F8000001F8038001F807C001F80FE001F80FE001F80FE001F00
335 FC003F0078003E0070007C003800F8001F01F00007FFC00000FF000019277DA521>I<00
336 00380000003800000078000000F8000001F8000001F8000003F8000007F8000006F80000
337 0CF800001CF8000018F8000030F8000070F8000060F80000C0F80001C0F8000180F80003
338 00F8000700F8000E00F8000C00F8001C00F8003800F8003000F8006000F800E000F800FF
339 FFFFE0FFFFFFE00000F8000000F8000000F8000000F8000000F8000000F8000000F80000
340 01FC00003FFFE0003FFFE01B277EA621>I<18000C001F007C001FFFF8001FFFF0001FFF
341 E0001FFF800019FC00001800000018000000180000001800000018000000180000001800
342 0000187F000019FFE0001F81F0001E0078001C003C0018003E0000003E0000001F000000
343 1F0000001F8000001F8030001F807C001F80FC001F80FC001F80FC001F80FC001F00F000
344 1F0060003E0070003E0030007C001C00F8000F03E00003FFC00000FE000019277DA521>
345 I<000FE000003FF80000F81C0001E0060003C01F0007803F000F003F001F003F001E003F
346 003E001E003E0000007C0000007C0000007C0400007C3FC000FCFFF000FDC07800FF003C
347 00FF003E00FE001E00FE001F00FE001F00FC001F80FC001F80FC001F80FC001F807C001F
348 807C001F807C001F807C001F803C001F003E001F001E001E001E003E000F003C00078078
349 0003C1F00001FFC000007F000019277DA521>I<300000003C0000003FFFFFE03FFFFFE0
350 3FFFFFC07FFFFF807FFFFF807000070060000E0060000C00C0001C00C0003800C0007000
351 0000E0000000C0000001C000000380000003800000070000000F0000000E0000001E0000
352 001E0000001E0000003E0000003C0000003C0000007C0000007C0000007C0000007C0000
353 00FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000780000
354 1B287DA621>I<007F000003FFE0000781F8000E007C001C001E0038001E0038000F0078
355 000F0078000F0078000F007C000F007E001E003F801E003FE03C001FF078000FFCF00007
356 FFC00003FF800000FFE00001FFF000079FFC000F07FE001E03FE003C00FF0078003F0078
357 001F80F0000F80F0000F80F0000780F0000780F0000780F00007007800070078000E003C
358 001C001E0038000F80F00003FFE000007F000019277DA521>I E
359 /Fk 5 50 df<7FFFFFFFFFFFFFE0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF07FFFFFFFFFFF
360 FFE03C04789A4D>0 D<600000000006F8000000000FFC000000001F7E000000003F3F00
361 0000007E1F80000000FC0FC0000001F807E0000003F003F0000007E001F800000FC000FC
362 00001F80007E00003F00003F00007E00001F8000FC00000FC001F8000007E003F0000003
363 F007E0000001F80FC0000000FC1F800000007E3F000000003F7E000000001FFC00000000
364 0FF80000000007F00000000007F0000000000FF8000000001FFC000000003F7E00000000
365 7E3F00000000FC1F80000001F80FC0000003F007E0000007E003F000000FC001F800001F
366 8000FC00003F00007E00007E00003F0000FC00001F8001F800000FC003F0000007E007E0
367 000003F00FC0000001F81F80000000FC3F000000007E7E000000003FFC000000001FF800
368 0000000F600000000006303072B04D>2 D<00000000000000E000000000000003F00000
369 000000000FF00000000000003FE0000000000000FF80000000000003FE0000000000000F
370 F80000000000003FE0000000000000FF80000000000003FE0000000000000FF800000000
371 00003FE0000000000000FF80000000000003FE0000000000001FF80000000000007FE000
372 0000000001FF80000000000007FE0000000000001FF00000000000007FC0000000000001
373 FF00000000000007FC0000000000001FF00000000000007FC0000000000001FF00000000
374 000007FC0000000000001FF00000000000007FC0000000000000FF00000000000000FF00
375 0000000000007FC00000000000001FF000000000000007FC00000000000001FF00000000
376 0000007FC00000000000001FF000000000000007FC00000000000001FF00000000000000
377 7FC00000000000001FF000000000000007FC00000000000001FF800000000000007FE000
378 00000000001FF800000000000007FE00000000000000FF800000000000003FE000000000
379 00000FF800000000000003FE00000000000000FF800000000000003FE00000000000000F
380 F800000000000003FE00000000000000FF800000000000003FE00000000000000FF00000
381 0000000003F000000000000000E000000000000000000000000000000000000000000000
382 000000000000000000000000000000000000000000000000000000000000000000000000
383 000000000000000000000000000000000000000000000000000000000000000000000000
384 000000000000000000000000000000000000000000000000000000000000000000007FFF
385 FFFFFFFFFFE0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF07FFFFFFFFFFFFFE03C4E78BE4D>
386 20 D<7000000000000000FC00000000000000FF000000000000007FC00000000000001F
387 F000000000000007FC00000000000001FF000000000000007FC00000000000001FF00000
388 0000000007FC00000000000001FF000000000000007FC00000000000001FF00000000000
389 0007FC00000000000001FF800000000000007FE00000000000001FF800000000000007FE
390 00000000000000FF800000000000003FE00000000000000FF800000000000003FE000000
391 00000000FF800000000000003FE00000000000000FF800000000000003FE000000000000
392 00FF800000000000003FE00000000000000FF00000000000000FF00000000000003FE000
393 0000000000FF80000000000003FE0000000000000FF80000000000003FE0000000000000
394 FF80000000000003FE0000000000000FF80000000000003FE0000000000000FF80000000
395 000003FE0000000000001FF80000000000007FE0000000000001FF80000000000007FE00
396 00000000001FF00000000000007FC0000000000001FF00000000000007FC000000000000
397 1FF00000000000007FC0000000000001FF00000000000007FC0000000000001FF0000000
398 0000007FC0000000000000FF00000000000000FC00000000000000700000000000000000
399 000000000000000000000000000000000000000000000000000000000000000000000000
400 000000000000000000000000000000000000000000000000000000000000000000000000
401 000000000000000000000000000000000000000000000000000000000000000000000000
402 000000000000000000000000000000000000007FFFFFFFFFFFFFE0FFFFFFFFFFFFFFF0FF
403 FFFFFFFFFFFFF07FFFFFFFFFFFFFE03C4E78BE4D>I<0001FF00000000003FC00000000F
404 FFE000000003FFF80000003FFFFC0000000FFFFE0000007FFFFF0000003FE01F000001FF
405 FFFF8000007E0007C00003F803FFE00001F80001E00007E0007FF00003F00000F0000780
406 003FF80007C0000070000F00001FFC000F80000038001E000007FE001F0000001C001C00
407 0003FF003E0000000C0038000001FF807C0000000E0038000001FFC0F800000006007000
408 0000FFE0F80000000700700000007FF1F00000000700600000003FF3E000000003006000
409 00001FFBC00000000300E00000001FFFC00000000380C00000000FFF800000000180C000
410 000007FF000000000180C000000003FF000000000180C000000001FF800000000180C000
411 000001FFC00000000180C000000000FFC00000000180C0000000007FE00000000180C000
412 0000007FF00000000180C000000000FFF80000000180E000000001FFFC00000003806000
413 000001EFFC00000003006000000003E7FE00000003007000000007C7FF00000007007000
414 00000F83FF8000000700300000000F81FFC000000E00380000001F00FFC000000E001800
415 00003E007FE000001C001C0000007C003FF000003C000E000000F8001FFC000078000700
416 0001F0000FFE0000F00007800007E00007FF0003F00003C0000FC00003FFE00FE00001F0
417 003F000000FFFFFFC000007C03FE0000007FFFFF0000003FFFF80000001FFFFE0000000F
418 FFE000000003FFF800000001FE00000000007FC00000592D7BAB64>49
419 D E /Fl 26 123 df<00000C00001C0000380000700000E00001C00003C0000780000F00
420 000F00001E00003C00003C0000780000F80000F00001F00001E00003E00003E00007C000
421 07C00007C0000F80000F80000F80001F00001F00001F00003F00003F00003E00003E0000
422 7E00007E00007E00007E00007C00007C00007C0000FC0000FC0000FC0000FC0000FC0000
423 FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
424 FC0000FC0000FC00007C00007C00007C00007E00007E00007E00007E00003E00003E0000
425 3F00003F00001F00001F00001F00000F80000F80000F800007C00007C00007C00003E000
426 03E00001E00001F00000F00000F800007800003C00003C00001E00000F00000F00000780
427 0003C00001C00000E000007000003800001C00000C166476CA26>40
428 D<C00000E000007000003800001C00000E00000F000007800003C00003C00001E00000F0
429 0000F000007800007C00003C00003E00001E00001F00001F00000F80000F80000F800007
430 C00007C00007C00003E00003E00003E00003F00003F00001F00001F00001F80001F80001
431 F80001F80000F80000F80000F80000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
432 FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
433 FC0000F80000F80000F80001F80001F80001F80001F80001F00001F00003F00003F00003
434 E00003E00003E00007C00007C00007C0000F80000F80000F80001F00001F00001E00003E
435 00003C00007C0000780000F00000F00001E00003C00003C0000780000F00000E00001C00
436 00380000700000E00000C0000016647BCA26>I<00000000C00000000000000001E00000
437 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
438 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
439 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
440 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
441 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
442 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
443 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
444 00007FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF807FFFFFFFFFFFFF
445 FF0000000001E00000000000000001E00000000000000001E00000000000000001E00000
446 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
447 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
448 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
449 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
450 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
451 000000000001E00000000000000001E00000000000000001E00000000000000001E00000
452 000000000001E00000000000000000C00000000041407BB84C>43
453 D<0000FF00000007FFE000001F81F800003E007C0000FC003F0001F8001F8001F0000F80
454 03E00007C007C00003E007C00003E00FC00003F00F800001F01F800001F81F800001F83F
455 800001FC3F800001FC3F800001FC3F000000FC7F000000FE7F000000FE7F000000FE7F00
456 0000FE7F000000FEFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF0000
457 00FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000
458 FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FF
459 FF000000FFFF000000FF7F000000FE7F000000FE7F000000FE7F000000FE7F000000FE7F
460 800001FE3F800001FC3F800001FC3F800001FC1F800001F81F800001F80FC00003F00FC0
461 0003F00FC00003F007E00007E003E00007C003F0000FC001F8001F8000FC003F00003E00
462 7C00001F81F8000007FFE0000000FF000028447CC131>48 D<000030000000F0000001F0
463 000003F000001FF00000FFF000FFFFF000FFE7F000FF07F0000007F0000007F0000007F0
464 000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0
465 000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0
466 000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0
467 000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0
468 000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0
469 000007F0000007F0000007F0000007F000000FF800001FFC007FFFFFFF7FFFFFFF7FFFFF
470 FF204278C131>I<0000000380000000000380000000000780000000000F80000000000F
471 80000000001F80000000003F80000000003F80000000007F8000000000FF8000000000FF
472 8000000001FF8000000003BF80000000033F80000000073F80000000063F800000000C3F
473 800000001C3F80000000183F80000000303F80000000703F80000000603F80000000C03F
474 80000001C03F80000001803F80000003003F80000007003F80000006003F8000000C003F
475 8000001C003F80000018003F80000030003F80000070003F80000060003F800000E0003F
476 800001C0003F80000180003F80000380003F80000300003F80000600003F80000E00003F
477 80000C00003F80001800003F80003800003F80003000003F80006000003F8000E000003F
478 8000FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC00000003F80000000003F80000000003F
479 80000000003F80000000003F80000000003F80000000003F80000000003F80000000003F
480 80000000003F80000000003F80000000003F80000000003F8000000000FFE00000007FFF
481 FFC000007FFFFFC000007FFFFFC02A437DC231>52 D<06000000C007C00007C007FC007F
482 8007FFFFFF0007FFFFFE0007FFFFFC0007FFFFF80007FFFFE00007FFFF8000063FFC0000
483 060000000006000000000600000000060000000006000000000600000000060000000006
484 000000000600000000060000000006000000000600000000060000000006000000000600
485 FF00000607FFC000061F01F000063800FC0006F0007E0007C0003F000780001F80078000
486 1FC00700000FC00600000FE000000007F000000007F000000007F000000007F800000003
487 F800000003F800000003FC00000003FC00000003FC00000003FC00000003FC3E000003FC
488 7F000003FCFF800003FCFF800003FCFF800003FCFF800003FCFF800003F8FF000007F8FE
489 000007F860000007F060000007F07000000FF03000000FE03800001FC01C00001FC01E00
490 003F800F00007F00078000FE0003C001FC0001F807F000007FFFE000001FFF00000007F8
491 000026447BC131>I<7FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF80
492 7FFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000
493 000000000000000000000000000000000000000000000000000000000000000000000000
494 000000000000000000000000000000000000000000000000000000000000000000000000
495 000000000000000000000000000000000000000000000000000000000000000000000000
496 0000000000000000007FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF80
497 7FFFFFFFFFFFFFFF0041187BA44C>61 D<0007FC000000003FFF80000000F80FE0000003
498 C003F00000070001F800000E0000FC00000FC0007E00001FE0007F00001FF0003F80001F
499 F0003F80001FF0003F80001FF0001FC0001FF0001FC0000FE0001FC0000380001FC00000
500 00001FC0000000001FC0000000001FC0000000001FC00000000FFFC0000001FFFFC00000
501 0FFE1FC000003FC01FC00000FF001FC00003FC001FC00007F8001FC0000FF0001FC0001F
502 E0001FC0003FC0001FC0007FC0001FC0007F80001FC0007F80001FC060FF00001FC060FF
503 00001FC060FF00001FC060FF00003FC060FF00003FC060FF00003FC060FF80007FC0607F
504 8000EFC0607FC000C7E0C03FC001C7E0C01FE00783F1C007F81E03FF8001FFFC01FF0000
505 1FE0007C002B2E7CAC31>97 D<00007F80000003FFF000000FC07C00003F000F0000FC00
506 038001F80001C003F8000FC007F0001FE007E0003FE00FE0003FE01FC0003FE01FC0003F
507 E03F80003FE03F80001FC07F800007007F800000007F800000007F00000000FF00000000
508 FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF
509 00000000FF00000000FF000000007F000000007F800000007F800000003F800000003F80
510 0000303FC00000301FC00000700FE00000600FE00000E007F00000C003F80001C001F800
511 038000FC000700003F001E00001FC078000007FFF0000000FF8000242E7DAC2B>99
512 D<000000007F000000003FFF000000003FFF000000003FFF0000000001FF0000000000FF
513 00000000007F00000000007F00000000007F00000000007F00000000007F00000000007F
514 00000000007F00000000007F00000000007F00000000007F00000000007F00000000007F
515 00000000007F00000000007F00000000007F00000000007F00000000007F00000000007F
516 00000000007F0000007F807F000003FFF07F00000FC07C7F00003F000E7F00007E00077F
517 0000FC0003FF0003F80001FF0007F00000FF0007E00000FF000FE000007F001FC000007F
518 001FC000007F003F8000007F003F8000007F007F8000007F007F8000007F007F0000007F
519 00FF0000007F00FF0000007F00FF0000007F00FF0000007F00FF0000007F00FF0000007F
520 00FF0000007F00FF0000007F00FF0000007F00FF0000007F00FF0000007F007F0000007F
521 007F8000007F007F8000007F003F8000007F003F8000007F001FC000007F001FC000007F
522 000FC00000FF000FE00000FF0007F00001FF0003F00003FF0001F800077F8000FC000E7F
523 C0003F001C7FFE000FC0F87FFE0003FFE07FFE00007F007F002F467DC436>I<0001FE00
524 000007FFC000001F03F000007E00FC0000FC007E0001F8003F0003F0003F0007E0001F80
525 0FE0001FC00FC0000FC01FC0000FC03F80000FE03F800007E03F800007E07F800007F07F
526 000007F07F000007F0FF000007F0FF000007F0FF000007F0FFFFFFFFF0FFFFFFFFF0FF00
527 000000FF00000000FF00000000FF00000000FF00000000FF000000007F000000007F0000
528 00007F800000007F800000003F800000003F800000301FC00000301FC00000700FC00000
529 600FE00000E007F00000C003F00001C001F800038000FC000700003E001E00001F80F800
530 0003FFE0000000FF0000242E7DAC2B>I<01FC00000000FFFC00000000FFFC00000000FF
531 FC0000000007FC0000000003FC0000000001FC0000000001FC0000000001FC0000000001
532 FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
533 FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
534 FC0000000001FC0000000001FC0000000001FC0000000001FC01FE000001FC07FFC00001
535 FC1E07F00001FC3801F80001FC7001FC0001FCE000FC0001FDC000FE0001FD8000FE0001
536 FF80007F0001FF00007F0001FF00007F0001FE00007F0001FE00007F0001FE00007F0001
537 FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001
538 FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001
539 FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001
540 FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001
541 FC00007F0001FC00007F0003FE0000FF80FFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFE2F
542 457DC436>104 D<01E00007F80007F8000FFC000FFC000FFC000FFC0007F80007F80001
543 E00000000000000000000000000000000000000000000000000000000000000000000000
544 000000000001FC00FFFC00FFFC00FFFC0007FC0003FC0001FC0001FC0001FC0001FC0001
545 FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001
546 FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001
547 FC0001FC0001FC0001FC0001FC0001FC0003FE00FFFFF8FFFFF8FFFFF815437DC21C>I<
548 01FC00FFFC00FFFC00FFFC0007FC0003FC0001FC0001FC0001FC0001FC0001FC0001FC00
549 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
550 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
551 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
552 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
553 01FC0001FC0001FC0001FC0001FC0003FE00FFFFF8FFFFF8FFFFF815457DC41C>108
554 D<01FC00FF00001FE00000FFFC07FFE000FFFC0000FFFC0F03F801E07F0000FFFC3C01FC
555 07803F800007FC7000FE0E001FC00003FCE0007E1C000FC00001FDC0007F38000FE00001
556 FD80007F30000FE00001FF80003FF00007F00001FF00003FE00007F00001FF00003FE000
557 07F00001FE00003FC00007F00001FE00003FC00007F00001FE00003FC00007F00001FC00
558 003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F0
559 0001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F
560 800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001
561 FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F8000
562 07F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00
563 003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F0
564 0001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F
565 800007F00003FE00007FC0000FF800FFFFF81FFFFF03FFFFE0FFFFF81FFFFF03FFFFE0FF
566 FFF81FFFFF03FFFFE04B2C7DAB52>I<01FC01FE0000FFFC07FFC000FFFC1E07F000FFFC
567 3801F80007FC7001FC0003FCE000FC0001FDC000FE0001FD8000FE0001FF80007F0001FF
568 00007F0001FF00007F0001FE00007F0001FE00007F0001FE00007F0001FC00007F0001FC
569 00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC
570 00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC
571 00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC
572 00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC
573 00007F0003FE0000FF80FFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFE2F2C7DAB36>I<00
574 007F8000000003FFF00000000FC0FC0000003E001F0000007C000F800000F80007C00001
575 F00003E00003E00001F00007C00000F8000FC00000FC000FC00000FC001F8000007E003F
576 8000007F003F8000007F003F0000003F007F0000003F807F0000003F807F0000003F807F
577 0000003F80FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF
578 0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC07F0000003F807F
579 0000003F807F8000007F803F8000007F003F8000007F001F8000007E001FC00000FE000F
580 C00000FC000FE00001FC0007E00001F80003F00003F00001F80007E00000FC000FC00000
581 3E001F0000001FC0FE00000007FFF8000000007F8000002A2E7DAC31>I<01FC03FC0000
582 FFFC0FFF8000FFFC3C07E000FFFC7001F80007FDE000FE0001FD80007F0001FF80003F80
583 01FF00001FC001FE00001FE001FC00000FE001FC00000FF001FC000007F001FC000007F8
584 01FC000003F801FC000003FC01FC000003FC01FC000003FC01FC000001FE01FC000001FE
585 01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001FE
586 01FC000001FE01FC000001FE01FC000001FE01FC000003FC01FC000003FC01FC000003FC
587 01FC000007F801FC000007F801FC000007F001FC00000FF001FE00000FE001FE00001FC0
588 01FF00003FC001FF00003F8001FF80007E0001FDC000FC0001FCF003F80001FC3C0FE000
589 01FC1FFF800001FC03FC000001FC0000000001FC0000000001FC0000000001FC00000000
590 01FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00000000
591 01FC0000000001FC0000000001FC0000000001FC0000000003FE00000000FFFFF8000000
592 FFFFF8000000FFFFF80000002F3F7DAB36>I<00007F8003000003FFE00700000FE07807
593 00003F801C0F00007E000E0F0000FC00071F0003F800039F0007F80001BF0007F00001FF
594 000FE00000FF001FE00000FF001FC00000FF003FC000007F003FC000007F007F8000007F
595 007F8000007F007F8000007F00FF0000007F00FF0000007F00FF0000007F00FF0000007F
596 00FF0000007F00FF0000007F00FF0000007F00FF0000007F00FF0000007F00FF0000007F
597 00FF0000007F007F8000007F007F8000007F007F8000007F003F8000007F003FC000007F
598 001FC000007F001FE00000FF000FE00000FF000FF00001FF0007F00001FF0003F80003FF
599 0001FC00077F0000FE000E7F00003F001C7F00000FC0F87F000003FFE07F0000007F007F
600 00000000007F00000000007F00000000007F00000000007F00000000007F00000000007F
601 00000000007F00000000007F00000000007F00000000007F00000000007F00000000007F
602 00000000007F00000000007F0000000000FF800000003FFFFE0000003FFFFE0000003FFF
603 FE2F3F7DAB33>I<03F803F0FFF81FFCFFF83C3EFFF8707F07F8E0FF03F9C0FF01F980FF
604 01FB80FF01FB007E01FB003C01FF000001FE000001FE000001FE000001FE000001FC0000
605 01FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0000
606 01FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0000
607 01FC000001FC000001FC000001FC000001FC000001FC000003FF0000FFFFFE00FFFFFE00
608 FFFFFE00202C7DAB26>I<003FE01801FFFC3807E01F780F0003F81E0001F83C0000F87C
609 00007878000078F8000038F8000038F8000018F8000018FC000018FC000018FE000018FF
610 8000007FC000007FFC00003FFFE0001FFFFC000FFFFF0007FFFFC003FFFFE000FFFFF000
611 1FFFF80000FFF800000FFC000003FCC00001FEC00000FEC000007EE000007EE000003EE0
612 00003EF000003EF000003EF000003EF800003CFC00007CFC000078FE0000F8FF0001F0F3
613 8003E0F1F00F80E07FFE00C00FF0001F2E7DAC26>I<0006000000060000000600000006
614 000000060000000E0000000E0000000E0000000E0000001E0000001E0000001E0000003E
615 0000007E0000007E000000FE000001FE000007FE00001FFFFFF0FFFFFFF0FFFFFFF000FE
616 000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE
617 000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE
618 000000FE000000FE000000FE000000FE000C00FE000C00FE000C00FE000C00FE000C00FE
619 000C00FE000C00FE000C00FE000C00FE000C007E001C007F0018007F0018003F0038001F
620 8030001FC0700007E0E00001FFC000007F001E3E7EBC26>I<01FC00007F00FFFC003FFF
621 00FFFC003FFF00FFFC003FFF0007FC0001FF0003FC0000FF0001FC00007F0001FC00007F
622 0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F
623 0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F
624 0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F
625 0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F
626 0001FC0000FF0001FC0000FF0001FC0000FF0001FC0001FF0001FC0001FF0000FC0001FF
627 0000FE0003FF00007E00077F80007F000E7FC0003F001C7FFE000FC0787FFE0003FFF07F
628 FE00007F807F002F2D7DAB36>I<FFFFF001FFFCFFFFF001FFFCFFFFF001FFFC07FF0000
629 7FE003FE00001F8001FE00001F0001FE00000E0000FE00000E0000FE00000C00007F0000
630 1800007F00001800007F80001800003F80003000003F80003000003FC0007000001FC000
631 6000001FE0006000000FE000C000000FE000C000000FF001C0000007F00180000007F001
632 80000003F80300000003F80300000003FC0700000001FC0600000001FC0600000000FE0C
633 00000000FE0C00000000FF0C000000007F18000000007F18000000007FB8000000003FB0
634 000000003FF0000000001FE0000000001FE0000000001FE0000000000FC0000000000FC0
635 00000000078000000000078000000000078000000000030000002E2C7EAA33>I<3FFFFF
636 FFE03FFFFFFFE03FC0003FE03F00003FC03C00007F80380000FF00380000FF00300001FE
637 00700003FC00700003FC00700007F80060000FF00060000FF00060001FE00060003FC000
638 60003FC00000007F80000000FF00000001FF00000001FE00000003FC00000007FC000000
639 07F80000000FF00000001FF00000001FE00060003FC00060007F800060007F80006000FF
640 0000C001FE0000C001FE0000C003FC0000C007F80000C007F80001C00FF00001C01FE000
641 03C01FE00003C03FC00007807F80001F80FF8000FF80FFFFFFFF80FFFFFFFF80232B7DAA
642 2B>122 D E /Fm 75[33 29[50 27[39 44 44 66 44 50 28 39
643 39 1[50 50 50 72 28 44 1[28 50 50 28 44 50 44 50 50 7[55
644 1[83 61 72 55 50 61 1[61 72 66 83 55 1[44 33 72 72 61
645 61 72 66 61 61 6[33 50 1[50 1[50 50 50 5[33 25 4[33 8[33
646 27[50 2[{ TeXBase1Encoding ReEncodeFont }59 100.000000
647 /Times-Italic rf /Fn 8 57 df<000C00003C00007C0003FC00FFFC00FC7C00007C00
648 007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00
649 007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00
650 007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000FE007FFFFE
651 7FFFFE172C7AAB23>49 D<007F800001FFF0000780FC000E003F001C001F8038000FC070
652 000FC0600007E0F00007E0FC0007F0FE0007F0FE0003F0FE0003F0FE0003F07C0007F000
653 0007F0000007F0000007E000000FE000000FC000001FC000001F8000003F0000007E0000
654 007C000000F8000001F0000003E0000007C000000F8000001E0000003C00000078000000
655 F0003000E0003001C0003003800060070000600E0000E01FFFFFE03FFFFFE07FFFFFC0FF
656 FFFFC0FFFFFFC01C2C7DAB23>I<003FC00001FFF00007C0FC000E007E001C003F001C00
657 1F803F001FC03F001FC03F800FC03F000FC03F000FC00C001FC000001FC000001F800000
658 1F8000003F0000003E0000007C000000F8000003F00000FFC00000FFF0000000FC000000
659 3F0000001F8000001FC000000FC000000FE000000FE0000007F0000007F0380007F07C00
660 07F0FE0007F0FE0007F0FE0007F0FE000FE0F8000FE060000FC070001FC038001F801E00
661 3F000780FC0001FFF000007FC0001C2D7DAB23>I<00000E0000000E0000001E0000003E
662 0000003E0000007E000000FE000000FE000001BE000003BE0000033E0000063E00000E3E
663 00000C3E0000183E0000383E0000303E0000603E0000E03E0000C03E0001803E0003803E
664 0003003E0006003E000E003E000C003E0018003E0038003E0030003E0060003E00E0003E
665 00FFFFFFFCFFFFFFFC00003E0000003E0000003E0000003E0000003E0000003E0000003E
666 0000003E0000003E0000007F00001FFFFC001FFFFC1E2D7EAC23>I<0C0001800FC01F80
667 0FFFFF000FFFFE000FFFFC000FFFF0000FFFC0000C7E00000C0000000C0000000C000000
668 0C0000000C0000000C0000000C0000000C0000000C1FC0000C7FF8000DE07C000F801F00
669 0F001F800E000F800C0007C0000007E0000007E0000003E0000003F0000003F0000003F0
670 000003F0780003F0FC0003F0FC0003F0FC0003F0FC0003F0F80007E0E00007E0600007C0
671 70000FC038000F801C001F000E003E000780F80001FFE000007F80001C2D7DAB23>I<00
672 03F800000FFE00003E078000F8018001F007C003E00FC007C00FC00F800FC00F800FC01F
673 0007801F0000003E0000003E0000007E0000007E0000007C0000007C0FC000FC3FF000FC
674 F07C00FDC01E00FF800F00FF000F80FF0007C0FE0007E0FE0007E0FE0003E0FC0003F0FC
675 0003F0FC0003F0FC0003F07C0003F07C0003F07C0003F07E0003F07E0003F03E0003E03E
676 0007E01E0007E01F0007C00F000F8007801F0003C03E0001E07C00007FF000001FC0001C
677 2D7DAB23>I<300000003C0000003FFFFFF83FFFFFF83FFFFFF07FFFFFF07FFFFFE07000
678 01C06000018060000380C0000700C0000E00C0000C0000001C0000003800000030000000
679 70000000E0000001C0000001C00000038000000380000007000000070000000F0000000E
680 0000001E0000001E0000003E0000003E0000003E0000003C0000007C0000007C0000007C
681 0000007C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC
682 000000FC0000007800001D2E7CAC23>I<001FC00000FFF00003E07C0007801E000F000F
683 001E0007801E0007803C0003C03C0003C03C0003C03C0003C03E0003C03E0007C03F0007
684 801FC00F801FE00F001FF81E000FFC3C0007FFF80003FFE00000FFE000003FF80000FFFC
685 0003C7FF000783FF801F00FFC01E003FC03C001FE07C0007E0780003F0F80003F0F00001
686 F0F00000F0F00000F0F00000F0F00000F0F80000E0780001E07C0001C03C0003C01E0007
687 800F800F0007E03C0001FFF000003FC0001C2D7DAB23>I E /Fo
688 135[72 104 72 80 48 56 64 1[80 72 80 120 40 80 1[40 80
689 72 48 64 80 64 1[72 9[143 2[96 80 104 1[88 2[135 3[56
690 112 112 1[96 104 104 96 104 10[72 72 72 72 72 72 9[48
691 39[{ TeXBase1Encoding ReEncodeFont }42 144.000000 /Times-Bold
692 rf /Fp 5 102 df<007800FE01FE01FE01FE03FE03FC03FC03FC07F807F807F807F007F0
693 0FE00FE00FE00FC01FC01F801F801F803F003F003F003E007E007C007C007C00F800F800
694 F800F0000F227EA413>48 D<600000E00000E00000E00000E00000E00000E00000E00000
695 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
696 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
697 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
698 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
699 E00000E00000E00000E00000E00000E00000E00000E00000FFFF80FFFF807FFF80114374
700 B11F>98 D<00018000038000038000038000038000038000038000038000038000038000
701 038000038000038000038000038000038000038000038000038000038000038000038000
702 038000038000038000038000038000038000038000038000038000038000038000038000
703 038000038000038000038000038000038000038000038000038000038000038000038000
704 038000038000038000038000038000038000038000038000038000038000038000038000
705 0380000380000380000380000380000380FFFF80FFFF80FFFF8011437FB11F>I<7FFF80
706 FFFF80FFFF80E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
707 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
708 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
709 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
710 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
711 E00000E00000E00000E00000E00000600000114374B11F>I<FFFF80FFFF80FFFF800003
712 800003800003800003800003800003800003800003800003800003800003800003800003
713 800003800003800003800003800003800003800003800003800003800003800003800003
714 800003800003800003800003800003800003800003800003800003800003800003800003
715 800003800003800003800003800003800003800003800003800003800003800003800003
716 800003800003800003800003800003800003800003800003800003800003800003800003
717 8000038000038000018011437FB11F>I E /Fq 12 119 df<000003FC00000000001FFF
718 0000000000FE07C000000003F001F000000007E000F80000001FC000FC000E003F80007C
719 000E007F00003E000C00FE00003F000C01FC00003F001C03F800001F001807F800001F80
720 1807F000001F80380FF000001F80301FE000001F80701FE000001FC0603FC000001FC060
721 3FC000001FC0E03FC000000FC0C07F8000000FC1C07F8000000FC1807F8000000FC380FF
722 8000000FC700FF0000000FC600FF0000000FCE00FF0000000FDC00FF0000001FD800FE00
723 00001FF800FE0000001FF000FE0000001FE000FE0000001FC000FE0000001FC000FE0000
724 001FC000FE0000001FC000FE0000001FC0007E0000003FC0007E0000007FC0003F000000
725 EFC0383F000003CFC0381F80000F07C0300FC0001C07C07007E000F803E0E001F00FE001
726 E1C0007FFF0000FF80001FF000003E00372D7CAB3E>11 D<0000000003F800000000001F
727 FF00000000007C0F8000000001E003E0000000078001F00000000E0001F00000001C0000
728 F8000000380000F8000000700000FC000000E00000FC000001C00000FC000001800000FC
729 000003800000FC000007000000FC000006000000FC00000E000001FC00000C000001FC00
730 001C000001F8000018000001F8000038000003F0000030000003F0000070000007E00000
731 60000007E000006000000FC00000E000000F800000C000001F000000C000003E000001C0
732 07FE7C000001801FFFF8000001801807E0000001801FFFF80000038007FCFC0000030000
733 007E0000030000007E0000030000003F0000070000003F0000060000003F800006000000
734 1F8000060000001FC0000E0000001FC0000C0000001FC0000C0000001FC0000C0000003F
735 C0001C0000003FC000180000003FC000180000003FC000180000003FC000380000007FC0
736 00300000007F8000300000007F8000300000007F800070000000FF800070000000FF0000
737 70000000FF000070000001FE0000F0000001FE0000F0000001FC0000F0000003FC0000F0
738 000003F80001F0000007F80001B8000007F000019800000FE000019800001FC000039C00
739 003F8000030E00007F000003060000FE000003078001F800000701C003F000000600F01F
740 C0000006003FFF00000006000FF00000000E0000000000000C0000000000000C00000000
741 00000C0000000000001C0000000000001800000000000018000000000000180000000000
742 003800000000000030000000000000300000000000003000000000000070000000000000
743 600000000000006000000000000060000000000000E0000000000000E000000000000036
744 597DC537>I<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A0A78891B>58
745 D<00000000000001C000000000000007E00000000000001FE00000000000007FC0000000
746 000001FF00000000000007FC0000000000001FF00000000000007FC0000000000001FF00
747 00000000000FFC0000000000003FF0000000000000FFC0000000000003FF000000000000
748 0FF80000000000003FE0000000000000FF80000000000003FE0000000000001FF8000000
749 0000007FE0000000000001FF80000000000007FE0000000000001FF00000000000007FC0
750 000000000001FF00000000000007FC0000000000001FF00000000000007FC00000000000
751 00FF00000000000000FF000000000000007FC00000000000001FF000000000000007FC00
752 000000000001FF000000000000007FC00000000000001FF000000000000007FE00000000
753 000001FF800000000000007FE00000000000001FF800000000000003FE00000000000000
754 FF800000000000003FE00000000000000FF800000000000003FF00000000000000FFC000
755 00000000003FF00000000000000FFC00000000000001FF000000000000007FC000000000
756 00001FF000000000000007FC00000000000001FF000000000000007FC00000000000001F
757 E000000000000007E000000000000001C03B3878B44C>60 D<0000000018000000003C00
758 0000007C000000007C000000007800000000F800000000F800000000F000000001F00000
759 0001F000000001E000000003E000000003E000000003C000000007C000000007C0000000
760 07800000000F800000000F800000001F000000001F000000001E000000003E000000003E
761 000000003C000000007C000000007C000000007800000000F800000000F800000000F000
762 000001F000000001F000000003E000000003E000000003C000000007C000000007C00000
763 0007800000000F800000000F800000000F000000001F000000001F000000001E00000000
764 3E000000003E000000003C000000007C000000007C00000000F800000000F800000000F0
765 00000001F000000001F000000001E000000003E000000003E000000003C000000007C000
766 000007C000000007800000000F800000000F800000000F000000001F000000001F000000
767 003E000000003E000000003C000000007C000000007C000000007800000000F800000000
768 F800000000F000000001F000000001F000000001E000000003E000000003E000000007C0
769 00000007C000000007800000000F800000000F800000000F000000001F000000001F0000
770 00001E000000003E000000003E000000003C000000007C000000007C0000000078000000
771 00F800000000F800000000F000000000600000000026647BCA31>I<7000000000000000
772 FC00000000000000FF000000000000007FC00000000000001FF000000000000007FC0000
773 0000000001FF000000000000007FC00000000000001FF000000000000007FE0000000000
774 0001FF800000000000007FE00000000000001FF800000000000003FE00000000000000FF
775 800000000000003FE00000000000000FF800000000000003FF00000000000000FFC00000
776 000000003FF00000000000000FFC00000000000001FF000000000000007FC00000000000
777 001FF000000000000007FC00000000000001FF000000000000007FC00000000000001FE0
778 0000000000001FE00000000000007FC0000000000001FF00000000000007FC0000000000
779 001FF00000000000007FC0000000000001FF0000000000000FFC0000000000003FF00000
780 00000000FFC0000000000003FF0000000000000FF80000000000003FE0000000000000FF
781 80000000000003FE0000000000001FF80000000000007FE0000000000001FF8000000000
782 0007FE0000000000001FF00000000000007FC0000000000001FF00000000000007FC0000
783 000000001FF00000000000007FC0000000000000FF00000000000000FC00000000000000
784 70000000000000003B3878B44C>I<000FE0000007FFE0000007FFE0000007FFE0000000
785 1FC00000000FC00000001FC00000001FC00000001F800000001F800000001F800000003F
786 800000003F000000003F000000003F000000007F000000007E000000007E000000007E00
787 000000FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F80FC0
788 0001F83FF00003F8F07C0003F3C03E0003F7001F0003FE001F8007FC000F8007F8000FC0
789 07F0000FC007F0000FE00FE0000FE00FC0000FE00FC0000FE00FC0000FE01FC0000FE01F
790 80000FE01F80000FE01F80001FE03F80001FE03F00001FE03F00001FE03F00003FE07F00
791 003FC07E00003FC07E00003FC07E00007FC07E00007F80FC00007F80FC00007F00FC0000
792 FF00FC0000FF00FC0001FE007C0001FC007C0001FC007C0003F8007C0007F0007C0007E0
793 003C000FE0003E001FC0001E003F80001F007E00000F00FC000007C1F0000001FFC00000
794 007F00000023467CC429>98 D<0000000001FC00000000FFFC00000000FFFC00000000FF
795 FC0000000003F80000000001F80000000003F80000000003F80000000003F00000000003
796 F00000000007F00000000007F00000000007E00000000007E0000000000FE0000000000F
797 E0000000000FC0000000000FC0000000001FC0000000001FC0000000001F80000000001F
798 80000000003F80000000003F80000000003F0000000FC03F0000007FF07F000001F8387F
799 000007E01C7E00000FC00E7E00003F0007FE00007F0003FE0000FE0003FC0001FC0003FC
800 0001F80001FC0003F80001FC0007F00001F8000FF00001F8000FE00003F8001FE00003F8
801 001FE00003F0003FC00003F0003FC00007F0007FC00007F0007F800007E0007F800007E0
802 007F80000FE000FF80000FE000FF00000FC000FF00000FC000FF00001FC000FF00001FC0
803 00FE00001F8000FE00001F8000FE00003F8030FE00003F8070FE00003F0060FE00003F00
804 60FE00007F00E0FE00007F00C0FE0000FE00C07E0001FE00C07E0003FE01C03E00073E01
805 803F000E3E03801F001C3E03000F80381F070007C0F00F0E0001FFC007FC00007F0001F0
806 002E467CC433>100 D<0000007E0000000003FF800000000FC1E0E000001F0073F00000
807 7E0033F00000FC003FF00001F8001FF00003F8001FE00007F0000FE0000FE0000FE0000F
808 E0000FE0001FC0000FC0003FC0000FC0003F80001FC0007F80001FC0007F00001F8000FF
809 00001F8000FF00003F8001FF00003F8001FE00003F0001FE00003F0001FE00007F0003FE
810 00007F0003FC00007E0003FC00007E0003FC0000FE0003FC0000FE0003F80000FC0003F8
811 0000FC0003F80001FC0003F80001FC0003F80001F80003F80001F80003F80003F80003F8
812 0007F80001F80007F00001F8000FF00000F8001FF00000FC003FF000007C0077E000003E
813 01E7E000001F078FE0000007FE0FE0000001F80FC0000000000FC0000000001FC0000000
814 001FC0000000001F80000000001F80000000003F80000000003F80000000003F00000000
815 003F00001C00007E00007F0000FE0000FF0000FC0000FF0001F80000FF0003F80000FE00
816 07F00000FE000FC00000F8001F8000007C00FE0000001FFFF800000003FFC00000002C40
817 7EAB2F>103 D<0000FE000000007FFE000000007FFE000000007FFE0000000001FC0000
818 000000FC0000000001FC0000000001FC0000000001F80000000001F80000000003F80000
819 000003F80000000003F00000000003F00000000007F00000000007F00000000007E00000
820 000007E0000000000FE0000000000FE0000000000FC0000000000FC0000000001FC00000
821 00001FC0000000001F80000000001F80003F00003F8000FFC0003F8003C0E0003F000703
822 E0003F001E0FE0007F00380FE0007F00701FE0007E00E01FE0007E01C01FE000FE01801F
823 C000FE0380070000FC0700000000FC0E00000001FC1C00000001FC3800000001F8700000
824 0001F8E000000003FBC000000003FF0000000003FF8000000003FFF800000007F1FE0000
825 0007F03F80000007E00FE0000007E007F000000FE003F000000FE003F800000FC001F800
826 000FC001F800001FC001F801C01FC001F801801F8001F801801F8001F801803F8001F803
827 803F8001F803003F0001F003003F0001F007007F0001F006007F0001F00E007E0001F00C
828 007E0001F01C00FE0000F03800FE0000787000FC00003FE0003800000F80002B467BC433
829 >107 D<00F80003FC000003FE001FFF0000071F007C0FC0000E0F80E007E0000C07C3C0
830 03E0001C07C70003F0001807CE0001F0003807DC0001F8003007D80001F800300FF80001
831 F800700FF00001F800600FE00001F800600FE00001F800E00FC00003F800C01FC00003F0
832 00C01F800003F000001F800003F000001F800007F000003F800007E000003F000007E000
833 003F000007E000003F00000FE000007F00000FC000007E00000FC000007E00001FC00000
834 7E00001F800000FE00001F800000FC00003F800000FC00003F000000FC00003F007001FC
835 00007F006001F800007E006001F80000FE006001F80000FC00E003F80000FC00C003F000
836 00FC01C003F00000F8018003F00000F8038007F00000F8030007E00000F8070007E00000
837 F80E0007E00000781C000FE000007C38000FC000001FF0000380000007C000342D7DAB3A
838 >110 D<003E00000E0000FF80003F8003C3C0007F800703E0007F800601F0007F800E01
839 F0007F801C01F0007F801803F0003F803803F0001F803003F0000F803003F0000F807007
840 F00007806007E00007806007E0000780E00FE0000700C00FC0000300001FC0000300001F
841 80000700001F80000600003F80000600003F00000600003F00000E00007F00000C00007E
842 00000C00007E00000C00007E00001C0000FE0000180000FC0000180000FC0000380000FC
843 0000300000FC0000700001F80000600001F80000E00001F80000C00001F80001C00000F8
844 0001800000F80003800000FC0007000000FC00060000007C000E0000007E001C0000003F
845 00780000000F81E000000007FFC000000000FE000000292D7DAB2F>118
846 D E /Fr 134[45 45 66 45 45 25 35 30 45 45 45 45 71 25
847 45 1[25 45 45 30 40 45 40 45 40 12[56 3[51 66 1[81 3[30
848 66 3[66 2[66 18[23 30 23 41[51 2[{ TeXBase1Encoding ReEncodeFont }36
849 91.249977 /Times-Roman rf /Fs 139[30 35 40 14[40 51 45
850 31[66 65[{ TeXBase1Encoding ReEncodeFont }7 91.249977
851 /Times-Bold rf /Ft 134[50 3[55 33 39 44 2[50 55 83 28
852 55 1[28 55 50 33 44 55 44 55 50 12[66 55 72 1[61 2[94
853 66 1[50 1[78 5[66 7[33 58[{ TeXBase1Encoding ReEncodeFont }29
854 100.000000 /Times-Bold rf /Fu 75[33 11[33 17[50 1[44
855 44 24[44 50 50 72 50 50 28 39 33 50 50 50 50 78 28 50
856 28 28 50 50 33 44 50 44 50 44 3[33 1[33 61 72 1[94 72
857 72 61 55 66 1[55 72 72 89 61 72 39 33 72 72 55 61 72
858 66 66 72 1[44 1[56 1[28 28 50 50 50 50 50 50 50 50 50
859 50 28 25 33 25 1[50 33 33 33 1[83 33[55 55 2[{
860  TeXBase1Encoding ReEncodeFont }82 100.000000 /Times-Roman
861 rf /Fv 134[60 2[60 60 33 47 40 1[60 60 60 93 33 60 1[33
862 60 60 40 53 60 53 60 53 11[86 73 66 5[106 2[47 1[86 86
863 66 73 86 80 80 86 7[60 2[60 3[60 60 2[30 1[30 44[{
864  TeXBase1Encoding ReEncodeFont }40 119.999947 /Times-Roman
865 rf /Fw 134[86 3[86 1[67 57 2[86 86 134 48 3[86 2[76 1[76
866 1[76 12[105 96 2[96 6[57 124 124 2[124 2[124 6[48 12[57
867 45[{ TeXBase1Encoding ReEncodeFont }22 172.833374 /Times-Roman
868 rf end
869 %%EndProlog
870 %%BeginSetup
871 %%Feature: *Resolution 600dpi
872 TeXDict begin
873 %%PaperSize: Letter
874
875 %%EndSetup
876 %%Page: 1 1
877 1 0 bop 195 506 a Fw(APHID:)44 b(Asynchronous)g(P)m(arallel)h(Game-T)-6
878 b(ree)46 b(Search)863 805 y Fv(Mark)29 b(G.)h(Brockington)f(and)h
879 (Jonathan)e(Schaef)m(fer)1118 955 y(Department)j(of)e(Computing)g
880 (Science)1441 1104 y(Uni)m(v)n(ersity)h(of)f(Alberta)1249
881 1254 y(Edmonton,)g(Alberta)i(T6G)f(2H1)1771 1403 y(Canada)1510
882 1637 y(February)g(12,)f(1999)1925 5589 y Fu(1)p eop
883 %%Page: 2 2
884 2 1 bop 146 100 a Ft(Running)26 b(Head:)31 b Fu(APHID:)25
885 b(Asynchronous)f(P)o(arallel)g(Game-T)m(ree)h(Search)146
886 199 y Ft(Send)i(Pr)n(oofs)d(T)-9 b(o:)146 299 y Fu(Jonathan)24
887 b(Schaef)n(fer)146 399 y(615)h(General)g(Services)g(Building)146
888 498 y(Department)g(of)f(Computing)g(Science)146 598 y(Uni)n(v)o(ersity)
889 f(Of)i(Alberta)146 697 y(Edmonton,)e(AB)j(T6G)e(2H1)146
890 797 y(Canada)146 897 y(\(403\))h(492-3851)1781 1117 y
891 Fs(Abstract)380 1293 y Fr(Most)30 b(parallel)i(game-tree)f(search)g
892 (approaches)i(use)d(synchronous)k(methods,)e(where)e(the)h(w)o(ork)e
893 (is)244 1406 y(concentrated)j(within)d(a)f(speci\002c)h(part)h(of)e
894 (the)h(tree,)h(or)e(at)g(a)g(gi)n(v)o(en)h(search)h(depth.)45
895 b(This)28 b(article)i(sho)n(ws)244 1519 y(that)19 b(asynchronous)k
896 (game-tree)d(search)g(algorithms)h(can)e(be)g(as)g(ef)n(\002cient)h(as)
897 e(or)h(better)h(than)g(synchronous)244 1632 y(methods)25
898 b(in)e(determining)j(the)e(minimax)g(v)n(alue.)380 1745
899 y(APHID,)f(a)h(ne)n(w)g(asynchronous)29 b(parallel)e(game-tree)f
900 (search)g(algorithm,)g(is)f(presented.)35 b(APHID)22
901 b(is)244 1857 y(implemented)j(as)e(a)g(freely-a)n(v)n(ailable)28
902 b(portable)e(library)-6 b(,)24 b(making)g(the)g(algorithm)h(easy)f(to)f
903 (inte)o(grate)j(into)244 1970 y(a)i(sequential)k(game-tree)e(searching)
904 h(program.)45 b(APHID)27 b(has)i(been)g(added)h(to)f(four)g(programs)i
905 (written)244 2083 y(by)d(dif)n(ferent)h(authors.)43 b(APHID)26
906 b(yields)j(better)g(speedups)h(than)f(synchronous)i(search)e(methods)g
907 (for)f(an)244 2196 y(Othello)c(and)g(a)f(check)o(ers)j(program,)f(and)f
908 (comparable)h(speedups)h(on)e(tw)o(o)f(chess)i(programs.)146
909 2495 y Fu(K)n(e)o(yw)o(ords:)k(parallel)c(search,)g(alpha-beta,)g
910 (computer)f(games,)g(heuristic)g(search.)p eop
911 %%Page: 3 3
912 3 2 bop 146 100 a Ft(List)25 b(of)g(Symbols:)146 299
913 y Fq(\013)q(\014)6 b Fu(:)30 b(alpha,)25 b(beta)146 498
914 y Fq(d)p Fu(:)31 b(dee)146 697 y Fq(d)197 661 y Fp(0)220
915 697 y Fu(:)g(dee)25 b(prime)p eop
916 %%Page: 1 4
917 1 3 bop 0 100 a Fo(1)143 b(Intr)m(oduction)0 402 y Fu(Making)21
918 b(computers)g(play)g(games)g(in)g(a)h(skillful)e(manner)l(,)i
919 (comparable)g(to)f(that)h(of)f(a)h(strong)f(human)g(player)l(,)i(is)0
920 601 y(a)e(challenging)g(problem)f(that)h(has)g(attracted)g(the)g
921 (attention)f(of)h(man)o(y)f(computer)h(scientists)e(o)o(v)o(er)h(the)h
922 (last)g(\002fty)0 800 y(years.)30 b(T)-8 b(w)o(o-player)22
923 b(zero-sum)g(games)f(with)g(perfect)i(information,)e(such)h(as)g
924 (chess,)g(Othello)3301 764 y Fn(1)3362 800 y Fu(and)g(check)o(ers,)0
925 1000 y(are)32 b(programmed)f(using)g(the)g(same)h(basic)g(techniques.)
926 50 b(The)32 b Fq(\013)q(\014)37 b Fu(algorithm)30 b([9])i(is)f(used)h
927 (to)f(e)o(xhausti)n(v)o(ely)0 1199 y(search)c(v)n(ariations)d(that)i
928 (are)g Fq(d)g Fu(mo)o(v)o(es)e(deep)i(in)g(a)g(depth-\002rst)g(manner)g
929 (to)g(determine)f(the)h(best)f(mo)o(v)o(e)g(and)h(its)0
930 1398 y(v)n(alue.)k(A)25 b(lar)n(ge)g(hash)g(table,)g(called)f(the)h
931 Fm(tr)o(ansposition)c(table)k Fu([5],)g(is)f(used)h(to)f(store)h(pre)n
932 (viously)e(determined)0 1598 y(best)31 b(mo)o(v)o(es)e(and)i(v)n(alues)
933 g(for)g(positions.)48 b(The)31 b(v)n(alues)f(from)h(this)f(table)h(are)
934 h(re-used)f(during)g(the)g(search)g(to)0 1797 y(pre)n(v)o(ent)24
935 b(the)g(same)h(position)e(from)i(being)f(e)o(xplored)g(twice.)146
936 1996 y(Instead)31 b(of)h(immediately)d(searching)i(a)h(v)n(ariation)e
937 Fq(d)h Fu(mo)o(v)o(es)e(deep)j(\(or)f Fq(d)g Fm(ply)p
938 Fu(\),)i(most)d(programs)h(search)0 2195 y(to)c(1)g(ply)-6
939 b(,)27 b(then)f(to)h(2)g(ply)-6 b(,)27 b Fm(et)g(ceter)o(a)p
940 Fu(.)38 b(This)26 b(technique)h(is)g(kno)n(wn)f(as)h
941 Fm(iter)o(ative)f(deepening)h Fu([16)o(],)h(and)g(is)e(used)0
942 2395 y(to)i(acquire)g(mo)o(v)o(e-ordering)f(information)f(in)i(the)g
943 (transposition)e(table.)41 b(The)28 b(best)g(mo)o(v)o(e)e(for)j(a)f
944 Fl(\()p Fq(d)d Fk(\000)g Fl(1\))p Fu(-ply)0 2594 y(search)30
945 b(is)f(lik)o(ely)f(to)h(be)g(the)g(best)g(mo)o(v)o(e)f(for)h(a)h
946 Fq(d)p Fu(-ply)e(search,)j(and)e(the)g Fq(\013)q(\014)35
947 b Fu(algorithm)28 b(will)g(b)n(uild)g(a)i(smaller)0 2793
948 y(search)25 b(tree)h(\(by)e(eliminating,)f(or)i(cutting-of)n(f,)e
949 (irrele)n(v)n(ant)h(subtrees\))h(if)f(the)h(best)f(mo)o(v)o(e)g(is)g
950 (searched)h(\002rst.)146 2992 y(A)f(game-playing)f(program)g(that)h
951 (can)g(out-search)g(its)f(opponent)g(has)g(a)i(high)e(probability)f(of)
952 i(winning.)29 b(It)0 3192 y(has)23 b(been)g(sho)n(wn)f(that)h(there)g
953 (is)g(a)g(strong)f(correlation)h(between)g(the)g(search)h(depth)e(and)h
954 (the)g(relati)n(v)o(e)f(strength)0 3391 y(of)j(chess,)f(Othello)g(and)h
955 (check)o(ers)g(programs)f([8].)31 b(Thus,)24 b(programs)g(are)h(de)n(v)
956 o(eloped)e(to)i(search)g(as)g(deeply)f(as)0 3590 y(possible)f(while)i
957 (staying)e(within)h(the)h(time)f(constraints)f(imposed)h(by)g(the)h
958 (rules)g(of)f(the)h(game.)146 3789 y(When)c(using)f(parallelism)f(to)h
959 (search)i(game)e(trees)h(deeper)l(,)h(almost)d(all)i(of)f(the)h
960 (research)g(has)g(concentrated)0 3989 y(on)32 b(synchronous)e(parallel)
961 i(search)g(algorithms.)50 b(These)32 b(algorithms)e(force)j(w)o(ork)f
962 (on)f(one)h(part)g(of)g(the)g(tree)0 4188 y(to)c(be)g(completed)g
963 (before)g(w)o(ork)h(on)f(the)g(rest)g(of)g(the)g(tree)h(can)g(be)f
964 (carried)h(out.)40 b(There)29 b(are)g(global)e(synchro-)0
965 4387 y(nization)j(points)g(during)g(the)h(search)h(that)e(all)h
966 (processors)g(must)f(reach)i(before)f(an)o(y)g(process)g(is)f(allo)n
967 (wed)g(to)0 4586 y(proceed.)j(In)25 b(some)g(synchronous)f(algorithms,)
968 g(the)h(w)o(ork)g(is)g(synchronized)g(at)g(e)n(v)o(ery)g(choice)h
969 (along)e(the)i(hy-)0 4786 y(pothesized)i(best-mo)o(v)o(e)e(sequence,)k
970 (commonly)c(kno)n(wn)h(as)i(the)f(principal)g(v)n(ariation.)40
971 b(In)29 b(all)f(synchronized)0 4985 y(algorithms,)23
972 b(the)i(w)o(ork)f(is)h(synchronized)f(at)h(the)g(root)f(of)h(the)g
973 (tree)g(between)g(steps)f(of)h(iterati)n(v)o(e)f(deepening;)g(a)p
974 0 5074 1560 4 v 112 5136 a Fj(1)149 5166 y Fi(Othello)c(is)h(a)g(re)o
975 (gistered)e(trademark)f(of)i(Tsukuda)f(Original,)g(licensed)h(by)g
976 (Anjar)f(Co.)1925 5589 y Fu(1)p eop
977 %%Page: 2 5
978 2 4 bop 0 100 a Fu(complete)24 b Fq(d)p Fu(-ply)g(search)i(must)d(be)i
979 (\002nished)g(before)g(the)g Fl(\()p Fq(d)c Fl(+)h(1\))p
980 Fu(-ply)j(search)g(can)g(be)o(gin.)146 299 y(The)33 b(adv)n(antage)f
981 (of)h(the)f(synchronous)f(approaches)i(is)f(that)g(the)o(y)g(can)h(use)
982 f(the)h(v)n(alue)f(of)g(the)h(principal)0 498 y(v)n(ariation)19
983 b(in)h(the)h(same)f(w)o(ay)g(as)h(the)f(sequential)g(search)h
984 (algorithm)e(does.)29 b(Synchronous)19 b(parallel)i(algorithms)0
985 697 y(are)32 b(successful)e(at)h(k)o(eeping)f(the)h(size)f(of)h(the)g
986 (search)g(tree)h(b)n(uilt)d(close)i(to)f(the)h(sequential)f(search)h
987 (tree)g(size,)0 897 y(assuming)d(that)h(processors)g(are)i(able)e(to)g
988 (share)h(transposition)e(table)h(information)f(in)h(an)h(ef)n
989 (\002cient)g(manner)-5 b(.)0 1096 y(Ho)n(we)n(v)o(er)l(,)23
990 b(there)j(are)f(fundamental)f(problems)g(with)g(synchronous)f(parallel)
991 i Fq(\013)q(\014)30 b Fu(search)c(algorithms:)120 1347
992 y(1.)49 b(There)28 b(are)g(man)o(y)e(times)h(when)g(there)h(is)f(insuf)
993 n(\002cient)f(parallelism)g(to)h(k)o(eep)h(all)f(the)g(processors)g(b)n
994 (usy)-6 b(.)244 1546 y(If)29 b(there)f(are)i(more)e(processors)g(than)g
995 (w)o(ork)g(granules)h(at)f(a)h(synchronization)e(point,)h(then)g(some)g
996 (pro-)244 1746 y(cessors)23 b(must)g(go)g(idle.)30 b(This)23
997 b(idle)g(time)g(increases)h(in)f(magnitude)f(\(and)i(signi\002cance\))g
998 (as)f(the)h(number)244 1945 y(of)35 b(processors)f(increases.)61
999 b(This)35 b(problem)f(is)g(e)o(xacerbated)h(in)g(games)f(that)g(ha)n(v)
1000 o(e)h(a)g(small)f(a)n(v)o(erage)244 2144 y(number)24
1001 b(of)h(mo)o(v)o(e)e(choices.)120 2412 y(2.)49 b(The)o(y)33
1002 b(require)i(an)f(ef)n(\002cient)h(implementation)c(of)k(a)f(shared)h
1003 (transposition)d(table)i(between)g(the)g(pro-)244 2612
1004 y(cesses)24 b(to)f(achie)n(v)o(e)g(high)f(performance.)31
1005 b(T)-8 b(ypically)i(,)22 b(the)i(algorithms)e(will)g(e)o(xhibit)g(poor)
1006 i(performance)244 2811 y(without)19 b(such)i(a)g(table,)g(since)g(each)
1007 h(processor')-5 b(s)20 b(search)h(results)f(must)g(be)h(made)g(a)n(v)n
1008 (ailable)f(to)h(all)f(other)244 3010 y(processes.)37
1009 b(Because)28 b(of)f(this,)g(most)e(synchronous)h(algorithms)f(are)j
1010 (tested)f(on)f(shared)h(memory)g(sys-)244 3209 y(tems.)45
1011 b(On)29 b(distrib)n(uted)g(memory)f(systems,)i(sharing)f(a)h(table)g
1012 (is)f(not)g(as)h(ef)n(\002cient,)h(and)f(the)g(speedups)244
1013 3409 y(portrayed)25 b(in)f(the)h(literature)f(for)h(shared)g(memory)f
1014 (systems)g(are)h(not)f(achie)n(v)n(able.)120 3677 y(3.)49
1015 b(Man)o(y)25 b(synchronous)f(algorithms)g(attempt)h(to)g(initiate)g
1016 (parallelism)f(at)i(nodes)f(which)g(are)i(better)e(done)244
1017 3876 y(sequentially)-6 b(.)59 b(F)o(or)35 b(e)o(xample,)h(ha)n(ving)e
1018 (searched)h(the)g(\002rst)g(branch)g(at)g(a)g(node)g(and)g(not)f(achie)
1019 n(v)o(ed)g(a)244 4075 y(cut-of)n(f,)40 b(the)d(remaining)f(branches)i
1020 (are)g(usually)e(searched)h(in)g(parallel.)68 b(Ho)n(we)n(v)o(er)l(,)39
1021 b(if)e(the)g(second)244 4275 y(branch)26 b(causes)f(a)h(cut-of)n(f,)f
1022 (then)g(all)h(of)f(the)h(w)o(ork)f(done)g(on)g(the)h(third)f(and)g
1023 (subsequent)f(branches)i(w)o(as)244 4474 y(unnecessary)-6
1024 b(.)38 b(This)26 b(suggests)g(that)h(parallelism)f(should)g(only)h(be)g
1025 (initiated)f(at)h(nodes)g(where)h(there)g(is)244 4673
1026 y(a)d(high)f(probability)f(that)i(all)f(branches)h(must)f(be)h
1027 (considered.)120 4941 y(4.)49 b(Man)o(y)21 b(of)h(the)f(synchronous)g
1028 (algorithms)f(do)i(not)f(inte)o(grate)g(well)h(into)f(typical)g
1029 (sequential)g(algorithms.)244 5141 y(This)h(causes)h(man)o(y)f(changes)
1030 h(to)g(the)f(main)h(search)g(algorithm)f(to)g(incorporate)h
1031 (parallelism.)29 b(This)22 b(will)244 5340 y(lik)o(ely)i(result)g(in)g
1032 (a)i(parallel)e(program)h(for)g(which)f(it)g(is)h(dif)n(\002cult)f(to)g
1033 (v)o(erify)g(its)h(correctness.)1925 5589 y(2)p eop
1034 %%Page: 3 6
1035 3 5 bop 146 100 a Fu(In)28 b(other)e(w)o(ork,)i(a)f(theoretical)g
1036 (model)f(w)o(as)h(de)n(v)o(eloped)f(for)i(comparing)e(a)h(typical)g
1037 (synchronous)f(game-)0 299 y(tree)31 b(search)g(algorithm)e(to)h(an)g
1038 (asynchronous)g(one)g([2].)48 b(The)30 b(theoretical)g(results)g
1039 (indicated)g(that)g(an)g(asyn-)0 498 y(chronous)22 b(algorithm)f(could)
1040 i(outperform)f(a)h(synchronous)f(algorithm)f(on)h(game)h(trees)g
1041 (similar)e(to)i(those)f(seen)0 697 y(in)j(practice.)34
1042 b(This)25 b(paper)h(sho)n(ws)f(that)g(it)g(is)g(possible)g(for)h
1043 (asynchronous)e(search)i(algorithms)e(to)i(outperform)0
1044 897 y(their)f(synchronous)e(counterparts)h(in)h(practice.)146
1045 1096 y(The)g(paper')-5 b(s)25 b(major)f(contrib)n(utions)f(include:)120
1046 1365 y(1.)49 b(The)36 b(APHID)g(\(Asynchronous)f(P)o(arallel)h
1047 (Hierarchical)h(Iterati)n(v)o(e)e(Deepening\))h(algorithm)e(is)i
1048 (intro-)244 1564 y(duced)19 b(that)f(addresses)h(the)f(pre)n(viously)f
1049 (mentioned)h(problems.)28 b(First,)19 b(the)g(algorithm)e(is)i
1050 (asynchronous)244 1764 y(in)k(nature;)h(it)f(remo)o(v)o(es)f(all)h
1051 (global)f(synchronization)g(points)h(from)g(the)g Fq(\013)q(\014)29
1052 b Fu(search)24 b(and)f(from)h(iterati)n(v)o(e)244 1963
1053 y(deepening.)62 b(Second,)38 b(the)d(algorithm)f(does)h(not)g(require)h
1054 (a)f(shared)h(transposition)d(table)i(for)h(mo)o(v)o(e)244
1055 2162 y(ordering)22 b(information.)28 b(Third,)23 b(parallelism)e(is)h
1056 (only)f(applied)h(at)g(nodes)g(that)g(ha)n(v)o(e)g(a)h(high)f
1057 (probability)244 2361 y(of)j(needing)f(parallelism.)120
1058 2634 y(2.)49 b(APHID)25 b(has)g(been)g(designed)f(to)g(conform)h(to)f
1059 (the)h(structure)f(of)h(the)g(sequential)f Fq(\013)q(\014)6
1060 b Fu(-based)24 b(game-tree)244 2833 y(search)35 b(algorithm.)57
1061 b(Consequently)-6 b(,)35 b(parallelism)e(can)i(be)f(added)g(to)g(an)g
1062 (e)o(xisting)f(application)g(with)244 3033 y(minimal)d(ef)n(fort.)50
1063 b(APHID)32 b(has)g(been)g(programmed)e(as)i(an)g
1064 (application-independent)d(and)j(portable)244 3232 y(library)-6
1065 b(.)529 3196 y Fn(2)624 3232 y Fu(This)33 b(w)o(as)g(used)g(to)g
1066 (generate)h(all)f(of)h(the)f(parallel)g(applications)f(reported)i(in)f
1067 (this)f(article.)244 3431 y(Each)25 b(of)g(the)g(implementations)e
1068 (took)h(less)h(than)g(a)g(day)g(of)h(programming)d(time)i(to)f(achie)n
1069 (v)o(e)h(a)g(parallel)244 3630 y(program)k(that)g(e)o(x)o(ecuted)f(in)h
1070 (the)h(same)f(w)o(ay)g(as)h(the)f(sequential)f(program,)i(and)g(a)f(fe)
1071 n(w)h(days)f(of)g(addi-)244 3830 y(tional)i(tuning)g(to)h(achie)n(v)o
1072 (e)g(the)g(reported)g(speedups.)53 b(In)32 b(contrast,)i(adding)e(a)g
1073 (synchronous)f(parallel)244 4029 y(algorithm)23 b(to)i(an)g(e)o
1074 (xisting)e(sequential)g(algorithm)h(may)g(tak)o(e)h(months)e(of)i(w)o
1075 (ork.)120 4302 y(3.)49 b(APHID')-5 b(s)31 b(performance)h(for)g(four)f
1076 (game-playing)f(programs)h(is)g(presented.)50 b(APHID)32
1077 b(yields)e(better)244 4501 y(speedups)38 b(than)h(synchronous)f(search)
1078 h(methods)f(for)h(an)g(Othello)f(and)h(a)g(check)o(ers)h(program,)i
1079 (and)244 4700 y(comparable)25 b(speedups)f(on)g(tw)o(o)h(chess)f
1080 (programs.)146 4969 y(Section)37 b(2)g(gi)n(v)o(es)e(a)j(brief)f(surv)o
1081 (e)o(y)e(of)i(rele)n(v)n(ant)f(parallel)h(search)g(methods.)66
1082 b(Section)37 b(3)g(describes)f(the)0 5169 y(APHID)26
1083 b(algorithm)e(in)i(detail,)f(along)g(with)g(an)h(illustrati)n(v)o(e)d
1084 (e)o(xample)i(of)g(ho)n(w)g(to)g(add)h(APHID)g(into)f(e)o(xisting)p
1085 0 5249 1560 4 v 112 5310 a Fj(2)149 5340 y Fi(It)c(is)g(freely)e(a)n(v)
1086 n(ailable)h(at)h Fh(http://www.cs.ualberta.ca/\230games/a)o(phid/)p
1087 Fi(.)1925 5589 y Fu(3)p eop
1088 %%Page: 4 7
1089 4 6 bop 0 100 a Fu(sequential)28 b(game-tree)i(search)g(code.)45
1090 b(Section)29 b(4)g(sho)n(ws)f(the)i(e)o(xperimental)e(results)g(of)i
1091 (adding)f(APHID)g(to)0 299 y(four)c(applications.)k(Section)c(5)g
1092 (summarizes)e(this)h(paper)-5 b(.)0 637 y Fo(2)143 b(Pr)m(e)n(vious)34
1093 b(W)-11 b(ork)0 889 y Fg(2.1)119 b(The)30 b Ff(\013)q(\014)37
1094 b Fg(Algorithm)0 1156 y Fu(In)25 b(a)h(tw)o(o)e(player)i(zero-sum)f
1095 (game)f(with)h(perfect)g(information)f(and)h(a)h(\002nite)f(number)g
1096 (of)g(mo)o(v)o(es,)e(an)j(optimal)0 1355 y(strate)o(gy)g(can)h(be)g
1097 (determined)f(by)h(the)f(minimax)g(algorithm.)35 b(In)27
1098 b(general,)g(minimax)f(is)g(a)h(depth-\002rst)g(search)0
1099 1554 y(of)h(a)h(game)f(tree.)41 b(Each)29 b(node)f(represents)g(a)g
1100 (position,)g(and)g(the)g(links)f(between)h(nodes)g(represent)h(the)f
1101 (mo)o(v)o(e)0 1753 y(required)k(to)f(reach)h(the)g(ne)o(xt)e(position.)
1102 50 b(The)31 b(player)h(to)f(mo)o(v)o(e)f(alternates)h(at)h(each)g(le)n
1103 (v)o(el)f(of)g(the)h(tree.)51 b(The)0 1953 y(e)n(v)n(aluation)18
1104 b(of)i(each)h(leaf)g(node)f(in)f(the)h(search)h(is)f(based)g(on)f(an)i
1105 (approximation)d(of)i(whether)g(the)g(\002rst)g(player)h(is)0
1106 2152 y(going)f(to)h(win)g(the)h(game)e(\(heuristic)h(e)n(v)n(aluation)f
1107 (function\).)29 b(Whene)n(v)o(er)21 b(the)g(\002rst)g(player)h(mo)o(v)o
1108 (es,)e(he)i(chooses)0 2351 y(a)i(mo)o(v)o(e)f(to)g(maximize)g(his)h(e)n
1109 (v)n(aluation)e(\(so-called)h(Max)h(nodes)g(in)f(the)h(search)g
1110 (tree\).)31 b(Con)l(v)o(ersely)-6 b(,)23 b(when)h(the)0
1111 2550 y(second)i(player)g(has)h(to)f(mo)o(v)o(e)e(at)j(a)f(node,)h(he)f
1112 (will)g(choose)g(the)g(mo)o(v)o(e)f(that)h(minimizes)e(the)i(e)n(v)n
1113 (aluation)f(\(Min)0 2750 y(nodes\).)146 2949 y(Although)c(the)h(tree)g
1114 (is)g(\002nite,)g(it)g(can)g(get)g(quite)f(lar)n(ge.)30
1115 b(T)-8 b(o)22 b(search)h(a)f(tree)h(of)f(depth)f Fq(d)h
1116 Fu(and)g(with)f Fq(b)i Fu(branches)0 3148 y(at)35 b(e)n(v)o(ery)g
1117 (node,)j Fq(b)658 3112 y Fe(d)735 3148 y Fu(nodes)c(w)o(ould)h(be)h(e)n
1118 (v)n(aluated.)61 b(F)o(ortunately)-6 b(,)37 b(there)e(are)h
1119 (straightforw)o(ard)f(\223bounding\224)0 3347 y(techniques)e(that)g
1120 (can)h(pro)o(v)o(e)e(some)h(e)n(v)n(aluations)e(are)k(irrele)n(v)n
1121 (ant.)55 b(The)34 b(most)e(popular)h(of)h(these)f(is)g(the)h
1122 Fq(\013)q(\014)0 3547 y Fu(algorithm,)23 b(gi)n(v)o(en)h(in)g(Figure)h
1123 (1.)146 3746 y(The)k Fq(\013)q(\014)35 b Fu(algorithm)27
1124 b(only)h(considers)h(nodes)f(that)h(are)g(rele)n(v)n(ant)f(to)h(the)g
1125 (search)g(windo)n(w)f([)p Fq(\013)q Fu(,)i Fq(\014)6
1126 b Fu(].)43 b Fq(\013)30 b Fu(rep-)0 3945 y(resents)g(the)f(best)h(v)n
1127 (alue)f(that)h(the)g(side)f(to)h(mo)o(v)o(e)e(can)i(achie)n(v)o(e)g
1128 (thus)f(f)o(ar)h(in)g(the)g(search.)46 b(Additional)29
1129 b(search)0 4144 y(at)i(this)g(node)g(is)f(intended)h(to)g(\002nd)g(mo)o
1130 (v)o(es)e(that)i(impro)o(v)o(e)f(this)g(lo)n(wer)h(bound)f(\(i.e.)50
1131 b(ha)n(v)o(e)31 b(a)g(v)n(alue)g Fq(>)40 b(\013)q Fu(\).)49
1132 b Fq(\014)0 4344 y Fu(is)26 b(the)f(best)h(that)g(the)f(player)i(to)e
1133 (mo)o(v)o(e)g(can)h(achie)n(v)o(e)f(or)l(,)i(con)l(v)o(ersely)-6
1134 b(,)25 b(the)h(smallest)e(v)n(alue)i(that)f(the)h(opponent)0
1135 4543 y(can)35 b(pro)o(v)n(ably)e(restrict)h(the)g(side)h(to)f(mo)o(v)o
1136 (e)f(to.)59 b(When)35 b Fq(\013)46 b Fk(\025)g Fq(\014)6
1137 b Fu(,)37 b(no)d(additional)f(search)j(is)e(needed)g(at)h(this)0
1138 4742 y(node)c(\(a)g Fm(cut-of)n(f)f Fu(occurs\).)49 b(In)31
1139 b(ef)n(fect,)h(this)e Fm(prunes)g Fu(parts)g(of)h(the)g(tree)g(that)f
1140 (pro)o(v)n(ably)f(cannot)i(contrib)n(ute)e(to)0 4941
1141 y(the)c(minimax)e(v)n(alue.)30 b(It)25 b(has)g(been)g(sho)n(wn)f(that)g
1142 (the)h Fq(\013)q(\014)30 b Fu(algorithm)23 b(will)h(return)h(the)g
1143 (correct)g(minimax)f(v)n(alue)0 5141 y(if)30 b(the)g(root)f(position)f
1144 (is)h(searched)i(with)e Fq(\013)38 b Fl(=)f Fk(\0001)p
1145 Fu(,)31 b Fq(\014)43 b Fl(=)36 b(+)p Fk(1)30 b Fu([9].)46
1146 b(F)o(or)30 b(a)g(depth)f Fq(d)h Fu(tree)g(with)f Fq(b)i
1147 Fu(branches)0 5340 y(at)g(e)n(v)o(ery)f(node,)h Fq(\013)q(\014)36
1148 b Fu(has)31 b(the)g(potential)e(to)h(search)h(the)g(minimum)d(number)i
1149 (of)h(leaf)g(nodes)f(possible)g(to)g(de-)1925 5589 y(4)p
1150 eop
1151 %%Page: 5 8
1152 5 7 bop 818 0 a
1153  17879478 11840716 9275228 18879365 30917427 33154007 startTexFig
1154  818 0 a
1155 %%BeginDocument: pics/alphabeta-code.ps
1156 %Magnification: 1.00
1157 /$F2psDict 200 dict def
1158 $F2psDict begin
1159 $F2psDict /mtrx matrix put
1160 /col-1 {0 setgray} bind def
1161 /col0 {0.000 0.000 0.000 srgb} bind def
1162 /col1 {0.000 0.000 1.000 srgb} bind def
1163 /col2 {0.000 1.000 0.000 srgb} bind def
1164 /col3 {0.000 1.000 1.000 srgb} bind def
1165 /col4 {1.000 0.000 0.000 srgb} bind def
1166 /col5 {1.000 0.000 1.000 srgb} bind def
1167 /col6 {1.000 1.000 0.000 srgb} bind def
1168 /col7 {1.000 1.000 1.000 srgb} bind def
1169 /col8 {0.000 0.000 0.560 srgb} bind def
1170 /col9 {0.000 0.000 0.690 srgb} bind def
1171 /col10 {0.000 0.000 0.820 srgb} bind def
1172 /col11 {0.530 0.810 1.000 srgb} bind def
1173 /col12 {0.000 0.560 0.000 srgb} bind def
1174 /col13 {0.000 0.690 0.000 srgb} bind def
1175 /col14 {0.000 0.820 0.000 srgb} bind def
1176 /col15 {0.000 0.560 0.560 srgb} bind def
1177 /col16 {0.000 0.690 0.690 srgb} bind def
1178 /col17 {0.000 0.820 0.820 srgb} bind def
1179 /col18 {0.560 0.000 0.000 srgb} bind def
1180 /col19 {0.690 0.000 0.000 srgb} bind def
1181 /col20 {0.820 0.000 0.000 srgb} bind def
1182 /col21 {0.560 0.000 0.560 srgb} bind def
1183 /col22 {0.690 0.000 0.690 srgb} bind def
1184 /col23 {0.820 0.000 0.820 srgb} bind def
1185 /col24 {0.500 0.190 0.000 srgb} bind def
1186 /col25 {0.630 0.250 0.000 srgb} bind def
1187 /col26 {0.750 0.380 0.000 srgb} bind def
1188 /col27 {1.000 0.500 0.500 srgb} bind def
1189 /col28 {1.000 0.630 0.630 srgb} bind def
1190 /col29 {1.000 0.750 0.750 srgb} bind def
1191 /col30 {1.000 0.880 0.880 srgb} bind def
1192 /col31 {1.000 0.840 0.000 srgb} bind def
1193
1194 end
1195 save
1196 79.5 561.5 translate
1197 1 -1 scale
1198
1199 /cp {closepath} bind def
1200 /ef {eofill} bind def
1201 /gr {grestore} bind def
1202 /gs {gsave} bind def
1203 /sa {save} bind def
1204 /rs {restore} bind def
1205 /l {lineto} bind def
1206 /m {moveto} bind def
1207 /rm {rmoveto} bind def
1208 /n {newpath} bind def
1209 /s {stroke} bind def
1210 /sh {show} bind def
1211 /slc {setlinecap} bind def
1212 /slj {setlinejoin} bind def
1213 /slw {setlinewidth} bind def
1214 /srgb {setrgbcolor} bind def
1215 /rot {rotate} bind def
1216 /sc {scale} bind def
1217 /sd {setdash} bind def
1218 /ff {findfont} bind def
1219 /sf {setfont} bind def
1220 /scf {scalefont} bind def
1221 /sw {stringwidth} bind def
1222 /tr {translate} bind def
1223 /tnt {dup dup currentrgbcolor
1224   4 -2 roll dup 1 exch sub 3 -1 roll mul add
1225   4 -2 roll dup 1 exch sub 3 -1 roll mul add
1226   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
1227   bind def
1228 /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
1229   4 -2 roll mul srgb} bind def
1230 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
1231 /$F2psEnd {$F2psEnteredState restore end} def
1232
1233 $F2psBegin
1234 10 setmiterlimit
1235 n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
1236  0.06000 0.06000 sc
1237 7.500 slw
1238 % Polyline
1239 n 1050 975 m 6500 975 l 6500 4550 l 1050 4550 l cp gs col-1 s gr 
1240 /Courier ff 180.00 scf sf
1241 1500 3000 m
1242 gs 1 -1 sc (for\(i=1; i <= numOfSuccessors; i++\) {) col-1 sh gr
1243 /Courier ff 180.00 scf sf
1244 6000 1800 m
1245 gs 1 -1 sc (/* move counter */) dup sw pop neg 0 rm  col-1 sh gr
1246 /Courier ff 180.00 scf sf
1247 6000 2000 m
1248 gs 1 -1 sc (/* score returned by search */) dup sw pop neg 0 rm  col-1 sh gr
1249 /Courier ff 180.00 scf sf
1250 1500 2000 m
1251 gs 1 -1 sc (int sc;) col-1 sh gr
1252 /Courier ff 180.00 scf sf
1253 1200 4400 m
1254 gs 1 -1 sc (} /* AlphaBeta */) col-1 sh gr
1255 /Courier ff 180.00 scf sf
1256 1500 4000 m
1257 gs 1 -1 sc (return\(alpha\);) col-1 sh gr
1258 /Courier ff 180.00 scf sf
1259 1500 3800 m
1260 gs 1 -1 sc (}) col-1 sh gr
1261 /Courier ff 180.00 scf sf
1262 1800 3600 m
1263 gs 1 -1 sc (if \(alpha >= beta\) { return\(alpha\); }) col-1 sh gr
1264 /Courier ff 180.00 scf sf
1265 1800 3400 m
1266 gs 1 -1 sc (alpha = max\(alpha, sc\);) col-1 sh gr
1267 /Courier ff 180.00 scf sf
1268 1800 3200 m
1269 gs 1 -1 sc (sc = -AlphaBeta\(p.succ[i],-beta,-alpha\);) col-1 sh gr
1270 /Courier ff 180.00 scf sf
1271 1500 2800 m
1272 gs 1 -1 sc (numOfSuccessors = GenerateSuccessors\(p\);) col-1 sh gr
1273 /Courier ff 180.00 scf sf
1274 1500 2400 m
1275 gs 1 -1 sc (if \(EndOfSearch\(p\)\) { return\(Evaluate\(p\)\); }) col-1 sh gr
1276 /Courier ff 180.00 scf sf
1277 1500 1800 m
1278 gs 1 -1 sc (int i;) col-1 sh gr
1279 /Courier ff 180.00 scf sf
1280 1500 1600 m
1281 gs 1 -1 sc (int numOfSuccessors;) col-1 sh gr
1282 /Courier ff 180.00 scf sf
1283 6000 1600 m
1284 gs 1 -1 sc (/* total moves */) dup sw pop neg 0 rm  col-1 sh gr
1285 /Courier ff 180.00 scf sf
1286 1200 1200 m
1287 gs 1 -1 sc (int AlphaBeta\(position p, int alpha, int beta\) {) col-1 sh gr
1288 showpage
1289 $F2psEnd
1290 rs
1291 %%EndDocument
1292
1293  endTexFig
1294  836 1703 a Fu(Figure)25 b(1:)30 b(A)25 b(Ne)o(gamax)f(F)o(ormulation)f
1295 (of)h(the)h Fq(\013)q(\014)30 b Fu(Algorithm)0 1989 y(termine)24
1296 b(the)h(minimax)e(v)n(alue:)30 b Fq(b)1168 1952 y Fp(d)1209
1297 1925 y Fd(d)p 1210 1937 33 4 v 1211 1978 a Fc(2)1251
1298 1952 y Fp(e)1309 1989 y Fl(+)22 b Fq(b)1448 1952 y Fp(b)1489
1299 1925 y Fd(d)p 1489 1937 V 1490 1978 a Fc(2)1531 1952
1300 y Fp(c)1589 1989 y Fk(\000)g Fl(1)j Fu(\(assuming)e(that)h(there)h(are)
1301 h(no)e(transpositions)f(in)h(the)h(tree\).)0 2188 y(This)i(best)h(case)
1302 h(is)f(achie)n(v)o(ed)f(when)h(the)g(\223best\224)h(mo)o(v)o(e)d(is)i
1303 (considered)g(\002rst)g(at)g(all)g(nodes)g(in)g(the)g(search)h(tree)0
1304 2388 y(\(a)c(perfectly-ordered)h(tree\).)146 2587 y(There)e(is)f(a)g
1305 (portion)f(of)h(the)g Fq(\013)q(\014)29 b Fu(tree)23
1306 b(that)g(must)f(al)o(w)o(ays)h(be)g(searched)h(to)f(determine)f(the)h
1307 (minimax)f(v)n(alue.)0 2786 y(This)k Fm(critical)f(tr)l(ee)i
1308 Fu(is)f(de\002ned)h(as)g(the)g(perfectly-ordered)g(tree)g(that)f(is)g
1309 (generated)h(when)f Fq(\013)q(\014)32 b Fu(is)27 b(started)f(with)0
1310 2985 y(the)32 b(search)i(windo)n(w)d(\()p Fk(\0001)p
1311 Fu(,)p Fl(+)p Fk(1)p Fu(\).)54 b(Figure)33 b(2)g(sho)n(ws)e(the)h
1312 (structure)h(of)f(the)h(critical)f(tree.)55 b(Nodes)32
1313 b(mark)o(ed)0 3185 y(ALL)22 b(ha)n(v)o(e)g(all)g(of)g(their)g
1314 (successors)g(e)o(xplored)f(by)h Fq(\013)q(\014)6 b Fu(.)29
1315 b(Nodes)22 b(mark)o(ed)g(CUT)g(ha)n(v)o(e)g(at)g(least)g(one)g(branch)h
1316 (that)0 3384 y(can)32 b(cut)f(of)n(f)g(further)g(search)h(at)f(this)g
1317 (node.)50 b(In)31 b(the)g(critical)g(tree,)j(\002rst)d(mo)o(v)o(e)f
1318 (searched)i(at)f(all)g(CUT)h(nodes)0 3583 y(causes)23
1319 b(a)g(cut-of)n(f.)29 b(CUT)23 b(and)g(ALL)f(nodes)g(are)h(also)g(kno)n
1320 (wn)e(as)i(type-2)f(and)g(type-3)g(nodes,)h(respecti)n(v)o(ely)e([9].)
1321 146 3782 y(The)26 b(principal)f(v)n(ariation)g(\(type-1)h(nodes,)g
1322 (labeled)f(PV)i(in)e(Figure)h(2\))g(of)g(an)g Fq(\013)q(\014)32
1323 b Fu(critical)25 b(tree)i(is)e(the)h(\002rst)0 3982 y(\(left-most\))e
1324 (branch)g(searched.)32 b(All)24 b(of)g(the)h(PV)g(nodes)f(are)h
1325 (searched)g(with)f(the)g(windo)n(w)f(\()p Fk(\0001)p
1326 Fu(,)p Fl(+)p Fk(1)p Fu(\).)31 b(Thus,)0 4181 y(all)25
1327 b(children)f(at)h(PV)g(nodes)f(are)i(searched,)f(meaning)f(that)h(the)o
1328 (y)e(are)j(ef)n(fecti)n(v)o(ely)d(ALL)i(nodes.)0 4476
1329 y Fg(2.2)119 b(P)o(arallel)30 b Ff(\013)q(\014)7 b Fg(-based)30
1330 b(Sear)n(ch)h(Algorithms)0 4742 y Fu(The)h Fm(PV)-5 b(-Split)30
1331 b Fu(algorithm)h([13])h(is)g(based)g(on)f(the)h(re)o(gular)g(structure)
1332 g(of)g(the)g(critical)g(game)f(tree.)53 b(The)32 b(\002rst)0
1333 4941 y(stage)38 b(of)f(the)h(algorithm)e(in)l(v)n(olv)o(es)g(a)j
1334 (recursi)n(v)o(e)e(call)g(to)h(itself)f(as)h(PV)-10 b(-Split)37
1335 b(tra)n(v)o(els)g(do)n(wn)g(the)h(principal)0 5141 y(v)n(ariation.)28
1336 b(Once)20 b(the)f(left)h(subtree)f(of)h(a)g(PV)g(node)f(has)h(been)f(e)
1337 o(xamined,)h(all)f(of)h(the)f(other)h(subtrees)f(belo)n(w)g(that)0
1338 5340 y(PV)27 b(node)f(are)h(searched)f(in)g(parallel.)35
1339 b(Each)27 b(processor)f(is)f(gi)n(v)o(en)g(one)h(subtree)g(at)h(a)f
1340 (time)g(to)g(search,)h(without)1925 5589 y(5)p eop
1341 %%Page: 6 9
1342 6 8 bop 825 0 a
1343  17761071 11840716 5130977 18813583 31443681 36245749 startTexFig
1344  825 0 a
1345 %%BeginDocument: pics/candidacy2-4.ps
1346
1347 /arrowHeight 10 def
1348 /arrowWidth 5 def
1349
1350 /IdrawDict 51 dict def
1351 IdrawDict begin
1352
1353 /reencodeISO {
1354 dup dup findfont dup length dict begin
1355 { 1 index /FID ne { def }{ pop pop } ifelse } forall
1356 /Encoding ISOLatin1Encoding def
1357 currentdict end definefont
1358 } def
1359
1360 /ISOLatin1Encoding [
1361 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1362 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1363 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1364 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1365 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
1366 /parenleft/parenright/asterisk/plus/comma/minus/period/slash
1367 /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
1368 /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
1369 /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
1370 /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
1371 /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
1372 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1373 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
1374 /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
1375 /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
1376 /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
1377 /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
1378 /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
1379 /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
1380 /guillemotright/onequarter/onehalf/threequarters/questiondown
1381 /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
1382 /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
1383 /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
1384 /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
1385 /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
1386 /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
1387 /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
1388 /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
1389 /yacute/thorn/ydieresis
1390 ] def
1391 /Helvetica reencodeISO def
1392
1393 /none null def
1394 /numGraphicParameters 17 def
1395 /stringLimit 65535 def
1396
1397 /Begin {
1398 save
1399 numGraphicParameters dict begin
1400 } def
1401
1402 /End {
1403 end
1404 restore
1405 } def
1406
1407 /SetB {
1408 dup type /nulltype eq {
1409 pop
1410 false /brushRightArrow idef
1411 false /brushLeftArrow idef
1412 true /brushNone idef
1413 } {
1414 /brushDashOffset idef
1415 /brushDashArray idef
1416 0 ne /brushRightArrow idef
1417 0 ne /brushLeftArrow idef
1418 /brushWidth idef
1419 false /brushNone idef
1420 } ifelse
1421 } def
1422
1423 /SetCFg {
1424 /fgblue idef
1425 /fggreen idef
1426 /fgred idef
1427 } def
1428
1429 /SetCBg {
1430 /bgblue idef
1431 /bggreen idef
1432 /bgred idef
1433 } def
1434
1435 /SetF {
1436 /printSize idef
1437 /printFont idef
1438 } def
1439
1440 /SetP {
1441 dup type /nulltype eq {
1442 pop true /patternNone idef
1443 } {
1444 dup -1 eq {
1445 /patternGrayLevel idef
1446 /patternString idef
1447 } {
1448 /patternGrayLevel idef
1449 } ifelse
1450 false /patternNone idef
1451 } ifelse
1452 } def
1453
1454 /BSpl {
1455 0 begin
1456 storexyn
1457 newpath
1458 n 1 gt {
1459 0 0 0 0 0 0 1 1 true subspline
1460 n 2 gt {
1461 0 0 0 0 1 1 2 2 false subspline
1462 1 1 n 3 sub {
1463 /i exch def
1464 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
1465 } for
1466 n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
1467 } if
1468 n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
1469 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
1470 brushNone not { istroke } if
1471 0 0 1 1 leftarrow
1472 n 2 sub dup n 1 sub dup rightarrow
1473 } if
1474 end
1475 } dup 0 4 dict put def
1476
1477 /Circ {
1478 newpath
1479 0 360 arc
1480 patternNone not { ifill } if
1481 brushNone not { istroke } if
1482 } def
1483
1484 /CBSpl {
1485 0 begin
1486 dup 2 gt {
1487 storexyn
1488 newpath
1489 n 1 sub dup 0 0 1 1 2 2 true subspline
1490 1 1 n 3 sub {
1491 /i exch def
1492 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
1493 } for
1494 n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
1495 n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
1496 patternNone not { ifill } if
1497 brushNone not { istroke } if
1498 } {
1499 Poly
1500 } ifelse
1501 end
1502 } dup 0 4 dict put def
1503
1504 /Elli {
1505 0 begin
1506 newpath
1507 4 2 roll
1508 translate
1509 scale
1510 0 0 1 0 360 arc
1511 patternNone not { ifill } if
1512 brushNone not { istroke } if
1513 end
1514 } dup 0 1 dict put def
1515
1516 /Line {
1517 0 begin
1518 2 storexyn
1519 newpath
1520 x 0 get y 0 get moveto
1521 x 1 get y 1 get lineto
1522 brushNone not { istroke } if
1523 0 0 1 1 leftarrow
1524 0 0 1 1 rightarrow
1525 end
1526 } dup 0 4 dict put def
1527
1528 /MLine {
1529 0 begin
1530 storexyn
1531 newpath
1532 n 1 gt {
1533 x 0 get y 0 get moveto
1534 1 1 n 1 sub {
1535 /i exch def
1536 x i get y i get lineto
1537 } for
1538 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
1539 brushNone not { istroke } if
1540 0 0 1 1 leftarrow
1541 n 2 sub dup n 1 sub dup rightarrow
1542 } if
1543 end
1544 } dup 0 4 dict put def
1545
1546 /Poly {
1547 3 1 roll
1548 newpath
1549 moveto
1550 -1 add
1551 { lineto } repeat
1552 closepath
1553 patternNone not { ifill } if
1554 brushNone not { istroke } if
1555 } def
1556
1557 /Rect {
1558 0 begin
1559 /t exch def
1560 /r exch def
1561 /b exch def
1562 /l exch def
1563 newpath
1564 l b moveto
1565 l t lineto
1566 r t lineto
1567 r b lineto
1568 closepath
1569 patternNone not { ifill } if
1570 brushNone not { istroke } if
1571 end
1572 } dup 0 4 dict put def
1573
1574 /Text {
1575 ishow
1576 } def
1577
1578 /idef {
1579 dup where { pop pop pop } { exch def } ifelse
1580 } def
1581
1582 /ifill {
1583 0 begin
1584 gsave
1585 patternGrayLevel -1 ne {
1586 fgred bgred fgred sub patternGrayLevel mul add
1587 fggreen bggreen fggreen sub patternGrayLevel mul add
1588 fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
1589 eofill
1590 } {
1591 eoclip
1592 originalCTM setmatrix
1593 pathbbox /t exch def /r exch def /b exch def /l exch def
1594 /w r l sub ceiling cvi def
1595 /h t b sub ceiling cvi def
1596 /imageByteWidth w 8 div ceiling cvi def
1597 /imageHeight h def
1598 bgred bggreen bgblue setrgbcolor
1599 eofill
1600 fgred fggreen fgblue setrgbcolor
1601 w 0 gt h 0 gt and {
1602 l b translate w h scale
1603 w h true [w 0 0 h neg 0 h] { patternproc } imagemask
1604 } if
1605 } ifelse
1606 grestore
1607 end
1608 } dup 0 8 dict put def
1609
1610 /istroke {
1611 gsave
1612 brushDashOffset -1 eq {
1613 [] 0 setdash
1614 1 setgray
1615 } {
1616 brushDashArray brushDashOffset setdash
1617 fgred fggreen fgblue setrgbcolor
1618 } ifelse
1619 brushWidth setlinewidth
1620 originalCTM setmatrix
1621 stroke
1622 grestore
1623 } def
1624
1625 /ishow {
1626 0 begin
1627 gsave
1628 fgred fggreen fgblue setrgbcolor
1629 /fontDict printFont printSize scalefont dup setfont def
1630 /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
1631 transform exch pop def
1632 /vertoffset 1 printSize sub descender sub def {
1633 0 vertoffset moveto show
1634 /vertoffset vertoffset printSize sub def
1635 } forall
1636 grestore
1637 end
1638 } dup 0 3 dict put def
1639 /patternproc {
1640 0 begin
1641 /patternByteLength patternString length def
1642 /patternHeight patternByteLength 8 mul sqrt cvi def
1643 /patternWidth patternHeight def
1644 /patternByteWidth patternWidth 8 idiv def
1645 /imageByteMaxLength imageByteWidth imageHeight mul
1646 stringLimit patternByteWidth sub min def
1647 /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
1648 patternHeight mul patternHeight max def
1649 /imageHeight imageHeight imageMaxHeight sub store
1650 /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
1651 0 1 imageMaxHeight 1 sub {
1652 /y exch def
1653 /patternRow y patternByteWidth mul patternByteLength mod def
1654 /patternRowString patternString patternRow patternByteWidth getinterval def
1655 /imageRow y imageByteWidth mul def
1656 0 patternByteWidth imageByteWidth 1 sub {
1657 /x exch def
1658 imageString imageRow x add patternRowString putinterval
1659 } for
1660 } for
1661 imageString
1662 end
1663 } dup 0 12 dict put def
1664
1665 /min {
1666 dup 3 2 roll dup 4 3 roll lt { exch } if pop
1667 } def
1668
1669 /max {
1670 dup 3 2 roll dup 4 3 roll gt { exch } if pop
1671 } def
1672
1673 /midpoint {
1674 0 begin
1675 /y1 exch def
1676 /x1 exch def
1677 /y0 exch def
1678 /x0 exch def
1679 x0 x1 add 2 div
1680 y0 y1 add 2 div
1681 end
1682 } dup 0 4 dict put def
1683
1684 /thirdpoint {
1685 0 begin
1686 /y1 exch def
1687 /x1 exch def
1688 /y0 exch def
1689 /x0 exch def
1690 x0 2 mul x1 add 3 div
1691 y0 2 mul y1 add 3 div
1692 end
1693 } dup 0 4 dict put def
1694
1695 /subspline {
1696 0 begin
1697 /movetoNeeded exch def
1698 y exch get /y3 exch def
1699 x exch get /x3 exch def
1700 y exch get /y2 exch def
1701 x exch get /x2 exch def
1702 y exch get /y1 exch def
1703 x exch get /x1 exch def
1704 y exch get /y0 exch def
1705 x exch get /x0 exch def
1706 x1 y1 x2 y2 thirdpoint
1707 /p1y exch def
1708 /p1x exch def
1709 x2 y2 x1 y1 thirdpoint
1710 /p2y exch def
1711 /p2x exch def
1712 x1 y1 x0 y0 thirdpoint
1713 p1x p1y midpoint
1714 /p0y exch def
1715 /p0x exch def
1716 x2 y2 x3 y3 thirdpoint
1717 p2x p2y midpoint
1718 /p3y exch def
1719 /p3x exch def
1720 movetoNeeded { p0x p0y moveto } if
1721 p1x p1y p2x p2y p3x p3y curveto
1722 end
1723 } dup 0 17 dict put def
1724
1725 /storexyn {
1726 /n exch def
1727 /y n array def
1728 /x n array def
1729 n 1 sub -1 0 {
1730 /i exch def
1731 y i 3 2 roll put
1732 x i 3 2 roll put
1733 } for
1734 } def
1735
1736 /SSten {
1737 fgred fggreen fgblue setrgbcolor
1738 dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
1739 } def
1740
1741 /FSten {
1742 dup 3 -1 roll dup 4 1 roll exch
1743 newpath
1744 0 0 moveto
1745 dup 0 exch lineto
1746 exch dup 3 1 roll exch lineto
1747 0 lineto
1748 closepath
1749 bgred bggreen bgblue setrgbcolor
1750 eofill
1751 SSten
1752 } def
1753
1754 /Rast {
1755 exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
1756 } def
1757
1758
1759 /arrowhead {
1760 0 begin
1761 transform originalCTM itransform
1762 /taily exch def
1763 /tailx exch def
1764 transform originalCTM itransform
1765 /tipy exch def
1766 /tipx exch def
1767 /dy tipy taily sub def
1768 /dx tipx tailx sub def
1769 /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
1770 gsave
1771 originalCTM setmatrix
1772 tipx tipy translate
1773 angle rotate
1774 newpath
1775 arrowHeight neg arrowWidth 2 div moveto
1776 0 0 lineto
1777 arrowHeight neg arrowWidth 2 div neg lineto
1778 patternNone not {
1779 originalCTM setmatrix
1780 /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
1781 arrowWidth div def
1782 /padtail brushWidth 2 div def
1783 tipx tipy translate
1784 angle rotate
1785 padtip 0 translate
1786 arrowHeight padtip add padtail add arrowHeight div dup scale
1787 arrowheadpath
1788 ifill
1789 } if
1790 brushNone not {
1791 originalCTM setmatrix
1792 tipx tipy translate
1793 angle rotate
1794 arrowheadpath
1795 istroke
1796 } if
1797 grestore
1798 end
1799 } dup 0 9 dict put def
1800
1801 /arrowheadpath {
1802 newpath
1803 arrowHeight neg arrowWidth 2 div moveto
1804 0 0 lineto
1805 arrowHeight neg arrowWidth 2 div neg lineto
1806 } def
1807
1808 /leftarrow {
1809 0 begin
1810 y exch get /taily exch def
1811 x exch get /tailx exch def
1812 y exch get /tipy exch def
1813 x exch get /tipx exch def
1814 brushLeftArrow { tipx tipy tailx taily arrowhead } if
1815 end
1816 } dup 0 4 dict put def
1817
1818 /rightarrow {
1819 0 begin
1820 y exch get /tipy exch def
1821 x exch get /tipx exch def
1822 y exch get /taily exch def
1823 x exch get /tailx exch def
1824 brushRightArrow { tipx tipy tailx taily arrowhead } if
1825 end
1826 } dup 0 4 dict put def
1827
1828
1829 %I Idraw 10 Grid 4.98316 4.98316 
1830
1831
1832 Begin
1833 %I b u
1834 %I cfg u
1835 %I cbg u
1836 %I f u
1837 %I p u
1838 %I t
1839 [ 0.799705 0 0 0.799705 0 0 ] concat
1840 /originalCTM matrix currentmatrix def
1841
1842 Begin %I Line
1843 %I b 65535
1844 1 0 0 [] 0 SetB
1845 %I cfg Black
1846 0 0 0 SetCFg
1847 %I cbg White
1848 1 1 1 SetCBg
1849 %I p
1850 1 SetP
1851 %I t
1852 [ 1 -0 -0 1 174 230 ] concat
1853 %I
1854 200 443 200 353 Line
1855 %I 1
1856 End
1857
1858 Begin %I Line
1859 %I b 65535
1860 1 0 0 [] 0 SetB
1861 %I cfg Black
1862 0 0 0 SetCFg
1863 %I cbg White
1864 1 1 1 SetCBg
1865 %I p
1866 1 SetP
1867 %I t
1868 [ 1 -0 -0 1 174 230 ] concat
1869 %I
1870 200 443 349 353 Line
1871 %I 1
1872 End
1873
1874 Begin %I Line
1875 %I b 65535
1876 1 0 0 [] 0 SetB
1877 %I cfg Black
1878 0 0 0 SetCFg
1879 %I cbg White
1880 1 1 1 SetCBg
1881 %I p
1882 1 SetP
1883 %I t
1884 [ 1 -0 -0 1 174 230 ] concat
1885 %I
1886 200 443 50 353 Line
1887 %I 1
1888 End
1889
1890 Begin %I Line
1891 %I b 65535
1892 1 0 0 [] 0 SetB
1893 %I cfg Black
1894 0 0 0 SetCFg
1895 %I cbg White
1896 1 1 1 SetCBg
1897 %I p
1898 1 SetP
1899 %I t
1900 [ 1 -0 -0 1 174 230 ] concat
1901 %I
1902 50 353 5 263 Line
1903 %I 1
1904 End
1905
1906 Begin %I Line
1907 %I b 65535
1908 1 0 0 [] 0 SetB
1909 %I cfg Black
1910 0 0 0 SetCFg
1911 %I cbg White
1912 1 1 1 SetCBg
1913 %I p
1914 1 SetP
1915 %I t
1916 [ 1 -0 -0 1 174 230 ] concat
1917 %I
1918 50 353 110 263 Line
1919 %I 1
1920 End
1921
1922 Begin %I Line
1923 %I b 65535
1924 1 0 0 [] 0 SetB
1925 %I cfg Black
1926 0 0 0 SetCFg
1927 %I cbg White
1928 1 1 1 SetCBg
1929 %I p
1930 1 SetP
1931 %I t
1932 [ 1 -0 -0 1 174 230 ] concat
1933 %I
1934 50 353 65 263 Line
1935 %I 1
1936 End
1937
1938 Begin %I Line
1939 %I b 65535
1940 1 0 0 [] 0 SetB
1941 %I cfg Black
1942 0 0 0 SetCFg
1943 %I cbg White
1944 1 1 1 SetCBg
1945 %I p
1946 1 SetP
1947 %I t
1948 [ 1 -0 -0 1 70 230 ] concat
1949 %I
1950 109 263 65 174 Line
1951 %I 1
1952 End
1953
1954 Begin %I Line
1955 %I b 65535
1956 1 0 0 [] 0 SetB
1957 %I cfg Black
1958 0 0 0 SetCFg
1959 %I cbg White
1960 1 1 1 SetCBg
1961 %I p
1962 1 SetP
1963 %I t
1964 [ 1 -0 -0 1 70 230 ] concat
1965 %I
1966 109 263 109 174 Line
1967 %I 1
1968 End
1969
1970 Begin %I Line
1971 %I b 65535
1972 1 0 0 [] 0 SetB
1973 %I cfg Black
1974 0 0 0 SetCFg
1975 %I cbg White
1976 1 1 1 SetCBg
1977 %I p
1978 1 SetP
1979 %I t
1980 [ 1 -0 -0 1 70 230 ] concat
1981 %I
1982 109 263 154 174 Line
1983 %I 1
1984 End
1985
1986 Begin %I Line
1987 %I b 65535
1988 1 0 0 [] 0 SetB
1989 %I cfg Black
1990 0 0 0 SetCFg
1991 %I cbg White
1992 1 1 1 SetCBg
1993 %I p
1994 1 SetP
1995 %I t
1996 [ 1 -0 -0 1 70 230 ] concat
1997 %I
1998 169 263 199 174 Line
1999 %I 1
2000 End
2001
2002 Begin %I Line
2003 %I b 65535
2004 1 0 0 [] 0 SetB
2005 %I cfg Black
2006 0 0 0 SetCFg
2007 %I cbg White
2008 1 1 1 SetCBg
2009 %I p
2010 1 SetP
2011 %I t
2012 [ 1 -0 -0 1 70 230 ] concat
2013 %I
2014 214 263 244 174 Line
2015 %I 1
2016 End
2017
2018 Begin %I Line
2019 %I b 65535
2020 1 0 0 [] 0 SetB
2021 %I cfg Black
2022 0 0 0 SetCFg
2023 %I cbg White
2024 1 1 1 SetCBg
2025 %I p
2026 1 SetP
2027 %I t
2028 [ 1 -0 -0 1 70 230 ] concat
2029 %I
2030 65 174 50 129 Line
2031 %I 1
2032 End
2033
2034 Begin %I Line
2035 %I b 65535
2036 1 0 0 [] 0 SetB
2037 %I cfg Black
2038 0 0 0 SetCFg
2039 %I cbg White
2040 1 1 1 SetCBg
2041 %I p
2042 1 SetP
2043 %I t
2044 [ 1 -0 -0 1 70 230 ] concat
2045 %I
2046 65 174 65 129 Line
2047 %I 1
2048 End
2049
2050 Begin %I Line
2051 %I b 65535
2052 1 0 0 [] 0 SetB
2053 %I cfg Black
2054 0 0 0 SetCFg
2055 %I cbg White
2056 1 1 1 SetCBg
2057 %I p
2058 1 SetP
2059 %I t
2060 [ 1 -0 -0 1 70 230 ] concat
2061 %I
2062 65 174 79 129 Line
2063 %I 1
2064 End
2065
2066 Begin %I Line
2067 %I b 65535
2068 1 0 0 [] 0 SetB
2069 %I cfg Black
2070 0 0 0 SetCFg
2071 %I cbg White
2072 1 1 1 SetCBg
2073 %I p
2074 1 SetP
2075 %I t
2076 [ 1 -0 -0 1 70 230 ] concat
2077 %I
2078 65 174 57 129 Line
2079 %I 1
2080 End
2081
2082 Begin %I Line
2083 %I b 65535
2084 1 0 0 [] 0 SetB
2085 %I cfg Black
2086 0 0 0 SetCFg
2087 %I cbg White
2088 1 1 1 SetCBg
2089 %I p
2090 1 SetP
2091 %I t
2092 [ 1 -0 -0 1 70 230 ] concat
2093 %I
2094 65 174 72 129 Line
2095 %I 1
2096 End
2097
2098 Begin %I Line
2099 %I b 65535
2100 1 0 0 [] 0 SetB
2101 %I cfg Black
2102 0 0 0 SetCFg
2103 %I cbg White
2104 1 1 1 SetCBg
2105 %I p
2106 1 SetP
2107 %I t
2108 [ 1 -0 -0 1 70 230 ] concat
2109 %I
2110 109 174 102 129 Line
2111 %I 1
2112 End
2113
2114 Begin %I Line
2115 %I b 65535
2116 1 0 0 [] 0 SetB
2117 %I cfg Black
2118 0 0 0 SetCFg
2119 %I cbg White
2120 1 1 1 SetCBg
2121 %I p
2122 1 SetP
2123 %I t
2124 [ 1 -0 -0 1 70 230 ] concat
2125 %I
2126 154 174 147 129 Line
2127 %I 1
2128 End
2129
2130 Begin %I Line
2131 %I b 65535
2132 1 0 0 [] 0 SetB
2133 %I cfg Black
2134 0 0 0 SetCFg
2135 %I cbg White
2136 1 1 1 SetCBg
2137 %I p
2138 1 SetP
2139 %I t
2140 [ 1 -0 -0 1 70 230 ] concat
2141 %I
2142 199 174 184 129 Line
2143 %I 1
2144 End
2145
2146 Begin %I Line
2147 %I b 65535
2148 1 0 0 [] 0 SetB
2149 %I cfg Black
2150 0 0 0 SetCFg
2151 %I cbg White
2152 1 1 1 SetCBg
2153 %I p
2154 1 SetP
2155 %I t
2156 [ 1 -0 -0 1 70 230 ] concat
2157 %I
2158 199 174 192 129 Line
2159 %I 1
2160 End
2161
2162 Begin %I Line
2163 %I b 65535
2164 1 0 0 [] 0 SetB
2165 %I cfg Black
2166 0 0 0 SetCFg
2167 %I cbg White
2168 1 1 1 SetCBg
2169 %I p
2170 1 SetP
2171 %I t
2172 [ 1 -0 -0 1 70 230 ] concat
2173 %I
2174 199 174 199 129 Line
2175 %I 1
2176 End
2177
2178 Begin %I Line
2179 %I b 65535
2180 1 0 0 [] 0 SetB
2181 %I cfg Black
2182 0 0 0 SetCFg
2183 %I cbg White
2184 1 1 1 SetCBg
2185 %I p
2186 1 SetP
2187 %I t
2188 [ 1 -0 -0 1 70 230 ] concat
2189 %I
2190 199 174 207 129 Line
2191 %I 1
2192 End
2193
2194 Begin %I Line
2195 %I b 65535
2196 1 0 0 [] 0 SetB
2197 %I cfg Black
2198 0 0 0 SetCFg
2199 %I cbg White
2200 1 1 1 SetCBg
2201 %I p
2202 1 SetP
2203 %I t
2204 [ 1 -0 -0 1 70 230 ] concat
2205 %I
2206 199 174 214 129 Line
2207 %I 1
2208 End
2209
2210 Begin %I Line
2211 %I b 65535
2212 1 0 0 [] 0 SetB
2213 %I cfg Black
2214 0 0 0 SetCFg
2215 %I cbg White
2216 1 1 1 SetCBg
2217 %I p
2218 1 SetP
2219 %I t
2220 [ 1 -0 -0 1 70 230 ] concat
2221 %I
2222 244 174 229 129 Line
2223 %I 1
2224 End
2225
2226 Begin %I Line
2227 %I b 65535
2228 1 0 0 [] 0 SetB
2229 %I cfg Black
2230 0 0 0 SetCFg
2231 %I cbg White
2232 1 1 1 SetCBg
2233 %I p
2234 1 SetP
2235 %I t
2236 [ 1 -0 -0 1 70 230 ] concat
2237 %I
2238 236 129 244 174 Line
2239 %I 1
2240 End
2241
2242 Begin %I Line
2243 %I b 65535
2244 1 0 0 [] 0 SetB
2245 %I cfg Black
2246 0 0 0 SetCFg
2247 %I cbg White
2248 1 1 1 SetCBg
2249 %I p
2250 1 SetP
2251 %I t
2252 [ 1 -0 -0 1 70 230 ] concat
2253 %I
2254 244 174 244 129 Line
2255 %I 1
2256 End
2257
2258 Begin %I Line
2259 %I b 65535
2260 1 0 0 [] 0 SetB
2261 %I cfg Black
2262 0 0 0 SetCFg
2263 %I cbg White
2264 1 1 1 SetCBg
2265 %I p
2266 1 SetP
2267 %I t
2268 [ 1 -0 -0 1 70 230 ] concat
2269 %I
2270 244 174 251 129 Line
2271 %I 1
2272 End
2273
2274 Begin %I Line
2275 %I b 65535
2276 1 0 0 [] 0 SetB
2277 %I cfg Black
2278 0 0 0 SetCFg
2279 %I cbg White
2280 1 1 1 SetCBg
2281 %I p
2282 1 SetP
2283 %I t
2284 [ 1 -0 -0 1 70 230 ] concat
2285 %I
2286 244 174 259 129 Line
2287 %I 1
2288 End
2289
2290 Begin %I Elli
2291 %I b 65535
2292 1 0 0 [] 0 SetB
2293 %I cfg Black
2294 0 0 0 SetCFg
2295 %I cbg White
2296 1 1 1 SetCBg
2297 %I p
2298 1 SetP
2299 %I t
2300 [ 1 -0 -0 1 70 230 ] concat
2301 %I
2302 304 443 15 15 Elli
2303 End
2304
2305 Begin %I Pict
2306 %I b u
2307 %I cfg u
2308 %I cbg u
2309 %I f u
2310 %I p u
2311 %I t
2312 [ 1 0 0 1 150 0 ] concat
2313
2314 Begin %I Rect
2315 %I b 65535
2316 1 0 0 [] 0 SetB
2317 %I cfg Black
2318 0 0 0 SetCFg
2319 %I cbg White
2320 1 1 1 SetCBg
2321 %I p
2322 1 SetP
2323 %I t
2324 [ 1 -0 -0 1 70 230 ] concat
2325 %I
2326 139 428 169 458 Rect
2327 End
2328
2329 Begin %I Text
2330 %I cfg Black
2331 0 0 0 SetCFg
2332 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
2333 Helvetica 12 SetF
2334 %I t
2335 [ 1 0 0 1 214 676 ] concat
2336 %I
2337 [
2338 (ALL)
2339 ] Text
2340 End
2341
2342 End %I eop
2343
2344 Begin %I Pict
2345 %I b u
2346 %I cfg u
2347 %I cbg u
2348 %I f u
2349 %I p u
2350 %I t
2351 [ 1 0 0 1 0 -90 ] concat
2352
2353 Begin %I Rect
2354 %I b 65535
2355 1 0 0 [] 0 SetB
2356 %I cfg Black
2357 0 0 0 SetCFg
2358 %I cbg White
2359 1 1 1 SetCBg
2360 %I p
2361 1 SetP
2362 %I t
2363 [ 1 -0 -0 1 70 230 ] concat
2364 %I
2365 139 428 169 458 Rect
2366 End
2367
2368 Begin %I Text
2369 %I cfg Black
2370 0 0 0 SetCFg
2371 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
2372 Helvetica 12 SetF
2373 %I t
2374 [ 1 0 0 1 214 676 ] concat
2375 %I
2376 [
2377 (ALL)
2378 ] Text
2379 End
2380
2381 End %I eop
2382
2383 Begin %I Pict
2384 %I b u
2385 %I cfg u
2386 %I cbg u
2387 %I f u
2388 %I p u
2389 %I t
2390 [ 1 0 0 1 -45 -180 ] concat
2391
2392 Begin %I Rect
2393 %I b 65535
2394 1 0 0 [] 0 SetB
2395 %I cfg Black
2396 0 0 0 SetCFg
2397 %I cbg White
2398 1 1 1 SetCBg
2399 %I p
2400 1 SetP
2401 %I t
2402 [ 1 -0 -0 1 70 230 ] concat
2403 %I
2404 139 428 169 458 Rect
2405 End
2406
2407 Begin %I Text
2408 %I cfg Black
2409 0 0 0 SetCFg
2410 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
2411 Helvetica 12 SetF
2412 %I t
2413 [ 1 0 0 1 214 676 ] concat
2414 %I
2415 [
2416 (ALL)
2417 ] Text
2418 End
2419
2420 End %I eop
2421
2422 Begin %I Pict
2423 %I b u
2424 %I cfg u
2425 %I cbg u
2426 %I f u
2427 %I p u
2428 %I t
2429 [ 1 0 0 1 -89 -269 ] concat
2430
2431 Begin %I Rect
2432 %I b 65535
2433 1 0 0 [] 0 SetB
2434 %I cfg Black
2435 0 0 0 SetCFg
2436 %I cbg White
2437 1 1 1 SetCBg
2438 %I p
2439 1 SetP
2440 %I t
2441 [ 1 -0 -0 1 70 230 ] concat
2442 %I
2443 139 428 169 458 Rect
2444 End
2445
2446 Begin %I Text
2447 %I cfg Black
2448 0 0 0 SetCFg
2449 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
2450 Helvetica 12 SetF
2451 %I t
2452 [ 1 0 0 1 214 676 ] concat
2453 %I
2454 [
2455 (ALL)
2456 ] Text
2457 End
2458
2459 End %I eop
2460
2461 Begin %I Pict
2462 %I b u
2463 %I cfg u
2464 %I cbg u
2465 %I f u
2466 %I p u
2467 %I t
2468 [ 1 0 0 1 46 -269 ] concat
2469
2470 Begin %I Rect
2471 %I b 65535
2472 1 0 0 [] 0 SetB
2473 %I cfg Black
2474 0 0 0 SetCFg
2475 %I cbg White
2476 1 1 1 SetCBg
2477 %I p
2478 1 SetP
2479 %I t
2480 [ 1 -0 -0 1 70 230 ] concat
2481 %I
2482 139 428 169 458 Rect
2483 End
2484
2485 Begin %I Text
2486 %I cfg Black
2487 0 0 0 SetCFg
2488 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
2489 Helvetica 12 SetF
2490 %I t
2491 [ 1 0 0 1 214 676 ] concat
2492 %I
2493 [
2494 (ALL)
2495 ] Text
2496 End
2497
2498 End %I eop
2499
2500 Begin %I Pict
2501 %I b u
2502 %I cfg u
2503 %I cbg u
2504 %I f u
2505 %I p u
2506 %I t
2507 [ 1 0 0 1 90 -269 ] concat
2508
2509 Begin %I Rect
2510 %I b 65535
2511 1 0 0 [] 0 SetB
2512 %I cfg Black
2513 0 0 0 SetCFg
2514 %I cbg White
2515 1 1 1 SetCBg
2516 %I p
2517 1 SetP
2518 %I t
2519 [ 1 -0 -0 1 70 230 ] concat
2520 %I
2521 139 428 169 458 Rect
2522 End
2523
2524 Begin %I Text
2525 %I cfg Black
2526 0 0 0 SetCFg
2527 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
2528 Helvetica 12 SetF
2529 %I t
2530 [ 1 0 0 1 214 676 ] concat
2531 %I
2532 [
2533 (ALL)
2534 ] Text
2535 End
2536
2537 End %I eop
2538
2539 Begin %I Line
2540 %I b 65535
2541 1 0 0 [] 0 SetB
2542 %I cfg Black
2543 0 0 0 SetCFg
2544 %I cbg White
2545 1 1 1 SetCBg
2546 %I p
2547 1 SetP
2548 %I t
2549 [ 1 0 0 1 85 230 ] concat
2550 %I
2551 304 263 274 174 Line
2552 %I 1
2553 End
2554
2555 Begin %I Line
2556 %I b 65535
2557 1 0 0 [] 0 SetB
2558 %I cfg Black
2559 0 0 0 SetCFg
2560 %I cbg White
2561 1 1 1 SetCBg
2562 %I p
2563 1 SetP
2564 %I t
2565 [ 1 0 0 1 85 230 ] concat
2566 %I
2567 304 263 319 174 Line
2568 %I 1
2569 End
2570
2571 Begin %I Line
2572 %I b 65535
2573 1 0 0 [] 0 SetB
2574 %I cfg Black
2575 0 0 0 SetCFg
2576 %I cbg White
2577 1 1 1 SetCBg
2578 %I p
2579 1 SetP
2580 %I t
2581 [ 1 0 0 1 85 230 ] concat
2582 %I
2583 304 263 364 174 Line
2584 %I 1
2585 End
2586
2587 Begin %I Line
2588 %I b 65535
2589 1 0 0 [] 0 SetB
2590 %I cfg Black
2591 0 0 0 SetCFg
2592 %I cbg White
2593 1 1 1 SetCBg
2594 %I p
2595 1 SetP
2596 %I t
2597 [ 1 0 0 1 189 230 ] concat
2598 %I
2599 304 174 349 263 Line
2600 %I 1
2601 End
2602
2603 Begin %I Line
2604 %I b 65535
2605 1 0 0 [] 0 SetB
2606 %I cfg Black
2607 0 0 0 SetCFg
2608 %I cbg White
2609 1 1 1 SetCBg
2610 %I p
2611 1 SetP
2612 %I t
2613 [ 1 0 0 1 189 230 ] concat
2614 %I
2615 349 263 349 174 Line
2616 %I 1
2617 End
2618
2619 Begin %I Line
2620 %I b 65535
2621 1 0 0 [] 0 SetB
2622 %I cfg Black
2623 0 0 0 SetCFg
2624 %I cbg White
2625 1 1 1 SetCBg
2626 %I p
2627 1 SetP
2628 %I t
2629 [ 1 0 0 1 189 230 ] concat
2630 %I
2631 349 263 394 174 Line
2632 %I 1
2633 End
2634
2635 Begin %I Line
2636 %I b 65535
2637 1 0 0 [] 0 SetB
2638 %I cfg Black
2639 0 0 0 SetCFg
2640 %I cbg White
2641 1 1 1 SetCBg
2642 %I p
2643 1 SetP
2644 %I t
2645 [ 1 0 0 1 85 230 ] concat
2646 %I
2647 274 174 274 129 Line
2648 %I 1
2649 End
2650
2651 Begin %I Line
2652 %I b 65535
2653 1 0 0 [] 0 SetB
2654 %I cfg Black
2655 0 0 0 SetCFg
2656 %I cbg White
2657 1 1 1 SetCBg
2658 %I p
2659 1 SetP
2660 %I t
2661 [ 1 0 0 1 85 230 ] concat
2662 %I
2663 319 174 319 129 Line
2664 %I 1
2665 End
2666
2667 Begin %I Line
2668 %I b 65535
2669 1 0 0 [] 0 SetB
2670 %I cfg Black
2671 0 0 0 SetCFg
2672 %I cbg White
2673 1 1 1 SetCBg
2674 %I p
2675 1 SetP
2676 %I t
2677 [ 1 0 0 1 85 230 ] concat
2678 %I
2679 364 174 364 136 Line
2680 %I 1
2681 End
2682
2683 Begin %I Line
2684 %I b 65535
2685 1 0 0 [] 0 SetB
2686 %I cfg Black
2687 0 0 0 SetCFg
2688 %I cbg White
2689 1 1 1 SetCBg
2690 %I p
2691 1 SetP
2692 %I t
2693 [ 1 0 0 1 85 230 ] concat
2694 %I
2695 364 136 364 129 Line
2696 %I 1
2697 End
2698
2699 Begin %I Line
2700 %I b 65535
2701 1 0 0 [] 0 SetB
2702 %I cfg Black
2703 0 0 0 SetCFg
2704 %I cbg White
2705 1 1 1 SetCBg
2706 %I p
2707 1 SetP
2708 %I t
2709 [ 1 0 0 1 241 230 ] concat
2710 %I
2711 252 174 252 136 Line
2712 %I 1
2713 End
2714
2715 Begin %I Line
2716 %I b 65535
2717 1 0 0 [] 0 SetB
2718 %I cfg Black
2719 0 0 0 SetCFg
2720 %I cbg White
2721 1 1 1 SetCBg
2722 %I p
2723 1 SetP
2724 %I t
2725 [ 1 0 0 1 241 230 ] concat
2726 %I
2727 297 174 297 129 Line
2728 %I 1
2729 End
2730
2731 Begin %I Line
2732 %I b 65535
2733 1 0 0 [] 0 SetB
2734 %I cfg Black
2735 0 0 0 SetCFg
2736 %I cbg White
2737 1 1 1 SetCBg
2738 %I p
2739 1 SetP
2740 %I t
2741 [ 1 0 0 1 241 230 ] concat
2742 %I
2743 252 136 252 129 Line
2744 %I 1
2745 End
2746
2747 Begin %I Line
2748 %I b 65535
2749 1 0 0 [] 0 SetB
2750 %I cfg Black
2751 0 0 0 SetCFg
2752 %I cbg White
2753 1 1 1 SetCBg
2754 %I p
2755 1 SetP
2756 %I t
2757 [ 1 0 0 1 241 230 ] concat
2758 %I
2759 342 174 342 129 Line
2760 %I 1
2761 End
2762
2763 Begin %I Pict
2764 %I b u
2765 %I cfg u
2766 %I cbg u
2767 %I f u
2768 %I p u
2769 %I t
2770 [ 1 0 0 1 224 -269 ] concat
2771
2772 Begin %I Elli
2773 %I b 65535
2774 1 0 0 [] 0 SetB
2775 %I cfg Black
2776 0 0 0 SetCFg
2777 %I cbg White
2778 1 1 1 SetCBg
2779 %I p
2780 1 SetP
2781 %I t
2782 [ 1 -0 -0 1 70 230 ] concat
2783 %I
2784 65 443 14 15 Elli
2785 End
2786
2787 Begin %I Text
2788 %I cfg Black
2789 0 0 0 SetCFg
2790 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
2791 Helvetica 12 SetF
2792 %I t
2793 [ 1 0 0 1 124 678 ] concat
2794 %I
2795 [
2796 (CUT)
2797 ] Text
2798 End
2799
2800 End %I eop
2801
2802 Begin %I Line
2803 %I b 65535
2804 1 0 0 [] 0 SetB
2805 %I cfg Black
2806 0 0 0 SetCFg
2807 %I cbg White
2808 1 1 1 SetCBg
2809 %I p
2810 1 SetP
2811 %I t
2812 [ 1 -0 -0 1 226 230 ] concat
2813 %I
2814 148 353 163 263 Line
2815 %I 1
2816 End
2817
2818 Begin %I Pict
2819 %I b u
2820 %I cfg u
2821 %I cbg u
2822 %I f u
2823 %I p u
2824 %I t
2825 [ 1 0 0 1 165 -180 ] concat
2826
2827 Begin %I Rect
2828 %I b 65535
2829 1 0 0 [] 0 SetB
2830 %I cfg Black
2831 0 0 0 SetCFg
2832 %I cbg White
2833 1 1 1 SetCBg
2834 %I p
2835 1 SetP
2836 %I t
2837 [ 1 -0 -0 1 70 230 ] concat
2838 %I
2839 139 428 169 458 Rect
2840 End
2841
2842 Begin %I Text
2843 %I cfg Black
2844 0 0 0 SetCFg
2845 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
2846 Helvetica 12 SetF
2847 %I t
2848 [ 1 0 0 1 214 676 ] concat
2849 %I
2850 [
2851 (ALL)
2852 ] Text
2853 End
2854
2855 End %I eop
2856
2857 Begin %I Line
2858 %I b 65535
2859 1 0 0 [] 0 SetB
2860 %I cfg Black
2861 0 0 0 SetCFg
2862 %I cbg White
2863 1 1 1 SetCBg
2864 %I p
2865 1 SetP
2866 %I t
2867 [ 1 -0 -0 1 226 230 ] concat
2868 %I
2869 297 353 312 263 Line
2870 %I 1
2871 End
2872
2873 Begin %I Pict
2874 %I b u
2875 %I cfg u
2876 %I cbg u
2877 %I f u
2878 %I p u
2879 %I t
2880 [ 1 0 0 1 314 -180 ] concat
2881
2882 Begin %I Rect
2883 %I b 65535
2884 1 0 0 [] 0 SetB
2885 %I cfg Black
2886 0 0 0 SetCFg
2887 %I cbg White
2888 1 1 1 SetCBg
2889 %I p
2890 1 SetP
2891 %I t
2892 [ 1 -0 -0 1 70 230 ] concat
2893 %I
2894 139 428 169 458 Rect
2895 End
2896
2897 Begin %I Text
2898 %I cfg Black
2899 0 0 0 SetCFg
2900 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
2901 Helvetica 12 SetF
2902 %I t
2903 [ 1 0 0 1 214 676 ] concat
2904 %I
2905 [
2906 (ALL)
2907 ] Text
2908 End
2909
2910 End %I eop
2911
2912 Begin %I Pict
2913 %I b u
2914 %I cfg u
2915 %I cbg u
2916 %I f u
2917 %I p u
2918 %I t
2919 [ 1 0 0 1 89 -269 ] concat
2920
2921 Begin %I Elli
2922 %I b 65535
2923 1 0 0 [] 0 SetB
2924 %I cfg Black
2925 0 0 0 SetCFg
2926 %I cbg White
2927 1 1 1 SetCBg
2928 %I p
2929 1 SetP
2930 %I t
2931 [ 1 -0 -0 1 70 230 ] concat
2932 %I
2933 65 443 14 15 Elli
2934 End
2935
2936 Begin %I Text
2937 %I cfg Black
2938 0 0 0 SetCFg
2939 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
2940 Helvetica 12 SetF
2941 %I t
2942 [ 1 0 0 1 124 678 ] concat
2943 %I
2944 [
2945 (CUT)
2946 ] Text
2947 End
2948
2949 End %I eop
2950
2951 Begin %I Pict
2952 %I b u
2953 %I cfg u
2954 %I cbg u
2955 %I f u
2956 %I p u
2957 %I t
2958 [ 1 0 0 1 44 -269 ] concat
2959
2960 Begin %I Elli
2961 %I b 65535
2962 1 0 0 [] 0 SetB
2963 %I cfg Black
2964 0 0 0 SetCFg
2965 %I cbg White
2966 1 1 1 SetCBg
2967 %I p
2968 1 SetP
2969 %I t
2970 [ 1 -0 -0 1 70 230 ] concat
2971 %I
2972 65 443 14 15 Elli
2973 End
2974
2975 Begin %I Text
2976 %I cfg Black
2977 0 0 0 SetCFg
2978 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
2979 Helvetica 12 SetF
2980 %I t
2981 [ 1 0 0 1 124 678 ] concat
2982 %I
2983 [
2984 (CUT)
2985 ] Text
2986 End
2987
2988 End %I eop
2989
2990 Begin %I Pict
2991 %I b u
2992 %I cfg u
2993 %I cbg u
2994 %I f u
2995 %I p u
2996 %I t
2997 [ 1 0 0 1 269 -269 ] concat
2998
2999 Begin %I Elli
3000 %I b 65535
3001 1 0 0 [] 0 SetB
3002 %I cfg Black
3003 0 0 0 SetCFg
3004 %I cbg White
3005 1 1 1 SetCBg
3006 %I p
3007 1 SetP
3008 %I t
3009 [ 1 -0 -0 1 70 230 ] concat
3010 %I
3011 65 443 14 15 Elli
3012 End
3013
3014 Begin %I Text
3015 %I cfg Black
3016 0 0 0 SetCFg
3017 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3018 Helvetica 12 SetF
3019 %I t
3020 [ 1 0 0 1 124 678 ] concat
3021 %I
3022 [
3023 (CUT)
3024 ] Text
3025 End
3026
3027 End %I eop
3028
3029 Begin %I Pict
3030 %I b u
3031 %I cfg u
3032 %I cbg u
3033 %I f u
3034 %I p u
3035 %I t
3036 [ 1 0 0 1 149 -180 ] concat
3037
3038 Begin %I Elli
3039 %I b 65535
3040 1 0 0 [] 0 SetB
3041 %I cfg Black
3042 0 0 0 SetCFg
3043 %I cbg White
3044 1 1 1 SetCBg
3045 %I p
3046 1 SetP
3047 %I t
3048 [ 1 -0 -0 1 70 230 ] concat
3049 %I
3050 65 443 14 15 Elli
3051 End
3052
3053 Begin %I Text
3054 %I cfg Black
3055 0 0 0 SetCFg
3056 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3057 Helvetica 12 SetF
3058 %I t
3059 [ 1 0 0 1 124 678 ] concat
3060 %I
3061 [
3062 (CUT)
3063 ] Text
3064 End
3065
3066 End %I eop
3067
3068 Begin %I Pict
3069 %I b u
3070 %I cfg u
3071 %I cbg u
3072 %I f u
3073 %I p u
3074 %I t
3075 [ 1 0 0 1 104 -180 ] concat
3076
3077 Begin %I Elli
3078 %I b 65535
3079 1 0 0 [] 0 SetB
3080 %I cfg Black
3081 0 0 0 SetCFg
3082 %I cbg White
3083 1 1 1 SetCBg
3084 %I p
3085 1 SetP
3086 %I t
3087 [ 1 -0 -0 1 70 230 ] concat
3088 %I
3089 65 443 14 15 Elli
3090 End
3091
3092 Begin %I Text
3093 %I cfg Black
3094 0 0 0 SetCFg
3095 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3096 Helvetica 12 SetF
3097 %I t
3098 [ 1 0 0 1 124 678 ] concat
3099 %I
3100 [
3101 (CUT)
3102 ] Text
3103 End
3104
3105 End %I eop
3106
3107 Begin %I Pict
3108 %I b u
3109 %I cfg u
3110 %I cbg u
3111 %I f u
3112 %I p u
3113 %I t
3114 [ 1 0 0 1 239 -90 ] concat
3115
3116 Begin %I Elli
3117 %I b 65535
3118 1 0 0 [] 0 SetB
3119 %I cfg Black
3120 0 0 0 SetCFg
3121 %I cbg White
3122 1 1 1 SetCBg
3123 %I p
3124 1 SetP
3125 %I t
3126 [ 1 -0 -0 1 70 230 ] concat
3127 %I
3128 65 443 14 15 Elli
3129 End
3130
3131 Begin %I Text
3132 %I cfg Black
3133 0 0 0 SetCFg
3134 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3135 Helvetica 12 SetF
3136 %I t
3137 [ 1 0 0 1 124 678 ] concat
3138 %I
3139 [
3140 (CUT)
3141 ] Text
3142 End
3143
3144 End %I eop
3145
3146 Begin %I Pict
3147 %I b u
3148 %I cfg u
3149 %I cbg u
3150 %I f u
3151 %I p u
3152 %I t
3153 [ 1 0 0 1 388 -90 ] concat
3154
3155 Begin %I Elli
3156 %I b 65535
3157 1 0 0 [] 0 SetB
3158 %I cfg Black
3159 0 0 0 SetCFg
3160 %I cbg White
3161 1 1 1 SetCBg
3162 %I p
3163 1 SetP
3164 %I t
3165 [ 1 -0 -0 1 70 230 ] concat
3166 %I
3167 65 443 14 15 Elli
3168 End
3169
3170 Begin %I Text
3171 %I cfg Black
3172 0 0 0 SetCFg
3173 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3174 Helvetica 12 SetF
3175 %I t
3176 [ 1 0 0 1 124 678 ] concat
3177 %I
3178 [
3179 (CUT)
3180 ] Text
3181 End
3182
3183 End %I eop
3184
3185 Begin %I Pict
3186 %I b u
3187 %I cfg u
3188 %I cbg u
3189 %I f u
3190 %I p u
3191 %I t
3192 [ 1 0 0 1 313 -269 ] concat
3193
3194 Begin %I Elli
3195 %I b 65535
3196 1 0 0 [] 0 SetB
3197 %I cfg Black
3198 0 0 0 SetCFg
3199 %I cbg White
3200 1 1 1 SetCBg
3201 %I p
3202 1 SetP
3203 %I t
3204 [ 1 -0 -0 1 70 230 ] concat
3205 %I
3206 65 443 14 15 Elli
3207 End
3208
3209 Begin %I Text
3210 %I cfg Black
3211 0 0 0 SetCFg
3212 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3213 Helvetica 12 SetF
3214 %I t
3215 [ 1 0 0 1 124 678 ] concat
3216 %I
3217 [
3218 (CUT)
3219 ] Text
3220 End
3221
3222 End %I eop
3223
3224 Begin %I Pict
3225 %I b u
3226 %I cfg u
3227 %I cbg u
3228 %I f u
3229 %I p u
3230 %I t
3231 [ 1 0 0 1 358 -269 ] concat
3232
3233 Begin %I Elli
3234 %I b 65535
3235 1 0 0 [] 0 SetB
3236 %I cfg Black
3237 0 0 0 SetCFg
3238 %I cbg White
3239 1 1 1 SetCBg
3240 %I p
3241 1 SetP
3242 %I t
3243 [ 1 -0 -0 1 70 230 ] concat
3244 %I
3245 65 443 14 15 Elli
3246 End
3247
3248 Begin %I Text
3249 %I cfg Black
3250 0 0 0 SetCFg
3251 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3252 Helvetica 12 SetF
3253 %I t
3254 [ 1 0 0 1 124 678 ] concat
3255 %I
3256 [
3257 (CUT)
3258 ] Text
3259 End
3260
3261 End %I eop
3262
3263 Begin %I Pict
3264 %I b u
3265 %I cfg u
3266 %I cbg u
3267 %I f u
3268 %I p u
3269 %I t
3270 [ 1 0 0 1 403 -269 ] concat
3271
3272 Begin %I Elli
3273 %I b 65535
3274 1 0 0 [] 0 SetB
3275 %I cfg Black
3276 0 0 0 SetCFg
3277 %I cbg White
3278 1 1 1 SetCBg
3279 %I p
3280 1 SetP
3281 %I t
3282 [ 1 -0 -0 1 70 230 ] concat
3283 %I
3284 65 443 14 15 Elli
3285 End
3286
3287 Begin %I Text
3288 %I cfg Black
3289 0 0 0 SetCFg
3290 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3291 Helvetica 12 SetF
3292 %I t
3293 [ 1 0 0 1 124 678 ] concat
3294 %I
3295 [
3296 (CUT)
3297 ] Text
3298 End
3299
3300 End %I eop
3301
3302 Begin %I Pict
3303 %I b u
3304 %I cfg u
3305 %I cbg u
3306 %I f u
3307 %I p u
3308 %I t
3309 [ 1 0 0 1 448 -269 ] concat
3310
3311 Begin %I Elli
3312 %I b 65535
3313 1 0 0 [] 0 SetB
3314 %I cfg Black
3315 0 0 0 SetCFg
3316 %I cbg White
3317 1 1 1 SetCBg
3318 %I p
3319 1 SetP
3320 %I t
3321 [ 1 -0 -0 1 70 230 ] concat
3322 %I
3323 65 443 14 15 Elli
3324 End
3325
3326 Begin %I Text
3327 %I cfg Black
3328 0 0 0 SetCFg
3329 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3330 Helvetica 12 SetF
3331 %I t
3332 [ 1 0 0 1 124 678 ] concat
3333 %I
3334 [
3335 (CUT)
3336 ] Text
3337 End
3338
3339 End %I eop
3340
3341 Begin %I Text
3342 %I cfg Black
3343 0 0 0 SetCFg
3344 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3345 Helvetica 12 SetF
3346 %I t
3347 [ 1 0 0 1 339 684 ] concat
3348 %I
3349 [
3350 (PV)
3351 ] Text
3352 End
3353
3354 Begin %I Text
3355 %I cfg Black
3356 0 0 0 SetCFg
3357 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3358 Helvetica 12 SetF
3359 %I t
3360 [ 1 0 0 1 189 594 ] concat
3361 %I
3362 [
3363 (PV)
3364 ] Text
3365 End
3366
3367 Begin %I Text
3368 %I cfg Black
3369 0 0 0 SetCFg
3370 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3371 Helvetica 12 SetF
3372 %I t
3373 [ 1 0 0 1 144 504 ] concat
3374 %I
3375 [
3376 (PV)
3377 ] Text
3378 End
3379
3380 Begin %I Text
3381 %I cfg Black
3382 0 0 0 SetCFg
3383 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
3384 Helvetica 12 SetF
3385 %I t
3386 [ 1 0 0 1 100 415 ] concat
3387 %I
3388 [
3389 (PV)
3390 ] Text
3391 End
3392
3393 End %I eop
3394
3395 showpage
3396
3397
3398 end
3399 %%EndDocument
3400
3401  endTexFig
3402  1412 1703 a Fu(Figure)25 b(2:)30 b(The)25 b(Critical)g(T)m(ree)0
3403 1991 y(assistance)f(from)h(other)f(processors.)30 b(After)25
3404 b(all)g(of)f(the)h(subtrees)f(ha)n(v)o(e)g(been)h(completely)f(e)o
3405 (xplored,)f(that)i(PV)0 2190 y(node)32 b(returns)f(its)g(score)h(to)g
3406 (the)f(PV)h(node)g(abo)o(v)o(e)f(it.)51 b(At)31 b(an)o(y)g(time,)i
3407 (only)e(one)h(node')-5 b(s)31 b(subtrees)g(are)i(being)0
3408 2389 y(e)o(xamined)f(in)g(parallel.)54 b(The)32 b(major)g(problem)g
3409 (with)g(PV)-10 b(-Split)32 b(is)g(the)h(lar)n(ge)g(amount)e(of)i
3410 (synchronization;)0 2588 y(man)o(y)21 b(processors)h(are)h(often)f
3411 (forced)g(to)g(w)o(ait)g(for)g(long)f(periods)h(of)g(time)f(while)h
3412 (the)g(last)f(une)n(v)n(aluated)g(branch)0 2788 y(of)k(a)g(PV)g(node)g
3413 (is)f(\002nished.)146 2987 y(The)35 b(best)g(speedups)g(for)g(parallel)
3414 g Fq(\013)q(\014)40 b Fu(ha)n(v)o(e)35 b(been)g(reported)g(for)h(the)f
3415 Fm(Y)-9 b(oung)34 b(Br)l(other)o(s)g(W)-9 b(ait)34 b(Concept)0
3416 3186 y Fu(\(YBWC\))22 b(algorithm)d([3].)30 b(In)21 b(this)e(paper)l(,)
3417 j(YBWC)g(is)e(used)g(as)h(a)g(representati)n(v)o(e)f(of)h(a)g(lar)n(ge)
3418 g(group)f(of)h(popular)0 3385 y(synchronous)e(algorithms)f(\(including)
3419 h(ABD)l(AD)l(A)h([17],)h(Dynamic)f(T)m(ree)g(Splitting)e([7])j(and)f
3420 (Jamboree)g([11]\))0 3585 y(which)28 b(all)h(share)g(the)f(same)h
3421 (underlying)e(parallel)i(algorithm)e(and)i(dif)n(fer)f(only)g(in)h
3422 (implementation)d(details.)0 3784 y(All)38 b(of)h(these)g(algorithms)e
3423 (synchronize)i(at)f(the)h(end)g(of)g(each)g(iteration,)j(and)d(may)f
3424 (also)h(synchronize)f(at)0 3983 y(additional)23 b(points)h(within)f
3425 (each)j(iteration.)146 4182 y(In)32 b(a)g(game)f(tree)h(that)f(has)h
3426 (near)n(-perfect)h(mo)o(v)o(e)d(ordering,)j(there)f(is)f(a)h(high)f
3427 (probability)f(that)h(a)h(node)g(is)0 4382 y(an)c(ALL)g(node)g(if)g
3428 (the)g(left-most)f(branch)h(is)f(e)n(v)n(aluated)g(and)h(does)g(not)f
3429 (cause)i(a)f(cut-of)n(f.)40 b(The)28 b(basic)g(YBWC)0
3430 4581 y(states)j(that)h(the)g(left-most)e(branch)i(\(the)g(eldest)g
3431 (brother\))g(must)e(be)j(e)n(v)n(aluated)d(before)j(an)o(y)e(other)h
3432 (branches)0 4780 y(\(the)d(young)g(brothers\))g(can)h(be)f(distrib)n
3433 (uted)f(to)h(other)g(processors.)44 b(This)29 b(is)g(not)f(necessarily)
3434 h(limited)f(to)h(the)0 4979 y(principal)35 b(v)n(ariation)g(\(i.e.)65
3435 b(PV)-10 b(-Split\))37 b(or)f(a)g(pseudo-principal)f(v)n(ariation)g(as)
3436 h(in)g(other)g(algorithms;)k(it)c(can)0 5179 y(happen)g(at)f(an)o(y)g
3437 (node)h(within)e(the)i(game)f(tree.)64 b(The)36 b(optimized)e
3438 (algorithm)g(is)h(called)h(YBWC*.)64 b(In)36 b(this)1925
3439 5589 y(6)p eop
3440 %%Page: 7 10
3441 7 9 bop 0 100 a Fu(v)n(ariant,)27 b(young)f(brothers)h(are)g(not)g
3442 (forced)g(to)g(w)o(ait)g(at)g(ALL)g(nodes,)g(allo)n(wing)e(sequential)h
3443 (e)n(v)n(aluation)f(of)i(all)0 299 y(\223reasonable\224)e(mo)o(v)o(es)e
3444 (at)i(CUT)g(nodes.)146 498 y(The)h(UIDP)-9 b(ABS)26 b(algorithm)e(\()p
3445 Fm(Unsync)o(hr)l(onized)g(Iter)o(atively)g(Deepening)h(P)-8
3446 b(ar)o(allel)24 b(Alpha-Beta)g(Sear)l(c)o(h)p Fu(\))0
3447 697 y([14])29 b(w)o(as)h(the)f(\002rst)g(attempt)f(to)h(asynchronously)
3448 f(start)h(the)g(ne)o(xt)g(le)n(v)o(el)f(of)h(an)h(iterati)n(v)o(ely)d
3449 (deepened)j(search)0 897 y(instead)d(of)g(synchronizing)f(at)h(the)g
3450 (root)g(of)g(the)g(game)g(tree.)38 b(The)27 b(mo)o(v)o(es)f(from)h(the)
3451 g(root)g(position)e(are)j(parti-)0 1096 y(tioned)20 b(among)f(the)i
3452 (processors,)g(and)f(the)g(processors)h(search)g(their)f(o)n(wn)f
3453 (subset)h(of)h(the)f(mo)o(v)o(es)f(with)h(iterati)n(v)o(e)0
3454 1295 y(deepening.)29 b(Each)21 b(processor)f(is)g(gi)n(v)o(en)f(the)h
3455 (same)g(initial)f(search)i(windo)n(w)-6 b(,)20 b(b)n(ut)g(some)g(of)g
3456 (the)g(processors)g(may)0 1494 y(ha)n(v)o(e)26 b(changed)g(their)f
3457 (windo)n(ws)g(based)h(on)g(the)f(search)i(results)e(of)h(their)g(mo)o
3458 (v)o(es.)32 b(The)26 b(UIDP)-9 b(ABS)28 b(algorithm)0
3459 1694 y(combines)h(all)i(the)f(processors')g(results)g(once)g(a)h
3460 (predetermined)f(time)g(limit)e(has)j(been)f(reached.)49
3461 b(Some)30 b(of)0 1893 y(the)i(mo)o(v)o(es)e(may)i(ha)n(v)o(e)g(been)g
3462 (e)n(v)n(aluated)f(to)h(lar)n(ger)h(depths)e(than)h(those)f(on)h(other)
3463 g(processors,)i(which)d(may)0 2092 y(yield)e(a)h(better)f(quality)f(mo)
3464 o(v)o(e)g(choice.)45 b(Ho)n(we)n(v)o(er)l(,)29 b(it)g(is)g(important)f
3465 (to)h(note)g(that)g(each)h(mo)o(v)o(e)e(may)h(only)g(be)0
3466 2291 y(searched)23 b(by)g(one)f(processor;)h(thus,)g(the)f(algorithm)f
3467 (can)i(only)f(use)h(as)g(man)o(y)e(processors)i(as)f(there)h(are)h(mo)o
3468 (v)o(es)0 2491 y(at)h(the)f(root)h(of)g(the)f(game)h(tree.)0
3469 2830 y Fo(3)143 b(The)35 b(APHID)f(Algorithm)0 3133 y
3470 Fu(This)18 b(section)g(describes)h(the)g(Asynchronous)e(P)o(arallel)i
3471 (Hierarchical)g(Iterati)n(v)o(e)f(Deepening)g(\(APHID)3589
3472 3096 y Fn(3)3629 3133 y Fu(\))i(game-)0 3332 y(tree)29
3473 b(search)g(algorithm.)40 b(APHID)29 b(represents)g(a)g(departure)g
3474 (from)f(the)g(synchronous)f(algorithms)g(described)0
3475 3531 y(in)d(Section)g(2)g(and)g(has)g(been)h(designed)e(to)h(address)g
3476 (the)g(problems)f(described)h(in)g(Section)g(1.)30 b(First,)24
3477 b(the)g(algo-)0 3730 y(rithm)k(is)g(asynchronous)f(in)i(nature;)h(it)e
3478 (remo)o(v)o(es)f(all)i(global)e(synchronization)g(points)h(from)g(the)h
3479 Fq(\013)q(\014)34 b Fu(search)0 3930 y(and)28 b(from)f(iterati)n(v)o(e)
3480 f(deepening.)39 b(Second,)29 b(the)e(algorithm)g(does)g(not)g(require)h
3481 (a)g(shared)g(transposition)d(table)0 4129 y(for)h(mo)o(v)o(e)d
3482 (ordering)i(information,)f(although)g(one)h(can)h(be)f(used)g(if)h
3483 (duplicate)e(detection)h(is)g(important)e(in)i(the)0
3484 4328 y(underlying)33 b(application.)59 b(Third,)36 b(parallelism)e(is)g
3485 (only)f(applied)h(at)h(nodes)f(that)g(ha)n(v)o(e)g(a)h(high)f
3486 (probability)0 4527 y(of)g(needing)g(parallelism,)h(and)g(this)e
3487 (decision)g(is)h(based)g(on)g(the)g(best)g(information)f(a)n(v)n
3488 (ailable)h(at)g(the)g(time.)0 4727 y(Finally)-6 b(,)24
3489 b(APHID)h(is)f(designed)g(to)h(easily)f(\002t)h(into)f(an)h(e)o
3490 (xisting)e(sequential)h Fq(\013)q(\014)6 b Fu(-based)24
3491 b(search)h(algorithm.)146 4926 y(APHID)k(subdi)n(vides)d(the)j(tree)g
3492 (into)e(man)o(y)h(distinct)f(pieces)h(which)g(each)h(process)g(can)f
3493 (search)h(indepen-)p 0 5016 1560 4 v 112 5077 a Fj(3)149
3494 5107 y Fi(An)d(aphid)e(is)i(a)f(soft-bodied)e(insect)i(that)g(sucks)g
3495 (the)h(sap)f(from)f(plants.)39 b(One)25 b(could)f(say)i(the)f(APHID)g
3496 (algorithm)e(sucks)j(the)0 5206 y(minimax)19 b(v)n(alue)g(from)h(a)g
3497 (game)f(tree.)1925 5589 y Fu(7)p eop
3498 %%Page: 8 11
3499 8 10 bop 992 0 a
3500  15132435 7104430 4670504 18813583 35522150 33285570 startTexFig
3501  992 0 a
3502 %%BeginDocument: pics/aphid-partition.ps
3503 %Magnification: 1.00
3504 /$F2psDict 200 dict def
3505 $F2psDict begin
3506 $F2psDict /mtrx matrix put
3507 /col-1 {0 setgray} bind def
3508 /col0 {0.000 0.000 0.000 srgb} bind def
3509 /col1 {0.000 0.000 1.000 srgb} bind def
3510 /col2 {0.000 1.000 0.000 srgb} bind def
3511 /col3 {0.000 1.000 1.000 srgb} bind def
3512 /col4 {1.000 0.000 0.000 srgb} bind def
3513 /col5 {1.000 0.000 1.000 srgb} bind def
3514 /col6 {1.000 1.000 0.000 srgb} bind def
3515 /col7 {1.000 1.000 1.000 srgb} bind def
3516 /col8 {0.000 0.000 0.560 srgb} bind def
3517 /col9 {0.000 0.000 0.690 srgb} bind def
3518 /col10 {0.000 0.000 0.820 srgb} bind def
3519 /col11 {0.530 0.810 1.000 srgb} bind def
3520 /col12 {0.000 0.560 0.000 srgb} bind def
3521 /col13 {0.000 0.690 0.000 srgb} bind def
3522 /col14 {0.000 0.820 0.000 srgb} bind def
3523 /col15 {0.000 0.560 0.560 srgb} bind def
3524 /col16 {0.000 0.690 0.690 srgb} bind def
3525 /col17 {0.000 0.820 0.820 srgb} bind def
3526 /col18 {0.560 0.000 0.000 srgb} bind def
3527 /col19 {0.690 0.000 0.000 srgb} bind def
3528 /col20 {0.820 0.000 0.000 srgb} bind def
3529 /col21 {0.560 0.000 0.560 srgb} bind def
3530 /col22 {0.690 0.000 0.690 srgb} bind def
3531 /col23 {0.820 0.000 0.820 srgb} bind def
3532 /col24 {0.500 0.190 0.000 srgb} bind def
3533 /col25 {0.630 0.250 0.000 srgb} bind def
3534 /col26 {0.750 0.380 0.000 srgb} bind def
3535 /col27 {1.000 0.500 0.500 srgb} bind def
3536 /col28 {1.000 0.630 0.630 srgb} bind def
3537 /col29 {1.000 0.750 0.750 srgb} bind def
3538 /col30 {1.000 0.880 0.880 srgb} bind def
3539 /col31 {1.000 0.840 0.000 srgb} bind def
3540
3541 end
3542 save
3543 34.5 576.0 translate
3544 1 -1 scale
3545
3546 /cp {closepath} bind def
3547 /ef {eofill} bind def
3548 /gr {grestore} bind def
3549 /gs {gsave} bind def
3550 /sa {save} bind def
3551 /rs {restore} bind def
3552 /l {lineto} bind def
3553 /m {moveto} bind def
3554 /rm {rmoveto} bind def
3555 /n {newpath} bind def
3556 /s {stroke} bind def
3557 /sh {show} bind def
3558 /slc {setlinecap} bind def
3559 /slj {setlinejoin} bind def
3560 /slw {setlinewidth} bind def
3561 /srgb {setrgbcolor} bind def
3562 /rot {rotate} bind def
3563 /sc {scale} bind def
3564 /sd {setdash} bind def
3565 /ff {findfont} bind def
3566 /sf {setfont} bind def
3567 /scf {scalefont} bind def
3568 /sw {stringwidth} bind def
3569 /tr {translate} bind def
3570 /tnt {dup dup currentrgbcolor
3571   4 -2 roll dup 1 exch sub 3 -1 roll mul add
3572   4 -2 roll dup 1 exch sub 3 -1 roll mul add
3573   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
3574   bind def
3575 /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
3576   4 -2 roll mul srgb} bind def
3577  /DrawEllipse {
3578         /endangle exch def
3579         /startangle exch def
3580         /yrad exch def
3581         /xrad exch def
3582         /y exch def
3583         /x exch def
3584         /savematrix mtrx currentmatrix def
3585         x y tr xrad yrad sc 0 0 1 startangle endangle arc
3586         closepath
3587         savematrix setmatrix
3588         } def
3589
3590 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
3591 /$F2psEnd {$F2psEnteredState restore end} def
3592
3593 $F2psBegin
3594 10 setmiterlimit
3595 n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
3596  0.06000 0.06000 sc
3597 60.000 slw
3598 % Polyline
3599 n 2775 3075 m 2925 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3600 % Polyline
3601 n 2775 2925 m 2925 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3602 % Polyline
3603 n 3000 3075 m 3150 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3604 % Polyline
3605 n 3000 2925 m 3150 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3606 % Polyline
3607 n 3225 3075 m 3375 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3608 % Polyline
3609 n 3225 2925 m 3375 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3610 % Polyline
3611 n 3450 3075 m 3600 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3612 % Polyline
3613 n 3450 2925 m 3600 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3614 % Polyline
3615 n 5175 3075 m 5325 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3616 % Polyline
3617 n 5175 2925 m 5325 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3618 % Polyline
3619 n 5400 3075 m 5550 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3620 % Polyline
3621 n 5400 2925 m 5550 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3622 % Polyline
3623 n 5625 3075 m 5775 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3624 % Polyline
3625 n 5625 2925 m 5775 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3626 % Polyline
3627 n 5850 3075 m 6000 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3628 % Polyline
3629 n 5850 2925 m 6000 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3630 % Polyline
3631 n 6075 3075 m 6225 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3632 % Polyline
3633 n 6075 2925 m 6225 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3634 % Polyline
3635 n 4425 3075 m 4575 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3636 % Polyline
3637 n 4425 2925 m 4575 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3638 % Polyline
3639 n 4200 3075 m 4350 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3640 % Polyline
3641 n 4200 2925 m 4350 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3642 % Polyline
3643 n 3975 3075 m 4125 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3644 % Polyline
3645 n 3975 2925 m 4125 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3646 % Polyline
3647 n 3750 3075 m 3900 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3648 % Polyline
3649 n 3750 2925 m 3900 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3650 % Polyline
3651 n 4875 3075 m 5025 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3652 % Polyline
3653 n 4875 2925 m 5025 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3654 % Polyline
3655 n 4650 3075 m 4800 2925 l gs 1.00 setgray ef gr gs col-1 s gr 
3656 % Polyline
3657 n 4650 2925 m 4800 3075 l gs 1.00 setgray ef gr gs col-1 s gr 
3658 % Polyline
3659 n 675 1425 m 825 1275 l gs 1.00 setgray ef gr gs col-1 s gr 
3660 % Polyline
3661 n 675 1275 m 825 1425 l gs 1.00 setgray ef gr gs col-1 s gr 
3662 7.500 slw
3663 % Ellipse
3664 n 5400 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
3665
3666 % Ellipse
3667 n 5175 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
3668
3669 % Ellipse
3670 n 4950 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
3671
3672 15.000 slw
3673 % Polyline
3674 n 3675 3000 m 3075 4800 l gs col-1 s gr 
3675 7.500 slw
3676 % Polyline
3677 n 4626 3004 m 4926 4804 l gs col-1 s gr 
3678 15.000 slw
3679 % Polyline
3680 n 4626 3004 m 4926 4804 l gs col-1 s gr 
3681 7.500 slw
3682 % Polyline
3683 n 2700 3000 m 6300 3000 l gs col-1 s gr 
3684 30.000 slw
3685 % Polyline
3686 gs  clippath
3687 8430 4599 m 8400 4719 l 8370 4599 l 8370 4845 l 8430 4845 l  cp clip
3688 8370 1401 m 8400 1281 l 8430 1401 l 8430 1155 l 8370 1155 l  cp clip
3689 n 8400 1200 m 8400 4800 l gs 1.00 setgray ef gr gs col-1 s gr gr
3690
3691 % arrowhead
3692 n 8370 1401 m 8400 1281 l 8430 1401 l  col-1 s
3693 % arrowhead
3694 n 8430 4599 m 8400 4719 l 8370 4599 l  col-1 s
3695 % Polyline
3696 gs  clippath
3697 7830 2799 m 7800 2919 l 7770 2799 l 7770 3045 l 7830 3045 l  cp clip
3698 7770 1401 m 7800 1281 l 7830 1401 l 7830 1155 l 7770 1155 l  cp clip
3699 n 7800 1200 m 7800 3000 l gs 1.00 setgray ef gr gs col-1 s gr gr
3700
3701 % arrowhead
3702 n 7770 1401 m 7800 1281 l 7830 1401 l  col-1 s
3703 % arrowhead
3704 n 7830 2799 m 7800 2919 l 7770 2799 l  col-1 s
3705 15.000 slw
3706 % Polyline
3707 n 4500 1200 m 900 4800 l 8100 4800 l 4500 1200 l gs col-1 s gr 
3708 % Polyline
3709 n 5100 3000 m 6000 4800 l gs col-1 s gr 
3710 /Helvetica ff 270.00 scf sf
3711 4500 2400 m
3712 gs 1 -1 sc (MASTER) dup sw pop 2 div neg 0 rm  col-1 sh gr
3713 /Helvetica ff 270.00 scf sf
3714 2400 4200 m
3715 gs 1 -1 sc (SLAVE 1) dup sw pop 2 div neg 0 rm  col-1 sh gr
3716 /Helvetica ff 270.00 scf sf
3717 6450 4200 m
3718 gs 1 -1 sc (SLAVE K) dup sw pop 2 div neg 0 rm  col-1 sh gr
3719 /Helvetica ff 270.00 scf sf
3720 4050 4200 m
3721 gs 1 -1 sc (SLAVE 2) dup sw pop 2 div neg 0 rm  col-1 sh gr
3722 /Helvetica ff 270.00 scf sf
3723 900 1425 m
3724 gs 1 -1 sc (= PIECE OF WORK) col-1 sh gr
3725 /Helvetica ff 270.00 scf sf
3726 7500 2100 m
3727 gs 1 -1 sc (d') col-1 sh gr
3728 /Helvetica ff 270.00 scf sf
3729 8175 3150 m
3730 gs 1 -1 sc (d) col-1 sh gr
3731 showpage
3732 $F2psEnd
3733 rs
3734 %%EndDocument
3735
3736  endTexFig
3737  720 1103 a Fu(Figure)25 b(3:)30 b(APHID)25 b(P)o(artitioning)e(Game)i
3738 (T)m(ree)g(Amongst)e(Processes)888 1225 y
3739  16766447 9472573 9669918 31246336 22892052 38679674 startTexFig
3740  888 1225 a
3741 %%BeginDocument: pics/location_parallelism.ps
3742
3743 /arrowHeight 10 def
3744 /arrowWidth 5 def
3745
3746 /IdrawDict 52 dict def
3747 IdrawDict begin
3748
3749 /reencodeISO {
3750 dup dup findfont dup length dict begin
3751 { 1 index /FID ne { def }{ pop pop } ifelse } forall
3752 /Encoding ISOLatin1Encoding def
3753 currentdict end definefont
3754 } def
3755
3756 /ISOLatin1Encoding [
3757 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
3758 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
3759 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
3760 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
3761 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
3762 /parenleft/parenright/asterisk/plus/comma/minus/period/slash
3763 /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
3764 /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
3765 /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
3766 /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
3767 /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
3768 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
3769 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
3770 /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
3771 /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
3772 /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
3773 /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
3774 /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
3775 /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
3776 /guillemotright/onequarter/onehalf/threequarters/questiondown
3777 /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
3778 /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
3779 /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
3780 /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
3781 /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
3782 /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
3783 /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
3784 /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
3785 /yacute/thorn/ydieresis
3786 ] def
3787 /Times-Roman reencodeISO def
3788 /Helvetica reencodeISO def
3789
3790 /none null def
3791 /numGraphicParameters 17 def
3792 /stringLimit 65535 def
3793
3794 /Begin {
3795 save
3796 numGraphicParameters dict begin
3797 } def
3798
3799 /End {
3800 end
3801 restore
3802 } def
3803
3804 /SetB {
3805 dup type /nulltype eq {
3806 pop
3807 false /brushRightArrow idef
3808 false /brushLeftArrow idef
3809 true /brushNone idef
3810 } {
3811 /brushDashOffset idef
3812 /brushDashArray idef
3813 0 ne /brushRightArrow idef
3814 0 ne /brushLeftArrow idef
3815 /brushWidth idef
3816 false /brushNone idef
3817 } ifelse
3818 } def
3819
3820 /SetCFg {
3821 /fgblue idef
3822 /fggreen idef
3823 /fgred idef
3824 } def
3825
3826 /SetCBg {
3827 /bgblue idef
3828 /bggreen idef
3829 /bgred idef
3830 } def
3831
3832 /SetF {
3833 /printSize idef
3834 /printFont idef
3835 } def
3836
3837 /SetP {
3838 dup type /nulltype eq {
3839 pop true /patternNone idef
3840 } {
3841 dup -1 eq {
3842 /patternGrayLevel idef
3843 /patternString idef
3844 } {
3845 /patternGrayLevel idef
3846 } ifelse
3847 false /patternNone idef
3848 } ifelse
3849 } def
3850
3851 /BSpl {
3852 0 begin
3853 storexyn
3854 newpath
3855 n 1 gt {
3856 0 0 0 0 0 0 1 1 true subspline
3857 n 2 gt {
3858 0 0 0 0 1 1 2 2 false subspline
3859 1 1 n 3 sub {
3860 /i exch def
3861 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
3862 } for
3863 n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
3864 } if
3865 n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
3866 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
3867 brushNone not { istroke } if
3868 0 0 1 1 leftarrow
3869 n 2 sub dup n 1 sub dup rightarrow
3870 } if
3871 end
3872 } dup 0 4 dict put def
3873
3874 /Circ {
3875 newpath
3876 0 360 arc
3877 patternNone not { ifill } if
3878 brushNone not { istroke } if
3879 } def
3880
3881 /CBSpl {
3882 0 begin
3883 dup 2 gt {
3884 storexyn
3885 newpath
3886 n 1 sub dup 0 0 1 1 2 2 true subspline
3887 1 1 n 3 sub {
3888 /i exch def
3889 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
3890 } for
3891 n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
3892 n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
3893 patternNone not { ifill } if
3894 brushNone not { istroke } if
3895 } {
3896 Poly
3897 } ifelse
3898 end
3899 } dup 0 4 dict put def
3900
3901 /Elli {
3902 0 begin
3903 newpath
3904 4 2 roll
3905 translate
3906 scale
3907 0 0 1 0 360 arc
3908 patternNone not { ifill } if
3909 brushNone not { istroke } if
3910 end
3911 } dup 0 1 dict put def
3912
3913 /Line {
3914 0 begin
3915 2 storexyn
3916 newpath
3917 x 0 get y 0 get moveto
3918 x 1 get y 1 get lineto
3919 brushNone not { istroke } if
3920 0 0 1 1 leftarrow
3921 0 0 1 1 rightarrow
3922 end
3923 } dup 0 4 dict put def
3924
3925 /MLine {
3926 0 begin
3927 storexyn
3928 newpath
3929 n 1 gt {
3930 x 0 get y 0 get moveto
3931 1 1 n 1 sub {
3932 /i exch def
3933 x i get y i get lineto
3934 } for
3935 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
3936 brushNone not { istroke } if
3937 0 0 1 1 leftarrow
3938 n 2 sub dup n 1 sub dup rightarrow
3939 } if
3940 end
3941 } dup 0 4 dict put def
3942
3943 /Poly {
3944 3 1 roll
3945 newpath
3946 moveto
3947 -1 add
3948 { lineto } repeat
3949 closepath
3950 patternNone not { ifill } if
3951 brushNone not { istroke } if
3952 } def
3953
3954 /Rect {
3955 0 begin
3956 /t exch def
3957 /r exch def
3958 /b exch def
3959 /l exch def
3960 newpath
3961 l b moveto
3962 l t lineto
3963 r t lineto
3964 r b lineto
3965 closepath
3966 patternNone not { ifill } if
3967 brushNone not { istroke } if
3968 end
3969 } dup 0 4 dict put def
3970
3971 /Text {
3972 ishow
3973 } def
3974
3975 /idef {
3976 dup where { pop pop pop } { exch def } ifelse
3977 } def
3978
3979 /ifill {
3980 0 begin
3981 gsave
3982 patternGrayLevel -1 ne {
3983 fgred bgred fgred sub patternGrayLevel mul add
3984 fggreen bggreen fggreen sub patternGrayLevel mul add
3985 fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
3986 eofill
3987 } {
3988 eoclip
3989 originalCTM setmatrix
3990 pathbbox /t exch def /r exch def /b exch def /l exch def
3991 /w r l sub ceiling cvi def
3992 /h t b sub ceiling cvi def
3993 /imageByteWidth w 8 div ceiling cvi def
3994 /imageHeight h def
3995 bgred bggreen bgblue setrgbcolor
3996 eofill
3997 fgred fggreen fgblue setrgbcolor
3998 w 0 gt h 0 gt and {
3999 l b translate w h scale
4000 w h true [w 0 0 h neg 0 h] { patternproc } imagemask
4001 } if
4002 } ifelse
4003 grestore
4004 end
4005 } dup 0 8 dict put def
4006
4007 /istroke {
4008 gsave
4009 brushDashOffset -1 eq {
4010 [] 0 setdash
4011 1 setgray
4012 } {
4013 brushDashArray brushDashOffset setdash
4014 fgred fggreen fgblue setrgbcolor
4015 } ifelse
4016 brushWidth setlinewidth
4017 originalCTM setmatrix
4018 stroke
4019 grestore
4020 } def
4021
4022 /ishow {
4023 0 begin
4024 gsave
4025 fgred fggreen fgblue setrgbcolor
4026 /fontDict printFont printSize scalefont dup setfont def
4027 /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
4028 transform exch pop def
4029 /vertoffset 1 printSize sub descender sub def {
4030 0 vertoffset moveto show
4031 /vertoffset vertoffset printSize sub def
4032 } forall
4033 grestore
4034 end
4035 } dup 0 3 dict put def
4036 /patternproc {
4037 0 begin
4038 /patternByteLength patternString length def
4039 /patternHeight patternByteLength 8 mul sqrt cvi def
4040 /patternWidth patternHeight def
4041 /patternByteWidth patternWidth 8 idiv def
4042 /imageByteMaxLength imageByteWidth imageHeight mul
4043 stringLimit patternByteWidth sub min def
4044 /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
4045 patternHeight mul patternHeight max def
4046 /imageHeight imageHeight imageMaxHeight sub store
4047 /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
4048 0 1 imageMaxHeight 1 sub {
4049 /y exch def
4050 /patternRow y patternByteWidth mul patternByteLength mod def
4051 /patternRowString patternString patternRow patternByteWidth getinterval def
4052 /imageRow y imageByteWidth mul def
4053 0 patternByteWidth imageByteWidth 1 sub {
4054 /x exch def
4055 imageString imageRow x add patternRowString putinterval
4056 } for
4057 } for
4058 imageString
4059 end
4060 } dup 0 12 dict put def
4061
4062 /min {
4063 dup 3 2 roll dup 4 3 roll lt { exch } if pop
4064 } def
4065
4066 /max {
4067 dup 3 2 roll dup 4 3 roll gt { exch } if pop
4068 } def
4069
4070 /midpoint {
4071 0 begin
4072 /y1 exch def
4073 /x1 exch def
4074 /y0 exch def
4075 /x0 exch def
4076 x0 x1 add 2 div
4077 y0 y1 add 2 div
4078 end
4079 } dup 0 4 dict put def
4080
4081 /thirdpoint {
4082 0 begin
4083 /y1 exch def
4084 /x1 exch def
4085 /y0 exch def
4086 /x0 exch def
4087 x0 2 mul x1 add 3 div
4088 y0 2 mul y1 add 3 div
4089 end
4090 } dup 0 4 dict put def
4091
4092 /subspline {
4093 0 begin
4094 /movetoNeeded exch def
4095 y exch get /y3 exch def
4096 x exch get /x3 exch def
4097 y exch get /y2 exch def
4098 x exch get /x2 exch def
4099 y exch get /y1 exch def
4100 x exch get /x1 exch def
4101 y exch get /y0 exch def
4102 x exch get /x0 exch def
4103 x1 y1 x2 y2 thirdpoint
4104 /p1y exch def
4105 /p1x exch def
4106 x2 y2 x1 y1 thirdpoint
4107 /p2y exch def
4108 /p2x exch def
4109 x1 y1 x0 y0 thirdpoint
4110 p1x p1y midpoint
4111 /p0y exch def
4112 /p0x exch def
4113 x2 y2 x3 y3 thirdpoint
4114 p2x p2y midpoint
4115 /p3y exch def
4116 /p3x exch def
4117 movetoNeeded { p0x p0y moveto } if
4118 p1x p1y p2x p2y p3x p3y curveto
4119 end
4120 } dup 0 17 dict put def
4121
4122 /storexyn {
4123 /n exch def
4124 /y n array def
4125 /x n array def
4126 n 1 sub -1 0 {
4127 /i exch def
4128 y i 3 2 roll put
4129 x i 3 2 roll put
4130 } for
4131 } def
4132
4133 /SSten {
4134 fgred fggreen fgblue setrgbcolor
4135 dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
4136 } def
4137
4138 /FSten {
4139 dup 3 -1 roll dup 4 1 roll exch
4140 newpath
4141 0 0 moveto
4142 dup 0 exch lineto
4143 exch dup 3 1 roll exch lineto
4144 0 lineto
4145 closepath
4146 bgred bggreen bgblue setrgbcolor
4147 eofill
4148 SSten
4149 } def
4150
4151 /Rast {
4152 exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
4153 } def
4154
4155
4156 /arrowhead {
4157 0 begin
4158 transform originalCTM itransform
4159 /taily exch def
4160 /tailx exch def
4161 transform originalCTM itransform
4162 /tipy exch def
4163 /tipx exch def
4164 /dy tipy taily sub def
4165 /dx tipx tailx sub def
4166 /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
4167 gsave
4168 originalCTM setmatrix
4169 tipx tipy translate
4170 angle rotate
4171 newpath
4172 arrowHeight neg arrowWidth 2 div moveto
4173 0 0 lineto
4174 arrowHeight neg arrowWidth 2 div neg lineto
4175 patternNone not {
4176 originalCTM setmatrix
4177 /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
4178 arrowWidth div def
4179 /padtail brushWidth 2 div def
4180 tipx tipy translate
4181 angle rotate
4182 padtip 0 translate
4183 arrowHeight padtip add padtail add arrowHeight div dup scale
4184 arrowheadpath
4185 ifill
4186 } if
4187 brushNone not {
4188 originalCTM setmatrix
4189 tipx tipy translate
4190 angle rotate
4191 arrowheadpath
4192 istroke
4193 } if
4194 grestore
4195 end
4196 } dup 0 9 dict put def
4197
4198 /arrowheadpath {
4199 newpath
4200 arrowHeight neg arrowWidth 2 div moveto
4201 0 0 lineto
4202 arrowHeight neg arrowWidth 2 div neg lineto
4203 } def
4204
4205 /leftarrow {
4206 0 begin
4207 y exch get /taily exch def
4208 x exch get /tailx exch def
4209 y exch get /tipy exch def
4210 x exch get /tipx exch def
4211 brushLeftArrow { tipx tipy tailx taily arrowhead } if
4212 end
4213 } dup 0 4 dict put def
4214
4215 /rightarrow {
4216 0 begin
4217 y exch get /tipy exch def
4218 x exch get /tipx exch def
4219 y exch get /taily exch def
4220 x exch get /tailx exch def
4221 brushRightArrow { tipx tipy tailx taily arrowhead } if
4222 end
4223 } dup 0 4 dict put def
4224
4225
4226 %I Idraw 10 Grid 3 3 
4227
4228
4229 Begin
4230 %I b u
4231 %I cfg u
4232 %I cbg u
4233 %I f u
4234 %I p u
4235 %I t
4236 [ 0.799705 0 0 0.799705 0 0 ] concat
4237 /originalCTM matrix currentmatrix def
4238
4239 Begin %I Line
4240 %I b 65535
4241 2 0 0 [] 0 SetB
4242 %I cfg Black
4243 0 0 0 SetCFg
4244 %I cbg White
4245 1 1 1 SetCBg
4246 none SetP %I p n
4247 %I t
4248 [ 1 -0 -0 1 122 296 ] concat
4249 %I
4250 117 437 65 332 Line
4251 %I 1
4252 End
4253
4254 Begin %I Line
4255 %I b 65535
4256 2 0 0 [] 0 SetB
4257 %I cfg Black
4258 0 0 0 SetCFg
4259 %I cbg White
4260 1 1 1 SetCBg
4261 none SetP %I p n
4262 %I t
4263 [ 1 -0 -0 1 122 296 ] concat
4264 %I
4265 117 437 162 332 Line
4266 %I 1
4267 End
4268
4269 Begin %I Line
4270 %I b 65535
4271 2 0 0 [] 0 SetB
4272 %I cfg Black
4273 0 0 0 SetCFg
4274 %I cbg White
4275 1 1 1 SetCBg
4276 none SetP %I p n
4277 %I t
4278 [ 1 0 0 1 271 296 ] concat
4279 %I
4280 117 437 65 332 Line
4281 %I 1
4282 End
4283
4284 Begin %I Line
4285 %I b 65535
4286 2 0 0 [] 0 SetB
4287 %I cfg Black
4288 0 0 0 SetCFg
4289 %I cbg White
4290 1 1 1 SetCBg
4291 none SetP %I p n
4292 %I t
4293 [ 1 0 0 1 271 296 ] concat
4294 %I
4295 117 437 162 332 Line
4296 %I 1
4297 End
4298
4299 Begin %I Text
4300 %I cfg Black
4301 0 0 0 SetCFg
4302 %I f -*-times-medium-r-normal-*-12-*-*-*-*-*-*-*
4303 Times-Roman 12 SetF
4304 %I t
4305 [ 1 0 0 1 217 609 ] concat
4306 %I
4307 [
4308 (APHID)
4309 ] Text
4310 End
4311
4312 Begin %I Pict
4313 %I b 65535
4314 1 0 0 [] 0 SetB
4315 %I cfg u
4316 %I cbg u
4317 %I f u
4318 %I p u
4319 %I t
4320 [ 1 0 0 1 26.5 123.5 ] concat
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 [ 1 -0 -0 1 122 296 ] concat
4332 %I
4333 72 272 76 268 Line
4334 %I 1
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 [ 1 -0 -0 1 122 296 ] concat
4347 %I
4348 72 268 76 272 Line
4349 %I 1
4350 End
4351
4352 End %I eop
4353
4354 Begin %I Pict
4355 %I b 65535
4356 1 0 0 [] 0 SetB
4357 %I cfg u
4358 %I cbg u
4359 %I f u
4360 %I p u
4361 %I t
4362 [ 1 0 0 1 30.5 123 ] concat
4363
4364 Begin %I Line
4365 %I b 65535
4366 2 0 0 [] 0 SetB
4367 %I cfg Black
4368 0 0 0 SetCFg
4369 %I cbg White
4370 1 1 1 SetCBg
4371 none SetP %I p n
4372 %I t
4373 [ 1 -0 -0 1 122 296 ] concat
4374 %I
4375 72 272 76 268 Line
4376 %I 1
4377 End
4378
4379 Begin %I Line
4380 %I b 65535
4381 2 0 0 [] 0 SetB
4382 %I cfg Black
4383 0 0 0 SetCFg
4384 %I cbg White
4385 1 1 1 SetCBg
4386 none SetP %I p n
4387 %I t
4388 [ 1 -0 -0 1 122 296 ] concat
4389 %I
4390 72 268 76 272 Line
4391 %I 1
4392 End
4393
4394 End %I eop
4395
4396 Begin %I Pict
4397 %I b 65535
4398 1 0 0 [] 0 SetB
4399 %I cfg u
4400 %I cbg u
4401 %I f u
4402 %I p u
4403 %I t
4404 [ 1 0 0 1 33.5 123 ] concat
4405
4406 Begin %I Line
4407 %I b 65535
4408 2 0 0 [] 0 SetB
4409 %I cfg Black
4410 0 0 0 SetCFg
4411 %I cbg White
4412 1 1 1 SetCBg
4413 none SetP %I p n
4414 %I t
4415 [ 1 -0 -0 1 122 296 ] concat
4416 %I
4417 72 272 76 268 Line
4418 %I 1
4419 End
4420
4421 Begin %I Line
4422 %I b 65535
4423 2 0 0 [] 0 SetB
4424 %I cfg Black
4425 0 0 0 SetCFg
4426 %I cbg White
4427 1 1 1 SetCBg
4428 none SetP %I p n
4429 %I t
4430 [ 1 -0 -0 1 122 296 ] concat
4431 %I
4432 72 268 76 272 Line
4433 %I 1
4434 End
4435
4436 End %I eop
4437
4438 Begin %I Pict
4439 %I b 65535
4440 1 0 0 [] 0 SetB
4441 %I cfg u
4442 %I cbg u
4443 %I f u
4444 %I p u
4445 %I t
4446 [ 1 0 0 1 37.5 123 ] concat
4447
4448 Begin %I Line
4449 %I b 65535
4450 2 0 0 [] 0 SetB
4451 %I cfg Black
4452 0 0 0 SetCFg
4453 %I cbg White
4454 1 1 1 SetCBg
4455 none SetP %I p n
4456 %I t
4457 [ 1 -0 -0 1 122 296 ] concat
4458 %I
4459 72 272 76 268 Line
4460 %I 1
4461 End
4462
4463 Begin %I Line
4464 %I b 65535
4465 2 0 0 [] 0 SetB
4466 %I cfg Black
4467 0 0 0 SetCFg
4468 %I cbg White
4469 1 1 1 SetCBg
4470 none SetP %I p n
4471 %I t
4472 [ 1 -0 -0 1 122 296 ] concat
4473 %I
4474 72 268 76 272 Line
4475 %I 1
4476 End
4477
4478 End %I eop
4479
4480 Begin %I Pict
4481 %I b 65535
4482 1 0 0 [] 0 SetB
4483 %I cfg u
4484 %I cbg u
4485 %I f u
4486 %I p u
4487 %I t
4488 [ 1 0 0 1 42 123.5 ] concat
4489
4490 Begin %I Line
4491 %I b 65535
4492 2 0 0 [] 0 SetB
4493 %I cfg Black
4494 0 0 0 SetCFg
4495 %I cbg White
4496 1 1 1 SetCBg
4497 none SetP %I p n
4498 %I t
4499 [ 1 -0 -0 1 122 296 ] concat
4500 %I
4501 72 272 76 268 Line
4502 %I 1
4503 End
4504
4505 Begin %I Line
4506 %I b 65535
4507 2 0 0 [] 0 SetB
4508 %I cfg Black
4509 0 0 0 SetCFg
4510 %I cbg White
4511 1 1 1 SetCBg
4512 none SetP %I p n
4513 %I t
4514 [ 1 -0 -0 1 122 296 ] concat
4515 %I
4516 72 268 76 272 Line
4517 %I 1
4518 End
4519
4520 End %I eop
4521
4522 Begin %I Pict
4523 %I b 65535
4524 1 0 0 [] 0 SetB
4525 %I cfg u
4526 %I cbg u
4527 %I f u
4528 %I p u
4529 %I t
4530 [ 1 0 0 1 45 123.5 ] concat
4531
4532 Begin %I Line
4533 %I b 65535
4534 2 0 0 [] 0 SetB
4535 %I cfg Black
4536 0 0 0 SetCFg
4537 %I cbg White
4538 1 1 1 SetCBg
4539 none SetP %I p n
4540 %I t
4541 [ 1 -0 -0 1 122 296 ] concat
4542 %I
4543 72 272 76 268 Line
4544 %I 1
4545 End
4546
4547 Begin %I Line
4548 %I b 65535
4549 2 0 0 [] 0 SetB
4550 %I cfg Black
4551 0 0 0 SetCFg
4552 %I cbg White
4553 1 1 1 SetCBg
4554 none SetP %I p n
4555 %I t
4556 [ 1 -0 -0 1 122 296 ] concat
4557 %I
4558 72 268 76 272 Line
4559 %I 1
4560 End
4561
4562 End %I eop
4563
4564 Begin %I Pict
4565 %I b 65535
4566 1 0 0 [] 0 SetB
4567 %I cfg u
4568 %I cbg u
4569 %I f u
4570 %I p u
4571 %I t
4572 [ 1 0 0 1 49 123.5 ] concat
4573
4574 Begin %I Line
4575 %I b 65535
4576 2 0 0 [] 0 SetB
4577 %I cfg Black
4578 0 0 0 SetCFg
4579 %I cbg White
4580 1 1 1 SetCBg
4581 none SetP %I p n
4582 %I t
4583 [ 1 -0 -0 1 122 296 ] concat
4584 %I
4585 72 272 76 268 Line
4586 %I 1
4587 End
4588
4589 Begin %I Line
4590 %I b 65535
4591 2 0 0 [] 0 SetB
4592 %I cfg Black
4593 0 0 0 SetCFg
4594 %I cbg White
4595 1 1 1 SetCBg
4596 none SetP %I p n
4597 %I t
4598 [ 1 -0 -0 1 122 296 ] concat
4599 %I
4600 72 268 76 272 Line
4601 %I 1
4602 End
4603
4604 End %I eop
4605
4606 Begin %I Pict
4607 %I b 65535
4608 1 0 0 [] 0 SetB
4609 %I cfg u
4610 %I cbg u
4611 %I f u
4612 %I p u
4613 %I t
4614 [ 1 0 0 1 52.5 123.5 ] concat
4615
4616 Begin %I Line
4617 %I b 65535
4618 2 0 0 [] 0 SetB
4619 %I cfg Black
4620 0 0 0 SetCFg
4621 %I cbg White
4622 1 1 1 SetCBg
4623 none SetP %I p n
4624 %I t
4625 [ 1 -0 -0 1 122 296 ] concat
4626 %I
4627 72 272 76 268 Line
4628 %I 1
4629 End
4630
4631 Begin %I Line
4632 %I b 65535
4633 2 0 0 [] 0 SetB
4634 %I cfg Black
4635 0 0 0 SetCFg
4636 %I cbg White
4637 1 1 1 SetCBg
4638 none SetP %I p n
4639 %I t
4640 [ 1 -0 -0 1 122 296 ] concat
4641 %I
4642 72 268 76 272 Line
4643 %I 1
4644 End
4645
4646 End %I eop
4647
4648 Begin %I Pict
4649 %I b 65535
4650 1 0 0 [] 0 SetB
4651 %I cfg u
4652 %I cbg u
4653 %I f u
4654 %I p u
4655 %I t
4656 [ 1 0 0 1 56 123.5 ] concat
4657
4658 Begin %I Line
4659 %I b 65535
4660 2 0 0 [] 0 SetB
4661 %I cfg Black
4662 0 0 0 SetCFg
4663 %I cbg White
4664 1 1 1 SetCBg
4665 none SetP %I p n
4666 %I t
4667 [ 1 -0 -0 1 122 296 ] concat
4668 %I
4669 72 272 76 268 Line
4670 %I 1
4671 End
4672
4673 Begin %I Line
4674 %I b 65535
4675 2 0 0 [] 0 SetB
4676 %I cfg Black
4677 0 0 0 SetCFg
4678 %I cbg White
4679 1 1 1 SetCBg
4680 none SetP %I p n
4681 %I t
4682 [ 1 -0 -0 1 122 296 ] concat
4683 %I
4684 72 268 76 272 Line
4685 %I 1
4686 End
4687
4688 End %I eop
4689
4690 Begin %I Pict
4691 %I b 65535
4692 1 0 0 [] 0 SetB
4693 %I cfg u
4694 %I cbg u
4695 %I f u
4696 %I p u
4697 %I t
4698 [ 1 0 0 1 60 123.5 ] concat
4699
4700 Begin %I Line
4701 %I b 65535
4702 2 0 0 [] 0 SetB
4703 %I cfg Black
4704 0 0 0 SetCFg
4705 %I cbg White
4706 1 1 1 SetCBg
4707 none SetP %I p n
4708 %I t
4709 [ 1 -0 -0 1 122 296 ] concat
4710 %I
4711 72 272 76 268 Line
4712 %I 1
4713 End
4714
4715 Begin %I Line
4716 %I b 65535
4717 2 0 0 [] 0 SetB
4718 %I cfg Black
4719 0 0 0 SetCFg
4720 %I cbg White
4721 1 1 1 SetCBg
4722 none SetP %I p n
4723 %I t
4724 [ 1 -0 -0 1 122 296 ] concat
4725 %I
4726 72 268 76 272 Line
4727 %I 1
4728 End
4729
4730 End %I eop
4731
4732 Begin %I Pict
4733 %I b 65535
4734 1 0 0 [] 0 SetB
4735 %I cfg u
4736 %I cbg u
4737 %I f u
4738 %I p u
4739 %I t
4740 [ 1 0 0 1 22.5 123.5 ] concat
4741
4742 Begin %I Line
4743 %I b 65535
4744 2 0 0 [] 0 SetB
4745 %I cfg Black
4746 0 0 0 SetCFg
4747 %I cbg White
4748 1 1 1 SetCBg
4749 none SetP %I p n
4750 %I t
4751 [ 1 -0 -0 1 122 296 ] concat
4752 %I
4753 72 272 76 268 Line
4754 %I 1
4755 End
4756
4757 Begin %I Line
4758 %I b 65535
4759 2 0 0 [] 0 SetB
4760 %I cfg Black
4761 0 0 0 SetCFg
4762 %I cbg White
4763 1 1 1 SetCBg
4764 none SetP %I p n
4765 %I t
4766 [ 1 -0 -0 1 122 296 ] concat
4767 %I
4768 72 268 76 272 Line
4769 %I 1
4770 End
4771
4772 End %I eop
4773
4774 Begin %I Pict
4775 %I b 65535
4776 1 0 0 [] 0 SetB
4777 %I cfg u
4778 %I cbg u
4779 %I f u
4780 %I p u
4781 %I t
4782 [ 1 0 0 1 159 96 ] concat
4783
4784 Begin %I Line
4785 %I b 65535
4786 2 0 0 [] 0 SetB
4787 %I cfg Black
4788 0 0 0 SetCFg
4789 %I cbg White
4790 1 1 1 SetCBg
4791 none SetP %I p n
4792 %I t
4793 [ 1 -0 -0 1 122 296 ] concat
4794 %I
4795 72 272 76 268 Line
4796 %I 1
4797 End
4798
4799 Begin %I Line
4800 %I b 65535
4801 2 0 0 [] 0 SetB
4802 %I cfg Black
4803 0 0 0 SetCFg
4804 %I cbg White
4805 1 1 1 SetCBg
4806 none SetP %I p n
4807 %I t
4808 [ 1 -0 -0 1 122 296 ] concat
4809 %I
4810 72 268 76 272 Line
4811 %I 1
4812 End
4813
4814 End %I eop
4815
4816 Begin %I Pict
4817 %I b 65535
4818 1 0 0 [] 0 SetB
4819 %I cfg u
4820 %I cbg u
4821 %I f u
4822 %I p u
4823 %I t
4824 [ 1 0 0 1 162.5 104 ] concat
4825
4826 Begin %I Line
4827 %I b 65535
4828 2 0 0 [] 0 SetB
4829 %I cfg Black
4830 0 0 0 SetCFg
4831 %I cbg White
4832 1 1 1 SetCBg
4833 none SetP %I p n
4834 %I t
4835 [ 1 -0 -0 1 122 296 ] concat
4836 %I
4837 72 272 76 268 Line
4838 %I 1
4839 End
4840
4841 Begin %I Line
4842 %I b 65535
4843 2 0 0 [] 0 SetB
4844 %I cfg Black
4845 0 0 0 SetCFg
4846 %I cbg White
4847 1 1 1 SetCBg
4848 none SetP %I p n
4849 %I t
4850 [ 1 -0 -0 1 122 296 ] concat
4851 %I
4852 72 268 76 272 Line
4853 %I 1
4854 End
4855
4856 End %I eop
4857
4858 Begin %I Pict
4859 %I b 65535
4860 1 0 0 [] 0 SetB
4861 %I cfg u
4862 %I cbg u
4863 %I f u
4864 %I p u
4865 %I t
4866 [ 1 0 0 1 166 110.5 ] concat
4867
4868 Begin %I Line
4869 %I b 65535
4870 2 0 0 [] 0 SetB
4871 %I cfg Black
4872 0 0 0 SetCFg
4873 %I cbg White
4874 1 1 1 SetCBg
4875 none SetP %I p n
4876 %I t
4877 [ 1 -0 -0 1 122 296 ] concat
4878 %I
4879 72 272 76 268 Line
4880 %I 1
4881 End
4882
4883 Begin %I Line
4884 %I b 65535
4885 2 0 0 [] 0 SetB
4886 %I cfg Black
4887 0 0 0 SetCFg
4888 %I cbg White
4889 1 1 1 SetCBg
4890 none SetP %I p n
4891 %I t
4892 [ 1 -0 -0 1 122 296 ] concat
4893 %I
4894 72 268 76 272 Line
4895 %I 1
4896 End
4897
4898 End %I eop
4899
4900 Begin %I Pict
4901 %I b 65535
4902 1 0 0 [] 0 SetB
4903 %I cfg u
4904 %I cbg u
4905 %I f u
4906 %I p u
4907 %I t
4908 [ 1 0 0 1 170.5 118.5 ] concat
4909
4910 Begin %I Line
4911 %I b 65535
4912 2 0 0 [] 0 SetB
4913 %I cfg Black
4914 0 0 0 SetCFg
4915 %I cbg White
4916 1 1 1 SetCBg
4917 none SetP %I p n
4918 %I t
4919 [ 1 -0 -0 1 122 296 ] concat
4920 %I
4921 72 272 76 268 Line
4922 %I 1
4923 End
4924
4925 Begin %I Line
4926 %I b 65535
4927 2 0 0 [] 0 SetB
4928 %I cfg Black
4929 0 0 0 SetCFg
4930 %I cbg White
4931 1 1 1 SetCBg
4932 none SetP %I p n
4933 %I t
4934 [ 1 -0 -0 1 122 296 ] concat
4935 %I
4936 72 268 76 272 Line
4937 %I 1
4938 End
4939
4940 End %I eop
4941
4942 Begin %I Pict
4943 %I b 65535
4944 1 0 0 [] 0 SetB
4945 %I cfg u
4946 %I cbg u
4947 %I f u
4948 %I p u
4949 %I t
4950 [ 1 0 0 1 174 126.5 ] concat
4951
4952 Begin %I Line
4953 %I b 65535
4954 2 0 0 [] 0 SetB
4955 %I cfg Black
4956 0 0 0 SetCFg
4957 %I cbg White
4958 1 1 1 SetCBg
4959 none SetP %I p n
4960 %I t
4961 [ 1 -0 -0 1 122 296 ] concat
4962 %I
4963 72 272 76 268 Line
4964 %I 1
4965 End
4966
4967 Begin %I Line
4968 %I b 65535
4969 2 0 0 [] 0 SetB
4970 %I cfg Black
4971 0 0 0 SetCFg
4972 %I cbg White
4973 1 1 1 SetCBg
4974 none SetP %I p n
4975 %I t
4976 [ 1 -0 -0 1 122 296 ] concat
4977 %I
4978 72 268 76 272 Line
4979 %I 1
4980 End
4981
4982 End %I eop
4983
4984 Begin %I Pict
4985 %I b 65535
4986 1 0 0 [] 0 SetB
4987 %I cfg u
4988 %I cbg u
4989 %I f u
4990 %I p u
4991 %I t
4992 [ 1 0 0 1 177 134 ] concat
4993
4994 Begin %I Line
4995 %I b 65535
4996 2 0 0 [] 0 SetB
4997 %I cfg Black
4998 0 0 0 SetCFg
4999 %I cbg White
5000 1 1 1 SetCBg
5001 none SetP %I p n
5002 %I t
5003 [ 1 -0 -0 1 122 296 ] concat
5004 %I
5005 72 272 76 268 Line
5006 %I 1
5007 End
5008
5009 Begin %I Line
5010 %I b 65535
5011 2 0 0 [] 0 SetB
5012 %I cfg Black
5013 0 0 0 SetCFg
5014 %I cbg White
5015 1 1 1 SetCBg
5016 none SetP %I p n
5017 %I t
5018 [ 1 -0 -0 1 122 296 ] concat
5019 %I
5020 72 268 76 272 Line
5021 %I 1
5022 End
5023
5024 End %I eop
5025
5026 Begin %I Pict
5027 %I b 65535
5028 1 0 0 [] 0 SetB
5029 %I cfg u
5030 %I cbg u
5031 %I f u
5032 %I p u
5033 %I t
5034 [ 1 0 0 1 181 141 ] concat
5035
5036 Begin %I Line
5037 %I b 65535
5038 2 0 0 [] 0 SetB
5039 %I cfg Black
5040 0 0 0 SetCFg
5041 %I cbg White
5042 1 1 1 SetCBg
5043 none SetP %I p n
5044 %I t
5045 [ 1 -0 -0 1 122 296 ] concat
5046 %I
5047 72 272 76 268 Line
5048 %I 1
5049 End
5050
5051 Begin %I Line
5052 %I b 65535
5053 2 0 0 [] 0 SetB
5054 %I cfg Black
5055 0 0 0 SetCFg
5056 %I cbg White
5057 1 1 1 SetCBg
5058 none SetP %I p n
5059 %I t
5060 [ 1 -0 -0 1 122 296 ] concat
5061 %I
5062 72 268 76 272 Line
5063 %I 1
5064 End
5065
5066 End %I eop
5067
5068 Begin %I Pict
5069 %I b 65535
5070 1 0 0 [] 0 SetB
5071 %I cfg u
5072 %I cbg u
5073 %I f u
5074 %I p u
5075 %I t
5076 [ 1 0 0 1 185 149 ] concat
5077
5078 Begin %I Line
5079 %I b 65535
5080 2 0 0 [] 0 SetB
5081 %I cfg Black
5082 0 0 0 SetCFg
5083 %I cbg White
5084 1 1 1 SetCBg
5085 none SetP %I p n
5086 %I t
5087 [ 1 -0 -0 1 122 296 ] concat
5088 %I
5089 72 272 76 268 Line
5090 %I 1
5091 End
5092
5093 Begin %I Line
5094 %I b 65535
5095 2 0 0 [] 0 SetB
5096 %I cfg Black
5097 0 0 0 SetCFg
5098 %I cbg White
5099 1 1 1 SetCBg
5100 none SetP %I p n
5101 %I t
5102 [ 1 -0 -0 1 122 296 ] concat
5103 %I
5104 72 268 76 272 Line
5105 %I 1
5106 End
5107
5108 End %I eop
5109
5110 Begin %I Pict
5111 %I b 65535
5112 1 0 0 [] 0 SetB
5113 %I cfg u
5114 %I cbg u
5115 %I f u
5116 %I p u
5117 %I t
5118 [ 1 0 0 1 188.5 156 ] concat
5119
5120 Begin %I Line
5121 %I b 65535
5122 2 0 0 [] 0 SetB
5123 %I cfg Black
5124 0 0 0 SetCFg
5125 %I cbg White
5126 1 1 1 SetCBg
5127 none SetP %I p n
5128 %I t
5129 [ 1 -0 -0 1 122 296 ] concat
5130 %I
5131 72 272 76 268 Line
5132 %I 1
5133 End
5134
5135 Begin %I Line
5136 %I b 65535
5137 2 0 0 [] 0 SetB
5138 %I cfg Black
5139 0 0 0 SetCFg
5140 %I cbg White
5141 1 1 1 SetCBg
5142 none SetP %I p n
5143 %I t
5144 [ 1 -0 -0 1 122 296 ] concat
5145 %I
5146 72 268 76 272 Line
5147 %I 1
5148 End
5149
5150 End %I eop
5151
5152 Begin %I Pict
5153 %I b 65535
5154 1 0 0 [] 0 SetB
5155 %I cfg u
5156 %I cbg u
5157 %I f u
5158 %I p u
5159 %I t
5160 [ 1 0 0 1 191.5 164 ] concat
5161
5162 Begin %I Line
5163 %I b 65535
5164 2 0 0 [] 0 SetB
5165 %I cfg Black
5166 0 0 0 SetCFg
5167 %I cbg White
5168 1 1 1 SetCBg
5169 none SetP %I p n
5170 %I t
5171 [ 1 -0 -0 1 122 296 ] concat
5172 %I
5173 72 272 76 268 Line
5174 %I 1
5175 End
5176
5177 Begin %I Line
5178 %I b 65535
5179 2 0 0 [] 0 SetB
5180 %I cfg Black
5181 0 0 0 SetCFg
5182 %I cbg White
5183 1 1 1 SetCBg
5184 none SetP %I p n
5185 %I t
5186 [ 1 -0 -0 1 122 296 ] concat
5187 %I
5188 72 268 76 272 Line
5189 %I 1
5190 End
5191
5192 End %I eop
5193
5194 Begin %I Pict
5195 %I b 65535
5196 1 0 0 [] 0 SetB
5197 %I cfg u
5198 %I cbg u
5199 %I f u
5200 %I p u
5201 %I t
5202 [ 1 0 0 1 156 88.5 ] concat
5203
5204 Begin %I Line
5205 %I b 65535
5206 2 0 0 [] 0 SetB
5207 %I cfg Black
5208 0 0 0 SetCFg
5209 %I cbg White
5210 1 1 1 SetCBg
5211 none SetP %I p n
5212 %I t
5213 [ 1 -0 -0 1 122 296 ] concat
5214 %I
5215 72 272 76 268 Line
5216 %I 1
5217 End
5218
5219 Begin %I Line
5220 %I b 65535
5221 2 0 0 [] 0 SetB
5222 %I cfg Black
5223 0 0 0 SetCFg
5224 %I cbg White
5225 1 1 1 SetCBg
5226 none SetP %I p n
5227 %I t
5228 [ 1 -0 -0 1 122 296 ] concat
5229 %I
5230 72 268 76 272 Line
5231 %I 1
5232 End
5233
5234 End %I eop
5235
5236 Begin %I Pict
5237 %I b 65535
5238 1 0 0 [] 0 SetB
5239 %I cfg u
5240 %I cbg u
5241 %I f u
5242 %I p u
5243 %I t
5244 [ 1 0 0 1 151.5 80 ] concat
5245
5246 Begin %I Line
5247 %I b 65535
5248 2 0 0 [] 0 SetB
5249 %I cfg Black
5250 0 0 0 SetCFg
5251 %I cbg White
5252 1 1 1 SetCBg
5253 none SetP %I p n
5254 %I t
5255 [ 1 -0 -0 1 122 296 ] concat
5256 %I
5257 72 272 76 268 Line
5258 %I 1
5259 End
5260
5261 Begin %I Line
5262 %I b 65535
5263 2 0 0 [] 0 SetB
5264 %I cfg Black
5265 0 0 0 SetCFg
5266 %I cbg White
5267 1 1 1 SetCBg
5268 none SetP %I p n
5269 %I t
5270 [ 1 -0 -0 1 122 296 ] concat
5271 %I
5272 72 268 76 272 Line
5273 %I 1
5274 End
5275
5276 End %I eop
5277
5278 Begin %I Pict
5279 %I b 65535
5280 1 0 0 [] 0 SetB
5281 %I cfg u
5282 %I cbg u
5283 %I f u
5284 %I p u
5285 %I t
5286 [ 1 0 0 1 148 72.5 ] concat
5287
5288 Begin %I Line
5289 %I b 65535
5290 2 0 0 [] 0 SetB
5291 %I cfg Black
5292 0 0 0 SetCFg
5293 %I cbg White
5294 1 1 1 SetCBg
5295 none SetP %I p n
5296 %I t
5297 [ 1 -0 -0 1 122 296 ] concat
5298 %I
5299 72 272 76 268 Line
5300 %I 1
5301 End
5302
5303 Begin %I Line
5304 %I b 65535
5305 2 0 0 [] 0 SetB
5306 %I cfg Black
5307 0 0 0 SetCFg
5308 %I cbg White
5309 1 1 1 SetCBg
5310 none SetP %I p n
5311 %I t
5312 [ 1 -0 -0 1 122 296 ] concat
5313 %I
5314 72 268 76 272 Line
5315 %I 1
5316 End
5317
5318 End %I eop
5319
5320 Begin %I Pict
5321 %I b 65535
5322 1 0 0 [] 0 SetB
5323 %I cfg u
5324 %I cbg u
5325 %I f u
5326 %I p u
5327 %I t
5328 [ 1 0 0 1 192 149 ] concat
5329
5330 Begin %I Line
5331 %I b 65535
5332 2 0 0 [] 0 SetB
5333 %I cfg Black
5334 0 0 0 SetCFg
5335 %I cbg White
5336 1 1 1 SetCBg
5337 none SetP %I p n
5338 %I t
5339 [ 1 -0 -0 1 122 296 ] concat
5340 %I
5341 72 272 76 268 Line
5342 %I 1
5343 End
5344
5345 Begin %I Line
5346 %I b 65535
5347 2 0 0 [] 0 SetB
5348 %I cfg Black
5349 0 0 0 SetCFg
5350 %I cbg White
5351 1 1 1 SetCBg
5352 none SetP %I p n
5353 %I t
5354 [ 1 -0 -0 1 122 296 ] concat
5355 %I
5356 72 268 76 272 Line
5357 %I 1
5358 End
5359
5360 End %I eop
5361
5362 Begin %I Pict
5363 %I b 65535
5364 1 0 0 [] 0 SetB
5365 %I cfg u
5366 %I cbg u
5367 %I f u
5368 %I p u
5369 %I t
5370 [ 1 0 0 1 195.5 149 ] concat
5371
5372 Begin %I Line
5373 %I b 65535
5374 2 0 0 [] 0 SetB
5375 %I cfg Black
5376 0 0 0 SetCFg
5377 %I cbg White
5378 1 1 1 SetCBg
5379 none SetP %I p n
5380 %I t
5381 [ 1 -0 -0 1 122 296 ] concat
5382 %I
5383 72 272 76 268 Line
5384 %I 1
5385 End
5386
5387 Begin %I Line
5388 %I b 65535
5389 2 0 0 [] 0 SetB
5390 %I cfg Black
5391 0 0 0 SetCFg
5392 %I cbg White
5393 1 1 1 SetCBg
5394 none SetP %I p n
5395 %I t
5396 [ 1 -0 -0 1 122 296 ] concat
5397 %I
5398 72 268 76 272 Line
5399 %I 1
5400 End
5401
5402 End %I eop
5403
5404 Begin %I Pict
5405 %I b 65535
5406 1 0 0 [] 0 SetB
5407 %I cfg u
5408 %I cbg u
5409 %I f u
5410 %I p u
5411 %I t
5412 [ 1 0 0 1 198.5 149 ] concat
5413
5414 Begin %I Line
5415 %I b 65535
5416 2 0 0 [] 0 SetB
5417 %I cfg Black
5418 0 0 0 SetCFg
5419 %I cbg White
5420 1 1 1 SetCBg
5421 none SetP %I p n
5422 %I t
5423 [ 1 -0 -0 1 122 296 ] concat
5424 %I
5425 72 272 76 268 Line
5426 %I 1
5427 End
5428
5429 Begin %I Line
5430 %I b 65535
5431 2 0 0 [] 0 SetB
5432 %I cfg Black
5433 0 0 0 SetCFg
5434 %I cbg White
5435 1 1 1 SetCBg
5436 none SetP %I p n
5437 %I t
5438 [ 1 -0 -0 1 122 296 ] concat
5439 %I
5440 72 268 76 272 Line
5441 %I 1
5442 End
5443
5444 End %I eop
5445
5446 Begin %I Pict
5447 %I b 65535
5448 1 0 0 [] 0 SetB
5449 %I cfg u
5450 %I cbg u
5451 %I f u
5452 %I p u
5453 %I t
5454 [ 1 0 0 1 191 135 ] concat
5455
5456 Begin %I Line
5457 %I b 65535
5458 2 0 0 [] 0 SetB
5459 %I cfg Black
5460 0 0 0 SetCFg
5461 %I cbg White
5462 1 1 1 SetCBg
5463 none SetP %I p n
5464 %I t
5465 [ 1 -0 -0 1 122 296 ] concat
5466 %I
5467 72 272 76 268 Line
5468 %I 1
5469 End
5470
5471 Begin %I Line
5472 %I b 65535
5473 2 0 0 [] 0 SetB
5474 %I cfg Black
5475 0 0 0 SetCFg
5476 %I cbg White
5477 1 1 1 SetCBg
5478 none SetP %I p n
5479 %I t
5480 [ 1 -0 -0 1 122 296 ] concat
5481 %I
5482 72 268 76 272 Line
5483 %I 1
5484 End
5485
5486 End %I eop
5487
5488 Begin %I Pict
5489 %I b 65535
5490 1 0 0 [] 0 SetB
5491 %I cfg u
5492 %I cbg u
5493 %I f u
5494 %I p u
5495 %I t
5496 [ 1 0 0 1 195 135 ] concat
5497
5498 Begin %I Line
5499 %I b 65535
5500 2 0 0 [] 0 SetB
5501 %I cfg Black
5502 0 0 0 SetCFg
5503 %I cbg White
5504 1 1 1 SetCBg
5505 none SetP %I p n
5506 %I t
5507 [ 1 -0 -0 1 122 296 ] concat
5508 %I
5509 72 272 76 268 Line
5510 %I 1
5511 End
5512
5513 Begin %I Line
5514 %I b 65535
5515 2 0 0 [] 0 SetB
5516 %I cfg Black
5517 0 0 0 SetCFg
5518 %I cbg White
5519 1 1 1 SetCBg
5520 none SetP %I p n
5521 %I t
5522 [ 1 -0 -0 1 122 296 ] concat
5523 %I
5524 72 268 76 272 Line
5525 %I 1
5526 End
5527
5528 End %I eop
5529
5530 Begin %I Pict
5531 %I b 65535
5532 1 0 0 [] 0 SetB
5533 %I cfg u
5534 %I cbg u
5535 %I f u
5536 %I p u
5537 %I t
5538 [ 1 0 0 1 199 135 ] concat
5539
5540 Begin %I Line
5541 %I b 65535
5542 2 0 0 [] 0 SetB
5543 %I cfg Black
5544 0 0 0 SetCFg
5545 %I cbg White
5546 1 1 1 SetCBg
5547 none SetP %I p n
5548 %I t
5549 [ 1 -0 -0 1 122 296 ] concat
5550 %I
5551 72 272 76 268 Line
5552 %I 1
5553 End
5554
5555 Begin %I Line
5556 %I b 65535
5557 2 0 0 [] 0 SetB
5558 %I cfg Black
5559 0 0 0 SetCFg
5560 %I cbg White
5561 1 1 1 SetCBg
5562 none SetP %I p n
5563 %I t
5564 [ 1 -0 -0 1 122 296 ] concat
5565 %I
5566 72 268 76 272 Line
5567 %I 1
5568 End
5569
5570 End %I eop
5571
5572 Begin %I Pict
5573 %I b 65535
5574 1 0 0 [] 0 SetB
5575 %I cfg u
5576 %I cbg u
5577 %I f u
5578 %I p u
5579 %I t
5580 [ 1 0 0 1 203.5 135 ] concat
5581
5582 Begin %I Line
5583 %I b 65535
5584 2 0 0 [] 0 SetB
5585 %I cfg Black
5586 0 0 0 SetCFg
5587 %I cbg White
5588 1 1 1 SetCBg
5589 none SetP %I p n
5590 %I t
5591 [ 1 -0 -0 1 122 296 ] concat
5592 %I
5593 72 272 76 268 Line
5594 %I 1
5595 End
5596
5597 Begin %I Line
5598 %I b 65535
5599 2 0 0 [] 0 SetB
5600 %I cfg Black
5601 0 0 0 SetCFg
5602 %I cbg White
5603 1 1 1 SetCBg
5604 none SetP %I p n
5605 %I t
5606 [ 1 -0 -0 1 122 296 ] concat
5607 %I
5608 72 268 76 272 Line
5609 %I 1
5610 End
5611
5612 End %I eop
5613
5614 Begin %I Pict
5615 %I b 65535
5616 1 0 0 [] 0 SetB
5617 %I cfg u
5618 %I cbg u
5619 %I f u
5620 %I p u
5621 %I t
5622 [ 1 0 0 1 187 141 ] concat
5623
5624 Begin %I Line
5625 %I b 65535
5626 2 0 0 [] 0 SetB
5627 %I cfg Black
5628 0 0 0 SetCFg
5629 %I cbg White
5630 1 1 1 SetCBg
5631 none SetP %I p n
5632 %I t
5633 [ 1 -0 -0 1 122 296 ] concat
5634 %I
5635 72 272 76 268 Line
5636 %I 1
5637 End
5638
5639 Begin %I Line
5640 %I b 65535
5641 2 0 0 [] 0 SetB
5642 %I cfg Black
5643 0 0 0 SetCFg
5644 %I cbg White
5645 1 1 1 SetCBg
5646 none SetP %I p n
5647 %I t
5648 [ 1 -0 -0 1 122 296 ] concat
5649 %I
5650 72 268 76 272 Line
5651 %I 1
5652 End
5653
5654 End %I eop
5655
5656 Begin %I Pict
5657 %I b 65535
5658 1 0 0 [] 0 SetB
5659 %I cfg u
5660 %I cbg u
5661 %I f u
5662 %I p u
5663 %I t
5664 [ 1 0 0 1 190 141 ] concat
5665
5666 Begin %I Line
5667 %I b 65535
5668 2 0 0 [] 0 SetB
5669 %I cfg Black
5670 0 0 0 SetCFg
5671 %I cbg White
5672 1 1 1 SetCBg
5673 none SetP %I p n
5674 %I t
5675 [ 1 -0 -0 1 122 296 ] concat
5676 %I
5677 72 272 76 268 Line
5678 %I 1
5679 End
5680
5681 Begin %I Line
5682 %I b 65535
5683 2 0 0 [] 0 SetB
5684 %I cfg Black
5685 0 0 0 SetCFg
5686 %I cbg White
5687 1 1 1 SetCBg
5688 none SetP %I p n
5689 %I t
5690 [ 1 -0 -0 1 122 296 ] concat
5691 %I
5692 72 268 76 272 Line
5693 %I 1
5694 End
5695
5696 End %I eop
5697
5698 Begin %I Pict
5699 %I b 65535
5700 1 0 0 [] 0 SetB
5701 %I cfg u
5702 %I cbg u
5703 %I f u
5704 %I p u
5705 %I t
5706 [ 1 0 0 1 181 126.5 ] concat
5707
5708 Begin %I Line
5709 %I b 65535
5710 2 0 0 [] 0 SetB
5711 %I cfg Black
5712 0 0 0 SetCFg
5713 %I cbg White
5714 1 1 1 SetCBg
5715 none SetP %I p n
5716 %I t
5717 [ 1 -0 -0 1 122 296 ] concat
5718 %I
5719 72 272 76 268 Line
5720 %I 1
5721 End
5722
5723 Begin %I Line
5724 %I b 65535
5725 2 0 0 [] 0 SetB
5726 %I cfg Black
5727 0 0 0 SetCFg
5728 %I cbg White
5729 1 1 1 SetCBg
5730 none SetP %I p n
5731 %I t
5732 [ 1 -0 -0 1 122 296 ] concat
5733 %I
5734 72 268 76 272 Line
5735 %I 1
5736 End
5737
5738 End %I eop
5739
5740 Begin %I Pict
5741 %I b 65535
5742 1 0 0 [] 0 SetB
5743 %I cfg u
5744 %I cbg u
5745 %I f u
5746 %I p u
5747 %I t
5748 [ 1 0 0 1 185 126.5 ] concat
5749
5750 Begin %I Line
5751 %I b 65535
5752 2 0 0 [] 0 SetB
5753 %I cfg Black
5754 0 0 0 SetCFg
5755 %I cbg White
5756 1 1 1 SetCBg
5757 none SetP %I p n
5758 %I t
5759 [ 1 -0 -0 1 122 296 ] concat
5760 %I
5761 72 272 76 268 Line
5762 %I 1
5763 End
5764
5765 Begin %I Line
5766 %I b 65535
5767 2 0 0 [] 0 SetB
5768 %I cfg Black
5769 0 0 0 SetCFg
5770 %I cbg White
5771 1 1 1 SetCBg
5772 none SetP %I p n
5773 %I t
5774 [ 1 -0 -0 1 122 296 ] concat
5775 %I
5776 72 268 76 272 Line
5777 %I 1
5778 End
5779
5780 End %I eop
5781
5782 Begin %I Pict
5783 %I b 65535
5784 1 0 0 [] 0 SetB
5785 %I cfg u
5786 %I cbg u
5787 %I f u
5788 %I p u
5789 %I t
5790 [ 1 0 0 1 189 127 ] concat
5791
5792 Begin %I Line
5793 %I b 65535
5794 2 0 0 [] 0 SetB
5795 %I cfg Black
5796 0 0 0 SetCFg
5797 %I cbg White
5798 1 1 1 SetCBg
5799 none SetP %I p n
5800 %I t
5801 [ 1 -0 -0 1 122 296 ] concat
5802 %I
5803 72 272 76 268 Line
5804 %I 1
5805 End
5806
5807 Begin %I Line
5808 %I b 65535
5809 2 0 0 [] 0 SetB
5810 %I cfg Black
5811 0 0 0 SetCFg
5812 %I cbg White
5813 1 1 1 SetCBg
5814 none SetP %I p n
5815 %I t
5816 [ 1 -0 -0 1 122 296 ] concat
5817 %I
5818 72 268 76 272 Line
5819 %I 1
5820 End
5821
5822 End %I eop
5823
5824 Begin %I Pict
5825 %I b 65535
5826 1 0 0 [] 0 SetB
5827 %I cfg u
5828 %I cbg u
5829 %I f u
5830 %I p u
5831 %I t
5832 [ 1 0 0 1 188.5 118.5 ] concat
5833
5834 Begin %I Line
5835 %I b 65535
5836 2 0 0 [] 0 SetB
5837 %I cfg Black
5838 0 0 0 SetCFg
5839 %I cbg White
5840 1 1 1 SetCBg
5841 none SetP %I p n
5842 %I t
5843 [ 1 -0 -0 1 122 296 ] concat
5844 %I
5845 72 272 76 268 Line
5846 %I 1
5847 End
5848
5849 Begin %I Line
5850 %I b 65535
5851 2 0 0 [] 0 SetB
5852 %I cfg Black
5853 0 0 0 SetCFg
5854 %I cbg White
5855 1 1 1 SetCBg
5856 none SetP %I p n
5857 %I t
5858 [ 1 -0 -0 1 122 296 ] concat
5859 %I
5860 72 268 76 272 Line
5861 %I 1
5862 End
5863
5864 End %I eop
5865
5866 Begin %I Pict
5867 %I b 65535
5868 1 0 0 [] 0 SetB
5869 %I cfg u
5870 %I cbg u
5871 %I f u
5872 %I p u
5873 %I t
5874 [ 1 0 0 1 192.5 118.5 ] concat
5875
5876 Begin %I Line
5877 %I b 65535
5878 2 0 0 [] 0 SetB
5879 %I cfg Black
5880 0 0 0 SetCFg
5881 %I cbg White
5882 1 1 1 SetCBg
5883 none SetP %I p n
5884 %I t
5885 [ 1 -0 -0 1 122 296 ] concat
5886 %I
5887 72 272 76 268 Line
5888 %I 1
5889 End
5890
5891 Begin %I Line
5892 %I b 65535
5893 2 0 0 [] 0 SetB
5894 %I cfg Black
5895 0 0 0 SetCFg
5896 %I cbg White
5897 1 1 1 SetCBg
5898 none SetP %I p n
5899 %I t
5900 [ 1 -0 -0 1 122 296 ] concat
5901 %I
5902 72 268 76 272 Line
5903 %I 1
5904 End
5905
5906 End %I eop
5907
5908 Begin %I Pict
5909 %I b 65535
5910 1 0 0 [] 0 SetB
5911 %I cfg u
5912 %I cbg u
5913 %I f u
5914 %I p u
5915 %I t
5916 [ 1 0 0 1 196.5 118.5 ] concat
5917
5918 Begin %I Line
5919 %I b 65535
5920 2 0 0 [] 0 SetB
5921 %I cfg Black
5922 0 0 0 SetCFg
5923 %I cbg White
5924 1 1 1 SetCBg
5925 none SetP %I p n
5926 %I t
5927 [ 1 -0 -0 1 122 296 ] concat
5928 %I
5929 72 272 76 268 Line
5930 %I 1
5931 End
5932
5933 Begin %I Line
5934 %I b 65535
5935 2 0 0 [] 0 SetB
5936 %I cfg Black
5937 0 0 0 SetCFg
5938 %I cbg White
5939 1 1 1 SetCBg
5940 none SetP %I p n
5941 %I t
5942 [ 1 -0 -0 1 122 296 ] concat
5943 %I
5944 72 268 76 272 Line
5945 %I 1
5946 End
5947
5948 End %I eop
5949
5950 Begin %I Pict
5951 %I b 65535
5952 1 0 0 [] 0 SetB
5953 %I cfg u
5954 %I cbg u
5955 %I f u
5956 %I p u
5957 %I t
5958 [ 1 0 0 1 204.5 118.5 ] concat
5959
5960 Begin %I Line
5961 %I b 65535
5962 2 0 0 [] 0 SetB
5963 %I cfg Black
5964 0 0 0 SetCFg
5965 %I cbg White
5966 1 1 1 SetCBg
5967 none SetP %I p n
5968 %I t
5969 [ 1 -0 -0 1 122 296 ] concat
5970 %I
5971 72 272 76 268 Line
5972 %I 1
5973 End
5974
5975 Begin %I Line
5976 %I b 65535
5977 2 0 0 [] 0 SetB
5978 %I cfg Black
5979 0 0 0 SetCFg
5980 %I cbg White
5981 1 1 1 SetCBg
5982 none SetP %I p n
5983 %I t
5984 [ 1 -0 -0 1 122 296 ] concat
5985 %I
5986 72 268 76 272 Line
5987 %I 1
5988 End
5989
5990 End %I eop
5991
5992 Begin %I Pict
5993 %I b 65535
5994 1 0 0 [] 0 SetB
5995 %I cfg u
5996 %I cbg u
5997 %I f u
5998 %I p u
5999 %I t
6000 [ 1 0 0 1 178 110.5 ] concat
6001
6002 Begin %I Line
6003 %I b 65535
6004 2 0 0 [] 0 SetB
6005 %I cfg Black
6006 0 0 0 SetCFg
6007 %I cbg White
6008 1 1 1 SetCBg
6009 none SetP %I p n
6010 %I t
6011 [ 1 -0 -0 1 122 296 ] concat
6012 %I
6013 72 272 76 268 Line
6014 %I 1
6015 End
6016
6017 Begin %I Line
6018 %I b 65535
6019 2 0 0 [] 0 SetB
6020 %I cfg Black
6021 0 0 0 SetCFg
6022 %I cbg White
6023 1 1 1 SetCBg
6024 none SetP %I p n
6025 %I t
6026 [ 1 -0 -0 1 122 296 ] concat
6027 %I
6028 72 268 76 272 Line
6029 %I 1
6030 End
6031
6032 End %I eop
6033
6034 Begin %I Pict
6035 %I b 65535
6036 1 0 0 [] 0 SetB
6037 %I cfg u
6038 %I cbg u
6039 %I f u
6040 %I p u
6041 %I t
6042 [ 1 0 0 1 199 110.5 ] concat
6043
6044 Begin %I Line
6045 %I b 65535
6046 2 0 0 [] 0 SetB
6047 %I cfg Black
6048 0 0 0 SetCFg
6049 %I cbg White
6050 1 1 1 SetCBg
6051 none SetP %I p n
6052 %I t
6053 [ 1 -0 -0 1 122 296 ] concat
6054 %I
6055 72 272 76 268 Line
6056 %I 1
6057 End
6058
6059 Begin %I Line
6060 %I b 65535
6061 2 0 0 [] 0 SetB
6062 %I cfg Black
6063 0 0 0 SetCFg
6064 %I cbg White
6065 1 1 1 SetCBg
6066 none SetP %I p n
6067 %I t
6068 [ 1 -0 -0 1 122 296 ] concat
6069 %I
6070 72 268 76 272 Line
6071 %I 1
6072 End
6073
6074 End %I eop
6075
6076 Begin %I Pict
6077 %I b 65535
6078 1 0 0 [] 0 SetB
6079 %I cfg u
6080 %I cbg u
6081 %I f u
6082 %I p u
6083 %I t
6084 [ 1 0 0 1 213.5 111 ] concat
6085
6086 Begin %I Line
6087 %I b 65535
6088 2 0 0 [] 0 SetB
6089 %I cfg Black
6090 0 0 0 SetCFg
6091 %I cbg White
6092 1 1 1 SetCBg
6093 none SetP %I p n
6094 %I t
6095 [ 1 -0 -0 1 122 296 ] concat
6096 %I
6097 72 272 76 268 Line
6098 %I 1
6099 End
6100
6101 Begin %I Line
6102 %I b 65535
6103 2 0 0 [] 0 SetB
6104 %I cfg Black
6105 0 0 0 SetCFg
6106 %I cbg White
6107 1 1 1 SetCBg
6108 none SetP %I p n
6109 %I t
6110 [ 1 -0 -0 1 122 296 ] concat
6111 %I
6112 72 268 76 272 Line
6113 %I 1
6114 End
6115
6116 End %I eop
6117
6118 Begin %I Pict
6119 %I b 65535
6120 1 0 0 [] 0 SetB
6121 %I cfg u
6122 %I cbg u
6123 %I f u
6124 %I p u
6125 %I t
6126 [ 1 0 0 1 184 96 ] concat
6127
6128 Begin %I Line
6129 %I b 65535
6130 2 0 0 [] 0 SetB
6131 %I cfg Black
6132 0 0 0 SetCFg
6133 %I cbg White
6134 1 1 1 SetCBg
6135 none SetP %I p n
6136 %I t
6137 [ 1 -0 -0 1 122 296 ] concat
6138 %I
6139 72 272 76 268 Line
6140 %I 1
6141 End
6142
6143 Begin %I Line
6144 %I b 65535
6145 2 0 0 [] 0 SetB
6146 %I cfg Black
6147 0 0 0 SetCFg
6148 %I cbg White
6149 1 1 1 SetCBg
6150 none SetP %I p n
6151 %I t
6152 [ 1 -0 -0 1 122 296 ] concat
6153 %I
6154 72 268 76 272 Line
6155 %I 1
6156 End
6157
6158 End %I eop
6159
6160 Begin %I Pict
6161 %I b 65535
6162 1 0 0 [] 0 SetB
6163 %I cfg u
6164 %I cbg u
6165 %I f u
6166 %I p u
6167 %I t
6168 [ 1 0 0 1 208 95.5 ] concat
6169
6170 Begin %I Line
6171 %I b 65535
6172 2 0 0 [] 0 SetB
6173 %I cfg Black
6174 0 0 0 SetCFg
6175 %I cbg White
6176 1 1 1 SetCBg
6177 none SetP %I p n
6178 %I t
6179 [ 1 -0 -0 1 122 296 ] concat
6180 %I
6181 72 272 76 268 Line
6182 %I 1
6183 End
6184
6185 Begin %I Line
6186 %I b 65535
6187 2 0 0 [] 0 SetB
6188 %I cfg Black
6189 0 0 0 SetCFg
6190 %I cbg White
6191 1 1 1 SetCBg
6192 none SetP %I p n
6193 %I t
6194 [ 1 -0 -0 1 122 296 ] concat
6195 %I
6196 72 268 76 272 Line
6197 %I 1
6198 End
6199
6200 End %I eop
6201
6202 Begin %I Pict
6203 %I b 65535
6204 1 0 0 [] 0 SetB
6205 %I cfg u
6206 %I cbg u
6207 %I f u
6208 %I p u
6209 %I t
6210 [ 1 0 0 1 194 156 ] concat
6211
6212 Begin %I Line
6213 %I b 65535
6214 2 0 0 [] 0 SetB
6215 %I cfg Black
6216 0 0 0 SetCFg
6217 %I cbg White
6218 1 1 1 SetCBg
6219 none SetP %I p n
6220 %I t
6221 [ 1 -0 -0 1 122 296 ] concat
6222 %I
6223 72 272 76 268 Line
6224 %I 1
6225 End
6226
6227 Begin %I Line
6228 %I b 65535
6229 2 0 0 [] 0 SetB
6230 %I cfg Black
6231 0 0 0 SetCFg
6232 %I cbg White
6233 1 1 1 SetCBg
6234 none SetP %I p n
6235 %I t
6236 [ 1 -0 -0 1 122 296 ] concat
6237 %I
6238 72 268 76 272 Line
6239 %I 1
6240 End
6241
6242 End %I eop
6243
6244 Begin %I Pict
6245 %I b u
6246 %I cfg u
6247 %I cbg u
6248 %I f u
6249 %I p u
6250 %I t
6251 [ 1 0 0 1 -36.5 92.5 ] concat
6252
6253 Begin %I Line
6254 %I b 65535
6255 2 0 0 [] 0 SetB
6256 %I cfg Black
6257 0 0 0 SetCFg
6258 %I cbg White
6259 1 1 1 SetCBg
6260 none SetP %I p n
6261 %I t
6262 [ 0.5 -0 -0 0.5 174 494 ] concat
6263 %I
6264 100 84 116 100 Line
6265 %I 2
6266 End
6267
6268 Begin %I Line
6269 %I b 65535
6270 2 0 0 [] 0 SetB
6271 %I cfg Black
6272 0 0 0 SetCFg
6273 %I cbg White
6274 1 1 1 SetCBg
6275 none SetP %I p n
6276 %I t
6277 [ 0.5 -0 -0 0.5 174 494 ] concat
6278 %I
6279 116 100 132 84 Line
6280 %I 2
6281 End
6282
6283 Begin %I Line
6284 %I b 65535
6285 2 0 0 [] 0 SetB
6286 %I cfg Black
6287 0 0 0 SetCFg
6288 %I cbg White
6289 1 1 1 SetCBg
6290 none SetP %I p n
6291 %I t
6292 [ 0.5 -0 -0 0.5 174 494 ] concat
6293 %I
6294 132 84 148 116 Line
6295 %I 2
6296 End
6297
6298 Begin %I Line
6299 %I b 65535
6300 2 0 0 [] 0 SetB
6301 %I cfg Black
6302 0 0 0 SetCFg
6303 %I cbg White
6304 1 1 1 SetCBg
6305 none SetP %I p n
6306 %I t
6307 [ 0.5 -0 -0 0.5 174 494 ] concat
6308 %I
6309 148 116 164 84 Line
6310 %I 2
6311 End
6312
6313 Begin %I Line
6314 %I b 65535
6315 2 0 0 [] 0 SetB
6316 %I cfg Black
6317 0 0 0 SetCFg
6318 %I cbg White
6319 1 1 1 SetCBg
6320 none SetP %I p n
6321 %I t
6322 [ 0.5 -0 -0 0.5 174 494 ] concat
6323 %I
6324 164 84 180 116 Line
6325 %I 2
6326 End
6327
6328 Begin %I Line
6329 %I b 65535
6330 2 0 0 [] 0 SetB
6331 %I cfg Black
6332 0 0 0 SetCFg
6333 %I cbg White
6334 1 1 1 SetCBg
6335 none SetP %I p n
6336 %I t
6337 [ 0.5 -0 -0 0.5 174 494 ] concat
6338 %I
6339 180 116 196 100 Line
6340 %I 2
6341 End
6342
6343 Begin %I Line
6344 %I b 65535
6345 2 0 0 [] 0 SetB
6346 %I cfg Black
6347 0 0 0 SetCFg
6348 %I cbg White
6349 1 1 1 SetCBg
6350 none SetP %I p n
6351 %I t
6352 [ 0.5 -0 -0 0.5 174 494 ] concat
6353 %I
6354 196 100 212 116 Line
6355 %I 2
6356 End
6357
6358 Begin %I Line
6359 %I b 65535
6360 2 0 0 [] 0 SetB
6361 %I cfg Black
6362 0 0 0 SetCFg
6363 %I cbg White
6364 1 1 1 SetCBg
6365 none SetP %I p n
6366 %I t
6367 [ 0.5 -0 -0 0.5 174 494 ] concat
6368 %I
6369 212 116 228 116 Line
6370 %I 2
6371 End
6372
6373 Begin %I Line
6374 %I b 65535
6375 2 0 0 [] 0 SetB
6376 %I cfg Black
6377 0 0 0 SetCFg
6378 %I cbg White
6379 1 1 1 SetCBg
6380 none SetP %I p n
6381 %I t
6382 [ 0.5 -0 -0 0.5 174 494 ] concat
6383 %I
6384 228 116 244 100 Line
6385 %I 2
6386 End
6387
6388 Begin %I Line
6389 %I b 65535
6390 2 0 0 [] 0 SetB
6391 %I cfg Black
6392 0 0 0 SetCFg
6393 %I cbg White
6394 1 1 1 SetCBg
6395 none SetP %I p n
6396 %I t
6397 [ 0.5 -0 -0 0.5 174 494 ] concat
6398 %I
6399 244 100 260 116 Line
6400 %I 2
6401 End
6402
6403 Begin %I Line
6404 %I b 65535
6405 2 0 0 [] 0 SetB
6406 %I cfg Black
6407 0 0 0 SetCFg
6408 %I cbg White
6409 1 1 1 SetCBg
6410 none SetP %I p n
6411 %I t
6412 [ 0.5 -0 -0 0.5 174 494 ] concat
6413 %I
6414 260 116 276 100 Line
6415 %I 2
6416 End
6417
6418 Begin %I Line
6419 %I b 65535
6420 2 0 0 [] 0 SetB
6421 %I cfg Black
6422 0 0 0 SetCFg
6423 %I cbg White
6424 1 1 1 SetCBg
6425 none SetP %I p n
6426 %I t
6427 [ 0.5 -0 -0 0.5 174 494 ] concat
6428 %I
6429 276 100 292 84 Line
6430 %I 2
6431 End
6432
6433 End %I eop
6434
6435 Begin %I Pict
6436 %I b u
6437 %I cfg u
6438 %I cbg u
6439 %I f u
6440 %I p u
6441 %I t
6442 [ 1 0 0 1 112.5 93 ] concat
6443
6444 Begin %I Line
6445 %I b 65535
6446 2 0 0 [] 0 SetB
6447 %I cfg Black
6448 0 0 0 SetCFg
6449 %I cbg White
6450 1 1 1 SetCBg
6451 none SetP %I p n
6452 %I t
6453 [ 0.5 -0 -0 0.5 174 494 ] concat
6454 %I
6455 100 84 116 100 Line
6456 %I 2
6457 End
6458
6459 Begin %I Line
6460 %I b 65535
6461 2 0 0 [] 0 SetB
6462 %I cfg Black
6463 0 0 0 SetCFg
6464 %I cbg White
6465 1 1 1 SetCBg
6466 none SetP %I p n
6467 %I t
6468 [ 0.5 -0 -0 0.5 174 494 ] concat
6469 %I
6470 116 100 132 84 Line
6471 %I 2
6472 End
6473
6474 Begin %I Line
6475 %I b 65535
6476 2 0 0 [] 0 SetB
6477 %I cfg Black
6478 0 0 0 SetCFg
6479 %I cbg White
6480 1 1 1 SetCBg
6481 none SetP %I p n
6482 %I t
6483 [ 0.5 -0 -0 0.5 174 494 ] concat
6484 %I
6485 132 84 148 116 Line
6486 %I 2
6487 End
6488
6489 Begin %I Line
6490 %I b 65535
6491 2 0 0 [] 0 SetB
6492 %I cfg Black
6493 0 0 0 SetCFg
6494 %I cbg White
6495 1 1 1 SetCBg
6496 none SetP %I p n
6497 %I t
6498 [ 0.5 -0 -0 0.5 174 494 ] concat
6499 %I
6500 148 116 164 84 Line
6501 %I 2
6502 End
6503
6504 Begin %I Line
6505 %I b 65535
6506 2 0 0 [] 0 SetB
6507 %I cfg Black
6508 0 0 0 SetCFg
6509 %I cbg White
6510 1 1 1 SetCBg
6511 none SetP %I p n
6512 %I t
6513 [ 0.5 -0 -0 0.5 174 494 ] concat
6514 %I
6515 164 84 180 116 Line
6516 %I 2
6517 End
6518
6519 Begin %I Line
6520 %I b 65535
6521 2 0 0 [] 0 SetB
6522 %I cfg Black
6523 0 0 0 SetCFg
6524 %I cbg White
6525 1 1 1 SetCBg
6526 none SetP %I p n
6527 %I t
6528 [ 0.5 -0 -0 0.5 174 494 ] concat
6529 %I
6530 180 116 196 100 Line
6531 %I 2
6532 End
6533
6534 Begin %I Line
6535 %I b 65535
6536 2 0 0 [] 0 SetB
6537 %I cfg Black
6538 0 0 0 SetCFg
6539 %I cbg White
6540 1 1 1 SetCBg
6541 none SetP %I p n
6542 %I t
6543 [ 0.5 -0 -0 0.5 174 494 ] concat
6544 %I
6545 196 100 212 116 Line
6546 %I 2
6547 End
6548
6549 Begin %I Line
6550 %I b 65535
6551 2 0 0 [] 0 SetB
6552 %I cfg Black
6553 0 0 0 SetCFg
6554 %I cbg White
6555 1 1 1 SetCBg
6556 none SetP %I p n
6557 %I t
6558 [ 0.5 -0 -0 0.5 174 494 ] concat
6559 %I
6560 212 116 228 116 Line
6561 %I 2
6562 End
6563
6564 Begin %I Line
6565 %I b 65535
6566 2 0 0 [] 0 SetB
6567 %I cfg Black
6568 0 0 0 SetCFg
6569 %I cbg White
6570 1 1 1 SetCBg
6571 none SetP %I p n
6572 %I t
6573 [ 0.5 -0 -0 0.5 174 494 ] concat
6574 %I
6575 228 116 244 100 Line
6576 %I 2
6577 End
6578
6579 Begin %I Line
6580 %I b 65535
6581 2 0 0 [] 0 SetB
6582 %I cfg Black
6583 0 0 0 SetCFg
6584 %I cbg White
6585 1 1 1 SetCBg
6586 none SetP %I p n
6587 %I t
6588 [ 0.5 -0 -0 0.5 174 494 ] concat
6589 %I
6590 244 100 260 116 Line
6591 %I 2
6592 End
6593
6594 Begin %I Line
6595 %I b 65535
6596 2 0 0 [] 0 SetB
6597 %I cfg Black
6598 0 0 0 SetCFg
6599 %I cbg White
6600 1 1 1 SetCBg
6601 none SetP %I p n
6602 %I t
6603 [ 0.5 -0 -0 0.5 174 494 ] concat
6604 %I
6605 260 116 276 100 Line
6606 %I 2
6607 End
6608
6609 Begin %I Line
6610 %I b 65535
6611 2 0 0 [] 0 SetB
6612 %I cfg Black
6613 0 0 0 SetCFg
6614 %I cbg White
6615 1 1 1 SetCBg
6616 none SetP %I p n
6617 %I t
6618 [ 0.5 -0 -0 0.5 174 494 ] concat
6619 %I
6620 276 100 292 84 Line
6621 %I 2
6622 End
6623
6624 End %I eop
6625
6626 Begin %I Line
6627 %I b 65535
6628 2 0 0 [] 0 SetB
6629 %I cfg Black
6630 0 0 0 SetCFg
6631 %I cbg White
6632 1 1 1 SetCBg
6633 none SetP %I p n
6634 %I t
6635 [ 0.5 -0 -0 0.5 226 494 ] concat
6636 %I
6637 136 476 160 476 Line
6638 %I 2
6639 End
6640
6641 Begin %I Line
6642 %I b 65535
6643 2 0 0 [] 0 SetB
6644 %I cfg Black
6645 0 0 0 SetCFg
6646 %I cbg White
6647 1 1 1 SetCBg
6648 none SetP %I p n
6649 %I t
6650 [ 0.5 -0 -0 0.5 244 596 ] concat
6651 %I
6652 136 272 160 272 Line
6653 %I 2
6654 End
6655
6656 Begin %I Line
6657 %I b 65535
6658 2 0 0 [] 0 SetB
6659 %I cfg Black
6660 0 0 0 SetCFg
6661 %I cbg White
6662 1 1 1 SetCBg
6663 none SetP %I p n
6664 %I t
6665 [ 0.5 -0 -0 0.5 226 497 ] concat
6666 %I
6667 136 296 160 296 Line
6668 %I 2
6669 End
6670
6671 Begin %I Line
6672 %I b 65535
6673 2 0 0 [] 0 SetB
6674 %I cfg Black
6675 0 0 0 SetCFg
6676 %I cbg White
6677 1 1 1 SetCBg
6678 none SetP %I p n
6679 %I t
6680 [ 0.5 -0 -0 0.5 244 554 ] concat
6681 %I
6682 136 272 160 272 Line
6683 %I 2
6684 End
6685
6686 Begin %I Text
6687 %I cfg Black
6688 0 0 0 SetCFg
6689 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6690 Helvetica 12 SetF
6691 %I t
6692 [ 1 0 0 1 297 692 ] concat
6693 %I
6694 [
6695 (d)
6696 ] Text
6697 End
6698
6699 Begin %I Text
6700 %I cfg Black
6701 0 0 0 SetCFg
6702 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
6703 Helvetica 12 SetF
6704 %I t
6705 [ 1 0 0 1 313.5 716 ] concat
6706 %I
6707 [
6708 (d')
6709 ] Text
6710 End
6711
6712 Begin %I Line
6713 %I b 65535
6714 2 0 1 [] 0 SetB
6715 %I cfg Black
6716 0 0 0 SetCFg
6717 %I cbg White
6718 1 1 1 SetCBg
6719 none SetP %I p n
6720 %I t
6721 [ 0.5 -0 -0 0.5 200 494 ] concat
6722 %I
6723 200 374 200 308 Line
6724 %I 2
6725 End
6726
6727 Begin %I Line
6728 %I b 65535
6729 2 0 1 [] 0 SetB
6730 %I cfg Black
6731 0 0 0 SetCFg
6732 %I cbg White
6733 1 1 1 SetCBg
6734 none SetP %I p n
6735 %I t
6736 [ 0.5 -0 -0 0.5 200 494 ] concat
6737 %I
6738 200 404 200 470 Line
6739 %I 2
6740 End
6741
6742 Begin %I Line
6743 %I b 65535
6744 2 0 1 [] 0 SetB
6745 %I cfg Black
6746 0 0 0 SetCFg
6747 %I cbg White
6748 1 1 1 SetCBg
6749 none SetP %I p n
6750 %I t
6751 [ 0.5 -0 -0 0.5 200 494 ] concat
6752 %I
6753 236 452 236 470 Line
6754 %I 2
6755 End
6756
6757 Begin %I Line
6758 %I b 65535
6759 2 0 1 [] 0 SetB
6760 %I cfg Black
6761 0 0 0 SetCFg
6762 %I cbg White
6763 1 1 1 SetCBg
6764 none SetP %I p n
6765 %I t
6766 [ 0.5 -0 -0 0.5 200 494 ] concat
6767 %I
6768 236 422 236 398 Line
6769 %I 2
6770 End
6771
6772 Begin %I Text
6773 %I cfg Black
6774 0 0 0 SetCFg
6775 %I f -*-times-medium-r-normal-*-12-*-*-*-*-*-*-*
6776 Times-Roman 12 SetF
6777 %I t
6778 [ 1 0 0 1 367 609 ] concat
6779 %I
6780 [
6781 (YBWC*)
6782 ] Text
6783 End
6784
6785 End %I eop
6786
6787 showpage
6788
6789
6790 end
6791 %%EndDocument
6792
6793  endTexFig
6794  491 2628 a Fu(Figure)i(4:)30 b(Location)24 b(of)h(P)o(arallelism)f(in)
6795 g(T)-8 b(ypical)25 b(APHID)g(and)g(YBWC*)g(Search)0 2915
6796 y(dently)j(of)g(each)h(other)-5 b(.)41 b(Figure)29 b(3)f(gi)n(v)o(es)f
6797 (an)i(e)o(xample)f(of)g(ho)n(w)g(the)g(tree)h(w)o(ould)f(be)g(di)n
6798 (vided)f(by)h(the)h(APHID)0 3114 y(algorithm.)g(The)23
6799 b(\002gure)h(sho)n(ws)e(us)i(a)f(single-le)n(v)o(el)f(master/sla)n(v)o
6800 (e)g(hierarchy)h(\(multiple)f(le)n(v)o(els)g(are)i(possible\).)0
6801 3314 y(The)k(master)g(process)h(controls)e(the)h(top)g
6802 Fq(d)1511 3278 y Fp(0)1563 3314 y Fu(ply)f(of)i(the)f(game)g(tree,)h
6803 (including)e(the)h(root.)41 b(The)29 b(lea)n(v)o(es)f(of)g(the)0
6804 3513 y(master')-5 b(s)28 b Fq(d)412 3477 y Fp(0)435 3513
6805 y Fu(-ply)h(tree)h(are)g(the)f(pieces)g(of)h(w)o(ork)f(that)g(each)h
6806 (sla)n(v)o(e)e(process)h(e)o(xamines.)43 b(Each)30 b(of)f(the)g
6807 Fq(k)k Fu(sla)n(v)o(e)0 3712 y(processes)c(gets)g(a)g(portion)f(of)h
6808 (the)g(master')-5 b(s)28 b(lea)n(v)o(es)h(to)g(search,)h(implicitly)d
6809 (di)n(viding)g(the)i(remainder)g(of)g(the)0 3912 y(tree)d(as)g(sho)n
6810 (wn)e(in)h(Figure)h(3.)33 b(Note)25 b(that)g(the)g(diagram)h(is)f
6811 (partially)f(misleading)g(in)h(that,)h(for)f(load)h(balancing)0
6812 4111 y(purposes,)e(a)h(sla)n(v)o(e')-5 b(s)24 b(pieces)h(of)f(w)o(ork)h
6813 (are)h(actually)e(distrib)n(uted)f(across)i(the)g(bottom)e(of)i(the)f
6814 (master')-5 b(s)24 b(tree.)146 4310 y(It)31 b(is)g(interesting)f(to)h
6815 (compare)g(APHID)h(against)e(a)h(synchronous)f(parallel)h(algorithm.)49
6816 b(Figure)31 b(4)g(illus-)0 4509 y(trates)22 b(graphically)f(where)i(w)o
6817 (ork)f(is)f(allocated)h(o)o(v)o(er)f(the)h(course)g(of)h(a)f(typical)f
6818 (APHID)i(and)f(YBWC*)h(search.)0 4709 y(Each)g(location)f(mark)o(ed)h
6819 (with)f(an)h Fb(x)f Fu(sho)n(ws)g(where)h(the)g(parallelism)e
6820 (typically)h(tak)o(es)h(place.)30 b(Although)21 b(more)0
6821 4908 y(parallelism)j(could)g(be)h(generated)h(in)e(YBWC*,)i(one)f(must)
6822 f(be)h(careful)h(because)f(each)h Fb(x)e Fu(along)h(the)g(left)g(side)0
6823 5107 y(of)j(the)g(YBWC*)h(tree)f(represents)g(a)h(global)e
6824 (synchronization)f(point,)i(and)g(the)g(rest)g(are)h(local)e
6825 (synchroniza-)0 5306 y(tion)d(points.)1925 5589 y(8)p
6826 eop
6827 %%Page: 9 12
6828 9 11 bop 146 100 a Fu(In)23 b(APHID,)g(the)g(master)g(process)f(mak)o
6829 (es)h(repeated)g(searches)g(or)g Fm(passes)f Fu(o)o(v)o(er)g(its)g
6830 (part)h(of)g(the)g(game)f(tree.)0 299 y(The)k(master')-5
6831 b(s)25 b(tree)i(is)f(small)f(and)h(is)f(quickly)g(searched.)35
6832 b(The)27 b(master)e(is)h(responsible)f(for)h(ensuring)g(that)f(the)0
6833 498 y(sla)n(v)o(es)h(determine)g(all)g(of)g(the)h(minimax)e(v)n(alues)g
6834 (required)i(to)f(get)g(a)h Fq(d)p Fu(-ply)f Fq(\013)q(\014)32
6835 b Fu(search)27 b(of)f(the)h(full)f(game)g(tree)0 697
6836 y(\002nished,)h(after)g(which)g(it)f(proceeds,)h(via)g(iterati)n(v)o(e)
6837 e(deepening,)i(to)f(the)h(ne)o(xt)f(search)h(depth)f(repeatedly)h
6838 (until)0 897 y(the)e(time)f(limit)f(e)o(xpires.)146 1096
6839 y(Each)28 b(sla)n(v)o(e)e(searches)h(its)f(pieces)h(of)g(w)o(ork)g
6840 Fl(\()p Fq(d)d Fk(\000)g Fq(d)1968 1060 y Fp(0)1991 1096
6841 y Fl(\))j Fu(plies)f(deep,)i(plus)e(an)o(y)g(search)i(e)o(xtensions)d
6842 (that)h(the)0 1295 y(master)j(requires.)45 b(If)30 b(APHID)g(were)g(a)g
6843 (synchronous)e(algorithm,)h(the)g(sla)n(v)o(es)g(w)o(ould)f(\002nish)h
6844 (their)h(w)o(ork)f(for)0 1494 y(the)23 b(master')-5 b(s)23
6845 b(depth)g Fq(d)g Fu(iteration,)f(and)i(then)f(w)o(ait)g(for)g(the)h(ne)
6846 o(xt)e(iteration)h(\()p Fq(d)16 b Fl(+)h(1)p Fu(\))24
6847 b(to)f(be)o(gin.)29 b(APHID')-5 b(s)23 b(sla)n(v)o(es)0
6848 1694 y(do)g(not)h(sit)f(idle)g(w)o(aiting.)29 b(Instead,)24
6849 b(the)o(y)f(use)g(iterati)n(v)o(e)f(deepening)i(to)f(search)h(their)g
6850 (w)o(ork)f(lists)g(an)g(additional)0 1893 y(ply)30 b(deeper)h(\(and)f
6851 (be)o(yond,)h(if)f(there)h(is)f(time\))f(without)g(con\002rmation)h
6852 (from)g(the)g(master)-5 b(.)47 b(Thus,)31 b(the)f(sla)n(v)o(es)0
6853 2092 y(attempt)c(to)h(determine)f(minimax)g(v)n(alues)g(that)h(may)f
6854 (be)i(necessary)-6 b(,)27 b(in)g(anticipation)e(of)j(the)e(master)h
6855 (process)0 2291 y(asking)g(for)h(them.)38 b(The)27 b(sla)n(v)o(es)g
6856 (continue)g(searching)g(until)f(the)i(master)f(signals)f(that)h(the)h
6857 (search)g(at)f(the)h(root)0 2491 y(of)d(the)g(tree)g(has)f(been)h
6858 (terminated.)146 2690 y(By)39 b(partitioning)d(the)i(tree)h(in)f(this)f
6859 (manner)l(,)k(APHID')-5 b(s)38 b(performance)h(does)f(not)g(rely)g(on)g
6860 (the)g(imple-)0 2889 y(mentation)c(of)h(a)g(global)g(shared)g(memory)f
6861 (or)h(a)h(f)o(ast)f(interconnection)f(netw)o(ork)g(between)h(the)g
6862 (processes.)0 3088 y(This)25 b(mak)o(es)g(the)g(APHID)h(algorithm)e
6863 (suitable)h(for)h(loosely-coupled)e(architectures)h(\(such)h(as)f(a)h
6864 (netw)o(ork)f(of)0 3288 y(w)o(orkstations\),)e(as)i(well)g(as)f
6865 (tightly-coupled)f(architectures.)146 3487 y(This)37
6866 b(section)f(contains)g(a)i(description)e(of)h(the)g(master)g(process)g
6867 (\(Section)g(3.1\),)j(the)d(sla)n(v)o(e)f(processes)0
6868 3686 y(\(Section)g(3.3\),)i(and)d(the)h(APHID)g(table)f(through)g
6869 (which)g(the)h(master)f(and)g(sla)n(v)o(e)g(communicate)g(\(Section)0
6870 3885 y(3.2\).)29 b(Balancing)19 b(the)h(w)o(ork)f(load)h(between)f(the)
6871 h(sla)n(v)o(es)e(is)h(discussed)g(in)g(Section)h(3.4.)28
6872 b(The)20 b(interf)o(ace)g(between)0 4085 y(APHID)25 b(and)g(the)g
6873 (application)e(is)i(described)f(in)h(Section)g(3.5.)0
6874 4380 y Fg(3.1)119 b(The)30 b(APHID)g(Master)0 4646 y
6875 Fu(The)i(master)f(is)g(responsible)f(for)i(ensuring)f(that)g(the)h
6876 (result)f(of)g(a)h Fq(d)p Fu(-ply)f(search)h(is)f(obtained.)51
6877 b(The)31 b(amount)0 4846 y(of)c(w)o(ork)g(retained)g(by)f(the)h(master)
6878 l(,)g Fq(d)1329 4809 y Fp(0)1379 4846 y Fu(ply)-6 b(,)27
6879 b(is)f(automatically)g(determined)g(based)h(on)f(the)h(characteristics)
6880 g(of)0 5045 y(the)f(search)g(tree)g(generated)h(for)f(the)g(root)f
6881 (position)f(and)i(domain-dependent)f(information)f(pro)o(vided)h(by)g
6882 (the)0 5244 y(user)-5 b(.)30 b(Further)25 b(details)g(on)f(the)h
6883 (automatic)f(determination)f(of)i Fq(d)2246 5208 y Fp(0)2294
6884 5244 y Fu(can)g(be)g(found)f(else)n(where)h([2].)1925
6885 5589 y(9)p eop
6886 %%Page: 10 13
6887 10 12 bop 146 100 a Fu(APHID)26 b(completes)d(a)j Fq(d)p
6888 Fu(-ply)e Fq(\013)q(\014)30 b Fu(search)25 b(by)g(repeating)f(the)h
6889 (follo)n(wing)e(steps:)120 407 y(1.)49 b(Ex)o(ecute)37
6890 b(a)h(quick)f(search)h(\(or)g Fm(pass)p Fu(\))f(of)h(the)f
6891 Fq(d)1967 371 y Fp(0)1990 407 y Fu(-ply)g(tree)h(using)f(the)g
6892 (application')-5 b(s)36 b(sequential)h Fq(\013)q(\014)244
6893 606 y Fu(algorithm)23 b(\(where)j Fq(d)1009 570 y Fp(0)1059
6894 606 y Fq(<)i(d)p Fu(\),)d(aided)f(by)h(a)g(transposition)e(table)h
6895 (\(if)h(a)n(v)n(ailable\).)120 888 y(2.)49 b(If)25 b(the)g(search)g
6896 (returns)g(an)g(accurate)g Fq(d)p Fu(-ply)f(v)n(alue,)h(then)f(e)o(xit)
6897 g(the)h(loop.)120 1171 y(3.)49 b(Based)24 b(on)g(the)f(leaf)h(nodes)f
6898 (visited)g(during)g(this)f(pass,)i(report)g(an)o(y)f(changes)g(to)h
6899 (the)f(sla)n(v)o(es')g(w)o(ork)g(lists.)120 1453 y(4.)49
6900 b(W)-8 b(ait)24 b(for)i(ne)n(w)e(information)f(from)i(a)g(sla)n(v)o(e)f
6901 (process.)120 1735 y(5.)49 b(Go)25 b(to)f(step)g(1.)146
6902 2042 y(The)32 b Fq(d)384 2006 y Fp(0)407 2042 y Fu(-ply)g(tree)h(is)e
6903 (not)h(k)o(ept)g(in)f(memory)-6 b(.)51 b(Thus,)34 b(on)d(each)i(pass)f
6904 (the)g(tree)g(is)g(tra)n(v)o(ersed)g(to)g(determine)0
6905 2242 y(an)o(y)g(changes)g(to)f(the)h(w)o(ork)g(required.)53
6906 b(The)32 b(tree)g(is)g(re)o(generated)g(on)g(each)h(pass)f(by)f(the)h
6907 (application')-5 b(s)31 b Fq(\013)q(\014)0 2441 y Fu(algorithm)23
6908 b(and)i(transposition)e(table.)30 b(Since)c Fq(d)1668
6909 2405 y Fp(0)1715 2441 y Fu(is)f(usually)e(small,)h(the)h(cost)f(of)h(a)
6910 g(pass)g(is)f(also)g(small.)146 2640 y(During)e(a)g(pass,)g(when)g(the)
6911 g(master)f(reaches)i(a)f(leaf)h(of)f(the)f Fq(d)2263
6912 2604 y Fp(0)2286 2640 y Fu(-ply)h(tree,)h(an)f(e)n(v)n(aluation)e(of)i
6913 (that)g(node)f(must)0 2839 y(be)h(done.)29 b(If)22 b(the)f(subtree)g
6914 (underneath)g(that)g(node)g(\()p Fq(d)9 b Fk(\000)g Fq(d)1984
6915 2803 y Fp(0)2008 2839 y Fu(\))22 b(is)f(smaller)f(than)h
6916 Fq(g)k Fu(ply)c(\(the)g Fm(minimum)g(gr)o(anularity)0
6917 3039 y Fu(for)j(a)h(piece)f(of)h(parallel)f(w)o(ork\),)g(then)g(the)g
6918 (master)f(searches)i(the)f(remaining)f(\()p Fq(d)d Fk(\000)g
6919 Fq(d)2979 3002 y Fp(0)3002 3039 y Fu(\))k(ply)g(itself.)30
6920 b(Otherwise,)0 3238 y(the)25 b(node)f(is)h(assigned)f(to)g(a)h(sla)n(v)
6921 o(e)f(processor)-5 b(.)146 3437 y(Assuming)32 b(that)h(the)h(master)f
6922 (does)g(not)g(search)h(the)f(tree)h(underneath)g(a)g(gi)n(v)o(en)e
6923 (node)h(\()p Fq(g)47 b Fk(\024)e Fl(\()p Fq(d)28 b Fk(\000)h
6924 Fq(d)3781 3401 y Fp(0)3804 3437 y Fl(\))p Fu(\),)0 3636
6925 y(APHID)c(must)f(determine)h(a)g(v)n(alue)f(with)g(respect)i(to)e(the)h
6926 Fq(\013)q(\014)30 b Fu(search)c(windo)n(w)d(at)i(that)g(node)f(without)
6927 g(further)0 3836 y(search.)60 b(F)o(or)35 b(e)o(xample,)h(an)f
6928 Fq(\013)q(\014)40 b Fu(search)35 b(windo)n(w)e(of)h(\(0,5\))h(says)f
6929 (that)g(the)h Fq(\013)q(\014)k Fu(algorithm)33 b(needs)i(to)f(kno)n(w)0
6930 4035 y(whether)e(the)g(node')-5 b(s)32 b(minimax)e(v)n(alue)i(is)g
6931 Fk(\024)42 b Fl(0)p Fu(,)34 b Fk(\025)42 b Fl(5)p Fu(,)34
6932 b(or)e(the)g(e)o(xact)g(v)n(alue)g(if)g(it)g(lies)g(in)g(between)g(0)g
6933 (and)g(5.)0 4234 y(W)l(ithout)23 b(kno)n(wing)h(which)g(case)h(is)g
6934 (correct,)g(the)g Fq(\013)q(\014)30 b Fu(search)25 b(may)g(gi)n(v)o(e)e
6935 (inaccurate)i(results.)146 4433 y(If)34 b(the)e(sla)n(v)o(e)h(has)f
6936 (already)h(gi)n(v)o(en)f(the)g(master)h(a)g Fl(\()p Fq(d)28
6937 b Fk(\000)h Fq(d)2181 4397 y Fp(0)2204 4433 y Fl(\))p
6938 Fu(-ply)j(search)h(result,)i(that)d(v)n(alue)g(is)h(used.)3740
6939 4397 y Fn(4)3834 4433 y Fu(If)0 4633 y(the)25 b Fl(\()p
6940 Fq(d)d Fk(\000)h Fq(d)409 4596 y Fp(0)432 4633 y Fl(\))p
6941 Fu(-ply)i(result)g(is)g(una)n(v)n(ailable)f(because)h(the)h(sla)n(v)o
6942 (e)e(has)h(not)g(reached)h(that)f(depth)g(of)g(search,)h(or)f(the)0
6943 4832 y Fl(\()p Fq(d)e Fk(\000)h Fq(d)264 4796 y Fp(0)287
6944 4832 y Fl(\))p Fu(-ply)h(result)h(has)g(returned)h(a)f(bound)g(that)g
6945 (yields)f(insuf)n(\002cient)g(information)g(on)h(the)g(minimax)f(v)n
6946 (alue)0 5031 y(with)31 b(respect)i(to)f(the)g Fq(\013)q(\014)37
6947 b Fu(search)c(windo)n(w)-6 b(,)32 b(then)g(the)g(algorithm)e(guesses)i
6948 (at)g(the)g(minimax)f(v)n(alue.)52 b(Going)p 0 5121 1560
6949 4 v 112 5182 a Fj(4)149 5212 y Fi(In)30 b(the)g(implementations)f
6950 (presented)f(here,)k(the)e(deeper)f(ply)h(v)n(alues)g(are)g(not)f(used)
6951 h(e)n(v)o(en)f(if)i(the)o(y)e(are)h(a)n(v)n(ailable.)54
6952 b(This)31 b(is)0 5312 y(discussed)20 b(in)g(Section)g(4.)1900
6953 5589 y Fu(10)p eop
6954 %%Page: 11 14
6955 11 13 bop 0 100 a Fu(back)36 b(to)f(our)h(earlier)g(e)o(xample,)i(a)e
6956 (v)n(alue)f(of)h Fk(\024)49 b Fl(10)35 b Fu(does)g(not)h(yield)f
6957 (useful)g(information)f(at)i(a)g(node)g(with)0 299 y(an)d
6958 Fq(\013)q(\014)39 b Fu(search)33 b(windo)n(w)f(of)h(\(0,5\),)i(hence)f
6959 (a)f(guessed)g(v)n(alue)f(for)h(this)f(node)h(w)o(ould)g(be)g(used)f
6960 (until)g(a)i(sla)n(v)o(e)0 498 y(could)24 b(return)h(better)f
6961 (information.)30 b(An)o(y)23 b(node)i(where)g(APHID)g(has)g(to)f(guess)
6962 g(at)h(the)f(v)n(alue)g(is)h(mark)o(ed)f(as)h(an)0 697
6963 y Fm(uncertain)f Fu(node.)146 897 y(F)o(or)j(uncertain)g(nodes,)g
6964 (information)e(gathered)i(from)g(both)f(pre)n(vious)f(searches)j(and)f
6965 (the)f(current)i(search)0 1096 y(is)23 b(used)g(to)f(determine)h(a)h
6966 (guessed)e(v)n(alue.)30 b(The)23 b(guessed)g(v)n(alue)f(is)h(chosen)g
6967 (so)g(that)f(it)h(will)f(not)h(alter)g(the)g(shape)0
6968 1295 y(or)e(ordering)g(of)h(mo)o(v)o(es)d(within)h(the)h(game)g(tree)g
6969 (until)f(ne)n(w)h(information)f(is)h(recei)n(v)o(ed)g(from)g(a)g(sla)n
6970 (v)o(e)g(processor)-5 b(.)0 1494 y(Details)24 b(of)h(the)g(guessed)f
6971 (score)h(algorithm)e(are)j(pro)o(vided)e(in)g(Appendix)g(A.)146
6972 1694 y(As)c(minimax)f(v)n(alues)g(get)i(back)o(ed)f(up)g(the)g
6973 Fq(d)1681 1657 y Fp(0)1704 1694 y Fu(-ply)g(tree)h(during)e(the)h
6974 (search,)i(the)e(master)g(maintains)f(a)i(count)0 1893
6975 y(of)26 b(ho)n(w)f(man)o(y)g(uncertain)h(nodes)f(ha)n(v)o(e)h(been)g(e)
6976 n(v)n(aluated.)33 b(When)26 b(the)g(master)g(has)g(no)f(uncertain)h(e)n
6977 (v)n(aluations)0 2092 y(in)e(its)g Fq(d)272 2056 y Fp(0)295
6978 2092 y Fu(-ply)h(tree,)g(the)g(v)n(alue)f(of)h(the)f(complete)h
6979 Fq(d)p Fu(-ply)f(tree)h(is)f(accurate,)i(and)f(APHID)g(e)o(xits)f(the)g
6980 (loop.)146 2291 y(Sometimes,)f(the)g Fl(\()p Fq(d)17
6981 b Fk(\000)g Fq(d)1034 2255 y Fp(0)1056 2291 y Fl(\))p
6982 Fu(-ply)23 b(result)g(may)g(be)g(insuf)n(\002cient)f(for)i(the)f
6983 (master)g(to)g(determine)g(the)g(minimax)0 2491 y(v)n(alue.)47
6984 b(A)30 b(further)h(search)g(at)f(the)h(same)f(depth,)h(with)f(a)g(dif)n
6985 (ferent)g(search)h(windo)n(w)-6 b(,)30 b(is)g(required)h(when)f(this)0
6986 2690 y(happens.)k(The)26 b(master)f(sends)h(a)g(message)g(to)f(the)h
6987 (sla)n(v)o(e)g(responsible)e(for)j(searching)f(the)f(node)h(that)g(it)f
6988 (needs)0 2889 y(to)31 b(re-e)o(x)o(ecute)g(the)h(search)g(with)e(a)i
6989 (re)n(vised)f(search)h(windo)n(w)-6 b(.)49 b(The)31 b(sla)n(v)o(e)g
6990 (will)g(e)n(v)o(entually)e(return)j(updated)0 3088 y(information)23
6991 b(that)g(is)h(consistent)e(with)i(both)f(the)h(original)f(information)f
6992 (and)i(the)g(search)h(windo)n(w)d(requested.)146 3288
6993 y(APHID)e(solv)o(es)e(one)h(of)g(the)g(problems)f(that)h(synchronous)f
6994 (algorithms)f(ha)n(v)o(e)i(with)f(respect)h(to)g(initializing)0
6995 3487 y(parallelism)33 b(incorrectly)h(at)g(a)g(potential)f(CUT)h(node.)
6996 58 b(Most)33 b(synchronous)g(algorithms)f(use)i(application-)0
6997 3686 y(dependent)j(information)g(to)g(determine)h(when)g(to)f(initiate)
6998 g(parallelism.)69 b(By)38 b(using)f(the)h(guessed)f(scores)0
6999 3885 y(when)d(accurate)h(information)d(is)h(not)h(a)n(v)n(ailable,)h
7000 (the)f(APHID)g(algorithm)e(automatically)h(determines)g(if)h(a)0
7001 4085 y(subsequent)26 b(child)h(is)g(lik)o(ely)g(to)g(generate)h(a)g
7002 (cut-of)n(f)g(at)f(a)h(f)o(ailed)g(CUT)g(node.)38 b(Nodes)28
7003 b(which)f(are)h(pruned)f(by)0 4284 y(the)f(master)l(,)g(using)f(either)
7004 h(real)g(or)g(guessed)g(scores,)g(are)h(not)e(searched)i(by)f(the)f
7005 (sla)n(v)o(es.)34 b(If)26 b(it)g(seems)f(unlik)o(ely)0
7006 4483 y(that)g(the)f(node)h(will)f(be)h(pruned)g(\(e.g.)31
7007 b(due)25 b(to)g(lo)n(w)f(real/guessed)h(v)n(alues\),)f(then)g(all)h
7008 (children)g(are)g(visited)f(and)0 4682 y(the)e(w)o(ork)h(w)o(ould)e(be)
7009 i(initiated)e(in)h(parallel.)30 b(This)22 b(is)g(all)g(handled)g
7010 (implicitly)e(in)i(an)h(application-independent)0 4882
7011 y(w)o(ay)i(by)f(the)h Fq(\013)q(\014)30 b Fu(routine.)1900
7012 5589 y(11)p eop
7013 %%Page: 12 15
7014 12 14 bop 978 0 a
7015  15345564 14208860 8420065 17234821 28417720 35653713 startTexFig
7016  978 0 a
7017 %%BeginDocument: pics/aphid-snapshot.ps
7018
7019 /arrowHeight 10 def
7020 /arrowWidth 5 def
7021
7022 /IdrawDict 51 dict def
7023 IdrawDict begin
7024
7025 /reencodeISO {
7026 dup dup findfont dup length dict begin
7027 { 1 index /FID ne { def }{ pop pop } ifelse } forall
7028 /Encoding ISOLatin1Encoding def
7029 currentdict end definefont
7030 } def
7031
7032 /ISOLatin1Encoding [
7033 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7034 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7035 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7036 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7037 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
7038 /parenleft/parenright/asterisk/plus/comma/minus/period/slash
7039 /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
7040 /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
7041 /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
7042 /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
7043 /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
7044 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7045 /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7046 /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
7047 /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
7048 /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
7049 /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
7050 /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
7051 /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
7052 /guillemotright/onequarter/onehalf/threequarters/questiondown
7053 /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
7054 /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
7055 /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
7056 /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
7057 /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
7058 /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
7059 /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
7060 /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
7061 /yacute/thorn/ydieresis
7062 ] def
7063 /Helvetica reencodeISO def
7064
7065 /none null def
7066 /numGraphicParameters 17 def
7067 /stringLimit 65535 def
7068
7069 /Begin {
7070 save
7071 numGraphicParameters dict begin
7072 } def
7073
7074 /End {
7075 end
7076 restore
7077 } def
7078
7079 /SetB {
7080 dup type /nulltype eq {
7081 pop
7082 false /brushRightArrow idef
7083 false /brushLeftArrow idef
7084 true /brushNone idef
7085 } {
7086 /brushDashOffset idef
7087 /brushDashArray idef
7088 0 ne /brushRightArrow idef
7089 0 ne /brushLeftArrow idef
7090 /brushWidth idef
7091 false /brushNone idef
7092 } ifelse
7093 } def
7094
7095 /SetCFg {
7096 /fgblue idef
7097 /fggreen idef
7098 /fgred idef
7099 } def
7100
7101 /SetCBg {
7102 /bgblue idef
7103 /bggreen idef
7104 /bgred idef
7105 } def
7106
7107 /SetF {
7108 /printSize idef
7109 /printFont idef
7110 } def
7111
7112 /SetP {
7113 dup type /nulltype eq {
7114 pop true /patternNone idef
7115 } {
7116 dup -1 eq {
7117 /patternGrayLevel idef
7118 /patternString idef
7119 } {
7120 /patternGrayLevel idef
7121 } ifelse
7122 false /patternNone idef
7123 } ifelse
7124 } def
7125
7126 /BSpl {
7127 0 begin
7128 storexyn
7129 newpath
7130 n 1 gt {
7131 0 0 0 0 0 0 1 1 true subspline
7132 n 2 gt {
7133 0 0 0 0 1 1 2 2 false subspline
7134 1 1 n 3 sub {
7135 /i exch def
7136 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
7137 } for
7138 n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
7139 } if
7140 n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
7141 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
7142 brushNone not { istroke } if
7143 0 0 1 1 leftarrow
7144 n 2 sub dup n 1 sub dup rightarrow
7145 } if
7146 end
7147 } dup 0 4 dict put def
7148
7149 /Circ {
7150 newpath
7151 0 360 arc
7152 patternNone not { ifill } if
7153 brushNone not { istroke } if
7154 } def
7155
7156 /CBSpl {
7157 0 begin
7158 dup 2 gt {
7159 storexyn
7160 newpath
7161 n 1 sub dup 0 0 1 1 2 2 true subspline
7162 1 1 n 3 sub {
7163 /i exch def
7164 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
7165 } for
7166 n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
7167 n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
7168 patternNone not { ifill } if
7169 brushNone not { istroke } if
7170 } {
7171 Poly
7172 } ifelse
7173 end
7174 } dup 0 4 dict put def
7175
7176 /Elli {
7177 0 begin
7178 newpath
7179 4 2 roll
7180 translate
7181 scale
7182 0 0 1 0 360 arc
7183 patternNone not { ifill } if
7184 brushNone not { istroke } if
7185 end
7186 } dup 0 1 dict put def
7187
7188 /Line {
7189 0 begin
7190 2 storexyn
7191 newpath
7192 x 0 get y 0 get moveto
7193 x 1 get y 1 get lineto
7194 brushNone not { istroke } if
7195 0 0 1 1 leftarrow
7196 0 0 1 1 rightarrow
7197 end
7198 } dup 0 4 dict put def
7199
7200 /MLine {
7201 0 begin
7202 storexyn
7203 newpath
7204 n 1 gt {
7205 x 0 get y 0 get moveto
7206 1 1 n 1 sub {
7207 /i exch def
7208 x i get y i get lineto
7209 } for
7210 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
7211 brushNone not { istroke } if
7212 0 0 1 1 leftarrow
7213 n 2 sub dup n 1 sub dup rightarrow
7214 } if
7215 end
7216 } dup 0 4 dict put def
7217
7218 /Poly {
7219 3 1 roll
7220 newpath
7221 moveto
7222 -1 add
7223 { lineto } repeat
7224 closepath
7225 patternNone not { ifill } if
7226 brushNone not { istroke } if
7227 } def
7228
7229 /Rect {
7230 0 begin
7231 /t exch def
7232 /r exch def
7233 /b exch def
7234 /l exch def
7235 newpath
7236 l b moveto
7237 l t lineto
7238 r t lineto
7239 r b lineto
7240 closepath
7241 patternNone not { ifill } if
7242 brushNone not { istroke } if
7243 end
7244 } dup 0 4 dict put def
7245
7246 /Text {
7247 ishow
7248 } def
7249
7250 /idef {
7251 dup where { pop pop pop } { exch def } ifelse
7252 } def
7253
7254 /ifill {
7255 0 begin
7256 gsave
7257 patternGrayLevel -1 ne {
7258 fgred bgred fgred sub patternGrayLevel mul add
7259 fggreen bggreen fggreen sub patternGrayLevel mul add
7260 fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
7261 eofill
7262 } {
7263 eoclip
7264 originalCTM setmatrix
7265 pathbbox /t exch def /r exch def /b exch def /l exch def
7266 /w r l sub ceiling cvi def
7267 /h t b sub ceiling cvi def
7268 /imageByteWidth w 8 div ceiling cvi def
7269 /imageHeight h def
7270 bgred bggreen bgblue setrgbcolor
7271 eofill
7272 fgred fggreen fgblue setrgbcolor
7273 w 0 gt h 0 gt and {
7274 l b translate w h scale
7275 w h true [w 0 0 h neg 0 h] { patternproc } imagemask
7276 } if
7277 } ifelse
7278 grestore
7279 end
7280 } dup 0 8 dict put def
7281
7282 /istroke {
7283 gsave
7284 brushDashOffset -1 eq {
7285 [] 0 setdash
7286 1 setgray
7287 } {
7288 brushDashArray brushDashOffset setdash
7289 fgred fggreen fgblue setrgbcolor
7290 } ifelse
7291 brushWidth setlinewidth
7292 originalCTM setmatrix
7293 stroke
7294 grestore
7295 } def
7296
7297 /ishow {
7298 0 begin
7299 gsave
7300 fgred fggreen fgblue setrgbcolor
7301 /fontDict printFont printSize scalefont dup setfont def
7302 /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
7303 transform exch pop def
7304 /vertoffset 1 printSize sub descender sub def {
7305 0 vertoffset moveto show
7306 /vertoffset vertoffset printSize sub def
7307 } forall
7308 grestore
7309 end
7310 } dup 0 3 dict put def
7311 /patternproc {
7312 0 begin
7313 /patternByteLength patternString length def
7314 /patternHeight patternByteLength 8 mul sqrt cvi def
7315 /patternWidth patternHeight def
7316 /patternByteWidth patternWidth 8 idiv def
7317 /imageByteMaxLength imageByteWidth imageHeight mul
7318 stringLimit patternByteWidth sub min def
7319 /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
7320 patternHeight mul patternHeight max def
7321 /imageHeight imageHeight imageMaxHeight sub store
7322 /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
7323 0 1 imageMaxHeight 1 sub {
7324 /y exch def
7325 /patternRow y patternByteWidth mul patternByteLength mod def
7326 /patternRowString patternString patternRow patternByteWidth getinterval def
7327 /imageRow y imageByteWidth mul def
7328 0 patternByteWidth imageByteWidth 1 sub {
7329 /x exch def
7330 imageString imageRow x add patternRowString putinterval
7331 } for
7332 } for
7333 imageString
7334 end
7335 } dup 0 12 dict put def
7336
7337 /min {
7338 dup 3 2 roll dup 4 3 roll lt { exch } if pop
7339 } def
7340
7341 /max {
7342 dup 3 2 roll dup 4 3 roll gt { exch } if pop
7343 } def
7344
7345 /midpoint {
7346 0 begin
7347 /y1 exch def
7348 /x1 exch def
7349 /y0 exch def
7350 /x0 exch def
7351 x0 x1 add 2 div
7352 y0 y1 add 2 div
7353 end
7354 } dup 0 4 dict put def
7355
7356 /thirdpoint {
7357 0 begin
7358 /y1 exch def
7359 /x1 exch def
7360 /y0 exch def
7361 /x0 exch def
7362 x0 2 mul x1 add 3 div
7363 y0 2 mul y1 add 3 div
7364 end
7365 } dup 0 4 dict put def
7366
7367 /subspline {
7368 0 begin
7369 /movetoNeeded exch def
7370 y exch get /y3 exch def
7371 x exch get /x3 exch def
7372 y exch get /y2 exch def
7373 x exch get /x2 exch def
7374 y exch get /y1 exch def
7375 x exch get /x1 exch def
7376 y exch get /y0 exch def
7377 x exch get /x0 exch def
7378 x1 y1 x2 y2 thirdpoint
7379 /p1y exch def
7380 /p1x exch def
7381 x2 y2 x1 y1 thirdpoint
7382 /p2y exch def
7383 /p2x exch def
7384 x1 y1 x0 y0 thirdpoint
7385 p1x p1y midpoint
7386 /p0y exch def
7387 /p0x exch def
7388 x2 y2 x3 y3 thirdpoint
7389 p2x p2y midpoint
7390 /p3y exch def
7391 /p3x exch def
7392 movetoNeeded { p0x p0y moveto } if
7393 p1x p1y p2x p2y p3x p3y curveto
7394 end
7395 } dup 0 17 dict put def
7396
7397 /storexyn {
7398 /n exch def
7399 /y n array def
7400 /x n array def
7401 n 1 sub -1 0 {
7402 /i exch def
7403 y i 3 2 roll put
7404 x i 3 2 roll put
7405 } for
7406 } def
7407
7408 /SSten {
7409 fgred fggreen fgblue setrgbcolor
7410 dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
7411 } def
7412
7413 /FSten {
7414 dup 3 -1 roll dup 4 1 roll exch
7415 newpath
7416 0 0 moveto
7417 dup 0 exch lineto
7418 exch dup 3 1 roll exch lineto
7419 0 lineto
7420 closepath
7421 bgred bggreen bgblue setrgbcolor
7422 eofill
7423 SSten
7424 } def
7425
7426 /Rast {
7427 exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
7428 } def
7429
7430
7431 /arrowhead {
7432 0 begin
7433 transform originalCTM itransform
7434 /taily exch def
7435 /tailx exch def
7436 transform originalCTM itransform
7437 /tipy exch def
7438 /tipx exch def
7439 /dy tipy taily sub def
7440 /dx tipx tailx sub def
7441 /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
7442 gsave
7443 originalCTM setmatrix
7444 tipx tipy translate
7445 angle rotate
7446 newpath
7447 arrowHeight neg arrowWidth 2 div moveto
7448 0 0 lineto
7449 arrowHeight neg arrowWidth 2 div neg lineto
7450 patternNone not {
7451 originalCTM setmatrix
7452 /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
7453 arrowWidth div def
7454 /padtail brushWidth 2 div def
7455 tipx tipy translate
7456 angle rotate
7457 padtip 0 translate
7458 arrowHeight padtip add padtail add arrowHeight div dup scale
7459 arrowheadpath
7460 ifill
7461 } if
7462 brushNone not {
7463 originalCTM setmatrix
7464 tipx tipy translate
7465 angle rotate
7466 arrowheadpath
7467 istroke
7468 } if
7469 grestore
7470 end
7471 } dup 0 9 dict put def
7472
7473 /arrowheadpath {
7474 newpath
7475 arrowHeight neg arrowWidth 2 div moveto
7476 0 0 lineto
7477 arrowHeight neg arrowWidth 2 div neg lineto
7478 } def
7479
7480 /leftarrow {
7481 0 begin
7482 y exch get /taily exch def
7483 x exch get /tailx exch def
7484 y exch get /tipy exch def
7485 x exch get /tipx exch def
7486 brushLeftArrow { tipx tipy tailx taily arrowhead } if
7487 end
7488 } dup 0 4 dict put def
7489
7490 /rightarrow {
7491 0 begin
7492 y exch get /tipy exch def
7493 x exch get /tipx exch def
7494 y exch get /taily exch def
7495 x exch get /tailx exch def
7496 brushRightArrow { tipx tipy tailx taily arrowhead } if
7497 end
7498 } dup 0 4 dict put def
7499
7500
7501 %I Idraw 10 Grid 6 6 
7502
7503
7504 Begin
7505 %I b u
7506 %I cfg u
7507 %I cbg u
7508 %I f u
7509 %I p u
7510 %I t
7511 [ 0.799705 0 0 0.799705 0 0 ] concat
7512 /originalCTM matrix currentmatrix def
7513
7514 Begin %I Pict
7515 %I b u
7516 %I cfg u
7517 %I cbg u
7518 %I f u
7519 %I p u
7520 %I t
7521 [ 1 0 0 1 5.99997 0 ] concat
7522
7523 Begin %I Text
7524 %I cfg Black
7525 0 0 0 SetCFg
7526 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
7527 Helvetica 12 SetF
7528 %I t
7529 [ 1 0 0 1 342 674 ] concat
7530 %I
7531 [
7532 (Master)
7533 ] Text
7534 End
7535
7536 Begin %I Pict
7537 %I b u
7538 %I cfg u
7539 %I cbg u
7540 %I f u
7541 %I p u
7542 %I t
7543 [ 1 0 0 1 8 26 ] concat
7544
7545 Begin %I Text
7546 %I cfg Black
7547 0 0 0 SetCFg
7548 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
7549 Helvetica 12 SetF
7550 %I t
7551 [ 1 0 0 1 315 543.5 ] concat
7552 %I
7553 [
7554 (1)
7555 ] Text
7556 End
7557
7558 Begin %I Elli
7559 %I b 65535
7560 1 0 0 [] 0 SetB
7561 %I cfg Black
7562 0 0 0 SetCFg
7563 %I cbg White
7564 1 1 1 SetCBg
7565 none SetP %I p n
7566 %I t
7567 [ 0.5 -0 -0 0.5 278 428 ] concat
7568 %I
7569 80 224 12 12 Elli
7570 End
7571
7572 End %I eop
7573
7574 Begin %I Pict
7575 %I b u
7576 %I cfg u
7577 %I cbg u
7578 %I f u
7579 %I p u
7580 %I t
7581 [ 1 0 0 1 -4 26 ] concat
7582
7583 Begin %I Elli
7584 %I b 65535
7585 1 0 0 [] 0 SetB
7586 %I cfg Black
7587 0 0 0 SetCFg
7588 %I cbg White
7589 1 1 1 SetCBg
7590 none SetP %I p n
7591 %I t
7592 [ 0.5 -0 -0 0.5 278 428 ] concat
7593 %I
7594 128 224 12 12 Elli
7595 End
7596
7597 Begin %I Text
7598 %I cfg Black
7599 0 0 0 SetCFg
7600 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
7601 Helvetica 12 SetF
7602 %I t
7603 [ 1 0 0 1 339 543.5 ] concat
7604 %I
7605 [
7606 (2)
7607 ] Text
7608 End
7609
7610 End %I eop
7611
7612 Begin %I Pict
7613 %I b u
7614 %I cfg u
7615 %I cbg u
7616 %I f u
7617 %I p u
7618 %I t
7619 [ 1 0 0 1 -10 26 ] concat
7620
7621 Begin %I Elli
7622 %I b 65535
7623 1 0 0 [] 0 SetB
7624 %I cfg Black
7625 0 0 0 SetCFg
7626 %I cbg White
7627 1 1 1 SetCBg
7628 none SetP %I p n
7629 %I t
7630 [ 0.5 -0 -0 0.5 278 428 ] concat
7631 %I
7632 164 224 12 12 Elli
7633 End
7634
7635 Begin %I Text
7636 %I cfg Black
7637 0 0 0 SetCFg
7638 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
7639 Helvetica 12 SetF
7640 %I t
7641 [ 1 0 0 1 357 544 ] concat
7642 %I
7643 [
7644 (3)
7645 ] Text
7646 End
7647
7648 End %I eop
7649
7650 Begin %I Pict
7651 %I b u
7652 %I cfg u
7653 %I cbg u
7654 %I f u
7655 %I p u
7656 %I t
7657 [ 1 0 0 1 -16 26 ] concat
7658
7659 Begin %I Elli
7660 %I b 65535
7661 1 0 0 [] 0 SetB
7662 %I cfg Black
7663 0 0 0 SetCFg
7664 %I cbg White
7665 1 1 1 SetCBg
7666 none SetP %I p n
7667 %I t
7668 [ 0.5 -0 -0 0.5 278 428 ] concat
7669 %I
7670 200 224 12 12 Elli
7671 End
7672
7673 Begin %I Text
7674 %I cfg Black
7675 0 0 0 SetCFg
7676 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
7677 Helvetica 12 SetF
7678 %I t
7679 [ 1 0 0 1 375 544 ] concat
7680 %I
7681 [
7682 (4)
7683 ] Text
7684 End
7685
7686 End %I eop
7687
7688 Begin %I Pict
7689 %I b u
7690 %I cfg u
7691 %I cbg u
7692 %I f u
7693 %I p u
7694 %I t
7695 [ 1 0 0 1 -22 26 ] concat
7696
7697 Begin %I Elli
7698 %I b 65535
7699 1 0 0 [] 0 SetB
7700 %I cfg Black
7701 0 0 0 SetCFg
7702 %I cbg White
7703 1 1 1 SetCBg
7704 none SetP %I p n
7705 %I t
7706 [ 0.5 -0 -0 0.5 278 428 ] concat
7707 %I
7708 236 224 12 12 Elli
7709 End
7710
7711 Begin %I Text
7712 %I cfg Black
7713 0 0 0 SetCFg
7714 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
7715 Helvetica 12 SetF
7716 %I t
7717 [ 1 0 0 1 393 544 ] concat
7718 %I
7719 [
7720 (5)
7721 ] Text
7722 End
7723
7724 End %I eop
7725
7726 Begin %I Pict
7727 %I b u
7728 %I cfg u
7729 %I cbg u
7730 %I f u
7731 %I p u
7732 %I t
7733 [ 1 0 0 1 104 26 ] concat
7734
7735 Begin %I Elli
7736 %I b 65535
7737 1 0 0 [] 0 SetB
7738 %I cfg Black
7739 0 0 0 SetCFg
7740 %I cbg White
7741 1 1 1 SetCBg
7742 none SetP %I p n
7743 %I t
7744 [ 0.5 -0 -0 0.5 278 428 ] concat
7745 %I
7746 32 224 12 12 Elli
7747 End
7748
7749 Begin %I Text
7750 %I cfg Black
7751 0 0 0 SetCFg
7752 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
7753 Helvetica 12 SetF
7754 %I t
7755 [ 1 0 0 1 291 543.5 ] concat
7756 %I
7757 [
7758 (7)
7759 ] Text
7760 End
7761
7762 End %I eop
7763
7764 Begin %I Pict
7765 %I b u
7766 %I cfg u
7767 %I cbg u
7768 %I f u
7769 %I p u
7770 %I t
7771 [ 1 0 0 1 -28 26 ] concat
7772
7773 Begin %I Elli
7774 %I b 65535
7775 1 0 0 [] 0 SetB
7776 %I cfg Black
7777 0 0 0 SetCFg
7778 %I cbg White
7779 1 1 1 SetCBg
7780 none SetP %I p n
7781 %I t
7782 [ 0.5 -0 -0 0.5 278 428 ] concat
7783 %I
7784 272 224 12 12 Elli
7785 End
7786
7787 Begin %I Text
7788 %I cfg Black
7789 0 0 0 SetCFg
7790 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
7791 Helvetica 12 SetF
7792 %I t
7793 [ 1 0 0 1 411 544 ] concat
7794 %I
7795 [
7796 (6)
7797 ] Text
7798 End
7799
7800 End %I eop
7801
7802 Begin %I Line
7803 %I b 65535
7804 1 0 0 [] 0 SetB
7805 %I cfg Black
7806 0 0 0 SetCFg
7807 %I cbg White
7808 1 1 1 SetCBg
7809 none SetP %I p n
7810 %I t
7811 [ 0.5 -0 -0 0.5 278 428 ] concat
7812 %I
7813 68 260 164 452 Line
7814 %I 2
7815 End
7816
7817 Begin %I Line
7818 %I b 65535
7819 1 0 0 [] 0 SetB
7820 %I cfg Black
7821 0 0 0 SetCFg
7822 %I cbg White
7823 1 1 1 SetCBg
7824 none SetP %I p n
7825 %I t
7826 [ 0.5 -0 -0 0.5 278 428 ] concat
7827 %I
7828 68 260 272 260 Line
7829 %I 2
7830 End
7831
7832 Begin %I Line
7833 %I b 65535
7834 1 0 0 [] 0 SetB
7835 %I cfg Black
7836 0 0 0 SetCFg
7837 %I cbg White
7838 1 1 1 SetCBg
7839 none SetP %I p n
7840 %I t
7841 [ 0.5 -0 -0 0.5 278 428 ] concat
7842 %I
7843 164 452 272 260 Line
7844 %I 2
7845 End
7846
7847 Begin %I Pict
7848 %I b u
7849 %I cfg u
7850 %I cbg u
7851 %I f u
7852 %I p u
7853 %I t
7854 [ 1 0 0 1 -71.5 99 ] concat
7855
7856 Begin %I Elli
7857 %I b 65535
7858 1 0 0 [] 0 SetB
7859 %I cfg Black
7860 0 0 0 SetCFg
7861 %I cbg White
7862 1 1 1 SetCBg
7863 none SetP %I p n
7864 %I t
7865 [ 0.5 -0 -0 0.5 278 428 ] concat
7866 %I
7867 308 224 12 12 Elli
7868 End
7869
7870 Begin %I Text
7871 %I cfg Black
7872 0 0 0 SetCFg
7873 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
7874 Helvetica 12 SetF
7875 %I t
7876 [ 1 0 0 1 428.5 544 ] concat
7877 %I
7878 [
7879 (R)
7880 ] Text
7881 End
7882
7883 End %I eop
7884
7885 Begin %I Text
7886 %I cfg Black
7887 0 0 0 SetCFg
7888 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
7889 Helvetica 12 SetF
7890 %I t
7891 [ 1 0 0 1 284 612.5 ] concat
7892 %I
7893 [
7894 (d')
7895 ] Text
7896 End
7897
7898 Begin %I Line
7899 %I b 65535
7900 1 0 0 [] 0 SetB
7901 %I cfg Black
7902 0 0 0 SetCFg
7903 %I cbg White
7904 1 1 1 SetCBg
7905 none SetP %I p n
7906 %I t
7907 [ 0.5 -0 -0 0.5 226 395 ] concat
7908 %I
7909 148 518 100 518 Line
7910 %I 2
7911 End
7912
7913 Begin %I Line
7914 %I b 65535
7915 1 0 0 [] 0 SetB
7916 %I cfg Black
7917 0 0 0 SetCFg
7918 %I cbg White
7919 1 1 1 SetCBg
7920 none SetP %I p n
7921 %I t
7922 [ 0.5 -0 -0 0.5 226 395 ] concat
7923 %I
7924 148 326 100 326 Line
7925 %I 2
7926 End
7927
7928 Begin %I Line
7929 %I b 65535
7930 1 0 1 [] 0 SetB
7931 %I cfg Black
7932 0 0 0 SetCFg
7933 %I cbg White
7934 1 1 1 SetCBg
7935 none SetP %I p n
7936 %I t
7937 [ 0.5 -0 -0 0.5 226 395 ] concat
7938 %I
7939 124 446 124 506 Line
7940 %I 2
7941 End
7942
7943 Begin %I Line
7944 %I b 65535
7945 1 0 1 [] 0 SetB
7946 %I cfg Black
7947 0 0 0 SetCFg
7948 %I cbg White
7949 1 1 1 SetCBg
7950 none SetP %I p n
7951 %I t
7952 [ 0.5 -0 -0 0.5 226 395 ] concat
7953 %I
7954 124 410 124 338 Line
7955 %I 2
7956 End
7957
7958 End %I eop
7959
7960 Begin %I Pict
7961 %I b u
7962 %I cfg u
7963 %I cbg u
7964 %I f u
7965 %I p u
7966 %I t
7967 [ 1 0 0 1 18 -24 ] concat
7968
7969 Begin %I Elli
7970 %I b 65535
7971 1 0 0 [] 0 SetB
7972 %I cfg Black
7973 0 0 0 SetCFg
7974 %I cbg White
7975 1 1 1 SetCBg
7976 none SetP %I p n
7977 %I t
7978 [ 0.5 -0 -0 0.5 278 428 ] concat
7979 %I
7980 128 224 12 12 Elli
7981 End
7982
7983 Begin %I Text
7984 %I cfg Black
7985 0 0 0 SetCFg
7986 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
7987 Helvetica 12 SetF
7988 %I t
7989 [ 1 0 0 1 339 543.5 ] concat
7990 %I
7991 [
7992 (2)
7993 ] Text
7994 End
7995
7996 End %I eop
7997
7998 Begin %I Pict
7999 %I b u
8000 %I cfg u
8001 %I cbg u
8002 %I f u
8003 %I p u
8004 %I t
8005 [ 1 0 0 1 84 -24 ] concat
8006
8007 Begin %I Elli
8008 %I b 65535
8009 1 0 0 [] 0 SetB
8010 %I cfg Black
8011 0 0 0 SetCFg
8012 %I cbg White
8013 1 1 1 SetCBg
8014 none SetP %I p n
8015 %I t
8016 [ 0.5 -0 -0 0.5 278 428 ] concat
8017 %I
8018 164 224 12 12 Elli
8019 End
8020
8021 Begin %I Text
8022 %I cfg Black
8023 0 0 0 SetCFg
8024 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8025 Helvetica 12 SetF
8026 %I t
8027 [ 1 0 0 1 357 544 ] concat
8028 %I
8029 [
8030 (3)
8031 ] Text
8032 End
8033
8034 End %I eop
8035
8036 Begin %I Pict
8037 %I b u
8038 %I cfg u
8039 %I cbg u
8040 %I f u
8041 %I p u
8042 %I t
8043 [ 1 0 0 1 -108 -24 ] concat
8044
8045 Begin %I Elli
8046 %I b 65535
8047 1 0 0 [] 0 SetB
8048 %I cfg Black
8049 0 0 0 SetCFg
8050 %I cbg White
8051 1 1 1 SetCBg
8052 none SetP %I p n
8053 %I t
8054 [ 0.5 -0 -0 0.5 278 428 ] concat
8055 %I
8056 200 224 12 12 Elli
8057 End
8058
8059 Begin %I Text
8060 %I cfg Black
8061 0 0 0 SetCFg
8062 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8063 Helvetica 12 SetF
8064 %I t
8065 [ 1 0 0 1 375 544 ] concat
8066 %I
8067 [
8068 (4)
8069 ] Text
8070 End
8071
8072 End %I eop
8073
8074 Begin %I Pict
8075 %I b u
8076 %I cfg u
8077 %I cbg u
8078 %I f u
8079 %I p u
8080 %I t
8081 [ 1 0 0 1 0 -24 ] concat
8082
8083 Begin %I Elli
8084 %I b 65535
8085 1 0 0 [] 0 SetB
8086 %I cfg Black
8087 0 0 0 SetCFg
8088 %I cbg White
8089 1 1 1 SetCBg
8090 none SetP %I p n
8091 %I t
8092 [ 0.5 -0 -0 0.5 278 428 ] concat
8093 %I
8094 236 224 12 12 Elli
8095 End
8096
8097 Begin %I Text
8098 %I cfg Black
8099 0 0 0 SetCFg
8100 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8101 Helvetica 12 SetF
8102 %I t
8103 [ 1 0 0 1 393 544 ] concat
8104 %I
8105 [
8106 (5)
8107 ] Text
8108 End
8109
8110 End %I eop
8111
8112 Begin %I Pict
8113 %I b u
8114 %I cfg u
8115 %I cbg u
8116 %I f u
8117 %I p u
8118 %I t
8119 [ 1 0 0 1 66 -24 ] concat
8120
8121 Begin %I Elli
8122 %I b 65535
8123 1 0 0 [] 0 SetB
8124 %I cfg Black
8125 0 0 0 SetCFg
8126 %I cbg White
8127 1 1 1 SetCBg
8128 none SetP %I p n
8129 %I t
8130 [ 0.5 -0 -0 0.5 278 428 ] concat
8131 %I
8132 272 224 12 12 Elli
8133 End
8134
8135 Begin %I Text
8136 %I cfg Black
8137 0 0 0 SetCFg
8138 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8139 Helvetica 12 SetF
8140 %I t
8141 [ 1 0 0 1 411 544 ] concat
8142 %I
8143 [
8144 (6)
8145 ] Text
8146 End
8147
8148 End %I eop
8149
8150 Begin %I Pict
8151 %I b u
8152 %I cfg u
8153 %I cbg u
8154 %I f u
8155 %I p u
8156 %I t
8157 [ 1 0 0 1 -84 -24 ] concat
8158
8159 Begin %I Text
8160 %I cfg Black
8161 0 0 0 SetCFg
8162 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8163 Helvetica 12 SetF
8164 %I t
8165 [ 1 0 0 1 315 543.5 ] concat
8166 %I
8167 [
8168 (1)
8169 ] Text
8170 End
8171
8172 Begin %I Elli
8173 %I b 65535
8174 1 0 0 [] 0 SetB
8175 %I cfg Black
8176 0 0 0 SetCFg
8177 %I cbg White
8178 1 1 1 SetCBg
8179 none SetP %I p n
8180 %I t
8181 [ 0.5 -0 -0 0.5 278 428 ] concat
8182 %I
8183 80 224 12 12 Elli
8184 End
8185
8186 End %I eop
8187
8188 Begin %I Pict
8189 %I b u
8190 %I cfg u
8191 %I cbg u
8192 %I f u
8193 %I p u
8194 %I t
8195 [ 1 0 0 1 12 -24 ] concat
8196
8197 Begin %I Elli
8198 %I b 65535
8199 1 0 0 [] 0 SetB
8200 %I cfg Black
8201 0 0 0 SetCFg
8202 %I cbg White
8203 1 1 1 SetCBg
8204 none SetP %I p n
8205 %I t
8206 [ 0.5 -0 -0 0.5 278 428 ] concat
8207 %I
8208 32 224 12 12 Elli
8209 End
8210
8211 Begin %I Text
8212 %I cfg Black
8213 0 0 0 SetCFg
8214 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8215 Helvetica 12 SetF
8216 %I t
8217 [ 1 0 0 1 291 543.5 ] concat
8218 %I
8219 [
8220 (7)
8221 ] Text
8222 End
8223
8224 End %I eop
8225
8226 Begin %I Rect
8227 %I b 65535
8228 1 0 0 [] 0 SetB
8229 %I cfg Black
8230 0 0 0 SetCFg
8231 %I cbg White
8232 1 1 1 SetCBg
8233 none SetP %I p n
8234 %I t
8235 [ 0.458861 0 0 0.489848 235.544 397.7 ] concat
8236 %I
8237 232 170 388 266 Rect
8238 End
8239
8240 Begin %I Rect
8241 %I b 65535
8242 1 0 0 [] 0 SetB
8243 %I cfg Black
8244 0 0 0 SetCFg
8245 %I cbg White
8246 1 1 1 SetCBg
8247 none SetP %I p n
8248 %I t
8249 [ 0.815325 0 0 0.489848 236.845 397.7 ] concat
8250 %I
8251 232 170 364 266 Rect
8252 End
8253
8254 Begin %I Line
8255 %I b 65520
8256 1 0 0 [12 4] 0 SetB
8257 %I cfg Black
8258 0 0 0 SetCFg
8259 %I cbg White
8260 1 1 1 SetCBg
8261 none SetP %I p n
8262 %I t
8263 [ 1.21519 0 0 0.046875 83.0438 492.703 ] concat
8264 %I
8265 100 241 376 241 Line
8266 %I 1
8267 End
8268
8269 Begin %I Text
8270 %I cfg Black
8271 0 0 0 SetCFg
8272 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8273 Helvetica 12 SetF
8274 %I t
8275 [ 1 0 0 1 162 515 ] concat
8276 %I
8277 [
8278 (APHID)
8279 ] Text
8280 End
8281
8282 Begin %I Text
8283 %I cfg Black
8284 0 0 0 SetCFg
8285 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8286 Helvetica 12 SetF
8287 %I t
8288 [ 1 0 0 1 162 503 ] concat
8289 %I
8290 [
8291 (Table)
8292 ] Text
8293 End
8294
8295 Begin %I Text
8296 %I cfg Black
8297 0 0 0 SetCFg
8298 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8299 Helvetica 12 SetF
8300 %I t
8301 [ 1 0 0 1 222 497 ] concat
8302 %I
8303 [
8304 (-1/4)
8305 ] Text
8306 End
8307
8308 Begin %I Text
8309 %I cfg Black
8310 0 0 0 SetCFg
8311 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8312 Helvetica 12 SetF
8313 %I t
8314 [ 1 0 0 1 258 497 ] concat
8315 %I
8316 [
8317 (+2/3)
8318 ] Text
8319 End
8320
8321 Begin %I Text
8322 %I cfg Black
8323 0 0 0 SetCFg
8324 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8325 Helvetica 12 SetF
8326 %I t
8327 [ 1 0 0 1 297.5 497 ] concat
8328 %I
8329 [
8330 (?/0)
8331 ] Text
8332 End
8333
8334 Begin %I Rect
8335 %I b 65535
8336 1 0 0 [] 0 SetB
8337 %I cfg Black
8338 0 0 0 SetCFg
8339 %I cbg White
8340 1 1 1 SetCBg
8341 none SetP %I p n
8342 %I t
8343 [ 0.5 0 0 0.5 148 395 ] concat
8344 %I
8345 136 170 352 266 Rect
8346 End
8347
8348 Begin %I Text
8349 %I cfg Black
8350 0 0 0 SetCFg
8351 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8352 Helvetica 12 SetF
8353 %I t
8354 [ 1 0 0 1 348 497 ] concat
8355 %I
8356 [
8357 (+5/5)
8358 ] Text
8359 End
8360
8361 Begin %I Text
8362 %I cfg Black
8363 0 0 0 SetCFg
8364 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8365 Helvetica 12 SetF
8366 %I t
8367 [ 1 0 0 1 468 497 ] concat
8368 %I
8369 [
8370 (+1/3)
8371 ] Text
8372 End
8373
8374 Begin %I Line
8375 %I b 65535
8376 1 0 0 [] 0 SetB
8377 %I cfg Black
8378 0 0 0 SetCFg
8379 %I cbg White
8380 1 1 1 SetCBg
8381 none SetP %I p n
8382 %I t
8383 [ 1 0 0 1 130 131 ] concat
8384 %I
8385 140 331 98 217 Line
8386 %I 1
8387 End
8388
8389 Begin %I Line
8390 %I b 65535
8391 1 0 0 [] 0 SetB
8392 %I cfg Black
8393 0 0 0 SetCFg
8394 %I cbg White
8395 1 1 1 SetCBg
8396 none SetP %I p n
8397 %I t
8398 [ 1 0 0 1 130 131 ] concat
8399 %I
8400 140 331 170 235 Line
8401 %I 1
8402 End
8403
8404 Begin %I Line
8405 %I b 65535
8406 1 0 0 [] 0 SetB
8407 %I cfg Black
8408 0 0 0 SetCFg
8409 %I cbg White
8410 1 1 1 SetCBg
8411 none SetP %I p n
8412 %I t
8413 [ 1 0 0 1 130 131 ] concat
8414 %I
8415 98 217 110 229 Line
8416 %I 1
8417 End
8418
8419 Begin %I Line
8420 %I b 65535
8421 1 0 0 [] 0 SetB
8422 %I cfg Black
8423 0 0 0 SetCFg
8424 %I cbg White
8425 1 1 1 SetCBg
8426 none SetP %I p n
8427 %I t
8428 [ 1 0 0 1 130 131 ] concat
8429 %I
8430 110 229 116 217 Line
8431 %I 1
8432 End
8433
8434 Begin %I Line
8435 %I b 65535
8436 1 0 0 [] 0 SetB
8437 %I cfg Black
8438 0 0 0 SetCFg
8439 %I cbg White
8440 1 1 1 SetCBg
8441 none SetP %I p n
8442 %I t
8443 [ 1 0 0 1 130 131 ] concat
8444 %I
8445 116 217 122 247 Line
8446 %I 1
8447 End
8448
8449 Begin %I Line
8450 %I b 65535
8451 1 0 0 [] 0 SetB
8452 %I cfg Black
8453 0 0 0 SetCFg
8454 %I cbg White
8455 1 1 1 SetCBg
8456 none SetP %I p n
8457 %I t
8458 [ 1 0 0 1 130 131 ] concat
8459 %I
8460 122 247 140 235 Line
8461 %I 1
8462 End
8463
8464 Begin %I Line
8465 %I b 65535
8466 1 0 0 [] 0 SetB
8467 %I cfg Black
8468 0 0 0 SetCFg
8469 %I cbg White
8470 1 1 1 SetCBg
8471 none SetP %I p n
8472 %I t
8473 [ 1 0 0 1 130 131 ] concat
8474 %I
8475 140 235 146 247 Line
8476 %I 1
8477 End
8478
8479 Begin %I Line
8480 %I b 65535
8481 1 0 0 [] 0 SetB
8482 %I cfg Black
8483 0 0 0 SetCFg
8484 %I cbg White
8485 1 1 1 SetCBg
8486 none SetP %I p n
8487 %I t
8488 [ 1 0 0 1 130 131 ] concat
8489 %I
8490 146 247 152 229 Line
8491 %I 1
8492 End
8493
8494 Begin %I Line
8495 %I b 65535
8496 1 0 0 [] 0 SetB
8497 %I cfg Black
8498 0 0 0 SetCFg
8499 %I cbg White
8500 1 1 1 SetCBg
8501 none SetP %I p n
8502 %I t
8503 [ 1 0 0 1 130 131 ] concat
8504 %I
8505 152 229 158 247 Line
8506 %I 1
8507 End
8508
8509 Begin %I Line
8510 %I b 65535
8511 1 0 0 [] 0 SetB
8512 %I cfg Black
8513 0 0 0 SetCFg
8514 %I cbg White
8515 1 1 1 SetCBg
8516 none SetP %I p n
8517 %I t
8518 [ 1 0 0 1 130 131 ] concat
8519 %I
8520 158 247 170 235 Line
8521 %I 1
8522 End
8523
8524 Begin %I Line
8525 %I b 65535
8526 1 0 0 [] 0 SetB
8527 %I cfg Black
8528 0 0 0 SetCFg
8529 %I cbg White
8530 1 1 1 SetCBg
8531 none SetP %I p n
8532 %I t
8533 [ 0.5 0 0 0.5 234 263 ] concat
8534 %I
8535 288 398 204 194 Line
8536 %I 2
8537 End
8538
8539 Begin %I Line
8540 %I b 65535
8541 1 0 0 [] 0 SetB
8542 %I cfg Black
8543 0 0 0 SetCFg
8544 %I cbg White
8545 1 1 1 SetCBg
8546 none SetP %I p n
8547 %I t
8548 [ 0.5 0 0 0.5 234 263 ] concat
8549 %I
8550 204 194 240 218 Line
8551 %I 2
8552 End
8553
8554 Begin %I Line
8555 %I b 65535
8556 1 0 0 [] 0 SetB
8557 %I cfg Black
8558 0 0 0 SetCFg
8559 %I cbg White
8560 1 1 1 SetCBg
8561 none SetP %I p n
8562 %I t
8563 [ 0.5 0 0 0.5 234 263 ] concat
8564 %I
8565 240 218 252 230 Line
8566 %I 2
8567 End
8568
8569 Begin %I Line
8570 %I b 65535
8571 1 0 0 [] 0 SetB
8572 %I cfg Black
8573 0 0 0 SetCFg
8574 %I cbg White
8575 1 1 1 SetCBg
8576 none SetP %I p n
8577 %I t
8578 [ 0.5 0 0 0.5 234 263 ] concat
8579 %I
8580 252 230 264 218 Line
8581 %I 2
8582 End
8583
8584 Begin %I Line
8585 %I b 65535
8586 1 0 0 [] 0 SetB
8587 %I cfg Black
8588 0 0 0 SetCFg
8589 %I cbg White
8590 1 1 1 SetCBg
8591 none SetP %I p n
8592 %I t
8593 [ 0.5 0 0 0.5 234 263 ] concat
8594 %I
8595 264 218 276 182 Line
8596 %I 2
8597 End
8598
8599 Begin %I Line
8600 %I b 65535
8601 1 0 0 [] 0 SetB
8602 %I cfg Black
8603 0 0 0 SetCFg
8604 %I cbg White
8605 1 1 1 SetCBg
8606 none SetP %I p n
8607 %I t
8608 [ 0.5 0 0 0.5 234 263 ] concat
8609 %I
8610 276 182 288 206 Line
8611 %I 2
8612 End
8613
8614 Begin %I Line
8615 %I b 65535
8616 1 0 0 [] 0 SetB
8617 %I cfg Black
8618 0 0 0 SetCFg
8619 %I cbg White
8620 1 1 1 SetCBg
8621 none SetP %I p n
8622 %I t
8623 [ 0.5 0 0 0.5 234 263 ] concat
8624 %I
8625 288 206 300 230 Line
8626 %I 2
8627 End
8628
8629 Begin %I Line
8630 %I b 65535
8631 1 0 0 [] 0 SetB
8632 %I cfg Black
8633 0 0 0 SetCFg
8634 %I cbg White
8635 1 1 1 SetCBg
8636 none SetP %I p n
8637 %I t
8638 [ 0.5 0 0 0.5 234 263 ] concat
8639 %I
8640 300 230 312 206 Line
8641 %I 2
8642 End
8643
8644 Begin %I Line
8645 %I b 65535
8646 1 0 0 [] 0 SetB
8647 %I cfg Black
8648 0 0 0 SetCFg
8649 %I cbg White
8650 1 1 1 SetCBg
8651 none SetP %I p n
8652 %I t
8653 [ 0.5 0 0 0.5 234 263 ] concat
8654 %I
8655 312 206 324 230 Line
8656 %I 2
8657 End
8658
8659 Begin %I Line
8660 %I b 65535
8661 1 0 0 [] 0 SetB
8662 %I cfg Black
8663 0 0 0 SetCFg
8664 %I cbg White
8665 1 1 1 SetCBg
8666 none SetP %I p n
8667 %I t
8668 [ 0.5 0 0 0.5 234 263 ] concat
8669 %I
8670 288 398 348 230 Line
8671 %I 2
8672 End
8673
8674 Begin %I Line
8675 %I b 65535
8676 1 0 0 [] 0 SetB
8677 %I cfg Black
8678 0 0 0 SetCFg
8679 %I cbg White
8680 1 1 1 SetCBg
8681 none SetP %I p n
8682 %I t
8683 [ 0.5 0 0 0.5 234 263 ] concat
8684 %I
8685 324 230 348 230 Line
8686 %I 2
8687 End
8688
8689 Begin %I Line
8690 %I b 65535
8691 1 0 0 [] 0 SetB
8692 %I cfg Black
8693 0 0 0 SetCFg
8694 %I cbg White
8695 1 1 1 SetCBg
8696 none SetP %I p n
8697 %I t
8698 [ 0.5 0 0 0.5 338 230 ] concat
8699 %I
8700 188 248 212 284 Line
8701 %I 2
8702 End
8703
8704 Begin %I Line
8705 %I b 65535
8706 1 0 0 [] 0 SetB
8707 %I cfg Black
8708 0 0 0 SetCFg
8709 %I cbg White
8710 1 1 1 SetCBg
8711 none SetP %I p n
8712 %I t
8713 [ 0.5 0 0 0.5 338 230 ] concat
8714 %I
8715 212 284 236 248 Line
8716 %I 2
8717 End
8718
8719 Begin %I Line
8720 %I b 65535
8721 1 0 0 [] 0 SetB
8722 %I cfg Black
8723 0 0 0 SetCFg
8724 %I cbg White
8725 1 1 1 SetCBg
8726 none SetP %I p n
8727 %I t
8728 [ 0.5 0 0 0.5 338 230 ] concat
8729 %I
8730 236 248 248 296 Line
8731 %I 2
8732 End
8733
8734 Begin %I Line
8735 %I b 65535
8736 1 0 0 [] 0 SetB
8737 %I cfg Black
8738 0 0 0 SetCFg
8739 %I cbg White
8740 1 1 1 SetCBg
8741 none SetP %I p n
8742 %I t
8743 [ 0.5 0 0 0.5 338 230 ] concat
8744 %I
8745 248 296 272 260 Line
8746 %I 2
8747 End
8748
8749 Begin %I Line
8750 %I b 65535
8751 1 0 0 [] 0 SetB
8752 %I cfg Black
8753 0 0 0 SetCFg
8754 %I cbg White
8755 1 1 1 SetCBg
8756 none SetP %I p n
8757 %I t
8758 [ 0.5 0 0 0.5 338 230 ] concat
8759 %I
8760 272 260 284 296 Line
8761 %I 2
8762 End
8763
8764 Begin %I Line
8765 %I b 65535
8766 1 0 0 [] 0 SetB
8767 %I cfg Black
8768 0 0 0 SetCFg
8769 %I cbg White
8770 1 1 1 SetCBg
8771 none SetP %I p n
8772 %I t
8773 [ 0.5 0 0 0.5 338 230 ] concat
8774 %I
8775 284 296 308 272 Line
8776 %I 2
8777 End
8778
8779 Begin %I Line
8780 %I b 65535
8781 1 0 0 [] 0 SetB
8782 %I cfg Black
8783 0 0 0 SetCFg
8784 %I cbg White
8785 1 1 1 SetCBg
8786 none SetP %I p n
8787 %I t
8788 [ 0.5 0 0 0.5 338 230 ] concat
8789 %I
8790 308 272 320 296 Line
8791 %I 2
8792 End
8793
8794 Begin %I Line
8795 %I b 65535
8796 1 0 0 [] 0 SetB
8797 %I cfg Black
8798 0 0 0 SetCFg
8799 %I cbg White
8800 1 1 1 SetCBg
8801 none SetP %I p n
8802 %I t
8803 [ 0.5 0 0 0.5 338 230 ] concat
8804 %I
8805 260 464 320 296 Line
8806 %I 2
8807 End
8808
8809 Begin %I Line
8810 %I b 65535
8811 1 0 0 [] 0 SetB
8812 %I cfg Black
8813 0 0 0 SetCFg
8814 %I cbg White
8815 1 1 1 SetCBg
8816 none SetP %I p n
8817 %I t
8818 [ 0.5 0 0 0.5 338 230 ] concat
8819 %I
8820 260 464 188 248 Line
8821 %I 2
8822 End
8823
8824 Begin %I Text
8825 %I cfg Black
8826 0 0 0 SetCFg
8827 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8828 Helvetica 12 SetF
8829 %I t
8830 [ 1 0 0 1 246 341 ] concat
8831 %I
8832 [
8833 (Slave 1)
8834 ] Text
8835 End
8836
8837 Begin %I Text
8838 %I cfg Black
8839 0 0 0 SetCFg
8840 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8841 Helvetica 12 SetF
8842 %I t
8843 [ 1 0 0 1 354 341 ] concat
8844 %I
8845 [
8846 (Slave 2)
8847 ] Text
8848 End
8849
8850 Begin %I Text
8851 %I cfg Black
8852 0 0 0 SetCFg
8853 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8854 Helvetica 12 SetF
8855 %I t
8856 [ 1 0 0 1 444 341 ] concat
8857 %I
8858 [
8859 (Slave 3)
8860 ] Text
8861 End
8862
8863 Begin %I Pict
8864 %I b u
8865 %I cfg u
8866 %I cbg u
8867 %I f u
8868 %I p u
8869 %I t
8870 [ 1 0 0 1 35.5 -97.5 ] concat
8871
8872 Begin %I Elli
8873 %I b 65535
8874 1 0 0 [] 0 SetB
8875 %I cfg Black
8876 0 0 0 SetCFg
8877 %I cbg White
8878 1 1 1 SetCBg
8879 none SetP %I p n
8880 %I t
8881 [ 0.5 -0 -0 0.5 278 428 ] concat
8882 %I
8883 128 224 12 12 Elli
8884 End
8885
8886 Begin %I Text
8887 %I cfg Black
8888 0 0 0 SetCFg
8889 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8890 Helvetica 12 SetF
8891 %I t
8892 [ 1 0 0 1 339 543.5 ] concat
8893 %I
8894 [
8895 (2)
8896 ] Text
8897 End
8898
8899 End %I eop
8900
8901 Begin %I Pict
8902 %I b u
8903 %I cfg u
8904 %I cbg u
8905 %I f u
8906 %I p u
8907 %I t
8908 [ 1 0 0 1 54 -97 ] concat
8909
8910 Begin %I Elli
8911 %I b 65535
8912 1 0 0 [] 0 SetB
8913 %I cfg Black
8914 0 0 0 SetCFg
8915 %I cbg White
8916 1 1 1 SetCBg
8917 none SetP %I p n
8918 %I t
8919 [ 0.5 -0 -0 0.5 278 428 ] concat
8920 %I
8921 272 224 12 12 Elli
8922 End
8923
8924 Begin %I Text
8925 %I cfg Black
8926 0 0 0 SetCFg
8927 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8928 Helvetica 12 SetF
8929 %I t
8930 [ 1 0 0 1 411 544 ] concat
8931 %I
8932 [
8933 (6)
8934 ] Text
8935 End
8936
8937 End %I eop
8938
8939 Begin %I Pict
8940 %I b u
8941 %I cfg u
8942 %I cbg u
8943 %I f u
8944 %I p u
8945 %I t
8946 [ 1 0 0 1 -24.5 -99 ] concat
8947
8948 Begin %I Elli
8949 %I b 65535
8950 1 0 0 [] 0 SetB
8951 %I cfg Black
8952 0 0 0 SetCFg
8953 %I cbg White
8954 1 1 1 SetCBg
8955 none SetP %I p n
8956 %I t
8957 [ 0.5 -0 -0 0.5 278 428 ] concat
8958 %I
8959 32 224 12 12 Elli
8960 End
8961
8962 Begin %I Text
8963 %I cfg Black
8964 0 0 0 SetCFg
8965 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
8966 Helvetica 12 SetF
8967 %I t
8968 [ 1 0 0 1 291 543.5 ] concat
8969 %I
8970 [
8971 (7)
8972 ] Text
8973 End
8974
8975 End %I eop
8976
8977 Begin %I Line
8978 %I b 65535
8979 1 0 0 [] 0 SetB
8980 %I cfg Black
8981 0 0 0 SetCFg
8982 %I cbg White
8983 1 1 1 SetCBg
8984 none SetP %I p n
8985 %I t
8986 [ 0.5 0 0 0.5 130 296 ] concat
8987 %I
8988 100 320 148 320 Line
8989 %I 2
8990 End
8991
8992 Begin %I Line
8993 %I b 65535
8994 1 0 0 [] 0 SetB
8995 %I cfg Black
8996 0 0 0 SetCFg
8997 %I cbg White
8998 1 1 1 SetCBg
8999 none SetP %I p n
9000 %I t
9001 [ 0.5 0 0 0.5 130 296 ] concat
9002 %I
9003 100 164 148 164 Line
9004 %I 2
9005 End
9006
9007 Begin %I Text
9008 %I cfg Black
9009 0 0 0 SetCFg
9010 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
9011 Helvetica 12 SetF
9012 %I t
9013 [ 1 0 0 1 180.5 421.5 ] concat
9014 %I
9015 [
9016 (d-d')
9017 ] Text
9018 End
9019
9020 Begin %I Line
9021 %I b 65535
9022 1 0 1 [] 0 SetB
9023 %I cfg Black
9024 0 0 0 SetCFg
9025 %I cbg White
9026 1 1 1 SetCBg
9027 none SetP %I p n
9028 %I t
9029 [ 0.5 0 0 0.5 130 296 ] concat
9030 %I
9031 124 224 124 176 Line
9032 %I 2
9033 End
9034
9035 Begin %I Line
9036 %I b 65535
9037 1 0 1 [] 0 SetB
9038 %I cfg Black
9039 0 0 0 SetCFg
9040 %I cbg White
9041 1 1 1 SetCBg
9042 none SetP %I p n
9043 %I t
9044 [ 0.5 0 0 0.5 130 296 ] concat
9045 %I
9046 124 260 124 308 Line
9047 %I 2
9048 End
9049
9050 Begin %I Text
9051 %I cfg Black
9052 0 0 0 SetCFg
9053 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
9054 Helvetica 12 SetF
9055 %I t
9056 [ 1 0 0 1 384 497 ] concat
9057 %I
9058 [
9059 (+4/5)
9060 ] Text
9061 End
9062
9063 Begin %I Pict
9064 %I b u
9065 %I cfg u
9066 %I cbg u
9067 %I f u
9068 %I p u
9069 %I t
9070 [ 1 0 0 1 60 -36 ] concat
9071
9072 Begin %I Elli
9073 %I b 65535
9074 1 0 0 [] 0 SetB
9075 %I cfg Black
9076 0 0 0 SetCFg
9077 %I cbg White
9078 1 1 1 SetCBg
9079 none SetP %I p n
9080 %I t
9081 [ 0.5 -0 -0 0.5 278 362 ] concat
9082 %I
9083 356 380 12 12 Elli
9084 End
9085
9086 Begin %I Text
9087 %I cfg Black
9088 0 0 0 SetCFg
9089 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
9090 Helvetica 12 SetF
9091 %I t
9092 [ 1 0 0 1 453 555.5 ] concat
9093 %I
9094 [
9095 (8)
9096 ] Text
9097 End
9098
9099 End %I eop
9100
9101 Begin %I Text
9102 %I cfg Black
9103 0 0 0 SetCFg
9104 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
9105 Helvetica 12 SetF
9106 %I t
9107 [ 1 0 0 1 504 497 ] concat
9108 %I
9109 [
9110 (-3/1)
9111 ] Text
9112 End
9113
9114 Begin %I Text
9115 %I cfg Black
9116 0 0 0 SetCFg
9117 %I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
9118 Helvetica 12 SetF
9119 %I t
9120 [ 1 0 0 1 432 497 ] concat
9121 %I
9122 [
9123 (<0/4)
9124 ] Text
9125 End
9126
9127 End %I eop
9128
9129 showpage
9130
9131
9132 end
9133 %%EndDocument
9134
9135  endTexFig
9136  893 2003 a Fu(Figure)25 b(5:)30 b(A)25 b(Snapshot)f(of)h(APHID)g
9137 (Search)h(in)f(Operation)0 2291 y Fg(3.2)119 b(The)30
9138 b(APHID)g(T)-11 b(able)0 2557 y Fu(If)35 b(a)g(leaf)h(node)e(is)h
9139 (visited)e(by)i(the)g(master)f(for)h(the)g(\002rst)g(time,)h(it)f(is)f
9140 (allocated)g(to)h(a)g(sla)n(v)o(e)f(process.)61 b(This)0
9141 2756 y(information)33 b(is)i(recorded)g(in)g(the)f Fm(APHID)h(table)f
9142 Fu(that)h(is)f(shared)h(by)f(all)h(processes.)61 b(Figure)35
9143 b(5)f(sho)n(ws)g(an)0 2956 y(e)o(xample)24 b(of)h(ho)n(w)f(the)g(APHID)
9144 i(table)e(w)o(ould)g(be)h(or)n(ganized)g(at)g(a)g(gi)n(v)o(en)e(point)h
9145 (in)g(time.)146 3155 y(The)k(table)f(is)g(replicated)h(on)f(the)g
9146 (master)g(and)h(sla)n(v)o(e)f(processes.)38 b(Ho)n(we)n(v)o(er)l(,)27
9147 b(each)h(sla)n(v)o(e)f(only)g(kno)n(ws)f(of)0 3354 y(the)i(entries)h
9148 (rele)n(v)n(ant)e(to)h(it)g(within)f(the)i(table.)41
9149 b(F)o(or)29 b(e)o(xample,)f(in)g(Figure)h(5,)g(sla)n(v)o(e)f(1)g(only)g
9150 (kno)n(ws)f(about)h(the)0 3553 y(entries)23 b(for)h(1,)f(4)g(and)g(7.)
9151 30 b(The)24 b(master)l(,)f(which)g(is)g(responsible)f(for)h(distrib)n
9152 (uting)e(the)i(w)o(ork)g(to)g(all)g(of)h(its)e(sla)n(v)o(es,)0
9153 3753 y(has)j(copies)f(of)h(e)n(v)o(ery)f(table)h(entry)-6
9154 b(.)146 3952 y(The)39 b(master)f(and)h(sla)n(v)o(e)f(only)g(read)h
9155 (their)f(local)h(copies)f(of)h(the)f(information;)44
9156 b(there)39 b(are)g(no)g(e)o(xplicit)0 4151 y(messages)19
9157 b(sent)h(between)g(them)f(asking)g(for)h(information.)28
9158 b(The)20 b(entries)f(in)h(the)g(APHID)g(table)g(are)g(partitioned)0
9159 4350 y(into)k(tw)o(o)g(parts:)30 b(one)25 b(which)f(only)g(the)g
9160 (master)h(can)g(write)f(to,)g(and)h(one)g(which)f(only)g(the)g(sla)n(v)
9161 o(e)g(that)g(has)h(been)0 4550 y(assigned)i(that)g(piece)h(of)g(w)o
9162 (ork)g(can)g(write)g(to.)39 b(An)o(y)27 b(attempt)f(to)i(write)f(into)g
9163 (the)h(table)f(generates)h(a)g(message)0 4749 y(that)c(informs)g(the)h
9164 (master)f(or)h(sla)n(v)o(e)f(process)h(to)f(update)h(its)f(replicated)h
9165 (cop)o(y)f(of)h(the)g(table)f(entry)-6 b(.)146 4948 y(The)33
9166 b(master')-5 b(s)32 b(half)h(of)g(the)g(table)g(is)g(illustrated)e(abo)
9167 o(v)o(e)h(the)h(dashed)g(line)f(in)h(Figure)g(5.)55 b(F)o(or)33
9168 b(each)h(leaf)0 5147 y(visited)26 b(by)i(the)f(master)l(,)h(there)g(is)
9169 f(an)g(entry)h(in)f(the)g(APHID)h(table.)39 b(Information)27
9170 b(maintained)f(on)h(the)h(lea)n(v)o(es)1900 5589 y(12)p
9171 eop
9172 %%Page: 13 16
9173 13 15 bop 0 100 a Fu(includes)20 b(the)g(mo)o(v)o(es)f(required)i(to)f
9174 (generate)h(the)f(leaf)h(positions)e(from)h(the)g(root)h
9175 Fb(R)p Fu(,)f(the)g(approximate)g(location)0 299 y(of)27
9176 b(the)f(leaf)i(in)e(the)h(tree)g(\(which)f(is)h(used)f(by)h(the)f(sla)n
9177 (v)o(e)g(to)h(prioritize)f(w)o(ork\),)h(whether)g(this)e(leaf)j(w)o(as)
9178 e(visited)0 498 y(on)e(the)g(last)f(pass)h(that)g(the)g(master)g(e)o(x)
9179 o(ecuted,)f(and)h(the)g(number)f(of)i(the)f(sla)n(v)o(e)f(that)h(the)g
9180 (leaf)g(w)o(as)g(assigned)g(to.)146 697 y(In)32 b(our)f(e)o(xample,)i
9181 (roughly)d(the)i(same)f(number)g(of)h(lea)n(v)o(es)f(ha)n(v)o(e)g(been)
9182 h(allocated)f(to)g(each)h(sla)n(v)o(e.)50 b(Note)0 897
9183 y(that)22 b(there)h(is)g(an)g(additional)e(leaf,)j(8,)f(that)f(is)g
9184 (not)g(represented)i(in)e(the)h(master')-5 b(s)21 b Fq(d)2862
9185 860 y Fp(0)2885 897 y Fu(-ply)i(search)g(tree.)31 b(This)22
9186 b(leaf)0 1096 y(node)i(w)o(as)g(visited)f(on)h(a)g(pre)n(vious)f(pass)h
9187 (by)g(the)g(master)l(,)g(b)n(ut)f(w)o(as)h(not)g(visited)f(on)h(the)g
9188 (latest)f(pass.)30 b(Ho)n(we)n(v)o(er)l(,)0 1295 y(the)e(information)e
9189 (that)h(the)h(sla)n(v)o(e)f(has)h(generated)g(about)f(this)g(node)h
9190 (may)f(be)h(needed)g(in)g(a)g(later)g(pass,)g(and)g(is)0
9191 1494 y(not)23 b(deleted)g(from)g(the)g(table.)30 b(Lea)n(v)o(es)23
9192 b(are)h(initially)d(allocated)i(to)g(the)g(sla)n(v)o(es)f(in)h(a)h
9193 (round-robin)e(manner)l(,)h(and)0 1694 y(may)h(mo)o(v)o(e)g(due)h(to)f
9194 (load)g(balancing)h(\(as)g(described)f(in)h(Section)g(3.4\).)146
9195 1893 y(The)i(sla)n(v)o(e')-5 b(s)25 b(part)h(of)h(the)f(table)g(\(the)g
9196 (area)h(belo)n(w)f(the)g(dashed)g(line\))g(contains)g(information)f(on)
9197 h(the)g(min-)0 2092 y(imax)31 b(v)n(alue)g(at)g(v)n(arious)g(depths)f
9198 (of)i(search.)51 b(The)32 b(best)f(information)f(\(with)h(respect)h(to)
9199 f(search)h(depth\))f(and)0 2291 y(the)e(ply)g(to)g(which)g(the)h(leaf)g
9200 (w)o(as)f(e)o(xamined)g(is)g(gi)n(v)o(en)f(underneath)h(each)h(leaf)g
9201 (node.)45 b(F)o(or)29 b(leaf)h(1,)g(the)g(score)0 2491
9202 y(returned)i(is)f(-1)h(with)f(a)h(search)g(depth)f(of)h(4.)51
9203 b(Leaf)33 b(3)e(illustrates)g(that)g(the)g(score)h(information)f
9204 (returned)g(by)0 2690 y(the)25 b(sla)n(v)o(e)f(may)h(not)g(al)o(w)o
9205 (ays)g(be)g(an)g(e)o(xact)g(number)-5 b(.)31 b(The)25
9206 b(sla)n(v)o(es)f(maintain)g(upper)h(and)g(lo)n(wer)f(bounds)g(on)h(the)
9207 0 2889 y(minimax)g(v)n(alue)h(of)h(each)h(node)e(for)h(each)h(ply)e(of)
9208 h(search)g(depth.)2306 2853 y Fn(5)2382 2889 y Fu(This)f(information)f
9209 (is)i(determined)f(by)g(the)0 3088 y(minimax)31 b(v)n(alue)h(returned)h
9210 (and)g(the)g(search)g(windo)n(w)f(used)g(by)h(the)g(sla)n(v)o(e.)54
9211 b(F)o(or)33 b(simplicity)-6 b(,)32 b(only)g(a)h(single)0
9212 3288 y(bound)24 b(is)g(sho)n(wn.)146 3487 y(The)32 b(APHID)f(table)g
9213 (data)h(structure)e(must)g(support)h(tw)o(o)f(time)h(critical)g
9214 (operations:)42 b(\002nding)31 b(a)h(node)e(in)0 3686
9215 y(the)i(table,)i(and)e(adding)f(a)h(node)g(to)g(the)g(table.)52
9216 b(Hence,)35 b(the)d(APHID)g(table)g(has)g(been)g(implemented)f(as)h(an)
9217 0 3885 y(e)o(xtendible)f(hash)g(table.)52 b(Applications)31
9218 b(that)g(w)o(ould)g(use)h(APHID)h(generally)f(ha)n(v)o(e)f(a)i
9219 (transposition)d(table;)0 4085 y(the)21 b(transposition)e(table)i
9220 (hashing)g(function)f(can)i(also)f(be)h(used)f(to)g(\002nd)g(and)g(add)
9221 h(lea)n(v)o(es)e(to)h(the)h(APHID)f(table.)0 4380 y Fg(3.3)119
9222 b(The)30 b(APHID)g(Sla)m(v)o(e)0 4646 y Fu(A)20 b(sla)n(v)o(e)f
9223 (process)g(essentially)f(e)o(x)o(ecutes)h(the)g(same)h(code)f(that)h(a)
9224 f(sequential)g Fq(\013)q(\014)25 b Fu(searcher)c(w)o(ould.)28
9225 b(The)19 b(sla)n(v)o(e')-5 b(s)0 4846 y(main)24 b(loop)g(simply)f
9226 (repeats)i(the)g(follo)n(wing)e(steps)h(until)g(the)g(master)h(tells)f
9227 (it)g(that)g(the)h(search)g(is)g(complete:)p 0 4935 1560
9228 4 v 112 4996 a Fj(5)149 5027 y Fi(Note)c(that)f(tw)o(o)g(bounds)f(may)h
9229 (be)g(needed.)j(A)e(search)f(may)g(return)f(an)h(upper)f(bound)f(on)i
9230 (a)g(score.)25 b(That)20 b(node)f(may)h(ha)n(v)o(e)f(to)i(be)0
9231 5126 y(re-searched)e(to)i(get)g(more)e(information)g(on)h(its)i(score.)
9232 k(The)21 b(second)e(search)i(may)f(return)g(a)h(lo)n(wer)f(bound)f
9233 (that)i(is)g(good)f(enough)e(to)0 5226 y(cause)i(a)h(cutof)n(f.)1900
9234 5589 y Fu(13)p eop
9235 %%Page: 14 17
9236 14 16 bop 120 100 a Fu(1.)49 b(Look)24 b(in)h(its)f(local)g(cop)o(y)h
9237 (of)g(the)f(APHID)i(table)e(and)h(\002nd)g(the)f(best)h(node)f(to)h
9238 (search.)120 382 y(2.)49 b(Ex)o(ecute)24 b(the)h(search.)120
9239 664 y(3.)49 b(Report)25 b(the)g(result)f(back)h(to)f(the)h(master)f
9240 (\(fetching)h(an)o(y)f(update)h(to)f(its)g(APHID)i(table)e(in)h
9241 (return\).)120 946 y(4.)49 b(Go)25 b(to)f(step)g(1.)146
9242 1254 y(A)g(sla)n(v)o(e)f(chooses)g(the)h(\223best\224)f(node)h(based)f
9243 (on)h(tw)o(o)f(criteria:)30 b(the)24 b(depth)f(to)g(which)g(the)h(node)
9244 f(has)h(already)0 1453 y(been)35 b(searched)g(by)g(the)f(sla)n(v)o(e,)j
9245 (and)d(the)h(node')-5 b(s)34 b(\223priority\224)g(within)f(the)i
9246 (search)g(tree.)61 b(The)35 b(\002rst)f(criterion)0 1652
9247 y(ensures)28 b(that)g(all)h(pieces)f(of)h(w)o(ork)f(are)h(searched)h
9248 (to)e(equal)g(depths.)41 b(Nodes)28 b(searched)h(to)f(shallo)n(wer)g
9249 (depths)0 1851 y(are)f(preferred)h(o)o(v)o(er)e(those)g(searched)i(to)e
9250 (deeper)i(depths,)e(because)h(the)o(y)f(represent)h(more)g(w)o(ork)f
9251 (to)h(be)f(done.)0 2051 y(In)j(Figure)g(5,)g(sla)n(v)o(e)g(1)f(has)h
9252 (master)f(leaf)i(nodes)e(1,)i(4)e(and)h(7,)h(and)e(the)o(y)g(ha)n(v)o
9253 (e)h(been)g(searched)g(to)g(depths)f(4,)h(3)0 2250 y(and)23
9254 b(0,)f(respecti)n(v)o(ely)-6 b(.)28 b(Thus,)23 b(sla)n(v)o(e)f(1)g(is)g
9255 (attempting)f(to)h(search)h(leaf)g(7)g(to)f(1)g(ply)-6
9256 b(,)22 b(and)h(will)f(continue)f(to)i(search)0 2449 y(leaf)i(7)g(up)f
9257 (to)h(3)g(ply)f(using)g(iterati)n(v)o(e)f(deepening,)h(if)h(no)g(ne)n
9258 (w)f(high-priority)f(w)o(ork)i(arri)n(v)o(es)f(from)g(the)h(master)-5
9259 b(.)146 2648 y(The)33 b(second)e(criterion)h(is)g(the)g(location)f(of)i
9260 (the)f(node)g(within)f(the)h(master')-5 b(s)31 b(latest)h(pass)f(o)o(v)
9261 o(er)h(the)g(tree.)0 2848 y(Children)e(of)g(nodes)g(are)h(usually)e
9262 (considered)h(in)g(a)g(best-to-w)o(orst)f(ordering,)i(implying)d(that)i
9263 (the)g(left-most)0 3047 y(branches)g(at)f(a)h(node)f(are)h(less)f(lik)o
9264 (ely)f(to)h(be)h(pruned)f(than)g(the)g(right-most)e(ones.)44
9265 b(F)o(or)30 b(sla)n(v)o(e)e(2)i(in)f(Figure)g(5,)0 3246
9266 y(lea)n(v)o(es)i(2)h(and)f(5)h(ha)n(v)o(e)f(both)g(been)g(searched)h
9267 (to)g(5)f(ply)-6 b(,)32 b(b)n(ut)f(leaf)h(2)f(is)g(being)g(searched)i
9268 (to)e(6)g(ply)g(since)h(it)f(is)0 3445 y(further)25 b(left)g(in)f(the)h
9269 (tree)g(than)f(leaf)i(5.)146 3645 y(Unfortunately)-6
9270 b(,)27 b(maintaining)f(a)i(complete)f(ordering)h(of)g(each)g(leaf)g(in)
9271 g(the)f(master')-5 b(s)27 b Fq(d)3251 3609 y Fp(0)3274
9272 3645 y Fu(-ply)h(tree)g(can)g(be)0 3844 y(e)o(xpensi)n(v)o(e.)33
9273 b(Thus,)25 b(APHID)i(uses)f(a)g(priority)f(scheme)h(to)g(gi)n(v)o(e)f
9274 (an)h(approximation)e(of)j(the)f(second)g(criterion.)0
9275 4043 y(The)k(formula)f(for)h(the)g(priority)f(is)g(as)h(follo)n(ws:)39
9276 b(F)o(or)30 b(each)g(principal)f(v)n(ariation)g(node)h(that)f(lies)g
9277 (on)h(the)f(path)0 4242 y(from)d(the)h(root)f(of)h(the)f(tree)h(to)f
9278 (the)h(node)f(in)h(question,)e(four)i(points)e(are)j(added)e(to)g(the)h
9279 (node')-5 b(s)26 b(priority)-6 b(.)34 b(T)-8 b(w)o(o)0
9280 4442 y(points)25 b(are)i(gi)n(v)o(en)e(to)g(the)h(node')-5
9281 b(s)26 b(priority)f(if)h(it)g(is)g(considered)g(to)g(be)g(part)g(of)g
9282 (the)h(critical)f(tree.)35 b(The)26 b(priority)0 4641
9283 y(scheme)k(ensures)g(that)g(the)g(search)h(proceeds)f(in)g(a)h(roughly)
9284 e(left-to-right)g(manner)l(,)j(and)e(that)g(nodes)f(within)0
9285 4840 y(the)e(critical)f(tree)h(are)h(preferred)f(o)o(v)o(er)f(nodes)g
9286 (that)h(might)e(not)h(be)h(e)n(v)n(aluated.)35 b(Ev)o(ery)26
9287 b(node)h(visited)e(in)h(a)h(pass)0 5039 y(of)c(the)g(game)g(tree)h(by)f
9288 (the)g(master)f(gets)h(at)h(least)e(4)i(points,)e(since)h(the)g(root)g
9289 (is)f(part)i(of)f(the)g(principal)f(v)n(ariation.)0 5239
9290 y(Nodes)i(that)g(are)h(not)f(touched)g(on)g(the)g(master')-5
9291 b(s)24 b(latest)g(pass)g(of)g(the)g(game)g(tree)h(are)g(gi)n(v)o(en)e
9292 (a)i(priority)e(of)i(zero.)1900 5589 y(14)p eop
9293 %%Page: 15 18
9294 15 17 bop 146 100 a Fu(A)21 b(node)g(with)f(zero)h(priority)f(will)g
9295 (ne)n(v)o(er)g(be)h(selected)g(for)g(further)g(search)g(by)f(a)i(sla)n
9296 (v)o(e.)28 b(F)o(or)21 b(sla)n(v)o(e)f(3,)i(notice)0
9297 299 y(that)h(leaf)g(8)h(has)f(been)g(searched)h(pre)n(viously)-6
9298 b(,)21 b(b)n(ut)i(not)f(on)h(the)g(last)g(pass.)30 b(This)22
9299 b(leaf)i(is)f(ignored)f(by)h(the)g(sla)n(v)o(e')-5 b(s)0
9300 498 y(w)o(ork)25 b(selection)f(algorithm)f(because)i(it)g(is)f(not)g
9301 (currently)h(part)g(of)f(the)h(master')-5 b(s)24 b(tree.)146
9302 697 y(If)e(there)g(are)g(nodes)g(that)f(must)f(be)i(searched)g(for)g
9303 (the)f(current)h(iteration)f(of)g(the)h(master)l(,)g(the)f(node)g(with)
9304 g(the)0 897 y(highest)27 b(priority)h(is)g(al)o(w)o(ays)g(scheduled)g
9305 (until)g(it)g(has)g(been)h(searched)g(to)f(the)h(requisite)e(depth.)42
9306 b(This)27 b(allo)n(ws)0 1096 y(the)g(master')-5 b(s)26
9307 b(de)n(v)o(elopment)f(of)i(the)g(search)g(tree)h(to)e(proceed)h(in)g
9308 (an)g(orderly)g(manner)-5 b(.)37 b(When)27 b(all)f(nodes)h(at)g(a)0
9309 1295 y(sla)n(v)o(e)d(ha)n(v)o(e)h(been)g(searched)h(to)f(the)f(master')
9310 -5 b(s)25 b(required)g(depth,)f(the)h(nodes)g(at)g(the)g(lo)n(west)e
9311 (search)j(depth)e(ha)n(v)o(e)0 1494 y(their)h(search)g(e)o(xtended,)f
9312 (with)g(priority)g(v)n(alues)g(as)h(a)g(secondary)f(consideration.)146
9313 1694 y(Before)32 b(a)f(search)g(can)g(be)f(e)o(x)o(ecuted,)h(an)g
9314 Fq(\013)q(\014)36 b Fu(search)31 b(windo)n(w)e(must)g(be)i(generated)g
9315 (by)f(the)g(sla)n(v)o(e.)47 b(The)0 1893 y(windo)n(w)29
9316 b(selection)g(algorithm)g(is)g(application-dependent.)46
9317 b(The)30 b(general-purpose)g(windo)n(w)f(selection)g(al-)0
9318 2092 y(gorithm)i(used)h(by)f(the)h(applications)f(in)h(this)f(paper)i
9319 (in)l(v)n(olv)o(ed)d(centering)i(the)g(search)h(windo)n(w)d(around)i
9320 (the)0 2291 y(probable)c(minimax)e(v)n(alue)i(of)g(the)g(game)g(tree.)
9321 41 b(The)28 b(search)g(windo)n(w)f(w)o(as)h(made)g(slightly)f(lar)n
9322 (ger)h(to)g(re\003ect)0 2491 y(the)f(amount)e(of)i(uncertainty)f(in)h
9323 (the)f(probable)h(minimax)e(v)n(alue.)36 b(Further)27
9324 b(details)f(on)h(the)f(algorithm)g(can)h(be)0 2690 y(found)d(in)h
9325 (Appendix)f(B.)0 2985 y Fg(3.4)119 b(Load)30 b(Balancing)0
9326 3252 y Fu(Although)21 b(the)i(master)g(attempts)f(to)g(gi)n(v)o(e)g(an)
9327 h(equal)g(amount)f(of)h(w)o(ork)f(to)h(each)g(sla)n(v)o(e)g(in)f
9328 (APHID,)i(neither)e(the)0 3451 y(master)h(nor)h(the)f(sla)n(v)o(e)g
9329 (can)h(predict)f(the)h(amount)e(of)i(ef)n(fort)f(required)h(to)f
9330 (complete)g(a)h Fl(\()p Fq(d)17 b Fk(\000)h Fq(d)3261
9331 3415 y Fp(0)3284 3451 y Fl(\))p Fu(-ply)23 b(search)h(for)0
9332 3650 y(a)h(gi)n(v)o(en)e(piece)j(of)e(w)o(ork.)31 b(Thus,)24
9333 b(load)g(imbalances)h(can)g(occur)-5 b(.)146 3849 y(As)22
9334 b(part)g(of)g(a)g(pass)f(of)h(the)g Fq(d)1120 3813 y
9335 Fp(0)1143 3849 y Fu(-ply)f(tree,)i(the)f(master)f(computes)g(ho)n(w)g
9336 (man)o(y)g(uncertain)g(nodes)g(it)h(is)f(w)o(aiting)0
9337 4049 y(for)i(from)g(each)h(sla)n(v)o(e.)29 b(The)23 b(master)g(can)g
9338 (mo)o(v)o(e)e(lea)n(v)o(es)i(of)g(the)g Fq(d)2258 4012
9339 y Fp(0)2281 4049 y Fu(-ply)f(tree)i(from)e(an)i Fm(o)o(verwork)o(ed)f
9340 (slave)g Fu(\(with)0 4248 y(a)g(lar)n(ge)g(number)f(of)h(uncertain)f
9341 (nodes\))g(to)g(an)h Fm(underwork)o(ed)g(slave)f Fu(\(with)g(no)g
9342 (uncertain)h(nodes\).)29 b(This)22 b(yields)0 4447 y(a)39
9343 b(tradeof)n(f)g(between)g(f)o(aster)g(con)l(v)o(er)n(gence)g(for)g(a)g
9344 (gi)n(v)o(en)f(ply)g(search)h(of)g(the)g(tree)g(and)g(additional)f
9345 (search)0 4646 y(o)o(v)o(erhead,)31 b(since)f(the)g(pre)n(vious)f
9346 (searches)i(for)f(the)g(piece)h(of)f(w)o(ork)g(to)g(be)h(mo)o(v)o(ed)d
9347 (must)i(be)g(re-searched)h(on)0 4846 y(another)25 b(processor)-5
9348 b(.)146 5045 y(The)39 b(load-balancing)e(algorithm)g(al)o(w)o(ays)h
9349 (attempts)f(to)h(strip)g(pieces)g(of)h(w)o(ork)f(a)o(w)o(ay)g(from)g
9350 (the)g(most)0 5244 y(o)o(v)o(erw)o(ork)o(ed)c(sla)n(v)o(e.)60
9351 b(The)35 b(algorithm)e(prefers)j(to)e(tak)o(e)h(pieces)g(of)g(w)o(ork)g
9352 (that)f(are)i(small,)g(since)f(the)o(y)f(lead)1900 5589
9353 y(15)p eop
9354 %%Page: 16 19
9355 16 18 bop 0 100 a Fu(to)30 b(less)f(duplicated)g(w)o(ork.)47
9356 b(The)30 b(\002rst)g(uncertain)g(node)f(encountered)h(for)h(each)f(sla)
9357 n(v)o(e)g(during)f(a)h(pass)g(is)g(not)0 299 y(considered)c(for)g
9358 (load-balancing)f(purposes,)g(since)h(it)f(is)h(lik)o(ely)f(being)g
9359 (searched)i(by)e(that)h(sla)n(v)o(e)f(at)h(this)f(time.)0
9360 498 y(Another)f(stipulation)f(is)h(that)g(the)h(same)f(piece)h(of)g(w)o
9361 (ork)g(cannot)f(be)h(mo)o(v)o(ed)e(twice)h(in)h(a)g(ro)n(w;)f(this)f
9362 (pre)n(v)o(ents)h(a)0 697 y(v)o(ery)g(small)g(piece)h(of)g(w)o(ork)g
9363 (from)f(being)h(passed)f(from)h(process)g(to)f(process.)146
9364 897 y(Another)i(cause)h(of)f(a)h(load)f(imbalance)g(is)g(a)g(piece)h
9365 (of)f(w)o(ork)g(that)g(is)g(much)g(lar)n(ger)h(than)f(the)g(other)g
9366 (pieces)0 1096 y(of)k(w)o(ork.)47 b(F)o(or)30 b(e)o(xample,)h(the)f
9367 (search)h(tree)f(for)h(a)g(node)f(along)f(the)h(principal)g(v)n
9368 (ariation)f(is)h(generally)g(much)0 1295 y(lar)n(ger)39
9369 b(than)f(the)g(last)g(subtrees)g(e)o(xamined)f(during)h(a)h(sequential)
9370 e(search.)72 b(When)38 b(there)h(is)f(such)g(a)h(lar)n(ge)0
9371 1494 y(piece)d(of)f(w)o(ork,)j(multiple)33 b(processes)i(should)f
9372 (participate)h(in)g(computing)e(the)j(minimax)d(v)n(alue.)62
9373 b(Thus,)37 b(a)0 1694 y(mechanism)27 b(is)g(needed)i(for)f(breaking)g
9374 (a)g(lar)n(ge)g(piece)h(of)f(w)o(ork)g(into)f(a)h(number)g(of)g
9375 (smaller)f(pieces)h(that)g(can)0 1893 y(be)35 b(distrib)n(uted)e(\(via)
9376 i(the)g(load-balancing)f(algorithm\))g(to)g(other)h(processes.)61
9377 b(This)34 b(can)h(be)g(accomplished)0 2092 y(by)e(mo)o(ving)e(the)i
9378 (master')-5 b(s)32 b(parallelization)g(horizon)h(deeper)h(within)e(the)
9379 h(tree)g(for)h(a)f(lar)n(ge)h(piece)f(of)g(w)o(ork.)0
9380 2291 y(This)c(allo)n(ws)f(the)h(master)g(to)g(subdi)n(vide)f(a)i
9381 (single)e(piece)i(of)g(w)o(ork)f(into)g(man)o(y)f(smaller)h(pieces.)45
9382 b(It)29 b(could)g(be)0 2491 y(said)f(that)h(the)f(lar)n(ge)h(piece)h
9383 (of)e(w)o(ork)h(is)f Fm(e)n(xempted)h Fu(from)g(the)g(parallelization)e
9384 (horizon)i(at)f Fq(d)3283 2455 y Fp(0)3306 2491 y Fu(-ply)-6
9385 b(.)42 b(Note)29 b(that)0 2690 y(ne)n(w)c(pieces)h(of)g(w)o(ork)g
9386 (created)g(from)f(e)o(x)o(emptions)f(can)i(also)f(be)h(e)o(x)o(empted.)
9387 32 b(Thus,)25 b(Figure)h(4)g(is)f(misleading;)0 2889
9388 y(APHID)g(parallelism)f(does)g(not)h(necessarily)f(occur)h(at)g(the)g
9389 (same)f(depth)h(in)f(the)h(tree.)146 3088 y(The)32 b(master)f(is)g
9390 (responsible)g(for)h(determining)e(the)i(pieces)f(of)h(w)o(ork)f(to)h
9391 (be)g(e)o(x)o(empted.)49 b(It)32 b(bases)f(these)0 3288
9392 y(decisions)22 b(on)g(the)g(sla)n(v)o(e')-5 b(s)22 b(feedback)h(on)f
9393 (the)h(ef)n(fort)f(required)h(to)f(search)h(each)g(piece)g(of)g(w)o
9394 (ork)f(\(subtree)h(size\).)0 3487 y(Periodically)-6 b(,)35
9395 b(the)f(master)g(determines)f(the)h(lar)n(gest)g(pieces)g(of)g(w)o(ork)
9396 g(that)g(ha)n(v)o(e)f(been)h(e)o(xplored)g(recently)-6
9397 b(,)0 3686 y(along)22 b(with)g(the)h(a)n(v)o(erage)g(size)g(of)g(each)h
9398 (piece)f(of)g(w)o(ork.)30 b(If)23 b(the)g(size)g(of)g(the)f(lar)n(gest)
9399 h(piece)g(of)g(w)o(ork)g(is)f Fq(v)27 b Fu(times)0 3885
9400 y(the)f(size)g(of)g(the)g(a)n(v)o(erage)g(piece)g(of)g(w)o(ork,)h(the)e
9401 (lar)n(gest)h(piece)h(of)f(w)o(ork)f(is)h(subdi)n(vided)e(in)h(future)h
9402 (searches.)35 b Fq(v)0 4085 y Fu(is)24 b(an)h(application-dependent)f
9403 (parameter)h(in)f(APHID.)146 4284 y(The)38 b(nature)h(of)f(the)g
9404 Fq(\013)q(\014)43 b Fu(algorithm)37 b(does)h(not)f(guarantee)i(that)e
9405 (man)o(y)g(more)h(w)o(ork)g(granules)g(will)f(be)0 4483
9406 y(created)27 b(if)g(the)f(search)h(horizon)f(is)g(e)o(xtended)g(by)g(a)
9407 h(single)f(ply)-6 b(.)34 b(F)o(or)27 b(e)o(xample,)f(if)g(the)h(node)f
9408 (to)g(be)h(e)o(x)o(empted)0 4682 y(is)h(a)g(CUT)h(node,)g(then)f(the)g
9409 (search)g(will)g(lik)o(ely)f(generate)i(a)f(single)g(ALL)g(node.)40
9410 b(When)29 b(APHID)f(e)o(x)o(empts)f(a)0 4882 y(lar)n(ge)i(piece)f(of)g
9411 (w)o(ork,)h(the)f(horizon)g(is)f(e)o(xtended)h(by)g(2)g(ply)f(to)h
9412 (guarantee)h(that)e(the)h(w)o(ork)g(will)g(be)g(split)f(into)0
9413 5081 y(multiple)c(pieces.)1900 5589 y(16)p eop
9414 %%Page: 17 20
9415 17 19 bop 0 100 a Fg(3.5)119 b(Exter)n(nal)30 b(Interface)g(of)f(the)h
9416 (APHID)g(Algorithm)0 366 y Fu(The)25 b(APHID)g(algorithm)f(has)h(been)g
9417 (written)f(as)h(an)g(application-independent)e(library)h(of)h(C)h
9418 (routines)e(\(using)0 565 y(PVM)37 b(for)g(process)g(communication)f
9419 ([4]\).)68 b(It)37 b(w)o(as)g(designed)f(to)h(pro)o(vide)f(minimal)f
9420 (interv)o(ention)h(into)g(a)0 765 y(w)o(orking)29 b(v)o(ersion)f(of)i
9421 (sequential)e Fq(\013)q(\014)6 b Fu(.)44 b(F)o(or)30
9422 b(a)g(program)f(to)g(use)g(the)h(library)-6 b(,)29 b(a)h(fe)n(w)g
9423 (application-dependent)0 964 y(routines)22 b(\(such)h(as)h(mo)o(v)o(e)d
9424 (format,)i(ho)n(w)g(to)g(mak)o(e/unmak)o(e)f(mo)o(v)o(es,)f(setting)h
9425 (a)i(windo)n(w)e(for)h(a)h(sla)n(v)o(e')-5 b(s)22 b(search,)0
9426 1163 y Fm(etc)p Fu(.\))39 b(must)27 b(be)h(written)e(so)i(that)f(APHID)
9427 h(can)g(access)g(the)f(required)h(information)e(without)g(ha)n(ving)h
9428 (to)g(kno)n(w)0 1362 y(the)e(data)g(structures)f(used)g(in)h(the)f
9429 (application.)146 1562 y(T)-8 b(o)25 b(parallelize)f(a)h(sequential)e
9430 Fq(\013)q(\014)30 b Fu(program,)24 b(the)g(user)h(modi\002es)e(their)i
9431 (search)g(routine)e(as)i(sho)n(wn)e(in)h(Fig-)0 1761
9432 y(ure)h(6.)32 b(The)25 b(changes)g(required)g(by)g(APHID)h(are)g(mark)o
9433 (ed)f(by)g(shading,)f(and)h(easily)f(\002t)i(into)e(the)h(standard)g
9434 Fq(\013)q(\014)0 1960 y Fu(frame)n(w)o(ork.)42 b(This)28
9435 b(one)h(piece)g(of)g(code)g(functions)e(as)i(the)g(search)g(algorithm)e
9436 (for)i(both)f(the)h(master)g(and)f(the)0 2159 y(sla)n(v)o(e)22
9437 b(processes.)30 b(The)22 b Fb(aphid)p 1144 2159 30 4
9438 v 35 w(master)f Fu(routine)h(identi\002es)g(whether)h(the)f(process)h
9439 (is)f(a)h(master)f(or)h(a)g(sla)n(v)o(e.)0 2359 y(The)j(master)f(uses)h
9440 Fb(aphid)p 976 2359 V 34 w(horizon)f Fu(to)g(tell)g(if)h(it)f(is)h(at)f
9441 (a)i(leaf)f(node)f(in)h(its)f(tree.)34 b(Since)26 b(games)f(are)h
9442 (played)0 2558 y(under)31 b(real-time)g(constraints,)g
9443 Fb(aphid)p 1444 2558 V 35 w(checkalarm)e Fu(is)i(periodically)f(called)
9444 h(to)g(check)h(whether)f(there)0 2757 y(is)i(a)h(reason)g(to)g(abort)f
9445 (the)h(search.)58 b Fb(Aphid)p 1621 2757 V 35 w(intnode)p
9446 2076 2757 V 34 w(start)33 b Fu(and)h Fb(aphid)p 2921
9447 2757 V 35 w(intnode)p 3376 2757 V 34 w(end)f Fu(tell)g(the)0
9448 2956 y(master)27 b(that)g(a)h(search)g(is)f(be)o(ginning/ending)e(for)j
9449 (this)e(interior)h(node.)39 b(Which)27 b(searching)h(an)f(interior)g
9450 (node,)0 3156 y Fb(aphid)p 306 3156 V 35 w(intmnode)p
9451 821 3156 V 34 w(move)18 b Fu(k)o(eeps)h(track)g(of)g(which)f(mo)o(v)o
9452 (e)f(is)i(being)f(searched,)j(and)d Fb(aphid)p 3359 3156
9453 V 35 w(intnode)p 3814 3156 V 34 w(update)0 3355 y Fu(records)25
9454 b(the)g(v)n(alue)f(of)h(the)g(search.)146 3554 y(In)32
9455 b(addition)e(to)i(the)f(abo)o(v)o(e,)h(approximately)e(10)i(lines)f(of)
9456 g(code)h(ha)n(v)o(e)f(to)h(be)f(added)h(outside)f(of)g(the)h
9457 Fq(\013)q(\014)0 3753 y Fu(algorithm)25 b(to)g(allo)n(w)g(APHID)i(to)f
9458 (mak)o(e)g(the)g(sequential)f(program)h(into)f(a)h(parallel)g(program.)
9459 35 b(More)26 b(speci\002c)0 3953 y(information)d(on)i(each)g(of)g(the)g
9460 Fb(aphid)p 1388 3953 V 59 w Fu(functions)f(and)h(call-back)g(routines)f
9461 (can)h(be)g(found)f(else)n(where)h([2].)146 4152 y(Other)31
9462 b(parallel)f Fq(\013)q(\014)6 b Fu(-based)30 b(algorithms)f(require)i
9463 (signi\002cant)f(changes)h(to)f(the)g(sequential)g(search)h(algo-)0
9464 4351 y(rithms)24 b(used)i(in)f(practice.)34 b(If)26 b(the)f(search)i
9465 (algorithm)d(has)i(been)f(designed)g(without)g(re)o(gard)g(for)h
9466 (multitasking)0 4550 y(or)f(a)f(speci\002c)h(parallel)g(model,)e(inte)o
9467 (grating)g(a)i(parallel)f(algorithm)f(into)h(the)g(code)h(can)f(be)h(a)
9468 g(signi\002cant)f(task.)0 4750 y(By)33 b(using)e(the)h(sequential)f
9469 (algorithm)g(and)h(call-back)h(functions)e(to)h(the)g(user')-5
9470 b(s)31 b(code)i(whene)n(v)o(er)f(possible,)0 4949 y(APHID)25
9471 b(represents)f(a)g(signi\002cant)g(decrease)h(in)e(the)h(ef)n(fort)g
9472 (required)h(to)e(achie)n(v)o(e)h(a)g(w)o(orking)g(parallel)g(game-)0
9473 5148 y(tree)h(search)h(program)e(o)o(v)o(er)g(its)g(synchronous)g
9474 (counterparts.)1900 5589 y(17)p eop
9475 %%Page: 18 21
9476 18 20 bop 789 188 a
9477  18334146 37416636 11972280 9472573 28220375 42626580 startTexFig
9478  789 188 a
9479 %%BeginDocument: pics/aphidcode-alphabeta.ps
9480 %Magnification: 0.50
9481 /$F2psDict 200 dict def
9482 $F2psDict begin
9483 $F2psDict /mtrx matrix put
9484 /col-1 {0 setgray} bind def
9485 /col0 {0.000 0.000 0.000 srgb} bind def
9486 /col1 {0.000 0.000 1.000 srgb} bind def
9487 /col2 {0.000 1.000 0.000 srgb} bind def
9488 /col3 {0.000 1.000 1.000 srgb} bind def
9489 /col4 {1.000 0.000 0.000 srgb} bind def
9490 /col5 {1.000 0.000 1.000 srgb} bind def
9491 /col6 {1.000 1.000 0.000 srgb} bind def
9492 /col7 {1.000 1.000 1.000 srgb} bind def
9493 /col8 {0.000 0.000 0.560 srgb} bind def
9494 /col9 {0.000 0.000 0.690 srgb} bind def
9495 /col10 {0.000 0.000 0.820 srgb} bind def
9496 /col11 {0.530 0.810 1.000 srgb} bind def
9497 /col12 {0.000 0.560 0.000 srgb} bind def
9498 /col13 {0.000 0.690 0.000 srgb} bind def
9499 /col14 {0.000 0.820 0.000 srgb} bind def
9500 /col15 {0.000 0.560 0.560 srgb} bind def
9501 /col16 {0.000 0.690 0.690 srgb} bind def
9502 /col17 {0.000 0.820 0.820 srgb} bind def
9503 /col18 {0.560 0.000 0.000 srgb} bind def
9504 /col19 {0.690 0.000 0.000 srgb} bind def
9505 /col20 {0.820 0.000 0.000 srgb} bind def
9506 /col21 {0.560 0.000 0.560 srgb} bind def
9507 /col22 {0.690 0.000 0.690 srgb} bind def
9508 /col23 {0.820 0.000 0.820 srgb} bind def
9509 /col24 {0.500 0.190 0.000 srgb} bind def
9510 /col25 {0.630 0.250 0.000 srgb} bind def
9511 /col26 {0.750 0.380 0.000 srgb} bind def
9512 /col27 {1.000 0.500 0.500 srgb} bind def
9513 /col28 {1.000 0.630 0.630 srgb} bind def
9514 /col29 {1.000 0.750 0.750 srgb} bind def
9515 /col30 {1.000 0.880 0.880 srgb} bind def
9516 /col31 {1.000 0.840 0.000 srgb} bind def
9517
9518 end
9519 save
9520 151.5 664.0 translate
9521 1 -1 scale
9522
9523 /cp {closepath} bind def
9524 /ef {eofill} bind def
9525 /gr {grestore} bind def
9526 /gs {gsave} bind def
9527 /sa {save} bind def
9528 /rs {restore} bind def
9529 /l {lineto} bind def
9530 /m {moveto} bind def
9531 /rm {rmoveto} bind def
9532 /n {newpath} bind def
9533 /s {stroke} bind def
9534 /sh {show} bind def
9535 /slc {setlinecap} bind def
9536 /slj {setlinejoin} bind def
9537 /slw {setlinewidth} bind def
9538 /srgb {setrgbcolor} bind def
9539 /rot {rotate} bind def
9540 /sc {scale} bind def
9541 /sd {setdash} bind def
9542 /ff {findfont} bind def
9543 /sf {setfont} bind def
9544 /scf {scalefont} bind def
9545 /sw {stringwidth} bind def
9546 /tr {translate} bind def
9547 /tnt {dup dup currentrgbcolor
9548   4 -2 roll dup 1 exch sub 3 -1 roll mul add
9549   4 -2 roll dup 1 exch sub 3 -1 roll mul add
9550   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
9551   bind def
9552 /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
9553   4 -2 roll mul srgb} bind def
9554 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
9555 /$F2psEnd {$F2psEnteredState restore end} def
9556
9557 $F2psBegin
9558 10 setmiterlimit
9559 n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
9560  0.03000 0.03000 sc
9561 % Polyline
9562 n 1150 5445 m 9150 5445 l 9150 5645 l 1150 5645 l cp gs 0.90 setgray ef gr 
9563 % Polyline
9564 n 1150 7245 m 9150 7245 l 9150 7845 l 1150 7845 l cp gs 0.90 setgray ef gr 
9565 % Polyline
9566 n 1150 8645 m 9150 8645 l 9150 9445 l 1150 9445 l cp gs 0.90 setgray ef gr 
9567 % Polyline
9568 n 1150 10045 m 9150 10045 l 9150 10245 l 1150 10245 l cp gs 0.90 setgray ef gr 
9569 % Polyline
9570 n 1150 10645 m 9150 10645 l 9150 10845 l 1150 10845 l cp gs 0.90 setgray ef gr 
9571 % Polyline
9572 n 1150 12645 m 9150 12645 l 9150 12845 l 1150 12845 l cp gs 0.90 setgray ef gr 
9573 % Polyline
9574 n 1150 14645 m 9150 14645 l 9150 14845 l 1150 14845 l cp gs 0.90 setgray ef gr 
9575 7.500 slw
9576 % Polyline
9577 n 1050 575 m 9250 575 l 9250 17300 l 1050 17300 l cp gs col-1 s gr 
9578 /Courier ff 180.00 scf sf
9579 1500 1400 m
9580 gs 1 -1 sc (int numOfSuccessors;) col-1 sh gr
9581 /Courier ff 180.00 scf sf
9582 1500 1600 m
9583 gs 1 -1 sc (int gamma;) col-1 sh gr
9584 /Courier ff 180.00 scf sf
9585 1500 1800 m
9586 gs 1 -1 sc (int i;) col-1 sh gr
9587 /Courier ff 180.00 scf sf
9588 1500 2000 m
9589 gs 1 -1 sc (int sc;) col-1 sh gr
9590 /Courier ff 180.00 scf sf
9591 1500 2200 m
9592 gs 1 -1 sc (int under;) col-1 sh gr
9593 /Courier ff 180.00 scf sf
9594 9000 1800 m
9595 gs 1 -1 sc (/* move counter */) dup sw pop neg 0 rm  col-1 sh gr
9596 /Courier ff 180.00 scf sf
9597 9000 2000 m
9598 gs 1 -1 sc (/* score returned by search */) dup sw pop neg 0 rm  col-1 sh gr
9599 /Courier ff 180.00 scf sf
9600 9000 2200 m
9601 gs 1 -1 sc (/* alpha for move to be searched */) dup sw pop neg 0 rm  col-1 sh gr
9602 /Courier ff 180.00 scf sf
9603 9000 2400 m
9604 gs 1 -1 sc (/* beta for move to be searched */) dup sw pop neg 0 rm  col-1 sh gr
9605 /Courier ff 180.00 scf sf
9606 1500 4400 m
9607 gs 1 -1 sc (/* Generate hash value and key for this position */) col-1 sh gr
9608 /Courier ff 180.00 scf sf
9609 1500 4800 m
9610 gs 1 -1 sc (/* Fetch information from transposition table  */) col-1 sh gr
9611 /Courier ff 180.00 scf sf
9612 1500 5600 m
9613 gs 1 -1 sc (if \(aphid_master\(\) == FALSE && h_length >= plytogo\) {) col-1 sh gr
9614 /Courier ff 180.00 scf sf
9615 1800 5800 m
9616 gs 1 -1 sc (if \(flag == VALID\)  { return\(h_score\); }) col-1 sh gr
9617 /Courier ff 180.00 scf sf
9618 1800 6000 m
9619 gs 1 -1 sc (if \(flag == LBOUND\) { alpha = max\(alpha,h_score\); }) col-1 sh gr
9620 /Courier ff 180.00 scf sf
9621 1800 6200 m
9622 gs 1 -1 sc (if \(flag == UBOUND\) { beta = min\(beta,h_score\); }) col-1 sh gr
9623 /Courier ff 180.00 scf sf
9624 1800 6400 m
9625 gs 1 -1 sc (if \(alpha >= beta\)  { return\(h_score\); }) col-1 sh gr
9626 /Courier ff 180.00 scf sf
9627 1500 6600 m
9628 gs 1 -1 sc (}) col-1 sh gr
9629 /Courier ff 180.00 scf sf
9630 1500 7000 m
9631 gs 1 -1 sc (/* Evaluate position if at bottom of tree */) col-1 sh gr
9632 /Courier ff 180.00 scf sf
9633 1500 5400 m
9634 gs 1 -1 sc (/* If we have searched position deep enough, use score info */) col-1 sh gr
9635 /Courier ff 180.00 scf sf
9636 1500 7200 m
9637 gs 1 -1 sc (if \(plytogo == 0\) { return\(Evaluate\(p\)\); }) col-1 sh gr
9638 /Courier ff 180.00 scf sf
9639 1500 4600 m
9640 gs 1 -1 sc (generate_hash\(p, p_hash, p_key\);) col-1 sh gr
9641 /Courier ff 180.00 scf sf
9642 1500 5000 m
9643 gs 1 -1 sc (retrieve\(p_hash, p_key, p_entry, h_length, h_score, h_flag, h_move\);) col-1 sh gr
9644 /Courier ff 180.00 scf sf
9645 1500 7400 m
9646 gs 1 -1 sc (if \(aphid_horizon\(depth, plytogo, p_hash, p_key\) == TRUE\) {) col-1 sh gr
9647 /Courier ff 180.00 scf sf
9648 1800 7600 m
9649 gs 1 -1 sc (return\(aphid_eval_leaf\(alpha, beta, depth, plytogo, p_hash, p_key\)\);) col-1 sh gr
9650 /Courier ff 180.00 scf sf
9651 1500 7800 m
9652 gs 1 -1 sc (}) col-1 sh gr
9653 /Courier ff 180.00 scf sf
9654 1500 8200 m
9655 gs 1 -1 sc (/* Generate move list, evaluate position if no moves */) col-1 sh gr
9656 /Courier ff 180.00 scf sf
9657 1500 8400 m
9658 gs 1 -1 sc (numOfSuccessors = GenerateSuccessors\(p\);) col-1 sh gr
9659 /Courier ff 180.00 scf sf
9660 1500 8600 m
9661 gs 1 -1 sc (if \(numOfSuccessors == 0\) { return\(Evaluate\(p\)\); }) col-1 sh gr
9662 /Courier ff 180.00 scf sf
9663 1500 8800 m
9664 gs 1 -1 sc (if \(aphid_checkalarm\(FALSE\) != FALSE\) {) col-1 sh gr
9665 /Courier ff 180.00 scf sf
9666 1800 9000 m
9667 gs 1 -1 sc (terminate_search = TRUE;) col-1 sh gr
9668 /Courier ff 180.00 scf sf
9669 1500 9400 m
9670 gs 1 -1 sc (}) col-1 sh gr
9671 /Courier ff 180.00 scf sf
9672 1500 10000 m
9673 gs 1 -1 sc (under = alpha;   over = beta;) col-1 sh gr
9674 /Courier ff 180.00 scf sf
9675 1500 10200 m
9676 gs 1 -1 sc (aphid_intnode_start\(depth, p_hash, p_key\);) col-1 sh gr
9677 /Courier ff 180.00 scf sf
9678 1800 11800 m
9679 gs 1 -1 sc (if \(sc > under && i > 1 && sc < beta && plytogo > 2\) {) col-1 sh gr
9680 /Courier ff 180.00 scf sf
9681 2100 12000 m
9682 gs 1 -1 sc (sc = -AlphaBeta\(p,-beta,-sc,plytogo-1\);) col-1 sh gr
9683 /Courier ff 180.00 scf sf
9684 1800 11600 m
9685 gs 1 -1 sc (/* Is a research necessary? */) col-1 sh gr
9686 /Courier ff 180.00 scf sf
9687 1800 11400 m
9688 gs 1 -1 sc (sc = -AlphaBeta\(p,-over,-under,plytogo-1\);) col-1 sh gr
9689 /Courier ff 180.00 scf sf
9690 1800 10800 m
9691 gs 1 -1 sc (aphid_intnode_move\(depth, &\(movelist[i]\)\);) col-1 sh gr
9692 /Courier ff 180.00 scf sf
9693 1800 11000 m
9694 gs 1 -1 sc (make_move\(p, movelist[i]\);) col-1 sh gr
9695 /Courier ff 180.00 scf sf
9696 1500 3000 m
9697 gs 1 -1 sc (char *p_hash;) col-1 sh gr
9698 /Courier ff 180.00 scf sf
9699 1500 3200 m
9700 gs 1 -1 sc (char *p_key;) col-1 sh gr
9701 /Courier ff 180.00 scf sf
9702 1500 3400 m
9703 gs 1 -1 sc (int h_length;) col-1 sh gr
9704 /Courier ff 180.00 scf sf
9705 1500 3600 m
9706 gs 1 -1 sc (int h_score;) col-1 sh gr
9707 /Courier ff 180.00 scf sf
9708 1500 3800 m
9709 gs 1 -1 sc (int h_flag;) col-1 sh gr
9710 /Courier ff 180.00 scf sf
9711 1500 2800 m
9712 gs 1 -1 sc (char *p_entry;) col-1 sh gr
9713 /Courier ff 180.00 scf sf
9714 9000 2800 m
9715 gs 1 -1 sc (/* pointer to physical location of TT entry */) dup sw pop neg 0 rm  col-1 sh gr
9716 /Courier ff 180.00 scf sf
9717 9000 3000 m
9718 gs 1 -1 sc (/* pointer to hash value */) dup sw pop neg 0 rm  col-1 sh gr
9719 /Courier ff 180.00 scf sf
9720 9000 3200 m
9721 gs 1 -1 sc (/* pointer to hash table lock */) dup sw pop neg 0 rm  col-1 sh gr
9722 /Courier ff 180.00 scf sf
9723 9000 3400 m
9724 gs 1 -1 sc (/* ply position previously searched to */) dup sw pop neg 0 rm  col-1 sh gr
9725 /Courier ff 180.00 scf sf
9726 9000 3600 m
9727 gs 1 -1 sc (/* score at h_length ply from TT */) dup sw pop neg 0 rm  col-1 sh gr
9728 /Courier ff 180.00 scf sf
9729 9000 3800 m
9730 gs 1 -1 sc (/* type of score \(VALID, LBOUND or UBOUND\) */) dup sw pop neg 0 rm  col-1 sh gr
9731 /Courier ff 180.00 scf sf
9732 9000 4000 m
9733 gs 1 -1 sc (/* recommended move from TT */) dup sw pop neg 0 rm  col-1 sh gr
9734 /Courier ff 180.00 scf sf
9735 1500 4000 m
9736 gs 1 -1 sc (move h_move;) col-1 sh gr
9737 /Courier ff 180.00 scf sf
9738 1500 2400 m
9739 gs 1 -1 sc (int over;) col-1 sh gr
9740 /Courier ff 180.00 scf sf
9741 1500 2600 m
9742 gs 1 -1 sc (move move_opt;) col-1 sh gr
9743 /Courier ff 180.00 scf sf
9744 9000 2600 m
9745 gs 1 -1 sc (/* current best move */) dup sw pop neg 0 rm  col-1 sh gr
9746 /Courier ff 180.00 scf sf
9747 1800 12800 m
9748 gs 1 -1 sc (aphid_intnode_update\(depth, value\);) col-1 sh gr
9749 /Courier ff 180.00 scf sf
9750 1500 1200 m
9751 gs 1 -1 sc (move movelist[MAX_LEGAL_MOVES];) col-1 sh gr
9752 /Courier ff 180.00 scf sf
9753 9000 1200 m
9754 gs 1 -1 sc (/* ordered list of all moves */) dup sw pop neg 0 rm  col-1 sh gr
9755 /Courier ff 180.00 scf sf
9756 9000 1400 m
9757 gs 1 -1 sc (/* total number of moves in movelist[] */) dup sw pop neg 0 rm  col-1 sh gr
9758 /Courier ff 180.00 scf sf
9759 9000 1600 m
9760 gs 1 -1 sc (/* current best minimax value */) dup sw pop neg 0 rm  col-1 sh gr
9761 /Courier ff 180.00 scf sf
9762 1500 10600 m
9763 gs 1 -1 sc (for\(i=1; \(i <= numOfSuccessors && score <= beta\); i++\) {) col-1 sh gr
9764 /Courier ff 180.00 scf sf
9765 1800 14000 m
9766 gs 1 -1 sc (/* set window for next child */) col-1 sh gr
9767 /Courier ff 180.00 scf sf
9768 1800 14200 m
9769 gs 1 -1 sc (under = max\(gamma, alpha\);  over = under + 1;) col-1 sh gr
9770 /Courier ff 180.00 scf sf
9771 1500 14400 m
9772 gs 1 -1 sc (}) col-1 sh gr
9773 /Courier ff 180.00 scf sf
9774 1500 15200 m
9775 gs 1 -1 sc (/* Write information into transposition table */) col-1 sh gr
9776 /Courier ff 180.00 scf sf
9777 1800 13000 m
9778 gs 1 -1 sc (if \(sc > gamma\) {) col-1 sh gr
9779 /Courier ff 180.00 scf sf
9780 2100 13200 m
9781 gs 1 -1 sc (gamma = sc;) col-1 sh gr
9782 /Courier ff 180.00 scf sf
9783 2100 13400 m
9784 gs 1 -1 sc (move_opt = movelist[i];) col-1 sh gr
9785 /Courier ff 180.00 scf sf
9786 1800 13600 m
9787 gs 1 -1 sc (}) col-1 sh gr
9788 /Courier ff 180.00 scf sf
9789 1500 9800 m
9790 gs 1 -1 sc (gamma = -INFINITY;) col-1 sh gr
9791 /Courier ff 180.00 scf sf
9792 1500 14800 m
9793 gs 1 -1 sc (aphid_intnode_end\(depth, score, beta\); ) col-1 sh gr
9794 /Courier ff 180.00 scf sf
9795 1800 12200 m
9796 gs 1 -1 sc (}) col-1 sh gr
9797 /Courier ff 180.00 scf sf
9798 1800 12600 m
9799 gs 1 -1 sc (unmake_move\(p, movelist[i]\);) col-1 sh gr
9800 /Courier ff 180.00 scf sf
9801 1500 15400 m
9802 gs 1 -1 sc (h_flag = VALID;) col-1 sh gr
9803 /Courier ff 180.00 scf sf
9804 1500 15600 m
9805 gs 1 -1 sc (if \(score <= alpha\) { h_flag = LBOUND; }) col-1 sh gr
9806 /Courier ff 180.00 scf sf
9807 1500 16000 m
9808 gs 1 -1 sc (if \(h_length <= plytogo\) {) col-1 sh gr
9809 /Courier ff 180.00 scf sf
9810 1500 15800 m
9811 gs 1 -1 sc (if \(score >= beta\) { h_flag = UBOUND; }) col-1 sh gr
9812 /Courier ff 180.00 scf sf
9813 1500 16400 m
9814 gs 1 -1 sc (}) col-1 sh gr
9815 /Courier ff 180.00 scf sf
9816 1800 16200 m
9817 gs 1 -1 sc (p_entry = store\(p_hash, p_key, plytogo, score, h_flag, move_opt\);) col-1 sh gr
9818 /Courier ff 180.00 scf sf
9819 1200 17200 m
9820 gs 1 -1 sc (} /* AlphaBeta */) col-1 sh gr
9821 /Courier ff 180.00 scf sf
9822 1200 800 m
9823 gs 1 -1 sc (int AlphaBeta\(position p, int alpha, int beta, int depth, int plytogo\) {) col-1 sh gr
9824 /Courier ff 180.00 scf sf
9825 1800 9200 m
9826 gs 1 -1 sc (return\(0\);  /* Should exit AlphaBeta quickly when alarm on */) col-1 sh gr
9827 /Courier ff 180.00 scf sf
9828 1500 16800 m
9829 gs 1 -1 sc (return\(gamma\);) col-1 sh gr
9830 showpage
9831 $F2psEnd
9832 rs
9833 %%EndDocument
9834
9835  endTexFig
9836  770 5131 a Fu(Figure)25 b(6:)30 b(Code)c(Example:)j(APHID)d(within)d
9837 (the)i Fq(\013)q(\014)30 b Fu(Algorithm)1900 5589 y(18)p
9838 eop
9839 %%Page: 19 22
9840 19 21 bop 146 100 a Fu(It)23 b(should)f(also)h(be)g(noted)f(that,)h(in)
9841 g(terms)f(of)h(ease)h(of)f(use,)g(the)g(APHID)g(library)g(is)f(almost)g
9842 (unique.)29 b(Gi)n(v)o(en)0 299 y(an)22 b Fq(\013)q(\014)27
9843 b Fu(program)21 b(with)g(the)g(code)h(structured)f(to)g(use)g(the)h
9844 (Cilk)f(directi)n(v)o(es,)g(then)g(parallel)g Fm(sync)o(hr)l(onous)f
9845 Fu(search)0 498 y(algorithms,)f(such)g(as)h(YBWC)h(and)e(PV)-10
9846 b(-Split,)21 b(can)f(be)f(easily)h(implemented)e([1].)29
9847 b(Cilk)19 b(uses)g(multiple)f(threads)0 697 y(to)27 b(coordinate)g(the)
9848 g(search,)h(where)g(each)f(thread)h(represents)f(a)g(node)g(where)h(w)o
9849 (ork)f(has)g(been)g(split)f(of)n(f)h(from)0 897 y(its)d(parent.)0
9850 1236 y Fo(4)143 b(Experimental)33 b(Results)0 1539 y
9851 Fu(Most)c(authors)g(demonstrate)h(the)g(ef)n(fecti)n(v)o(eness)e(of)i
9852 (their)g(parallel)g(algorithm)f(using)g(a)h(single)f(application.)0
9853 1738 y(Chess)40 b(is)f(often)h(chosen)g(because)g(synchronous)f
9854 (algorithms)f(usually)h(yield)g(good)g(speedups)g(when)h(the)0
9855 1937 y(branching)24 b(f)o(actor)i(is)e(lar)n(ge.)31 b(In)25
9856 b(contrast,)g(APHID')-5 b(s)25 b(performance)g(will)f(be)h(presented)g
9857 (using)f(four)g(dif)n(ferent)0 2136 y(applications,)35
9858 b(each)g(written)f(by)g(dif)n(ferent)g(authors)g(and)g(with)f(dif)n
9859 (ferent)h(coding)g(styles.)58 b(This)34 b(ambitious)0
9860 2336 y(comparison)27 b(of)i(performance)g(in)f(multiple)e(application)i
9861 (domains)f(is)h(feasible)g(because)h(of)f(APHID')-5 b(s)29
9862 b(ease)0 2535 y(of)c(inte)o(gration)e(into)h(an)h(e)o(xisting)e
9863 (sequential)h(program.)146 2734 y(This)34 b(section)f(presents)h(e)o
9864 (xperimental)e(results)i(for)g(APHID.)g(Section)g(4.1)g(describes)g
9865 (the)g(e)o(xperimen-)0 2933 y(tal)h(methodology)-6 b(.)60
9866 b(Section)36 b(4.2)f(describes)g(the)g(o)o(v)o(erhead)g(model)g(used)g
9867 (to)g(analyze)h(performance.)63 b(The)0 3133 y(e)o(xperimental)24
9868 b(results)g(are)h(presented)g(in)f(Section)h(4.3.)0 3428
9869 y Fg(4.1)119 b(Methodology)0 3694 y Fu(APHID)19 b(has)g(been)g
9870 (implemented)e(in)i(four)g(applications:)28 b(C)t Fa(H)t(I)t(N)t(O)t(O)
9871 t(K)r Fu(,)e(C)t Fa(R)t(A)t(F)t(T)t(Y)r Fu(,)h(K)t Fa(E)t(Y)-6
9872 b(A)t(N)t(O)25 b Fu(and)c(T)t Fa(H)t(E)t Fu(T)t Fa(U)t(R)t(K)r
9873 Fu(.)2 3893 y(C)t Fa(H)t(I)t(N)t(O)t(O)t(K)26 b Fu(is)20
9874 b(the)g(Man)g(vs.)28 b(Machine)20 b(W)-8 b(orld)20 b(Check)o(ers)h
9875 (Champion)e(program)h(\(principal)f(author:)28 b(Jonathan)0
9876 4093 y(Schaef)n(fer\).)37 b(K)t Fa(E)t(Y)-6 b(A)t(N)t(O)32
9877 b Fu(is)25 b(a)h(state-of-the-art)g(Othello)e(program,)i(which)f(rank)o
9878 (ed)h(among)f(the)h(top)f(\002)n(v)o(e)g(com-)0 4292
9879 y(puter)32 b(Othello)e(programs)h(w)o(orldwide)g(from)h(1992)f(to)g
9880 (1996)g(\(author:)44 b(Mark)32 b(Brockington\).)52 b(C)t
9881 Fa(R)t(A)t(F)t(T)t(Y)40 b Fu(is)0 4491 y(a)35 b(strong)f(free)n(w)o
9882 (are)i(chess)f(program)g(\(author:)51 b(Robert)35 b(Hyatt\).)63
9883 b(T)t Fa(H)t(E)t Fu(T)t Fa(U)t(R)t(K)42 b Fu(is)34 b(a)h(strong)g
9884 (chess)f(program)0 4690 y(designed)g(by)h(tw)o(o)g(graduate)g(students)
9885 f(at)h(the)g(Uni)n(v)o(ersity)e(of)i(Alberta)g(\(Andreas)g(Junghanns)f
9886 (and)h(Yngvi)0 4890 y(Bjornsson\).)63 b(Both)36 b(chess)g(programs)g
9887 (ha)n(v)o(e)f(been)h(participants)f(in)h(a)g(W)-8 b(orld)36
9888 b(Computer)f(Chess)h(Champi-)0 5089 y(onsip.)52 b(All)32
9889 b(of)g(the)g(applications)f(ha)n(v)o(e)h(a)h(\002nely-tuned)f
9890 (sequential)f(search)i(algorithm)e(that)h(considers)f(the)0
9891 5288 y(best)e(mo)o(v)o(e)e(\002rst)i(approximately)e(90\045)i(\(or)g
9892 (more\))g(of)g(the)g(time.)42 b(In)29 b(practice,)h(the)o(y)e(each)i
9893 (search)f(trees)h(that)1900 5589 y(19)p eop
9894 %%Page: 20 23
9895 20 22 bop 0 100 a Fu(are)26 b(close)e(to)h(the)f(critical)h(tree)g(in)f
9896 (size.)146 299 y(All)g(e)o(xperiments)f(were)j(performed)e(on)g(a)h
9897 (Silicon)f(Graphics)h(Origin)e(2000)h(with)g(64)g(processors.)3631
9898 263 y Fn(6)3701 299 y Fu(Each)0 498 y(of)34 b(the)g(applications)e
9899 (were)j(compiled)e(with)g(SGI')-5 b(s)34 b Fb(cc)g Fu(compiler)-5
9900 b(.)57 b(F)o(or)34 b(the)g(parallel)g(tests,)h(tw)o(o)e(dif)n(ferent)0
9901 697 y(v)o(ersions)h(of)i(the)g(code)g(were)g(compiled.)62
9902 b(The)36 b(\002rst)g(parallel)f(program)h(could)f(be)h(used)f(at)h
9903 (run-time)f(as)h(a)0 897 y(master)30 b(or)g(a)g(sla)n(v)o(e)g(by)f
9904 (APHID.)i(The)f(second)g(program)g(w)o(as)g(an)g(e)o(x)o(ecutable)f
9905 (that)h(could)f(only)g(be)i(used)e(by)0 1096 y(APHID)34
9906 b(as)f(a)h(sla)n(v)o(e.)55 b(This)33 b(separation)g(impro)o(v)o(ed)e
9907 (performance,)36 b(since)d(a)h(number)e(of)i(callback)f(routines)0
9908 1295 y(used)25 b(only)f(by)g(the)h(master)f(impacted)g(the)h
9909 (performance)g(of)g(the)g(sla)n(v)o(es)f(when)g(left)h(in)g(the)f
9910 Fq(\013)q(\014)30 b Fu(algorithm.)146 1494 y(P)o(arallel)i(and)g
9911 (sequential)f(algorithms)f(often)h(do)h(not)f(agree)i(with)e(each)h
9912 (other)f(about)h(the)f(search)i(result)0 1694 y(\(v)n(alue)24
9913 b(and/or)g(best)g(mo)o(v)o(e\))f(when)h(the)h(full)f(v)o(ersion)f(of)h
9914 (the)h(program)f(is)g(used)g([12].)31 b(F)o(or)24 b(e)o(xample,)f(dif)n
9915 (ferent)0 1893 y(search)g(windo)n(ws)e(can)i(cause)g(dif)n(ferent)f
9916 (search)h(e)o(xtensions)e(to)h(be)g(turned)h(on,)f(resulting)g(in)g(a)h
9917 (dif)n(ferent)f(v)n(alue)0 2092 y(at)33 b(the)h(root.)56
9918 b(One)33 b(w)o(ould)g(prefer)h(that)f(the)g(parallel)g(and)h
9919 (sequential)e(algorithms)g(return)h(identical)g(v)n(alues)0
9920 2291 y(and)26 b(principal)f(v)n(ariations,)g(allo)n(wing)f(for)i(a)g
9921 (meaningful)f(comparison.)33 b(It)26 b(is)f(dif)n(\002cult)g(to)h(mak)o
9922 (e)f(this)g(happen)0 2491 y(without)i(se)n(v)o(erely)h(crippling)g(the)
9923 h(program')-5 b(s)28 b(sequential)f(search)j(algorithm.)41
9924 b(As)29 b(a)g(compromise,)f(most)g(of)0 2690 y(the)20
9925 b(search)i(result)e(dif)n(ferences)h(can)g(be)f(eliminated)g(by)g
9926 (disabling)f(all)h Fq(\013)q(\014)26 b Fu(windo)n(w-based)20
9927 b(search)h(e)o(xtensions)0 2889 y(and)h(reductions.)30
9928 b(This)21 b(does)i(not)f(imply)f(that)h(a)h(\002x)o(ed)f(search)h
9929 (depth)f(w)o(as)h(enforced)g(on)f(the)g(programs.)30
9930 b(As)22 b(an)0 3088 y(e)o(xample,)30 b(the)g(check)o(ers)g(and)g(chess)
9931 g(programs)f(still)g(used)g(quiescence)h(search)h(to)e(e)o(xtend)g(the)
9932 h(search)g(well)0 3288 y(be)o(yond)24 b(the)g Fq(d)p
9933 Fu(-ply)g(search)i(horizon.)146 3487 y(The)g(size)f(of)g(each)h(of)g
9934 (the)f(searches)h(is)f(important)e(to)i(the)g(observ)o(ed)g(speedup.)32
9935 b(In)25 b(synchronous)f(parallel)0 3686 y(game-tree)h(search)g
9936 (algorithms,)e(the)i(speedup)f(can)h(be)g(impro)o(v)o(ed)e(arbitrarily)
9937 h(by)h(increasing)f(the)h(size)f(of)h(the)0 3885 y(search)e([15].)30
9938 b(Ho)n(we)n(v)o(er)l(,)21 b(searching)h(game)g(trees)g(that)g(occur)g
9939 (under)g(tournament)f(time)h(controls)f(is)h(critical)f(to)0
9940 4085 y(assessing)e(a)h(parallel)f(game-tree)h(search)g(algorithm')-5
9941 b(s)18 b(performance.)29 b(Thus,)20 b(the)g(size)f(of)h(the)g(indi)n
9942 (vidual)d(tests)0 4284 y(w)o(as)24 b(limited)e(so)h(that)h(the)f(a)n(v)
9943 o(erage)h(time)f(spent)g(searching)h(on)f(a)h(64-processor)g(machine)f
9944 (did)g(not)g(e)o(xceed)h(the)0 4483 y(usual)e(time)h(controls)f(in)g
9945 (the)h(game)f(being)h(studied.)29 b(This)22 b(is)h(180)f(seconds)h(in)f
9946 (chess,)h(60)g(seconds)g(in)f(Othello,)0 4682 y(and)29
9947 b(120)g(seconds)g(in)f(the)h(game)g(of)g(check)o(ers.)45
9948 b(Consequently)-6 b(,)29 b(the)g(search)g(depth)g(achie)n(v)o(ed)f
9949 (depended)h(on)0 4882 y(the)f(game)g(being)g(studied)f(and)i(the)f
9950 (position)e(being)i(tested.)41 b(F)o(or)29 b(check)o(ers,)g(the)g
9951 (search)g(depth)e(v)n(aried)h(from)0 5081 y(25)h(to)f(29)h(ply)-6
9952 b(,)29 b(while)f(for)h(chess)g(it)g(w)o(as)g(11)f(or)i(12)e(ply)-6
9953 b(.)42 b(F)o(or)29 b(Othello,)g(all)g(positions)e(were)i(searched)h(15)
9954 f(ply)p 0 5171 1560 4 v 112 5232 a Fj(6)149 5262 y Fi(Additional)19
9955 b(e)o(xperiments)g(ha)n(v)o(e)g(been)h(done)f(using)h(Sun)g(equipment)e
9956 (to)i(test)h(the)f(portability)f(of)h(the)g(APHID)h(library)e([2)o(].)
9957 1900 5589 y Fu(20)p eop
9958 %%Page: 21 24
9959 21 23 bop 0 100 a Fu(deep.)60 b(The)35 b(parallelization)f(horizon)g(v)
9960 n(aried)g(from)g(4)h(to)f(8)g(ply)g(\(4)h(in)f(chess)h(and)f(Othello,)i
9961 (6)f(to)f(8)g(ply)g(in)0 299 y(check)o(ers\).)63 b(A)36
9962 b(suitable)e(benchmark)h(set)g(w)o(as)h(chosen)f(for)g(each)h(game:)51
9963 b(the)35 b(Bratk)o(o-K)m(opec)h(test)f(set)g(for)0 498
9964 y(chess)25 b([10],)g(positions)e(from)i(the)g(\002rst)g(Chinook-T)m
9965 (insle)o(y)e(match)h(for)i(check)o(ers)g([12)o(],)g(and)f(positions)e
9966 (from)i(a)0 697 y(W)-8 b(orld)24 b(Championship)g(game)g(for)h(Othello)
9967 f([2].)146 897 y(Using)j(a)g(transposition)e(table)i(that)g(is)g(lar)n
9968 (ge)g(enough)g(to)g(accommodate)f(results)h(disco)o(v)o(ered)f(during)g
9969 (the)0 1096 y(search)g(is)f(important.)32 b(that)25 b(k)o(ept)g(the)g
9970 (o)o(v)o(erall)g(size)g(of)h(the)f(program)g(and)h(data)f(belo)n(w)g
9971 (400)g(MB)h(w)o(as)f(chosen.)0 1295 y(It)c(w)o(as)h(unanticipated)e
9972 (that)g(this)h(limitation)e(w)o(ould)h(dramatically)g(af)n(fect)i(the)f
9973 (speedup)g(on)g(a)h(lar)n(ge)f(number)g(of)0 1494 y(processors)g(b)n
9974 (ut,)g(as)g(discussed)f(later)l(,)i(400)f(MB)g(pro)o(v)o(ed)f(to)h(be)g
9975 (inadequate)g(for)g(the)g(lar)n(ge)g(searches)h(attempted)0
9976 1694 y(in)i(the)h(chess)g(and)g(check)o(ers)g(programs.)146
9977 1893 y(Distrib)n(uted)g(transposition)f(table)i(schemes)g(quickly)g
9978 (become)g(communication-bound)e(on)i(modern)f(ar)n(-)0
9979 2092 y(chitectures.)58 b(Thus,)35 b(it)f(is)f(usually)g(infeasible)g
9980 (to)h(implement)e(sharing)h(of)h(transposition)e(table)i(entries)f(on)0
9981 2291 y(systems)21 b(where)j(shared)f(memory)f(is)g(not)g(a)n(v)n
9982 (ailable)g(in)h(hardw)o(are.)30 b(The)23 b(APHID)h(library)e(contains)g
9983 (a)h(method)0 2491 y(for)g(distrib)n(uting)d(transposition)h(table)h
9984 (information)f(that)i(does)f(not)g(o)o(v)o(erload)g(the)g
9985 (interconnection)g(netw)o(ork.)0 2690 y(Experiments)30
9986 b(with)g(APHID)h(using)f(distrib)n(uted)f(transposition)g(tables)h(are)
9987 i(a)n(v)n(ailable)e(else)n(where)h([2].)49 b(The)0 2889
9988 y(e)o(xperiments)19 b(reported)i(in)f(this)g(paper)h(were)g(run)g(on)f
9989 (a)h(shared-memory)g(computer)l(,)f(allo)n(wing)f(us)i(to)f(compare)0
9990 3088 y(our)25 b(results)f(with)g(those)g(reported)h(in)f(the)h(recent)g
9991 (literature.)146 3288 y(Note)31 b(that)f(the)g(transposition)f(table)h
9992 (size)h(did)f(not)g(increase)h(as)g(the)g(number)f(of)h(processors)f
9993 (increased.)0 3487 y(The)k(sequential)g(tests)f(used)h(e)o(xactly)g
9994 (the)g(same)g(number)g(of)h(table)f(entries)g(as)g(each)h(of)g(the)f
9995 (parallel)g(tests.)0 3686 y(If)d(the)g(parallel)g(run)g(used)g(64)f
9996 (processors,)i(then)f(each)g(process)g(recei)n(v)o(ed)g(1/64th)e(of)i
9997 (the)g(table)g(entries)g(that)0 3885 y(the)d(sequential)f(process)h
9998 (recei)n(v)o(ed.)40 b(Thus,)29 b(the)f(e)o(xperiments)e(measured)i(the)
9999 g(scalability)f(of)h(the)g(number)g(of)0 4085 y(processors)d(and)h(not)
10000 f(the)g(scalability)g(of)h(memory)-6 b(.)32 b(Other)25
10001 b(researchers)i(ha)n(v)o(e)e(allo)n(wed)g(the)g(number)h(of)f(table)0
10002 4284 y(entries)34 b(to)g(increase)h(in)f(tandem)g(with)g(the)g(number)g
10003 (of)g(processors.)60 b(This)33 b(can)i(result)f(in)g(an)h(unf)o(air)f
10004 (com-)0 4483 y(parison)29 b(\(and)h(signi\002cantly)f(in\003ated)g
10005 (speedups\))h(because)g(the)f(sequential)g(algorithm')-5
10006 b(s)28 b(table)h(may)h(not)f(be)0 4682 y(lar)n(ge)e(enough)f(to)h(hold)
10007 f(the)h(critical)f(tree)h(in)g(memory)-6 b(,)26 b(whereas)h(the)g
10008 (parallel)f(v)o(ersion)g(can.)37 b(When)27 b(e)o(xamin-)0
10009 4882 y(ing)i(the)h(game-tree)g(search)g(literature,)h(the)e(reader)i
10010 (should)e(a)n(v)n(oid)g(directly)g(comparing)g(speedups)h(without)0
10011 5081 y(understanding)23 b(the)i(conditions)e(under)i(which)f(the)o(y)g
10012 (were)i(achie)n(v)o(ed.)146 5280 y(The)21 b(standard)g(set)g(of)g
10013 (tests)f(for)h(each)h(program)e(in)l(v)n(olv)o(ed)g(e)o(xamining)f(a)i
10014 (\002x)o(ed-depth)g(game)f(tree)h(\(modulo)1900 5589
10015 y(21)p eop
10016 %%Page: 22 25
10017 22 24 bop 0 100 a Fu(an)o(y)28 b(quiescence)g(search\))h(and)f(using)f
10018 (a)h(shared)h(memory)e(transposition)f(table,)j(o)o(v)o(er)e(a)h(v)n
10019 (arying)f(number)h(of)0 299 y(processors.)g(Each)20 b(program)e(w)o(as)
10020 h(tested)g(on)g Fq(n)p Fu(=16,)h(32)f(and)g(64)f(processors,)i(using)e
10021 (a)i(single-le)n(v)o(el)d(hierarchy:)0 498 y(one)25 b(master)f
10022 (allocated)h(w)o(ork)f(to)h Fq(n)d Fk(\000)h Fl(1)i Fu(sla)n(v)o(es)e
10023 (for)j(each)f(test)f(position.)146 697 y(There)34 b(are)g(tw)o(o)e
10024 (methods)g(of)h(reporting)g(speedups)f(and)h(o)o(v)o(erheads)f(for)h(a)
10025 h(lar)n(ge)f(number)g(of)g(samples.)0 897 y(The)28 b(\002rst)f(is)g(to)
10026 g(add)h(all)f(of)h(the)f(searches)h(for)g(the)f(multiple)f(positions)f
10027 (together)l(,)j(and)g(perform)f(the)h(speedup)0 1096
10028 y(and)j(o)o(v)o(erhead)f(analysis)g(on)g(the)h(combined)e(data.)49
10029 b(The)31 b(second)f(method)g(is)g(to)h(perform)f(the)h(speedup)f(and)0
10030 1295 y(o)o(v)o(erhead)c(analysis)h(on)f(each)i(indi)n(vidual)d
10031 (position,)h(and)h(a)n(v)o(erage)g(the)g(speedups)g(and)g(o)o(v)o
10032 (erheads.)36 b(The)28 b(sec-)0 1494 y(ond)36 b(method)f(is)h(preferred)
10033 h(\(and)g(used)f(in)g(this)f(paper\))i(because)f(it)g(will)g(not)f(o)o
10034 (v)o(erestimate)g(the)h(observ)o(ed)0 1694 y(speedup)24
10035 b(for)h(a)h(lar)n(ge)f(number)f(of)h(test)f(positions.)0
10036 1989 y Fg(4.2)119 b(Ov)o(erheads)30 b(in)h(APHID)0 2255
10037 y Fu(The)36 b(performance)h(of)g(APHID)g(will)e(be)i(analyzed)f(in)g
10038 (terms)g(of)h(the)f(impediments)e(\(o)o(v)o(erheads\))i(to)g(high)0
10039 2455 y(parallel)28 b(performance.)41 b(Since)28 b(the)g(o)o(v)o(erhead)
10040 f(model)g(used)h(in)f(this)g(section)h(is)f(slightly)f(dif)n(ferent)i
10041 (than)g(that)0 2654 y(used)d(by)f(other)h(authors,)f(the)g(terminology)
10042 f(used)i(is)f(de\002ned)i(here.)146 2853 y(The)e Fm(total)e(o)o
10043 (verhead)h Fu(represents)g(the)g(additional)e(computing)h(time)g
10044 (required)i(by)e(the)i(parallel)f(algorithm)0 3052 y(on)i
10045 Fq(n)g Fu(processors)f(to)h(achie)n(v)o(e)f(the)g(same)h(result)f(as)h
10046 (the)g(sequential)f(v)o(ersion:)772 3351 y Fl(total)c(o)m(v)m(erhead)30
10047 b(=)1512 3284 y(\(parallel)20 b(time)43 b Fk(\002)h Fl(n\))23
10048 b Fk(\000)f Fl(sequen)m(tial)h(time)p 1512 3328 1580
10049 4 v 1984 3420 a(sequen)m(tial)g(time)3101 3351 y Fq(:)0
10050 3650 y Fu(The)29 b(total)g(o)o(v)o(erhead)f(can)i(also)f(be)h(computed)
10051 e(by)h(e)o(xamining)e(the)j(component)e(o)o(v)o(erheads)g
10052 (independently)-6 b(.)0 3849 y(The)32 b(three)h(main)e(o)o(v)o(erheads)
10053 g(are)i(\(1\))g(dedicating)e(a)i(processor)f(to)g(be)g(used)g(e)o
10054 (xclusi)n(v)o(ely)d(as)k(a)f(master)g(\(the)0 4049 y(master)f(o)o(v)o
10055 (erhead\),)i(\(2\))f(the)g(ef)n(fecti)n(v)o(e)e(decrease)j(in)e(nodes)h
10056 (per)g(second)f(e)o(xamined)g(\(parallelization)g(o)o(v)o(er)n(-)0
10057 4248 y(head\),)e(and)f(\(3\))g(the)g(lar)n(ger)g(search)g(tree)h(b)n
10058 (uilt)d(by)i(the)g(parallel)f(algorithm)g(\(total)g(search)h(o)o(v)o
10059 (erhead\).)40 b(There)0 4447 y(is)29 b(no)g(synchronization)f(o)o(v)o
10060 (erhead)g(in)h(the)g(APHID)h(algorithm)e(since)h(the)g(algorithm)f
10061 (operates)h(in)g(an)g(asyn-)0 4646 y(chronous)24 b(manner)-5
10062 b(.)30 b(The)25 b(breakdo)n(wn)f(of)h(o)o(v)o(erheads)f(can)h(be)g(e)o
10063 (xpressed)f(in)h(the)f(follo)n(wing)f(formula:)380 4945
10064 y Fl(total)e(o)m(v)m(erhead)85 b(=)d(\(1)22 b(+)g(master)g(o)m(v)m
10065 (erhead)r(\))g Fk(\002)h Fl(\(1)e(+)h(parallelization)c(o)m(v)m(erhead)
10066 r(\))1244 5169 y Fk(\002)k Fl(\(1)g(+)g(total)f(searc)m(h)i(o)m(v)m
10067 (erhead)r(\))p Fq(:)1900 5589 y Fu(22)p eop
10068 %%Page: 23 26
10069 23 25 bop 146 100 a Fu(The)30 b Fm(master)g(o)o(verhead)g
10070 Fu(is)f(the)h(approximate)f(penalty)h(incurred)g(by)g(ha)n(ving)f(a)i
10071 (single)e(processor)h(being)0 299 y(allocated)24 b(completely)f(to)h
10072 (the)h(handling)e(of)h(the)h(master)-5 b(.)29 b(This)24
10073 b(is)g(simply)f Fl(1)p Fq(=)p Fl(\()p Fq(n)d Fk(\000)h
10074 Fl(1\))p Fu(,)j(the)h(bene\002t)f(of)h(adding)0 498 y(another)g(sla)n
10075 (v)o(e)f(to)g(the)h(other)g Fq(n)d Fk(\000)h Fl(1)h Fu(sla)n(v)o(es.)
10076 146 697 y(The)37 b Fm(par)o(allelization)32 b(o)o(verhead)k
10077 Fu(is)g(the)g(penalty)f(incurred)i(by)e(the)h(APHID)h(library)f(on)g
10078 (the)g(speed)g(of)0 897 y(the)h(sla)n(v)o(es.)65 b(The)37
10079 b(dif)n(ference)g(between)g(the)g(rate)g(at)g(which)f(the)h(parallel)f
10080 (sla)n(v)o(es)g(e)o(xplore)g(nodes)h(and)f(the)0 1096
10081 y(sequential)29 b(program')-5 b(s)28 b(node)i(rate)g(is)f(the)g
10082 (parallelization)g(o)o(v)o(erhead.)44 b(This)29 b(o)o(v)o(erhead)f(is)i
10083 (deri)n(v)o(ed)e(partially)0 1295 y(from)g(the)h(cost)f(of)h(using)f
10084 (PVM,)g(and)h(partially)f(from)g(the)h(w)o(ork-scheduling)e(algorithm)h
10085 (on)g(each)h(sla)n(v)o(e.)42 b(In)0 1494 y(ef)n(fect,)34
10086 b(the)d(parallelization)g(o)o(v)o(erhead)f(includes)h(synchronization)f
10087 (o)o(v)o(erhead,)j(comple)o(xity)c(o)o(v)o(erhead)i(and)0
10088 1694 y(communication)23 b(o)o(v)o(erhead,)h(as)h(used)f(in)h(pre)n
10089 (vious)e(parallel)i Fq(\013)q(\014)30 b Fu(models)24
10090 b([12)o(,)h(15].)146 1893 y(The)d Fm(total)f(sear)l(c)o(h)g(o)o
10091 (verhead)h Fu(represents)f(the)h(number)f(of)h(additional)f(nodes)g
10092 (searched)h(by)g(the)g(algorithm)0 2092 y(while)37 b(attempting)f(to)h
10093 (determine)f(the)i Fq(d)p Fu(-ply)e(minimax)g(v)n(alue.)68
10094 b(In)37 b(the)h(case)g(of)f(APHID,)h(there)f(are)i(tw)o(o)0
10095 2291 y(o)o(v)o(erheads)29 b(that)g(combine)g(to)g(mak)o(e)h(the)f
10096 (total)g(search)h(o)o(v)o(erhead:)40 b(the)29 b(search)h(o)o(v)o
10097 (erhead)f(\(as)h(seen)g(in)f(other)0 2491 y(parallel)c(models\))f(and)g
10098 (the)h(speculati)n(v)o(e)e(search.)146 2690 y(The)33
10099 b Fm(sear)l(c)o(h)g(o)o(verhead)g Fu(represents)g(the)g(additional)f
10100 (nodes)g(searched)i(to)f(achie)n(v)o(e)f(the)h Fq(d)p
10101 Fu(-ply)g(minimax)0 2889 y(v)n(alue.)60 b(This)34 b(can)i(be)f
10102 (computed)e(by)i(di)n(viding)e(the)h(number)h(of)g(nodes)f(e)o(xamined)
10103 g(in)g(the)h(parallel)g(search)0 3088 y(by)29 b(the)g(number)g(of)g
10104 (nodes)g(e)o(xamined)f(in)h(the)g(corresponding)g(sequential)f(search.)
10105 45 b(Most)28 b(of)i(this)e(o)o(v)o(erhead)0 3288 y(is)j(incurred)g
10106 (when)g(the)g(parallel)g(v)o(ersion)f(uses)h(a)g(search)h(windo)n(w)d
10107 (that)i(is)g(not)f(as)h(precise)h(as)f(that)g(used)f(by)0
10108 3487 y(the)i(sequential)f(v)o(ersion.)51 b(If)32 b(a)g(shared-memory)g
10109 (transposition)e(table)h(is)h(not)f(used,)i(some)f(of)g(the)g(increase)
10110 0 3686 y(in)c(search)g(o)o(v)o(erhead)f(can)i(be)f(attrib)n(uted)f(to)g
10111 (information)g(de\002cienc)o(y)-6 b(,)28 b(since)g(data)g(is)f(not)g
10112 (shared)i(ef)n(\002ciently)0 3885 y(between)c(the)g(processes.)146
10113 4085 y(The)19 b(remainder)g(of)g(the)g(increase)h(in)e(search)i(o)o(v)o
10114 (erhead)e(is)g(attrib)n(utable)g(to)h(the)g(load-balancing)f
10115 (algorithm.)0 4284 y(The)k(APHID)f(algorithm)f(forces)i(w)o(ork)g(to)f
10116 (be)h(recalculated)f(when)h(it)f(is)g(mo)o(v)o(ed)f(to)h(another)g
10117 (processor)-5 b(.)29 b(When)0 4483 y(there)e(are)h(more)f(processors)g
10118 (in)g(the)g(system,)f(the)h(load-balancing)f(algorithm)g(is)h(more)g
10119 (acti)n(v)o(e)f(in)h(balancing)0 4682 y(the)e(w)o(orkload,)f(thus)g
10120 (causing)g(more)h(search)g(o)o(v)o(erhead.)146 4882 y(Since)33
10121 b(each)g(position)e(is)h(searched)h(to)f Fq(d)g Fu(ply)-6
10122 b(,)33 b(the)g(asynchronous)e(nature)i(of)f(the)g(sla)n(v)o(es)g(will)g
10123 (result)f(in)0 5081 y(some)22 b(w)o(ork)g(being)h(done)f(at)h(depth)f
10124 Fl(\()p Fq(d)14 b Fl(+)g(1\))22 b Fu(or)g(greater)-5
10125 b(.)31 b(The)22 b Fm(speculative)g(sear)l(c)o(h)g Fu(represents)h(the)f
10126 (amount)g(of)0 5280 y(additional)d(search)h(that)g(APHID)g(has)g
10127 (undertak)o(en)g(which)g(is)f(be)o(yond)g(what)h(the)g(sequential)f
10128 (algorithm)g(w)o(ould)1900 5589 y(23)p eop
10129 %%Page: 24 27
10130 24 26 bop 0 100 a Fu(attempt)22 b(for)i(a)f Fq(d)p Fu(-ply)g(search.)31
10131 b(It)23 b(can)h(be)f(computed)f(by)h(taking)g(the)g(number)g(of)g
10132 (speculati)n(v)o(e)f(nodes)h(searched)0 299 y(and)35
10133 b(di)n(viding)f(that)h(by)g(the)g(number)g(of)h(nodes)f(searched)h(in)f
10134 (the)h(sequential)e(case.)64 b(In)35 b(our)h(e)o(xperiments,)0
10135 498 y(speculati)n(v)o(e)d(search)i(results)e(are)i(computed,)h(b)n(ut)e
10136 (these)g(results)f(are)j(not)d(used)h(to)g(in\003uence)h(the)f(v)n
10137 (alue)g(of)0 697 y(shallo)n(wer)27 b(searches.)43 b(This)27
10138 b(allo)n(wed)h(the)g(APHID)h(algorithm)e(to)h(produce)h(the)f(same)g
10139 (search)h(v)n(alues)f(as)g(the)0 897 y(sequential)c(v)o(ersion)g(in)g
10140 (most)g(cases.)146 1096 y(Ignoring)32 b(the)g(speculati)n(v)o(e)e
10141 (search)j(results)e(understates)g(the)h(potential)f(of)h(the)g(APHID)h
10142 (algorithm.)51 b(In)0 1295 y(a)32 b(real)g(tournament)e(game,)j
10143 (speculati)n(v)o(e)d(search)i(could)f(be)h(used)f(to)g(look)g(an)h(e)o
10144 (xtra)f(mo)o(v)o(e)f(ahead)i(on)g(some)0 1494 y(k)o(e)o(y)24
10145 b(v)n(ariations.)29 b(It)c(is)f(highly)g(lik)o(ely)f(that)i(the)f(v)n
10146 (ariations)f(that)i(were)g(speculati)n(v)o(ely)d(e)o(xtended)i(will)g
10147 (be)h(in)f(the)0 1694 y(left-most)j(branches)h(of)g(the)g(tree.)41
10148 b(Thus,)28 b(sometimes)f(k)o(e)o(y)g(v)n(ariations)g(will)g(be)h
10149 (searched)h(an)f(additional)f(ply)0 1893 y(\(or)21 b(more\))g(deeper)-5
10150 b(.)30 b(This)20 b(allo)n(ws)g(APHID)i(to)e(\002nd)i(important)d(v)n
10151 (ariations)h(much)g(sooner)h(than)g(a)g(synchronous)0
10152 2092 y(parallel)k(program)f(with)g(the)h(same)f(observ)o(ed)h(speedup.)
10153 146 2291 y(T)-8 b(o)34 b(quantify)f(the)h(ef)n(fects)f(of)h(speculati)n
10154 (v)o(e)e(search)j(is)e(dif)n(\002cult.)57 b(T)-8 b(o)33
10155 b(do)h(so)f(means)h(that)f(there)h(must)f(be)0 2491 y(a)j(metric)g(for)
10156 g(measuring)f(the)g(quality)g(of)h(the)f(mo)o(v)o(e)g(selected)g(by)h
10157 (an)g(algorithm.)62 b(There)36 b(are)h(a)f(fe)n(w)g(test)0
10158 2690 y(sets)27 b(that)g(measure)h(mo)o(v)o(e)e(quality)h(in)g(chess,)h
10159 (where)g(the)g(performance)g(metric)f(is)g(ho)n(w)g(quickly)g(a)g
10160 (program)0 2889 y(determines)32 b(the)g(best)g(mo)o(v)o(e)e(in)i(a)h
10161 (tactical)f(position.)51 b(There)33 b(is)f(insuf)n(\002cient)f(kno)n
10162 (wledge)g(about)h(tactics)f(in)0 3088 y(Othello)h(to)h(design)f(a)i
10163 (similar)e(test.)55 b(Thus,)35 b(the)e(performance)h(metric)f(used)f
10164 (is)h(to)g(compare)g(speedups)g(for)0 3288 y(each)25
10165 b(program.)0 3583 y Fg(4.3)119 b(T)-11 b(est)29 b(Results)0
10166 3849 y Fu(Figure)23 b(7)f(gi)n(v)o(es)f(the)h(speedups)g(for)h(each)g
10167 (of)f(the)g(programs)g(tested,)g(while)g(Figure)h(8)f(gi)n(v)o(es)f
10168 (the)h(o)o(v)o(erheads)g(for)0 4049 y(each)j(program)g(on)f(separate)i
10169 (graphs.)146 4248 y(Figure)33 b(7)e(sho)n(ws)g(that)h(the)g(speedups)f
10170 (for)h(the)g(Othello)f(program,)k(K)t Fa(E)t(Y)-6 b(A)t(N)t(O)r
10171 Fu(,)38 b(are)33 b(signi\002cantly)d(lar)n(ger)0 4447
10172 y(than)k(the)f(speedups)h(for)g(the)f(other)h(three)g(programs.)58
10173 b(There)34 b(are)h(tw)o(o)e(reasons)h(for)g(this.)57
10174 b(First,)36 b(the)e(trees)0 4646 y(that)28 b(were)i(measured)e(in)j(K)t
10175 Fa(E)t(Y)-6 b(A)t(N)t(O)34 b Fu(are)c(\002x)o(ed-depth)e(trees,)h
10176 (whereas)h(the)e(other)h(programs)f(had)h(a)g(v)n(ariable)0
10177 4846 y(search)h(depth)f(due)g(to)g(quiescence)h(searches.)45
10178 b(This)28 b(mak)o(es)h(the)g(load)g(balancing)g(v)o(ery)g(easy)h(for)h
10179 (K)t Fa(E)t(Y)-6 b(A)t(N)t(O)r Fu(.)0 5045 y(APHID)25
10180 b(thri)n(v)o(es)d(when)i(there)g(is)g(little)f(v)n(ariance)h(in)g(the)g
10181 (size)g(of)g(each)h(piece)f(of)h(w)o(ork.)30 b(When)24
10182 b(the)g(equi)n(v)n(alent)0 5244 y(of)h(quiescence)g(search)g(is)g
10183 (added)f(to)j(K)t Fa(E)t(Y)-6 b(A)t(N)t(O)r Fu(,)28 b(the)d(speedup)f
10184 (drops)h(from)f(37)h(to)f(22)h(on)f(64)h(processors)f([2].)1900
10185 5589 y(24)p eop
10186 %%Page: 25 28
10187 25 27 bop 1178 0 a
10188  12191183 10419816 3289088 3289088 42100326 36443095 startTexFig
10189  1178 0 a
10190 %%BeginDocument: pics/speedup_all.ps
10191 /gnudict 40 dict def
10192 gnudict begin
10193 /Color false def
10194 /Solid false def
10195 /gnulinewidth 5.000 def
10196 /vshift -60 def
10197 /dl {10 mul} def
10198 /hpt 31.5 def
10199 /vpt 31.5 def
10200 /M {moveto} bind def
10201 /L {lineto} bind def
10202 /R {rmoveto} bind def
10203 /V {rlineto} bind def
10204 /vpt2 vpt 2 mul def
10205 /hpt2 hpt 2 mul def
10206 /Lshow { currentpoint stroke M
10207   0 vshift R show } def
10208 /Rshow { currentpoint stroke M
10209   dup stringwidth pop neg vshift R show } def
10210 /Cshow { currentpoint stroke M
10211   dup stringwidth pop -2 div vshift R show } def
10212 /DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
10213  {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
10214 /BL { stroke gnulinewidth 2 mul setlinewidth } def
10215 /AL { stroke gnulinewidth 2 div setlinewidth } def
10216 /PL { stroke gnulinewidth setlinewidth } def
10217 /LTb { BL [] 0 0 0 DL } def
10218 /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
10219 /LT0 { PL [] 0 1 0 DL } def
10220 /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
10221 /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
10222 /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
10223 /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
10224 /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
10225 /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
10226 /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
10227 /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
10228 /P { stroke [] 0 setdash
10229   currentlinewidth 2 div sub M
10230   0 currentlinewidth V stroke } def
10231 /D { stroke [] 0 setdash 2 copy vpt add M
10232   hpt neg vpt neg V hpt vpt neg V
10233   hpt vpt V hpt neg vpt V closepath stroke
10234   P } def
10235 /A { stroke [] 0 setdash vpt sub M 0 vpt2 V
10236   currentpoint stroke M
10237   hpt neg vpt neg R hpt2 0 V stroke
10238   } def
10239 /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
10240   0 vpt2 neg V hpt2 0 V 0 vpt2 V
10241   hpt2 neg 0 V closepath stroke
10242   P } def
10243 /C { stroke [] 0 setdash exch hpt sub exch vpt add M
10244   hpt2 vpt2 neg V currentpoint stroke M
10245   hpt2 neg 0 R hpt2 vpt2 V stroke } def
10246 /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
10247   hpt neg vpt -1.62 mul V
10248   hpt 2 mul 0 V
10249   hpt neg vpt 1.62 mul V closepath stroke
10250   P  } def
10251 /S { 2 copy A C} def
10252 end
10253 gnudict begin
10254 gsave
10255 50 50 translate
10256 0.100 0.100 scale
10257 0 setgray
10258 /Helvetica findfont 180 scalefont setfont
10259 newpath
10260 LTa
10261 1080 451 M
10262 4544 0 V
10263 -4544 0 R
10264 0 4498 V
10265 LTb
10266 1080 451 M
10267 63 0 V
10268 4481 0 R
10269 -63 0 V
10270 972 451 M
10271 (0) Rshow
10272 1080 951 M
10273 63 0 V
10274 4481 0 R
10275 -63 0 V
10276 972 951 M
10277 (8) Rshow
10278 1080 1451 M
10279 63 0 V
10280 4481 0 R
10281 -63 0 V
10282 -4589 0 R
10283 (16) Rshow
10284 1080 1950 M
10285 63 0 V
10286 4481 0 R
10287 -63 0 V
10288 -4589 0 R
10289 (24) Rshow
10290 1080 2450 M
10291 63 0 V
10292 4481 0 R
10293 -63 0 V
10294 -4589 0 R
10295 (32) Rshow
10296 1080 2950 M
10297 63 0 V
10298 4481 0 R
10299 -63 0 V
10300 -4589 0 R
10301 (40) Rshow
10302 1080 3450 M
10303 63 0 V
10304 4481 0 R
10305 -63 0 V
10306 -4589 0 R
10307 (48) Rshow
10308 1080 3949 M
10309 63 0 V
10310 4481 0 R
10311 -63 0 V
10312 -4589 0 R
10313 (56) Rshow
10314 1080 4449 M
10315 63 0 V
10316 4481 0 R
10317 -63 0 V
10318 -4589 0 R
10319 (64) Rshow
10320 1080 4949 M
10321 63 0 V
10322 4481 0 R
10323 -63 0 V
10324 -4589 0 R
10325 (72) Rshow
10326 1080 451 M
10327 0 63 V
10328 0 4435 R
10329 0 -63 V
10330 0 -4615 R
10331 (0) Cshow
10332 1585 451 M
10333 0 63 V
10334 0 4435 R
10335 0 -63 V
10336 0 -4615 R
10337 (8) Cshow
10338 2090 451 M
10339 0 63 V
10340 0 4435 R
10341 0 -63 V
10342 0 -4615 R
10343 (16) Cshow
10344 2595 451 M
10345 0 63 V
10346 0 4435 R
10347 0 -63 V
10348 0 -4615 R
10349 (24) Cshow
10350 3100 451 M
10351 0 63 V
10352 0 4435 R
10353 0 -63 V
10354 0 -4615 R
10355 (32) Cshow
10356 3604 451 M
10357 0 63 V
10358 0 4435 R
10359 0 -63 V
10360 0 -4615 R
10361 (40) Cshow
10362 4109 451 M
10363 0 63 V
10364 0 4435 R
10365 0 -63 V
10366 0 -4615 R
10367 (48) Cshow
10368 4614 451 M
10369 0 63 V
10370 0 4435 R
10371 0 -63 V
10372 0 -4615 R
10373 (56) Cshow
10374 5119 451 M
10375 0 63 V
10376 0 4435 R
10377 0 -63 V
10378 0 -4615 R
10379 (64) Cshow
10380 5624 451 M
10381 0 63 V
10382 0 4435 R
10383 0 -63 V
10384 0 -4615 R
10385 (72) Cshow
10386 1080 451 M
10387 4544 0 V
10388 0 4498 V
10389 -4544 0 V
10390 0 -4498 V
10391 504 2700 M
10392 currentpoint gsave translate 90 rotate 0 0 M
10393 (Speedup) Cshow
10394 grestore
10395 3352 -89 M
10396 (Number of Processors) Cshow
10397 LT0
10398 3163 4637 M
10399 (Perfect Speedup) Rshow
10400 3271 4637 M
10401 324 0 V
10402 1080 451 M
10403 505 500 V
10404 505 500 V
10405 1010 999 V
10406 5119 4449 L
10407 505 500 V
10408 LT1
10409 3163 4457 M
10410 (Keyano) Rshow
10411 3271 4457 M
10412 324 0 V
10413 1585 810 M
10414 505 345 V
10415 1010 670 V
10416 2019 965 V
10417 3379 4457 D
10418 1585 810 D
10419 2090 1155 D
10420 3100 1825 D
10421 5119 2790 D
10422 LT2
10423 3163 4277 M
10424 (Chinook) Rshow
10425 3271 4277 M
10426 324 0 V
10427 2090 973 M
10428 1010 154 V
10429 2019 220 V
10430 3379 4277 A
10431 2090 973 A
10432 3100 1127 A
10433 5119 1347 A
10434 LT3
10435 3163 4097 M
10436 (Crafty) Rshow
10437 3271 4097 M
10438 324 0 V
10439 2090 998 M
10440 1010 488 V
10441 2019 89 V
10442 3379 4097 B
10443 2090 998 B
10444 3100 1486 B
10445 5119 1575 B
10446 LT4
10447 3163 3917 M
10448 (TheTurk) Rshow
10449 3271 3917 M
10450 324 0 V
10451 2090 981 M
10452 1010 280 V
10453 2019 187 V
10454 3379 3917 C
10455 2090 981 C
10456 3100 1261 C
10457 5119 1448 C
10458 stroke
10459 grestore
10460 end
10461 showpage
10462 %%EndDocument
10463
10464  endTexFig
10465  1212 1523 a Fu(Figure)25 b(7:)31 b(Speedups)25 b(for)g(All)f(Programs)
10466 146 1811 y(The)h(second)g(reason)g(is)g(that)f(the)h(transposition)e
10467 (table)i(is)g(not)f(as)h(critical)g(in)g(Othello)f(as)h(it)f(is)h(in)f
10468 (the)h(other)0 2010 y(three)37 b(programs.)65 b(When)36
10469 b(all)g(64)g(processors)g(attempt)g(to)g(write)g(into)f(a)i(400)f(MB)h
10470 (transposition)d(table,)39 b(a)0 2209 y(processor)32
10471 b(o)o(v)o(erwrites)f(another)h(processor')-5 b(s)32 b(table)g(entries)g
10472 (frequently)-6 b(.)52 b(This)31 b(inhibits)g(the)h(ability)f(of)h(the)0
10473 2408 y(processors)f(to)g(detect)g(positions)e(that)i(ha)n(v)o(e)g
10474 (already)g(been)h(searched.)50 b(Duplicate)31 b(node)g(detection)f(via)
10475 h(the)0 2608 y(transposition)k(table)h(is)h(important)e(to)h
10476 (controlling)f(the)i(size)g(of)g(the)f(search)i(tree)f(in)f(chess)h
10477 (and)g(check)o(ers)0 2807 y(programs.)49 b(The)31 b(limited)e(size)j
10478 (of)f(the)g(transposition)e(table)h(is)h(of)g(little)f(importance)h(in)
10479 f(searching)h(Othello)0 3006 y(game)k(trees)g(in)g(parallel,)i(because)
10480 f(achie)n(ving)e(the)h(same)g(position)f(by)h(dif)n(ferent)g(sequences)
10481 g(of)g(mo)o(v)o(es)f(is)0 3205 y(much)27 b(more)h(dif)n(\002cult.)39
10482 b(Thus,)28 b(better)g(results)f(are)i(obtained)e(when)h(searching)g
10483 (Othello)f(trees)h(than)f(chess)h(or)0 3405 y(check)o(ers)d(trees.)585
10484 3369 y Fn(7)146 3604 y Fu(In)c(an)g(algorithm)f(that)g(does)g(not)h
10485 (synchronize,)g(it)f(should)g(not)g(be)h(surprising)e(to)i(disco)o(v)o
10486 (er)e(that)i(the)f(lar)n(gest)0 3803 y(portion)29 b(of)h(the)g(total)g
10487 (o)o(v)o(erhead)f(is)h(accounted)g(for)h(by)f(the)g(search)g(o)o(v)o
10488 (erhead)g(and)g(the)g(speculati)n(v)o(e)f(search.)0 4002
10489 y(As)j(the)g(number)f(of)h(processes)g(increases,)i(the)d(processors)h
10490 (get)g(fe)n(wer)g(pieces)g(of)g(w)o(ork)g(and)g(the)g(need)g(for)0
10491 4202 y(load)d(balancing)g(increases.)46 b(This)28 b(also)i(allo)n(ws)e
10492 (some)h(of)h(the)f(less)g(b)n(usy)g(sla)n(v)o(es)g(to)g(get)h(further)f
10493 (ahead)h(than)0 4401 y(the)25 b(o)o(v)o(erw)o(ork)o(ed)e(sla)n(v)o(es,)
10494 h(causing)g(a)i(rise)e(in)h(the)f(speculati)n(v)o(e)g(search.)146
10495 4600 y(T)-8 b(o)19 b(put)f(the)h(APHID)g(results)f(in)h(perspecti)n(v)o
10496 (e,)f(a)i(v)o(ersion)d(of)i(YBWC)h(has)f(been)g(implemented)e(in)j(K)t
10497 Fa(E)t(Y)-6 b(A)t(N)t(O)r Fu(.)0 4799 y(The)27 b(algorithm)f(w)o(as)h
10498 (tak)o(en)h(directly)e(from)h(Feldmann')-5 b(s)27 b(thesis)f([3].)39
10499 b(A)27 b(considerable)g(ef)n(fort)g(w)o(as)g(spent)g(at-)0
10500 4999 y(tempting)33 b(to)h(optimize)g(the)g(performance)h(of)g(the)g
10501 (algorithm.)58 b(YBWC)36 b(and)f(APHID)g(were)g(tested)f(under)p
10502 0 5088 1560 4 v 112 5150 a Fj(7)149 5180 y Fi(A)h(lar)o(ger)e
10503 (transposition)f(table)i(\(4-8)f(GB)i(of)e(RAM\))i(for)e(both)g(the)h
10504 (sequential)f(and)h(parallel)f(tests)j(w)o(ould)d(impro)o(v)o(e)f(the)0
10505 5279 y(speedups)19 b(of)h(the)g(check)o(ers)g(and)f(chess)i(programs.)i
10506 (This)d(w)o(as)h(not)f(possible)g(to)g(test)h(because)f(of)g(resource)f
10507 (constraints.)1900 5589 y Fu(25)p eop
10508 %%Page: 26 29
10509 26 28 bop 406 0 a
10510  12191183 10419816 3289088 3289088 42100326 36443095 startTexFig
10511  406 0 a
10512 %%BeginDocument: pics/overhead_keyano.ps
10513 /gnudict 40 dict def
10514 gnudict begin
10515 /Color false def
10516 /Solid false def
10517 /gnulinewidth 5.000 def
10518 /vshift -60 def
10519 /dl {10 mul} def
10520 /hpt 31.5 def
10521 /vpt 31.5 def
10522 /M {moveto} bind def
10523 /L {lineto} bind def
10524 /R {rmoveto} bind def
10525 /V {rlineto} bind def
10526 /vpt2 vpt 2 mul def
10527 /hpt2 hpt 2 mul def
10528 /Lshow { currentpoint stroke M
10529   0 vshift R show } def
10530 /Rshow { currentpoint stroke M
10531   dup stringwidth pop neg vshift R show } def
10532 /Cshow { currentpoint stroke M
10533   dup stringwidth pop -2 div vshift R show } def
10534 /DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
10535  {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
10536 /BL { stroke gnulinewidth 2 mul setlinewidth } def
10537 /AL { stroke gnulinewidth 2 div setlinewidth } def
10538 /PL { stroke gnulinewidth setlinewidth } def
10539 /LTb { BL [] 0 0 0 DL } def
10540 /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
10541 /LT0 { PL [] 0 1 0 DL } def
10542 /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
10543 /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
10544 /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
10545 /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
10546 /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
10547 /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
10548 /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
10549 /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
10550 /P { stroke [] 0 setdash
10551   currentlinewidth 2 div sub M
10552   0 currentlinewidth V stroke } def
10553 /D { stroke [] 0 setdash 2 copy vpt add M
10554   hpt neg vpt neg V hpt vpt neg V
10555   hpt vpt V hpt neg vpt V closepath stroke
10556   P } def
10557 /A { stroke [] 0 setdash vpt sub M 0 vpt2 V
10558   currentpoint stroke M
10559   hpt neg vpt neg R hpt2 0 V stroke
10560   } def
10561 /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
10562   0 vpt2 neg V hpt2 0 V 0 vpt2 V
10563   hpt2 neg 0 V closepath stroke
10564   P } def
10565 /C { stroke [] 0 setdash exch hpt sub exch vpt add M
10566   hpt2 vpt2 neg V currentpoint stroke M
10567   hpt2 neg 0 R hpt2 vpt2 V stroke } def
10568 /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
10569   hpt neg vpt -1.62 mul V
10570   hpt 2 mul 0 V
10571   hpt neg vpt 1.62 mul V closepath stroke
10572   P  } def
10573 /S { 2 copy A C} def
10574 end
10575 gnudict begin
10576 gsave
10577 50 50 translate
10578 0.100 0.100 scale
10579 0 setgray
10580 /Helvetica findfont 180 scalefont setfont
10581 newpath
10582 LTa
10583 1080 451 M
10584 4544 0 V
10585 -4544 0 R
10586 0 4498 V
10587 LTb
10588 1080 451 M
10589 63 0 V
10590 4481 0 R
10591 -63 0 V
10592 972 451 M
10593 (0) Rshow
10594 1080 901 M
10595 63 0 V
10596 4481 0 R
10597 -63 0 V
10598 972 901 M
10599 (50) Rshow
10600 1080 1351 M
10601 63 0 V
10602 4481 0 R
10603 -63 0 V
10604 -4589 0 R
10605 (100) Rshow
10606 1080 1800 M
10607 63 0 V
10608 4481 0 R
10609 -63 0 V
10610 -4589 0 R
10611 (150) Rshow
10612 1080 2250 M
10613 63 0 V
10614 4481 0 R
10615 -63 0 V
10616 -4589 0 R
10617 (200) Rshow
10618 1080 2700 M
10619 63 0 V
10620 4481 0 R
10621 -63 0 V
10622 -4589 0 R
10623 (250) Rshow
10624 1080 3150 M
10625 63 0 V
10626 4481 0 R
10627 -63 0 V
10628 -4589 0 R
10629 (300) Rshow
10630 1080 3600 M
10631 63 0 V
10632 4481 0 R
10633 -63 0 V
10634 -4589 0 R
10635 (350) Rshow
10636 1080 4049 M
10637 63 0 V
10638 4481 0 R
10639 -63 0 V
10640 -4589 0 R
10641 (400) Rshow
10642 1080 4499 M
10643 63 0 V
10644 4481 0 R
10645 -63 0 V
10646 -4589 0 R
10647 (450) Rshow
10648 1080 4949 M
10649 63 0 V
10650 4481 0 R
10651 -63 0 V
10652 -4589 0 R
10653 (500) Rshow
10654 1080 451 M
10655 0 63 V
10656 0 4435 R
10657 0 -63 V
10658 0 -4615 R
10659 (0) Cshow
10660 1585 451 M
10661 0 63 V
10662 0 4435 R
10663 0 -63 V
10664 0 -4615 R
10665 (8) Cshow
10666 2090 451 M
10667 0 63 V
10668 0 4435 R
10669 0 -63 V
10670 0 -4615 R
10671 (16) Cshow
10672 2595 451 M
10673 0 63 V
10674 0 4435 R
10675 0 -63 V
10676 0 -4615 R
10677 (24) Cshow
10678 3100 451 M
10679 0 63 V
10680 0 4435 R
10681 0 -63 V
10682 0 -4615 R
10683 (32) Cshow
10684 3604 451 M
10685 0 63 V
10686 0 4435 R
10687 0 -63 V
10688 0 -4615 R
10689 (40) Cshow
10690 4109 451 M
10691 0 63 V
10692 0 4435 R
10693 0 -63 V
10694 0 -4615 R
10695 (48) Cshow
10696 4614 451 M
10697 0 63 V
10698 0 4435 R
10699 0 -63 V
10700 0 -4615 R
10701 (56) Cshow
10702 5119 451 M
10703 0 63 V
10704 0 4435 R
10705 0 -63 V
10706 0 -4615 R
10707 (64) Cshow
10708 5624 451 M
10709 0 63 V
10710 0 4435 R
10711 0 -63 V
10712 0 -4615 R
10713 (72) Cshow
10714 1080 451 M
10715 4544 0 V
10716 0 4498 V
10717 -4544 0 V
10718 0 -4498 V
10719 504 2700 M
10720 currentpoint gsave translate 90 rotate 0 0 M
10721 (Overhead \(in Percent\)) Cshow
10722 grestore
10723 3352 -89 M
10724 (Number of Processors) Cshow
10725 3163 4724 M
10726 (Keyano-APHID) Rshow
10727 LT0
10728 3163 4454 M
10729 (Total Overhead) Rshow
10730 3271 4454 M
10731 324 0 V
10732 1585 885 M
10733 505 10 V
10734 1010 50 V
10735 2019 296 V
10736 3379 4454 D
10737 1585 885 D
10738 2090 895 D
10739 3100 945 D
10740 5119 1241 D
10741 LT1
10742 3163 4274 M
10743 (Master Overhead) Rshow
10744 3271 4274 M
10745 324 0 V
10746 1585 579 M
10747 505 -68 V
10748 3100 480 L
10749 5119 465 L
10750 3379 4274 A
10751 1585 579 A
10752 2090 511 A
10753 3100 480 A
10754 5119 465 A
10755 LT2
10756 3163 4094 M
10757 (Search Overhead) Rshow
10758 3271 4094 M
10759 324 0 V
10760 1585 511 M
10761 505 35 V
10762 1010 34 V
10763 5119 847 L
10764 3379 4094 B
10765 1585 511 B
10766 2090 546 B
10767 3100 580 B
10768 5119 847 B
10769 LT3
10770 3163 3914 M
10771 (Speculative Search) Rshow
10772 3271 3914 M
10773 324 0 V
10774 1585 473 M
10775 505 38 V
10776 1010 70 V
10777 5119 745 L
10778 3379 3914 C
10779 1585 473 C
10780 2090 511 C
10781 3100 581 C
10782 5119 745 C
10783 LT4
10784 3163 3734 M
10785 (Parallelization Overhead) Rshow
10786 3271 3734 M
10787 324 0 V
10788 1585 626 M
10789 505 2 V
10790 3100 593 L
10791 5119 493 L
10792 3379 3734 T
10793 1585 626 T
10794 2090 628 T
10795 3100 593 T
10796 5119 493 T
10797 stroke
10798 grestore
10799 end
10800 showpage
10801 %%EndDocument
10802
10803  endTexFig
10804  1950 0 a
10805  12191183 10419816 3289088 3289088 42100326 36443095 startTexFig
10806  1950 0 a
10807 %%BeginDocument: pics/overhead_chinook.ps
10808 /gnudict 40 dict def
10809 gnudict begin
10810 /Color false def
10811 /Solid false def
10812 /gnulinewidth 5.000 def
10813 /vshift -60 def
10814 /dl {10 mul} def
10815 /hpt 31.5 def
10816 /vpt 31.5 def
10817 /M {moveto} bind def
10818 /L {lineto} bind def
10819 /R {rmoveto} bind def
10820 /V {rlineto} bind def
10821 /vpt2 vpt 2 mul def
10822 /hpt2 hpt 2 mul def
10823 /Lshow { currentpoint stroke M
10824   0 vshift R show } def
10825 /Rshow { currentpoint stroke M
10826   dup stringwidth pop neg vshift R show } def
10827 /Cshow { currentpoint stroke M
10828   dup stringwidth pop -2 div vshift R show } def
10829 /DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
10830  {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
10831 /BL { stroke gnulinewidth 2 mul setlinewidth } def
10832 /AL { stroke gnulinewidth 2 div setlinewidth } def
10833 /PL { stroke gnulinewidth setlinewidth } def
10834 /LTb { BL [] 0 0 0 DL } def
10835 /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
10836 /LT0 { PL [] 0 1 0 DL } def
10837 /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
10838 /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
10839 /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
10840 /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
10841 /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
10842 /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
10843 /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
10844 /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
10845 /P { stroke [] 0 setdash
10846   currentlinewidth 2 div sub M
10847   0 currentlinewidth V stroke } def
10848 /D { stroke [] 0 setdash 2 copy vpt add M
10849   hpt neg vpt neg V hpt vpt neg V
10850   hpt vpt V hpt neg vpt V closepath stroke
10851   P } def
10852 /A { stroke [] 0 setdash vpt sub M 0 vpt2 V
10853   currentpoint stroke M
10854   hpt neg vpt neg R hpt2 0 V stroke
10855   } def
10856 /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
10857   0 vpt2 neg V hpt2 0 V 0 vpt2 V
10858   hpt2 neg 0 V closepath stroke
10859   P } def
10860 /C { stroke [] 0 setdash exch hpt sub exch vpt add M
10861   hpt2 vpt2 neg V currentpoint stroke M
10862   hpt2 neg 0 R hpt2 vpt2 V stroke } def
10863 /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
10864   hpt neg vpt -1.62 mul V
10865   hpt 2 mul 0 V
10866   hpt neg vpt 1.62 mul V closepath stroke
10867   P  } def
10868 /S { 2 copy A C} def
10869 end
10870 gnudict begin
10871 gsave
10872 50 50 translate
10873 0.100 0.100 scale
10874 0 setgray
10875 /Helvetica findfont 180 scalefont setfont
10876 newpath
10877 LTa
10878 1080 451 M
10879 4544 0 V
10880 -4544 0 R
10881 0 4498 V
10882 LTb
10883 1080 451 M
10884 63 0 V
10885 4481 0 R
10886 -63 0 V
10887 972 451 M
10888 (0) Rshow
10889 1080 901 M
10890 63 0 V
10891 4481 0 R
10892 -63 0 V
10893 972 901 M
10894 (50) Rshow
10895 1080 1351 M
10896 63 0 V
10897 4481 0 R
10898 -63 0 V
10899 -4589 0 R
10900 (100) Rshow
10901 1080 1800 M
10902 63 0 V
10903 4481 0 R
10904 -63 0 V
10905 -4589 0 R
10906 (150) Rshow
10907 1080 2250 M
10908 63 0 V
10909 4481 0 R
10910 -63 0 V
10911 -4589 0 R
10912 (200) Rshow
10913 1080 2700 M
10914 63 0 V
10915 4481 0 R
10916 -63 0 V
10917 -4589 0 R
10918 (250) Rshow
10919 1080 3150 M
10920 63 0 V
10921 4481 0 R
10922 -63 0 V
10923 -4589 0 R
10924 (300) Rshow
10925 1080 3600 M
10926 63 0 V
10927 4481 0 R
10928 -63 0 V
10929 -4589 0 R
10930 (350) Rshow
10931 1080 4049 M
10932 63 0 V
10933 4481 0 R
10934 -63 0 V
10935 -4589 0 R
10936 (400) Rshow
10937 1080 4499 M
10938 63 0 V
10939 4481 0 R
10940 -63 0 V
10941 -4589 0 R
10942 (450) Rshow
10943 1080 4949 M
10944 63 0 V
10945 4481 0 R
10946 -63 0 V
10947 -4589 0 R
10948 (500) Rshow
10949 1080 451 M
10950 0 63 V
10951 0 4435 R
10952 0 -63 V
10953 0 -4615 R
10954 (0) Cshow
10955 1585 451 M
10956 0 63 V
10957 0 4435 R
10958 0 -63 V
10959 0 -4615 R
10960 (8) Cshow
10961 2090 451 M
10962 0 63 V
10963 0 4435 R
10964 0 -63 V
10965 0 -4615 R
10966 (16) Cshow
10967 2595 451 M
10968 0 63 V
10969 0 4435 R
10970 0 -63 V
10971 0 -4615 R
10972 (24) Cshow
10973 3100 451 M
10974 0 63 V
10975 0 4435 R
10976 0 -63 V
10977 0 -4615 R
10978 (32) Cshow
10979 3604 451 M
10980 0 63 V
10981 0 4435 R
10982 0 -63 V
10983 0 -4615 R
10984 (40) Cshow
10985 4109 451 M
10986 0 63 V
10987 0 4435 R
10988 0 -63 V
10989 0 -4615 R
10990 (48) Cshow
10991 4614 451 M
10992 0 63 V
10993 0 4435 R
10994 0 -63 V
10995 0 -4615 R
10996 (56) Cshow
10997 5119 451 M
10998 0 63 V
10999 0 4435 R
11000 0 -63 V
11001 0 -4615 R
11002 (64) Cshow
11003 5624 451 M
11004 0 63 V
11005 0 4435 R
11006 0 -63 V
11007 0 -4615 R
11008 (72) Cshow
11009 1080 451 M
11010 4544 0 V
11011 0 4498 V
11012 -4544 0 V
11013 0 -4498 V
11014 504 2700 M
11015 currentpoint gsave translate 90 rotate 0 0 M
11016 (Overhead \(in Percent\)) Cshow
11017 grestore
11018 3352 -89 M
11019 (Number of Processors) Cshow
11020 3163 4724 M
11021 (Chinook-APHID) Rshow
11022 LT0
11023 3163 4454 M
11024 (Total Overhead) Rshow
11025 3271 4454 M
11026 324 0 V
11027 2090 1569 M
11028 3100 3051 L
11029 5119 4570 L
11030 3379 4454 D
11031 2090 1569 D
11032 3100 3051 D
11033 5119 4570 D
11034 LT1
11035 3163 4274 M
11036 (Master Overhead) Rshow
11037 3271 4274 M
11038 324 0 V
11039 2090 511 M
11040 3100 480 L
11041 5119 465 L
11042 3379 4274 A
11043 2090 511 A
11044 3100 480 A
11045 5119 465 A
11046 LT2
11047 3163 4094 M
11048 (Search Overhead) Rshow
11049 3271 4094 M
11050 324 0 V
11051 2090 782 M
11052 1010 672 V
11053 2019 583 V
11054 3379 4094 B
11055 2090 782 B
11056 3100 1454 B
11057 5119 2037 B
11058 LT3
11059 3163 3914 M
11060 (Speculative Search) Rshow
11061 3271 3914 M
11062 324 0 V
11063 2090 908 M
11064 1010 354 V
11065 5119 2401 L
11066 3379 3914 C
11067 2090 908 C
11068 3100 1262 C
11069 5119 2401 C
11070 LT4
11071 3163 3734 M
11072 (Parallelization Overhead) Rshow
11073 3271 3734 M
11074 324 0 V
11075 2090 617 M
11076 1010 33 V
11077 5119 531 L
11078 3379 3734 T
11079 2090 617 T
11080 3100 650 T
11081 5119 531 T
11082 stroke
11083 grestore
11084 end
11085 showpage
11086 %%EndDocument
11087
11088  endTexFig
11089  406 1448 a
11090  12191183 10419816 3289088 3289088 42100326 36443095 startTexFig
11091  406 1448 a
11092 %%BeginDocument: pics/overhead_crafty.ps
11093 /gnudict 40 dict def
11094 gnudict begin
11095 /Color false def
11096 /Solid false def
11097 /gnulinewidth 5.000 def
11098 /vshift -60 def
11099 /dl {10 mul} def
11100 /hpt 31.5 def
11101 /vpt 31.5 def
11102 /M {moveto} bind def
11103 /L {lineto} bind def
11104 /R {rmoveto} bind def
11105 /V {rlineto} bind def
11106 /vpt2 vpt 2 mul def
11107 /hpt2 hpt 2 mul def
11108 /Lshow { currentpoint stroke M
11109   0 vshift R show } def
11110 /Rshow { currentpoint stroke M
11111   dup stringwidth pop neg vshift R show } def
11112 /Cshow { currentpoint stroke M
11113   dup stringwidth pop -2 div vshift R show } def
11114 /DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
11115  {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
11116 /BL { stroke gnulinewidth 2 mul setlinewidth } def
11117 /AL { stroke gnulinewidth 2 div setlinewidth } def
11118 /PL { stroke gnulinewidth setlinewidth } def
11119 /LTb { BL [] 0 0 0 DL } def
11120 /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
11121 /LT0 { PL [] 0 1 0 DL } def
11122 /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
11123 /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
11124 /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
11125 /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
11126 /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
11127 /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
11128 /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
11129 /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
11130 /P { stroke [] 0 setdash
11131   currentlinewidth 2 div sub M
11132   0 currentlinewidth V stroke } def
11133 /D { stroke [] 0 setdash 2 copy vpt add M
11134   hpt neg vpt neg V hpt vpt neg V
11135   hpt vpt V hpt neg vpt V closepath stroke
11136   P } def
11137 /A { stroke [] 0 setdash vpt sub M 0 vpt2 V
11138   currentpoint stroke M
11139   hpt neg vpt neg R hpt2 0 V stroke
11140   } def
11141 /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
11142   0 vpt2 neg V hpt2 0 V 0 vpt2 V
11143   hpt2 neg 0 V closepath stroke
11144   P } def
11145 /C { stroke [] 0 setdash exch hpt sub exch vpt add M
11146   hpt2 vpt2 neg V currentpoint stroke M
11147   hpt2 neg 0 R hpt2 vpt2 V stroke } def
11148 /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
11149   hpt neg vpt -1.62 mul V
11150   hpt 2 mul 0 V
11151   hpt neg vpt 1.62 mul V closepath stroke
11152   P  } def
11153 /S { 2 copy A C} def
11154 end
11155 gnudict begin
11156 gsave
11157 50 50 translate
11158 0.100 0.100 scale
11159 0 setgray
11160 /Helvetica findfont 180 scalefont setfont
11161 newpath
11162 LTa
11163 1080 451 M
11164 4544 0 V
11165 -4544 0 R
11166 0 4498 V
11167 LTb
11168 1080 451 M
11169 63 0 V
11170 4481 0 R
11171 -63 0 V
11172 972 451 M
11173 (0) Rshow
11174 1080 901 M
11175 63 0 V
11176 4481 0 R
11177 -63 0 V
11178 972 901 M
11179 (50) Rshow
11180 1080 1351 M
11181 63 0 V
11182 4481 0 R
11183 -63 0 V
11184 -4589 0 R
11185 (100) Rshow
11186 1080 1800 M
11187 63 0 V
11188 4481 0 R
11189 -63 0 V
11190 -4589 0 R
11191 (150) Rshow
11192 1080 2250 M
11193 63 0 V
11194 4481 0 R
11195 -63 0 V
11196 -4589 0 R
11197 (200) Rshow
11198 1080 2700 M
11199 63 0 V
11200 4481 0 R
11201 -63 0 V
11202 -4589 0 R
11203 (250) Rshow
11204 1080 3150 M
11205 63 0 V
11206 4481 0 R
11207 -63 0 V
11208 -4589 0 R
11209 (300) Rshow
11210 1080 3600 M
11211 63 0 V
11212 4481 0 R
11213 -63 0 V
11214 -4589 0 R
11215 (350) Rshow
11216 1080 4049 M
11217 63 0 V
11218 4481 0 R
11219 -63 0 V
11220 -4589 0 R
11221 (400) Rshow
11222 1080 4499 M
11223 63 0 V
11224 4481 0 R
11225 -63 0 V
11226 -4589 0 R
11227 (450) Rshow
11228 1080 4949 M
11229 63 0 V
11230 4481 0 R
11231 -63 0 V
11232 -4589 0 R
11233 (500) Rshow
11234 1080 451 M
11235 0 63 V
11236 0 4435 R
11237 0 -63 V
11238 0 -4615 R
11239 (0) Cshow
11240 1585 451 M
11241 0 63 V
11242 0 4435 R
11243 0 -63 V
11244 0 -4615 R
11245 (8) Cshow
11246 2090 451 M
11247 0 63 V
11248 0 4435 R
11249 0 -63 V
11250 0 -4615 R
11251 (16) Cshow
11252 2595 451 M
11253 0 63 V
11254 0 4435 R
11255 0 -63 V
11256 0 -4615 R
11257 (24) Cshow
11258 3100 451 M
11259 0 63 V
11260 0 4435 R
11261 0 -63 V
11262 0 -4615 R
11263 (32) Cshow
11264 3604 451 M
11265 0 63 V
11266 0 4435 R
11267 0 -63 V
11268 0 -4615 R
11269 (40) Cshow
11270 4109 451 M
11271 0 63 V
11272 0 4435 R
11273 0 -63 V
11274 0 -4615 R
11275 (48) Cshow
11276 4614 451 M
11277 0 63 V
11278 0 4435 R
11279 0 -63 V
11280 0 -4615 R
11281 (56) Cshow
11282 5119 451 M
11283 0 63 V
11284 0 4435 R
11285 0 -63 V
11286 0 -4615 R
11287 (64) Cshow
11288 5624 451 M
11289 0 63 V
11290 0 4435 R
11291 0 -63 V
11292 0 -4615 R
11293 (72) Cshow
11294 1080 451 M
11295 4544 0 V
11296 0 4498 V
11297 -4544 0 V
11298 0 -4498 V
11299 504 2700 M
11300 currentpoint gsave translate 90 rotate 0 0 M
11301 (Overhead \(in Percent\)) Cshow
11302 grestore
11303 3352 -89 M
11304 (Number of Processors) Cshow
11305 3163 4724 M
11306 (Crafty-APHID) Rshow
11307 LT0
11308 3163 4454 M
11309 (Total Overhead) Rshow
11310 3271 4454 M
11311 324 0 V
11312 2090 1447 M
11313 1010 269 V
11314 5119 3605 L
11315 3379 4454 D
11316 2090 1447 D
11317 3100 1716 D
11318 5119 3605 D
11319 LT1
11320 3163 4274 M
11321 (Master Overhead) Rshow
11322 3271 4274 M
11323 324 0 V
11324 2090 511 M
11325 3100 480 L
11326 5119 465 L
11327 3379 4274 A
11328 2090 511 A
11329 3100 480 A
11330 5119 465 A
11331 LT2
11332 3163 4094 M
11333 (Search Overhead) Rshow
11334 3271 4094 M
11335 324 0 V
11336 2090 982 M
11337 1010 177 V
11338 5119 2171 L
11339 3379 4094 B
11340 2090 982 B
11341 3100 1159 B
11342 5119 2171 B
11343 LT3
11344 3163 3914 M
11345 (Speculative Search) Rshow
11346 3271 3914 M
11347 324 0 V
11348 2090 549 M
11349 3100 829 L
11350 2019 607 V
11351 3379 3914 C
11352 2090 549 C
11353 3100 829 C
11354 5119 1436 C
11355 LT4
11356 3163 3734 M
11357 (Parallelization Overhead) Rshow
11358 3271 3734 M
11359 324 0 V
11360 2090 688 M
11361 3100 563 L
11362 2019 4 V
11363 3379 3734 T
11364 2090 688 T
11365 3100 563 T
11366 5119 567 T
11367 stroke
11368 grestore
11369 end
11370 showpage
11371 %%EndDocument
11372
11373  endTexFig
11374  1950 1448 a
11375  12191183 10419816 3289088 3289088 42100326 36443095 startTexFig
11376  1950 1448 a
11377 %%BeginDocument: pics/overhead_theturk.ps
11378 /gnudict 40 dict def
11379 gnudict begin
11380 /Color false def
11381 /Solid false def
11382 /gnulinewidth 5.000 def
11383 /vshift -60 def
11384 /dl {10 mul} def
11385 /hpt 31.5 def
11386 /vpt 31.5 def
11387 /M {moveto} bind def
11388 /L {lineto} bind def
11389 /R {rmoveto} bind def
11390 /V {rlineto} bind def
11391 /vpt2 vpt 2 mul def
11392 /hpt2 hpt 2 mul def
11393 /Lshow { currentpoint stroke M
11394   0 vshift R show } def
11395 /Rshow { currentpoint stroke M
11396   dup stringwidth pop neg vshift R show } def
11397 /Cshow { currentpoint stroke M
11398   dup stringwidth pop -2 div vshift R show } def
11399 /DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
11400  {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
11401 /BL { stroke gnulinewidth 2 mul setlinewidth } def
11402 /AL { stroke gnulinewidth 2 div setlinewidth } def
11403 /PL { stroke gnulinewidth setlinewidth } def
11404 /LTb { BL [] 0 0 0 DL } def
11405 /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
11406 /LT0 { PL [] 0 1 0 DL } def
11407 /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
11408 /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
11409 /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
11410 /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
11411 /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
11412 /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
11413 /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
11414 /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
11415 /P { stroke [] 0 setdash
11416   currentlinewidth 2 div sub M
11417   0 currentlinewidth V stroke } def
11418 /D { stroke [] 0 setdash 2 copy vpt add M
11419   hpt neg vpt neg V hpt vpt neg V
11420   hpt vpt V hpt neg vpt V closepath stroke
11421   P } def
11422 /A { stroke [] 0 setdash vpt sub M 0 vpt2 V
11423   currentpoint stroke M
11424   hpt neg vpt neg R hpt2 0 V stroke
11425   } def
11426 /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
11427   0 vpt2 neg V hpt2 0 V 0 vpt2 V
11428   hpt2 neg 0 V closepath stroke
11429   P } def
11430 /C { stroke [] 0 setdash exch hpt sub exch vpt add M
11431   hpt2 vpt2 neg V currentpoint stroke M
11432   hpt2 neg 0 R hpt2 vpt2 V stroke } def
11433 /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
11434   hpt neg vpt -1.62 mul V
11435   hpt 2 mul 0 V
11436   hpt neg vpt 1.62 mul V closepath stroke
11437   P  } def
11438 /S { 2 copy A C} def
11439 end
11440 gnudict begin
11441 gsave
11442 50 50 translate
11443 0.100 0.100 scale
11444 0 setgray
11445 /Helvetica findfont 180 scalefont setfont
11446 newpath
11447 LTa
11448 1080 451 M
11449 4544 0 V
11450 -4544 0 R
11451 0 4498 V
11452 LTb
11453 1080 451 M
11454 63 0 V
11455 4481 0 R
11456 -63 0 V
11457 972 451 M
11458 (0) Rshow
11459 1080 901 M
11460 63 0 V
11461 4481 0 R
11462 -63 0 V
11463 972 901 M
11464 (50) Rshow
11465 1080 1351 M
11466 63 0 V
11467 4481 0 R
11468 -63 0 V
11469 -4589 0 R
11470 (100) Rshow
11471 1080 1800 M
11472 63 0 V
11473 4481 0 R
11474 -63 0 V
11475 -4589 0 R
11476 (150) Rshow
11477 1080 2250 M
11478 63 0 V
11479 4481 0 R
11480 -63 0 V
11481 -4589 0 R
11482 (200) Rshow
11483 1080 2700 M
11484 63 0 V
11485 4481 0 R
11486 -63 0 V
11487 -4589 0 R
11488 (250) Rshow
11489 1080 3150 M
11490 63 0 V
11491 4481 0 R
11492 -63 0 V
11493 -4589 0 R
11494 (300) Rshow
11495 1080 3600 M
11496 63 0 V
11497 4481 0 R
11498 -63 0 V
11499 -4589 0 R
11500 (350) Rshow
11501 1080 4049 M
11502 63 0 V
11503 4481 0 R
11504 -63 0 V
11505 -4589 0 R
11506 (400) Rshow
11507 1080 4499 M
11508 63 0 V
11509 4481 0 R
11510 -63 0 V
11511 -4589 0 R
11512 (450) Rshow
11513 1080 4949 M
11514 63 0 V
11515 4481 0 R
11516 -63 0 V
11517 -4589 0 R
11518 (500) Rshow
11519 1080 451 M
11520 0 63 V
11521 0 4435 R
11522 0 -63 V
11523 0 -4615 R
11524 (0) Cshow
11525 1585 451 M
11526 0 63 V
11527 0 4435 R
11528 0 -63 V
11529 0 -4615 R
11530 (8) Cshow
11531 2090 451 M
11532 0 63 V
11533 0 4435 R
11534 0 -63 V
11535 0 -4615 R
11536 (16) Cshow
11537 2595 451 M
11538 0 63 V
11539 0 4435 R
11540 0 -63 V
11541 0 -4615 R
11542 (24) Cshow
11543 3100 451 M
11544 0 63 V
11545 0 4435 R
11546 0 -63 V
11547 0 -4615 R
11548 (32) Cshow
11549 3604 451 M
11550 0 63 V
11551 0 4435 R
11552 0 -63 V
11553 0 -4615 R
11554 (40) Cshow
11555 4109 451 M
11556 0 63 V
11557 0 4435 R
11558 0 -63 V
11559 0 -4615 R
11560 (48) Cshow
11561 4614 451 M
11562 0 63 V
11563 0 4435 R
11564 0 -63 V
11565 0 -4615 R
11566 (56) Cshow
11567 5119 451 M
11568 0 63 V
11569 0 4435 R
11570 0 -63 V
11571 0 -4615 R
11572 (64) Cshow
11573 5624 451 M
11574 0 63 V
11575 0 4435 R
11576 0 -63 V
11577 0 -4615 R
11578 (72) Cshow
11579 1080 451 M
11580 4544 0 V
11581 0 4498 V
11582 -4544 0 V
11583 0 -4498 V
11584 504 2700 M
11585 currentpoint gsave translate 90 rotate 0 0 M
11586 (Overhead \(in Percent\)) Cshow
11587 grestore
11588 3352 -89 M
11589 (Number of Processors) Cshow
11590 3163 4724 M
11591 (TheTurk-APHID) Rshow
11592 LT0
11593 3163 4454 M
11594 (Total Overhead) Rshow
11595 3271 4454 M
11596 324 0 V
11597 2090 1341 M
11598 1010 759 V
11599 5119 3912 L
11600 3379 4454 D
11601 2090 1341 D
11602 3100 2100 D
11603 5119 3912 D
11604 LT1
11605 3163 4274 M
11606 (Master Overhead) Rshow
11607 3271 4274 M
11608 324 0 V
11609 2090 511 M
11610 3100 480 L
11611 5119 465 L
11612 3379 4274 A
11613 2090 511 A
11614 3100 480 A
11615 5119 465 A
11616 LT2
11617 3163 4094 M
11618 (Search Overhead) Rshow
11619 3271 4094 M
11620 324 0 V
11621 2090 927 M
11622 1010 792 V
11623 5119 2925 L
11624 3379 4094 B
11625 2090 927 B
11626 3100 1719 B
11627 5119 2925 B
11628 LT3
11629 3163 3914 M
11630 (Speculative Search) Rshow
11631 3271 3914 M
11632 324 0 V
11633 2090 517 M
11634 1010 80 V
11635 2019 841 V
11636 3379 3914 C
11637 2090 517 C
11638 3100 597 C
11639 5119 1438 C
11640 LT4
11641 3163 3734 M
11642 (Parallelization Overhead) Rshow
11643 3271 3734 M
11644 324 0 V
11645 2090 669 M
11646 3100 544 L
11647 4477 451 L
11648 3379 3734 T
11649 2090 669 T
11650 3100 544 T
11651 stroke
11652 grestore
11653 end
11654 showpage
11655 %%EndDocument
11656
11657  endTexFig
11658  1191 2972 a Fu(Figure)25 b(8:)30 b(Ov)o(erheads)25 b(for)g(All)f
11659 (Programs)0 3259 y(similar)35 b(conditions:)53 b(the)36
11660 b(same)h(test)f(set,)j(same)d(search)i(depth,)g(and)f(the)f(same)h
11661 (size)g(of)f(shared)h(memory)0 3458 y(transposition)22
11662 b(table.)31 b(The)24 b(performance)h(of)g(APHID)g(v)o(ersus)f(YBWC)h
11663 (can)g(be)g(seen)g(in)f(Figure)h(9.)30 b(YBWC)c(is)0
11664 3657 y(rapidly)i(starv)o(ed)h(out)f(of)h(w)o(ork)g(to)g(do)g(once)g(64)
11665 g(processors)f(are)i(reached.)44 b(The)29 b(synchronization)f(o)o(v)o
11666 (erhead)0 3857 y(increases)d(dramatically)f(and)h(the)f(processors)h
11667 (are)g(only)f(b)n(usy)h(60\045)f(of)h(the)g(time.)146
11668 4056 y(The)33 b(search)g(o)o(v)o(erhead)f(in)g(YBWC)h(starts)f(at)g(a)h
11669 (higher)f(le)n(v)o(el)f(than)i(for)f(APHID)h(on)f(8)h(processors,)h(b)n
11670 (ut)0 4255 y(the)i(search)g(o)o(v)o(erhead)g(in)f(APHID)i(rapidly)e
11671 (increases)h(past)g(the)g(equi)n(v)n(alent)e(le)n(v)o(el)h(in)h(YBWC.)g
11672 (Ho)n(we)n(v)o(er)l(,)0 4454 y(it)c(is)g(important)f(to)i(note)f(that)g
11673 (the)h(o)o(v)o(erhead)e(in)i(APHID)g(is)f(partially)g(due)g(to)g
11674 (speculati)n(v)o(e)f(search.)55 b(When)0 4654 y(APHID)38
11675 b(is)f(run)h(on)g(64)f(processors,)k(a)d(32.65\045)f(o)o(v)o(erhead)g
11676 (is)g(attrib)n(uted)g(to)g(speculati)n(v)o(e)f(search.)70
11677 b(If)38 b(the)0 4853 y(search)25 b(were)g(e)o(xtended)f(an)h(e)o(xtra)f
11678 (ply)-6 b(,)23 b(these)i(speculati)n(v)o(e)d(search)j(results)f(w)o
11679 (ould)g(gi)n(v)o(e)f(APHID)i(a)g(head)f(start)0 5052
11680 y(on)i(the)g(ne)o(xt)g(iteration;)g(YBWC)h(w)o(ould)f(be)h(forced)g(to)
11681 f(attempt)f(the)h(entire)h(search)g(from)f(scratch.)36
11682 b(YBWC')-5 b(s)0 5251 y(parallelization)21 b(o)o(v)o(erhead)f(is)i
11683 (much)f(lo)n(wer)g(than)g(the)g(equi)n(v)n(alent)f(o)o(v)o(erheads)h
11684 (in)g(APHID.)h(Ho)n(we)n(v)o(er)l(,)f(APHID)1900 5589
11685 y(26)p eop
11686 %%Page: 27 30
11687 27 29 bop 406 0 a
11688  12191183 10419816 3289088 3289088 42100326 36443095 startTexFig
11689  406 0 a
11690 %%BeginDocument: pics/aphidybw_keyano.ps
11691 /gnudict 40 dict def
11692 gnudict begin
11693 /Color false def
11694 /Solid false def
11695 /gnulinewidth 5.000 def
11696 /vshift -60 def
11697 /dl {10 mul} def
11698 /hpt 31.5 def
11699 /vpt 31.5 def
11700 /M {moveto} bind def
11701 /L {lineto} bind def
11702 /R {rmoveto} bind def
11703 /V {rlineto} bind def
11704 /vpt2 vpt 2 mul def
11705 /hpt2 hpt 2 mul def
11706 /Lshow { currentpoint stroke M
11707   0 vshift R show } def
11708 /Rshow { currentpoint stroke M
11709   dup stringwidth pop neg vshift R show } def
11710 /Cshow { currentpoint stroke M
11711   dup stringwidth pop -2 div vshift R show } def
11712 /DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
11713  {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
11714 /BL { stroke gnulinewidth 2 mul setlinewidth } def
11715 /AL { stroke gnulinewidth 2 div setlinewidth } def
11716 /PL { stroke gnulinewidth setlinewidth } def
11717 /LTb { BL [] 0 0 0 DL } def
11718 /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
11719 /LT0 { PL [] 0 1 0 DL } def
11720 /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
11721 /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
11722 /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
11723 /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
11724 /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
11725 /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
11726 /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
11727 /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
11728 /P { stroke [] 0 setdash
11729   currentlinewidth 2 div sub M
11730   0 currentlinewidth V stroke } def
11731 /D { stroke [] 0 setdash 2 copy vpt add M
11732   hpt neg vpt neg V hpt vpt neg V
11733   hpt vpt V hpt neg vpt V closepath stroke
11734   P } def
11735 /A { stroke [] 0 setdash vpt sub M 0 vpt2 V
11736   currentpoint stroke M
11737   hpt neg vpt neg R hpt2 0 V stroke
11738   } def
11739 /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
11740   0 vpt2 neg V hpt2 0 V 0 vpt2 V
11741   hpt2 neg 0 V closepath stroke
11742   P } def
11743 /C { stroke [] 0 setdash exch hpt sub exch vpt add M
11744   hpt2 vpt2 neg V currentpoint stroke M
11745   hpt2 neg 0 R hpt2 vpt2 V stroke } def
11746 /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
11747   hpt neg vpt -1.62 mul V
11748   hpt 2 mul 0 V
11749   hpt neg vpt 1.62 mul V closepath stroke
11750   P  } def
11751 /S { 2 copy A C} def
11752 end
11753 gnudict begin
11754 gsave
11755 50 50 translate
11756 0.100 0.100 scale
11757 0 setgray
11758 /Helvetica findfont 180 scalefont setfont
11759 newpath
11760 LTa
11761 1080 451 M
11762 4544 0 V
11763 -4544 0 R
11764 0 4498 V
11765 LTb
11766 1080 451 M
11767 63 0 V
11768 4481 0 R
11769 -63 0 V
11770 972 451 M
11771 (0) Rshow
11772 1080 951 M
11773 63 0 V
11774 4481 0 R
11775 -63 0 V
11776 972 951 M
11777 (8) Rshow
11778 1080 1451 M
11779 63 0 V
11780 4481 0 R
11781 -63 0 V
11782 -4589 0 R
11783 (16) Rshow
11784 1080 1950 M
11785 63 0 V
11786 4481 0 R
11787 -63 0 V
11788 -4589 0 R
11789 (24) Rshow
11790 1080 2450 M
11791 63 0 V
11792 4481 0 R
11793 -63 0 V
11794 -4589 0 R
11795 (32) Rshow
11796 1080 2950 M
11797 63 0 V
11798 4481 0 R
11799 -63 0 V
11800 -4589 0 R
11801 (40) Rshow
11802 1080 3450 M
11803 63 0 V
11804 4481 0 R
11805 -63 0 V
11806 -4589 0 R
11807 (48) Rshow
11808 1080 3949 M
11809 63 0 V
11810 4481 0 R
11811 -63 0 V
11812 -4589 0 R
11813 (56) Rshow
11814 1080 4449 M
11815 63 0 V
11816 4481 0 R
11817 -63 0 V
11818 -4589 0 R
11819 (64) Rshow
11820 1080 4949 M
11821 63 0 V
11822 4481 0 R
11823 -63 0 V
11824 -4589 0 R
11825 (72) Rshow
11826 1080 451 M
11827 0 63 V
11828 0 4435 R
11829 0 -63 V
11830 0 -4615 R
11831 (0) Cshow
11832 1585 451 M
11833 0 63 V
11834 0 4435 R
11835 0 -63 V
11836 0 -4615 R
11837 (8) Cshow
11838 2090 451 M
11839 0 63 V
11840 0 4435 R
11841 0 -63 V
11842 0 -4615 R
11843 (16) Cshow
11844 2595 451 M
11845 0 63 V
11846 0 4435 R
11847 0 -63 V
11848 0 -4615 R
11849 (24) Cshow
11850 3100 451 M
11851 0 63 V
11852 0 4435 R
11853 0 -63 V
11854 0 -4615 R
11855 (32) Cshow
11856 3604 451 M
11857 0 63 V
11858 0 4435 R
11859 0 -63 V
11860 0 -4615 R
11861 (40) Cshow
11862 4109 451 M
11863 0 63 V
11864 0 4435 R
11865 0 -63 V
11866 0 -4615 R
11867 (48) Cshow
11868 4614 451 M
11869 0 63 V
11870 0 4435 R
11871 0 -63 V
11872 0 -4615 R
11873 (56) Cshow
11874 5119 451 M
11875 0 63 V
11876 0 4435 R
11877 0 -63 V
11878 0 -4615 R
11879 (64) Cshow
11880 5624 451 M
11881 0 63 V
11882 0 4435 R
11883 0 -63 V
11884 0 -4615 R
11885 (72) Cshow
11886 1080 451 M
11887 4544 0 V
11888 0 4498 V
11889 -4544 0 V
11890 0 -4498 V
11891 504 2700 M
11892 currentpoint gsave translate 90 rotate 0 0 M
11893 (Speedup) Cshow
11894 grestore
11895 3352 -89 M
11896 (Number of Processors) Cshow
11897 LT0
11898 3794 4637 M
11899 (Perfect Speedup) Rshow
11900 3902 4637 M
11901 324 0 V
11902 1080 451 M
11903 505 500 V
11904 505 500 V
11905 1010 999 V
11906 5119 4449 L
11907 505 500 V
11908 LT1
11909 3794 4457 M
11910 (APHID, fixed-depth, shared TT) Rshow
11911 3902 4457 M
11912 324 0 V
11913 1585 810 M
11914 505 345 V
11915 1010 670 V
11916 2019 965 V
11917 4010 4457 D
11918 1585 810 D
11919 2090 1155 D
11920 3100 1825 D
11921 5119 2790 D
11922 LT2
11923 3794 4277 M
11924 (YBW, fixed-depth, shared TT) Rshow
11925 3902 4277 M
11926 324 0 V
11927 1585 841 M
11928 505 294 V
11929 1010 462 V
11930 2019 366 V
11931 4010 4277 A
11932 1585 841 A
11933 2090 1135 A
11934 3100 1597 A
11935 5119 1963 A
11936 stroke
11937 grestore
11938 end
11939 showpage
11940 %%EndDocument
11941
11942  endTexFig
11943  1950 0 a
11944  12191183 10419816 3289088 3289088 42100326 36443095 startTexFig
11945  1950 0 a
11946 %%BeginDocument: pics/overhead_ybwkeyano.ps
11947 /gnudict 40 dict def
11948 gnudict begin
11949 /Color false def
11950 /Solid false def
11951 /gnulinewidth 5.000 def
11952 /vshift -60 def
11953 /dl {10 mul} def
11954 /hpt 31.5 def
11955 /vpt 31.5 def
11956 /M {moveto} bind def
11957 /L {lineto} bind def
11958 /R {rmoveto} bind def
11959 /V {rlineto} bind def
11960 /vpt2 vpt 2 mul def
11961 /hpt2 hpt 2 mul def
11962 /Lshow { currentpoint stroke M
11963   0 vshift R show } def
11964 /Rshow { currentpoint stroke M
11965   dup stringwidth pop neg vshift R show } def
11966 /Cshow { currentpoint stroke M
11967   dup stringwidth pop -2 div vshift R show } def
11968 /DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
11969  {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
11970 /BL { stroke gnulinewidth 2 mul setlinewidth } def
11971 /AL { stroke gnulinewidth 2 div setlinewidth } def
11972 /PL { stroke gnulinewidth setlinewidth } def
11973 /LTb { BL [] 0 0 0 DL } def
11974 /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
11975 /LT0 { PL [] 0 1 0 DL } def
11976 /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
11977 /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
11978 /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
11979 /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
11980 /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
11981 /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
11982 /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
11983 /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
11984 /P { stroke [] 0 setdash
11985   currentlinewidth 2 div sub M
11986   0 currentlinewidth V stroke } def
11987 /D { stroke [] 0 setdash 2 copy vpt add M
11988   hpt neg vpt neg V hpt vpt neg V
11989   hpt vpt V hpt neg vpt V closepath stroke
11990   P } def
11991 /A { stroke [] 0 setdash vpt sub M 0 vpt2 V
11992   currentpoint stroke M
11993   hpt neg vpt neg R hpt2 0 V stroke
11994   } def
11995 /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
11996   0 vpt2 neg V hpt2 0 V 0 vpt2 V
11997   hpt2 neg 0 V closepath stroke
11998   P } def
11999 /C { stroke [] 0 setdash exch hpt sub exch vpt add M
12000   hpt2 vpt2 neg V currentpoint stroke M
12001   hpt2 neg 0 R hpt2 vpt2 V stroke } def
12002 /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
12003   hpt neg vpt -1.62 mul V
12004   hpt 2 mul 0 V
12005   hpt neg vpt 1.62 mul V closepath stroke
12006   P  } def
12007 /S { 2 copy A C} def
12008 end
12009 gnudict begin
12010 gsave
12011 50 50 translate
12012 0.100 0.100 scale
12013 0 setgray
12014 /Helvetica findfont 180 scalefont setfont
12015 newpath
12016 LTa
12017 1080 451 M
12018 4544 0 V
12019 -4544 0 R
12020 0 4498 V
12021 LTb
12022 1080 451 M
12023 63 0 V
12024 4481 0 R
12025 -63 0 V
12026 972 451 M
12027 (0) Rshow
12028 1080 901 M
12029 63 0 V
12030 4481 0 R
12031 -63 0 V
12032 972 901 M
12033 (50) Rshow
12034 1080 1351 M
12035 63 0 V
12036 4481 0 R
12037 -63 0 V
12038 -4589 0 R
12039 (100) Rshow
12040 1080 1800 M
12041 63 0 V
12042 4481 0 R
12043 -63 0 V
12044 -4589 0 R
12045 (150) Rshow
12046 1080 2250 M
12047 63 0 V
12048 4481 0 R
12049 -63 0 V
12050 -4589 0 R
12051 (200) Rshow
12052 1080 2700 M
12053 63 0 V
12054 4481 0 R
12055 -63 0 V
12056 -4589 0 R
12057 (250) Rshow
12058 1080 3150 M
12059 63 0 V
12060 4481 0 R
12061 -63 0 V
12062 -4589 0 R
12063 (300) Rshow
12064 1080 3600 M
12065 63 0 V
12066 4481 0 R
12067 -63 0 V
12068 -4589 0 R
12069 (350) Rshow
12070 1080 4049 M
12071 63 0 V
12072 4481 0 R
12073 -63 0 V
12074 -4589 0 R
12075 (400) Rshow
12076 1080 4499 M
12077 63 0 V
12078 4481 0 R
12079 -63 0 V
12080 -4589 0 R
12081 (450) Rshow
12082 1080 4949 M
12083 63 0 V
12084 4481 0 R
12085 -63 0 V
12086 -4589 0 R
12087 (500) Rshow
12088 1080 451 M
12089 0 63 V
12090 0 4435 R
12091 0 -63 V
12092 0 -4615 R
12093 (0) Cshow
12094 1585 451 M
12095 0 63 V
12096 0 4435 R
12097 0 -63 V
12098 0 -4615 R
12099 (8) Cshow
12100 2090 451 M
12101 0 63 V
12102 0 4435 R
12103 0 -63 V
12104 0 -4615 R
12105 (16) Cshow
12106 2595 451 M
12107 0 63 V
12108 0 4435 R
12109 0 -63 V
12110 0 -4615 R
12111 (24) Cshow
12112 3100 451 M
12113 0 63 V
12114 0 4435 R
12115 0 -63 V
12116 0 -4615 R
12117 (32) Cshow
12118 3604 451 M
12119 0 63 V
12120 0 4435 R
12121 0 -63 V
12122 0 -4615 R
12123 (40) Cshow
12124 4109 451 M
12125 0 63 V
12126 0 4435 R
12127 0 -63 V
12128 0 -4615 R
12129 (48) Cshow
12130 4614 451 M
12131 0 63 V
12132 0 4435 R
12133 0 -63 V
12134 0 -4615 R
12135 (56) Cshow
12136 5119 451 M
12137 0 63 V
12138 0 4435 R
12139 0 -63 V
12140 0 -4615 R
12141 (64) Cshow
12142 5624 451 M
12143 0 63 V
12144 0 4435 R
12145 0 -63 V
12146 0 -4615 R
12147 (72) Cshow
12148 1080 451 M
12149 4544 0 V
12150 0 4498 V
12151 -4544 0 V
12152 0 -4498 V
12153 504 2700 M
12154 currentpoint gsave translate 90 rotate 0 0 M
12155 (Overhead \(in Percent\)) Cshow
12156 grestore
12157 3352 -89 M
12158 (Number of Processors) Cshow
12159 3415 4724 M
12160 (Keyano-YBWC) Rshow
12161 LT0
12162 3415 4454 M
12163 (Total Overhead) Rshow
12164 3523 4454 M
12165 324 0 V
12166 1585 823 M
12167 505 178 V
12168 1010 355 V
12169 2019 886 V
12170 3631 4454 D
12171 1585 823 D
12172 2090 1001 D
12173 3100 1356 D
12174 5119 2242 D
12175 LT1
12176 3415 4274 M
12177 (Synchronization Overhead) Rshow
12178 3523 4274 M
12179 324 0 V
12180 1585 468 M
12181 505 137 V
12182 3100 717 L
12183 2019 719 V
12184 3631 4274 A
12185 1585 468 A
12186 2090 605 A
12187 3100 717 A
12188 5119 1436 A
12189 LT2
12190 3415 4094 M
12191 (Search Overhead) Rshow
12192 3523 4094 M
12193 324 0 V
12194 1585 670 M
12195 505 13 V
12196 3100 806 L
12197 2019 77 V
12198 3631 4094 B
12199 1585 670 B
12200 2090 683 B
12201 3100 806 B
12202 5119 883 B
12203 LT3
12204 3415 3914 M
12205 (Parallelization Overhead) Rshow
12206 3523 3914 M
12207 324 0 V
12208 1585 468 M
12209 505 11 V
12210 1010 20 V
12211 2019 13 V
12212 3631 3914 C
12213 1585 468 C
12214 2090 479 C
12215 3100 499 C
12216 5119 512 C
12217 stroke
12218 grestore
12219 end
12220 showpage
12221 %%EndDocument
12222
12223  endTexFig
12224  167 1523 a Fu(Figure)25 b(9:)30 b(Speedups)25 b(and)g(Ov)o(erheads)f
12225 (for)j(K)t Fa(E)t(Y)-6 b(A)t(N)t(O)31 b Fu(\(YBWC,)26
12226 b(Fix)o(ed-Depth,)d(Shared)j(Memory\))0 1811 y(ne)n(v)o(er)e(slo)n(ws)g
12227 (do)n(wn)f(to)i(w)o(ait)f(for)h(messages)f(from)h(another)g(processor)f
12228 (or)h(to)g(\002nd)g(w)o(ork.)146 2010 y(The)k(observ)o(ed)g(speedups)f
12229 (for)i(YBWC)g(are)g(in)e(line)h(with)f(other)h(published)f(performance)
12230 i(numbers)e(for)0 2209 y(this)g(algorithm.)41 b(W)-8
12231 b(eill)28 b(tested)h(YBWC)g(and)g(ABD)l(AD)l(A)g(on)f(a)i(CM-5)e(using)
12232 g(a)h(dif)n(ferent)g(Othello)e(program)0 2408 y([17].)74
12233 b(YBWC)40 b(achie)n(v)o(ed)f(a)g(9.5-fold)g(speedup)g(and)g(ABD)l(AD)l
12234 (A)g(achie)n(v)o(ed)g(an)g(11-fold)g(speedup)f(on)h(16)0
12235 2608 y(processors,)24 b(comparable)h(numbers)f(to)g(that)h(achie)n(v)o
12236 (ed)f(by)g(the)j(K)t Fa(E)t(Y)-6 b(A)t(N)t(O)31 b Fu(implementation.)
12237 146 2807 y(Switching)38 b(to)g(the)g(check)o(ers)h(program)f(results,)j
12238 (the)d(speedups)g(for)i(C)t Fa(H)t(I)t(N)t(O)t(O)t(K)45
12239 b Fu(could)38 b(be)g(described)0 3006 y(as)e(disappointing.)62
12240 b(Ho)n(we)n(v)o(er)l(,)38 b(other)e(authors)f(that)h(ha)n(v)o(e)f
12241 (attempted)g(to)h(parallelize)g(check)o(ers)h(programs)0
12242 3205 y(with)29 b(synchronous)f(algorithms)g(ha)n(v)o(e)h(met)g(with)g
12243 (limited)f(success.)44 b(The)30 b(best-kno)n(wn)e(speedup)h(for)h(a)f
12244 (syn-)0 3405 y(chronous)f(algorithm)f(on)i(a)g(high-performance)f
12245 (check)o(ers)i(program)e(is)g(3.32)g(for)h(Lu')-5 b(s)28
12246 b(Principal)h(V)-11 b(ariation)0 3604 y(Frontier)29 b(Splitting)f(with)
12247 h(Load)g(Balancing)h([12)o(].)45 b(Thus,)30 b(the)f(observ)o(ed)g
12248 (speedup)g(of)g(14.35)g(on)g(64)g(proces-)0 3803 y(sors)24
12249 b(for)h(APHID)g(is)f(a)h(four)n(-fold)f(impro)o(v)o(ement)e(o)o(v)o(er)
12250 i(pre)n(viously)f(published)g(results)h(for)g(an)o(y)g(synchronous)0
12251 4002 y(algorithm)f(in)i(the)f(domain)g(of)h(check)o(ers.)146
12252 4202 y(APHID)i(can)g(yield)f(lar)n(ger)h(observ)o(ed)e(speedups)h(than)
12253 g(synchronous)f(algorithms)f(in)i(domains)f(with)h(lo)n(w)0
12254 4401 y(branching)h(f)o(actors)i(such)e(as)h(check)o(ers)h(and)f
12255 (Othello.)39 b(Higher)27 b(branching)h(f)o(actors)g(are)h(represented)f
12256 (by)g(tw)o(o)0 4600 y(computer)g(chess)h(programs:)41
12257 b(C)t Fa(R)t(A)t(F)t(T)t(Y)36 b Fu(and)31 b(T)t Fa(H)t(E)t
12258 Fu(T)t Fa(U)t(R)t(K)r Fu(.)49 b(In)29 b(computer)f(chess)h(algorithms,)
12259 f(synchronous)0 4799 y(parallel)23 b(algorithms)f(achie)n(v)o(e)h
12260 (higher)g(ef)n(\002ciencies)h(because)g(of)f(the)g(increased)h(number)f
12261 (of)g(parallel)h(alterna-)0 4999 y(ti)n(v)o(es)i(a)n(v)n(ailable)h(at)h
12262 (ALL)g(nodes.)39 b(Consider)28 b(W)-8 b(eill')j(s)27
12263 b(tests)g(on)h(a)g(32-processor)f(CM-5)h(as)g(representati)n(v)o(e)f
12264 (of)0 5198 y(synchronous)19 b(parallel)h(algorithm)f(performance.)30
12265 b(W)-8 b(eill')j(s)19 b(implementation)f(of)i(YBWC)h(for)g(chess)f
12266 (achie)n(v)o(ed)1900 5589 y(27)p eop
12267 %%Page: 28 31
12268 28 30 bop 0 100 a Fu(a)22 b(speedup)g(of)g(12)g(on)f(32)h(processors,)g
12269 (and)g(ABD)l(AD)l(A)g(achie)n(v)o(ed)g(a)g(speedup)g(of)g(16)f([17].)30
12270 b(W)-8 b(eill')j(s)21 b(results)g(are)0 299 y(similar)h(to)g(other)h
12271 (reported)g(speedups)g(with)f(synchronous)g(game-tree)g(search)i
12272 (algorithms.)k(The)23 b(majority)f(of)0 498 y(these)i(algorithms)f(ha)n
12273 (v)o(e)h(been)h(tested)e(under)i(similar)e(conditions)g(to)h(those)f
12274 (used)i(for)f(the)g(chess)h(programs)e(in)0 697 y(this)i(paper)-5
12275 b(.)33 b(Although)24 b(it)h(is)g(not)g(an)g(objecti)n(v)o(e)f
12276 (comparison)h(between)h(algorithms,)e(the)h(observ)o(ed)g(speedups)0
12277 897 y(in)33 b(the)g(literature)g(for)g(most)f(synchronous)g(algorithms)
12278 f(are)j(comparable,)h(up)e(to)f(32)h(processors,)i(with)d(the)0
12279 1096 y(observ)o(ed)24 b(speedups)g(seen)h(for)g(the)g(APHID)g
12280 (algorithm)e(in)i(both)h(T)t Fa(H)t(E)t Fu(T)t Fa(U)t(R)t(K)32
12281 b Fu(and)26 b(C)t Fa(R)t(A)t(F)t(T)t(Y)r Fu(.)146 1295
12282 y(Dynamic)h(T)m(ree)h(Splitting,)f(when)h(using)f(the)g(same)h(testing)
12283 e(methodology)g(as)i(described)g(in)f(this)g(paper)l(,)0
12284 1494 y(achie)n(v)o(ed)18 b(a)i(speedup)f(of)g(8.81)g(on)g(16)g
12285 (processors)g([6].)29 b(Ho)n(we)n(v)o(er)l(,)19 b(a)h(latter)f(paper)g
12286 (which)g(used)g(a)h(non-standard)0 1694 y(testing)27
12287 b(methodology)g(\(using)g(a)i(series)g(of)f(related)h(positions)e(with)
12288 g(transposition)g(table)h(data)h(carried)g(o)o(v)o(er)0
12289 1893 y(from)24 b(search)g(to)g(search\))g(yielded)g(a)g(speedup)f(of)h
12290 (11.1)g(on)f(16)h(processors)f([7].)31 b(It)24 b(is)f(not)h(kno)n(wn)e
12291 (whether)i(the)0 2092 y(latter)h(testing)e(methodology)g(is)h
12292 (partially)g(responsible)g(for)h(the)g(dif)n(ference)g(in)f(the)h
12293 (observ)o(ed)f(results.)146 2291 y(Ho)n(we)n(v)o(er)l(,)c(there)f(is)h
12294 (one)f(important)f(data)i(point)f(that)g(is)g(signi\002cantly)f(lar)n
12295 (ger)i(than)g(the)f(reported)h(speedups)0 2491 y(by)g(an)o(y)g(other)g
12296 (author)-5 b(.)28 b(Feldmann')-5 b(s)20 b(Y)-11 b(oung)19
12297 b(Brothers)i(W)-8 b(ait)20 b(algorithm)f(in)j(Z)t Fa(U)t(G)t(Z)t(W)-6
12298 b(A)t(N)t(G)27 b Fu(achie)n(v)o(es)20 b(speedups)0 2690
12299 y(of)27 b(21.83)g(on)g(32)g(processors)g(and)g(37.34)f(on)h(64)g
12300 (processors)g(for)h(7-ply)e(searches)i(for)g(chess)f(that)f(tak)o(e)i
12301 (place)0 2889 y(in)h(tournament)g(time)g([3].)46 b(Results)29
12302 b(of)h(this)f(calibre)h(ha)n(v)o(e)f(not)g(been)h(reported)g(for)g(an)o
12303 (y)f(other)h(algorithm)e(or)0 3088 y(by)d(an)o(y)f(other)g(author)h
12304 (repeating)g(Feldmann')-5 b(s)23 b(w)o(ork.)146 3288
12305 y(Why)32 b(are)i(Feldmann')-5 b(s)31 b(observ)o(ed)h(speedups)g(so)g
12306 (lar)n(ge?)55 b(One)33 b(reason)g(is)f(that)i(Z)t Fa(U)t(G)t(Z)t(W)-6
12307 b(A)t(N)t(G)40 b Fu(is)32 b(a)h(slo)n(w)0 3487 y(sequential)26
12308 b(program.)38 b(C)t Fa(R)t(A)t(F)t(T)t(Y)c Fu(searches)27
12309 b(11-)f(and)h(12-ply)f(trees)h(on)f(32)g(processors)h(in)f(the)g(same)h
12310 (a)n(v)o(erage)0 3686 y(time)i(that)i(Z)t Fa(U)t(G)t(Z)t(W)-6
12311 b(A)t(N)t(G)37 b Fu(searches)30 b(7-ply)e(trees)i(on)f(32)g
12312 (processors.)45 b(Although)28 b(there)h(is)g(a)h(dramatic)f(speed)0
12313 3885 y(dif)n(ference)36 b(between)g(the)f(SGI)h(Origin)f(2000)g(\(on)g
12314 (which)g(Crafty)i(searches)f(130,000)e(nodes)h(per)h(second\))0
12315 4085 y(and)23 b(the)g(T)m(ransputer)f(T)-9 b(-800)23
12316 b(\(where)h(Zugzw)o(ang)e(visits)g(523)g(nodes)h(per)h(second\),)f
12317 (this)f(does)h(not)f(completely)0 4284 y(account)j(for)g(the)f(lar)n
12318 (ge)i(dif)n(ference)f(in)f(search)i(depths.)146 4483
12319 y(Unlik)o(e)f(other)h(game-playing)e(programs,)k(Z)t
12320 Fa(U)t(G)t(Z)t(W)-6 b(A)t(N)t(G)33 b Fu(spends)25 b(a)h(lar)n(ge)g
12321 (amount)f(of)h(time)f(doing)g(mo)o(v)o(e)0 4682 y(ordering)39
12322 b(at)h(each)h(node.)75 b(This)39 b(allo)n(ws)i(Z)t Fa(U)t(G)t(Z)t(W)-6
12323 b(A)t(N)t(G)47 b Fu(to)40 b(use)g(a)g(netw)o(ork)f(of)h(T)m(ransputers)
12324 f(as)h(a)g(shared)0 4882 y(memory)30 b(system)g(with)g(v)o(ery)g
12325 (little)g(loss)g(in)g(performance.)50 b(The)31 b(time)f(spent)g(in)g
12326 (mo)o(v)o(e)g(ordering)g(impro)o(v)o(es)2 5081 y(Z)t
12327 Fa(U)t(G)t(Z)t(W)-6 b(A)t(N)t(G)r Fu(')h(s)37 b(parallel)c(tree)f
12328 (search:)47 b(it)31 b(searches)i(the)g(best)f(mo)o(v)o(e)f(\002rst)h
12329 (96\045)g(of)h(the)f(time,)h(signi\002cantly)0 5280 y(better)28
12330 b(than)g(most)f(other)h(sequential)f(chess)h(programs.)40
12331 b(On)28 b(the)g(other)g(hand,)h(most)e(programs)h(use)g(less)f(e)o(x-)
12332 1900 5589 y(28)p eop
12333 %%Page: 29 32
12334 29 31 bop 312 3 3256 4 v 312 20 V 310 120 4 100 v 493
12335 120 V 510 120 V 510 120 V 754 90 a Fi(K)n(e)o(yano)p
12336 1251 120 V 1268 120 V 1267 120 V 486 w(Chinook)p 2009
12337 120 V 2026 120 V 2025 120 V 527 w(Crafty)p 2808 120 V
12338 2825 120 V 2824 120 V 528 w(TheT)l(urk)p 3566 120 V 312
12339 123 3256 4 v 310 222 4 100 v 493 222 V 510 222 V 895
12340 222 V 990 193 a(T)-7 b(otal)p 1251 222 V 1268 222 V 1653
12341 222 V 589 w(T)g(otal)p 2009 222 V 2026 222 V 2411 222
12342 V 610 w(T)g(otal)p 2808 222 V 2825 222 V 3210 222 V 609
12343 w(T)g(otal)p 3566 222 V 310 322 V 493 322 V 510 322 V
12344 895 322 V 962 292 a(Search)p 1251 322 V 1268 322 V 1653
12345 322 V 530 w(Search)p 2009 322 V 2026 322 V 2411 322 V
12346 552 w(Search)p 2808 322 V 2825 322 V 3210 322 V 551 w(Search)p
12347 3566 322 V 310 422 V 383 392 a(n)p 493 422 V 510 422
12348 V 136 w(Speedup)p 895 422 V 135 w(Ov)o(er)i(.)p 1251
12349 422 V 1268 422 V 153 w(Speedup)p 1653 422 V 135 w(Ov)o(er)g(.)p
12350 2009 422 V 2026 422 V 153 w(Speedup)p 2411 422 V 155
12351 w(Ov)o(er)g(.)p 2808 422 V 2825 422 V 174 w(Speedup)p
12352 3210 422 V 135 w(Ov)o(er)g(.)p 3566 422 V 312 425 3256
12353 4 v 310 525 4 100 v 383 495 a(8)p 493 525 V 510 525 V
12354 206 w(5.74)p 895 525 V 189 w(9.12\045)p 1251 525 V 1268
12355 525 V 265 w(-)p 1653 525 V 343 w(-)p 2009 525 V 2026
12356 525 V 359 w(-)p 2411 525 V 363 w(-)p 2808 525 V 2825
12357 525 V 380 w(-)p 3210 525 V 343 w(-)p 3566 525 V 312 528
12358 3256 4 v 310 628 4 100 v 362 598 a(16)p 493 628 V 510
12359 628 V 165 w(11.27)p 895 628 V 147 w(17.26\045)p 1251
12360 628 V 1268 628 V 184 w(8.35)p 1653 628 V 168 w(87.45\045)p
12361 2009 628 V 2026 628 V 185 w(8.76)p 2411 628 V 210 w(69.9\045)p
12362 2808 628 V 2825 628 V 226 w(8.48)p 3210 628 V 168 w(59.26\045)p
12363 3566 628 V 312 631 3256 4 v 310 731 4 100 v 362 701 a(32)p
12364 493 731 V 510 731 V 165 w(21.99)p 895 731 V 147 w(28.78\045)p
12365 1251 731 V 1268 731 V 163 w(10.82)p 1653 731 V 147 w(201.6\045)p
12366 2009 731 V 2026 731 V 164 w(16.56)p 2411 731 V 168 w(120.7\045)p
12367 2808 731 V 2825 731 V 184 w(12.96)p 3210 731 V 147 w(157.2\045)p
12368 3566 731 V 312 734 3256 4 v 310 834 4 100 v 362 804 a(64)p
12369 493 834 V 510 834 V 165 w(37.44)p 895 834 V 147 w(76.72\045)p
12370 1251 834 V 1268 834 V 163 w(14.35)p 1653 834 V 147 w(393.1\045)p
12371 2009 834 V 2026 834 V 164 w(18.00)p 2411 834 V 147 w(300.65\045)p
12372 2808 834 V 2825 834 V 163 w(15.96)p 3210 834 V 147 w(384.8\045)p
12373 3566 834 V 312 837 3256 4 v 312 853 V 513 1013 a Fu(T)d(able)25
12374 b(I:)g(Speedup)g(Data)g(for)g(All)f(Programs)h(\(Fix)o(ed-Depth,)f
12375 (Shared)i(Memory\))0 1300 y(pensi)n(v)o(e)19 b(mo)o(v)o(e)g(ordering)i
12376 (heuristics)e(and)i(only)f(search)h(the)g(best)f(more)h(\002rst)f
12377 (80-90\045)h(of)f(the)h(time,)g(increasing)0 1499 y(the)j(node)h(rate)g
12378 (dramatically)-6 b(.)29 b(The)24 b(increase)i(in)e(nodes)g(per)h
12379 (second)f(easily)g(subsumes)f(the)h(additional)g(nodes)0
12380 1698 y(that)g(must)g(be)h(searched,)g(allo)n(wing)e(most)h(programs)g
12381 (to)h(out-search)g(sequential)g(Z)t Fa(U)t(G)t(Z)t(W)-6
12382 b(A)t(N)t(G)r Fu(.)146 1898 y(Another)34 b(reason)f(for)h(the)g(e)o
12383 (xtraordinary)f(speedups)g(is)g(that)g(the)g(transposition)f(table)h(w)
12384 o(as)h(allo)n(wed)e(to)0 2097 y(gro)n(w)g(as)h(more)f(T)m(ransputers)g
12385 (were)h(added)g(to)f(the)h(system.)53 b(Thus,)34 b(the)e(observ)o(ed)g
12386 (speedups)g(are)h(illustrat-)0 2296 y(ing)27 b(the)g(po)n(wer)g(of)h
12387 (adding)e(additional)g(processors)i(and)f(transposition)e(table)i
12388 (memory)-6 b(,)27 b(not)g(just)g(additional)0 2495 y(processors.)33
12389 b(F)o(or)26 b(the)f(lar)n(gest)h(search)g(amongst)e(the)i(test)f(set,)i
12390 (Z)t Fa(U)t(G)t(Z)t(W)-6 b(A)t(N)t(G)33 b Fu(searches)27
12391 b(61)e(million)f(nodes)h(se-)0 2695 y(quentially)c(with)h(a)i(small)d
12392 (transposition)g(table,)i(and)g(41)f(million)f(nodes)h(in)h(parallel)g
12393 (on)f(256)g(processors)h(with)0 2894 y(a)k(much)f(lar)n(ger)h
12394 (transposition)d(table.)35 b(The)26 b(number)g(of)g(nodes)i(Z)t
12395 Fa(U)t(G)t(Z)t(W)-6 b(A)t(N)t(G)34 b Fu(searches)27 b(sequentially)e(w)
12396 o(ould)0 3093 y(decrease)31 b(if)f(much)f(lar)n(ger)i(transposition)d
12397 (tables)h(were)i(used)f(during)f(the)h(sequential)f(test.)45
12398 b(This)30 b(w)o(ould,)g(of)0 3293 y(course,)25 b(reduce)g(the)g(observ)
12399 o(ed)f(speedup.)146 3492 y(W)l(ith)33 b(a)g(f)o(ast)h(sequential)e
12400 (program,)j(operating)d(in)h(an)h(en)l(vironment)d(where)j(messages)f
12401 (are)h(not)e(f)o(ast)h(in)0 3691 y(relation)i(to)h(the)f(program,)j
12402 (less)e(than)f(superb)h(mo)o(v)o(e)e(ordering)h(and)h(constant)f
12403 (memory)g(usage)h(in)f(the)h(se-)0 3890 y(quential)23
12404 b(and)g(parallel)g(runs,)h(it)f(is)g(unlik)o(ely)f(that)h(Feldmann')-5
12405 b(s)22 b(observ)o(ed)h(speedups)g(can)h(be)f(duplicated)g(with)0
12406 4090 y(an)o(y)k(synchronous)g(parallel)g(algorithm.)38
12407 b(Gi)n(v)o(en)27 b(a)h(program)f(without)g(quiescence)h(search,)g(it)g
12408 (is)f(possible)f(to)0 4289 y(generate)i(equi)n(v)n(alent)d(speedups)i
12409 (with)f(asynchronous)h(search.)38 b(Earlier)28 b(it)e(w)o(as)i
12410 (demonstrated)e(that)h(APHID)0 4488 y(can)d(generate)g(speedups)f(of)h
12411 (that)g(calibre)g(in)f(the)h(\002x)o(ed-depth)f(v)o(ersion)f(of)k(K)t
12412 Fa(E)t(Y)-6 b(A)t(N)t(O)r Fu(.)34 b(Ho)n(we)n(v)o(er)l(,)23
12413 b(quiescence)0 4687 y(search)29 b(is)f(inte)o(gral)f(to)h(modern)g
12414 (chess)g(programs.)41 b(Hence,)29 b(it)f(is)g(unlik)o(ely)f(that)h(an)o
12415 (y)g(asynchronous)f(parallel)0 4887 y(algorithm)c(in)i(chess)f(w)o
12416 (ould)g(achie)n(v)o(e)h(observ)o(ed)f(speedups)g(similar)f(to)i
12417 (Feldmann')-5 b(s)24 b(results.)1900 5589 y(29)p eop
12418 %%Page: 30 33
12419 30 32 bop 0 100 a Fo(5)143 b(Conclusions)0 402 y Fu(In)25
12420 b(this)f(paper)l(,)h(the)f(question)g(w)o(as)h(posed)f(as)h(to)f
12421 (whether)h(asynchronous)e(algorithms)g(could)i(be)g(competiti)n(v)o(e)0
12422 601 y(with)32 b(synchronous)g(algorithms)g(in)h(real)g(applications)f
12423 (searching)h(real)h(game)e(trees.)57 b(The)33 b(results)f(in)h(Sec-)0
12424 800 y(tion)26 b(4.3,)h(summarized)f(in)g(T)-8 b(able)27
12425 b(I,)h(sho)n(w)e(that)g(the)h(APHID)g(algorithm)e(can)j(deli)n(v)o(er)d
12426 (superior/competiti)n(v)o(e)0 1000 y(results)f(to)g(that)g(achie)n(v)n
12427 (able)f(by)h(a)h(synchronous)e(algorithm.)29 b(Further)l(,)c(this)e
12428 (performance)i(is)f(easy)h(to)f(achie)n(v)o(e)0 1199
12429 y(since)h(APHID)g(is)f(easy)h(to)g(inte)o(grate)f(into)g(an)g(e)o
12430 (xisting)f Fq(\013)q(\014)6 b Fu(-searching)25 b(program.)146
12431 1398 y(Comparing)31 b(APHID)g(to)g(synchronous)f(approaches,)i(it)f(is)
12432 f(interesting)g(to)h(note)f(that)h(APHID')-5 b(s)31 b(results)0
12433 1598 y(are)36 b(less)f(dependent)g(on)g(the)g(branching)g(f)o(actor)h
12434 (within)e(the)h(tree.)63 b(The)35 b(synchronous)f(search)i(results)e
12435 (are)0 1797 y(highly)d(dependent)h(on)g(the)g(branching)f(f)o(actor;)36
12436 b(a)d(lar)n(ger)g(branching)e(f)o(actor)i(yields)e(more)h(parallelism)f
12437 (and)0 1996 y(less)26 b(idle)f(time.)34 b(Thus,)26 b(the)g
12438 (asynchronous)f(algorithm)g(in)g(APHID)i(is)f(a)g(better)g(choice)g(in)
12439 g(applications)f(with)0 2195 y(small)f(branching)g(f)o(actors,)h(such)g
12440 (as)f(check)o(ers)i(and)f(Othello.)146 2395 y(The)20
12441 b(speedups)f(achie)n(v)n(able)g(by)h(the)g(APHID)g(algorithm)f(are)h
12442 (similar)f(to)g(those)h(achie)n(v)o(ed)f(by)g(synchronous)0
12443 2594 y(parallel)k(algorithms)e(up)i(to)f(32)h(processors)f(for)i
12444 (chess.)29 b(Thus,)23 b(a)g(synchronous)f(parallel)h(algorithm)e(may)i
12445 (be)g(a)0 2793 y(reasonable)k(choice)g(for)g(wide)g(v)n(ariable-depth)e
12446 (game)i(trees.)37 b(Ho)n(we)n(v)o(er)l(,)26 b(when)g(one)h(considers)f
12447 (that)h(APHID)0 2992 y(is)f(\(1\))g(easy)h(to)f(inte)o(grate)f(into)h
12448 (e)o(xisting)e(le)o(gac)o(y)h(code,)i(\(2\))f(can)h(lik)o(ely)e(achie)n
12449 (v)o(e)h(better)g(speedups)g(with)f(more)0 3192 y(transposition)d
12450 (table)h(memory)-6 b(,)23 b(and)h(\(3\))g(has)g(the)g(additional)e
12451 (bene\002t)j(of)f(speculati)n(v)o(e)e(search)i(on)g(some)f(of)h(the)0
12452 3391 y(k)o(e)o(y)g(v)n(ariations)g(at)g(the)h(ne)o(xt)f(search)h
12453 (depth,)g(then)f(APHID)h(becomes)g(the)f(algorithm)g(of)h(choice.)146
12454 3590 y(It)h(is)g(hoped)g(that)f(this)g(document,)h(in)f(conjunction)g
12455 (with)g(the)h(freely-a)n(v)n(ailable)g(APHID)g(library)-6
12456 b(,)26 b(will)f(be)0 3789 y(helpful)32 b(for)i(game-tree)f(researchers)
12457 h(to)f(in)l(v)o(estigate)e(these)i(and)g(other)g(ideas)f(surrounding)g
12458 (asynchronous)0 3989 y(game-tree)25 b(search.)0 4328
12459 y Fo(6)143 b(Ackno)o(wledgements)0 4630 y Fu(P)o(aul)20
12460 b(Masiar)g(and)h(Marc)g(Nolte)e(arranged)i(access)g(to)f(the)h
12461 (64-processor)f(SGI)h(Origin)f(2000)f(system)h(in)g(Eagan,)0
12462 4830 y(Minnesota.)28 b(Charles)20 b(Leiserson,)h(Ask)o(e)f(Plaat)g(and)
12463 g(Boston)g(Uni)n(v)o(ersity)e(arranged)j(access)f(to)g(a)g
12464 (32-processor)0 5029 y(SGI)30 b(Origin)e(2000)g(system.)43
12465 b(The)29 b(authors)f(w)o(ould)g(also)h(lik)o(e)f(to)h(thank)g(Darse)g
12466 (Billings,)g(Yngvi)f(Bj)8 b(\250)-41 b(ornsson,)0 5228
12467 y(Murray)38 b(Campbell,)k(Joe)c(Culberson,)j(Y)-10 b(aoqing)38
12468 b(Gao,)k(Andreas)d(Junghanns,)h(T)-8 b(on)o(y)37 b(Marsland,)42
12469 b(Monroe)1900 5589 y(30)p eop
12470 %%Page: 31 34
12471 31 33 bop 0 100 a Fu(Ne)n(wborn,)24 b(Denis)g(P)o(app,)h(John)f
12472 (Samson,)g(and)h(the)g(referees)h(for)f(their)f(helpful)h(suggestions.)
12473 0 436 y Fo(Refer)m(ences)50 738 y Fu([1])49 b(R.)31 b(D.)f(Blumofe,)i
12474 (C.)f(F)-8 b(.)31 b(Joer)n(g,)h(B.)g(C.)f(K)o(uszmaul,)f(C.)h(E.)g
12475 (Leiserson,)g(K.)g(H.)f(Randall,)i(and)f(Y)-13 b(.)31
12476 b(Zhou.)215 938 y(Cilk:)51 b(An)35 b(Ef)n(\002cient)g(Multithreaded)f
12477 (Runtime)h(System.)69 b(In)35 b Fm(Pr)l(oceedings)f(of)h(PPOPP)g('95)p
12478 Fu(,)j(pages)215 1137 y(207\226216,)23 b(Santa)j(Barbara,)g(CA,)f(July)
12479 f(1995.)50 1413 y([2])49 b(M.)36 b(G.)i(Brockington.)74
12480 b Fm(Async)o(hrnous)36 b(P)-8 b(ar)o(allel)35 b(Game-T)-5
12481 b(r)l(ee)38 b(Sear)l(c)o(h)p Fu(.)75 b(PhD)37 b(thesis,)i(Uni)n(v)o
12482 (ersity)c(of)215 1612 y(Alberta,)24 b(Department)h(of)f(Computing)g
12483 (Science,)h(Edmonton,)e(Canada,)j(December)f(1997.)50
12484 1889 y([3])49 b(R.)32 b(Feldmann.)59 b Fm(Spielbaumsuc)o(he)31
12485 b(auf)g(Massiv)h(P)-8 b(ar)o(allelen)30 b(Systemen)p
12486 Fu(.)60 b(PhD)32 b(thesis,)h(Uni)n(v)o(ersity)d(of)215
12487 2088 y(P)o(aderborn,)22 b(P)o(aderborn,)f(German)o(y)-6
12488 b(,)21 b(May)g(1993.)27 b(English)20 b(translation)g(a)n(v)n(ailable:)
12489 27 b(Game)22 b(T)m(ree)f(Search)215 2287 y(on)j(Massi)n(v)o(ely)f(P)o
12490 (arallel)i(Systems.)50 2564 y([4])49 b(A.)25 b(Geist,)f(A.)h(Be)o
12491 (guelin,)g(J.)g(Dongarra,)g(W)-9 b(.)25 b(Jiang,)f(B.)i(Manchek,)f(and)
12492 g(V)-13 b(.)25 b(Sunderam.)37 b Fm(PVM:)25 b(P)-8 b(ar)o(allel)215
12493 2763 y(V)h(irtual)33 b(Mac)o(hine)i(\226)h(A)f(User')l(s)g(Guide)g(and)
12494 h(T)-5 b(utorial)33 b(for)i(Network)o(ed)i(P)-8 b(ar)o(allel)33
12495 b(Computing)p Fu(.)69 b(MIT)215 2962 y(Press,)25 b(1994.)50
12496 3238 y([5])49 b(R.)36 b(D.)g(Greenblatt,)j(D.)d(E.)f(Eastlak)o(e,)k
12497 (and)d(S.)g(D.)g(Crock)o(er)-5 b(.)72 b(The)36 b(Greenblatt)g(Chess)g
12498 (Program.)72 b(In)215 3438 y Fm(Pr)l(oceedings)23 b(of)i(the)f(F)-7
12499 b(all)24 b(J)n(oint)f(Computer)i(Confer)l(ence)p Fu(,)g(v)n(olume)f
12500 (31,)g(pages)h(801\226810,)f(1967.)50 3714 y([6])49 b(R.)34
12501 b(M.)f(Hyatt.)63 b Fm(A)33 b(High-P)-8 b(erformance)33
12502 b(P)-8 b(ar)o(allel)31 b(Algorithm)h(T)-9 b(o)34 b(Sear)l(c)o(h)f
12503 (Depth-F)l(ir)o(st)e(Game)j(T)-5 b(r)l(ees)p Fu(.)215
12504 3913 y(PhD)25 b(thesis,)f(Uni)n(v)o(ersity)e(of)j(Alabama,)f
12505 (Birmingham,)g(Alabama,)g(1988.)50 4190 y([7])49 b(R.)22
12506 b(M.)f(Hyatt.)28 b(The)22 b(Dynamic)f(T)m(ree)g(Splitting)f(P)o
12507 (arallel)i(Search)h(Algorithm.)k Fm(ICCA)22 b(J)n(ournal)p
12508 Fu(,)f(20\(1\):3\226)215 4389 y(19,)j(1997.)50 4665 y([8])49
12509 b(A.)24 b(Junghanns)e(and)j(J.)e(Schaef)n(fer)-5 b(.)35
12510 b(Search)25 b(V)-11 b(ersus)24 b(Kno)n(wledge)f(in)h(Game-Playing)f
12511 (Programs)h(Re)n(vis-)215 4864 y(ited.)35 b(In)25 b Fm(Pr)l(oceedings)e
12512 (of)i(IJCAI-97)p Fu(,)g(pages)g(692\226697,)f(Nago)o(ya,)g(Japan,)h
12513 (August)f(1997.)50 5141 y([9])49 b(D.)29 b(E.)f(Knuth)g(and)h(R.)h(W)-9
12514 b(.)28 b(Moore.)49 b(An)28 b(Analysis)g(of)h(Alpha-Beta)g(Pruning.)49
12515 b Fm(Arti\002cial)27 b(Intellig)o(ence)p Fu(,)215 5340
12516 y(6\(3\):293\226326,)c(1975.)1900 5589 y(31)p eop
12517 %%Page: 32 35
12518 32 34 bop 0 100 a Fu([10])49 b(D.)23 b(K)m(opec)g(and)g(I.)h(Bratk)o
12519 (o.)33 b(The)23 b(Bratk)o(o-K)m(opec)h(Experiment:)k(A)c(Comparison)e
12520 (of)i(Human)f(and)g(Com-)215 299 y(puter)g(Performance)h(in)f(Chess.)32
12521 b(In)23 b(M.R.B.)g(Clark)o(e,)h(editor)l(,)f Fm(Advances)g(in)g
12522 (Computer)g(Chess)g(3)p Fu(,)g(pages)215 498 y(57\22672.)h(Permagon)h
12523 (Press,)g(1982.)0 780 y([11])49 b(B.)28 b(C.)h(K)o(uszmaul.)44
12524 b(The)28 b(StarT)-7 b(ech)29 b(Massi)n(v)o(ely-P)o(arallel)d(Chess)i
12525 (Program.)46 b Fm(ICCA)29 b(J)n(ournal)p Fu(,)e(18\(1\):3\226)215
12526 980 y(19,)d(1995.)0 1262 y([12])49 b(C.-P)-11 b(.)30
12527 b(P)-11 b(.)30 b(Lu.)51 b(P)o(arallel)29 b(Search)i(of)e(Narro)n(w)h
12528 (Game)f(T)m(rees.)51 b(Master')-5 b(s)29 b(thesis,)g(Uni)n(v)o(ersity)f
12529 (of)h(Alberta,)215 1461 y(Department)24 b(of)h(Computing)e(Science,)j
12530 (Edmonton,)d(Canada,)i(1993.)0 1743 y([13])49 b(T)-7
12531 b(.)24 b(A.)h(Marsland)f(and)g(M.)h(S.)g(Campbell.)35
12532 b(P)o(arallel)25 b(Search)h(of)e(Strongly)g(Ordered)i(Game)e(T)m(rees.)
12533 36 b Fm(A)m(CM)215 1943 y(Computing)23 b(Surve)m(ys)p
12534 Fu(,)i(14\(4\):533\226551,)e(1982.)0 2225 y([14])49 b(M.)28
12535 b(M.)h(Ne)n(wborn.)48 b(Unsynchronized)28 b(Iterati)n(v)o(ely)f
12536 (Deepening)i(P)o(arallel)g(Alpha-Beta)g(Search.)50 b
12537 Fm(IEEE)215 2424 y(T)-5 b(r)o(ansactions)22 b(on)j(P)-8
12538 b(attern)23 b(Analysis)h(and)g(Mac)o(hine)g(Intellig)o(ence)p
12539 Fu(,)g(P)-9 b(AMI-10\(5\):687\226694,)23 b(1988.)0 2707
12540 y([15])49 b(J.)23 b(Schaef)n(fer)-5 b(.)33 b(Distrib)n(uted)21
12541 b(Game-T)m(ree)j(Searching.)32 b Fm(J)n(ournal)22 b(of)h(P)-8
12542 b(ar)o(allel)21 b(and)i(Distrib)n(uted)e(Comput-)215
12543 2906 y(ing)p Fu(,)j(6\(2\):90\226114,)f(1989.)0 3188
12544 y([16])49 b(J.)24 b(J.)g(Scott.)35 b(A)25 b(Chess-Playing)f(Program.)35
12545 b(In)25 b(B.)g(Meltzer)g(and)f(D.)g(Michie,)g(editors,)g
12546 Fm(Mac)o(hine)g(Intelli-)215 3387 y(g)o(ence)h(4)p Fu(,)g(pages)f
12547 (255\226265.)g(Edinb)n(ur)n(gh)g(Uni)n(v)o(ersity)e(Press,)j(1969.)0
12548 3670 y([17])49 b(J.-C.)35 b(W)-8 b(eill.)67 b Fm(Pr)l(o)o(gr)o(ammes)32
12549 b(d')1389 3648 y(\264)1369 3670 y(Ec)o(hecs)j(de)f(Championnat:)50
12550 b(Ar)l(c)o(hitectur)l(e)34 b(Lo)o(gicielle)o(,)j(Synth)3650
12551 3671 y(\036)3645 3670 y(ese)d(de)215 3869 y(F)-10 b(onctions)23
12552 b(d')730 3847 y(\264)711 3869 y(Evaluations,)f(P)-8 b(ar)o(all)1488
12553 3870 y(\264)1483 3869 y(elisme)23 b(de)i(Rec)o(her)l(c)o(he)p
12554 Fu(.)35 b(PhD)25 b(thesis,)e(Uni)n(v)o(ersit)6 b(\264)-39
12555 b(e)23 b(P)o(aris)i(8,)f(January)215 4068 y(1995.)35
12556 b(In)25 b(French.)0 4408 y Fo(A)143 b(The)35 b(Master')-5
12557 b(s)34 b(Guessed)g(Scor)m(e)h(Algorithm)0 4710 y Fu(APHID)j(has)f(all)g
12558 (of)g(the)h(information)d(about)i(the)g(pre)n(vious)f(depths)h(of)g
12559 Fq(\013)q(\014)43 b Fu(search)38 b(for)f(a)h(node,)i(such)d(as)0
12560 4909 y(whether)26 b(the)g(score)g(w)o(as)g(a)h(lo)n(wer)e(bound,)h(an)g
12561 (upper)g(bound)f(or)h(an)g(e)o(xact)g(minimax)f(v)n(alue.)33
12562 b(Other)26 b(informa-)0 5109 y(tion)21 b(includes)h(the)g(\002nal)g
12563 (minimax)f(v)n(alue)h(from)g(each)h(of)f(those)g(depths)f(of)h(search,)
12564 i(as)e(well)g(as)g(a)h(hypothetical)0 5308 y(minimax)28
12565 b(v)n(alue)h(for)g(the)h(current)g Fq(d)p Fu(-ply)e(search)i(\(the)g
12566 (closest)f(node)g(on)g(the)g(principal)g(v)n(ariation)f(that)h(has)h(a)
12567 1900 5589 y(32)p eop
12568 %%Page: 33 36
12569 33 35 bop 0 100 a Fu(certain)28 b(v)n(alue\).)38 b(All)27
12570 b(of)h(this)f(information)f(is)h(used)g(to)g(determine)g(a)h(guessed)f
12571 (score.)40 b(The)27 b(full)g(algorithm)g(is)0 299 y(gi)n(v)o(en)c(in)i
12572 (Figure)g(10.)146 498 y(Starting)i(with)f(the)g(information)g(for)h(a)g
12573 Fl(\()p Fq(d)c Fk(\000)h Fq(d)1817 462 y Fp(0)1863 498
12574 y Fk(\000)g Fl(1\))p Fu(-ply)i(search,)i(the)f(algorithm)e(checks)i
12575 (successi)n(v)o(ely)0 697 y(shallo)n(wer)e(depths)g(of)h(search)g
12576 (returned)g(by)g(the)f(sla)n(v)o(e)h(until)e(a)j(rele)n(v)n(ant)d
12577 (result)i(is)f(found)h(with)f(respect)h(to)f(the)0 897
12578 y Fq(\013)q(\014)33 b Fu(search)28 b(windo)n(w)-6 b(.)36
12579 b(This)26 b(is)h(guaranteed)h(to)f(happen,)g(since)g(the)h(master)f
12580 (stores)f(an)i(e)o(xact)f(e)n(v)n(aluation)e(of)j(a)0
12581 1096 y(leaf)d(node)g(\(a)g(0-ply)f(search\))i(when)f(the)f(leaf)h(is)g
12582 (\002rst)g(generated)g(and)g(gi)n(v)o(en)e(to)h(a)i(sla)n(v)o(e.)146
12583 1295 y(Ho)n(we)n(v)o(er)l(,)k(the)f(result)g(returned)g(by)h(the)f(sla)
12584 n(v)o(e)g(should)f(not)h(be)g(used)h(without)e(an)h(adjustment)f(since)
12585 h(the)0 1494 y(minimax)24 b(v)n(alue)h(at)h(the)g(root)f(of)h(the)g
12586 (tree)g(may)g(v)n(ary)f(between)h(dif)n(ferent)g(depths)f(of)h(search.)
12587 34 b(In)26 b(APHID,)g(the)0 1694 y(sla)n(v)o(e')-5 b(s)28
12588 b(minimax)g(v)n(alue)h(is)g(scaled)h(by)f(the)g(dif)n(ference)h
12589 (between)g(the)f(v)n(alue)g(of)h(the)f(full)g(search)h(that)f(it)g(w)o
12590 (as)0 1893 y(generated)g(for)g(and)f(the)g(hypothetical)f(v)n(alue)h
12591 (of)g(the)g(current)h(search.)42 b(F)o(or)29 b(e)o(xample,)f(if)h(the)f
12592 (current)h(search)0 2092 y(has)k(a)g(hypothetical)d(minimax)h(v)n(alue)
12593 h(of)h(5,)i(and)d(the)h(result)f(of)h Fk(\024)g Fu(6)f(from)h(a)g
12594 (search)g(that)f(had)h(a)g(minimax)0 2291 y(v)n(alue)g(of)h(7)g(at)f
12595 (the)h(root)f(of)h(the)g(game)f(tree)h(is)f(to)h(be)g(used,)h(then)f
12596 (the)f(dif)n(ference)h(of)g(the)g(minimax)e(v)n(alues)0
12597 2491 y(\(5-7\))26 b(w)o(ould)f(be)g(added)h(to)f(the)h(result.)33
12598 b(Thus,)25 b(the)g(v)n(alue)g(changes)h(from)f Fk(\024)h
12599 Fu(6)g(for)g(the)f(earlier)i(search)f(to)f Fk(\024)h
12600 Fu(4)0 2690 y(for)g(use)g(as)f(a)h(guessed)f(minimax)g(v)n(alue)g(in)g
12601 (the)g(current)h(search.)34 b(This)25 b(preserv)o(es)h(the)f(mo)o(v)o
12602 (e)f(ordering)h(of)h(the)0 2889 y(pre)n(vious)e(iteration.)146
12603 3088 y(This)c(algorithm)e(is)i(preferred)h(o)o(v)o(er)e(other)h
12604 (methods)f(for)h(determining)f(an)h(estimated)f(e)n(v)n(aluation)g
12605 (because)0 3288 y(it)k(guarantees)g(that)g(a)h(guessed)e(score)i(will)e
12606 (not)h(disrupt)f(the)h(search)h(tree.)31 b(If)23 b(the)g(old)g(search)h
12607 (result)f(\()p Fk(\024)h Fu(6\))f(w)o(as)0 3487 y(suf)n(\002cient)g(to)
12608 h(cause)h(the)e(tree)i(to)f(be)g(pruned)g(in)f(the)h(earlier)h(search,)
12609 f(the)g(guessed)g(v)n(alue)f(\()p Fk(\024)29 b Fl(4)p
12610 Fu(\))24 b(will)f(lik)o(ely)g(be)0 3686 y(suf)n(\002cient)h(to)h(prune)
12611 f(the)h(tree)g(in)g(the)f(current)h(search.)0 4026 y
12612 Fo(B)143 b(The)35 b(Sla)l(v)o(e')-5 b(s)34 b(W)m(indo)o(w)h(Selection)f
12613 (Algorithm)0 4328 y Fu(The)29 b(windo)n(w)f(selection)g(algorithm)g(is)
12614 g(application-dependent,)h(and)g(can)g(be)g(modi\002ed)g(by)g(editing)f
12615 (a)h(call-)0 4527 y(back)f(function)f(pro)o(vided)g(to)g(the)h
12616 (application)f(programmer)-5 b(.)38 b(Based)29 b(on)e(numerous)g
12617 (tests,)h(a)g(general)g(set)g(of)0 4727 y(rules)d(w)o(as)f(created)i
12618 (for)f(determining)e(small,)h(useful)g Fq(\013)q(\014)31
12619 b Fu(search)25 b(windo)n(ws)e(in)i(APHID.)146 4926 y(The)39
12620 b(\002rst)f(recommendation)f(is)h(that)g(the)g(sla)n(v)o(e')-5
12621 b(s)38 b(search)g(windo)n(w)f(should)h(be)g(centered)h(around)f(the)0
12622 5125 y(hypothetical)29 b(minimax)g(v)n(alue)i(\(as)g(de\002ned)g(in)g
12623 (Section)f(3.1\),)i(since)f(this)f(is)h(the)f(most)g(lik)o(ely)g(v)n
12624 (alue)g(of)h(the)1900 5589 y(33)p eop
12625 %%Page: 34 37
12626 34 36 bop 0 100 a Fu(search.)279 63 y Fn(8)355 100 y
12627 Fu(The)26 b(second)h(recommendation)e(is)h(that)g(to)g(increase)h(the)g
12628 (windo)n(w)e(based)h(on)g(ho)n(w)g(\223unstable\224)g(the)0
12629 299 y(principal)35 b(v)n(ariation)f(may)g(be.)63 b(F)o(or)35
12630 b(e)o(xample,)i(if)e(the)g(master)g(says)g(that)g(the)g(highest)f
12631 (remaining)g(priority)0 498 y(w)o(ork)i(to)g(be)h(searched)f(is)g(the)g
12632 (same)h(as)f(the)g(piece)h(of)f(w)o(ork)g(that)g(is)g(currently)g
12633 (being)g(e)o(xamined,)i(then)e(a)0 697 y(small)29 b(search)h(windo)n(w)
12634 e(should)g(be)i(chosen)f(because)h(the)f(search)h(is)f(relati)n(v)o
12635 (ely)f(con\002dent)i(of)f(the)h(principal)0 897 y(v)n(ariation.)i(Ho)n
12636 (we)n(v)o(er)l(,)25 b(as)g(the)h(dif)n(ference)g(between)g(the)f(lar)n
12637 (gest)h(priority)e(that)h(the)h(master)f(needs)h(completed)0
12638 1096 y(and)31 b(the)f(priority)f(of)i(the)f(sla)n(v)o(e')-5
12639 b(s)30 b(piece)h(of)f(w)o(ork)h(gets)f(lar)n(ger)l(,)i(the)f(search)g
12640 (windo)n(w)e(needs)h(to)h(be)f(lar)n(ger)h(to)0 1295
12641 y(re\003ect)d(the)f(uncertainty)f(in)h(the)g(principal)f(v)n(ariation.)
12642 36 b(These)27 b(lar)n(ger)h(search)g(windo)n(ws)d(are)j(also)e(used)h
12643 (when)0 1494 y(starting)e(speculati)n(v)o(e)f(searches)i(for)h(future)e
12644 (iterations,)g(since)h(there)g(is)g(no)f(information)g(on)g(the)h(v)n
12645 (alue)f(of)h(the)0 1694 y(principal)e(v)n(ariation)g(at)g(the)h(ne)o
12646 (xt)f(ply)-6 b(.)146 1893 y(These)23 b(recommendations)e(were)i(used)f
12647 (in)g(the)g(windo)n(w)f(selection)g(algorithm)g(for)i(each)g(of)f(the)h
12648 (programs)0 2092 y(tested)h(in)g(Section)h(4.)30 b(The)25
12649 b(scale)g(and)f(v)n(ariance)h(of)f(the)h(e)n(v)n(aluation)d(function)i
12650 (in)g(each)h(program)g(w)o(as)f(used)g(to)0 2291 y(determine)g(the)h
12651 (constants)f(used)g(to)h(increase)g(or)g(set)f(the)h(initial)e(size)i
12652 (of)g(the)g(sla)n(v)o(e')-5 b(s)23 b(windo)n(w)-6 b(.)p
12653 0 5149 1560 4 v 112 5210 a Fj(8)149 5240 y Fi(When)23
12654 b(the)g(hypothetical)d(minimax)h(v)n(alue)h(is)i(INV)-11
12655 b(ALID,)21 b(then)h(this)i(must)e(be)h(a)g(PV)g(node,)f(and)g(an)h
12656 (in\002nite)f(search)h(windo)n(w)0 5340 y(should)c(be)h(chosen.)1900
12657 5589 y Fu(34)p eop
12658 %%Page: 35 38
12659 35 37 bop 195 608 a
12660  27707274 30785863 11446026 16445440 28746629 35587932 startTexFig
12661  195 608 a
12662 %%BeginDocument: pics/guessed-score.ps
12663 %Magnification: 0.50
12664 /$F2psDict 200 dict def
12665 $F2psDict begin
12666 $F2psDict /mtrx matrix put
12667 /col-1 {0 setgray} bind def
12668 /col0 {0.000 0.000 0.000 srgb} bind def
12669 /col1 {0.000 0.000 1.000 srgb} bind def
12670 /col2 {0.000 1.000 0.000 srgb} bind def
12671 /col3 {0.000 1.000 1.000 srgb} bind def
12672 /col4 {1.000 0.000 0.000 srgb} bind def
12673 /col5 {1.000 0.000 1.000 srgb} bind def
12674 /col6 {1.000 1.000 0.000 srgb} bind def
12675 /col7 {1.000 1.000 1.000 srgb} bind def
12676 /col8 {0.000 0.000 0.560 srgb} bind def
12677 /col9 {0.000 0.000 0.690 srgb} bind def
12678 /col10 {0.000 0.000 0.820 srgb} bind def
12679 /col11 {0.530 0.810 1.000 srgb} bind def
12680 /col12 {0.000 0.560 0.000 srgb} bind def
12681 /col13 {0.000 0.690 0.000 srgb} bind def
12682 /col14 {0.000 0.820 0.000 srgb} bind def
12683 /col15 {0.000 0.560 0.560 srgb} bind def
12684 /col16 {0.000 0.690 0.690 srgb} bind def
12685 /col17 {0.000 0.820 0.820 srgb} bind def
12686 /col18 {0.560 0.000 0.000 srgb} bind def
12687 /col19 {0.690 0.000 0.000 srgb} bind def
12688 /col20 {0.820 0.000 0.000 srgb} bind def
12689 /col21 {0.560 0.000 0.560 srgb} bind def
12690 /col22 {0.690 0.000 0.690 srgb} bind def
12691 /col23 {0.820 0.000 0.820 srgb} bind def
12692 /col24 {0.500 0.190 0.000 srgb} bind def
12693 /col25 {0.630 0.250 0.000 srgb} bind def
12694 /col26 {0.750 0.380 0.000 srgb} bind def
12695 /col27 {1.000 0.500 0.500 srgb} bind def
12696 /col28 {1.000 0.630 0.630 srgb} bind def
12697 /col29 {1.000 0.750 0.750 srgb} bind def
12698 /col30 {1.000 0.880 0.880 srgb} bind def
12699 /col31 {1.000 0.840 0.000 srgb} bind def
12700
12701 end
12702 save
12703 143.5 569.5 translate
12704 1 -1 scale
12705
12706 /cp {closepath} bind def
12707 /ef {eofill} bind def
12708 /gr {grestore} bind def
12709 /gs {gsave} bind def
12710 /sa {save} bind def
12711 /rs {restore} bind def
12712 /l {lineto} bind def
12713 /m {moveto} bind def
12714 /rm {rmoveto} bind def
12715 /n {newpath} bind def
12716 /s {stroke} bind def
12717 /sh {show} bind def
12718 /slc {setlinecap} bind def
12719 /slj {setlinejoin} bind def
12720 /slw {setlinewidth} bind def
12721 /srgb {setrgbcolor} bind def
12722 /rot {rotate} bind def
12723 /sc {scale} bind def
12724 /sd {setdash} bind def
12725 /ff {findfont} bind def
12726 /sf {setfont} bind def
12727 /scf {scalefont} bind def
12728 /sw {stringwidth} bind def
12729 /tr {translate} bind def
12730 /tnt {dup dup currentrgbcolor
12731   4 -2 roll dup 1 exch sub 3 -1 roll mul add
12732   4 -2 roll dup 1 exch sub 3 -1 roll mul add
12733   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
12734   bind def
12735 /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
12736   4 -2 roll mul srgb} bind def
12737 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
12738 /$F2psEnd {$F2psEnteredState restore end} def
12739
12740 $F2psBegin
12741 10 setmiterlimit
12742 n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
12743  0.03000 0.03000 sc
12744 7.500 slw
12745 % Polyline
12746 n 1050 975 m 9775 975 l 9775 10600 l 1050 10600 l cp gs col-1 s gr 
12747 /Courier ff 180.00 scf sf
12748 1200 2000 m
12749 gs 1 -1 sc (int SlaveScoreUppBound\(position p, int d\);) col-1 sh gr
12750 /Courier ff 180.00 scf sf
12751 1200 2800 m
12752 gs 1 -1 sc (int RootMinimax\(int d\);) col-1 sh gr
12753 /Courier ff 180.00 scf sf
12754 1200 4000 m
12755 gs 1 -1 sc (first node visited during a pass by a master.\) */) col-1 sh gr
12756 /Courier ff 180.00 scf sf
12757 1200 4400 m
12758 gs 1 -1 sc (int GuessedScore\(int alpha, int beta, position p, int d, int dprime\)) col-1 sh gr
12759 /Courier ff 180.00 scf sf
12760 1200 4600 m
12761 gs 1 -1 sc ({) col-1 sh gr
12762 /Courier ff 180.00 scf sf
12763 1600 5200 m
12764 gs 1 -1 sc (int hmm;    /* working hypothetical minimax value for current depth   */) col-1 sh gr
12765 /Courier ff 180.00 scf sf
12766 1600 5800 m
12767 gs 1 -1 sc ({) col-1 sh gr
12768 /Courier ff 180.00 scf sf
12769 2000 6000 m
12770 gs 1 -1 sc (hmm = HypotheticalMinimax\(\);) col-1 sh gr
12771 /Courier ff 180.00 scf sf
12772 2000 6200 m
12773 gs 1 -1 sc (if \(hmm == INVALID\) { hmm = RootMinimax\(depth\); }) col-1 sh gr
12774 /Courier ff 180.00 scf sf
12775 2000 6600 m
12776 gs 1 -1 sc (/* Scale lower and upper bounds if they are not INFINITE to change) col-1 sh gr
12777 /Courier ff 180.00 scf sf
12778 2000 6800 m
12779 gs 1 -1 sc (bias of search result from previous search depth to current depth. */) col-1 sh gr
12780 /Courier ff 180.00 scf sf
12781 2000 7000 m
12782 gs 1 -1 sc (lb = -INFINITY; ub = INFINITY;) col-1 sh gr
12783 /Courier ff 180.00 scf sf
12784 2000 7200 m
12785 gs 1 -1 sc (if \(SlaveScoreLowBound\(p,depth-dprime\) != -INFINITY\)) col-1 sh gr
12786 /Courier ff 180.00 scf sf
12787 2400 7400 m
12788 gs 1 -1 sc (lb = SlaveScoreLowBound\(p,depth-dprime\) + hmm - RootMinimax\(depth\);) col-1 sh gr
12789 /Courier ff 180.00 scf sf
12790 2000 7600 m
12791 gs 1 -1 sc (if \(SlaveScoreUppBound\(p,depth-dprime\) != INFINITY\)) col-1 sh gr
12792 /Courier ff 180.00 scf sf
12793 2400 7800 m
12794 gs 1 -1 sc (ub = SlaveScoreUppBound\(p,depth-dprime\) + hmm - RootMinimax\(depth\);) col-1 sh gr
12795 /Courier ff 180.00 scf sf
12796 2000 8200 m
12797 gs 1 -1 sc (/* Check each bound to see if scaled bounds satisfy constraints. */) col-1 sh gr
12798 /Courier ff 180.00 scf sf
12799 2000 8400 m
12800 gs 1 -1 sc (if \(ub <= alpha\) { return alpha; }) col-1 sh gr
12801 /Courier ff 180.00 scf sf
12802 2000 8600 m
12803 gs 1 -1 sc (if \(lb >= beta\) { return beta; }) col-1 sh gr
12804 /Courier ff 180.00 scf sf
12805 2000 9200 m
12806 gs 1 -1 sc (if \(lb == ub\) { return ub; }) col-1 sh gr
12807 /Courier ff 180.00 scf sf
12808 2000 9000 m
12809 gs 1 -1 sc (/* An exact scaled value is always satisfactory for constraints. */) col-1 sh gr
12810 /Courier ff 180.00 scf sf
12811 2000 9600 m
12812 gs 1 -1 sc (/* NOTE: Loop will always exit at or before depth = dprime, since) col-1 sh gr
12813 /Courier ff 180.00 scf sf
12814 2000 9800 m
12815 gs 1 -1 sc (master stored SlaveScoreLowBound\(p,0\) = SlaveScoreUppBound\(p,0\) = ) col-1 sh gr
12816 /Courier ff 180.00 scf sf
12817 2000 10000 m
12818 gs 1 -1 sc (static evaluation, yielding equal scaled upper/lower bounds. */) col-1 sh gr
12819 /Courier ff 180.00 scf sf
12820 1600 5600 m
12821 gs 1 -1 sc (for \(depth = d-1; depth >= dprime; depth = depth - 1\)) col-1 sh gr
12822 /Courier ff 180.00 scf sf
12823 1600 10200 m
12824 gs 1 -1 sc (}) col-1 sh gr
12825 /Courier ff 180.00 scf sf
12826 1200 10400 m
12827 gs 1 -1 sc (}) col-1 sh gr
12828 /Courier ff 180.00 scf sf
12829 1600 5000 m
12830 gs 1 -1 sc (int ub,lb;  /* scaled upper/lower bounds \(if not infinite\)            */) col-1 sh gr
12831 /Courier ff 180.00 scf sf
12832 1600 4800 m
12833 gs 1 -1 sc (int depth;  /* depth of search where estimate will be derived         */) col-1 sh gr
12834 /Courier ff 180.00 scf sf
12835 1200 3800 m
12836 gs 1 -1 sc (current pass, returns INVALID if no PV has been explored \(only happens when) col-1 sh gr
12837 /Courier ff 180.00 scf sf
12838 1200 3600 m
12839 gs 1 -1 sc (/* HypotheticalMinimax returns highest accurate value along current PV in) col-1 sh gr
12840 /Courier ff 180.00 scf sf
12841 1200 3400 m
12842 gs 1 -1 sc (int HypotheticalMinimax\(\);) col-1 sh gr
12843 /Courier ff 180.00 scf sf
12844 1200 3000 m
12845 gs 1 -1 sc (/* RootMinimax returns minimax value from previous search at depth d */) col-1 sh gr
12846 /Courier ff 180.00 scf sf
12847 1200 2400 m
12848 gs 1 -1 sc (position p at depth d if result was <= beta\(p,d\); INFINITY, otherwise. */) col-1 sh gr
12849 /Courier ff 180.00 scf sf
12850 1200 2200 m
12851 gs 1 -1 sc (/* SlaveScoreUppBound returns value from slave's alphabeta search for) col-1 sh gr
12852 /Courier ff 180.00 scf sf
12853 1200 1600 m
12854 gs 1 -1 sc (position p at depth d if result was >= alpha\(p,d\); -INFINITY, otherwise. */) col-1 sh gr
12855 /Courier ff 180.00 scf sf
12856 1200 1400 m
12857 gs 1 -1 sc (/* SlaveScoreLowBound returns value from slave's alphabeta search for) col-1 sh gr
12858 /Courier ff 180.00 scf sf
12859 1200 1200 m
12860 gs 1 -1 sc (int SlaveScoreLowBound\(position p, int d\);) col-1 sh gr
12861 showpage
12862 $F2psEnd
12863 rs
12864 %%EndDocument
12865
12866  endTexFig
12867  1015 4711 a Fu(Figure)25 b(10:)30 b(Code)c(F)o(or)e(Guessed)h(Score)h
12868 (Algorithm)1900 5589 y(35)p eop
12869 %%Page: 36 39
12870 36 38 bop 146 100 a Ft(Mark)37 b(Br)n(ockington)h Fu(recei)n(v)o(ed)d
12871 (a)i(B.Math.)64 b(de)o(gree)36 b(in)g(Pure)h(Math)e(with)h(Computer)f
12872 (Science)i(from)0 299 y(the)c(Uni)n(v)o(ersity)e(of)j(W)-8
12873 b(aterloo,)35 b(in)e(1992,)i(and)e(recei)n(v)o(ed)g(a)h(Ph.D.)g(in)f
12874 (Computing)f(Science)i(from)f(the)g(Uni-)0 498 y(v)o(ersity)i(of)g
12875 (Alberta)h(in)g(1997.)63 b(His)35 b(research)i(interests)e(include)g
12876 (arti\002cial)h(intelligence,)h(distrib)n(uted)d(and)0
12877 697 y(parallel)26 b(processing,)h(cryptography)e(and)i(data)f(security)
12878 -6 b(.)35 b(Mark)27 b(is)f(currently)g(w)o(orking)g(at)h(BioW)-8
12879 b(are)27 b(Corp.,)0 897 y(an)e(interacti)n(v)o(e)e(entertainment)h
12880 (\002rm)h(in)g(Edmonton,)d(Alberta,)j(Canada.)146 1096
12881 y Ft(J)o(onathan)35 b(Schaeffer)i Fu(recei)n(v)o(ed)d(a)h(B.Sc.)62
12882 b(de)o(gree)35 b(in)f(Computing)g(Science)h(from)g(the)g(Uni)n(v)o
12883 (ersity)d(of)0 1295 y(T)-8 b(oronto,)26 b(in)g(1978,)g(and)g(recei)n(v)
12884 o(ed)g(an)h(M.Math.)34 b(and)26 b(a)h(Ph.D.)g(in)f(Computer)g(Science)h
12885 (from)f(the)g(Uni)n(v)o(ersity)0 1494 y(of)34 b(W)-8
12886 b(aterloo)34 b(in)f(1980)h(and)g(1986,)h(respecti)n(v)o(ely)-6
12887 b(.)56 b(He)35 b(is)e(the)h(principal)f(author)h(of)i(C)t
12888 Fa(H)t(I)t(N)t(O)t(O)t(K)r Fu(,)k(the)34 b(Man-)0 1694
12889 y(Machine)22 b(W)-8 b(orld)23 b(Champion)f(check)o(ers)h(program.)30
12890 b(He)23 b(is)f(currently)g(a)h(Professor)g(of)g(Computing)e(Science)j
12891 (at)0 1893 y(the)i(Uni)n(v)o(ersity)e(of)i(Alberta.)35
12892 b(His)25 b(current)i(research)g(interests)e(include)h(heuristic)f
12893 (search,)i(parallel)f(process-)0 2092 y(ing,)e(and)h(computer)f(games.)
12894 1900 5589 y(36)p eop
12895 %%Trailer
12896 end
12897 userdict /end-hook known{end-hook}if
12898 %%EOF