%!PS-Adobe-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Pages: 16 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%DocumentFonts: Palatino-Bold Palatino-Roman CMSY6 Palatino-Italic %%+ CMMI10 CMR7 CMSY8 CMR6 Palatino-BoldItalic CMSY7 CMSY10 CMR10 CMMI7 %%+ CMMI6 CMEX10 Courier CMMI9 %%DocumentPaperSizes: a4 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -f %DVIPSParameters: dpi=600, compressed, comments removed %DVIPSSource: TeX output 2003.05.08:1610 %%BeginProcSet: texc.pro /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: pstricks.pro % PostScript prologue for pstricks.tex. % Version 97 patch 3, 98/06/01 % For distribution, see pstricks.tex. % /tx@Dict 200 dict def tx@Dict begin /ADict 25 dict def /CM { matrix currentmatrix } bind def /SLW /setlinewidth load def /CLW /currentlinewidth load def /CP /currentpoint load def /ED { exch def } bind def /L /lineto load def /T /translate load def /TMatrix { } def /RAngle { 0 } def /Atan { /atan load stopped { pop pop 0 } if } def /Div { dup 0 eq { pop } { div } ifelse } def /NET { neg exch neg exch T } def /Pyth { dup mul exch dup mul add sqrt } def /PtoC { 2 copy cos mul 3 1 roll sin mul } def /PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def /PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } /pathforall load stopped { pop pop pop pop } if z } def /STP { .996264 dup scale } def /STV { SDict begin normalscale end STP } def /DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul /y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] 0 } ifelse setdash stroke } def /DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt { /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if ] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 setlinecap stroke } def /LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 % DG/SR modification begin - Dec. 12, 1997 - Patch 2 %itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a % DG/SR modification end Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict /setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 % DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) % a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } % def a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore pop pop } def % DG/SR modification end /BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg exch 3 index sub exch Atan rotate newpath } def /EndArrow { @mtrx setmatrix CP grestore end } def /Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore } def /Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 CLW moveto } def /Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 CLW moveto } def /RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW 2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } def /SD { 0 360 arc fill } def /EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def /Shadow { [ { /moveto load } { /lineto load } { /curveto load } { /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto load } if ] cvx newpath 3 1 roll T exec } def /NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch cvi def } def /NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def /Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def /Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } ifelse { pop } repeat a } def /CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq and { pop pop /n n 1 sub def } if } def /Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto Lineto pop pop closepath } ifelse } def /Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx setmatrix } def % DG modification begin - Jan. 15, 1997 %/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { %pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 %div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 %d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx %setmatrix } def /Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx % DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) % setmatrix } def setmatrix pop } def % DG/SR modification end /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth def } def /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth def } def /CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def /y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul m mul neg def } def /IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } def /BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def /NC { CC x1 y1 x2 y2 x y curveto } def /EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def /BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def /NAC { x2 y2 x y curveto CC x1 y1 } def /EAC { x2 y2 x y ArrowB curveto pop pop } def /OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def n { NC } repeat EOC } ifelse } def /AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload /Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def /ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } repeat closepath pop pop } ifelse } def /SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def /ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def /SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def /FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont } def /Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 y1 lineto closepath } def /OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse /b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } ifelse } def /Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add /y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse } def /BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def /OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } ifelse } def /ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def /BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } def /Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def } def /Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if /dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def /Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} {z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i w add def } repeat grestore gsave n 0 gt % DG/SR modification begin - Nov. 7, 1997 - Patch 1 %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } % DG/SR modification end { 2 setlinecap } ifelse /i y1 def /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt {z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g exch t L stroke /i i h add def } repeat grestore } def /ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c mul neg d } def /Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def /Rot { CP CP translate 3 -1 roll neg rotate NET } def /RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def } def /RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def } def /PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def /PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def /PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def /Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse } def /UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q { x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add exch } def /BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible /IfVisible true def } if } { IfVisible { Invisible /IfVisible false def } if } ifelse } def /InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def /Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def /IfVisible true def } def end % END pstricks.pro %%EndProcSet %%BeginProcSet: pst-dots.pro 10 dict dup begin /FontType 3 def /FontMatrix [ .001 0 0 .001 0 0 ] def /FontBBox [ 0 0 0 0 ] def /Encoding 256 array def 0 1 255 { Encoding exch /.notdef put } for Encoding dup (b) 0 get /Bullet put dup (c) 0 get /Circle put dup (C) 0 get /BoldCircle put dup (u) 0 get /SolidTriangle put dup (t) 0 get /Triangle put dup (T) 0 get /BoldTriangle put dup (r) 0 get /SolidSquare put dup (s) 0 get /Square put dup (S) 0 get /BoldSquare put dup (q) 0 get /SolidPentagon put dup (p) 0 get /Pentagon put (P) 0 get /BoldPentagon put /Metrics 13 dict def Metrics begin /Bullet 1000 def /Circle 1000 def /BoldCircle 1000 def /SolidTriangle 1344 def /Triangle 1344 def /BoldTriangle 1344 def /SolidSquare 886 def /Square 886 def /BoldSquare 886 def /SolidPentagon 1093.2 def /Pentagon 1093.2 def /BoldPentagon 1093.2 def /.notdef 0 def end /BBoxes 13 dict def BBoxes begin /Circle { -550 -550 550 550 } def /BoldCircle /Circle load def /Bullet /Circle load def /Triangle { -571.5 -330 571.5 660 } def /BoldTriangle /Triangle load def /SolidTriangle /Triangle load def /Square { -450 -450 450 450 } def /BoldSquare /Square load def /SolidSquare /Square load def /Pentagon { -546.6 -465 546.6 574.7 } def /BoldPentagon /Pentagon load def /SolidPentagon /Pentagon load def /.notdef { 0 0 0 0 } def end /CharProcs 20 dict def CharProcs begin /Adjust { 2 copy dtransform floor .5 add exch floor .5 add exch idtransform 3 -1 roll div 3 1 roll exch div exch scale } def /CirclePath { 0 0 500 0 360 arc closepath } def /Bullet { 500 500 Adjust CirclePath fill } def /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath eofill } def /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath } def /SolidTriangle { TrianglePath fill } def /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath } def /SolidSquare { SquarePath fill } def /Square { SquarePath .89 .89 scale SquarePath eofill } def /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def /PentagonPath { -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto 0 574.7 lineto -546.6 177.6 lineto closepath } def /SolidPentagon { PentagonPath fill } def /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def /.notdef { } def end /BuildGlyph { exch begin Metrics 1 index get exec 0 BBoxes 3 index get exec setcachedevice CharProcs begin load exec end end } def /BuildChar { 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind def end /PSTricksDotFont exch definefont pop % END pst-dots.pro %%EndProcSet %%BeginProcSet: pst-node.pro % PostScript prologue for pst-node.tex. % Version 97 patch 1, 97/05/09. % For distribution, see pstricks.tex. % /tx@NodeDict 400 dict def tx@NodeDict begin tx@Dict begin /T /translate load def end /NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def } if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next end grestore } def /InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def } def /InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch Sin mul } def } def /GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse } def /InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED /NodePos { GetRnodePos } def } def /DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup Cos mul exch Sin mul } def /TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul } ifelse } def /InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan sin def /NodePos { TriNodePos } def } def /OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul } def /GetCenter { begin X Y NodeMtrx transform CM itransform end } def /XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg } { 0 Dist Sin mul } ifelse } ifelse Do } def /GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse } def /AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse } def /GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA AddOffset yA add /yA1 ED xA add /xA1 ED } def /GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB AddOffset yB add /yB1 ED xB add /xB1 ED } def /GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED } ifelse } def /GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED } ifelse } def /InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED /NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def /LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def /LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop } repeat LPutLine cleartomark } def /BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def /HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def } def /HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def /NAngle yyB yyA sub xxB xxA sub Atan def } def /HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def /HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def } ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd } def /VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def } def /VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def /NAngle yyB yyA sub xxB xxA sub Atan def } def /VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def /VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def } ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark VPosEnd } def /HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx def grestore exec /LPutVar /SaveLPutVar load def } def /NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { LPutVar VPutLine } def LPutVar } def /NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop end } def /NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan /AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } ifelse } def /NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def /NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def /NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1 tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def /NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def } { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def /NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def /NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED GetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def /NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2 mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3 mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def % DG/SR modification begin - May 9, 1997 - Patch 1 %/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r %r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add %exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 %mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED /NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED % DG/SR modification end } def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r Div def /y ED /x ED } def /NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB 180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def /LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos { xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar tx@Dict begin false Polygon end } def /NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2 mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def /x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0 eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn } { x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def 0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2 roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0 0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2 roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat } ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos { LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le { r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC } { t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos { LPutPos } def } def /Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos { LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } { pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin /ArrowA { moveto } def /ArrowB { } def false Line closepath end } def /LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg exch X sub neg exch moveto setmatrix CP grestore } def /LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse LPutCoor } def /HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg } if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop } ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED } def /VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop } ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED } def end % END pst-node.pro %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "1 July 1998", % filename = "8r.enc", % email = "tex-fonts@@tug.org", % docstring = "Encoding for TrueType or Type 1 fonts % to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both % ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} def end %%EndProcSet %%BeginProcSet: special.pro TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll }repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def /TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ /currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC /Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC /Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC /Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ 0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ 0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC /Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ 0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ 0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC /PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ 0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end %%EndProcSet %%BeginFont: CMMI9 %!PS-AdobeFont-1.1: CMMI9 1.100 %%CreationDate: 1996 Jul 23 07:53:55 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI9 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 15 /epsilon1 put readonly def /FontBBox{-29 -250 1075 750}readonly def /UniqueXX 5087384 def currentdict end currentfile eexec 80347982ab3942d930e069a70d0d48311d725e830d1c76fba12e12486e989c98 74c2b527f0925722787027f44470d484262c360cdfdddf3657533a57bb16f730 48bfbbfcb73a650484015441fdc837add94ac8fbd2022e3ec8f115d4b4bb7b7f 15388f22cc6198efe768bd9fceb3446ee4a8dc27d6cd152485384ef5f59381ff da43f2d20c8fb08aa27ab2015b774db10dacfdcd33e60f178c461553146ab427 bdd7da12534ba078ad3d780414930da4f8d58abefd45db119b10eb409dd89792 3c6e705479464a4b33ae3d31bfe98efe259f07f7950237bbaee4f7b64ffea83a 757fa717d50c3298392891bfd60e34a056b0d6021da3fd9b8b01bf78b0b23dc4 ea3b0605150d20b27ff9ea5f2524661019d982a2e47cd7c21ee5ca9ed9227821 f8d07119397de26838c11d7b35bcedc43e011626e300f8249ed846d7b5ccbd89 02550cda17ddf113df658fb13f8162681013766863784efac128e01ef997e1a4 30312afac8f3d948edecd7d5090ab5c864b91d7f6e80256f0e1fc99f1102b74c 61cc456e2e1bedf0e627d5f70f738f963a13666405c51ebf23ca077e97570a2f 1118536b92e585cf1dbd5fbf36a0a5d197538c05304e93a15f3c931168d91d42 483ef428b1a3f1b7e548fd1d23b80f5523c8b8bf450b02804fb689f915c86693 f7dfb1c43f681627c7f027021aa3a8179148f1819cd94b8890a9ac63dc1e8a68 f254b64f6f173c3d02e3ebc037da05074017c8b113e94f4e2d26b467ef9da07e afd7ea7c86e025af52c5ceeb835951e67e02a38daf1e9e698bd21996c1071e84 ff7fbe77f6ddf9d06fa92b16ecebcbe0370b5cd9d450d0f2906a105cadf93ed0 0abc7fcf2c996e7c15e452006e35390d99b9cfc59925f1444c20d9c3e1fc2910 32cf9fa9d580eac1bc956334da391b870a757c3bee6aa3e005b20988d8587876 3ced20c6edf2ac2b22890e37ff7aedeb0986d85ae05bc84339bf2116df48c5d1 cc888bb33d409b06dd70ffd0618b2080442aac439aeb39c20a87ad74ef10629c f1604db8611e8e4224c5b21ab0c7ebddc77fe9a283b3a8c6a2a9508f6836e3fc 3eae1366b4da4f44cb7a77fd81d278c17775d56cb28b70f18d894bfd1ec1827f fb16b0d4c1a4ce155da066810170fea53e0d24874d69366a46873838b82ece2e bb961c260c67b449acd29dd7613c555bdb2105bdddc2924c6064486a50e936ee a8c6ea5be6ee8441652dd81f930cb7c529ddee172f25588eeec791ff03753b9a 80c10598425b6a0886d6aad2d1d973454b9c6319ac29be6b1fa97f8bbbb1c9fd acbda78d04e5891f78b85fcd173a827effee79a2fe5df00d2b1b4526b1858fed dbd207bf886ef031cdf61ad3fadfbc26cb8eb879dd17b9999d8735ee9fde3ba9 24ce7786237f6c624563022da4d9174a9ef26e2b6baf5b3248761805f2dd2429 7375b95ecebc05a109d87220a4e2b06b31e2c87f2f892e10c01c3801be734fac 04300c4f912ab08adcb21b68b3fe97230cf30214cab7fe65753c1db70b401dc0 c3 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMEX10 %!PS-AdobeFont-1.1: CMEX10 1.00 %%CreationDate: 1992 Jul 23 21:22:48 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMEX10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMEX10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 83 /uniontext put readonly def /FontBBox{-24 -2960 1454 772}readonly def /UniqueXX 5000774 def currentdict end currentfile eexec 80347982ab3942d930e069a70d0d48311d7190fa2d133a583138f76695558e7a e9348d37cac6651806d08527c1bb4a062a4835ac37784cc39ad8841404e438b4 d52d3901e47a1de4f7924e0fb3daf442499175bab1226edf692a4956739f8828 e80592f450c5d5c22ac88bcfbe9748f61d18243a16f4a4467f084e8e2be46ef4 7fc51c3a8199e3cda62ff9c4fb73956dab8b6683d2156377808cb35026073e80 523f59a30d195fcf9b9fce4ffafc6d5649664203ab24acb938d58d246707ffe7 d62f04bec4b70c21ef75beb2b812622b3c74e969d72d3cd11bd7106294a99caf 0b1629bc7d4de6b96ca82930831d64575f23f4ad06a0e45e315b1d392411be8d 6d73c998789ff258a07a3c8c2057325784514c845500bfd1a971310cfc11d41c 1a167dbd5ff012c60add4e87325f6e5299032a839de65fb1473a166aae1876a4 414a434f22c1d241591fb36f857df6fa930608750ffc0c54f44994662b1f00f1 400bf752ea8d83ffc4cb77a290bc2d99981ae59a191748ba5c7ba1a9d2583fd2 1398452b6ff5d83a059f7eadcd2ef744e9dd22bdf9c79d049bf06835e878c32b 7765c69bdd8ef4deb4ea7cfff4cf9354a4ddffa689de961d16772491c7afbd7f ffde42400764c68e954ee5c455a5687959829bc3b319b2147deaab3628662c80 30c5e02fea09609abe4eaa12e217bc3af673f1bc36a7039eb13fcacb4218fe0f c5a3f9452d4edf46cc91db67b624d4f2d37502fb9f11af4da18ca40b61097f95 d44329375467ed13c5cb585ec53f62b83ef9502cc755af44bf32b87b8ae9f3f2 f8dbf72dab90acafbacd280db6aaffaefdff6d5eff26669bac56280a950560e3 d01714ba38659b0e4e28bf8cdc1f15ff7e3ea9d95a6afbbe3d8e6905aa6d531d 6b6dcab89e2036cc492c65f76ddcc3cfcff33fde3d9ffd10f7a90530fd5c7683 4329baa902e701ca42717476298c9ff511b1941244bb1dfd0e5cab92a43970cd 1bdb292eadd055c97972844fdcdb0aa06401e7b2632b9d134f96bce0064860f3 9859da7a9a82be0a840672a1331212752ae1b521b693b384a72dba8d37a86eaf a0341e7fc5f6ef7a8c566aacb91e8bf5005c18837894c4eacff41dba54e071ca 83fe249b6aa6921340879a644a43e13b3ef9b1db789c61b5927c967d6bf493ca 0c722a7ba6762fda1dcdfeb814981973f4273f9a2220e0fc2e6daa1a100ba89f a91fba83b432117b682a73d3e36ba6a079c103a03999424264222e5b1040a79e 96bba57dc7d01a8d79396179040acc9c522adc949683542abe58fba208c69e67 0cce82866c38aff4e1da5771809955c3023c40c6caeee0a28cbc5a2d3f30e340 345e624bdfbb5f23994d566225a7890711ed54d1dc68411a67f70b73c7bc3083 683abbfcc8ed1a3caf3ef8b751f1533b359fbc1b029a3c1902d943759319a1e9 ba7f48b6a34717410abdb15e68c227b0d480ab5a7288426e827bbc9a641200a7 fca27ee30c2aee6f42b3b29c573be209 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMMI6 %!PS-AdobeFont-1.1: CMMI6 1.100 %%CreationDate: 1996 Jul 23 07:53:52 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI6) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI6 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 59 /comma put dup 97 /a put dup 99 /c put dup 115 /s put dup 116 /t put readonly def /FontBBox{11 -250 1241 750}readonly def /UniqueXX 5087381 def currentdict end currentfile eexec 80347982ab3942d930e069a70d0d48311d725e830d1c76fba12e12486e989c98 74c2b527f0925722787027f44470d484262c360cdfdddf3657533a57bb16f730 48bfbbfcb73a650484015441fdc837add94ac8fbd2022e3ec8f115d4b4bb7b7f 15388f22cc6198efe768bd9fceb3446ee4a8dc27d6cd152485384ef5f59381ff da43f2d20c8fb08aa27ab2015b774db10dacfdcd33e60f178c461553146ab427 bdd7da12534ba078ad3d780414930e72218b3075925ce1192f11fc8530fcd5e3 038e3a6a6db2dcfbae3b4653e7e02730314e02b54a1e296d2bef8a79411d9225 dad7b4e6d6f9cf0688b69ba21193bf1495807e7a1e67ed7e41cc25acc04702f6 8ef703e3d45722c1a91fdef7100a48631a02a6f02a08c6b1f9b4df8310385b86 8632718fd87119a233f219d9411383b7fa9f3e4780d8c27e2e89e0cae883d664 c3eac57a3aef8988a2e9f0f8c7f53e0a80bdfc4620e21287d0390e1975398544 7f3ea66401024bea75e1b4c4437b7bb188f76f96b918ac7c6ad7e8ae7f21d8c2 790f08cccec904fe48ef39e597ed4d4237c1d1f596f5906b19ea308020f7a35c 168e327ec3246b1dfabe912f6b6daac09974876d3996e57d180261110db05f15 e3e8eebba3d90b5764c03df3033a1ed678ebc679569a2fb297378b25434c0f20 5313ecb8a952f07242d3ee731b0cdc086a4481178a3d65129c47c09b22e9c431 e11b3747b94c26a757c38d06001798c6a568303d541385244b967d3b1786edea f65bb53c4c2fe75e4b1b15c2c78d930b4296c80f08bad86012451edc8e9f0854 c3b390a16e27b11b3d45a9f72eff8baded2242dc928a61685d79e09681c97425 5b90a498614cf560fa5b1718981388268ba206a96989e6d0b5d485d9aca5594a e67dd7b34d8a369adb06647f8aff8814d6d9cdc04a4835918e557174c5bc0f3f bcea9907a04cf93c12727ec40db3f2f77596dca477862747435bdedacd9b2311 6cc97fa47ffdd7d897fb6bdd5572e35d34e7e1cb5e7273a4ffd86525323ace4a 84e1297028c2bd5469baa2e75d19360c2c9042139d5e7dd4390a6a3935424711 de21910126d750ae279916ceb71da3591d60dc62db333c5021e2c1cd61ade51e 9395804fa8f124b194547de13ddc8ce157d5d0de6ed12ffbfc67bff54c817919 0d0a07b371965275e62be6a0a177be27972dca5212214fbfb473c9a99d2e8ef8 02dc76d6a57a2b7496a4df89213b422ac457b844e6e965229a421d83cf444959 2410dcc1b0e7f1626d1f62759f286c9f5e18b7134d30231d696a1db921544385 106bed821dd146507164b2a3b30b24e4e20b98f0530aa680f1f9486b47111c18 8fad0bdc5b2f7a3b5413e21b0949ab099fe4d4b0b279915e932c7e2c5847c583 a8276cf361449b30941b58f722bb505dd717772666c08a788dbc005cc8da3244 83a70d422e5babd5080625826bce045b168d253465c3a045bc0f56fcd6e2f96e 76b5937ca16e463cd1a97ec08a53f7a50dc3c43d77fc3da62d9b97ae6011ff6a e32aa6f456435f616af79a96db7509734650f9c3b263f052dee49a7b3770c6c5 e8fd1a2a941214ded27cb5881cb1abd6dc267ae4942205692fa37890f0539ba5 b72b188aa91d0401b71a4b7e66c826781936845144068e54f694f07c23c54992 7b7e33e3114534e8ad553cad8fa4021454b26a74f80254ffbea755f73638b241 53ad0bf28f299062c9f174d349c78dbc95d4a7611297cabcbfaebb9b75a2a14e 36630b909bec9c0da30b0164c70c4b974ebb3fdcfa6dbca188c498eaa5e59a8d 9342f5d43e6dda23bd45c4600a9c3e3033aaae9ec1b897b12e6775520c7c598f e66d63a9c5fad7fd4bd96f9e676dd48c319f9dee38761f4dc30de718a83e19bb eda092f766c26ea6d458036e2cd23d11340a4b4f80875d81d73df69cfa34eab5 d489802f782958c4d591c32be26b587cb4b35d20a5db418c6bfa50882deffd58 aba8c69335e69f2f9e2b863d9d0249a2ebbfcbba1a31c3c5134c8b42e99f2d42 539e2a0373f861f2aec07cd820c963193f024f672c6bc5d28e93e36f48b38e06 1617dee4d26838455046ba678a97cf2940d7897bd83d50a4a7fee3298f59128a 3da093b2a913376c46cb1995aef8065aecb0db36c1b1b700247b76d2813a59d5 20abf8974b8310bf63278ed31a9e247f65fa3131ab73c21cbef668bd9da5f6cf 6808fe5c04b2d9615098f382487ff6da3200c1710c3e00503e00325100165525 e75979f9211d5cff808c0fa4ce75e005bd817b5eb7f32692135003252fab42e9 9a584fd7534beb3d916c042c816e3d209242a0348292c3af78483a62c44adb2d 77ec304517b2259ef46b82a1c7df01c981042096e02cad52f2c7839e9946c715 a311293e5f6ba3aed88222c0c06580676372b467c076f1b155541b883c1cac9f 15bb9e6c2998b3bb56 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMMI7 %!PS-AdobeFont-1.1: CMMI7 1.100 %%CreationDate: 1996 Jul 23 07:53:53 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 59 /comma put dup 80 /P put dup 81 /Q put dup 85 /U put dup 88 /X put dup 97 /a put dup 99 /c put dup 105 /i put dup 106 /j put dup 112 /p put dup 115 /s put dup 116 /t put dup 117 /u put readonly def /FontBBox{0 -250 1171 750}readonly def /UniqueXX 5087382 def currentdict end currentfile eexec 80347982ab3942d930e069a70d0d48311d725e830d1c76fba12e12486e989c98 74c2b527f0925722787027f44470d484262c360cdfdddf3657533a57bb16f730 48bfbbfcb73a650484015441fdc837add94ac8fbd2022e3ec8f115d4b4bb7b7f 15388f22cc6198efe768bd9fceb3446ee4a8dc27d6cd152485384ef5f59381ff da43f2d20c8fb08aa27ab2015b774db10dacfdcd33e60f178c461553146ab427 bdd7da12534ba078ad3d780414930f01bdaae649990604a33aa9eaffbe5b5489 e5c7c9ff9d9be01b08220832c41caac64816b53bbc087ae4b621d2b44b21ae5e 3f7fe4ddb05c675abfe30510eee4a7c874bb57b2ffe521a6875eddfdfd18c781 25bfca5a097aad361dd94df46f14026c25ea988194899b95001209cb7009cead 4b4ea03473ea120e7a7e341d4e3926796347fdb3a124c29660ac09f4648b313c b58e824884382f24ce08d2edc686923acace1201c16a07a42803288cd0b946f7 546510e95b1fa1cc96f0bf72aa823d8e83d7c68c752c82a54c752eed2b1e699d e9db1830272ffbf2f4996ccc2d6fe2ae272798989525ef3b67b0d09bffcef749 a805e5f76578222b9c4a8a09b13189a16ab746ddef7875f1ecf83e568f493d82 ff729baa1e0834dbec30a35d3c49c9b10c5e1d90c6e3c8fb737df5ceb3299d96 0fb79632f91f257753b4d2e34e3f54a26c7b950981fb7fe4dee3315db63e75b0 24b4d318baec8aac9cde186f6d65767df1dba35124287c2e805bc660a3a22772 0ae4fa097f1d75107441c0a0fbb9eec17d5516fa03b98756b7df7ac7eff9c7a2 364b9f691ed5cb692dfff9dd80c761e9c4d5d6061782b327302c053ce1cd09ba 0605ebf761cf9b730524e1994e7dfaa956799d522ec53d5acba27a35c4d28279 617771938ece58c5ab664aa00c1bc4efba2d15504247a68e3af0f9bd59a387b3 80db88cca083b06f5af70d768d1699826fb12ce12efc2b4c70923e052dbb964f 5fa957c3ce225c0fda64d9b5321ee1ade207c1cc93105096cc73118f4082594c 8ecddeb0d7bfde6f70bc62f10407c26a476ed88be7999d64a15912493829a9de 62c71f5a34fbf5a843e311873cd98817dc9f8a4aeb7e0738b5de10043f5cfea7 147c926ba6ce84d344ec60682b4d85913695c25e77231a7e950f4241bfa1dd50 a25c96d21ba767fd8804d1448c7311088347264c062d3a70b6b89dde975ffb8c 65f950f04f3b7ffd9075bfdb43ff5918fb8ace4273bf29524d9c9ba59c7abdc8 c41e98d969d238bb6d1370e1b71f129e276bdc26838c54da8780280a4f39194d 3075865d5264815eca65beb7f78f4af22dee08efa9775a9b16be602f28139b1a 22ca65b9a6cdfca8c5d233a4286e320bf6d39c19a6dfcb3994dbf412d10289bf e6c542ef3d68bb9e560e5750958813fdf19b0bc0abbfdaa6bae8408063af47b0 a226b3ae30442af91c80af26bd1bf6fe97f56a9271ac2922ed41ef471593c4d3 536d2d2888e1b030bc0061c8475af14bb9b2b1668e36dbe8051390e0d7aa2740 47e4bb90a068901f3a0b420e85d5f251ac3ad298e2332c48463a204c05651acf 8e4222ceb1d73ea7876cc4c7bd54d641d570455a930ec79d1158281316f67fd7 dace8abba26619264e523c5e98f45945553a15f7d8a00d9709589f6a76b37179 e996625ac67c29dc45d42dd9561c373b7e4a2f0d6f8a8ba12e12237bd45f488c e2354ed5b048d900d9b28119beff12871f600ab02b516d35607bb65c802c04be ee08f03bc43d5f9b4253ddac00e55f79ddb2d8febd4d25cf62de4568e2dda882 3f30d0b9e864473012126ee279ea2624dfa1f7b95cfb453d0badf3a26a8242db 56907465f7828662f4fb011b6bd60982f326493a07795f2a862d388c23d58ef0 9ce6e58bda6bfc142a822770583f818db619c528dc568cf60f7aa9818f63ad2d 1233942a1b4b543706f144581320c976ec1f2f1effbfb64714a770172041b001 69699bede2caafa71dae2a6e163daa4bf3d43f537fbca0104d645879a3c3ebc4 9f2c3a9efb651457aeaab4dd214529b7b0cce4653a33defc68065f8c14c953fe e97774977368c0661dffbef71acf1759706b899e9ba7b12a53b52d9f53dbc14e 8322e472966744022eebe349f6cb7c0bee577112f2c376ca23f6f789c08f7167 61147762e1068424ccd9b61510802c29ee62ddfdbe6d47828699da5da409f562 aabc270d880bd6a04437400f6067b836ae893cc60c77bb4cba347249d38cb655 e67ea619302ff0d929cf844ff933110108f83db8799e8fcfe60ce2796adb945d ba4c2bd8b13d40bac60b082aa49b54c711885020fe8d43ff91a3f3cfb57df5df c296ab07ca2b342cc6efb63288874b57fc8c58b2784415c4d035c3c9c1bcda2e 4d70fa651224ce09afb6a34b454a1d9104390983dfb9641117fce3e23bfa267a 0d96fa97101cb5479ad421d21fbfd75f8c0b2143ee4c3eaf80ff5b995f16ee0a b7c8bfd6a7253d2239921507477d2770104370bffd49cbead54b19ee08a8c417 2beef445c0cd1e9748aac2f94bc0b6b981e7ea3c47af5a931d0ba333e807c751 0f9cc782ba0e543a01674f8247fa6e573e71dce65b75e532471fd67f91ab09ef 1f046f4e97dd6ddff3834bcaa36f38fd337a442394249724b92e9bcb39c77232 5e81b11e75fd9e93b4fd5cb434066462b507cffff7571117f6069885582d8f57 06e1684b2904b3a534d972f70091bd48fb19fc44be5a7cdef8b5189b6f25e37c a31056256a78cd175f0202b6e45e76b10ca015efcd165c88199a8023aca239a5 4e64f8b8c1c7294aa46a541bfa0dfbe4a534e88d5e463812d5afce4158f07adc e2b7bcbc692e26ca0187dd0ce76506f9e44eba7a3afe7f09c5fb02af4d9e944a 92814704368c54f89a39cfd266236ef553113d293d3d68f3b6f913fcb1c7dda9 4a1f39e94f232c362e9da28c9c80f64bc948d59ab391312f4dd5dd8e40bd8a5b 76666eb1673d704f35d9774a5e5e8a21061a0414651a19839997ee0e19f2c4a9 136197ef1b53ef3141c74beb59b186e96f81f27a3393dbae26cd5a3a049d246c b418ff4ac753dd2806386961f48a5a0f06f439ed42a594e4ed372704dcbe060e 490ca08a144945edfb250f591ec89cba259e0d2df3ba283152ee1853aeea6b1f fae156d02a4275dcfe33c16acdc2ce7c139992643f68e9fbf88c2dc86d94e3da ad2f64261a294226cc8e6f61b3426bea2ef7de92641e727ec9d9b7e02f35438a 13114f2c14fac8ea8c40fd32b979af0ca4d223c39d07ca45822d1a27c666afcc ce0c55e04306575fee24db16264f645d9a26541b015c58af7aff7c6ad39987a0 ed3ba6da32bca17363872deb91105132270d0cab0a9c5ed064f95ff5c5b8d3d0 03d20063742357595fb0760e460ed07c8bc9f22e46ff6603f19fd5b76a280aa8 7f4f395d0ebea24edbba17bba51c7c9a1b82ddd674e97fadc70d2df98b3ce850 08081f9428f9e93d4982ce72ba6e5255701f595d08f46e1152be0b3ac0676626 708d481b430b02234d3a5c5aa4f9807714d7fc48ba0fc01277e89671a0272c17 478e7e64fe10c5df195ec37f1932606c4feec57ecf632b94b4c82efe940c65aa 082eee703485930a801545c9c5ba1c686813c7a2876ad1e90fd7f081deed04b3 c5a781808aa6048c87df86625cdb22d6c7c2de9f8d06bb8218b5e9ff2cd5c022 cda27896222ac4fa3fe7ae166017375cfb1c143bf957af52e578302557a8af0d 8090969cf926163d23ff3f58f27583e8b3d76e0dc661e5bb77c1358cf0ed855b 765ae295d873dac304cd4e8df8a952294128f212ec11c300df6d80d72ffd181c cebf24f00d1dc62a2db6845e9f524ad93cd92d30b7c55e34422814ececac7fa9 7cd78cecc4becd25ef0b7038594fc555d801a303e71bbc078e8fb2bafefc62b0 fbd9bb507f130814df586fb1014c34a60561f1da43213adec0e96a561ab088e2 e5ff4a797ec4635d84ad200be5e582ded21160cea45b4e5fa30a6e1bfcb87276 b21f391137c84c84dd9ba79ae80d4332c29ff3d8f67d6e6cac50013b5d6b60c7 4a375bf59f7e9796d38b7e5a7e1c18c4a9b11cac11e2e76c0acb39e353a9eed6 e846ae26b47bc775f9458c11b8821a4ff5a59c85322dabe7ca9dc17ad73e73be 2fd023164c99a30001f1905b782e63fdffcfab6d11c29b609e13205b3cd28495 6f11c34617f068a33e7453b26894b762f5b950e30d7c55f836133814c24ef6b0 66b626475ae63a118f7828a812a317379c217518d06b0dc96ff76e54df280648 ae3f39eb0351d30d3d66de361534ec14d0583ca6de242d6747769548ffe91463 55818a4390d53d10fa5d123b757f66dbde495e885a5e3d28df17e71027958b1a 6274469ab3eec14c916f6eee602b0d2c27ec3c9b96ae9bdf709c4d14c1a86846 3c99fd206e7a1d294f5354e0ce9899e56665edde9b2732767d1b37ad436d6530 fd55f6623b1242e7547cfb22ba76baf711cac6a2a7a3b3e59b6852a9814a0824 34837fcc9a5b910613e09a7ce2dea2d560effab80828d6ce6a8741d46307aba2 87fdd3b51b03d9a4ed73af2a5a4eb9ee501a29260f84950d3909f31fce971b86 8d93526095e400d4228bb59a83fe88c9d1e056258ae883da2ce1ad7e65dbae35 009306189cfbb8c00ddea59ad1076ea99a19029d1071b02a4797dc215f513516 e6561f968124ea2ca6ecd0b156871fd4d0f618db9df5b33c3ff13a8a4e777771 25bb72af3ea22db7c3c65a807ca695f7991df4d3d8e8b34c832cbbbdb61af548 3bae21be70ababc2793f140947e755b38bc72065c21eaebb2a1bbf8149ae36ee 96a8868bc494ca542c22c62387635984b1096549d6bfbd2b842d09e2caaa76af 345aee3dd5152c9a03af9f4d00b78f6288a0a0eaf35081dcba906d165b3ea575 35f5087b447c6693c4584a9250beef04d7e9991ec656e44d911ffa98eb41c852 a5f10a610fc9bed6803a3497f70cee94305f0fe69eeee2130696f129b17402e5 6f92ef35bb8728d4ec580a61eadd51d6a3d6bee02e17865514288e000758846c aaef14eb30d6b61fa7dc062cef6d6726d50dd58410f984dcfa299cc036066724 9ba2e28a88a3f13bcfb930fcc91f74e8829b 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR10 %!PS-AdobeFont-1.1: CMR10 1.00B %%CreationDate: 1992 Feb 19 19:54:52 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00B) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 6 /Sigma put dup 40 /parenleft put dup 41 /parenright put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 58 /colon put dup 59 /semicolon put dup 61 /equal put dup 91 /bracketleft put dup 93 /bracketright put readonly def /FontBBox{-251 -250 1009 969}readonly def /UniqueXX 5000793 def currentdict end currentfile eexec 8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8 97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc 8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011 b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415 50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e 784c6bf7389803d9450b0c21756a017306457c7e62c1d269f306bd3402e266de fc3b5e7d8a8d2f5bf0fe6ddd40d07391df4fad4a6018dce29a2b8f692b29f202 3a7c0e66de8ed85c14f1f8492167357f51a7e84cc5d92e0fee4d81cf7fbc8de5 2d2e7bb57142033993f9c08c315abade8dbc4a732e84e142d3bee51557910e12 cd8aa37c459a5e6b7f5269f59078aba3be4641a11ac48d0b625c8325b38ec08e 4c9e5e7fed976a5650d99d82114f449b9ca14c4ec957702295a39a93ef93f618 99b8ea06b092c3c1e503e6e436e0a9fa22576c8930ab3dc8c20f5d82b69cddf8 ff4dacfa9c54bed5a3aa3ea5b129fe96be632843b9b6bc91b615581a985db56b 1e01ca60ee69ca92cf5c0882ece62edad3e106d835348822400f0b66af658f2a e56ed08f8b0010571807009b73ab12a8cf14ca6c71f03c2a48c500f9d62266af 154a6375ff600d9bac3f05ce34142d6867a79581c533176bb2f3117336671e2e 44638a97167e2ea9644e31ea16c2ad2990ea33c54001e0c8156e6de8ab6a4d40 a7137ba275f39589fea2e2db8256adc103d6f9cc038037a47e8fd469c5f98a5e 3c15bd4ace40d340018b1cff7d1ed8abb0ac57b5b5a2c20a51957b96c453edb7 dae5affd91a46d938fe0a13363001d844ded4323f1ee6d30012aea19b024a552 315505535c85dc26bad31e09c50e6512802976d298c4e90d0044c362e6bf3ab3 62a454ee93de25ce54411090c29e9d75c80ce26a84404bd9de3aee0e3f921ac5 87f907572b8354a5c3165eea7e8b2ba4e155f60e5ea763348a68b1555c02ad7d 7dbf7316889a222ff9e91a46568b2ada7a721bdc74c01285a4d2da9e68a45294 59165bf752b1c65f96c8c782a1c5b0e85e61ae98fa9e1a75b3713bb0f9dc5c40 59474f76d6b5adb96221d0387e31a31793d314e7807f205fd779f84ce8f01c78 362f20f481b1df7ca50fe86df11e304c0ae7abae013fbdeb1fe7f4553c608ba5 aaea38980169fc15eb0718eca3051fea142c6eae24e51b0470b1c9d20361ad1f ec8c0a799fabb8e11ed97bef296fc10b39ed96503d408758c6ecc63492f3d3de 4defb94289cb05412204c3d36c428e7697212ab9c24a05ec13d27b017d1f7fb3 15dbe2563fb00b7d7706a64cd22ad45db96fedc41d3022eaa2df55d6e65d40c3 9d501e4575718cf7c784c6c724734e0dc598a95a997a6545628fda277fb75f7b 0c1761e3e0408c38e7972ada405012301b919f9ce925bc451644fad90efb6fa1 62819061ad78992aac07d8a60ccd3033ddf10dffc9fb29921e5790b9c6f502c9 0f71f63898ffe2d1bbb773ab17d27756c13cfcc0ecd5893926997ce318ba6716 e463187beea13224650ae855571905ef1b4a6dff435b6afc43d464a3e3ce3188 5a24fbf28db8e892833f24be491cab7e48cf2c0b69ebc9c7667f703ea3e1b7eb 982af736f2d10496dc2c358d16fc8316c3b1ba061d682232e87b09b541e18b0d c06b7e8bcdc04bc22f53ec668844c22dbc4ea5b756a9288fb08711d1e2474fd0 f544579e3331d9f9315c4002dde371235d804259804ba18bf27e2bc843cad136 cd20b676570f74e4084773063d0a09f1c97078922af2f5360a8159c2ae17ec27 c64d8d72b533a62b0bca6326e963d9c58759a400a8b71bc2a60ee79fabc76611 82fd1c626cbb9d7304bd8d363d9900e8777cac47defd8caf09038f23494dceda 13bf53661dbd183259a23c8d65caf3ef45a69533cb2d48b3ca3b7046b6a8389d 5fc1c3857222c428959526c99d773e23cbf305d9bc616bac57a0d2d713daf3c2 43d9b56c944e4748466c5be464e5adde746599cce30180e4d2768046c3e7e508 60888ba0b61159d1ee984fd3d37b68e39acdb248e6b1f3951940a3a60070e701 5f53dd3cd8e36dd7896f75c5023dc629736901c5b46319c26ae6c19f2f80d489 be7a5a92e7f8bc716727fe000d3a8a4213a2ac5f6c1c9a96ca5654bbed40b44a d2414d25a29786de2e5b0efd5a01727bc54bd041e4abc6a920b4e1fc857fb1de ab75ab41b2dd7e7deaac6af802cad689a866c7c425ba1876500b5456864fc05b 21b883eff82c96f4dced5c0c733367d4a1fca966f471386cccbdf2d95d386dd2 d79e43b03cfdff4a9c369bdc248392db702167458eaaf318871d639722977752 44c5e3f5c45ae0f5788c15422c646747f7a586007a7d636060ccc11c3285be86 fb54e493d71c79f32c1e0324b5812a7d4506eeb0199ca8fdf8c17e27cb4e3801 ca4378469645ed4cd6e438a9d4579c9811b921084e94542d8bca618919ae962a b18cde0353fe47bb836d8d6e4dd56a297711873d9101c6f8f7d1a5075a6d840a e48cc4c70d5232baba5af46499a4c82958d8a6fbbfef86ca1b50fad89e97d1c3 b3cda28d1e66ccf2f1c0f8150be73db6fcdde760715ae9fdf2bb24687400f4c5 41c9ed695aa923e152f92f7becd9e85d41d0d8e2e6692a14bd5ad5a8dd1a96b5 a67f8b27cf8b3176b6b2bc785ee2368421dcdf98ccddf2f23d006fe1e02da1e2 b994457ab691496dba78c15d352189c9fbc94a92a7ddda6a3a450d89163b822b 356a22ea2f3efbc73b91c12c8c2866d5a7432a2ff6adc54077725235fa4fd89f 1a38108d4c7668e63e12bb289904e12a97e3a56f2c8480f91f8522a8cef6e688 c9b07482e0cc7bc6c13dabbf1618a47419a641aaccea0a4bde44044ecdf0c42c 1bcd725e0a56fac3e020ce42173d2ea945d941a712f214c1cbdd800566cbf968 967d665e7987786687a8dc75b71d9fd84ea2fb888256a48692615e8631938d4b b32a26dcaaa09f35c6ba19588ab0ccf3bb1949813bd5b93e6731f9ffc57227ff 032861f757c6c754fb773147427ed346649c5e9fdb132cbead7e8aa28822e50f 4d2684cd68575aef73f0a0bf97cebf08a6dfd58356f977a48d83a42bdd782cf6 bee009e82602ab8677a337807fd2f9ef8c23b64a041b70bf5ba98b392504d926 b0aa788478a62aeb5ac518c0f011e55ee8dcd6e2319de1bd74334debe7977da1 57f2941999299799a448f661e48fa9092036d9777e1dcccc12f1b79c94de069d 9e6e98facdd66cc1b6e75f8d44f3eb53e26226593f8f48fb3252d030beebf9db c998decf56ad7a3cd3e1effe62d605c06320a3744cf4e867b5d7f5f8d47f036d 5937aac0c7ac8d8f1698f085791045fdc7ce880c8d5176596871cf5f07820230 68883afc9eaedd182b1f9c60013b92109cfd28cf8740d777307cc2de672c3a66 001aaac10e422ea3e0573b3afbbc83633b9d103de7b0530625441f39363a804b c2e343f19e4e4cd502a88c12e3de1cb382ad9e7310417f7fceefd4bf64cca6a1 9cead353cd232c064c47237ceee396fb51001bd9fdcec2b3326e0eb49703803d 0e94e462259ae3f5bdcb0b180923035f9b49ec95a9bcf1a375d81ae2c7aed1bc 65dbba2dcd3f3652753aaa5d8cc617c6f7ef16a78b3e6307e582208254ea2911 c79c16f3963013b7ab06688433e5dab3639dfa36d86562b2e496114668651366 f43758a5a34fb9e46666af146e3c76cc1dca2a489e6e3d3dc89053323887fbb4 b0983f3df46ed75e98b6f1e5fd8e480ba328215516c50bc4383e18818a0ff50a ff0ea5c6579434a51c88558fb1ddeb626fc47ae45b3dbe86e27b3641035502fc fd4a20290ff1abaa87658f15d8b4b4614dc516784c2801fb2db4f78ae14deae2 ed645fcee410f3404095ae7b7929811eaea86a341ef988952c9e98940d224483 9a48c9a8e4807f6fb49cab06aad1043b5f124da54554bfab1cb601285c803a53 c00c0983ee483f13b0b9f9020d7169e01b2bc24f77a6fae19755f6be4404fb43 806c24f1827388475d462d64a55dbd9ba9e15acde222cd44f57b55cfbc2e6561 62cd87ba55333361f89b3408edbbc14859864f0a65975b003de187b8aaf27058 84cdeeb1ebbe438aa83c0a47cdb871f5f226e1365b6b7709f7ca194cf2e249d3 0015245f7e792b1c436d87cb944ceffe7f1ed906c90ccb27876df09f5f8d6b2b ddfcf113726d790986b34013773b8d621434b754c1ddc4da14c5c2f1cc3a2194 1b6bbc159e6f7ec23e279507a5bf71534243f45ddcc2029030d695e82e968808 0770fa7fe17f1f999fd3c34ced7d 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMSY10 %!PS-AdobeFont-1.1: CMSY10 1.0 %%CreationDate: 1991 Aug 15 07:20:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /CMSY10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 2 /multiply put dup 15 /bullet put dup 18 /reflexsubset put dup 19 /reflexsuperset put dup 33 /arrowright put dup 50 /element put dup 59 /emptyset put dup 91 /union put dup 92 /intersection put dup 102 /braceleft put dup 103 /braceright put dup 106 /bar put readonly def /FontBBox{-29 -960 1116 775}readonly def /UniqueXX 5000820 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bac8ced9b09a275ab231194ecf829352 05826f4e975dcecec72b2cf3a18899ccde1fd935d09d813b096cc6b83cdf4f23 b9a60db41f9976ac333263c908dcefcdbd4c8402ed00a36e7487634d089fd45a f4a38a56a4412c3b0baffaeb717bf0de9ffb7a8460bf475a6718b0c73c571145 d026957276530530a2fbefc6c8f67052788e6703bb5ee49533870bca1f113ad8 3750d597b842d8d96c423ba1273ddd32f3a54a912a443fcd44f7c3a6fe3956b0 aa1e784aaec6fce08dae0c76da9d0a3eba57b98a6233d9e9f0c3f00fcc6b2c6a 9ba23af389e6dfff4efec3de05d6276c6be417703ce508377f25960ef4ed83b4 9b01b873f3a639ce00f356229b6477a081933fef3bb80e2b9dffa7f75567b1fa 4d739b772f8d674e567534c6c5bbf1cf615372be20b18472f7aa58be8c216dbd df81cc0a86b6d8318ca68fe22c8af13b54d7576fe4ca5a7af9005ea5cc4edb79 c0ab668e4fec4b7f5a9eb5f0e4c088cd818ecc4feb4b40ec8bd2981bf2336074 b64c4302813551ec0153be72f1f9695b56a658dabe99f8667d0236d0abb09f3c ea230c59e6cc255cf32ccdc338aff2bfe51f3521d06c7825b3f99d122ae597e2 d995b95525325f461af5bfe8eb8c42ac414629a4b0e2887c696966ba8c1b6f3c ed5540608d095018fda4f0a224566315eafc70cc46b7f315c2e1139c87645173 91b7c65ca7517a60d92f76ca2e67dd4b3bdba7aa7b5244e585a71eabb36b2bf4 fadefdce47a623ba178613eda0b665951ae7136ac733db742f94a871fe68e6d8 fde47d96669d1102cb4395f209cd0bdd18ecf2b72156283bd9f76175bf1cc9d8 7001d1bc696cea850a5904fd1fd68ea8ec1d997580e1ad4d6c1b874fd92bb3a4 ed5f7661ada49c62f8084a7b826810e86c958e00fadb465b2758a8ce6db79a2a d2ba4ea210d3170bd2acddea0357aedc5efc7badbdc739259d8562269170ae01 4b0c24b09735adc253e26937889bcbf00b31817df769dd0594ab3f25ece62e50 d7128e4137cca7a6bf205919c60946b7ed42f80d00c9b599c2f0fc6ad86d7eea 0b445529041b481b9b7745e70244385c25255d2f869f8026ce0215b9c55a7e60 ae8a42ef9700976ba849cecaa5990a1fda9c33feb854e3321beaf9ac23b1bd56 250ebca1c4336f24042370409e1ec1a7a7dacc212295a43bd621e40a597efe46 b2eb64b943a9bb0572c4e0d04201ad063899fb3e7559d7403d6c3050ce089454 ba0d70bc7e1e1795afa62cf4e9eae075a064a6e4c4e36e8308eeb81ef2bea17d 318a31ca3df6b2adee5ee4071bed0d7efd58e207d818e278b91c8620ef1807ca 4a2f4ab30a51fe4152006a073a1ccddd1ee8671fd2ca9c54cebd27904a493a48 ad9cbe731cff093ead2e314d7a54ab0a62cbbe09f084e254b97f8fea39242dc9 ec087eb96c5538b484b604bb1585e3946b415e33e9ecd2de401bbdcdc789b6a1 47c42261414dc09a6252422c04b47ad78129112c22dc88eade9e4eb46a3d1525 a4bbd59c343e189a97e77839f3957c77e532fbda0197c91c6564b5355aebfbf4 1bcf0a078d1db53b1e89c44a8f6c9a9f68665084b8e1a91429d401dd616f3b02 b966bb9c419dbfdd8e7ad453ee0aa387eedc1142d815ca28715c2d9c308a1bfc 1f2035871ab8e411022d3c6fad8f68835b9142a733e89fd82d1eb5a7ebad5318 66045f06e194525c59250e09c8f04b4302b54b34a065b7251dad0eca830e0072 4c45f345a97061b261e9221361e80aaa1985dfae610990884a04ed65c26ad1b9 2a28f4e4161caf23a2b8a364e2bc990b27c1341a1754bf1a032aa69846de6e69 a42731dc7ec26e1abfe2dd09391f70876beec63c307ef0a8026ffe2bef19244b 7123ea890ff1eaba8044d3e4f6436862e52dac2b713bdadd9450eb2235d5e008 0cae2aaa8967cd68e15fa84dda4bcb391ff5cd8b47b8c08c02cbaf16d83a09d9 fc09b5aadb7abc34e388c7d973a9a03fc02bf6c36a1f79af7ea72e5765686aa4 4f142fd393638781733c13265a1a5a3b437369171db0a4117cb61a9eb428a0b9 ef449cd651e3e4ab905e2a295e77ac44cf8507529333fa63e87bf9961645f51e 8b25e19be7ec03b205474e1f0a19ebeec6f2564d9e19399b27bc0efe6424f017 6d0f282bca9350a5955d01dbd91cde44e20864a230b76b4cebee653783926293 4b7f77bdae0d9b0bd14eb611b4da1779b45eb16e329618b9b995cd0fca4af32b f077f096ca58c3df8dfff71d562800d5f8185fa52e5a9d205e8e51cd9c014448 ba782fb6ddc461361b5c3962533f756e392286309b71b0b569c1fbcb2962b7ec 17fd34f672c2c15cf1ae5b1e49be71f34f158e72fc09f59fa84b3fe0e04830a5 a398caf61158de3a12c7a56eb709a5c28c080a710dcea99310b8998731b014cd ef816a8dc8c73c2b72a23e99998bdd1586c7c31b818a68fb5486041c693d176f 8b160d0329de85cc89a286b485d374fe10129a3ec0b5c087451b8efb7cf08f19 300a18921401498b580307342ba7df251cfdbd4f5637114eeefc113937263e85 aa59c840597def86297aa1deaff84e5ee13e406ca73a8b06aab2857a906a8acf a4862b6c7df139c840ecb800d35cfed13f2697ac8c440287a6a8f56de44ec244 d30a5c2d704a61699a63af9227e8fda255a36601f0909c9b0ce371c5f8e4e226 655ec4be0c3dca5b0b2391c3babff3e0f8519273b95001affe12b58ad78b1f07 83d1db49bee439f5981c2fce2dd7a1b447d02eca534a692293f45ce732c7d69c bf58aee97f85435b5a81795cc5d91b8b6ee35401dc646087542373f71d8a0b8b 041b134339e6bd073e86a7b2d31ecdaa578e34b53a3de9c93b17a9ea82206547 4816ef66e8464a04f4a99f76a8b58739871f61f44c98fd7b85f8fe46806e8ee7 df462a01df21ba6061011810493793b01cc4b58440f5c2c6cf0c2e9de5c286d3 eed7c590d33ba72d7c76b759ff8e7cc48cbe5623545bf96638a408f3a29e4486 2e153410f15a6c9b4dba97f2397f7cfe61a83fb4f46f988a9e67f3aef2794335 5ce0be6d5bba3e2a256df3e0b59abf08b375acaa02388d7ee73510283c482134 8fe809b097d77099329a79db6843e9e3036d59352efed7f3156d9583f2f30805 932583c68f2ffdc00ca416 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMSY7 %!PS-AdobeFont-1.1: CMSY7 1.0 %%CreationDate: 1991 Aug 15 07:21:52 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /CMSY7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /minus put dup 3 /asteriskmath put dup 48 /prime put dup 50 /element put dup 106 /bar put readonly def /FontBBox{-15 -951 1252 782}readonly def /UniqueXX 5000817 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bac8ced9b09a275ab231194ecf829352 05826f4e975dcecec72b2cf3a18899ccde1fd935d09d813b096cc6b83cdf4f23 b9a60db41f9976ac333263c908dcefcdbd4c8402ed00a36e7487634d089fd45a f4a38a56a4412c3b0baffaeb717bf0de9ffb7a8460bf475a6718b0c73c571145 d026957276530530a2fbefc6c8f73e9b697ddc0351763500e23c4d170ea8a2d2 75ad0b6b23097f02fa803c1f46f9ac10fe0e527c431b11b1b9a50e874896cca6 17fe3e255960846bc319ca68b9b930a45d5d0fc36b352c3443ab6f7793b38d2c 7fb9c409ab7980ead55e9f8f6b83c70088d1fa6d7f2214da8928e40b96334ad2 72d1b5db9d1355a579b26a8dac21f021e393d7d837a95deb8de92ed818a8b80b 98ee9cdd8a3c57ad7d6eb7a82f43eaa6ec520eefa7302e750edc4b495f70bba2 24a2182eec37f1a1c5dc8e20973007150237daa6bf03d498826777eeebe09014 ebfe05a8731e1a421cfc513d47d673e3d94d805f5d0668ffa265e0962cb5a75a 4a93d9b8763c70f88a5d87e970994617fc62f70fb0ed32c459934f23a9f150fa 083cf9eda2757efdfc0ffcf2a563927bbad06da9fbd2cc59328c0d1cbf948664 ff7eb9e71e42dd9eab74f6d8385bec475fbbbc5d26a9c90ef6e6050ec283a71e 6922d272c3c23863007a9f53cbc7cdf50d3ea31622542858c80e08699eb84656 ea41df4a8c71471000d202dff2b633a0cf98d403af763ed5240b7e301f14beb6 0059d1ad4f936e4a3db3338958feb1fa736b970f7b9c0317b9ab2220802aea08 22f4823816d7cdba7d977abfa1b68382e8ba20c656708ea6599d9912329b2292 b1672afc5f9806e3aca1e593d770dc728a8798e5e26e536b128c23c131b686d7 82a279a89e0ff3eb32ef20e5df240933d65f58bd8c79ca297191de63af012daa 658b56745ffaf752d97f342d9ac6c2976fa2a7b56ae33f609451258b9a0cdd1c f78e711f1878ccbd46489c78534da7ef61aafc7b174d0ec47b78c884b5382993 8dd2dfffd077c9e38719cb128beefbc65bb2619383071ef0041b8c85762fdba1 2ab9ae506dd348e40ad87b15727c6729329a2a4f5b674cf802feca3cd12d7b9e 455534b2831cd4cc04a13b890f9dafaded255d79844df6622c203cb82f840afb 8364e5c1e72f39179d7e9dbd4b0778d82840d7ac819be3fbbb93975b34f5a2c1 874d4112f660462027eb6912f64c049598067ddd0c51e4674034636c4bb0a833 d50ef70b7b5889cb44a40e8173421082a5058846bde25252254f3258cd8356bc 205f5a2ab23b1babbfe628f2b40753979b7631d163c2a94dc27092273f0382e7 615a09eeac272e51ddbfb633f1c503ba8f2036c3fbf0608a4e523a12e1613a65 99149acf52c8b0a077e52551fd08bcb8e7b1d2111f682425deb1e34f227e4103 06725b89ee10a10996d0aae0d765896f910f97363b9464914c1627d6336bb8f0 9187f280096696f0e83f7067ac2bb763046b58c206b664d37ca9afe9925055a0 0c997a12a28cabce6e96d97f782e030ccb2c728053abc09f42 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR6 %!PS-AdobeFont-1.1: CMR6 1.0 %%CreationDate: 1991 Aug 20 16:39:02 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR6) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR6 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put readonly def /FontBBox{-20 -250 1193 750}readonly def /UniqueXX 5000789 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b4486858b2a4b5a0cc2e1bf4e2a4a0e748483c3bcf 5de47cc5260a3a967cac70a7a35b88b54315191d0423b4065c7a432987938c6b edad3b72ad63c2918b6e5a2017457e0d4ebc204b031f3fc6c13d7da7277a94ba 018e9998b3dd888011a5d7c4204989f30f908b95533bda845746b673ab71ea57 65a0d14f4350707e47c8276305b28513cbe1bb0dbd269a53719bda46e536685d df78ca0146b6b93e760256b74d939d4e35b5e77238f04c92298dfdd188feea30 e053eefbcbb52f2011772b3aae39f5805597bbc1e8bb75a446ce014030f4f2f0 f49f9e962ee4a1024a746fa92a3628db5270732b54e43fe5ecfa524f127e5fcc 788e77e66098336ad67fe4cccaf0253272d5df79864bf4b734cb9a5859d557d8 bc11b8e00221ebc12e97de4b1f466ead83a4c894709363bca9040410a52d592e 34ee40cc7e5efa920546b981aa659513a24b1b85c221a1875b62d0b89e57a368 321b8043a5b094e0379760a443d632892b14ad6d19dacc8c78093243ad67e6a3 08e56e6b68412ee690b10dac6e17708754a00d51fc957b500eb80175716eef4b 2ca1ef867614659bee3f2b7319e97b6fdf1efc847bf3cee3156f72f21751da8e 5fb6898919e6799820d3de0642d756e09d6fae4ff08dd3deda3173bff4bb11f7 9109c97ddc05897af709ea199a90fcee8ce4c7a3c15b18170c41c04de2d3fba8 f34296a95b8e1e8de3739b17273f8f2c85e914615e8eac5e8bd2387ba3b1edf4 7968f06e2067d836d0f9f3e085cdfd2de06a62c81d786b304326f7002e83160a 36598589228b4dddddc43c85e1d126f8fe81b828028e26317af5894aaccf4f69 6301e1a9fc45935d8a414957f08febebbc3a72ada80f101e47447d019ade56e9 f4fab969bba2b44e47399fedf5caa1bcea216d7ba713d523da5d7776ec0bb452 fc23761a3e881b097d783e6608a001eae5a6b8bb69589902e05d9dbc92f27c27 2348ae1f0ca880d6428de6fc0eed6c08a0a7814bd38e9bd9ea8abac49d5455ad f6eb7b914537823b7d84f63fceb9b4b655dc671dd1f5bbb2c0565fb9841d8f88 c25332d81167dd2e49cbf91b8ff9aaec3caff6f74b9d057de435f022e7bce755 85dd57330b4a524700b0a0e39d0697795b55e7b1aa507019f565f02f1d67de5f 353296ef3feb20647e28e6e2e380bfa1ee330fe17e58c44ae95716c6a2f09f4d 646a81965cecb7620e62b0b72a5a432364cd0560da0db5a4af5b0e8b4905fcba b791ddcd766688f158da449332daa27ef2ef2998b0946101bdd4a521433e0c2c b3ee2aa43022952dd34509c8cb57975a5332ff89b4c150ea14529eb9e7323d34 f9a1adbb512ad2b78172df0cfb85be7f73d31fe0ac0d6cf98d7e25192196f519 b57e599040f7c29a34a661bfbe350cbb4c050d22e10acf5380b450d073164518 a0bf97017d5ca7f23c8b245a90b0c5876e270cd583ce2ef6932c64b9ab57109c 3c10d0ad9e58346513442514d9f7f9829bf36a5cd2a0a4c41fcc029b3abd86e2 342d2d4f5ad996a02b9d931b09d9b960650fc66dac32b561eddfe9f2852619bc a885cd130b5cdf131a421a2ceecac3cf636e8a091850e5967052f80bdc72d5a4 40f35b29e65532db482f07d9ae5b7bf9d49064156f644072de2962c8b73b9d4a 6814b98a16af84222ab2fb12f82b3e936036ee316f01a782734ba7285aea2ed0 df5875cd0a781978aa6c55d34c2067529cee81accfb090c9e9ca4654cd6a9a29 3695138f98362a46be6c8a507fc5dea916d9c64a8cda8bf3b996e6faac2358e9 9fbb29ae326d6b3fd434957c41cb6e8b54eb000003103170093d2f927f266ce1 f7fe2b5147028c4d41a36277f534b801aa1b28ca6aa004a692dcb5f22348c2fb 2c25faef9ed78cad84ff3d52b3c83d2b56c4a0c2702eb526a2006b52fde7b619 e1627a170be9eb71f2559520707ccd737002471ee8a5089040d0731a667dcabb bb30a6e5595695aad80742dac5ceb37924132116791565d50d86b692ce777412 21b45baebd359adda98c084a0102d6d52f9f774c5798b0bea1ad3ae86111126a 50da58673572778d3bec5fc0161341ad43f221713fcf5d783cc2855d7d17b376 ee7b97b5452c7cc87c2be2fe187420969facd599b10de1578b0bad79cda626fe 45851f43b5785ba8989cd8290791a8f40931ad8353ac077bd58cc2a99bc95f32 fbe74ad2e8c2dad4db14612aed39c9c9fdf558eb80e6a92ee5d2fa5ff8ae4a21 2d3cb19ef141679106b28f30dffd06d9e3a8a592f67a0407eccea6921c55d0bf 961036adb22fbdce5a84feb3dcf64c4408087516edda733b4240e607e26607e1 ce8b691b28d2c1741caf5d252c97831594479ac0ae2d2261d21a0f45266a9862 d4ce67aac80573d4132a6cf7472bd3fa17f2c3deef3c7f23e7b5bfd640d4cdea 79331fe5cfad5822352b68c29d18088367d063837b4a6c78ef1e4c3dc3795a4e 3b2cfa5cd67c94aa65c210572001b9fef4a37bd2e557c0353e24857fc5bfb7ab 49e709218905235efa101cde008f98f6cf896186e780ac8877bd4b0935a6 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMSY8 %!PS-AdobeFont-1.1: CMSY8 1.0 %%CreationDate: 1991 Aug 15 07:22:10 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /CMSY8 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 3 /asteriskmath put dup 13 /circlecopyrt put readonly def /FontBBox{-30 -955 1185 779}readonly def /UniqueXX 5000818 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bac8ced9b09a275ab231194ecf829352 05826f4e975dcecec72b2cf3a18899ccde1fd935d09d813b096cc6b83cdf4f23 b9a60db41f9976ac333263c908dcefcdbd4c8402ed00a36e7487634d089fd45a f4a38a56a4412c3b0baffaeb717bf0de9ffb7a8460bf475a6718b0c73c571145 d026957276530530a2fbefc6c8f059084178f5ab59e11b66566ca5ba42b1911a 5d7f1bf343015eece988b7a93bce0c7aa61344d48aed9c92c8698d4b7c9951c8 7d103f2414b39e1437f9d2e50c4ee5f218f2e6716926a79ea978f13b1f855345 191dd7d31d8f82c2e3343c7a5894d95bdc492c28226834efcb5c12fea36ac5cc 430e0aa604961e34888adf6c1f3954cbc2498e225d953cf5685852162346f474 5a2a7087d5d7ad486de16d2ca8e15cee26e012671ba3bdc7d95cc8c98bb774f5 08625e968aee27ff7d1a06e63bcfb5aa4876c3f8f13b30ccccee73c3caf4e70d 98e6ed2f422dbb4950bf789680e064150995941a9f4dd68a575949847a7d012b b910bf03a69374e341e8036ff92c949f3dc6e86aaa7a2b79532b36ca1496c973 3f5e789fa3754f83951039e765b6ef8d37389a18ca2655d971ea0ab2f6131886 1d71a694f55fc3186d85d232f23b49634341f3d4279a84def32013aabbb89fa4 20ba8b5a82ec05c02340bfc3e91a5db9a027ddccd503a463a6bf851d16d578a6 b0a76a6efb49266813508e17c5b74b2890d4c8dad59c3a09170f03dc0265a344 3356687a0d87b14590aafdc0739693bb5e81d1a98faa93a01a1b550d6ff8f53f 06b1c4158d18ebfd24cf56f2a597d93da619a4034396e94a01a3c6b9f05cc22f 2737d96e86155384cb35c41e2b9f34256e7d2765d1981b70b6e4937f7c0ee777 e2b72dd324b0de03ffb857bc2d97dc2013e0a7c0a796a2ce060a1ae00065ff25 de3f1433f60a0027f873dde7228f44d5bec99f2090494867fa9dc172a5c6b303 5547be2f6ade63192e3cced295b049b7b61283a13eeb7a1541f72f6b1f464df9 a6ba7d783987b571200b314418c8f132f0acc95ee967aaec1c8ee0d734dbf8cd 6ca9e20df809650d5e92b4a48e854ec9d24e1f9a0b0d8fe52779156dabe22ce5 11ed2afc265c8fdd73c8f73e5de20dcac79671963a66b0967d0c83f5f62240b7 322bbd4a6f4a4532b6997ea91071c95cfab937f912ade36507ac53e60904ee66 cd828d58a502e0dc 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR7 %!PS-AdobeFont-1.1: CMR7 1.0 %%CreationDate: 1991 Aug 20 16:39:21 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put readonly def /FontBBox{-27 -250 1122 750}readonly def /UniqueXX 5000790 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b448685940729e6e22f4be0e08c6505cba868f7950 93f556b64b808dd710eb936d3ac83e5783b5f7e56d363a59a026a5619a357d21 c4e77bea121eb24b09027d1aad93158edf912940e91cd2f17922b35885894644 7773730bb19af9e70453e1b78d5edc123b273a979891d6d5e624f4a388f3897e 13b045e34b4ee2f5e4fc5e996d3549640010c671de14d18b0b3cd300e57dac03 22e59bfbf7b29422230870f5897fcfaad4b50c7c1c58edcd119218163d6f6e56 25ccb882db7b6d09a1586508e8cb642a11c29a46915e4a96e282079cb21922c1 c2e360b487a45302fd22ec8c5fab63e54b5e844d4b17ca2fff37c69c366dd72a d02922c14c0932f65ed03e4219c117962edbad2dcdeaa9c10ce8af38a4ae52e2 b377245b0be19a77d6c936e7530cc4d0b78d0cc4a92698fa2870fa54f2d8503e 2d17b3d52fb2febb09f2b2af0c2a1892039ebe19a690098799a858e3d39631bd 6925a154d161df3918074ada6bd52baddd0adc3f07e2d9f15e27cbf7fe8b98c4 07205c811121fa91e059f2f99322fed63f359ac9da97aec383f067f23e5de331 51e80f0a88ab50fe8fdae4a5de93c1ae2fdca06150b37246140c0e87cb2325a6 0d2349162ae3ac93144eee1e665a1289105318fdfe86b6e76251cb25adc967d3 d0b97fe5e279e1161736ab22b4ca510b964342383a840defd38f96a7280e6ac1 34e48d740607ff2e7804164a16d47735864db847c97335e6d4215cb99911a1ec 015a3edaac1f28fedd56d2467130d07bae9416c15f0827d27c6c79f59054282a 418c12c157c91223a829947f47592f7cafd93ca182b25a73a9419127e3b12a9e 5167ac3963f2b019b338ac46d63880f94dda4b538835884d2a5538c85528d6bd 977f844d32b43b0e48caed5a4bdabcefe71695d69ca784db55ff8fd5c5c42e30 40097ef70580328190679602afd080901928e98fe6d2dc73cac402e4e1ca6f7f 432df214ec854aad9718714bdb6ba5281a79414d38ff3b5d49b6265ac26d3e4e a6c10279881a342085ea3e9bb3dd7f89bcbcfd367ff35c8e711da5022dce9399 016902f1575ce159c868f1f9ecac906f7a5e7f60fea3c2e71a2548de75ddaf9e f3bd912397302b349d1897aca3279b170aee052fb7f473ac38ad55bdb638421a 8ebb6dc9887fe398c58ff86217a35ad1bfc089e8a1dd89af1972e100ee0a289f 4cd724cbd37d89e7b30ff19887f6dfd9332f5efe43d6cb6b4e42d9e70c79face 5741a2d96458bb62f8ab9e12848d9bd05d0c1795a0a45b188762163a0ee14418 476631c149aa9cc61c746cdaf335337be1e733e652d4650291d864efb26b07f2 63644ba180e34e0fa0eccbb4f7d0372c7288301dd46dd34fb5d055757f818dd0 e20ae31124469e7e9a345e0e6be9a0c797c9a3c726b17b1550ba3937203f5764 2d4d44ce8dba5a13c8cbd99e44015855f93084aa67bae6fb9114361be84268fe 6430900fa1fe389b22da19b6c3437999c1365f39c2bb6abd92eadf93c6d9fa1e ccdd217fc6d1c2842b5187cff6da02b1c3a9a316c414f8dffc71f0e34c35167c 2a2514a30bb7617e533fdc4bcc453d684f5dc7a290b400c57e87a8719901c077 4ca32a5e311fe7dab79bfe6036621b6831f817c4d7ba447997e12442fe33cfef f94e68847de78230a79e2841e73382efaca832c888b25d2bb81b4916dbd747fc 172616ae399eed5be00ffcdd22a2d965ebb2adc7d97156efe60c3fb86399ba49 ba0223ebd12c75a4d2a9cdea372376993f80992e0122f71f4f23992269b1a21e b6732d9f6ee4a9e584fa56dbeb6147d098ea6144be68211dd20a9c6b688bb5b6 c9303d9e39fece40bf91e134b3811568dc7444200faf6a60e0e784df471ef31d de12b813811fc69ed7de6f1d8aaf407db2339d2ad24696e086d14038feec0f66 d2e7649fc57a6396a480935be9cb7c54ec870169ce7e6c4431deb30a3e577750 cf914d9c0c5a83919bca88f5d6f9e579 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMMI10 %!PS-AdobeFont-1.1: CMMI10 1.100 %%CreationDate: 1996 Jul 23 07:53:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 14 /delta put dup 15 /epsilon1 put dup 58 /period put dup 59 /comma put dup 61 /slash put dup 68 /D put dup 70 /F put dup 77 /M put dup 80 /P put dup 81 /Q put dup 83 /S put dup 84 /T put dup 85 /U put dup 97 /a put dup 98 /b put dup 110 /n put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put readonly def /FontBBox{-32 -250 1048 750}readonly def /UniqueXX 5087385 def currentdict end currentfile eexec 80347982ab3942d930e069a70d0d48311d725e830d1c76fba12e12486e989c98 74c2b527f0925722787027f44470d484262c360cdfdddf3657533a57bb16f730 48bfbbfcb73a650484015441fdc837add94ac8fbd2022e3ec8f115d4b4bb7b7f 15388f22cc6198efe768bd9fceb3446ee4a8dc27d6cd152485384ef5f59381ff da43f2d20c8fb08aa27ab2015b774db10dacfdcd33e60f178c461553146ab427 bdd7da12534ba078ad3d780414930da4f8d58abefd45db119b10eb409dd89792 3c6e705479464a4b310b58348c4b42393988fef4925cf984423aaf65fea9f0e6 4629953bcf50b919d968d99bd185f83112b2759cc411764e9bde677f57c5ee5a c555448d5f81a16259ded1e11bf4119d53e8ab07a802df900d3a2d5ccc1c6876 d29c5e9effb7af3ef83400b0910c07873a8c56fa7b1eb1ba426043b00cc95dbe dc6e136cbbbcb3f67509964f9f281ebf81fe5b018122eaf66c4a838487e82e18 6e006093042848a903efb3469ab6b4049767aadb95c30408dfd58d8a10f4cb22 168decd9f3ee100f07b49aa44c92139b669cc312ba20192454eb2375be6284b0 26659d964b96ae82d4942e758027fcf23c25ed01115af27ce7f20efe2a822bb6 84004f20243a49c9e93301fc21b80815c033c3e2ba58ef53da2157d524b395f2 b37abca13bc6a2f42e824ab7e47106176b0d6db267fbb795ac7425582df2e3dc 55863468a9200742bd7b552c48f8cf58bc21343bd3b95abfa140f33f37c6f3f7 8b0d8a5154eb7c1f62ec598267f13e841a3e64172663935ac8b665d86540d316 ddece329c008049c5e74b27d59022c5515059bc3b89370b1bc6a169c888bb325 e0b74282d6f053a50da4024ed1e433271a32ab8c17d41c632b41cf9f3ecd5fe1 24daf7aea7ce8a63047b245822930d517df7baaafa69d2d17f7d93cebd45416d f3459365434123a76ccf883a4973bab19807e1f0c4bab03a45f7ed69ff2660ff 3963e4def11001eec4238c368a39d874fd30b3c14f4186ec7700fbce22abe468 eb32baf7b0164f8f21a9b5e706b91411faaa44467cb2180ab03de375c1ab93e9 76e11ab92fdd4a7280a6d1a8dc65c4c89d04c8ed6988045a2a3de9a4c7b1efd3 75b78d2ee00e6c955ee2c3e0ec7817ca1274bdc3b510be7ebd1e500d0bff5eed 52eb9de4ece6e5e061cbfc0389d458cd198e9ad3eed9b58053df2bb41bd22495 e9b2be46eca74062f2ffeb08f7034288d43da11b503e0e11b8713c301f0852f7 ee440cbd0aae1e0c9d7f4f33441d17878cdf154f4e4cf5ae71891da59f0ebbc8 2d29bc393f4e4544b672ec732662634845cc437be64fcec560d466c7c171c7eb 621d13bf0bca0f672c520e67316b2d95c6f0668a4ab4356aad64ccaef7aee840 6c9317d8b1c66519a96eea4f1d2db6f27179d209444094ddff0c95d066634f33 853e7622219ffa825b81ae2faee14921bc58d620daa87b86bfc29baffd8087ea 62790b6eb6436d0a569898d82b85a51eea2e6d3fd15b2710e3b26b8a22028472 94845e9ede5259e6639068c86f1ecf5d1a8be634f06b9ab919af14c836e8169d e3948538566cae3f89c7f8e6beeb314a7f530331bb8ece57b901f6b601a7abb2 1e956fb7313b501923ada1a69c27f09529a4e75540baf813aab4243493850325 66842f8d1f693da1e9a4a8a3038580e723304c6d34f202a73836f49516daacf3 b55e276f75f9d398bda2ec531e40a9e17c568c3194f1a8876629e891855d0ae7 b397ebfcbb553083b79debcc7da4a9d890fc76da60b7de055a9a0cf04eaee382 671aa1fa6f491a98a19a5903a85e755968751d177410dfdbc392404073dae859 9fee3175f23b491334d84d3c91f3aea8524804154af668826b942a46f3cc7110 178ef3935a1d84055ee41a86d936160656aae13f80720835e93e19dc430b695b 67c07dc6a1b319ef0c5f89d818dc890647ecc07e3a047213aeb351c4b5a8c202 52e121390061bbc50600e4bdce87461a38b75aaa76e1d573783e4a9a9d4f2b4e 15ae1b384b621825eeee6213bef83c49aaeaa543700534b84335e56e2e9a25b7 156125518069cda1c245ff062e76b418a17a80b2102ba631be200a8c59b0a661 6a43a8ff790ba582610c24a2dc5175fe865a21cd020a4fd2310102ca7de41fbb 7b8508ef3945e42c2a09da2558cc9a0cb3eb5ddfe92be82a2306a74e138561a3 18eeae2c92f71a1b3d41e48c3c9addf084765a25eaa2e0881998565dfa999b13 d413d4a592e1c07b6453a06e6f82a4f8f570f8225f0ac8ba63bcefa2aee1778a 4e3c1ea25f6d50b45af124a70981610f428f7035d09aac792898de54f002ad6a 1877614d6516c8c824f549055a7d87ff2de308378d1ca151b353fec551c5e7db 18752fa603d9d3daefb62c6b2ec6b694cf5cb0115b5341f80fb7a2390463e73a 6c9157bb5adb21eb082869a6993ba7c38da8962cba3388181f2702c411a48c3f 9ffd684cdc15439727fe75fd8f18c8374d75886cf739a799dcd5a2647eea7480 859da8a3bcd71094629afd1997a05fc1d71762b9abf18dd20e419a412a28d48a 77363b7a9ca6d473f7d177cf19deba5c32fd0132d5f4ea1183e987412ceb85d2 4f74ab0488174b2e0b820f72bde92874fb79f879319a78021d7b24ecc0758732 5ab344fdd02c8d356f6a7723c1794c6e77af502b8fd5f06bcb7053ea9ee045cf a567f2170f31a6ff5d060d81289e2cb6eee427845584a9ed30010898766e31bc c82c079a8d77df87b49492faa0664ca420b0c50ff01000aced86866083653c1d dd4835e6dc95b0bcceea56f035a9f7feaf8456fbd9b63227052cbc2f043c8c0b ea81b79f5e3044fd9e9340f991e67a4751c718a72c90eb0c6bbfd7d31c63ef84 13b5bbee3924af80a7c27715384debdc1325d21897494c9ad934b26bdc22380e b5b0ad11f8e2117909ea99b0cdc17de09143ce8e719d975a430caf57414d70e6 389b8f525e09abeef5c65c977b460062e12db05b7a7333360431dcb7d811f849 8efd04fbb81193478c8da7d296e2faec6b2c3d0cbb0b550831f830b5022f442d 80de3beb8b0bdac26887e4995909a4769ea2d372a1cb14a8a34387f10337a489 2bc0736fdcc9731191627f328c49a1593b8f70c64c71076fef587b0208e8ad3f 7eec3f1285ee9f458b024574e4b77f1df1353ecf533b6d75b57889c1f1ded74c 8769080a8ca167833a898f064f55644e5005e6caedde40b40a4b313f4325d933 c5c94c72e76685289a7887fe046e2ee03c4a7a4f7f94240175ce4efacc2d18ec d3e3137b1b6e94b50126c5442d3dc7a8a6298d4dacdfb10823087e8ad3ca8ecb 2c24d23bd72590b6ba951378adc0f8d635d8e35bcaf04261788dbf14322eb433 8ed1096538c12a637e4d5bf1337ab704fdeafd33e83ba58846adbce55d1515cd 039a6413101daea6a4f49d586daa3375873f5accd4b1867f1bd31f91ca6f9329 ba44f07df61996c7073de8879e6d38959756ea7b19908cf5a081f08b391a9cb8 a75f6671b9eade89e7289490d41252d987b3499dfa87b31c935ab00f9559cfee 0c0a004a35e2fa0e4f0d44695dbe0b17a6ab6a8d935c500bcce07cbf2853ab4b 15f69779c96c5c9755885a3fb2e0938252c0b5fb85b6a41e95a6b2f420e6ce73 d8709ecbbee494877df4e26396eb0e854c3ad399588b6d1f213c954dba95ea51 f3344a8fb5f3d08e3c615036c005d1828c9d4401455ebf6daf11909490ae989a 77884137c9ca94cc33e717d440bdf67dce128af6ffa51cedb61f87f83eff5f84 0c349d4d7f6e867e9ad941666ff5c632bfc4c2acba7828f6e856b7fef9b08a69 e090eb5d4c81e59a1df26fe728efea4a99effcf10fa8489c582173f360af7237 55774b49e17fdb1799412808d9fd071a9d54f89aaa9323246a67e4abe8058c40 0b1a602938249bd23c95b063b342e7a6771f50c5ba91026dcf3a0108d7d100e6 eaaa081f6045af8f21da33dee154674c4d3c65780ab9004f26e0b9e729c78f6a 22e9ff47716d11f5d76f92ae0f0f1c43f96af6553eed8693236cb7171e0517f0 9ccd019c700bc75a6ae72fa99d602041aa95b4572e4c4546db13c86bfc891978 cb1cbc059aa05b380cacb07f7a8d2850a07c0f5e584d34733a6ed490da861181 dd723a89e5c607236c523c439fe8141f25cf7dbc9a13ed6584f19819b0b9f0c4 005fb7f185a172b7c8c984fef306a563ca6d200b36295e0125862a1b0e5859f4 7915347008fc3a6408293cacb55b5c987a5b23066ad2425597c5e45c7353dd25 8f84a49fb2f8eb58fb9015b09e509e16b4b88b2fe5da72feefba8d4eeebaf494 e90f4dbaf8650fa7aa2f8b7ae44a4a8f08816cf7644db8d196b767831bcfa125 bbcfa4b7ee1aa8a7b22a9829defd1ff7303b8001e385282fc38d9b1ffe04342b 04f46e28acd9c21a1eb95e5289f3ffb4dfa571c28107266b675a1769ddfeb7be bc3f07e019d70efa77231c1dfe11dc8b768151c4c2a001f7f711f91b8e289024 5929b163cb5698a9958e144effb0d153e075d6116a1a2bed8c36df672e17018c 74493d29619c639dbe7480eef00285ebe816b667887fee771652ae1f3772d594 a47cb2d3246631cf0d2e6ac3c5e03ec42a963f5b378c5262e50fc975f2b4c660 c3c359efd103b41a62d4538d4c6a927c16e21666be203878c5b14dca81ecf757 775dec363e840cf6fd074bdba5108f6a81c7991a3f40cf8d9a7101f93fb9dca5 4074c7207984c47048b335e6e7d87f12c17fd282c3831b9c2ac7a07580056bac b16399b6c211e1aa49753965bb3bc9eac89462f8804b4e51a615a816d2578308 e845390132d4e32fbc1f65576e85d81f53cc6402868b78eb05b8028862fd80ce 847ca511a3421904482fe693c124d6978e3abdb1eb934806fa0b3a64ae01f4be f0a37235ebf3b24d50081e3208380c223ed25a8ab1055f2af6e871e78707bad1 f04acff5fb4ca29411dd4925f748a020cb1fabab9a29ac50e3d8fd430e3775f9 e624ab77ca4b05e92fae75d3f06d76a2575f3ae3f7fa83806b954c4cbced6cfc 38130874b52cd910c2eb365271d268ab23cd4fa29d2abb407a37678b360d9a90 3090749b52f4247dc71659733030b2ce8b409fc38e32b931f001ee3350ce9c07 b46c792a5f7754070690564c2dc9317bf3958e637b78b551a2aaba577bbad52b e1c5ac15ee46eaa0ca038ac562d657ce24b565f29b8119ca19e8b7e9f997f31a 22ff33e5f1095f5769889b5e9991c41827d10978629a235fa86db7f5139219b5 06fef252548772985a491a43f4b46ea6c6efbfc8fb73ffd4b0fbe84eb2dffd5f 2d04f66442434b99abf2875a9d5207d611f37d35ccff144d797ada8ea68fccdb cb95745101bfc5da9558d9678fd04388fe6f2239e19edc692948edf253fd71d0 438b1cafc02bcb29417307e6665dc117c9f0e82ece7337479e123842f65fec31 3b5274d569d8f6b27a2fcbb83632b6c539e102d5bc0dc984aaa746f0e1de1db5 28a15895b58233aa013885defdbbd8fd64a262a8993d3cb516ba368daef29885 f377240a5af10e5e05789cee83e54b3094667382c0a6998f9816293429a2fae5 5a2217df27e3d0b9aadf0b5b6a1e3c4cd4ffbeebe429f86ae02f3971e6b15b35 68b49a3b44fce3478dc6a110f29e2a933f3abea7a37466141568baabd7411a52 756217e28078fb66133be285fd24877953cd4c39412ca20692e653a9e7d23f1d 231635687a1e35422c5c2343a3946ab5c51356c21f51a64115b2b3e7df1813ff 25ee91c931807c02e640375aba7c9a059ad18c953aa1d233a03e1b0cc46f76c7 ca0ff71e55aa175d7651f0df2fd880942528a7cd836e8c5b89ab3b0334d425a6 1acac212587be5e5a7c5d93417747c7094f7bc379e8e956c42df9f29b938abd0 b7713ad2630f3488f623d70c88a85dca14a0761cdc4b7b9bbd2ebee9b0a6c038 50aeb5e4b0535b842d09497af5fa481b671a8c644858cefbc63d189c28a83007 c766fe23f7992d0720b66c1a1bcd96330445e0e2ffd14a4eb3eea827b3730001 872e82cccb9a2a503d85e95076d0f53969425836ec7a3571fdb0fa817682835c 6babce55981cb1854267ab7f89e696cec60ecea00fd7d5abe69709c95dc8898a 47c1349e72218b6dd5abc6df734c37995756984b26c0571ca730cdcc864714c9 ed5c11d5005ab9b15b0e4e6e6fb1609d3cc751572a625c448646ca04c955b7cc 7ebca59337f9d880109150feed4cdd1eb37d3b22f213fc43e73829be38479352 5e3ef510de8086fd01f331b3ffb07cd3bbffe56cd21c439bd567d51bfc1ebb8a 22a6d0d19467958947c0e3a956fb9beedb594f5c7e060b812c12997883c12d1f fba4e766c72fb0bcbaab290d3787ccbf411da60170bebd7b749f52bf5977c8a8 b6644df6622e5206530a3785afa2873ea696d5b467b4c3b09c06dfc6cfbee520 621580f0211c7594839071d28a36ffa22b46907b380d1b71f9d6670868289bd6 d641e4c43540e9f29d9edbd72deea4e2e4d16fa441fa1b46f73608715194d40b b3ce6c918c31a4dd573202205eea2f7232ed59a43a81b053190d8b1e9e0097b3 8ea091ffb9e27942a5bca1637611e56e5028fd66f28991c571e16fbca14f3406 7fb2e1876516f81d0960f0ab356f372407d1a02b6afbff927932437e5bbb5425 1c2f24352eaa48f3ed3e963e7c8f2115d13816e80ef7f12e91b226dd7632b655 439f10b8413d7a15758d9eedc2cc612d042bfb2698143e11c8dee61c78c8cc5a f313aaf35e665a2fbc28da960e2a8e58bc76b488ce3c74cd3480b584a1588ae5 207d2ccf3d72f00c8b0c49aa15dc69a650c8203fffd1ff7eb4c766d2ecf5c9e1 373a479a7c1192e92288c16b2be7c46a096687af1fd2e766899dba63e8153b2f 2a78c48a5363789a1baf924f4802bbc411b10e3abac5e10e04ae7bf53394fead 23dcc6bb0c03978b9c6f9436b182c3634bb29f4e94477d7b745e9247cebcdbfe 94d2810a15529bbaaa2a57ac8255e03a33bf30d633668328503444a2f8fa5bc5 c02c97f942e325ce92770ebea0b783bc1106c3e021f5f2738665717580344c6b 5d1cbb142a40e2b863a4356b07149c021471f20c282615e997df7c74783b523c 8d90f000d7a6a6f45fdff7d1e0276246bfa6885bb67c317c8f2a8ba36e31f6f0 a8799d0ee485f2d33041f03d98c4d33de3d6602f23bb09d234d6b71c6688198e b6217ef1088abf762140a442ccf0767685129ae52bca01389229478fa02432c6 bb126be105d248 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMSY6 %!PS-AdobeFont-1.1: CMSY6 1.0 %%CreationDate: 1991 Aug 15 07:21:34 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY6) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /CMSY6 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 3 /asteriskmath put readonly def /FontBBox{-4 -948 1329 786}readonly def /UniqueXX 5000816 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bac8ced9b09a275ab231194ecf829352 05826f4e975dcecec72b2cf3a18899ccde1fd935d09d813b096cc6b83cdf4f23 b9a60db41f9976ac333263c908dcefcdbd4c8402ed00a36e7487634d089fd45a f4a38a56a4412c3b0baffaeb717bf0de9ffb7a8460bf475a6718b0c73c571145 d026957276530530a2fbefc6c8f059084178f5ab59e11b6a18979f258b8c6ed3 ccafbc21aca420c9c83eea371adc20e038b4d7b8ac303004b0aa205f04135140 76407216032fdd22e6219da8f16b28ca12524deb7bca073cc5eba65c102a5e85 fd48e6d062cd4283ee570a7774597e5bf0e3400b6be72db0115f3cb12db70ce0 83722870cddfadee715f10f1fcaf20e06f3c54afe5ca238539bfe2b596116e83 f5371ff18fa5003d8543226cfd4025f9940365b392a858d27f078d3abcffe4a1 54e78c7692d1a32bf935967c64f01b24788ff8325d61145e2d4a489fd986fb77 38e6b254522c77ca2797a504a9ce4676a77ebacb026eca94dde5922c936f8e90 c43e28519671e8def84a1526a8b89450ef2bd624857da91e76994317b723923a 47cb7b71e71550262a4a4eeef7e0d2eba371584b12b189f38fdb9feabf33b900 d528bea06075d4e71d7696aa2ce7a5bf900014283045468c2625de16e2000219 15074a97c681b3c6eee6d67ec3e481e174b53d1a3dd58da4507f93fa57f4f715 e5df982321fae7682dcd02c3e977327fa2b9b80ef30e834269bba9c69dcd694b b055398be8186c0a2d19f9c101f67b30c506d8fe62dd7da5dc0d4c7abd32f9c3 c64e081ca3cda88b1949fa64f70da6cb7a544360778ed200f21b04958bdbd70f 044e7e611a28443d0c7b8049413c0ac989dd986086bb0b8a304c185458138b9f 6c929aec9a804d4422ce5429d29a5c03b8a7916ed162a368650de8db6d9961ab cf373b396ed91d0289d26958cce7318fd7cde1bedb07347b1990557b33352b61 b18672a53c81d8766a5260d28b9a2aaa542368e2c307cfedbb67e7a5a2b0fdfe 8ee5f5f0c0f3cb9e7744b87ceee63dab32 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont TeXDict begin 39158280 55380996 1000 600 600 () @start /Fa 240[31 15[{}1 74.7198 /CMMI9 rf /Fb 131[50 1[50 5[50 50 50 1[50 50 50 50 50 2[50 50 1[50 50 50 2[50 44[50 4[50 47[{TeXBase1Encoding ReEncodeFont}18 83.022 /Courier rf /Fc 134[37 37 2[42 25 29 29 35 37 33 42 58 21 33 1[21 37 37 21 29 37 30 35 33 9[71 54 58 46 42 50 1[46 58 58 71 42 2[25 58 54 42 46 1[50 1[54 5[19 1[37 37 37 37 37 1[37 37 37 2[19 25 19 4[21 39[{TeXBase1Encoding ReEncodeFont}53 74.7198 /Palatino-Italic rf /Fd 136[62 1[46 25 33 29 2[42 46 66 25 46 1[25 1[42 29 37 46 33 46 37 12[50 1[54 11[42 4[58 7[37 37 37 37 37 37 37 37 37 49[{ TeXBase1Encoding ReEncodeFont}31 74.7198 /Palatino-Bold rf /Fe 172[69 83[{}1 83.022 /CMEX10 rf /Ff 135[43 2[50 27 35 33 1[50 45 48 73 24 46 1[24 1[46 1[40 51 37 46 42 12[51 44 12[46 28[28 28 40[{ .167 SlantFont TeXBase1Encoding ReEncodeFont}23 83.022 /Palatino-Roman rf /Fg 139[24 29 15[28 1[34 37[19 59[{}5 49.8132 /CMMI6 rf /Fh 134[33 3[37 22 26 26 1[33 29 37 52 18 2[18 33 33 1[26 33 27 31 29 97[{TeXBase1Encoding ReEncodeFont}18 66.4176 /Palatino-Italic rf /Fi 138[39 25 31 2[34 5[27 23 5[30 1[36 8[54 2[45 3[52 42 20[20 59[{}13 58.1154 /CMMI7 rf /Fj 162[23 1[23 29[65 1[23 23 3[42 42 42 42 42 42 7[32 32 33[60 6[{}14 83.022 /CMR10 rf /Fk 149[23 2[42 42 9[55 55 31[42 8[55 16[83 13[65 65 2[42 12[65 2[{}12 83.022 /CMSY10 rf /Fl 149[20 55[45 1[19 44[34 2[52{}5 58.1154 /CMSY7 rf /Fm 138[46 32 37 32 1[46 7[46 42 1[37 2[45 46 97[{TeXBase1Encoding ReEncodeFont}10 83.022 /Palatino-BoldItalic rf /Fn 201[30 30 30 30 30 30 49[{}6 49.8132 /CMR6 rf /Fo 103[25 1[37 27[37 42 39 62 42 45 24 32 30 42 45 41 43 66 22 42 17 22 43 42 25 36 46 33 41 37 21 6[50 1[75 54 58 46 39 50 1[45 59 62 71 46 54 25 25 62 57 42 46 58 53 46 58 5[19 19 37 37 37 37 37 37 37 37 37 37 45 19 25 19 2[25 25 21 58 35[45 2[{TeXBase1Encoding ReEncodeFont}73 74.7198 /Palatino-Roman rf /Fp 103[22 30[37 34 55 38 40 22 28 26 37 40 36 39 59 19 37 1[19 39 37 22 32 41 29 37 33 9[66 2[41 1[44 2[52 55 63 41 1[22 22 55 1[37 41 51 47 41 52 50 5[17 33 33 1[33 33 33 33 33 33 33 40 17 22 17 2[22 22 18 52 35[40 2[{TeXBase1Encoding ReEncodeFont}61 66.4176 /Palatino-Roman rf /Fq 242[71 9[35 3[{}2 66.4176 /CMSY8 rf /Fr 204[33 33 33 33 48[{}4 58.1154 /CMR7 rf /Fs 135[42 69 46 51 28 37 32 1[51 46 51 74 28 1[28 28 51 46 32 42 51 37 51 42 10[65 2[51 2[51 2[83 51 2[32 2[46 51 1[60 1[65 11[42 42 42 42 42 2[21 28 42[51 2[{TeXBase1Encoding ReEncodeFont}40 83.022 /Palatino-Bold rf /Ft 138[48 30 39 37 37 42 1[50 11[36 44 11[57 49 51 1[66 53 2[81 6[53 1[69 6[42 1[23 23 42[34 37 14[{}22 83.022 /CMMI10 rf /Fu 133[37 42 42 60 42 46 28 32 32 1[42 37 46 65 23 37 23 23 42 42 23 32 42 34 38 37 11[65 51 46 55 4[78 6[46 51 65 55 1[60 6[21 11[21 28 21 41[44 2[{TeXBase1Encoding ReEncodeFont}40 83.022 /Palatino-Italic rf /Fv 103[28 83 28[42 46 43 69 47 50 27 35 33 46 50 45 48 73 24 46 19 24 48 46 28 40 51 37 46 42 23 2[28 1[28 2[55 83 60 65 51 44 55 1[50 65 69 79 51 60 28 28 69 63 46 51 64 59 51 65 3[50 1[21 21 42 42 42 42 42 42 42 42 42 42 50 21 28 21 50 1[28 28 23 65 2[42 31[50 50 2[{TeXBase1Encoding ReEncodeFont}79 83.022 /Palatino-Roman rf /Fw 252[32 3[{}1 49.8132 /CMSY6 rf /Fx 137[56 1[32 1[39 2[54 58 3[23 4[48 61 2[50 18[83 6[76 71[{TeXBase1Encoding ReEncodeFont}11 99.6264 /Palatino-Roman rf /Fy 137[80 88 48 64 56 1[88 80 88 128 48 2[48 2[56 72 1[64 88 72 12[96 88 5[143 7[88 1[104 67[{ TeXBase1Encoding ReEncodeFont}21 143.462 /Palatino-Bold rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%BeginPaperSize: a4 % a4 %%EndPaperSize %%EndSetup %%Page: 1 1 1 0 bop Black Black 330 377 a Fy(T)-16 b(reatment)33 b(of)j(Epsilon)e(Moves)h(in)g(Subset)330 543 y(Construction)330 909 y Fx(Gertjan)26 b(van)f(Noor)n(d)1160 877 y Fw(\003)330 997 y Fv(Rijksuniversiteit)e(Gr)o(oningen)329 1331 y Fu(The)29 b(paper)g(discusses)h(the)f(pr)o(oblem)g(of)h(determinising)f (\002nite-state)g(automata)f(containing)g(lar)o(ge)330 1439 y(numbers)34 b(of)e Ft(\017)p Fu(-moves.)f(Experiments)h(with)f (\002nite-state)h(appr)o(oximations)e(of)i(natural)h(language)330 1547 y(grammars)d(often)h(give)g(rise)h(to)e(very)h(lar)o(ge)f (automata)g(with)g(a)g(very)h(lar)o(ge)g(number)g(of)g Ft(\017)p Fu(-moves.)330 1655 y(The)21 b(paper)f(identi\002es)h(and)g (compar)o(es)f(a)h(number)g(of)g(subset)h(construction)f(algorithms)f (which)g(tr)o(eat)330 1762 y Ft(\017)p Fu(-moves.)j(Experiments)h(have) g(been)h(performed)f(which)g(indicate)g(that)f(the)h(algorithms)f (differ)i(con-)330 1870 y(siderably)19 b(in)g(practice,)f(both)g(with)h (r)o(espect)f(to)g(the)h(size)g(of)g(the)f(r)o(esulting)h (deterministic)g(automaton,)330 1978 y(and)j(with)f(r)o(espect)h(to)f (practical)h(ef\002ciency)m(.)f(Furthermor)o(e,)h(the)g(experiments)g (suggest)g(that)e(the)i(av-)330 2086 y(erage)e(number)h(of)f Ft(\017)p Fu(-moves)f(per)h(state)g(can)f(be)i(used)f(to)g(pr)o(edict)e (which)h(algorithm)f(is)j(likely)e(to)h(be)h(the)330 2194 y(fastest)g(for)g(a)f(given)h(input)f(automaton.)330 2393 y Fs(1)g(Introduction)330 2593 y(1.1)g(Finite-state)c(Language)j (Processing)330 2692 y Fv(An)29 b(important)g(pr)o(oblem)f(in)i (computational)f(linguistics)h(is)g(posed)e(by)h(the)g(fact)f(that)h (the)330 2792 y(grammars)21 b(which)i(ar)o(e)e(typically)h (hypothesised)h(by)f(linguists)h(ar)o(e)d(unattractive)h(fr)o(om)h(the) 330 2892 y(point)j(of)e(view)h(of)g(computation.)g(For)g(instance,)g (the)g(number)g(of)g(steps)f(r)o(equir)o(ed)g(to)h(anal-)330 2991 y(yse)18 b(a)g(sentence)g(of)g Ft(n)f Fv(wor)o(ds)h(is)h Ft(n)1398 2961 y Fr(3)1453 2991 y Fv(for)e(context-fr)o(ee)g(grammars.) g(For)h(certain)g(linguistically)330 3091 y(mor)o(e)25 b(attractive)g(grammatical)g(formalisms)h(it)g(can)f(be)g(shown)i(that) f(no)g(upper)o(-bound)f(to)330 3190 y(the)31 b(number)g(of)g(steps)g(r) o(equir)o(ed)f(to)h(\002nd)g(an)g(analysis)g(can)f(be)h(given.)g(The)g (human)g(lan-)330 3290 y(guage)24 b(user)-6 b(,)25 b(however)-6 b(,)24 b(seems)h(to)g(pr)o(ocess)f(in)i(linear)e(time;)h(humans)g (understand)f(longer)330 3390 y(sentences)32 b(with)g(no)f(noticeable)h (delay)-9 b(.)30 b(This)h(implies)h(that)g(neither)f(context-fr)o(ee)f (gram-)330 3489 y(mars)17 b(nor)h(mor)o(e)f(powerful)h(grammatical)f (formalisms)h(ar)o(e)e(likely)i(models)g(for)f(human)h(lan-)330 3589 y(guage)23 b(pr)o(ocessing.)g(An)g(important)h(issue)g(ther)o (efor)o(e)d(is)j(how)g(the)f(linearity)h(of)f(pr)o(ocessing)330 3689 y(by)e(humans)g(can)g(be)f(accounted)g(for)-6 b(.)479 3788 y(A)26 b(potential)g(solution)h(to)f(this)h(pr)o(oblem)e(concerns) h(the)g(possibility)h(of)f Fu(appr)o(oximating)330 3888 y Fv(an)17 b(underlying)h(general)e(and)h(abstract)f(grammar)h(by)g (techniques)h(of)f(a)g(much)g(simpler)h(sort.)330 3987 y(The)g(idea)g(that)g(a)g(competence)g(grammar)g(might)h(be)f(appr)o (oximated)e(by)j(\002nite-state)f(means)330 4087 y(goes)24 b(back)g(to)g(early)f(work)h(by)g(Chomsky)i(\(Chomsky)-9 b(,)24 b(1963;)e(Chomsky)-9 b(,)24 b(1964\).)e(Ther)o(e)g(ar)o(e)330 4187 y(essentially)h(thr)o(ee)e(observations)i(which)g(motivate)f(the)h (view)f(that)g(the)h(pr)o(ocessing)f(of)g(nat-)330 4286 y(ural)e(language)h(is)g(\002nite-state:)p Black 571 4469 a(1.)p Black -5 w(humans)g(have)g(a)f(\002nite)h(\(small,)g (limited,)g(\002xed\))e(amount)j(of)f(memory)g(available)629 4569 y(for)f(language)h(pr)o(ocessing)p Black 571 4735 a(2.)p Black -5 w(humans)g(have)g(pr)o(oblems)f(with)i(certain)e (grammatical)g(constr)o(uctions,)j(such)e(as)629 4834 y(center)o(-embedding,)e(which)j(ar)o(e)d(impossible)j(to)f(describe)f (by)h(\002nite-state)f(means)629 4934 y(\(Miller)g(and)g(Chomsky)-9 b(,)22 b(1963\))p Black 571 5100 a(3.)p Black -5 w(humans)f(pr)o(ocess) g(natural)f(language)g(very)h(ef)o(\002ciently)f(\(in)h(linear)f (time\))p Black 330 5293 1495 4 v 371 5371 a Fq(\003)d Fp(Alfa-informatica)h(&)e(BCN.)h(E-mail:)f(vannoor)o(d@let.r)o(ug.nl)p Black Black 351 5942 a(c)330 5944 y Fq(\015)g Fp(2000)i(Association)f (for)h(Computational)e(Linguistics)p Black eop %%Page: 2 2 2 1 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black 330 357 a Fs(1.2)h(Finite-state)c(Approximation)i(and)i Ft(\017)p Fs(-moves)330 457 y Fv(In)27 b(experimenting)f(with)h(\002nite-state)f (appr)o(oximation)g(techniques)i(for)e(context-fr)o(ee)e(and)330 556 y(mor)o(e)17 b(powerful)h(grammatical)f(formalisms)h(\(such)g(as)f (the)h(techniques)h(pr)o(esented)d(in)j(Black)330 656 y(\(1989\),)24 b(Per)o(eira)i(and)h(W)-6 b(right)28 b(\(1991\),)d(Rood) j(\(1996\),)c(Per)o(eira)i(and)h(W)-6 b(right)28 b(\(1997\),)c(Evans) 330 756 y(\(1997\),)31 b(Neder)o(hof)h(\(1997\),)f(Neder)o(hof)i (\(1998\),)e(Johnson)k(\(1998\))c(\))i(we)h(have)f(found)h(that)330 855 y(the)24 b(r)o(esulting)f(automata)g(often)h(ar)o(e)e(extr)o(emely) g(lar)o(ge.)g(Mor)o(eover)-6 b(,)22 b(the)i(automata)e(contain)330 955 y(many)f Ft(\017)p Fv(-moves)g(\()p Fu(jumps)p Fv(\).)e(And)i (\002nally)-9 b(,)21 b(if)f(such)i(automata)e(ar)o(e)f(determinised)i (then)g(the)g(r)o(e-)330 1054 y(sulting)h(automata)d(ar)o(e)h(often)g Fu(smaller)p Fv(.)h(It)f(turns)h(out)g(that)g(a)f(straightforwar)o(d)f (implementa-)330 1154 y(tion)j(of)f(the)g(subset)h(constr)o(uction)h (determinisation)e(algorithm)h(performs)f(badly)g(for)g(such)330 1254 y(inputs.)k(In)f(this)h(paper)e(we)h(consider)g(a)g(number)g(of)g (variants)g(of)g(the)g(subset-constr)o(uction)330 1353 y(algorithm)e(which)f(dif)o(fer)e(in)i(their)g(tr)o(eatment)f(of)h Ft(\017)p Fv(-moves.)479 1453 y(Although)30 b(we)e(have)g(observed)g (that)g(\002nite-state)h(appr)o(oximation)f(techniques)h(typi-)330 1553 y(cally)h(yield)g(automata)g(with)g(lar)o(ge)f(amounts)i(of)f Ft(\017)p Fv(-moves,)g(this)h(is)f(obviously)i(not)f(a)e(ne-)330 1652 y(cessity)-9 b(.)21 b(Instead)f(of)g(trying)h(to)g(impr)o(ove)g (upon)g(determinisation)g(techniques)g(for)g(such)g(au-)330 1752 y(tomata)k(it)g(might)i(be)d(mor)o(e)h(fr)o(uitful,)g(per)o(haps,) f(to)i(try)f(to)g(impr)o(ove)g(these)g(appr)o(oximation)330 1851 y(techniques)g(in)g(such)g(a)e(way)h(that)h(mor)o(e)f(compact)g (automata)f(ar)o(e)g(pr)o(oduced.)2914 1820 y Fn(1)2973 1851 y Fv(However)-6 b(,)330 1951 y(because)26 b(r)o(esear)o(ch)f(into) i(\002nite-state)g(appr)o(oximation)f(is)h(still)h(of)e(an)h (exploratory)f(and)h(ex-)330 2051 y(perimental)g(natur)o(e,)e(it)j(can) e(be)h(ar)o(gued)e(that)i(mor)o(e)g(r)o(obust)f(determinisation)i (algorithms)330 2150 y(do)e(still)h(have)f(a)g(r)o(ole)g(to)h(play:)e (it)i(can)f(be)g(expected)f(that)h(appr)o(oximation)g(techniques)h(ar)o (e)330 2250 y(much)f(easier)f(to)h(de\002ne)f(and)g(implement)h(if)g (the)f(r)o(esulting)h(automaton)g(is)g(allowed)f(to)h(be)330 2350 y(non-deterministic)c(and)e(to)h(contain)g Ft(\017)p Fv(-moves.)479 2449 y(Note)f(furthermor)o(e)e(that)h(even)g(if)g(our)g (primary)g(motivation)h(is)g(in)g(\002nite-state)f(appr)o(ox-)330 2549 y(imation,)24 b(the)f(pr)o(oblem)g(of)g(determinising)h (\002nite-state)f(automata)f(with)i Ft(\017)p Fv(-moves)f(may)g(be)330 2648 y(r)o(elevant)d(in)h(other)g(ar)o(eas)e(of)i(language)f(r)o(esear) o(ch)f(as)h(well.)330 2848 y Fs(1.3)g(Subset)e(construction)i(and)f Ft(\017)p Fs(-moves)330 2947 y Fv(The)50 b(experiments)g(wer)o(e)f (performed)g(using)h(the)h Fu(FSA)f(Utilities)p Fv(.)f(The)h Fu(FSA)g(Utilities)330 3047 y Fv(tool-box)j(\(van)e(Noor)o(d,)h(1997;)e (van)h(Noor)o(d,)h(1999;)e(Ger)o(demann)h(and)h(van)g(Noor)o(d,)330 3147 y(1999;)44 b(van)i(Noor)o(d)g(and)f(Ger)o(demann,)g(1999\))f(is)j (a)e(collection)i(of)f(tools)i(to)e(manipu-)330 3246 y(late)36 b(r)o(egular)f(expr)o(essions,)h(\002nite-state)h(automata)e (and)i(\002nite-state)f(transducers.)f(Ma-)330 3346 y(nipulations)40 b(include)e(determinisation,)h(minimisation,)i(composition,)f (complementa-)330 3445 y(tion,)g(intersection,)g(Kleene)g(closur)o(e,)f (etc.)g(V)-8 b(arious)40 b(visualisation)h(tools)f(ar)o(e)e(available) 330 3545 y(to)i(br)o(owse)g(\002nite-state)g(automata.)f(The)h (tool-box)g(is)h(implemented)f(in)g(SICStus)g(Pr)o(o-)330 3645 y(log,)49 b(and)g(is)g(available)f(fr)o(ee)f(of)i(char)o(ge)f (under)g(Gnu)i(General)e(Public)i(License)e(via)330 3744 y(anonymous)35 b(ftp)e(at)g(ftp://ftp.let.r)o(ug.nl/pub/vannoor)o (d/Fsa/,)h(and)f(via)g(the)h(web)f(at)330 3844 y(http://www)-8 b(.let.r)o(ug.nl/\230vannoor)o(d/Fsa/.)38 b(At)e(the)g(time)h(of)f(our) g(initial)h(experiments)330 3944 y(with)31 b(\002nite-state)f(appr)o (oximation,)g(an)g(old)h(version)g(of)f(the)h(tool-box)g(was)f(used,)g (which)330 4043 y(ran)d(into)h(memory)f(pr)o(oblems)g(for)g(some)h(of)e (these)i(automata.)e(For)h(this)h(r)o(eason,)e(the)h(sub-)330 4143 y(set)i(constr)o(uction)i(algorithm)f(has)f(been)f(r)o (e-implemented,)g(paying)h(special)g(attention)h(to)330 4242 y(the)25 b(tr)o(eatment)f(of)h Ft(\017)p Fv(-moves.)f(Thr)o(ee)g (variants)g(of)h(the)g(subset)g(constr)o(uction)i(algorithm)e(ar)o(e) 330 4342 y(identi\002ed)c(which)g(dif)o(fer)e(in)j(the)e(way)h Ft(\017)p Fv(-moves)g(ar)o(e)e(tr)o(eated:)p Black 330 4525 a Fm(per)i(graph)p Black 42 w Fv(The)d(most)h(obvious)h(and)d (straightforwar)o(d)h(appr)o(oach)e(is)j(sequential)g(in)g(the)f(fol-) 629 4624 y(lowing)33 b(sense.)g(Firstly)-9 b(,)32 b(an)g(equivalent)g (automaton)h(without)g Ft(\017)p Fv(-moves)f(is)h(con-)629 4724 y(str)o(ucted)16 b(for)g(the)h(input.)f(In)h(or)o(der)e(to)i(do)g (this,)g(the)f(transitive)g(closur)o(e)g(of)h(the)f(graph)629 4824 y(consisting)27 b(of)e(all)g Ft(\017)p Fv(-moves)f(is)i(computed.) f(Secondly)-9 b(,)24 b(the)h(r)o(esulting)h(automaton)629 4923 y(is)20 b(then)g(tr)o(eated)e(by)i(a)f(subset)h(constr)o(uction)i (algorithm)e(for)g Ft(\017)p Fv(-fr)o(ee)d(automata.)i(Dif-)629 5023 y(fer)o(ent)g(variants)h(of)g Fu(per)g(graph)f Fv(can)h(be)g (identi\002ed,)f(depending)i(on)f(the)h(implemen-)629 5122 y(tation)g(of)g(the)g Ft(\017)p Fv(-r)o(emoval)e(step.)p Black 330 5289 a Fm(per)i(state)p Black 42 w Fv(For)d(each)g Fu(state)g Fv(which)h(occurs)f(in)h(a)f(subset)g(pr)o(oduced)f(during)h (subset)h(constr)o(uc-)p Black 330 5458 1495 4 v 373 5536 a Fp(1)e(Indeed,)e(a)i(later)g(implementation)e(by)h(Neder)o(hof)h (avoids)f(constr)o(uction)i(of)f(the)f(complete)g(non-determistic)423 5611 y(automaton)g(by)g(minimising)h(sub-automata)g(befor)o(e)f(they)g (ar)o(e)g(embedded)e(into)j(lar)o(ger)g(sub-automata.)p Black Black 3288 5944 a Fv(2)p Black eop %%Page: 3 3 3 2 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black 629 357 a Fv(tion,)i(compute)f(the)h(states)f(which)h(ar)o(e)e(r)o(eachable)f (using)j Ft(\017)p Fv(-moves.)f(The)g(r)o(esults)g(of)629 457 y(this)25 b(computation)g(can)g(be)f(memorised,)g(or)h(computed)f (for)h(each)e(state)i(in)f(a)g(pr)o(e-)629 556 y(pr)o(ocessing)31 b(step.)g(This)h(is)f(the)g(appr)o(oach)f(mentioned)i(brie\003y)f(in)h (Johnson)g(and)629 656 y(W)-8 b(ood)21 b(\(1997\).)1111 624 y Fn(2)p Black 330 822 a Fm(per)g(subset)p Black 43 w Fv(For)35 b(each)e Fu(subset)j Ft(Q)e Fv(of)h(states)f(which)h (arises)f(during)h(subset)g(constr)o(uction,)629 922 y(compute)19 b Ft(Q)1036 891 y Fl(0)1082 922 y Fk(\023)k Ft(Q)18 b Fv(which)i(extends)e Ft(Q)h Fv(with)g(all)g(states)f(which)i (ar)o(e)e(r)o(eachable)e(fr)o(om)629 1021 y(any)25 b(member)f(of)h Ft(Q)f Fv(using)i Ft(\017)p Fv(-moves.)e(Such)h(an)f(algorithm)i(is)f (described)f(in)h(Aho,)629 1121 y(Sethi,)20 b(and)h(Ullman)f(\(1986\).) 479 1303 y(The)d(motivation)i(for)d(this)i(paper)e(is)h(the)g (experience)f(that)h(the)g(\002rst)h(appr)o(oach)d(turns)j(out)330 1403 y(to)h(be)f(impractical)g(for)g(automata)f(with)j(very)e(lar)o(ge) f(numbers)i(of)f Ft(\017)p Fv(-moves.)g(An)g(integration)330 1503 y(of)32 b(the)g(subset)f(constr)o(uction)j(algorithm)e(with)h(the) f(computation)g(of)g Ft(\017)p Fv(-r)o(eachable)d(states)330 1602 y(performs)20 b(much)i(better)e(in)h(practice)f(for)g(such)i (automata.)479 1702 y(Section)35 b(2)f(pr)o(esents)f(a)h(short)h (statement)f(of)h(the)f(pr)o(oblem)g(\(how)h(to)f(determinise)g(a)330 1802 y(given)c(\002nite-state)g(automaton\),)g(and)g(a)f(subset)i (constr)o(uction)h(algorithm)e(which)h(solves)330 1901 y(this)23 b(pr)o(oblem)g(in)g(the)g(absence)f(of)h Ft(\017)p Fv(-moves.)f(Section)h(3)f(de\002nes)h(a)f(number)h(of)g(subset)g(con-) 330 2001 y(str)o(uction)28 b(algorithms)g(which)f(dif)o(fer)e(with)j(r) o(espect)e(to)h(the)g(tr)o(eatment)f(of)g Ft(\017)p Fv(-moves.)h(Most) 330 2100 y(aspects)21 b(of)g(the)g(algorithms)h(ar)o(e)e(not)i(new)f (and)g(have)g(been)g(described)f(elsewher)o(e,)g(and/or)330 2200 y(wer)o(e)j(incorporated)g(in)h(pr)o(evious)g(implementations;)h (a)e(comparison)h(of)g(the)g(dif)o(fer)o(ent)e(al-)330 2300 y(gorithms)28 b(had)e(not)h(been)f(performed)g(pr)o(eviously)-9 b(.)26 b(W)-8 b(e)26 b(pr)o(ovide)g(a)g(comparison)h(with)g(r)o(e-)330 2399 y(spect)e(to)h(the)g(size)f(of)g(the)h(r)o(esulting)f (deterministic)h(automaton)g(\(in)g(section)g(3\))e(and)h(prac-)330 2499 y(tical)d(ef)o(\002ciency)g(\(in)h(section)h(4\).)d(Section)i(4)f (pr)o(ovides)g(experimental)g(r)o(esults)h(both)g(for)g(ran-)330 2599 y(domly)30 b(generated)f(automata)g(and)g(for)g(automata)g (generated)f(by)i(appr)o(oximation)f(algo-)330 2698 y(rithms.)j(Our)f (implementations)h(of)f(the)g(various)g(algorithms)i(ar)o(e)c(also)i (compar)o(ed)f(with)330 2798 y(A)-6 b(T&T's)20 b(FSM)g(utilities)h (\(Mohri,)g(Per)o(eira,)e(and)h(Riley)-9 b(,)21 b(1998\),)d(to)j (establish)g(that)g(the)g(experi-)330 2897 y(mental)g(dif)o(fer)o (ences)d(we)j(\002nd)g(between)f(the)h(algorithms)g(ar)o(e)f(tr)o(uly)h (caused)f(by)g(dif)o(fer)o(ences)330 2997 y(in)h(the)g(algorithm)h (\(as)e(opposed)h(to)g(accidental)f(implementation)h(details\).)330 3196 y Fs(2)f(Subset)f(Construction)330 3396 y(2.1)h(Problem)f (statement)330 3495 y Fv(Let)30 b(a)h(\002nite-state)f(machine)h Ft(M)39 b Fv(be)31 b(speci\002ed)f(by)h(a)f(tuple)h Fj(\()p Ft(Q;)14 b Fj(\006)p Ft(;)g(\016)o(;)g(S;)g(F)e Fj(\))30 b Fv(wher)o(e)g Ft(Q)g Fv(is)h(a)330 3595 y(\002nite)24 b(set)f(of)h(states,)f Fj(\006)g Fv(is)h(a)f(\002nite)h(alphabet,)e Ft(\016)k Fv(is)e(a)f(function)h(fr)o(om)f Ft(Q)d Fk(\002)g Fj(\(\006)h Fk([)f(f)p Ft(\017)p Fk(g)p Fj(\))27 b Fk(!)h Fj(2)3253 3565 y Fi(Q)3309 3595 y Fv(.)330 3694 y(Furthermor)o(e,)20 b Ft(S)28 b Fk(\022)23 b Ft(Q)d Fv(is)h(a)f(set)h(of)g(start)f(states)h (and)f Ft(F)35 b Fk(\022)23 b Ft(Q)d Fv(is)h(a)g(set)f(of)h(\002nal)g (states.)3075 3663 y Fn(3)479 3794 y Fv(Let)30 b Ft(\017)p Fv(-move)g(be)g(the)g(r)o(elation)g Fk(f)p Fj(\()p Ft(q)1608 3806 y Fi(i)1635 3794 y Ft(;)14 b(q)1709 3806 y Fi(j)1744 3794 y Fj(\))p Fk(j)p Ft(q)1836 3806 y Fi(j)1912 3794 y Fk(2)40 b Ft(\016)s Fj(\()p Ft(q)2116 3806 y Fi(i)2145 3794 y Ft(;)14 b(\017)p Fj(\))p Fk(g)p Fv(.)29 b Ft(\017)p Fv(-r)o(eachable)e(is)k(the)f(r)o(e\003exive)330 3894 y(and)21 b(transitive)g(closur)o(e)f(of)i Ft(\017)p Fv(-move.)e(Let)h Ft(\017)p Fv(-CLOSURE:)e Fj(2)2219 3864 y Fi(Q)2299 3894 y Fk(!)k Fj(2)2447 3864 y Fi(Q)2524 3894 y Fv(be)e(a)g(function)h (which)g(is)330 3993 y(de\002ned)e(as:)896 4093 y Ft(\017)p Fv(-CLOSURE)n Fj(\()p Ft(Q)1444 4059 y Fl(0)1468 4093 y Fj(\))j(=)g Fk(f)p Ft(q)s Fk(j)p Ft(q)1756 4059 y Fl(0)1802 4093 y Fk(2)g Ft(Q)1946 4059 y Fl(0)1969 4093 y Ft(;)14 b Fj(\()p Ft(q)2078 4059 y Fl(0)2101 4093 y Ft(;)g(q)s Fj(\))24 b Fk(2)f Ft(\017)p Fv(-r)o(eachable)n Fk(g)330 4242 y Fv(Furthermor)o(e,)50 b(we)g(write)g Ft(\017)p Fv(-CLOSURE)1721 4204 y Fl(\000)p Fr(1)1810 4242 y Fj(\()p Ft(Q)1908 4212 y Fl(0)1931 4242 y Fj(\))h Fv(for)f(the)g(set)h Fk(f)p Ft(q)s Fk(j)p Ft(q)2633 4212 y Fl(0)2733 4242 y Fk(2)78 b Ft(Q)2932 4212 y Fl(0)2955 4242 y Ft(;)14 b Fj(\()p Ft(q)s(;)g(q)3141 4212 y Fl(0)3165 4242 y Fj(\))78 b Fk(2)330 4342 y Ft(\017)p Fv(-r)o(eachable)m Fk(g)p Fv(.)479 4442 y(For)21 b(any)g(given)g(\002nite-state)f(automaton)h Ft(M)32 b Fj(=)22 b(\()p Ft(Q;)14 b Fj(\006)p Ft(;)g(\016)o(;)g(S;)g(F) e Fj(\))20 b Fv(ther)o(e)g(is)g(an)h(equivalent)330 4541 y(deterministic)i(automaton)h Ft(M)1349 4511 y Fl(0)1399 4541 y Fj(=)j(\(2)1565 4511 y Fi(Q)1621 4541 y Ft(;)14 b Fj(\006)p Ft(;)g(\016)1795 4511 y Fl(0)1818 4541 y Ft(;)g Fk(f)p Ft(Q)1963 4553 y Fr(0)1999 4541 y Fk(g)p Ft(;)g(F)2143 4511 y Fl(0)2166 4541 y Fj(\))p Fv(.)23 b Ft(F)2307 4511 y Fl(0)2353 4541 y Fv(is)h(the)f(set)g(of)g(all)g (states)g(in)g Fj(2)3274 4511 y Fi(Q)330 4641 y Fv(containing)k(a)d (\002nal)i(state)f(of)g Ft(M)9 b Fv(,)25 b(i.e.,)f(the)i(set)f(of)h (subsets)f Fk(f)p Ft(Q)2351 4653 y Fi(i)2410 4641 y Fk(2)31 b Fj(2)2538 4611 y Fi(Q)2594 4641 y Fk(j)p Ft(q)k Fk(2)d Ft(Q)2842 4653 y Fi(i)2869 4641 y Ft(;)14 b(q)35 b Fk(2)d Ft(F)12 b Fk(g)p Fv(.)24 b Ft(M)3307 4611 y Fl(0)330 4741 y Fv(has)e(a)g(single)h(start)f(state)g Ft(Q)1226 4753 y Fr(0)1286 4741 y Fv(which)h(is)g(the)f(epsilon)i(closur)o(e)e (of)g(the)g(start)h(states)f(of)g Ft(M)9 b Fv(,)22 b(i.e.,)330 4840 y Ft(Q)396 4852 y Fr(0)456 4840 y Fj(=)h Ft(\017)p Fv(-CLOSURE)n Fj(\()p Ft(S)5 b Fj(\))p Fv(.)21 b(Finally)-9 b(,)582 5046 y Ft(\016)622 5012 y Fl(0)646 5046 y Fj(\()p Fk(f)p Ft(q)757 5058 y Fr(1)794 5046 y Ft(;)14 b(q)868 5058 y Fr(2)905 5046 y Ft(;)g(:)g(:)g(:)g(;)g(q)1127 5058 y Fi(i)1154 5046 y Fk(g)p Ft(;)g(a)p Fj(\))23 b(=)f Ft(\017)p Fv(-CLOSURE)o Fj(\()p Ft(\016)s Fj(\()p Ft(q)2011 5058 y Fr(1)2049 5046 y Ft(;)14 b(a)p Fj(\))k Fk([)h Ft(\016)s Fj(\()p Ft(q)2363 5058 y Fr(2)2401 5046 y Ft(;)14 b(a)p Fj(\))k Fk([)h Ft(:)14 b(:)g(:)k Fk([)h Ft(\016)s Fj(\()p Ft(q)2904 5058 y Fi(i)2932 5046 y Ft(;)14 b(a)p Fj(\)\))p Black 330 5216 1495 4 v 373 5294 a Fp(2)j(Accor)o(ding)g(to)g (Derick)g(W)-6 b(ood)17 b(\(p.c.\),)f(this)h(appr)o(oach)g(has)g(been)e (implemented)g(in)i(several)f(systems,)423 5369 y(including)h(Howar)o (d)g(Johnson's)g(INR)h(system.)373 5439 y(3)f(Note)g(that)e(a)i(set)f (of)h(start)g(states)f(is)h(r)o(equir)o(ed,)f(rather)h(than)e(a)i (single)g(start)g(state.)e(Many)h(operations)i(on)423 5514 y(automata)e(can)h(be)g(de\002ned)e(somewhat)h(mor)o(e)h (elegantly)f(in)g(this)h(way)g(\(including)g Fh(per)f(graph)2853 5491 y Fg(t)2899 5514 y Fp(discussed)423 5589 y(below\).)h(Obviously)-7 b(,)16 b(for)h(deterministic)g(automata)f(this)h(set)f(should)g(be)h(a) f(singleton)h(set.)p Black Black 3288 5944 a Fv(3)p Black eop %%Page: 4 4 4 3 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black Black Black Black Black Black Black 705 344 a Fs(funct)p Black 705 357 199 4 v 20 w Ff(subset)p 1162 344 25 4 v 30 w(constr)o(uction)8 b Fj(\(\()p Ft(Q;)14 b Fj(\006)p Ft(;)g(\016)o(;)g(S;)g(F)e Fj(\)\))788 443 y Ff(index)p 999 443 V 30 w(transitions\(\))e Fj(;)37 b Ff(T)-7 b(rans)29 b Fj(:=)23 b Fk(;)p Fj(;)36 b Ff(Finals)30 b Fj(:=)23 b Fk(;)p Fj(;)36 b Ff(States)29 b Fj(:=)23 b Fk(;)p Fj(;)788 543 y Ff(Start)31 b Fj(:=)22 b Ff(epsilon)p 1373 543 V 31 w(closur)o(e)6 b Fj(\()p Ft(S)f Fj(\))788 643 y Ff(add)k Fj(\()p Ft(S)c(tar)r(t)p Fj(\))p Black 788 742 a Fs(while)p Black 788 755 217 4 v 40 w Fv(ther)o(e)20 b(is)h(an)g(unmarked)f(subset)h Ft(T)34 b Fk(2)24 b Ff(States)p Black 26 w Fs(do)p Black 2504 755 97 4 v 1025 842 a Ff(mark)10 b Fj(\()p Ft(T)i Fj(\))p Black 1025 941 a Fs(foreach)p Black 1025 954 282 4 v 21 w Fj(\()p Ft(a;)i(U)9 b Fj(\))23 b Fk(2)g Ff(instr)o(uctions)8 b Fj(\()p Ft(T)k Fj(\))p Black 21 w Fs(do)p Black 2226 954 97 4 v 1108 1041 a Ft(U)32 b Fj(:=)23 b Ff(epsilon)p 1579 1041 25 4 v 31 w(closur)o(e)6 b Fj(\()p Ft(U)j Fj(\))1108 1141 y Ff(T)-7 b(rans)6 b Fj([)p Ft(T)h(;)14 b(a)p Fj(])23 b(:=)f Fk(f)p Ft(U)9 b Fk(g)1108 1240 y Ff(add)g Fj(\()p Ft(U)g Fj(\))p Black 1025 1340 a Fs(od)p Black 1025 1353 97 4 v Black 788 1440 a(od)p Black 788 1453 V Black 788 1539 a(return)p Black 788 1552 236 4 v 20 w Fj(\()p Ff(States)d Ft(;)14 b Fj(\006)p Ft(;)g Ff(T)-7 b(rans)5 b Ft(;)14 b Fk(f)p Ff(Start)7 b Fk(g)p Ft(;)14 b Ff(Finals)7 b Fj(\))p Black 705 1639 a Fs(end)p Black 705 1652 143 4 v Black 705 1838 a(proc)p Black 705 1851 167 4 v 21 w Ff(add)i Fj(\()p Ft(U)g Fj(\))584 b Fv(Reachable-state-set)19 b(Maintenance)p Black 788 1938 a Fs(if)p Black 788 1951 60 4 v 21 w Ft(U)41 b(=)-51 b Fk(2)23 b Ff(States)p Black 869 2037 a Fs(then)p Black 869 2050 171 4 v 40 w Fv(add)d Ft(U)29 b Fv(unmarked)20 b(to)i Ff(States)p Black 1060 2137 a Fs(if)p Black 1060 2150 60 4 v 21 w Ft(U)27 b Fk(\\)19 b Ft(F)p Black 32 w Fs(then)p Black 1384 2150 171 4 v 20 w Ff(Finals)30 b Fj(:=)23 b Ff(Finals)i Fk([)19 b(f)p Ft(U)9 b Fk(g)p Black 19 w Fs(\002)p Black 2423 2150 51 4 v Black 788 2237 a(\002)p Black 788 2250 V Black 705 2336 a(end)p Black 705 2349 143 4 v Black 705 2535 a(funct)p Black 705 2548 199 4 v 20 w Ff(instr)o(uctions)f Fj(\()p Ft(P)k Fj(\))548 b Fv(Instr)o(uction)22 b(Computation)p Black 788 2635 a Fs(return)p Black 788 2648 236 4 v 20 w Ff(mer)o(ge)6 b Fj(\()1313 2573 y Fe(S)1382 2660 y Fi(p)p Fl(2)p Fi(P)1530 2635 y Ff(transitions)i Fj(\()p Ft(p)p Fj(\)\))p Black 705 2741 a Fs(end)p Black 705 2754 143 4 v Black 705 2940 a(funct)p Black 705 2953 199 4 v 20 w Ff(epsilon)p 1195 2940 25 4 v 31 w(closur)o(e)e Fj(\()p Ft(U)j Fj(\))532 b Fv(variant)20 b(1:)g(No)h Ft(\017)p Fv(-moves)p Black 788 3040 a Fs(return)p Black 788 3053 236 4 v 20 w Ft(U)p Black 705 3140 a Fs(end)p Black 705 3153 143 4 v 330 3313 a Fd(Figure)d(1)330 3396 y Fo(Subset-constr)o(uction)i(algorithm.) p Black 479 3699 a Fv(An)27 b(algorithm)h(which)g(computes)g Ft(M)1738 3669 y Fl(0)1788 3699 y Fv(for)f(a)f(given)i Ft(M)35 b Fv(will)28 b(only)g(need)f(to)h(take)e(into)330 3799 y(account)c(states)f(in)h Fj(2)1001 3769 y Fi(Q)1079 3799 y Fv(which)g(ar)o(e)e(r)o(eachable)g(fr)o(om)h(the)h(start)f (state)g Ft(Q)2611 3811 y Fr(0)2648 3799 y Fv(.)h(This)g(is)g(the)g(r)o (eason)330 3899 y(that)27 b(for)f(many)h(input)h(automata)e(the)h (algorithm)h(does)e(not)i(need)e(to)i(tr)o(eat)d(all)i(subsets)g(of)330 3998 y(states)33 b(\(but)g(note)g(that)g(ther)o(e)f(ar)o(e)g(automata)g (for)h(which)h(all)f(subsets)g(ar)o(e)f(r)o(elevant,)f(and)330 4098 y(hence)21 b(exponential)g(behaviour)f(cannot)h(be)g(avoided)f(in) h(general\).)479 4198 y(Consider)28 b(the)g(subset)h(constr)o(uction)g (algorithm)g(in)f(\002gur)o(e)f(1.)h(The)f(algorithm)i(main-)330 4297 y(tains)23 b(a)e(set)i(of)f(subsets)h Fu(States)p Fv(.)f(Each)g(subset)g(can)g(be)g(either)g(marked)g(or)h(unmarked)e (\(to)i(in-)330 4397 y(dicate)e(whether)g(the)h(subset)g(has)f(been)g (tr)o(eated)f(by)i(the)f(algorithm\);)h(the)f(set)h(of)f(unmarked)330 4497 y(subsets)28 b(is)f(sometimes)i(r)o(eferr)o(ed)24 b(to)k(as)f(the)g(agenda.)g(The)g(algorithm)h(takes)f(such)h(an)f(un-) 330 4596 y(marked)21 b(subset)h Ft(T)32 b Fv(and)21 b(computes)h(all)g (transitions)g(leaving)g Ft(T)12 b Fv(.)20 b(This)i(computation)h(is)e (per)o(-)330 4696 y(formed)d(by)h(the)f(function)i Fu(instructions)f Fv(and)f(is)h(called)e Fu(instruction)i(computation)e Fv(by)i(Johnson)330 4795 y(and)h(W)-8 b(ood)22 b(\(1997\).)479 4895 y(The)j(function)g Fu(index)p 1165 4895 25 4 v 29 w(transitions)g Fv(constr)o(ucts)g(the)g(function)g Fu(transitions)p Fv(:)f Ft(Q)30 b Fk(!)f Fj(\006)21 b Fk(\002)g Fj(2)3274 4865 y Fi(Q)330 4995 y Fv(which)i(r)o(eturns)e(for)g(a)h(given)g(state) f Ft(p)g Fv(the)h(set)g(of)g(pairs)f Fj(\()p Ft(s;)14 b(T)e Fj(\))21 b Fv(r)o(epr)o(esenting)g(the)h(transitions)330 5094 y(leaving)f Ft(p)p Fv(.)g(Furthermor)o(e,)g(the)g(function)h Fu(mer)o(ge)f Fv(takes)g(such)h(a)f(set)g(of)h(pairs)e(and)h(mer)o(ges) g(all)330 5194 y(pairs)d(with)i(the)e(same)h(\002rst)g(element)g(\(by)f (taking)h(the)g(union)h(of)e(the)h(corr)o(esponding)g(second)330 5294 y(elements\).)i(For)g(example:)p Black Black 330 5538 a Ff(mer)o(ge)6 b Fj(\()p Fk(f)p Fj(\()p Ft(a;)14 b Fk(f)p Fj(1)p Ft(;)g Fj(2)p Ft(;)g Fj(4)p Fk(g)p Fj(\))p Ft(;)g Fj(\()p Ft(b;)g Fk(f)p Fj(2)p Ft(;)g Fj(4)p Fk(g)p Fj(\))p Ft(;)g Fj(\()p Ft(a;)g Fk(f)p Fj(3)p Ft(;)g Fj(4)p Fk(g)o Fj(\))p Ft(;)g Fj(\()p Ft(b;)g Fk(f)p Fj(5)o Ft(;)g Fj(6)p Fk(g)o Fj(\))p Fk(g)p Fj(\))j(=)538 5637 y Fk(f)p Fj(\()p Ft(a;)d Fk(f)p Fj(1)p Ft(;)g Fj(2)p Ft(;)g Fj(3)p Ft(;)g Fj(4)p Fk(g)p Fj(\))p Ft(;)g Fj(\()p Ft(b;)g Fk(f)p Fj(2)p Ft(;)g Fj(4)p Ft(;)g Fj(5)p Ft(;)g Fj(6)o Fk(g)p Fj(\))p Fk(g)p Black 3288 5944 a Fv(4)p Black eop %%Page: 5 5 5 4 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black 479 357 a Fv(The)24 b(pr)o(ocedur)o(e)e Fu(add)g Fv(is)i(r)o(esponsible)f(for)h (`r)o(eachable-state-set)c(maintenance',)k(by)f(en-)330 457 y(suring)h(that)f(tar)o(get)g(subsets)g(ar)o(e)f(added)g(to)i(the)f (set)h(of)f(subsets)h(if)f(these)g(subsets)h(wer)o(e)e(not)330 556 y(encounter)o(ed)d(befor)o(e.)g(Mor)o(eover)-6 b(,)18 b(if)i(such)h(a)f(new)g(subset)g(contains)h(a)f(\002nal)g(state,)g (then)g(this)330 656 y(subset)h(is)g(added)e(to)i(the)g(set)g(of)g (\002nal)g(states.)330 855 y Fs(3)f(V)-9 b(ariants)19 b(for)i Ft(\017)p Fs(-Moves)330 1054 y Fv(The)31 b(algorithm)i(pr)o (esented)d(in)i(the)f(pr)o(evious)h(section)g(does)f(not)h(tr)o(eat)e Ft(\017)p Fv(-moves.)i(In)f(this)330 1154 y(section,)21 b(possible)h(extensions)f(of)g(the)g(algorithm)h(ar)o(e)d(identi\002ed) i(to)g(tr)o(eat)e Ft(\017)p Fv(-moves.)330 1353 y Fs(3.1)h(Per)g(graph) 330 1453 y Fv(In)h(the)f Fu(per)g(graph)f Fv(variant)h(two)h(steps)f (can)g(be)g(identi\002ed.)g(In)g(the)h(\002rst)f(step,)g Fu(efr)o(ee)p Fv(,)h(an)f(equiv-)330 1553 y(alent)26 b Ft(\017)p Fv(-fr)o(ee)f(automaton)h(is)h(constr)o(ucted.)g(In)g(the)f (second)h(step)f(this)h Ft(\017)p Fv(-fr)o(ee)e(automaton)i(is)330 1652 y(determinised)g(using)h(the)g(subset)f(constr)o(uction)i (algorithm.)f(The)f(advantage)f(of)h(this)h(ap-)330 1752 y(pr)o(oach)i(is)h(that)g(the)g(subset)g(constr)o(uction)i(algorithm)f (can)e(r)o(emain)g(simple)i(because)e(the)330 1851 y(input)21 b(automaton)h(is)f Ft(\017)p Fv(-fr)o(ee.)479 1951 y(An)43 b(algorithm)h(for)f Fu(efr)o(ee)h Fv(is)g(described)e(for)h(instance)g (in)h(Hopcr)o(oft)e(and)h(Ullman)330 2051 y(\(1979\)[page)29 b(26-27].)h(The)i(main)h(ingr)o(edient)g(of)f Fu(efr)o(ee)i Fv(is)f(the)g(constr)o(uction)h(of)f(the)f(func-)330 2150 y(tion)c Ft(\017)p Fv(-CLOSURE,)d(which)j(can)f(be)g(computed)g (by)g(using)h(a)f(standar)o(d)e(transitive)i(closur)o(e)330 2250 y(algorithm)22 b(for)f(dir)o(ected)f(graphs:)g(this)i(algorithm)g (is)g(applied)e(to)i(the)f(dir)o(ected)f(graph)h(con-)330 2350 y(sisting)27 b(of)e(all)h Ft(\017)p Fv(-moves)f(of)h Ft(M)9 b Fv(.)25 b(Such)g(an)h(algorithm)g(can)g(be)f(found)h(in)g (several)e(textbooks)330 2449 y(\(see,)c(for)g(instance,)h(Cormen,)g (Leiserson,)g(and)f(Rivest)h(\(1990\)\).)479 2549 y(For)31 b(a)f(given)g(\002nite-state)g(automaton)h Ft(M)49 b Fj(=)40 b(\()p Ft(Q;)14 b Fj(\006)p Ft(;)g(\016)o(;)g(S;)g(F)e Fj(\))29 b Fu(efr)o(ee)i Fv(computes)g Ft(M)3202 2519 y Fl(0)3265 2549 y Fj(=)330 2648 y(\()p Ft(Q;)14 b Fj(\006)p Ft(;)g(\016)602 2618 y Fl(0)625 2648 y Ft(;)g(S)718 2618 y Fl(0)741 2648 y Ft(;)g(F)843 2618 y Fl(0)866 2648 y Fj(\))p Fv(,)46 b(wher)o(e)g Ft(S)1296 2618 y Fl(0)1389 2648 y Fj(=)69 b Ft(\017)p Fv(-CLOSURE)o Fj(\()p Ft(S)5 b Fj(\))p Fv(,)46 b Ft(F)2226 2618 y Fl(0)2319 2648 y Fj(=)69 b Ft(\017)p Fv(-CLOSURE)2904 2610 y Fl(\000)p Fr(1)2993 2648 y Fj(\()p Ft(F)12 b Fj(\))p Fv(,)46 b(and)330 2748 y Ft(\016)370 2718 y Fl(0)393 2748 y Fj(\()p Ft(p;)14 b(a)p Fj(\))42 b(=)f Fk(f)p Ft(q)s Fk(j)p Ft(q)873 2718 y Fl(0)938 2748 y Fk(2)h Ft(\016)s Fj(\()p Ft(p)1149 2718 y Fl(0)1172 2748 y Ft(;)14 b(a)p Fj(\))p Ft(;)g(p)1364 2718 y Fl(0)1429 2748 y Fk(2)42 b Ft(\017)p Fv(-CLOSURE)1977 2710 y Fl(\000)p Fr(1)2066 2748 y Fj(\()p Ft(p)p Fj(\))p Ft(;)14 b(q)45 b Fk(2)d Ft(\017)p Fv(-CLOSURE)n Fj(\()p Ft(q)2910 2718 y Fl(0)2934 2748 y Fj(\))p Fk(g)p Fv(.)30 b(Instead)330 2848 y(of)20 b(using)h Ft(\017)p Fv(-CLOSURE)e(on)i(both) g(the)f(sour)o(ce)g(and)g(tar)o(get)f(side)h(of)g(a)g(transition,)g Fu(efr)o(ee)h Fv(can)f(be)330 2947 y(optimised)h(in)h(two)f(dif)o(fer)o (ent)e(ways)i(by)f(using)i Ft(\017)p Fv(-CLOSURE)d(only)j(on)f(one)h (side:)p Black 571 3130 a Fk(\017)p Black 16 w Fu(efr)o(ee)779 3100 y Fi(t)809 3130 y Fu(:)e Ft(M)940 3100 y Fl(0)986 3130 y Fj(=)j(\()p Ft(Q;)14 b Fj(\006)p Ft(;)g(\016)1346 3100 y Fl(0)1369 3130 y Ft(;)g(S)1462 3100 y Fl(0)1485 3130 y Ft(;)g(F)e Fj(\))p Fv(,)20 b(wher)o(e)h Ft(S)1966 3100 y Fl(0)2012 3130 y Fj(=)h Ft(\017)p Fv(-CLOSURE)o Fj(\()p Ft(S)5 b Fj(\))p Fv(,)21 b(and)629 3230 y Ft(\016)669 3199 y Fl(0)692 3230 y Fj(\()p Ft(p;)14 b(a)p Fj(\))23 b(=)g Fk(f)p Ft(q)s Fk(j)p Ft(q)1135 3199 y Fl(0)1181 3230 y Fk(2)g Ft(\016)s Fj(\()p Ft(p;)14 b(a)p Fj(\))p Ft(;)g(q)27 b Fk(2)c Ft(\017)p Fv(-CLOSURE)o Fj(\()p Ft(q)2188 3199 y Fl(0)2211 3230 y Fj(\))p Fk(g)p Fv(.)p Black 571 3396 a Fk(\017)p Black 16 w Fu(efr)o(ee)779 3365 y Fi(s)815 3396 y Fu(:)e Ft(M)947 3365 y Fl(0)993 3396 y Fj(=)h(\()p Ft(Q;)14 b Fj(\006)p Ft(;)g(\016)1352 3365 y Fl(0)1375 3396 y Ft(;)g(S;)g(F)1565 3365 y Fl(0)1588 3396 y Fj(\))p Fv(,)21 b(wher)o(e)f Ft(F)1976 3365 y Fl(0)2023 3396 y Fj(=)i Ft(\017)p Fv(-CLOSURE)2561 3357 y Fl(\000)p Fr(1)2650 3396 y Fj(\()p Ft(F)12 b Fj(\))p Fv(,)21 b(and)629 3495 y Ft(\016)669 3465 y Fl(0)692 3495 y Fj(\()p Ft(p;)14 b(a)p Fj(\))23 b(=)g Fk(f)p Ft(q)s Fk(j)p Ft(q)j Fk(2)d Ft(\016)s Fj(\()p Ft(p)1350 3465 y Fl(0)1374 3495 y Ft(;)14 b(a)p Fj(\))p Ft(;)g(p)1566 3465 y Fl(0)1612 3495 y Fk(2)23 b Ft(\017)p Fv(-CLOSURE)2141 3457 y Fl(\000)p Fr(1)2230 3495 y Fj(\()p Ft(p)p Fj(\))p Fk(g)p Fv(.)479 3678 y(Although)d(both)e(variants)g(appear)f(very)g (similar)-6 b(,)18 b(ther)o(e)g(ar)o(e)e(some)j(dif)o(fer)o(ences.)d (Firstly)-9 b(,)330 3778 y Fu(efr)o(ee)480 3747 y Fi(t)533 3778 y Fv(might)24 b(intr)o(oduce)e(states)h(which)g(ar)o(e)f(not)h Fu(co-accessible)p Fv(:)g(states)g(fr)o(om)f(which)i(no)f(path)330 3877 y(exists)g(to)g(a)f(\002nal)h(state;)f(in)h(contrast,)g Fu(efr)o(ee)1700 3847 y Fi(s)1759 3877 y Fv(might)g(intr)o(oduce)g (states)f(which)i(ar)o(e)d(not)i Fu(acces-)330 3977 y(sible)p Fv(:)e(states)g(fr)o(om)e(which)j(no)f(path)f(exists)h(fr)o(om)f(the)g (start)g(state.)g(A)g(straightforwar)o(d)f(mod-)330 4076 y(i\002cation)27 b(of)g(both)g(algorithms)g(is)g(possible)g(to)g(ensur) o(e)f(that)g(these)h(states)f(ar)o(e)f(not)j(pr)o(esent)330 4176 y(in)i(the)g(output.)f(Thus)h Fu(efr)o(ee)1240 4146 y Fi(t;c)1349 4176 y Fv(ensur)o(es)f(that)h(all)f(states)g(in)h(the)g (r)o(esulting)f(automaton)h(ar)o(e)330 4276 y(co-accessible;)24 b Fu(efr)o(ee)995 4246 y Fi(s;a)1111 4276 y Fv(ensur)o(es)g(that)h(all) g(states)f(in)h(the)g(r)o(esulting)g(automaton)g(ar)o(e)e Fu(accessi-)330 4375 y(ble)p Fv(.)k(As)f(a)f(consequence,)i(the)f(size) g(of)g(the)g(determinised)g(machine)g(is)h(in)g(general)e(smaller)330 4475 y(if)j Fu(efr)o(ee)560 4445 y Fi(t;c)667 4475 y Fv(is)g(employed,)g(because)f(states)h(which)h(wer)o(e)e(not)i (co-accessible)e(\(in)h(the)g(input\))330 4575 y(ar)o(e)c(r)o(emoved)h (\(this)h(is)g(ther)o(efor)o(e)e(an)h(additional)g(bene\002t)h(of)f Fu(efr)o(ee)2493 4544 y Fi(t;c)2573 4575 y Fv(;)g(the)h(fact)e(that)i Fu(efr)o(ee)3238 4544 y Fi(s;a)330 4674 y Fv(r)o(emoves)31 b(accessible)f(states)h(has)g(no)g(ef)o(fect)f(on)h(the)g(size)g(of)g (the)g(determinised)g(machine)330 4774 y(because)20 b(the)h(subset)g (constr)o(uction)h(algorithm)g(alr)o(eady)d(ensur)o(es)h(accessibility) h(anyway\).)479 4873 y(Secondly)-9 b(,)37 b(it)g(turns)g(out)g(that)g (applying)g Fu(efr)o(ee)2038 4843 y Fi(t)2105 4873 y Fv(in)g(combination)i(with)e(the)g(subset-)330 4973 y(constr)o(uction) 32 b(algorithm)g(generally)e(pr)o(oduces)f(smaller)i(automata)f(than)h Fu(efr)o(ee)2979 4943 y Fi(s)3045 4973 y Fv(\(even)f(if)330 5073 y(we)21 b(ignor)o(e)g(the)g(bene\002t)g(of)g(ensuring)g (co-accessibility\).)g(An)f(example)h(is)g(pr)o(esented)f(in)h(\002g-) 330 5172 y(ur)o(e)f(2.)g(The)h(dif)o(fer)o(ences)d(can)j(be)f(quite)h (signi\002cant.)h(This)f(is)g(illustrated)g(in)g(\002gur)o(e)f(3.)479 5272 y(Below)g(we)f(will)h(write)f Fu(per)h(graph)1550 5242 y Fi(X)1631 5272 y Fv(to)f(indicate)g(the)h(non-integrated)f (algorithm)h(based)330 5372 y(on)h Fu(efr)o(ee)594 5341 y Fi(X)658 5372 y Fv(.)p Black 3288 5944 a(5)p Black eop %%Page: 6 6 6 5 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black Black Black Black 1101 592 a tx@Dict begin tx@NodeDict begin {5.0 2 div 6.8299 0.15997 add 2 div 2 copy 0.15997 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@0 11 {InitCnode } NewNode end end 1101 592 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0 setgray 5.0 2 div 6.8299 0.15997 add 2 div 2 copy 0.15997 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore end @endspecial Fv(0)1121 565 y tx@Dict begin tx@NodeDict begin {-28.44543 0.0 } false /N@start0 10 {InitPnode } NewNode end end 1121 565 a 1121 565 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@start0 /N@0 InitNC { yB yA sub xB xA sub Atan dup 0. add /AngleA ED 0. sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 1121 565 a 2281 593 a tx@Dict begin tx@NodeDict begin {5.0 2 div 6.97992 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add 2.6 add} false /N@1 11 {InitCnode } NewNode end end 2281 593 a @beginspecial @setspecial tx@Dict begin STP newpath 2.6 SLW 0 setgray 5.0 2 div 6.97992 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 2.6 SLW 0 setgray 0 setlinecap stroke grestore gsave 1.0 SLW 1 setgray stroke grestore end @endspecial Fv(1)1691 593 y tx@Dict begin tx@NodeDict begin {5.0 2 div 6.8299 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@2 11 {InitCnode } NewNode end end 1691 593 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0 setgray 5.0 2 div 6.8299 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore end @endspecial Fv(2)1121 565 y tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@0 /N@2 InitNC { yB yA sub xB xA sub Atan dup 15.0 add /AngleA ED 15.0 sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 1121 565 a 1121 565 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 1121 565 a 1121 565 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 11.55904 4.71497 0.15997 NAngle 90 add Uput exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 1121 565 a 1073 583 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 11.55904 5.77951 2.2775 } false /N@x 16 {InitRnode } NewNode end end 1073 583 a Ft(\017)i Fv(a)1121 565 y tx@Dict begin PutEnd end 1121 565 a 1121 565 a tx@Dict begin PutEnd end 1121 565 a 1121 565 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@1 /N@2 InitNC { yB yA sub xB xA sub Atan dup 15.0 add /AngleA ED 15.0 sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 1121 565 a 1121 565 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 1121 565 a 1121 565 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 4.05904 4.30554 0.0 NAngle 90 add Uput exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 1121 565 a 1104 582 a tx@Dict begin tx@NodeDict begin {4.30554 0.0 4.05904 2.02951 2.15277 } false /N@x 16 {InitRnode } NewNode end end 1104 582 a Ft(\017)1121 565 y tx@Dict begin PutEnd end 1121 565 a 1121 565 a tx@Dict begin PutEnd end 1121 565 a 1121 565 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@2 /N@1 InitNC { yB yA sub xB xA sub Atan dup 15.0 add /AngleA ED 15.0 sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 1121 565 a 1121 565 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 1121 565 a 1121 565 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 5.0 4.71497 0.15997 NAngle 90 add Uput exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 1121 565 a 1100 583 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 1100 583 a Fv(a)1121 565 y tx@Dict begin PutEnd end 1121 565 a 1121 565 a tx@Dict begin PutEnd end 1121 565 a 1653 860 a Fv(\(1\))869 1073 y tx@Dict begin tx@NodeDict begin {5.0 2 div 6.8299 0.15997 add 2 div 2 copy 0.15997 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@0 11 {InitCnode } NewNode end end 869 1073 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0 setgray 5.0 2 div 6.8299 0.15997 add 2 div 2 copy 0.15997 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore end @endspecial Fv(0)890 1748 y tx@Dict begin tx@NodeDict begin {-28.44543 84.62517 } false /N@start0 10 {InitPnode } NewNode end end 890 1748 a 890 1748 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@start0 /N@0 InitNC { yB yA sub xB xA sub Atan dup 0. add /AngleA ED 0. sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 890 1748 a 1312 1777 a tx@Dict begin tx@NodeDict begin {5.0 2 div 6.97992 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add 2.6 add} false /N@1 11 {InitCnode } NewNode end end 1312 1777 a @beginspecial @setspecial tx@Dict begin STP newpath 2.6 SLW 0 setgray 5.0 2 div 6.97992 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 2.6 SLW 0 setgray 0 setlinecap stroke grestore gsave 1.0 SLW 1 setgray stroke grestore end @endspecial Fv(1)1312 1251 y tx@Dict begin tx@NodeDict begin {5.0 2 div 6.8299 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@2 11 {InitCnode } NewNode end end 1312 1251 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0 setgray 5.0 2 div 6.8299 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore end @endspecial Fv(2)890 1748 y tx@Dict begin tx@NodeDict begin {24.88976 63.29109 } false /N@start2 10 {InitPnode } NewNode end end 890 1748 a 890 1748 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@start2 /N@2 InitNC { yB yA sub xB xA sub Atan dup 0. add /AngleA ED 0. sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 890 1748 a 890 1748 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@0 /N@2 InitNC { yB yA sub xB xA sub Atan dup 15.0 add /AngleA ED 15.0 sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 890 1748 a 890 1748 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 890 1748 a 890 1748 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 5.0 4.71497 0.15997 NAngle 90 add Uput exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 890 1748 a 869 1767 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 869 1767 a Fv(a)890 1748 y tx@Dict begin PutEnd end 890 1748 a 890 1748 a tx@Dict begin PutEnd end 890 1748 a 890 1748 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@2 /N@1 InitNC { yB yA sub xB xA sub Atan dup 15.0 add /AngleA ED 15.0 sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 890 1748 a 890 1748 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 890 1748 a 890 1748 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 5.0 4.71497 0.15997 NAngle 90 add Uput exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 890 1748 a 869 1767 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 869 1767 a Fv(a)890 1748 y tx@Dict begin PutEnd end 890 1748 a 890 1748 a tx@Dict begin PutEnd end 890 1748 a 890 1748 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@2 /N@2 InitNC { /AngleA -90. def /r 14.22636 def NCCircle x y r angleA { ArrowA CP } { add } ArcArrow angleB arc end } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 890 1748 a 890 1748 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 2.5 def /r 2.5 def /h 1.43202 def /d 3.44292 def /flag false def HPutAdjust LPutCoor end PutBegin end 890 1748 a 869 1775 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 869 1775 a Fv(a)890 1748 y tx@Dict begin PutEnd end 890 1748 a 1185 1925 a Fv(\(2\))2041 1539 y tx@Dict begin tx@NodeDict begin {5.0 2 div 6.8299 0.15997 add 2 div 2 copy 0.15997 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@0 11 {InitCnode } NewNode end end 2041 1539 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0 setgray 5.0 2 div 6.8299 0.15997 add 2 div 2 copy 0.15997 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore end @endspecial Fv(0)2062 1748 y tx@Dict begin tx@NodeDict begin {-22.76672 28.4584 } false /N@start0 10 {InitPnode } NewNode end end 2062 1748 a 2062 1748 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@start0 /N@0 InitNC { yB yA sub xB xA sub Atan dup 0. add /AngleA ED 0. sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 2062 1748 a 2514 1304 a tx@Dict begin tx@NodeDict begin {5.0 2 div 6.97992 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add 2.6 add} false /N@1 11 {InitCnode } NewNode end end 2514 1304 a @beginspecial @setspecial tx@Dict begin STP newpath 2.6 SLW 0 setgray 5.0 2 div 6.97992 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 2.6 SLW 0 setgray 0 setlinecap stroke grestore gsave 1.0 SLW 1 setgray stroke grestore end @endspecial Fv(1)2514 1776 y tx@Dict begin tx@NodeDict begin {5.0 2 div 6.8299 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@2 11 {InitCnode } NewNode end end 2514 1776 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0 setgray 5.0 2 div 6.8299 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore end @endspecial Fv(2)2062 1748 y tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@0 /N@1 InitNC { yB yA sub xB xA sub Atan dup 20.0 add /AngleA ED 20.0 sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 2062 1748 a 2062 1748 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 2062 1748 a 2062 1748 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 5.0 4.71497 0.15997 NAngle 90 add Uput exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 2062 1748 a 2041 1767 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 2041 1767 a Fv(a)2062 1748 y tx@Dict begin PutEnd end 2062 1748 a 2062 1748 a tx@Dict begin PutEnd end 2062 1748 a 2062 1748 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@0 /N@2 InitNC { yB yA sub xB xA sub Atan dup 20.0 add /AngleA ED 20.0 sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 2062 1748 a 2062 1748 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 2062 1748 a 2062 1748 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 5.0 4.71497 0.15997 NAngle 90 add Uput exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 2062 1748 a 2041 1767 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 2041 1767 a Fv(a)2062 1748 y tx@Dict begin PutEnd end 2062 1748 a 2062 1748 a tx@Dict begin PutEnd end 2062 1748 a 2062 1748 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@1 /N@1 InitNC { /AngleA -90. def /r 14.22636 def NCCircle x y r angleA { ArrowA CP } { add } ArcArrow angleB arc end } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 2062 1748 a 2062 1748 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 2.5 def /r 2.5 def /h 1.43202 def /d 3.44292 def /flag false def HPutAdjust LPutCoor end PutBegin end 2062 1748 a 2041 1775 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 2041 1775 a Fv(a)2062 1748 y tx@Dict begin PutEnd end 2062 1748 a 2062 1748 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@2 /N@1 InitNC { yB yA sub xB xA sub Atan dup 20.0 add /AngleA ED 20.0 sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 2062 1748 a 2062 1748 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 2062 1748 a 2062 1748 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 5.0 4.71497 0.15997 NAngle 90 add Uput exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 2062 1748 a 2041 1767 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 2041 1767 a Fv(a)2062 1748 y tx@Dict begin PutEnd end 2062 1748 a 2062 1748 a tx@Dict begin PutEnd end 2062 1748 a 2298 1890 a Fv(\(3\))653 2209 y tx@Dict begin tx@NodeDict begin {5.0 2 div 6.8299 0.15997 add 2 div 2 copy 0.15997 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@0 11 {InitCnode } NewNode end end 653 2209 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0 setgray 5.0 2 div 6.8299 0.15997 add 2 div 2 copy 0.15997 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore end @endspecial Fv(0)674 2182 y tx@Dict begin tx@NodeDict begin {-22.76672 0.0 } false /N@start0 10 {InitPnode } NewNode end end 674 2182 a 674 2182 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@start0 /N@0 InitNC { yB yA sub xB xA sub Atan dup 0. add /AngleA ED 0. sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 674 2182 a 1126 2210 a tx@Dict begin tx@NodeDict begin {5.0 2 div 6.97992 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add 2.6 add} false /N@1 11 {InitCnode } NewNode end end 1126 2210 a @beginspecial @setspecial tx@Dict begin STP newpath 2.6 SLW 0 setgray 5.0 2 div 6.97992 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 2.6 SLW 0 setgray 0 setlinecap stroke grestore gsave 1.0 SLW 1 setgray stroke grestore end @endspecial Fv(1)674 2182 y tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@0 /N@1 InitNC { yB yA sub xB xA sub Atan dup 20.0 add /AngleA ED 20.0 sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 674 2182 a 674 2182 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 674 2182 a 674 2182 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 5.0 4.71497 0.15997 NAngle 90 add Uput exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 674 2182 a 653 2200 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 653 2200 a Fv(a)674 2182 y tx@Dict begin PutEnd end 674 2182 a 674 2182 a tx@Dict begin PutEnd end 674 2182 a 674 2182 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@1 /N@1 InitNC { /AngleA -90. def /r 14.22636 def NCCircle x y r angleA { ArrowA CP } { add } ArcArrow angleB arc end } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 674 2182 a 674 2182 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 2.5 def /r 2.5 def /h 1.43202 def /d 3.44292 def /flag false def HPutAdjust LPutCoor end PutBegin end 674 2182 a 653 2209 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 653 2209 a Fv(a)674 2182 y tx@Dict begin PutEnd end 674 2182 a 910 2323 a Fv(\(4\))1855 2209 y tx@Dict begin tx@NodeDict begin {5.0 2 div 6.8299 0.15997 add 2 div 2 copy 0.15997 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@0 11 {InitCnode } NewNode end end 1855 2209 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0 setgray 5.0 2 div 6.8299 0.15997 add 2 div 2 copy 0.15997 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore end @endspecial Fv(0)1876 2182 y tx@Dict begin tx@NodeDict begin {-22.76672 0.0 } false /N@start0 10 {InitPnode } NewNode end end 1876 2182 a 1876 2182 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@start0 /N@0 InitNC { yB yA sub xB xA sub Atan dup 0. add /AngleA ED 0. sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 1876 2182 a 2328 2210 a tx@Dict begin tx@NodeDict begin {5.0 2 div 6.97992 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add 2.6 add} false /N@1 11 {InitCnode } NewNode end end 2328 2210 a @beginspecial @setspecial tx@Dict begin STP newpath 2.6 SLW 0 setgray 5.0 2 div 6.97992 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 2.6 SLW 0 setgray 0 setlinecap stroke grestore gsave 1.0 SLW 1 setgray stroke grestore end @endspecial Fv(1)2800 2210 y tx@Dict begin tx@NodeDict begin {5.0 2 div 6.8299 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add 2.6 add} false /N@2 11 {InitCnode } NewNode end end 2800 2210 a @beginspecial @setspecial tx@Dict begin STP newpath 2.6 SLW 0 setgray 5.0 2 div 6.8299 0.05994 add 2 div 2 copy 0.05994 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 2.6 SLW 0 setgray 0 setlinecap stroke grestore gsave 1.0 SLW 1 setgray stroke grestore end @endspecial Fv(2)1876 2182 y tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@0 /N@1 InitNC { yB yA sub xB xA sub Atan dup 20.0 add /AngleA ED 20.0 sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 1876 2182 a 1876 2182 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 1876 2182 a 1876 2182 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 5.0 4.71497 0.15997 NAngle 90 add Uput exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 1876 2182 a 1855 2200 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 1855 2200 a Fv(a)1876 2182 y tx@Dict begin PutEnd end 1876 2182 a 1876 2182 a tx@Dict begin PutEnd end 1876 2182 a 1876 2182 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@1 /N@2 InitNC { yB yA sub xB xA sub Atan dup 20.0 add /AngleA ED 20.0 sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 1876 2182 a 1876 2182 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 1876 2182 a 1876 2182 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 5.0 4.71497 0.15997 NAngle 90 add Uput exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 1876 2182 a 1855 2200 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 1855 2200 a Fv(a)1876 2182 y tx@Dict begin PutEnd end 1876 2182 a 1876 2182 a tx@Dict begin PutEnd end 1876 2182 a 1876 2182 a tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@2 /N@2 InitNC { /AngleA -90. def /r 14.22636 def NCCircle x y r angleA { ArrowA CP } { add } ArcArrow angleB arc end } if end gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end 1876 2182 a 1876 2182 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 2.5 def /r 2.5 def /h 1.43202 def /d 3.44292 def /flag false def HPutAdjust LPutCoor end PutBegin end 1876 2182 a 1855 2209 a tx@Dict begin tx@NodeDict begin {4.71497 0.15997 5.0 2.5 2.2775 } false /N@x 16 {InitRnode } NewNode end end 1855 2209 a Fv(a)1876 2182 y tx@Dict begin PutEnd end 1876 2182 a 2348 2371 a Fv(\(5\))330 2584 y Fd(Figure)d(2)330 2667 y Fo(Illustration)h(of)f(the)h(dif)o(fer)o(ence)e(in)i(size)f (between)i(two)f(variants)g(of)g Fc(efr)o(ee)p Fo(.)f(\(1\))h(is)f(the) h(input)330 2759 y(automaton.)h(The)f(r)o(esult)e(of)i Fc(efr)o(ee)1297 2727 y Fg(t)1343 2759 y Fo(is)f(given)g(in)h(\(2\);)g (\(3\))g(is)f(the)h(r)o(esult)e(of)i Fc(efr)o(ee)2553 2727 y Fg(s)2586 2759 y Fo(.)f(\(4\))h(and)g(\(5\))g(ar)o(e)f(the)330 2850 y(r)o(esult)f(of)i(applying)f(the)h(subset)g(constr)o(uction)g(to) g(the)g(r)o(esult)f(of)g Fc(efr)o(ee)2348 2819 y Fg(t)2395 2850 y Fo(and)h Fc(efr)o(ee)2676 2819 y Fg(s)2709 2850 y Fo(,)f(r)o(espectively)-8 b(.)p Black Black 330 3047 a 23681433 16577003 3289088 3289088 26970521 19866091 startTexFig 330 3047 a %%BeginDocument: csizes.ps /gnudict 40 dict def gnudict begin /Color false def /Solid true def /gnulinewidth 5.000 def /vshift -60 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /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 /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def /C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def /S { 2 copy A C} def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray /Palatino-Roman findfont 180 scalefont setfont newpath LTa 1080 451 M 5841 0 V -5841 0 R 0 4498 V LTb 1080 451 M 63 0 V 5778 0 R -63 0 V 972 451 M (0) Rshow 1080 901 M 63 0 V 5778 0 R -63 0 V 972 901 M (2000) Rshow 1080 1351 M 63 0 V 5778 0 R -63 0 V -5886 0 R (4000) Rshow 1080 1800 M 63 0 V 5778 0 R -63 0 V -5886 0 R (6000) Rshow 1080 2250 M 63 0 V 5778 0 R -63 0 V -5886 0 R (8000) Rshow 1080 2700 M 63 0 V 5778 0 R -63 0 V -5886 0 R (10000) Rshow 1080 3150 M 63 0 V 5778 0 R -63 0 V -5886 0 R (12000) Rshow 1080 3600 M 63 0 V 5778 0 R -63 0 V -5886 0 R (14000) Rshow 1080 4049 M 63 0 V 5778 0 R -63 0 V -5886 0 R (16000) Rshow 1080 4499 M 63 0 V 5778 0 R -63 0 V -5886 0 R (18000) Rshow 1080 4949 M 63 0 V 5778 0 R -63 0 V -5886 0 R (20000) Rshow 1080 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0) Cshow 1664 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0.2) Cshow 2248 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0.4) Cshow 2832 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0.6) Cshow 3416 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0.8) Cshow 4001 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1) Cshow 4585 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1.2) Cshow 5169 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1.4) Cshow 5753 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1.6) Cshow 6337 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1.8) Cshow 6921 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (2) Cshow 1080 451 M 5841 0 V 0 4498 V -5841 0 V 0 -4498 V 180 2700 M currentpoint gsave translate 90 rotate 0 0 M (Number of States) Cshow grestore 4000 91 M (Deterministic Jump Density \(mean\)) Cshow LT0 6318 4706 M (efree-source) Rshow 6426 4706 M 324 0 V 1372 880 M 292 26 V 1956 574 L 292 1055 V 292 1381 V 292 1873 V 3124 2334 L 292 792 V 3708 1439 L 293 1469 V 4293 1550 L 4585 714 L 292 645 V 5169 541 L 292 20 V 292 -48 V 292 -31 V 292 3 V 292 11 V 292 -19 V 6534 4706 D 1372 880 D 1664 906 D 1956 574 D 2248 1629 D 2540 3010 D 2832 4883 D 3124 2334 D 3416 3126 D 3708 1439 D 4001 2908 D 4293 1550 D 4585 714 D 4877 1359 D 5169 541 D 5461 561 D 5753 513 D 6045 482 D 6337 485 D 6629 496 D 6921 477 D LT1 6318 4526 M (efree-target) Rshow 6426 4526 M 324 0 V 1372 877 M 292 25 V 1956 571 L 292 1012 V 292 1218 V 292 1409 V 3124 2002 L 292 428 V 3708 1114 L 293 830 V 4293 999 L 4585 571 L 292 254 V 5169 483 L 292 3 V 292 -17 V 292 -9 V 292 0 V 292 1 V 292 -3 V 6534 4526 A 1372 877 A 1664 902 A 1956 571 A 2248 1583 A 2540 2801 A 2832 4210 A 3124 2002 A 3416 2430 A 3708 1114 A 4001 1944 A 4293 999 A 4585 571 A 4877 825 A 5169 483 A 5461 486 A 5753 469 A 6045 460 A 6337 460 A 6629 461 A 6921 458 A stroke grestore end showpage %%EndDocument endTexFig 330 5230 a Fd(Figure)18 b(3)330 5313 y Fo(Dif)o(fer)o(ence)f(in)i (sizes)f(of)g(deterministic)g(automata)i(constr)o(ucted)f(with)h (either)e Fc(efr)o(ee)2740 5281 y Fg(s)2792 5313 y Fo(or)g Fc(efr)o(ee)3017 5281 y Fg(t)3044 5313 y Fo(,)h(for)330 5396 y(randomly)f(generated)g(input)h(automata)h(consisting)f(of)f(100) i(states,)e(15)i(symbols,)d(and)i(various)330 5479 y(numbers)g(of)f (transitions)h(and)g(jumps)g(\(cf.)f(section)h(4\).)f(Note)h(that)h (all)f(states)g(in)g(the)g(input)g(ar)o(e)330 5562 y(co-accessible;)f (the)h(dif)o(fer)o(ence)e(in)i(size)f(is)g(due)g(solely)f(to)i(the)g (ef)o(fect)f(illustrated)g(in)h(\002gur)o(e)e(2.)p Black Black 3288 5944 a Fv(6)p Black eop %%Page: 7 7 7 6 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black Black Black Black Black Black Black 933 344 a Fs(funct)p Black 933 357 199 4 v 20 w Ff(closur)o(e)7 b Fj(\()p Ft(T)12 b Fj(\))1016 443 y Ft(D)26 b Fj(:=)c Fk(;)p Black 1016 543 a Fs(foreach)p Black 1016 556 282 4 v 21 w Ft(t)h Fk(2)g Ft(T)p Black 32 w Fs(do)p Black 1531 556 97 4 v 41 w Fv(add)d Ft(t)h Fv(unmarked)f(to)h Ft(D)p Black 23 w Fs(od)p Black 2472 556 V Black 1016 643 a(while)p Black 1016 656 217 4 v 41 w Fv(ther)o(e)f(is)h(an)f(unmarked)h(state)f Ft(t)j Fk(2)h Ft(D)p Black 22 w Fs(do)p Black 2490 656 97 4 v 1254 742 a Ff(mark)10 b Fj(\()p Ft(t)p Fj(\))p Black 1254 842 a Fs(foreach)p Black 1254 855 282 4 v 20 w Ft(q)26 b Fk(2)d Ft(\016)s Fj(\()p Ft(t;)14 b(\017)p Fj(\))p Black 21 w Fs(do)p Black 1923 855 97 4 v Black 1337 941 a(if)p Black 1337 954 60 4 v 21 w Ft(q)35 b(=)-51 b Fk(2)23 b Ft(D)p Black 23 w Fs(then)p Black 1651 954 171 4 v 40 w Fv(add)d Ft(q)k Fv(unmarked)c(to)h Ft(D)p Black 23 w Fs(\002)p Black 2676 954 51 4 v Black 1254 1041 a(od)p Black 1254 1054 97 4 v Black 1016 1141 a(od)p Black 1016 1154 V Black 1016 1240 a(return)p Black 1016 1253 236 4 v 20 w Ft(D)p Black 933 1340 a Fs(end)p Black 933 1353 143 4 v 330 1514 a Fd(Figure)d(4)330 1597 y Fo(Epsilon-closur)o(e)e(Algorithm)p Black 330 1900 a Fs(3.2)k(Per)g(subset)f(and)h(per)g(state)330 2000 y Fv(Next)i(we)f(discuss)i(two)f(variants)f(\()p Fu(per)h(subset)h Fv(and)e Fu(per)h(state)p Fv(\))g(in)g(which)h(the)f(tr)o(eatment)f(of) h Ft(\017)p Fv(-)330 2099 y(moves)17 b(is)g(integrated)g(with)g(the)g (subset)g(constr)o(uction)h(algorithm.)g(W)-8 b(e)17 b(will)g(show)h(later)e(that)330 2199 y(such)27 b(an)g(integrated)f (appr)o(oach)f(is)i(in)g(practice)f(often)g(mor)o(e)h(ef)o(\002cient)f (than)h(the)g Fu(per)f(graph)330 2298 y Fv(appr)o(oach)i(if)h(ther)o(e) g(ar)o(e)f(many)i Ft(\017)p Fv(-moves.)f(The)g Fu(per)h(subset)h Fv(and)e Fu(per)g(state)g Fv(appr)o(oaches)f(ar)o(e)330 2398 y(also)c(mor)o(e)g(suitable)g(for)f(a)h Fu(lazy)f Fv(implementation)i(of)f(the)g(subset)h(constr)o(uction)g(algorithm)330 2498 y(\(in)d(such)g(a)f(lazy)g(implementation)i(subsets)f(ar)o(e)f (only)h(computed)g(with)h(r)o(espect)d(to)i(a)g(given)330 2597 y(input)f(string\).)479 2697 y(The)i Fu(per)f(subset)i Fv(and)e(the)g Fu(per)h(state)f Fv(algorithms)i(use)e(a)g(simpli\002ed) h(variant)f(of)g(the)h(tran-)330 2797 y(sitive)g(closur)o(e)g (algorithm)h(for)f(graphs.)g(Instead)f(of)i(computing)g(the)f (transitive)g(closur)o(e)g(of)330 2896 y(a)i(given)i(graph,)e(this)i (algorithm)f(only)h(computes)g(the)f(closur)o(e)f(for)h(a)f(given)i (set)f(of)f(states.)330 2996 y(Such)c(an)f(algorithm)i(is)f(given)g(in) g(\002gur)o(e)f(4.)479 3095 y(In)i(both)g(of)f(the)g(two)h(integrated)f (appr)o(oaches,)e(the)i(subset)h(constr)o(uction)h(algorithm)f(is)330 3195 y(initialised)k(with)g(an)f(agenda)f(containing)i(a)f(single)h (subset)f(which)h(is)g(the)f Ft(\017)p Fv(-CLOSURE)f(of)330 3295 y(the)h(set)f(of)g(start-states)g(of)g(the)h(input;)g(furthermor)o (e,)e(the)i(way)f(in)h(which)g(new)g(transitions)330 3394 y(ar)o(e)j(computed)i(also)g(takes)f(the)h(ef)o(fect)e(of)i Ft(\017)p Fv(-moves)f(into)i(account.)e(Both)h(dif)o(fer)o(ences)d(ar)o (e)330 3494 y(accounted)20 b(for)h(by)g(an)f(alternative)g (de\002nition)i(of)f(the)f Fu(epsilon)p 2339 3494 25 4 v 31 w(closur)o(e)h Fv(function.)479 3594 y(The)c(appr)o(oach)d(in)j (which)g(the)f(transitive)g(closur)o(e)g(is)h(computed)f(for)g(one)h (state)e(at)h(a)g(time)330 3693 y(is)25 b(de\002ned)e(by)h(the)h (following)g(de\002nition)h(of)e(the)g Fu(epsilon)p 2210 3693 V 30 w(closur)o(e)h Fv(function.)g(Note)f(that)g(we)330 3793 y(make)c(sur)o(e)g(that)h(the)g(transitive)f(closur)o(e)h (computation)g(is)g(only)h(performed)d(once)i(for)g(each)330 3892 y(input)f(state,)e(by)i(memorising)g(the)g Fu(closur)o(e)f Fv(function;)h(the)g(full)f(computation)h(is)g(memorised)330 3992 y(as)g(well.)626 3960 y Fn(4)p Black Black Black 330 4258 a Fs(funct)p Black 330 4271 199 4 v 20 w Ff(epsilon)p 820 4258 25 4 v 31 w(closur)o(e)6 b Fj(\()p Ft(U)j Fj(\))1405 b Fv(variant)20 b(2:)g(per)g(state)p Black 413 4357 a Fs(return)p Black 413 4370 236 4 v 20 w Ff(memo)7 b Fj(\()939 4295 y Fe(S)1009 4382 y Fi(u)p Fl(2)p Fi(U)1162 4357 y Ff(memo)g Fj(\()p Ff(closur)o(e)g Fj(\()p Fk(f)p Ft(u)p Fk(g)p Fj(\)\)\))p Black 330 4457 a Fs(end)p Black 330 4470 143 4 v 479 4623 a Fv(In)23 b(the)g(case)f(of)h(the)g Fu(per)g(subset)h Fv(appr)o(oach,)d(the)i(closur)o(e)f(algorithm)i(is)f (applied)e(to)j(each)330 4723 y(subset.)f(W)-8 b(e)24 b(also)f(memorise)h(the)g(closur)o(e)f(function,)h(in)g(or)o(der)e(to)i (ensur)o(e)e(that)i(the)f(closur)o(e)330 4822 y(computation)j(is)f (performed)f(only)h(once)g(for)g(each)f(subset.)h(This)g(can)g(be)f (useful)h(since)g(the)330 4922 y(same)d(subset)h(can)f(be)g(generated)g (many)g(times)h(during)g(subset)g(constr)o(uction.)h(The)e(de\002ni-) 330 5022 y(tion)g(simply)f(is:)p Black Black Black 330 5287 a Fs(funct)p Black 330 5300 199 4 v 20 w Ff(epsilon)p 820 5287 25 4 v 31 w(closur)o(e)6 b Fj(\()p Ft(U)j Fj(\))1343 b Fv(variant)20 b(3:)g(per)g(subset)p Black 330 5457 1495 4 v 373 5535 a Fp(4)d(This)f(is)i(an)e(impr)o(ovement)f(over)h (the)g(algorithm)h(given)f(in)g(a)h(pr)o(eliminary)g(version)g(of)g (this)f(paper)h(\(van)423 5610 y(Noor)o(d,)g(1998\).)p Black Black 3288 5944 a Fv(7)p Black eop %%Page: 8 8 8 7 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black Black 413 357 a Fs(return)p Black 413 370 236 4 v 20 w Ff(memo)7 b Fj(\()p Ff(closur)o(e)g Fj(\()p Ft(U)i Fj(\)\))p Black 330 457 a Fs(end)p Black 330 470 143 4 v 479 606 a Fv(The)17 b(motivation)h(for)f(the)g Fu(per)g(state)f Fv(variant)g(is)h(the)g (insight)i(that)d(in)i(this)f(case)f(the)h(closur)o(e)330 706 y(algorithm)31 b(is)g(called)e(at)h(most)i Fk(j)p Ft(Q)p Fk(j)e Fv(times.)h(In)f(contrast,)g(in)h(the)g Fu(per)f(subset)i Fv(appr)o(oach)d(the)330 806 y(transitive)c(closur)o (e)f(algorithm)i(may)f(need)f(to)i(be)e(called)g Fj(2)2258 776 y Fl(j)p Fi(Q)p Fl(j)2379 806 y Fv(times.)h(On)g(the)g(other)g (hand,)330 905 y(in)19 b(the)f Fu(per)g(state)g Fv(appr)o(oach)f(some)h (over)o(head)f(must)i(be)f(accepted)e(for)i(computing)i(the)e(union)330 1005 y(of)27 b(the)g(r)o(esults)f(for)h(each)f(state.)g(Mor)o(eover)-6 b(,)26 b(in)h(practice)f(the)h(number)g(of)f(subsets)i(is)f(often)330 1105 y(much)c(smaller)f(than)h Fj(2)1084 1074 y Fl(j)p Fi(Q)p Fl(j)1179 1105 y Fv(.)g(In)f(some)h(cases,)f(the)h(number)f(of)h (r)o(eachable)d(subsets)j(is)g(smaller)330 1204 y(than)e(the)g(number)g (of)g(states)f(encounter)o(ed)g(in)h(those)h(subsets.)330 1403 y Fs(3.3)e(Implementation)330 1503 y Fv(In)f(or)o(der)f(to)i (implement)g(the)f(algorithms)h(ef)o(\002ciently)f(in)h(Pr)o(olog,)f (it)g(is)h(important)f(to)h(use)f(ef-)330 1603 y(\002cient)g(data-str)o (uctur)o(es.)e(In)i(particular)-6 b(,)17 b(we)i(use)g(an)g (implementation)h(of)e(\(non-updatable\))330 1702 y(arrays)h(based)g (on)i(the)f(N+K)h(tr)o(ees)e(of)h(O'Keefe)g(\(1990,)e(pp.142-145\))e (with)21 b(N=95)e(and)h(K=32.)330 1802 y(On)f(top)f(of)g(this)g (datastr)o(uctur)o(e,)e(a)i(hash)g(array)f(is)h(implemented)g(using)h (the)f(SICStus)g(library)330 1902 y(pr)o(edicate)23 b Fb(term)p 901 1902 25 4 v 29 w(hash/4)g Fv(which)j(constr)o(ucts)f(a)f (key)h(for)f(a)g(given)h(term.)f(In)h(such)g(hashes,)330 2001 y(a)h(value)f(in)i(the)g(underlying)f(array)f(is)i(a)f(partial)f (list)i(of)f(key-value)g(pairs;)f(thus)i(collisions)330 2101 y(ar)o(e)22 b(r)o(esolved)h(by)h(chaining.)g(This)g(pr)o(ovides)f (ef)o(\002cient)g(access)g(in)i(practice,)d(although)j(such)330 2200 y(arrays)17 b(ar)o(e)f(quite)j(memory-intensive:)f(car)o(e)e(must) j(be)e(taken)h(to)g(ensur)o(e)g(that)f(the)h(determin-)330 2300 y(istic)f(algorithms)h(indeed)e(ar)o(e)f(implemented)i(without)h (intr)o(oducing)f(choice-points)h(during)330 2400 y(r)o(untime.)330 2599 y Fs(4)i(Experiments)330 2798 y Fv(T)-7 b(wo)22 b(sets)f(of)h(experiments)f(have)g(been)h(performed.)e(In)i(the)g (\002rst)f(set)h(of)g(experiments,)f(ran-)330 2898 y(dom)33 b(automata)e(ar)o(e)g(generated)g(accor)o(ding)h(to)g(a)g(number)g(of)h (criteria)e(based)g(on)i(Leslie)330 2997 y(\(1995\).)13 b(In)j(the)g(second)g(set)g(of)f(experiments,)h(r)o(esults)f(ar)o(e)g (pr)o(ovided)f(for)i(a)f(number)h(of)g(\(much)330 3097 y(lar)o(ger\))i(automata)h(that)h(surfaced)f(during)h(actual)f (development)g(work)i(on)f(\002nite-state)g(ap-)330 3197 y(pr)o(oximation)h(techniques.)1241 3165 y Fn(5)330 3396 y Fu(Random)34 b(automata.)d Fv(Firstly)-9 b(,)35 b(we)g(r)o(eport)g (on)g(a)g(number)g(of)g(experiments)g(for)g(randomly)330 3496 y(generated)30 b(automata.)g(Following)j(Leslie)d(\(1995\),)e(the) j Fu(absolute)h(transition)f(density)f Fv(of)h(an)330 3595 y(automaton)g(is)f(de\002ned)g(as)f(the)i(number)f(of)g (transitions)h(divided)e(by)h(the)g(squar)o(e)g(of)g(the)330 3695 y(number)25 b(of)f(states)h(multiplied)g(by)g(the)f(number)h(of)g (symbols)h(\(i.e.)d(the)i(number)g(of)f(transi-)330 3794 y(tions)19 b(divided)e(by)i(the)f(maximum)g(number)h(of)f(`possible')h (transitions,)g(or)-6 b(,)17 b(in)i(other)f(wor)o(ds,)330 3894 y(the)k(pr)o(obability)f(that)h(a)f(possible)i(transition)f(in)h (fact)e(exists\).)g Fu(Deterministic)h(transition)f(den-)330 3994 y(sity)f Fv(is)h(the)g(number)g(of)g(transitions)h(divided)e(by)h (the)g(number)f(of)h(states)g(multiplied)g(by)g(the)330 4093 y(number)26 b(of)g(symbols)h(\(i.e.)e(the)i(ratio)e(of)h(the)h (number)f(of)g(transitions)h(and)e(the)i(maximum)330 4193 y(number)21 b(of)g(`possible')g(transitions)h(in)f(a)g (deterministic)g(machine\).)479 4293 y(In)28 b(both)g(of)f(these)g (de\002nitions,)h(the)f(number)h(of)f(transitions)h(should)g(be)f (understood)330 4392 y(as)f(the)g(the)h(number)f(of)h(non-duplicate)f (transitions)h(which)g(do)g(not)g(lead)e(to)i(a)f(sink)h(state.)330 4492 y(A)c(sink)h(state)f(is)h(a)f(state)g(fr)o(om)g(which)h(ther)o(e)f (exists)g(no)i(sequence)e(of)h(transitions)g(to)g(a)f(\002nal)330 4591 y(state.)g(In)g(the)h(randomly)f(generated)g(automata,)f(states)h (ar)o(e)f(accessible)h(and)g(co-accessible)330 4691 y(by)e(constr)o (uction;)h(sink)g(states)e(and)h(associated)f(transitions)h(ar)o(e)f (not)h(r)o(epr)o(esented.)479 4791 y(Leslie)g(\(1995\))e(shows)k(that)e Fu(deterministic)g(transition)g(density)g Fv(is)g(a)g(r)o(eliable)f (measur)o(e)g(for)330 4890 y(the)k(dif)o(\002culty)g(of)g(subset)h (constr)o(uction.)g(Exponential)g(blow-up)f(can)g(be)g(expected)f(for)h (in-)330 4990 y(put)34 b(automata)e(with)j(deterministic)f(transition)g (density)g(of)f(ar)o(ound)g(2.)2753 4958 y Fn(6)2820 4990 y Fv(He)h(concludes)330 5090 y(\(page)20 b(66\):)p Black Black 629 5252 a([.)12 b(.)g(.)g(])27 b(randomly)g(generated)f (automata)g(exhibit)i(the)f(maximum)g(execu-)p Black 330 5413 1495 4 v 373 5491 a Fp(5)17 b(All)g(the)f(automata)g(used)g (in)h(the)f(experiments)g(ar)o(e)g(fr)o(eely)h(available)g(fr)o(om)423 5566 y(http://www)-6 b(.let.r)o(ug.nl/\230vannoor)o(d/Fsa/.)373 5637 y(6)17 b(Leslie)g(uses)f(the)g(terms)g Fh(absolute)i(density)f Fp(and)f Fh(deterministic)h(density)p Fp(.)p Black Black 3288 5944 a Fv(8)p Black eop %%Page: 9 9 9 8 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black Black 330 1687 a 23681433 16577003 3289088 3289088 26970521 19866091 startTexFig 330 1687 a %%BeginDocument: dts25n.ps /gnudict 40 dict def gnudict begin /Color false def /Solid true def /gnulinewidth 5.000 def /vshift -60 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /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 /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def /C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def /S { 2 copy A C} def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray /Palatino-Roman findfont 180 scalefont setfont newpath LTa LTb 1080 451 M 63 0 V 5778 0 R -63 0 V 972 451 M (1) Rshow 1080 677 M 31 0 V 5810 0 R -31 0 V 1080 975 M 31 0 V 5810 0 R -31 0 V 1080 1128 M 31 0 V 5810 0 R -31 0 V -5810 73 R 63 0 V 5778 0 R -63 0 V -5886 0 R (10) Rshow 1080 1426 M 31 0 V 5810 0 R -31 0 V 1080 1725 M 31 0 V 5810 0 R -31 0 V 1080 1878 M 31 0 V 5810 0 R -31 0 V -5810 72 R 63 0 V 5778 0 R -63 0 V -5886 0 R (100) Rshow 1080 2176 M 31 0 V 5810 0 R -31 0 V 1080 2474 M 31 0 V 5810 0 R -31 0 V 1080 2627 M 31 0 V 5810 0 R -31 0 V -5810 73 R 63 0 V 5778 0 R -63 0 V -5886 0 R (1000) Rshow 1080 2926 M 31 0 V 5810 0 R -31 0 V 1080 3224 M 31 0 V 5810 0 R -31 0 V 1080 3377 M 31 0 V 5810 0 R -31 0 V -5810 73 R 63 0 V 5778 0 R -63 0 V -5886 0 R (10000) Rshow 1080 3675 M 31 0 V 5810 0 R -31 0 V 1080 3974 M 31 0 V 5810 0 R -31 0 V 1080 4127 M 31 0 V 5810 0 R -31 0 V -5810 72 R 63 0 V 5778 0 R -63 0 V -5886 0 R (100000) Rshow 1080 4425 M 31 0 V 5810 0 R -31 0 V 1080 4723 M 31 0 V 5810 0 R -31 0 V 1080 4876 M 31 0 V 5810 0 R -31 0 V -5810 73 R 63 0 V 5778 0 R -63 0 V -5886 0 R (1e+06) Rshow 1479 451 M 0 31 V 0 4467 R 0 -31 V 2042 451 M 0 31 V 0 4467 R 0 -31 V 2441 451 M 0 31 V 0 4467 R 0 -31 V 2751 451 M 0 31 V 0 4467 R 0 -31 V 3004 451 M 0 31 V 0 4467 R 0 -31 V 3217 451 M 0 31 V 0 4467 R 0 -31 V 3403 451 M 0 31 V 0 4467 R 0 -31 V 3566 451 M 0 31 V 0 4467 R 0 -31 V 3712 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1) Cshow 4674 451 M 0 31 V 0 4467 R 0 -31 V 5237 451 M 0 31 V 0 4467 R 0 -31 V 5636 451 M 0 31 V 0 4467 R 0 -31 V 5945 451 M 0 31 V 0 4467 R 0 -31 V 6198 451 M 0 31 V 0 4467 R 0 -31 V 6412 451 M 0 31 V 0 4467 R 0 -31 V 6598 451 M 0 31 V 0 4467 R 0 -31 V 6761 451 M 0 31 V 0 4467 R 0 -31 V 6907 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (10) Cshow 1080 451 M 5841 0 V 0 4498 V -5841 0 V 0 -4498 V 180 2700 M currentpoint gsave translate 90 rotate 0 0 M (CPU-time \(msec\) / Number of States \(input+output\)) Cshow grestore 4000 91 M (Deterministic Density) Cshow LT0 6318 4706 M (fsa) Rshow 6534 4706 D 1479 1070 D 2042 1558 D 2441 1950 D 2751 2617 D 3004 2859 D 3217 3229 D 3403 3308 D 3566 3601 D 3712 3914 D 3845 4026 D 3965 4198 D 4076 4274 D 4179 4434 D 4364 4541 D 5369 4438 D 5636 3841 D 5945 3431 D 6412 2687 D 6907 2481 D LT1 6318 4526 M (fsm) Rshow 6534 4526 A 1479 1070 A 2042 1426 A 2441 1558 A 2751 2151 A 3004 2418 A 3217 2849 A 3403 2950 A 3566 3316 A 3712 3676 A 3845 3813 A 3965 3982 A 4076 4049 A 4179 4262 A 4364 4332 A 5369 4329 A 5636 3756 A 5945 3371 A 6412 2693 A 6907 2499 A LT2 6318 4346 M (states) Rshow 6534 4346 B 1479 1624 B 2042 2067 B 2441 2350 B 2751 2865 B 3004 3043 B 3217 3348 B 3403 3412 B 3566 3624 B 3712 3893 B 3845 3981 B 3965 4106 B 4076 4154 B 4179 4314 B 4364 4359 B 5369 4018 B 5636 3372 B 5945 2909 B 6412 2125 B 6907 1905 B stroke grestore end showpage %%EndDocument endTexFig 330 3871 a Fd(Figure)f(5)330 3954 y Fo(Deterministic)g(transition)h (density)f(versus)g(CPU-time)g(in)h(msec.)f(The)h(input)g(automata)h (have)g(25)330 4037 y(states,)f(15)g(symbols,)e(and)i(no)g Fa(\017)p Fo(-moves.)f Fc(fsa)h Fo(r)o(epr)o(esents)d(the)k(CPU-time)e (r)o(equir)o(ed)e(by)j(our)f(FSA6)330 4120 y(implementation;)h Fc(fsm)g Fo(r)o(epr)o(esents)d(the)j(CPU-time)g(r)o(equir)o(ed)d(by)i (A)-6 b(T&T's)19 b(FSM)f(library;)f Fc(states)330 4203 y Fo(r)o(epr)o(esents)g(the)i(sum)f(of)h(the)g(number)g(of)f(states)h (of)f(the)i(input)f(and)g(output)g(automata.)p Black Black 3288 5944 a Fv(9)p Black eop %%Page: 10 10 10 9 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black 629 357 a Fv(tion)k(time,)f(and)g(the)h(maximum)g(number)f(of)h(states,)e(at)h (an)h(appr)o(oximate)629 457 y(deterministic)c(density)g(of)f(2.)g (Most)h(of)f(the)h(ar)o(ea)d(under)i(the)h(curve)f(occurs)629 556 y(within)k(0.5)e(and)h(2.5)f(deterministic)i(density\227this)g(is)g (the)f(ar)o(ea)f(in)h(which)629 656 y(subset)g(constr)o(uction)h(is)f (expensive.)629 789 y Fs(Conjecture.)d Fv(For)i(a)g(given)h(NF)-6 b(A,)19 b(we)h(can)g(compute)h(the)f(expected)f(num-)629 888 y(bers)g(of)g(states)g(and)g(transitions)i(in)f(the)f(corr)o (esponding)g(DF)-6 b(A,)19 b(pr)o(oduced)629 988 y(by)g(subset)g (constr)o(uction,)h(fr)o(om)f(the)g(deterministic)g(density)g(of)g(the) g(NF)-6 b(A.)629 1088 y(In)18 b(addition,)g(this)h(functional)f(r)o (elationship)g(gives)h(rise)f(to)g(a)g(Poisson-like)629 1187 y(curve)i(with)i(its)f(peak)f(appr)o(oximately)f(at)i(a)f (deterministic)h(density)g(of)g(2.)479 1370 y(A)h(number)h(of)f (automata)f(wer)o(e)g(generated)g(randomly)-9 b(,)22 b(accor)o(ding)g(to)g(the)h(number)f(of)330 1469 y(states,)32 b(symbols,)g(and)g(transition)h(density)-9 b(.)32 b(For)g(the)g (\002rst)g(experiment,)g(automata)f(wer)o(e)330 1569 y(generated)i(consisting)j(of)e(15)f(symbols,)i(25)e(states,)g(and)h (various)g(densities)g(\(and)f(no)i Ft(\017)p Fv(-)330 1669 y(moves\).)22 b(The)f(r)o(esults)g(ar)o(e)g(summarised)g(in)h (\002gur)o(e)g(5.)e(CPU-time)i(was)f(measur)o(ed)f(on)j(a)e(HP)330 1768 y(9000/785)c(machine)j(r)o(unning)h(HP-UX)f(10.20.)d(Note)j(that)g (our)g(timings)h(do)f(not)g(include)g(the)330 1868 y(start-up)g(of)h (the)g(Pr)o(olog)g(engine,)g(nor)g(the)g(time)g(r)o(equir)o(ed)e(for)i (garbage)e(collection.)479 1968 y(In)26 b(or)o(der)d(to)j(establish)f (that)f(the)h(dif)o(fer)o(ences)e(we)i(obtain)g(later)f(ar)o(e)g (genuinely)h(due)g(to)330 2067 y(dif)o(fer)o(ences)30 b(in)k(the)e(underlying)i(algorithm,)f(and)f(not)i(due)e(to)h (`accidental')f(implemen-)330 2167 y(tation)h(details,)g(we)g(have)f (compar)o(ed)g(our)h(implementation)h(with)g(the)f(determiniser)g(of) 330 2267 y(A)-6 b(T&T's)30 b(FSM)f(utilities)i(\(Mohri,)f(Per)o(eira,)f (and)h(Riley)-9 b(,)31 b(1998\).)d(For)i(automata)g(without)i Ft(\017)p Fv(-)330 2366 y(moves)19 b(we)f(establish)g(that)g(FSM)f (normally)i(is)f(faster:)f(for)h(automata)f(with)i(very)e(small)i (tran-)330 2466 y(sition)24 b(densities)g(FSM)f(is)g(up)g(to)h(four)f (times)h(as)f(fast,)f(for)h(automata)g(with)h(lar)o(ger)e(densities)330 2565 y(the)f(r)o(esults)f(ar)o(e)g(similar)-6 b(.)479 2665 y(A)27 b(new)g(concept)g(called)g Fu(absolute)g(jump)f(density)h Fv(is)g(intr)o(oduced)g(to)g(specify)g(the)g(num-)330 2765 y(ber)h(of)g Ft(\017)p Fv(-moves.)g(It)g(is)h(de\002ned)e(as)h (the)h(number)f(of)g Ft(\017)p Fv(-moves)g(divided)g(by)g(the)g(squar)o (e)g(of)330 2864 y(the)c(number)h(of)f(states)g(\(i.e.,)f(the)h(pr)o (obability)g(that)g(an)g Ft(\017)p Fv(-move)g(exists)g(for)g(a)g(given) g(pair)g(of)330 2964 y(states\).)i(Furthermor)o(e,)h Fu(deterministic)g(jump)g(density)f Fv(is)i(the)f(number)h(of)f Ft(\017)p Fv(-moves)g(divided)330 3064 y(by)d(the)g(number)g(of)g (states)g(\(i.e.,)f(the)h(average)e(number)i(of)g Ft(\017)p Fv(-moves)g(which)h(leave)e(a)h(given)330 3163 y(state\).)j(In)i(or)o (der)e(to)i(measur)o(e)e(the)i(dif)o(fer)o(ences)d(between)i(the)g(thr) o(ee)g(implementations,)h(a)330 3263 y(number)g(of)f(automata)g(has)h (been)f(generated)f(consisting)k(of)d(15)g(states)g(and)g(15)g (symbols,)330 3362 y(using)33 b(various)f(transition)h(densities)g (between)f(0.01)e(and)i(0.3)f(\(for)g(lar)o(ger)g(densities)i(the)330 3462 y(automata)d(tend)g(to)h(collapse)f(to)h(an)f(automaton)h(for)g Fj(\006)2184 3432 y Fl(\003)2222 3462 y Fv(\).)e(For)i(each)f(of)h (these)f(transition)330 3562 y(densities,)19 b(deterministic)h(jump)g (densities)g(wer)o(e)e(chosen)i(in)g(the)f(range)g(0)g(to)h(2.5)e (\(again,)g(for)330 3661 y(lar)o(ger)f(values)g(the)h(automata)f(tend)h (to)g(collapse\).)f(In)h(\002gur)o(es)g(6)f(to)36 b(9)17 b(the)h(outcomes)h(of)f(these)330 3761 y(experiments)j(ar)o(e)g (summarised)g(by)h(listing)h(the)f(average)e(amount)i(of)f(CPU-time)g (r)o(equir)o(ed)330 3861 y(per)k(deterministic)g(jump)h(density)f (\(for)g(each)f(of)h(the)g(algorithms\),)h(using)g(automata)e(with)330 3960 y(15,)16 b(20,)h(25)g(and)g(100)f(states)h(r)o(espectively)-9 b(.)17 b(Thus,)g(every)h(dot)f(r)o(epr)o(esents)g(the)g(average)f(for)i (de-)330 4060 y(terminising)k(a)d(number)i(of)f(dif)o(fer)o(ent)e (input)j(automata)f(with)h(various)f(absolute)g(transition)330 4159 y(densities)h(and)f(the)h(same)g(deterministic)g(jump)g(density)-9 b(.)479 4259 y(The)18 b(striking)g(aspect)e(of)i(these)f(experiments)g (is)g(that)h(the)f(integrated)g Fu(per)g(subset)h Fv(and)f Fu(per)330 4359 y(state)h Fv(variants)f(ar)o(e)g(much)i(mor)o(e)f(ef)o (\002cient)f(for)h(lar)o(ger)f(deterministic)h(jump)h(density)-9 b(.)18 b(The)g Fu(per)330 4458 y(graph)525 4428 y Fi(t)579 4458 y Fv(is)27 b(typically)g(the)g(fastest)f(algorithm)h(of)f(the)h (non-integrated)g(versions.)g(However)-6 b(,)330 4558 y(in)26 b(these)g(experiments)g(all)g(states)f(in)i(the)e(input)i(ar)o (e)d(co-accessible)h(by)h(constr)o(uction;)h(and)330 4658 y(mor)o(eover)-6 b(,)26 b(all)g(states)h(in)g(the)g(input)g(ar)o (e)f(\002nal)h(states.)f(Ther)o(efor)o(e,)f(the)i(advantages)e(of)i (the)330 4757 y Fu(per)21 b(graph)652 4727 y Fi(t;c)750 4757 y Fv(algorithm)g(could)g(not)h(be)e(observed)g(her)o(e.)479 4857 y(The)30 b(turning)g(point)h(is)e(ar)o(ound)g(a)g(deterministic)h (jump)g(density)g(of)f(ar)o(ound)g(0.8:)f(for)330 4956 y(smaller)f(densities)g(the)f Fu(per)h(graph)1448 4926 y Fi(t)1503 4956 y Fv(is)g(typically)g(slightly)h(faster;)d(for)h(lar)o (ger)g(densities)h(the)330 5056 y Fu(per)19 b(state)g Fv(algorithm)g(is)g(much)h(faster)-6 b(.)17 b(For)j(densities)f(beyond) g(1.5,)e(the)i Fu(per)g(subset)h Fv(algorithm)330 5156 y(tends)25 b(to)g(perform)g(better)f(than)h(the)g Fu(per)g(state)f Fv(algorithm.)i(Inter)o(estingly)-9 b(,)24 b(this)i(generalisa-)330 5255 y(tion)i(is)g(supported)f(by)h(the)g(experiments)f(on)h(automata)f (which)h(wer)o(e)f(generated)f(by)i(ap-)330 5355 y(pr)o(oximation)k (techniques)g(\(although)h(the)e(r)o(esults)h(for)f(randomly)h (generated)f(automata)330 5455 y(ar)o(e)19 b(mor)o(e)i(consistent)h (than)f(the)g(r)o(esults)f(for)h(`r)o(eal')e(examples\).)p Black 3247 5944 a(10)p Black eop %%Page: 11 11 11 10 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black Black 330 413 a 23681433 16577003 3289088 3289088 26970521 19866091 startTexFig 330 413 a %%BeginDocument: 15n.ps /gnudict 40 dict def gnudict begin /Color false def /Solid true def /gnulinewidth 5.000 def /vshift -60 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /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 /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def /C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def /S { 2 copy A C} def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray /Palatino-Roman findfont 180 scalefont setfont newpath LTa 1080 451 M 0 4498 V LTb 1080 451 M 63 0 V 5778 0 R -63 0 V 972 451 M (10) Rshow 1080 902 M 31 0 V 5810 0 R -31 0 V 1080 1166 M 31 0 V 5810 0 R -31 0 V 1080 1354 M 31 0 V 5810 0 R -31 0 V 1080 1499 M 31 0 V 5810 0 R -31 0 V 1080 1618 M 31 0 V 5810 0 R -31 0 V 1080 1718 M 31 0 V 5810 0 R -31 0 V -5810 87 R 31 0 V 5810 0 R -31 0 V -5810 77 R 31 0 V 5810 0 R -31 0 V -5810 68 R 63 0 V 5778 0 R -63 0 V -5886 0 R (100) Rshow 1080 2402 M 31 0 V 5810 0 R -31 0 V 1080 2666 M 31 0 V 5810 0 R -31 0 V 1080 2853 M 31 0 V 5810 0 R -31 0 V 1080 2998 M 31 0 V 5810 0 R -31 0 V 1080 3117 M 31 0 V 5810 0 R -31 0 V 1080 3217 M 31 0 V 5810 0 R -31 0 V -5810 87 R 31 0 V 5810 0 R -31 0 V -5810 77 R 31 0 V 5810 0 R -31 0 V -5810 69 R 63 0 V 5778 0 R -63 0 V -5886 0 R (1000) Rshow 1080 3901 M 31 0 V 5810 0 R -31 0 V 1080 4165 M 31 0 V 5810 0 R -31 0 V 1080 4352 M 31 0 V 5810 0 R -31 0 V 1080 4498 M 31 0 V 5810 0 R -31 0 V 1080 4616 M 31 0 V 5810 0 R -31 0 V 1080 4717 M 31 0 V 5810 0 R -31 0 V -5810 87 R 31 0 V 5810 0 R -31 0 V -5810 76 R 31 0 V 5810 0 R -31 0 V -5810 69 R 63 0 V 5778 0 R -63 0 V -5886 0 R (10000) Rshow 1080 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0) Cshow 2087 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0.5) Cshow 3094 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1) Cshow 4101 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1.5) Cshow 5108 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (2) Cshow 6115 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (2.5) Cshow 1080 451 M 5841 0 V 0 4498 V -5841 0 V 0 -4498 V 180 2700 M currentpoint gsave translate 90 rotate 0 0 M (Mean CPU-time \(msec\)) Cshow grestore 4000 91 M (#Jumps/#States) Cshow LT0 6318 4706 M (per_graph\(t\)) Rshow 6426 4706 M 324 0 V 1483 4047 M 403 -642 V 402 -251 V 403 -554 V 403 -290 V 403 -369 V 403 -96 V 403 -279 V 402 -212 V 403 0 V 403 171 V 403 -26 V 403 -333 V 403 300 V 6534 4706 D 1483 4047 D 1886 3405 D 2288 3154 D 2691 2600 D 3094 2310 D 3497 1941 D 3900 1845 D 4303 1566 D 4705 1354 D 5108 1354 D 5511 1525 D 5914 1499 D 6317 1166 D 6720 1466 D LT1 6318 4526 M (per_graph\(s\)) Rshow 6426 4526 M 324 0 V 1483 4241 M 403 -505 V 402 -144 V 403 -432 V 403 -243 V 403 -368 V 403 -33 V 403 -372 V 402 -151 V 403 -215 V 403 246 V 403 117 V 403 73 V 403 -248 V 6534 4526 A 1483 4241 A 1886 3736 A 2288 3592 A 2691 3160 A 3094 2917 A 3497 2549 A 3900 2516 A 4303 2144 A 4705 1993 A 5108 1778 A 5511 2024 A 5914 2141 A 6317 2214 A 6720 1966 A LT2 6318 4346 M (per_graph\(s,a\)) Rshow 6426 4346 M 324 0 V 1483 4237 M 403 -497 V 402 -145 V 403 -421 V 403 -224 V 403 -307 V 403 -13 V 403 -218 V 402 -97 V 403 -194 V 403 388 V 403 -82 V 403 6 V 403 67 V 6534 4346 B 1483 4237 B 1886 3740 B 2288 3595 B 2691 3174 B 3094 2950 B 3497 2643 B 3900 2630 B 4303 2412 B 4705 2315 B 5108 2121 B 5511 2509 B 5914 2427 B 6317 2433 B 6720 2500 B LT3 6318 4166 M (per_graph\(t,c\)) Rshow 6426 4166 M 324 0 V 1483 4048 M 403 -635 V 402 -246 V 403 -518 V 403 -233 V 403 -295 V 403 -40 V 403 -111 V 402 -88 V 403 -134 V 403 252 V 403 12 V 403 -130 V 403 145 V 6534 4166 C 1483 4048 C 1886 3413 C 2288 3167 C 2691 2649 C 3094 2416 C 3497 2121 C 3900 2081 C 4303 1970 C 4705 1882 C 5108 1748 C 5511 2000 C 5914 2012 C 6317 1882 C 6720 2027 C LT4 6318 3986 M (per_subset) Rshow 6426 3986 M 324 0 V 1483 4169 M 403 -659 V 402 -271 V 403 -577 V 403 -330 V 403 -424 V 403 -142 V 403 -507 V 4705 955 L 403 -53 V 5511 757 L 403 264 V 403 145 V 6720 715 L 6534 3986 T 1483 4169 T 1886 3510 T 2288 3239 T 2691 2662 T 3094 2332 T 3497 1908 T 3900 1766 T 4303 1259 T 4705 955 T 5108 902 T 5511 757 T 5914 1021 T 6317 1166 T 6720 715 T LT5 6318 3806 M (per_state) Rshow 6426 3806 M 324 0 V 1483 4157 M 403 -663 V 402 -279 V 403 -596 V 403 -311 V 403 -451 V 403 -135 V 403 -508 V 4705 845 L 403 157 V 5511 670 L 403 294 V 403 -62 V 6720 715 L 6534 3806 S 1483 4157 S 1886 3494 S 2288 3215 S 2691 2619 S 3094 2308 S 3497 1857 S 3900 1722 S 4303 1214 S 4705 845 S 5108 1002 S 5511 670 S 5914 964 S 6317 902 S 6720 715 S LT6 6318 3626 M (fsm) Rshow 6426 3626 M 324 0 V 1483 3879 M 403 -448 V 402 -101 V 403 -387 V 403 -188 V 403 -320 V 403 -7 V 403 -448 V 402 -135 V 403 -127 V 403 54 V 403 252 V 403 232 V 403 -612 V stroke grestore end showpage %%EndDocument endTexFig 330 2596 a Fd(Figure)f(6)330 2679 y Fo(A)-7 b(verage)18 b(amount)i(of)e(CPU-time)h(versus)f(jump)h(density)f(for)f(each)j(of)e (the)i(algorithms,)d(and)i(FSM.)330 2762 y(Input)h(automata)g(have)g (15)f(states.)f(Absolute)h(transition)g(densities:)f(0.01-0.3.)p Black Black 330 3128 a 23681433 16577003 3289088 3289088 26970521 19866091 startTexFig 330 3128 a %%BeginDocument: 20n.ps /gnudict 40 dict def gnudict begin /Color false def /Solid true def /gnulinewidth 5.000 def /vshift -60 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /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 /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def /C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def /S { 2 copy A C} def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray /Palatino-Roman findfont 180 scalefont setfont newpath LTa 1080 451 M 0 4498 V LTb 1080 451 M 63 0 V 5778 0 R -63 0 V 972 451 M (10) Rshow 1080 902 M 31 0 V 5810 0 R -31 0 V 1080 1166 M 31 0 V 5810 0 R -31 0 V 1080 1354 M 31 0 V 5810 0 R -31 0 V 1080 1499 M 31 0 V 5810 0 R -31 0 V 1080 1618 M 31 0 V 5810 0 R -31 0 V 1080 1718 M 31 0 V 5810 0 R -31 0 V -5810 87 R 31 0 V 5810 0 R -31 0 V -5810 77 R 31 0 V 5810 0 R -31 0 V -5810 68 R 63 0 V 5778 0 R -63 0 V -5886 0 R (100) Rshow 1080 2402 M 31 0 V 5810 0 R -31 0 V 1080 2666 M 31 0 V 5810 0 R -31 0 V 1080 2853 M 31 0 V 5810 0 R -31 0 V 1080 2998 M 31 0 V 5810 0 R -31 0 V 1080 3117 M 31 0 V 5810 0 R -31 0 V 1080 3217 M 31 0 V 5810 0 R -31 0 V -5810 87 R 31 0 V 5810 0 R -31 0 V -5810 77 R 31 0 V 5810 0 R -31 0 V -5810 69 R 63 0 V 5778 0 R -63 0 V -5886 0 R (1000) Rshow 1080 3901 M 31 0 V 5810 0 R -31 0 V 1080 4165 M 31 0 V 5810 0 R -31 0 V 1080 4352 M 31 0 V 5810 0 R -31 0 V 1080 4498 M 31 0 V 5810 0 R -31 0 V 1080 4616 M 31 0 V 5810 0 R -31 0 V 1080 4717 M 31 0 V 5810 0 R -31 0 V -5810 87 R 31 0 V 5810 0 R -31 0 V -5810 76 R 31 0 V 5810 0 R -31 0 V -5810 69 R 63 0 V 5778 0 R -63 0 V -5886 0 R (10000) Rshow 1080 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0) Cshow 2087 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0.5) Cshow 3094 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1) Cshow 4101 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1.5) Cshow 5108 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (2) Cshow 6115 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (2.5) Cshow 1080 451 M 5841 0 V 0 4498 V -5841 0 V 0 -4498 V 180 2700 M currentpoint gsave translate 90 rotate 0 0 M (Mean CPU-time \(msec\)) Cshow grestore 4000 91 M (#Jumps/#States) Cshow LT0 6318 4706 M (per_graph\(t\)) Rshow 6426 4706 M 324 0 V 1483 4654 M 403 -225 V 402 -601 V 403 -329 V 403 -698 V 403 -215 V 403 -314 V 403 -197 V 402 -197 V 403 143 V 403 -104 V 403 -169 V 403 -78 V 403 187 V 6534 4706 D 1483 4654 D 1886 4429 D 2288 3828 D 2691 3499 D 3094 2801 D 3497 2586 D 3900 2272 D 4303 2075 D 4705 1878 D 5108 2021 D 5511 1917 D 5914 1748 D 6317 1670 D 6720 1857 D LT1 6318 4526 M (per_graph\(s\)) Rshow 6426 4526 M 324 0 V 1483 4822 M 403 -82 V 402 -466 V 403 -276 V 403 -652 V 403 -215 V 403 -273 V 403 -207 V 402 -155 V 403 161 V 403 -123 V 403 13 V 403 -162 V 403 171 V 6534 4526 A 1483 4822 A 1886 4740 A 2288 4274 A 2691 3998 A 3094 3346 A 3497 3131 A 3900 2858 A 4303 2651 A 4705 2496 A 5108 2657 A 5511 2534 A 5914 2547 A 6317 2385 A 6720 2556 A LT2 6318 4346 M (per_graph\(s,a\)) Rshow 6426 4346 M 324 0 V 1483 4817 M 403 -77 V 402 -463 V 403 -278 V 403 -594 V 403 -212 V 403 -197 V 403 -115 V 402 46 V 403 61 V 403 37 V 403 -14 V 403 -438 V 403 493 V 6534 4346 B 1483 4817 B 1886 4740 B 2288 4277 B 2691 3999 B 3094 3405 B 3497 3193 B 3900 2996 B 4303 2881 B 4705 2927 B 5108 2988 B 5511 3025 B 5914 3011 B 6317 2573 B 6720 3066 B LT3 6318 4166 M (per_graph\(t,c\)) Rshow 6426 4166 M 324 0 V 1483 4661 M 403 -221 V 402 -595 V 403 -329 V 403 -604 V 403 -168 V 403 -230 V 403 -53 V 402 -28 V 403 55 V 403 10 V 403 4 V 403 -288 V 403 283 V 6534 4166 C 1483 4661 C 1886 4440 C 2288 3845 C 2691 3516 C 3094 2912 C 3497 2744 C 3900 2514 C 4303 2461 C 4705 2433 C 5108 2488 C 5511 2498 C 5914 2502 C 6317 2214 C 6720 2497 C LT4 6318 3986 M (per_subset) Rshow 6426 3986 M 324 0 V 1483 4760 M 403 -273 V 402 -627 V 403 -339 V 403 -737 V 403 -294 V 403 -358 V 403 -280 V 402 -397 V 403 249 V 403 -274 V 403 -340 V 403 76 V 403 -76 V 6534 3986 T 1483 4760 T 1886 4487 T 2288 3860 T 2691 3521 T 3094 2784 T 3497 2490 T 3900 2132 T 4303 1852 T 4705 1455 T 5108 1704 T 5511 1430 T 5914 1090 T 6317 1166 T 6720 1090 T LT5 6318 3806 M (per_state) Rshow 6426 3806 M 324 0 V 1483 4756 M 403 -275 V 402 -652 V 403 -347 V 403 -752 V 403 -246 V 403 -377 V 403 -268 V 402 -340 V 403 171 V 403 -254 V 403 -326 V 403 177 V 403 58 V 6534 3806 S 1483 4756 S 1886 4481 S 2288 3829 S 2691 3482 S 3094 2730 S 3497 2484 S 3900 2107 S 4303 1839 S 4705 1499 S 5108 1670 S 5511 1416 S 5914 1090 S 6317 1267 S 6720 1325 S LT6 6318 3626 M (fsm) Rshow 6426 3626 M 324 0 V 1483 4510 M 403 21 V 402 -411 V 403 -282 V 403 -577 V 403 -156 V 403 -236 V 403 -269 V 402 -188 V 403 206 V 403 -213 V 403 -37 V 403 0 V 403 -29 V stroke grestore end showpage %%EndDocument endTexFig 330 5311 a Fd(Figure)g(7)330 5394 y Fo(A)-7 b(verage)18 b(amount)i(of)e(CPU-time)h(versus)f(jump)h(density)f(for)f(each)j(of)e (the)i(algorithms,)d(and)i(FSM.)330 5477 y(Input)h(automata)g(have)g (20)f(states.)f(Absolute)h(transition)g(densities:)f(0.01-0.3.)p Black Black 3252 5944 a Fv(1)-5 b(1)p Black eop %%Page: 12 12 12 11 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black Black 330 413 a 23681433 16577003 3289088 3289088 26970521 19866091 startTexFig 330 413 a %%BeginDocument: 25n.ps /gnudict 40 dict def gnudict begin /Color false def /Solid true def /gnulinewidth 5.000 def /vshift -60 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /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 /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def /C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def /S { 2 copy A C} def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray /Palatino-Roman findfont 180 scalefont setfont newpath LTa 1080 451 M 0 4498 V LTb 1080 451 M 63 0 V 5778 0 R -63 0 V 972 451 M (10) Rshow 1080 790 M 31 0 V 5810 0 R -31 0 V 1080 988 M 31 0 V 5810 0 R -31 0 V 1080 1128 M 31 0 V 5810 0 R -31 0 V 1080 1237 M 31 0 V 5810 0 R -31 0 V -5810 89 R 31 0 V 5810 0 R -31 0 V -5810 75 R 31 0 V 5810 0 R -31 0 V -5810 66 R 31 0 V 5810 0 R -31 0 V -5810 57 R 31 0 V 5810 0 R -31 0 V -5810 52 R 63 0 V 5778 0 R -63 0 V -5886 0 R (100) Rshow 1080 1914 M 31 0 V 5810 0 R -31 0 V 1080 2112 M 31 0 V 5810 0 R -31 0 V 1080 2253 M 31 0 V 5810 0 R -31 0 V 1080 2361 M 31 0 V 5810 0 R -31 0 V -5810 90 R 31 0 V 5810 0 R -31 0 V -5810 75 R 31 0 V 5810 0 R -31 0 V -5810 65 R 31 0 V 5810 0 R -31 0 V -5810 58 R 31 0 V 5810 0 R -31 0 V -5810 51 R 63 0 V 5778 0 R -63 0 V -5886 0 R (1000) Rshow 1080 3039 M 31 0 V 5810 0 R -31 0 V 1080 3237 M 31 0 V 5810 0 R -31 0 V 1080 3377 M 31 0 V 5810 0 R -31 0 V 1080 3486 M 31 0 V 5810 0 R -31 0 V -5810 89 R 31 0 V 5810 0 R -31 0 V -5810 75 R 31 0 V 5810 0 R -31 0 V -5810 66 R 31 0 V 5810 0 R -31 0 V -5810 57 R 31 0 V 5810 0 R -31 0 V -5810 52 R 63 0 V 5778 0 R -63 0 V -5886 0 R (10000) Rshow 1080 4163 M 31 0 V 5810 0 R -31 0 V 1080 4361 M 31 0 V 5810 0 R -31 0 V 1080 4502 M 31 0 V 5810 0 R -31 0 V 1080 4610 M 31 0 V 5810 0 R -31 0 V -5810 90 R 31 0 V 5810 0 R -31 0 V -5810 75 R 31 0 V 5810 0 R -31 0 V -5810 65 R 31 0 V 5810 0 R -31 0 V -5810 58 R 31 0 V 5810 0 R -31 0 V -5810 51 R 63 0 V 5778 0 R -63 0 V -5886 0 R (100000) Rshow 1080 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0) Cshow 2087 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0.5) Cshow 3094 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1) Cshow 4101 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1.5) Cshow 5108 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (2) Cshow 6115 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (2.5) Cshow 1080 451 M 5841 0 V 0 4498 V -5841 0 V 0 -4498 V 180 2700 M currentpoint gsave translate 90 rotate 0 0 M (Mean CPU-time \(msec\)) Cshow grestore 4000 91 M (#Jumps/#States) Cshow LT0 6318 4706 M (per_graph\(t\)) Rshow 6426 4706 M 324 0 V 1483 4180 M 403 -175 V 402 -587 V 403 -454 V 403 -359 V 403 -363 V 403 -319 V 403 -68 V 402 -108 V 403 -59 V 403 -32 V 403 17 V 403 9 V 403 77 V 6534 4706 D 1483 4180 D 1886 4005 D 2288 3418 D 2691 2964 D 3094 2605 D 3497 2242 D 3900 1923 D 4303 1855 D 4705 1747 D 5108 1688 D 5511 1656 D 5914 1673 D 6317 1682 D 6720 1759 D LT1 6318 4526 M (per_graph\(s\)) Rshow 6426 4526 M 324 0 V 1483 4351 M 403 -94 V 402 -526 V 403 -351 V 403 -345 V 403 -346 V 403 -376 V 403 -29 V 402 -24 V 403 -50 V 403 -27 V 403 31 V 403 -1 V 403 73 V 6534 4526 A 1483 4351 A 1886 4257 A 2288 3731 A 2691 3380 A 3094 3035 A 3497 2689 A 3900 2313 A 4303 2284 A 4705 2260 A 5108 2210 A 5511 2183 A 5914 2214 A 6317 2213 A 6720 2286 A LT2 6318 4346 M (per_graph\(s,a\)) Rshow 6426 4346 M 324 0 V -5267 6 R 403 -95 V 402 -523 V 403 -347 V 403 -333 V 403 -307 V 403 -269 V 403 35 V 402 14 V 403 34 V 403 -13 V 403 57 V 403 13 V 403 115 V 6534 4346 B 1483 4352 B 1886 4257 B 2288 3734 B 2691 3387 B 3094 3054 B 3497 2747 B 3900 2478 B 4303 2513 B 4705 2527 B 5108 2561 B 5511 2548 B 5914 2605 B 6317 2618 B 6720 2733 B LT3 6318 4166 M (per_graph\(t,c\)) Rshow 6426 4166 M 324 0 V -5267 14 R 403 -175 V 402 -580 V 403 -436 V 403 -335 V 403 -287 V 403 -199 V 403 4 V 402 -37 V 403 2 V 403 -15 V 403 29 V 403 -21 V 403 108 V 6534 4166 C 1483 4180 C 1886 4005 C 2288 3425 C 2691 2989 C 3094 2654 C 3497 2367 C 3900 2168 C 4303 2172 C 4705 2135 C 5108 2137 C 5511 2122 C 5914 2151 C 6317 2130 C 6720 2238 C LT4 6318 3986 M (per_subset) Rshow 6426 3986 M 324 0 V 1483 4211 M 403 -166 V 402 -612 V 403 -477 V 403 -402 V 403 -406 V 403 -417 V 403 -90 V 402 -210 V 403 -137 V 403 -135 V 403 23 V 403 -37 V 403 63 V 6534 3986 T 1483 4211 T 1886 4045 T 2288 3433 T 2691 2956 T 3094 2554 T 3497 2148 T 3900 1731 T 4303 1641 T 4705 1431 T 5108 1294 T 5511 1159 T 5914 1182 T 6317 1145 T 6720 1208 T LT5 6318 3806 M (per_state) Rshow 6426 3806 M 324 0 V 1483 4208 M 403 -175 V 402 -614 V 403 -486 V 403 -401 V 403 -398 V 403 -408 V 403 -90 V 402 -166 V 403 -119 V 403 -105 V 403 22 V 403 22 V 403 12 V 6534 3806 S 1483 4208 S 1886 4033 S 2288 3419 S 2691 2933 S 3094 2532 S 3497 2134 S 3900 1726 S 4303 1636 S 4705 1470 S 5108 1351 S 5511 1246 S 5914 1268 S 6317 1290 S 6720 1302 S LT6 6318 3626 M (fsm) Rshow 6426 3626 M 324 0 V 1483 4200 M 403 -116 V 402 -501 V 403 -296 V 403 -307 V 403 -301 V 403 -366 V 403 -4 V 402 -34 V 403 -163 V 403 -59 V 403 46 V 403 -87 V 403 22 V stroke grestore end showpage %%EndDocument endTexFig 330 2596 a Fd(Figure)f(8)330 2679 y Fo(A)-7 b(verage)17 b(amount)i(of)f(CPU-time)g(versus)f(deterministic)g(jump)h(density)f (for)g(each)i(of)f(the)g(algorithms,)330 2762 y(and)h(FSM.)f(Input)i (automata)g(have)g(25)f(states.)f(Absolute)h(transition)g(densities:)f (0.01-0.3.)p Black Black 330 3128 a 23681433 16577003 3289088 3289088 26970521 19866091 startTexFig 330 3128 a %%BeginDocument: 100n.ps /gnudict 40 dict def gnudict begin /Color false def /Solid true def /gnulinewidth 5.000 def /vshift -60 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /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 /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def /C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def /S { 2 copy A C} def end gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray /Palatino-Roman findfont 180 scalefont setfont newpath LTa 1080 451 M 0 4498 V LTb 1080 451 M 63 0 V 5778 0 R -63 0 V 972 451 M (100) Rshow 1080 902 M 31 0 V 5810 0 R -31 0 V 1080 1166 M 31 0 V 5810 0 R -31 0 V 1080 1354 M 31 0 V 5810 0 R -31 0 V 1080 1499 M 31 0 V 5810 0 R -31 0 V 1080 1618 M 31 0 V 5810 0 R -31 0 V 1080 1718 M 31 0 V 5810 0 R -31 0 V -5810 87 R 31 0 V 5810 0 R -31 0 V -5810 77 R 31 0 V 5810 0 R -31 0 V -5810 68 R 63 0 V 5778 0 R -63 0 V -5886 0 R (1000) Rshow 1080 2402 M 31 0 V 5810 0 R -31 0 V 1080 2666 M 31 0 V 5810 0 R -31 0 V 1080 2853 M 31 0 V 5810 0 R -31 0 V 1080 2998 M 31 0 V 5810 0 R -31 0 V 1080 3117 M 31 0 V 5810 0 R -31 0 V 1080 3217 M 31 0 V 5810 0 R -31 0 V -5810 87 R 31 0 V 5810 0 R -31 0 V -5810 77 R 31 0 V 5810 0 R -31 0 V -5810 69 R 63 0 V 5778 0 R -63 0 V -5886 0 R (10000) Rshow 1080 3901 M 31 0 V 5810 0 R -31 0 V 1080 4165 M 31 0 V 5810 0 R -31 0 V 1080 4352 M 31 0 V 5810 0 R -31 0 V 1080 4498 M 31 0 V 5810 0 R -31 0 V 1080 4616 M 31 0 V 5810 0 R -31 0 V 1080 4717 M 31 0 V 5810 0 R -31 0 V -5810 87 R 31 0 V 5810 0 R -31 0 V -5810 76 R 31 0 V 5810 0 R -31 0 V -5810 69 R 63 0 V 5778 0 R -63 0 V -5886 0 R (100000) Rshow 1080 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0) Cshow 2087 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (0.5) Cshow 3094 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1) Cshow 4101 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (1.5) Cshow 5108 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (2) Cshow 6115 451 M 0 63 V 0 4435 R 0 -63 V 0 -4615 R (2.5) Cshow 1080 451 M 5841 0 V 0 4498 V -5841 0 V 0 -4498 V 180 2700 M currentpoint gsave translate 90 rotate 0 0 M (Mean CPU-time \(msec\)) Cshow grestore 4000 91 M (#Jumps/#States) Cshow LT0 6318 4706 M (per_graph\(t\)) Rshow 6426 4706 M 324 0 V 1483 1826 M 403 888 V 402 958 V 403 -82 V 403 80 V 403 -400 V 403 -466 V 403 -663 V 402 -104 V 403 -65 V 403 -45 V 403 -110 V 403 80 V 403 -28 V 201 -18 V 6534 4706 D 1483 1826 D 1886 2714 D 2288 3672 D 2691 3590 D 3094 3670 D 3497 3270 D 3900 2804 D 4303 2141 D 4705 2037 D 5108 1972 D 5511 1927 D 5914 1817 D 6317 1897 D 6720 1869 D LT1 6318 4526 M (per_graph\(s\)) Rshow 6426 4526 M 324 0 V 1483 1801 M 403 837 V 402 891 V 403 -130 V 403 49 V 403 -324 V 403 -390 V 403 -509 V 402 0 V 403 15 V 403 -85 V 403 -121 V 403 125 V 403 20 V 201 -49 V 6534 4526 A 1483 1801 A 1886 2638 A 2288 3529 A 2691 3399 A 3094 3448 A 3497 3124 A 3900 2734 A 4303 2225 A 4705 2225 A 5108 2240 A 5511 2155 A 5914 2034 A 6317 2159 A 6720 2179 A LT2 6318 4346 M (per_graph\(s,a\)) Rshow 6426 4346 M 324 0 V 1483 1811 M 403 826 V 402 890 V 403 -129 V 403 45 V 403 -325 V 403 -364 V 403 -452 V 402 23 V 403 30 V 403 -58 V 403 -111 V 403 156 V 403 -2 V 201 -40 V 6534 4346 B 1483 1811 B 1886 2637 B 2288 3527 B 2691 3398 B 3094 3443 B 3497 3118 B 3900 2754 B 4303 2302 B 4705 2325 B 5108 2355 B 5511 2297 B 5914 2186 B 6317 2342 B 6720 2340 B LT3 6318 4166 M (per_graph\(t,c\)) Rshow 6426 4166 M 324 0 V 1483 1838 M 403 884 V 402 953 V 403 -85 V 403 78 V 403 -381 V 403 -430 V 403 -528 V 402 -20 V 403 -15 V 403 8 V 403 -83 V 403 138 V 403 -37 V 201 -22 V 6534 4166 C 1483 1838 C 1886 2722 C 2288 3675 C 2691 3590 C 3094 3668 C 3497 3287 C 3900 2857 C 4303 2329 C 4705 2309 C 5108 2294 C 5511 2302 C 5914 2219 C 6317 2357 C 6720 2320 C LT4 6318 3986 M (per_subset) Rshow 6426 3986 M 324 0 V 1483 2037 M 403 854 V 402 885 V 403 -162 V 403 -27 V 403 -529 V 403 -624 V 403 -898 V 402 -203 V 403 -118 V 403 -196 V 5914 752 L 403 14 V 6720 640 L 201 -90 V 6534 3986 T 1483 2037 T 1886 2891 T 2288 3776 T 2691 3614 T 3094 3587 T 3497 3058 T 3900 2434 T 4303 1536 T 4705 1333 T 5108 1215 T 5511 1019 T 5914 752 T 6317 766 T 6720 640 T LT5 6318 3806 M (per_state) Rshow 6426 3806 M 324 0 V 1483 2024 M 403 828 V 402 864 V 403 -185 V 403 -64 V 403 -544 V 403 -584 V 403 -748 V 402 -93 V 403 -53 V 403 -131 V 403 -141 V 403 95 V 403 -29 V 201 -42 V 6534 3806 S 1483 2024 S 1886 2852 S 2288 3716 S 2691 3531 S 3094 3467 S 3497 2923 S 3900 2339 S 4303 1591 S 4705 1498 S 5108 1445 S 5511 1314 S 5914 1173 S 6317 1268 S 6720 1239 S LT6 6318 3626 M (fsm) Rshow 6426 3626 M 324 0 V 1483 869 M 403 1219 V 402 976 V 403 -128 V 403 161 V 403 -161 V 403 -187 V 403 -428 V 402 -6 V 403 19 V 403 -215 V 403 -298 V 403 128 V 403 46 V 201 -205 V stroke grestore end showpage %%EndDocument endTexFig 330 5311 a Fd(Figure)g(9)330 5394 y Fo(A)-7 b(verage)17 b(amount)i(of)f(CPU-time)g(versus)f(deterministic)g(jump)h(density)f (for)g(each)i(of)f(the)g(algorithms,)330 5477 y(and)h(FSM.)f(Input)i (automata)g(have)g(100)f(states.)g(Absolute)f(transition)i(densities:)d (0.001-0.0035.)p Black Black 3247 5944 a Fv(12)p Black eop %%Page: 13 13 13 12 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black 330 357 a Fu(Comparison)30 b(with)g(the)g(FSM)h(library)36 b Fv(W)-8 b(e)31 b(also)g(pr)o(ovide)e(the)i(r)o(esults)f(for)h(A)-6 b(T&T's)29 b(FSM)h(li-)330 457 y(brary)23 b(again.)g(FSM)g(is)h (designed)g(to)g(tr)o(eat)f(weighted)h(automata)f(for)h(very)f(general) g(weight)330 556 y(sets.)g(The)f(initial)i(implementation)g(of)e(the)h (library)f(consisted)i(of)e(an)h(on-the-\003y)g(computa-)330 656 y(tion)j(of)e(the)h(epsilon-closur)o(es)g(combined)g(with)h (determinisation.)f(This)g(was)g(abandoned)330 756 y(for)d(two)g(r)o (easons:)f(it)i(could)f(not)g(be)g(generalised)f(to)h(the)g(case)g(of)g (general)f(weight)i(sets,)e(and)330 855 y(it)g(was)g(not)h(outputting)g (the)f(intermediate)g(epsilon-r)o(emoved)f(machine)i(\(which)f(might)h (be)330 955 y(of)f(inter)o(est)h(in)g(itself\).)e(In)i(the)g(curr)o (ent)e(version)i Ft(\017)p Fv(-moves)g(must)g(be)f(r)o(emoved)g(befor)o (e)f(deter)o(-)330 1054 y(minisation)f(is)g(possible.)f(This)g (mechanism)h(thus)g(is)f(comparable)f(to)h(our)g Fu(per)g(graph)f Fv(variant.)330 1154 y(Appar)o(ently)-9 b(,)22 b(FSM)g(employs)i(an)f (algorithm)h(equivalent)g(to)g(our)f Fu(per)h(graph)2799 1124 y Fi(s;a)2888 1154 y Fv(.)g(The)f(r)o(esult-)330 1254 y(ing)31 b(determinised)f(machines)h(ar)o(e)d(generally)i(lar)o (ger)f(than)i(the)f(machines)h(pr)o(oduced)e(by)330 1353 y(our)c(integrated)f(variants)g(and)g(the)g(variants)g(which)i (incorporate)e Ft(\017)p Fv(-moves)g(on)h(the)g(tar)o(get)330 1453 y(side)c(of)f(transitions.)i(The)f(timings)h(below)f(ar)o(e)e (obtained)i(for)f(the)h(pipe)1083 1631 y Fb(fsmrmepsilon)47 b(|)j(fsmdeterminize)330 1808 y Fv(This)20 b(is)g(somewhat)g(unfair)f (since)h(this)g(includes)g(the)g(time)f(to)h(write)g(and)f(r)o(ead)f (the)h(interme-)330 1908 y(diate)24 b(machine.)h(Even)g(so,)h(it)f(is)g (inter)o(esting)h(to)f(note)h(that)f(the)g(FSM)g(library)f(is)i(a)e (constant)330 2008 y(factor)c(faster)f(than)i(our)g Fu(per)f(graph)1442 1978 y Fi(s;a)1532 2008 y Fv(;)g(for)h(lar)o(ger)e(numbers)i(of)f (jumps)h(the)g Fu(per)g(state)f Fv(and)g Fu(per)330 2107 y(subset)i Fv(variants)e(consistently)i(beat)e(the)h(FSM)f(library)-9 b(.)330 2307 y Fu(Experiment:)28 b(Automata)f(generated)h(by)h(appr)o (oximation)d(algorithms)35 b Fv(The)29 b(automata)f(used)h(in)330 2406 y(the)20 b(pr)o(evious)g(experiments)h(wer)o(e)e(randomly)i (generated.)e(However)-6 b(,)19 b(it)i(may)f(well)h(be)f(that)330 2506 y(in)d(practice)f(the)g(automata)g(that)h(ar)o(e)e(to)i(be)g(tr)o (eated)d(by)j(the)g(algorithm)g(have)f(typical)h(pr)o(oper)o(-)330 2605 y(ties)k(which)h(wer)o(e)e(not)i(r)o(e\003ected)e(in)h(this)h (test)f(data.)f(For)h(this)h(r)o(eason)f(r)o(esults)g(ar)o(e)e(pr)o (esented)330 2705 y(for)f(a)g(number)h(of)f(automata)g(that)g(wer)o(e)f (generated)h(using)h(appr)o(oximation)f(techniques)h(for)330 2805 y(context-fr)o(ee)29 b(grammars.)g(In)i(particular)-6 b(,)28 b(automata)i(have)f(been)h(used)g(which)h(wer)o(e)e(cr)o(e-)330 2904 y(ated)18 b(by)g(Neder)o(hof,)g(using)h(the)g(technique)g (described)f(in)h(Neder)o(hof)e(\(1997\).)f(In)j(addition,)f(a)330 3004 y(small)g(number)g(of)f(automata)g(have)g(been)h(used)f(which)i (wer)o(e)d(cr)o(eated)g(using)i(the)g(technique)330 3104 y(of)f(Per)o(eira)e(and)h(W)-6 b(right)17 b(\(1997\))d(\(as)h (implemented)i(by)g(Neder)o(hof\).)e(W)-8 b(e)16 b(have)h(r)o (estricted)e(our)330 3203 y(attention)21 b(to)h(automata)e(with)h(at)f (least)h(1000)e(states)h(in)i(the)e(input.)479 3303 y(The)k(automata)f (typically)h(contain)g(lots)h(of)e(jumps.)i(Mor)o(eover)-6 b(,)22 b(the)i(number)g(of)f(states)330 3402 y(of)16 b(the)g(r)o(esulting)g(automaton)g(is)h(often)f Fu(smaller)g Fv(than)g(the)g(number)g(of)g(states)g(in)g(the)g(input)h(au-)330 3502 y(tomaton.)j(Results)g(ar)o(e)e(given)h(in)h(the)f(tables)g(1)g (and)g(2.)f(One)i(of)f(the)g(most)h(striking)h(examples)330 3602 y(is)f(the)h Fu(ygrim)e Fv(automaton)h(consisting)i(of)e(3382)e (states)i(and)g(9124)e(jumps.)j(For)f(this)h(example,)330 3701 y(the)i Fu(per)g(graph)f Fv(implementations)j(ran)d(out)i(of)f (memory)h(\(after)d(a)i(long)h(time\),)f(wher)o(eas)f(the)330 3801 y(implementation)h(of)e(the)g Fu(per)h(subset)h Fv(algorithm)f(pr)o(oduced)e(the)h(determinised)h(automaton)330 3901 y(\(containing)28 b(only)g(9)f(states\))f(within)j(a)d(single)i (CPU-second.)e(The)h(FSM)g(implementation)330 4000 y(took)f(much)g (longer)g(for)f(this)h(example)e(\(wher)o(eas)g(for)h(many)g(of)h(the)f (other)h(examples)e(it)i(is)330 4100 y(faster)d(than)h(our)g (implementations\).)h(Note)f(that)f(this)i(example)e(has)h(the)g (highest)h(number)330 4199 y(of)20 b(jumps)h(per)e(number)h(of)g (states)g(ratio.)f(This)h(con\002rms)h(the)f(observation)h(that)e(the)h Fu(per)g(sub-)330 4299 y(set)h Fv(algorithm)h(performs)e(better)g(on)i (inputs)f(with)h(a)e(high)i(deterministic)f(jump)g(density)-9 b(.)330 4498 y Fs(5)20 b(Conclusion)330 4698 y Fv(W)-8 b(e)25 b(have)f(discussed)h(a)g(number)g(of)g(variants)f(of)h(the)g (subset-constr)o(uction)i(algorithm)e(for)330 4797 y(determinising)31 b(\002nite)f(automata)f(containing)j Ft(\017)p Fv(-moves.)d(The)h (experiments)g(support)g(the)330 4897 y(following)22 b(conclusions:)p Black 571 5075 a Fk(\017)p Black 16 w Fv(The)f(integrated)f(variants)g Fu(per)h(subset)h Fv(and)e Fu(per)h(state)f Fv(work)i(much)f(better)f(for)629 5174 y(automata)g(containing)i(a)e(lar)o(ge)g(number)h(of)g Ft(\017)p Fv(-moves.)f(The)h Fu(per)f(subset)i Fv(variant)629 5274 y(tends)f(to)g(impr)o(ove)f(upon)i(the)f Fu(per)f(state)h Fv(algorithm)g(if)g(the)g(number)g(of)g Ft(\017)p Fv(-moves)629 5373 y(incr)o(eases)f(even)g(further)-6 b(.)p Black 571 5538 a Fk(\017)p Black 16 w Fv(W)e(e)21 b(have)f(identi\002ed)h(four)f (dif)o(fer)o(ent)f(variants)h(of)h(the)g Fu(per)g(graph)e Fv(algorithm.)i(In)629 5637 y(our)g(experiments,)f(the)h Fu(per)g(graph)1730 5607 y Fi(t)1779 5637 y Fv(is)g(the)g(algorithm)g (of)g(choice)g(for)g(automata)p Black 3247 5944 a(13)p Black eop %%Page: 14 14 14 13 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black Black 380 705 2900 4 v 378 805 4 100 v 772 805 V 772 805 V 1193 775 a Fv(Input)p 1814 805 V 1814 805 V 1017 w(Output)p 3278 805 V 380 808 2900 4 v 378 908 4 100 v 537 878 a(Id)p 772 908 V 207 w(#states)p 1119 908 V 99 w(#trans)p 1445 908 V 99 w(#jumps)p 1814 908 V 1814 908 V 659 w(#states)p 3278 908 V 1815 911 1465 4 v 378 1007 4 100 v 772 1007 V 1119 1007 V 1445 1007 V 1814 1007 V 1918 977 a Fo(per)e(graph)2243 946 y Fg(s)p 2325 1007 V 2376 977 a Fo(per)h(graph)2702 946 y Fg(t)p 2778 1007 V 2829 977 a Fo(per)g(graph)3155 946 y Fg(t;c)p 3278 1007 V 378 1107 V 772 1107 V 1119 1107 V 1445 1107 V 1814 1107 V 1865 1077 a Fo(per)g(graph)2191 1045 y Fg(s;a)p 2325 1107 V 2391 1077 a Fo(per)g(subset)p 2778 1107 V 3278 1107 V 378 1207 V 772 1207 V 1119 1207 V 1445 1207 V 1814 1207 V 2106 1177 a Fu(FSM)p 2325 1207 V 171 w Fo(per)g(state)p 2778 1207 V 3278 1207 V 380 1210 2900 4 v 378 1310 4 100 v 512 1280 a Fv(g14)p 772 1310 V 262 w(1048)p 1119 1310 V 200 w(403)p 1445 1310 V 201 w(1272)p 1814 1310 V 385 w(137)p 2325 1310 V 327 w(137)p 2778 1310 V 374 w(131)p 3278 1310 V 378 1409 V 446 1379 a(ovis4.n)p 772 1409 V 196 w(1424)p 1119 1409 V 158 w(2210)p 1445 1409 V 243 w(517)p 1814 1409 V 385 w(164)p 2325 1409 V 327 w(133)p 2778 1409 V 374 w(107)p 3278 1409 V 378 1509 V 512 1479 a(g13)p 772 1509 V 262 w(1441)p 1119 1509 V 158 w(1006)p 1445 1509 V 201 w(1272)p 1814 1509 V 385 w(337)p 2325 1509 V 327 w(337)p 2778 1509 V 374 w(329)p 3278 1509 V 378 1608 V 476 1579 a(r)o(ene2)p 772 1608 V 226 w(1800)p 1119 1608 V 158 w(2597)p 1445 1608 V 284 w(96)p 1814 1608 V 386 w(846)p 2325 1608 V 327 w(844)p 2778 1608 V 374 w(844)p 3278 1608 V 378 1708 V 445 1678 a(ovis9.p)p 772 1708 V 195 w(1868)p 1119 1708 V 158 w(2791)p 1445 1708 V 201 w(2688)p 1814 1708 V 344 w(2478)p 2325 1708 V 285 w(2478)p 2778 1708 V 332 w(1386)p 3278 1708 V 378 1808 V 466 1778 a(ygrim)p 772 1808 V 216 w(3382)p 1119 1808 V 158 w(5422)p 1445 1808 V 201 w(9124)p 1814 1808 V 468 w(9)p 2325 1808 V 411 w(9)p 2778 1808 V 458 w(9)p 3278 1808 V 378 1907 V 430 1877 a(ygrim.p)p 772 1907 V 140 w(48062)p 1119 1907 V 116 w(63704)p 1445 1907 V 117 w(109296)p 1814 1907 V 384 w(702)p 2325 1907 V 327 w(702)p 2778 1907 V 374 w(702)p 3278 1907 V 378 2007 V 461 1977 a(java19)p 772 2007 V 168 w(54369)p 1119 2007 V 116 w(28333)p 1445 2007 V 159 w(51018)p 1814 2007 V 343 w(1971)p 2325 2007 V 285 w(1971)p 2778 2007 V 332 w(1855)p 3278 2007 V 378 2107 V 461 2077 a(java16)p 772 2107 V 168 w(64210)p 1119 2107 V 116 w(43935)p 1445 2107 V 159 w(41305)p 1814 2107 V 343 w(3186)p 2325 2107 V 285 w(3186)p 2778 2107 V 332 w(3078)p 3278 2107 V 378 2206 V 460 2176 a(zovis3)p 772 2206 V 168 w(88156)p 1119 2206 V 116 w(78895)p 1445 2206 V 159 w(68093)p 1814 2206 V 343 w(5174)p 2325 2206 V 285 w(5154)p 2778 2206 V 332 w(4182)p 3278 2206 V 378 2306 V 460 2276 a(zovis2)p 772 2306 V 168 w(89832)p 1119 2306 V 116 w(80400)p 1445 2306 V 159 w(69377)p 1814 2306 V 343 w(6561)p 2325 2306 V 285 w(6541)p 2778 2306 V 332 w(5309)p 3278 2306 V 380 2309 2900 4 v 330 2371 a Fd(T)-8 b(able)18 b(1)330 2454 y Fo(The)h(automata)h(generated)e(by)h(appr)o(oximation)e(algorithms.)h (The)h(table)g(lists)f(the)h(number)g(of)f(states,)330 2537 y(transitions)h(and)g(jumps)g(of)f(the)i(input)f(automaton,)h(and) f(the)g(number)g(of)f(states)h(of)g(the)330 2629 y(determinised)e (machine)j(using)e(r)o(espectively)e(the)k Fc(efr)o(ee)1962 2597 y Fg(s)1995 2629 y Fo(,)e Fc(efr)o(ee)2168 2597 y Fg(t)2196 2629 y Fo(,)g(and)h(the)g Fc(efr)o(ee)2636 2597 y Fg(t;c)2729 2629 y Fo(variants.)p Black Black 468 3575 2725 4 v 466 3675 4 100 v 859 3675 V 859 3675 V 1750 3645 a Fv(CPU-time)h(\(sec\))p 3190 3675 V 861 3678 2332 4 v 466 3775 4 100 v 859 3775 V 911 3745 a Fo(graph)1108 3713 y Fg(t)p 1183 3775 V 1235 3745 a Fo(graph)1432 3713 y Fg(t;c)p 1555 3775 V 1606 3745 a Fo(graph)1803 3713 y Fg(s)p 1884 3775 V 1936 3745 a Fo(graph)2133 3713 y Fg(s;a)p 2267 3775 V 2318 3745 a Fo(subset)p 2576 3775 V 133 w(state)p 2862 3775 V 158 w Fu(FSM)p 3190 3775 V 468 3778 2725 4 v 466 3878 4 100 v 600 3848 a Fv(g14)p 859 3878 V 302 w(0.4)p 1183 3878 V 266 w(0.4)p 1555 3878 V 224 w(0.3)p 1884 3878 V 278 w(0.3)p 2267 3878 V 204 w(0.4)p 2576 3878 V 182 w(0.2)p 2862 3878 V 222 w(0.1)p 3190 3878 V 466 3977 V 533 3947 a(ovis4.n)p 859 3977 V 237 w(0.9)p 1183 3977 V 266 w(1.1)p 1555 3977 V 224 w(0.8)p 1884 3977 V 278 w(1.0)p 2267 3977 V 204 w(0.7)p 2576 3977 V 182 w(0.6)p 2862 3977 V 222 w(0.6)p 3190 3977 V 466 4077 V 600 4047 a(g13)p 859 4077 V 302 w(0.9)p 1183 4077 V 266 w(0.8)p 1555 4077 V 224 w(0.6)p 1884 4077 V 278 w(0.6)p 2267 4077 V 204 w(1.2)p 2576 4077 V 182 w(0.7)p 2862 4077 V 222 w(0.2)p 3190 4077 V 466 4177 V 564 4147 a(r)o(ene2)p 859 4177 V 266 w(0.2)p 1183 4177 V 266 w(0.3)p 1555 4177 V 224 w(0.2)p 1884 4177 V 278 w(0.2)p 2267 4177 V 204 w(0.2)p 2576 4177 V 182 w(0.2)p 2862 4177 V 222 w(0.1)p 3190 4177 V 466 4276 V 532 4246 a(ovis9.p)p 859 4276 V 194 w(36.6)p 1183 4276 V 224 w(16.0)p 1555 4276 V 183 w(16.9)p 1884 4276 V 235 w(17.0)p 2267 4276 V 163 w(25.2)p 2576 4276 V 139 w(20.8)p 2862 4276 V 181 w(21.9)p 3190 4276 V 466 4376 V 553 4346 a(ygrim)p 859 4376 V 333 w(-)p 1183 4376 V 343 w(-)p 1555 4376 V 301 w(-)p 1884 4376 V 355 w(-)p 2267 4376 V 205 w(0.9)p 2576 4376 V 140 w(21.0)p 2862 4376 V 139 w(512.1)p 3190 4376 V 466 4475 V 518 4446 a(ygrim.p)p 859 4475 V 297 w(-)p 1183 4475 V 343 w(-)p 1555 4475 V 301 w(-)p 1884 4475 V 355 w(-)p 2267 4475 V 122 w(562.1)p 2576 4475 V 257 w(-)p 2862 4475 V 99 w(4512.4)p 3190 4475 V 466 4575 V 548 4545 a(java19)p 859 4575 V 208 w(55.5)p 1183 4575 V 224 w(67.4)p 1555 4575 V 183 w(52.6)p 1884 4575 V 235 w(45.0)p 2267 4575 V 163 w(25.8)p 2576 4575 V 139 w(19.0)p 2862 4575 V 222 w(3.8)p 3190 4575 V 466 4675 V 548 4645 a(java16)p 859 4675 V 208 w(30.0)p 1183 4675 V 224 w(45.8)p 1555 4675 V 183 w(35.0)p 1884 4675 V 235 w(29.9)p 2267 4675 V 167 w(1)-5 b(1.3)p 2576 4675 V 140 w(12.1)p 2862 4675 V 222 w(3.0)p 3190 4675 V 466 4774 V 547 4744 a(zovis3)p 859 4774 V 167 w(741.1)p 1183 4774 V 182 w(557.5)p 1555 4774 V 299 w(-)p 1884 4774 V 196 w(407.4)p 2267 4774 V 120 w(358.4)p 2576 4774 V 98 w(302.5)p 2862 4774 V 138 w(325.6)p 3190 4774 V 466 4874 V 547 4844 a(zovis2)p 859 4874 V 167 w(909.2)p 1183 4874 V 182 w(627.2)p 1555 4874 V 299 w(-)p 1884 4874 V 196 w(496.0)p 2267 4874 V 120 w(454.4)p 2576 4874 V 98 w(369.4)p 2862 4874 V 138 w(392.1)p 3190 4874 V 468 4877 2725 4 v 330 4939 a Fd(T)d(able)18 b(2)330 5022 y Fo(Results)g(for)g(automata)i(generated)e(by)h(appr)o(oximation)e (algorithms.)h(The)h(dashes)f(in)h(the)g(table)330 5105 y(indicate)g(that)h(the)g(corr)o(esponding)c(algorithm)i(ran)h(out)g (of)f(memory)g(\(after)g(a)h(long)f(period)g(of)g(time\))330 5188 y(for)g(that)i(particular)f(example.)p Black Black 3247 5944 a Fv(14)p Black eop %%Page: 15 15 15 14 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black Black 629 357 a Fv(containing)i(few)f Ft(\017)g Fv(moves,)h(because)e(it)h (is)h(faster)e(than)i(the)f(other)g(algorithms,)h(and)629 457 y(because)f(it)h(pr)o(oduces)f(smaller)g(automata)g(than)h(the)g Fu(per)g(graph)2674 426 y Fi(s)2729 457 y Fv(and)f Fu(per)h(graph)3212 426 y Fi(s;a)629 556 y Fv(variants.)p Black 571 722 a Fk(\017)p Black 16 w Fv(The)g Fu(per)f(graph)1110 692 y Fi(t;c)1209 722 y Fv(variant)g(is)h(an)f(inter)o(esting)h (alternative)f(in)h(that)g(it)g(pr)o(oduces)f(the)629 822 y(smallest)h(r)o(esults.)f(This)i(variant)e(should)h(be)g(used)f (if)h(the)g(input)g(automaton)g(is)629 922 y(expected)e(to)i(contain)h (many)f(non-co-accessible)f(states.)p Black 571 1088 a Fk(\017)p Black 16 w Fv(Automata)g(pr)o(oduced)f(by)i(\002nite-state) g(appr)o(oximation)f(techniques)i(tend)f(to)629 1187 y(contain)g(many)g Ft(\017)p Fv(-moves.)g(W)-8 b(e)21 b(found)f(that)h(for)g(these)f(automata)h(the)f(dif)o(fer)o(ences)629 1287 y(in)h(speed)f(between)h(the)g(various)f(algorithms)i(can)f(be)f (enormous.)i(The)e Fu(per)h(subset)629 1386 y Fv(and)f Fu(per)h(state)g Fv(algorithms)g(ar)o(e)f(good)h(candidates)f(for)g (this)i(application.)479 1569 y(W)-8 b(e)30 b(have)e(attempted)h(to)g (characterize)e(the)i(expected)f(ef)o(\002ciency)g(of)h(the)h(various)f (al-)330 1669 y(gorithms)f(in)f(terms)f(of)h(the)f(number)h(of)f(jumps) h(and)f(the)h(number)f(of)h(states)f(in)h(the)g(input)330 1768 y(automaton.)17 b(It)f(is)g(quite)h(conceivable)f(that)g(other)h (simple)g(pr)o(operties)e(of)h(the)h(input)g(automa-)330 1868 y(ton)25 b(can)g(be)f(used)g(even)h(mor)o(e)f(ef)o(fectively)f (for)h(this)i(purpose.)e(One)h(r)o(eviewer)e(suggests)j(to)330 1968 y(use)21 b(the)g(number)f(of)h(str)o(ongly)g Ft(\017)p Fv(-connected)f(components)i(\(the)f(str)o(ongly)g(connected)g(com-)330 2067 y(ponents)g(of)g(the)g(graph)f(of)h(all)f Ft(\017)p Fv(-moves\))g(for)h(this)g(purpose.)f(W)-8 b(e)21 b(leave)f(this)h(and) f(other)h(pos-)330 2167 y(sibilities)h(to)f(a)f(futur)o(e)g(occasion.)p Black 330 2367 a Fd(Acknowledgments)330 2467 y Fo(I)f(am)g(grateful)f (to)h(Mark-Jan)f(Neder)o(hof)f(for)330 2550 y(support,)h(and)h(for)f (pr)o(oviding)e(me)j(with)g(lots)g(of)330 2633 y(\(often)g(dr)o (eadful\))e(automata)j(generated)e(by)330 2716 y(his)h(\002nite-state)g (appr)o(oximation)f(tools.)g(The)330 2799 y(comments)h(of)f(the)i (anonymous)e(FSMNLP)330 2882 y(and)h(CL)f(r)o(eviewers)f(wer)o(e)h (extr)o(emely)e(useful.)330 3081 y Fd(References)p Black Black 330 3214 a Fo(Aho,)j(Alfr)o(ed)e(V)-10 b(.,)18 b(Ravi)h(Sethi,)g(and)g(Jef)o(fr)o(ey)e(D.)405 3297 y(Ullman.)27 b(1986.)h Fc(Compilers.)18 b(Principles,)405 3380 y(T)-8 b(echniques)17 b(and)i(T)-8 b(ools)p Fo(.)26 b(Addison)18 b(W)-7 b(esley)f(.)p Black Black 330 3480 a(Black,)18 b(A.W)-7 b(.)26 b(1989.)i(Finite)18 b(state)i(machines)405 3563 y(fr)o(om)d(featur)o(e)h(grammars.)26 b(In)19 b Fc(International)405 3646 y(W)o(orkshop)g(on)f(Parsing)h(T)-8 b(echnologies)p Fo(,)18 b(pages)405 3729 y(277\226285,)j(Pittsbur)o (gh.)p Black Black 330 3829 a(Chomsky)-8 b(,)17 b(Noam.)27 b(1963.)h(Formal)18 b(pr)o(operties)405 3912 y(of)g(grammars.)26 b(In)19 b(R.)f(Duncan)i(Luce,)405 3995 y(Robert)e(R.)g(Bush,)h(and)g (Eugene)f(Galanter)-6 b(,)405 4078 y(editors,)17 b Fc(Handbook)i(of)f (Mathematical)405 4161 y(Psychology;)i(V)-6 b(olume)19 b(II)p Fo(.)f(John)h(W)l(iley)-8 b(,)17 b(pages)405 4244 y(323\226418.)p Black Black 330 4343 a(Chomsky)-8 b(,)17 b(Noam.)27 b(1964.)h(On)19 b(the)g(notion)405 4426 y(`r)o(ule)e(of)h (grammar)6 b('.)25 b(In)19 b(Jerry)e(E.)g(Fodor)g(and)405 4509 y(Jerr)o(old)f(J.)i(Katz,)i(editors,)d Fc(The)i(Structur)o(e)e(of) 405 4592 y(Language;)h(Readings)h(in)f(the)h(Philosophy)g(of)405 4675 y(Language)p Fo(.)f(Pr)o(entice)g(Hall,)h(pages)f(1)l(19\226136.)p Black Black 330 4775 a(Cormen,)g(Leiserson,)e(and)k(Rivest.)26 b(1990.)405 4858 y Fc(Intr)o(oduction)17 b(to)i(Algorithms)p Fo(.)27 b(MIT)18 b(Pr)o(ess,)405 4941 y(Cambridge)f(Mass.)p Black Black 330 5041 a(Evans,)i(Edmund)f(Grimley)-8 b(.)25 b(1997.)405 5124 y(Appr)o(oximating)17 b(context-fr)o(ee)h(grammars)405 5207 y(with)h(a)g(\002nite-state)h(calculus.)27 b(In)19 b Fc(35th)405 5290 y(Annual)e(Meeting)h(of)g(the)h(Association)g(for) 405 5373 y(Computational)f(Linguistics)f(and)i(8th)405 5456 y(Confer)o(ence)f(of)g(the)h(Eur)o(opean)f(Chapter)i(of)e(the)405 5539 y(Association)g(for)h(Computational)f(Linguistics)p Fo(,)405 5622 y(pages)g(452\226459,)j(Madrid.)p Black Black 1930 2367 a(Ger)o(demann,)d(Dale)g(and)h(Gertjan)h(van)g(Noor)o (d.)2004 2450 y(1999.)28 b(T)-7 b(ransducers)18 b(fr)o(om)g(r)o(ewrite) f(r)o(ules)2004 2533 y(with)j(backr)o(efer)o(ences.)25 b(In)19 b Fc(Ninth)f(Confer)o(ence)2004 2617 y(of)h(the)g(Eur)o(opean)f (Chapter)h(of)g(the)g(Association)2004 2700 y(for)g(Computational)f (Linguistics)p Fo(,)f(Ber)o(gen)2004 2783 y(Norway)-8 b(.)p Black Black 1930 2882 a(Hopcr)o(oft,)17 b(John)j(E.)e(and)h(Jef)o (fr)o(ey)d(D.)i(Ullman.)2004 2965 y(1979.)28 b Fc(Intr)o(oduction)18 b(to)h(Automata)f(Theory)m(,)2004 3048 y(Languages)h(and)g(Computation) p Fo(.)26 b(Addison)2004 3131 y(W)-7 b(esley)f(.)p Black Black 1930 3231 a(Johnson,)19 b(J.)f(Howar)o(d)g(and)h(Derick)e(W)-7 b(ood.)2004 3314 y(1997.)28 b(Instr)o(uction)20 b(computation)g(in)f (subset)2004 3397 y(constr)o(uction.)28 b(In)19 b(Darr)o(ell)e (Raymond,)2004 3480 y(Derick)h(W)-7 b(ood,)17 b(and)i(Sheng)g(Y)-7 b(u,)19 b(editors,)2004 3563 y Fc(Automata)g(Implementation)p Fo(.)f(Springer)2004 3646 y(V)-8 b(erlag,)17 b(pages)h(64\22671.)29 b(Lectur)o(e)17 b(Notes)i(in)2004 3729 y(Computer)f(Science)h(1260.)p Black Black 1930 3829 a(Johnson,)g(Mark.)25 b(1998.)j(Finite-state)2004 3912 y(appr)o(oximation)18 b(of)h(constraint-based)2004 3995 y(grammars)f(using)g(left-corner)g(grammar)2004 4078 y(transforms.)26 b(In)20 b Fc(COLING-ACL)d('98.)i(36th)2004 4161 y(Annual)f(Meeting)f(of)i(the)g(Association)g(for)2004 4244 y(Computational)f(Linguistics)g(and)h(17th)2004 4327 y(International)f(Confer)o(ence)f(on)i(Computational)2004 4410 y(Linguistics.)e(Pr)o(oceedings)i(of)g(the)g(Confer)o(ence)p Fo(,)2004 4493 y(Montr)o(eal.)p Black Black 1930 4592 a(Leslie,)d(T)-7 b(ed.)26 b(1995.)i(Ef)o(\002cient)19 b(appr)o(oaches)f(to)2004 4675 y(subset)h(constr)o(uction.)28 b(Master)6 b('s)17 b(thesis,)2004 4758 y(Computer)h(Science,)h (University)f(of)2004 4842 y(W)-7 b(aterloo.)p Black Black 1930 4941 a(Miller)h(,)17 b(Geor)o(ge)f(and)k(Noam)f(Chomsky)-8 b(.)25 b(1963.)2004 5024 y(Finitary)18 b(models)g(of)g(language)h (users.)25 b(In)2004 5107 y(R.)19 b(Luce,)f(R.)g(Bush,)g(and)h(E.)f (Galanter)-6 b(,)2004 5190 y(editors,)17 b Fc(Handbook)i(of)g (Mathematical)2004 5273 y(Psychology)m(.)i(V)-6 b(olume)18 b(2.)h Fo(John)g(W)l(iley)-8 b(.)p Black Black 1930 5373 a(Mohri,)17 b(Mehryar)-6 b(,)18 b(Fernando)g(C.N.)g(Per)o(eira,)2004 5456 y(and)i(Michael)e(Riley)-8 b(.)25 b(1998.)j(A)19 b(rational)2004 5539 y(design)f(for)g(a)h(weighted)f(\002nite-state) 2004 5622 y(transducer)h(library)-8 b(.)25 b(In)19 b Fc(Automata)p Black 3247 5944 a Fv(15)p Black eop %%Page: 16 16 16 15 bop Black 330 91 a Fo(van)20 b(Noor)o(d)1145 b(Epsilon)17 b(Moves)h(in)h(Subset)g(Constr)o(uction)p Black 405 357 a Fc(Implementation.)e(Second)i(International)405 440 y(W)o(orkshop)g(on)f(Implementing)g(Automata,)405 523 y(WIA)g('97)p Fo(.)h(Springer)e(V)-8 b(erlag.)25 b(Lectur)o(e)18 b(Notes)405 606 y(in)h(Computer)f(Science)h(1436.)p Black Black 330 706 a(Neder)o(hof,)e(M.)h(J.)27 b(1997.)h(Regular)405 789 y(appr)o(oximations)17 b(of)h(CFLs:)f(A)h(grammatical)405 872 y(view)-7 b(.)26 b(In)20 b Fc(International)d(W)o(orkshop)i(on)405 955 y(Parsing)f(T)-8 b(echnologies)p Fo(,)19 b(Massachusetts)405 1038 y(Institute)g(of)g(T)-7 b(echnology)f(.)p Black Black 330 1137 a(Neder)o(hof,)17 b(Mark-Jan.)26 b(1998.)i(Context-fr)o (ee)405 1220 y(parsing)18 b(thr)o(ough)g(r)o(egular)f(appr)o (oximation.)405 1303 y(In)i Fc(Finite-state)e(Methods)i(in)f(Natural) 405 1386 y(Language)g(Pr)o(ocessing)p Fo(,)g(pages)g(13\22624,)405 1469 y(Ankara.)p Black Black 330 1569 a(van)i(Noor)o(d,)d(Gertjan.)27 b(1997.)h(FSA)19 b(Utilities:)e(A)405 1652 y(toolbox)h(to)h(manipulate) g(\002nite-state)405 1735 y(automata.)28 b(In)19 b(Darr)o(ell)e (Raymond,)h(Derick)405 1818 y(W)-7 b(ood,)17 b(and)i(Sheng)h(Y)-7 b(u,)18 b(editors,)f Fc(Automata)405 1901 y(Implementation)p Fo(.)g(Springer)h(V)-8 b(erlag,)17 b(pages)405 1984 y(87\226108.)28 b(Lectur)o(e)18 b(Notes)h(in)f(Computer)405 2067 y(Science)h(1260.)p Black Black 330 2167 a(van)h(Noor)o(d,)d(Gertjan.)27 b(1998.)h(The)19 b(tr)o(eatment)405 2250 y(of)f(epsilon)g(moves)g(in)h (subset)g(constr)o(uction.)405 2333 y(In)g Fc(Finite-state)e(Methods)i (in)f(Natural)405 2416 y(Language)g(Pr)o(ocessing)p Fo(,)g(Ankara.)405 2499 y(cmp-lg/9804003.)p Black Black 330 2599 a(van)i(Noor)o(d,)d (Gertjan.)27 b(1999.)h(FSA6)19 b(r)o(efer)o(ence)405 2682 y(manual.)27 b(The)19 b Fc(FSA)f(Utilities)g Fo(toolbox)g(is)405 2765 y(available)h(fr)o(ee)e(of)i(char)o(ge)f(under)g(Gnu)405 2848 y(General)g(Public)h(License)f(at)405 2931 y(http://www)-7 b(.let.r)o(ug.nl/\230vannoor)o(d/Fsa/.)p Black Black 330 3030 a(van)20 b(Noor)o(d,)d(Gertjan)i(and)g(Dale)g(Ger)o(demann.) 405 3113 y(1999.)28 b(An)19 b(extendible)f(r)o(egular)f(expr)o(ession) 405 3196 y(compiler)g(for)h(\002nite-state)i(appr)o(oaches)e(in)405 3279 y(natural)h(language)g(pr)o(ocessing.)24 b(In)405 3362 y(O.)18 b(Boldt,)f(H.)i(Juer)o(gensen,)e(and)405 3445 y(L.)h(Robbins,)g(editors,)f Fc(W)o(orkshop)i(on)405 3528 y(Implementing)f(Automata;)g(WIA99)405 3611 y(Pr)o(e-Pr)o (oceedings)p Fo(,)g(Potsdam)g(Germany)-8 b(.)p Black Black 330 3711 a(O'Keefe,)17 b(Richar)o(d)i(A.)26 b(1990.)i Fc(The)19 b(Craft)f(of)405 3794 y(Pr)o(olog)p Fo(.)26 b(The)19 b(MIT)f(Pr)o(ess,)f(Cambridge)405 3877 y(Mass.)p Black Black 330 3977 a(Per)o(eira,)g(Fernando)h(C.)h(N.)f(and)h(R.)f (N.)h(W)-6 b(right.)405 4060 y(1991.)28 b(Finite-state)19 b(appr)o(oximation)e(of)405 4143 y(phrase)h(str)o(uctur)o(e)g (grammars.)26 b(In)19 b Fc(29th)405 4226 y(Annual)e(Meeting)h(of)g(the) h(Association)g(for)405 4309 y(Computational)f(Linguistics)p Fo(,)f(Berkeley)-8 b(.)p Black Black 330 4408 a(Per)o(eira,)17 b(Fernando)h(C.)h(N.)f(and)h(Rebecca)g(N.)405 4491 y(W)-6 b(right.)26 b(1997.)i(Finite-state)405 4575 y(appr)o(oximation)18 b(of)g(phrase-str)o(uctur)o(e)405 4658 y(grammars.)25 b(In)20 b(Emmanuel)e(Roche)h(and)405 4741 y(Y)-7 b(ves)18 b(Schabes,)i(editors,)c Fc(Finite-State)405 4824 y(Language)i(Pr)o (ocessing)p Fo(.)g(MIT)h(Pr)o(ess,)405 4907 y(Cambridge,)e(pages)h (149\226173.)p Black Black 330 5006 a(Rood,)g(C.M.)25 b(1996.)j(Ef)o(\002cient)19 b(\002nite-state)405 5089 y(appr)o(oximation)f(of)g(context)h(fr)o(ee)405 5172 y(grammars.)25 b(In)20 b(A.)e(Kornai,)h(editor)-6 b(,)405 5255 y Fc(Extended)19 b(Finite)e(State)h(Models)h(of)f(Language)p Fo(,)405 5338 y(Pr)o(oceedings)e(of)j(the)g(ECAI'96)g(workshop,)405 5421 y(pages)f(58\22664,)i(Budapest)e(University)g(of)405 5504 y(Economic)g(Sciences,)h(Hungary)-8 b(.)p Black 3247 5944 a Fv(16)p Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF