summaryrefslogtreecommitdiff
path: root/resources
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2010-05-18 08:52:24 +0200
committerPatrick Simianer <p@simianer.de>2010-05-18 08:52:24 +0200
commitb90042ebc1f37fa5f911df54ce0d3827da074892 (patch)
tree271ffd81ccf00888380b8b578d9bf238d8e4387b /resources
parentec3f1801c258dbba07dfccbd9864f9b2de0bfae6 (diff)
major
Diffstat (limited to 'resources')
-rw-r--r--resources/RENFADFA.docbin0 -> 131072 bytes
-rw-r--r--resources/fsmnlp.ps6674
-rw-r--r--resources/graphregexpr.jarbin0 -> 54806 bytes
-rw-r--r--resources/regexprdemo.jarbin0 -> 36642 bytes
-rw-r--r--resources/urls.txt10
5 files changed, 6680 insertions, 4 deletions
diff --git a/resources/RENFADFA.doc b/resources/RENFADFA.doc
new file mode 100644
index 0000000..fb76173
--- /dev/null
+++ b/resources/RENFADFA.doc
Binary files differ
diff --git a/resources/fsmnlp.ps b/resources/fsmnlp.ps
new file mode 100644
index 0000000..34379af
--- /dev/null
+++ b/resources/fsmnlp.ps
@@ -0,0 +1,6674 @@
+%!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
diff --git a/resources/graphregexpr.jar b/resources/graphregexpr.jar
new file mode 100644
index 0000000..99e8440
--- /dev/null
+++ b/resources/graphregexpr.jar
Binary files differ
diff --git a/resources/regexprdemo.jar b/resources/regexprdemo.jar
new file mode 100644
index 0000000..4d4f2cc
--- /dev/null
+++ b/resources/regexprdemo.jar
Binary files differ
diff --git a/resources/urls.txt b/resources/urls.txt
index 6100af2..6877e60 100644
--- a/resources/urls.txt
+++ b/resources/urls.txt
@@ -2,9 +2,11 @@ http://www.inf.fh-flensburg.de/lang/theor/
http://www.inf.fh-flensburg.de/lang/compbau/recursivedescent.htm
http://www.inf.fh-flensburg.de/lang/theor/regular-expression-parser.htm
http://www.codeproject.com/KB/recipes/OwnRegExpressionsParser.aspx
+http://www.inf.fh-flensburg.de/lang/theor/regulaerer-ausdruck-zu-automat-bottomup.htm
-http://osteele.com/
-http://raphaeljs.com/
-http://thejit.org/
-http://processingjs.org/
+http://osteele.com/archives/2006/02/reanimator
+http://www.codeguru.com/cpp/cpp/cpp_mfc/parsing/article.php/c4093/
+http://swtch.com/~rsc/regexp/regexp1.html
+http://www.gamedev.net/reference/articles/article2170.asp
+http://raphaeljs.com/reference.html