314 Pages

ch4

Course: CS 6505, Fall 2009
School: Brookdale
Rating:
 
 
 
 
 

Word Count: 86229

Document Preview

%%Creator: %!PS-Adobe-2.0 dvips 5.51 Copyright 1986, 1993 Radical Eye Software %%Title: /Users/nilsson/MLBook/mlbook.dvi %%CreationDate: Thu Sep 26 09:08:36 1996 %%Pages: 30 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%EndComments %DVIPSCommandLine: dvips -p 39 -l 68 -D 300 -r0 -Z0 -o /Users/nilsson/MLBook/ch4.ps /Users/nilsson/MLBook/mlbook.dvi %DVIPSSource: TeX output 1996.09.26:0852 %%BeginProcSet: tex.pro...

Register Now

Unformatted Document Excerpt

Coursehero >> New Jersey >> Brookdale >> CS 6505

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
%%Creator: %!PS-Adobe-2.0 dvips 5.51 Copyright 1986, 1993 Radical Eye Software %%Title: /Users/nilsson/MLBook/mlbook.dvi %%CreationDate: Thu Sep 26 09:08:36 1996 %%Pages: 30 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%EndComments %DVIPSCommandLine: dvips -p 39 -l 68 -D 300 -r0 -Z0 -o /Users/nilsson/MLBook/ch4.ps /Users/nilsson/MLBook/mlbook.dvi %DVIPSSource: TeX output 1996.09.26:0852 %%BeginProcSet: tex.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N} B /TR{translate}N /isls false N /vsize 11 72 mul N /@rigin{isls{[0 -1 1 0 0 0] concat}if 72 Resolution div 72 VResolution div neg scale isls{Resolution hsize -72 div mul 0 TR}if Resolution VResolution vsize -72 div 1 add mul TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put 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 /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{ CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N} B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook} if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255 {IE S 1 string dup 0 3 index put cvn put}for 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 /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V{}B /RV statusdict begin /product where{ pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{ gsave transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{ p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B 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 false def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{ SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults 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 TeXDict begin 40258431 52099146 1000 300 300 (/Users/nilsson/MLBook/mlbook.dvi) @start /Fa 1 121 df<7003807807003C0E001C1C 000E1C0007380003F00001E00001C00001E00003F0000738000618000E1C001C0E003807007003 80F003C01212809113>120 D E /Fb 31 122 df<01C0000320000610000E10000E10000E1000 0E20000E40000E80000700FE0700380780200780200BC04011C04020E08060F100E07A00E03A00 E01C02701E0238638C1F80F817177F961B>38 D<60F0F070101020204040040A7D830A>44 D<60F0F06004047D830A>46 D<06000E00FE000E000E000E000E000E000E000E000E000E000E00 0E000E000E000E000E000E000E00FFE00B157D9412>49 D<60307FE07FC0440040004000400040 004F8070E040700030003800384038E038E0388030406020C01F000D157E9412>53 D<01F00608080C181C301C70006000E000E3E0EC30F018F00CE00EE00EE00E600E600E300C3018 183007C00F157F9412>I<07C0183030186018E00CE00CE00EE00EE00E601E301E186E0F8E000E 000C001C70187018603020E01F800F157F9412>57 D<FFFE001C03801C00E01C00601C00701C00 701C00701C00701C00E01C01C01FFF801FFFC01C00E01C00701C00301C00381C00381C00381C00 381C00701C00E01C01C0FFFF0015177F9619>66 D<FF83FE1C00701C00701C00701C00701C0070 1C00701C00701C00701C00701C00701FFFF01C00701C00701C00701C00701C00701C00701C0070 1C00701C00701C0070FF83FE17177F961A>72 D<FC00FE1E00381F001017001013801011C01011 C01010E010107010103810103810101C10100E10100F101007101003901001D01001D01000F010 0070100030380030FE001017177F961A>78 D<FFFC001C03801C00C01C00E01C00701C00701C00 701C00701C00E01C00C01C03801FFE001C07801C01C01C00E01C00E01C00E01C00E01C00E01C00 E11C00E11C0072FF803C18177F961A>82 D<FCFCC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 C0C0C0C0C0C0C0C0C0C0FCFC06217D980A>91 D<FCFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C 0C0C0C0C0C0C0C0C0C0C0C0CFCFC062180980A>93 D<3FC0706070302038003803F81E38303870 38E039E039E07970FF1F1E100E7F8D12>97 D<F800003800003800003800003800003800003800 0038000038000039F0003E0C003806003807003803003803803803803803803803803803003807 00380600361C0021F00011177F9614>I<003E00000E00000E00000E00000E00000E00000E0000 0E00000E0007CE001C3E00300E00700E00600E00E00E00E00E00E00E00E00E00600E00700E0030 1E00182E0007CF8011177F9614>100 D<0FC0186030307038E018FFF8E000E000E00060007008 3010183007C00D0E7F8D10>I<03E006700E701C201C001C001C001C001C00FF801C001C001C00 1C001C001C001C001C001C001C001C001C007F800C1780960B>I<0F9E18E33060707070707070 306018C02F80200060003FE03FF83FFC600EC006C006C006600C38380FE010157F8D12>I<F800 0038000038000038000038000038000038000038000038000038F8003B1C003C0E00380E00380E 00380E00380E00380E00380E00380E00380E00380E00380E00FE3F8011177F9614>I<30787830 0000000000F8383838383838383838383838FE07177F960A>I<F8383838383838383838383838 383838383838383838FE07177F960A>108 D<F8F8003B1C003C0E00380E00380E00380E00380E 00380E00380E00380E00380E00380E00380E00FE3F80110E7F8D14>110 D<07C018303018600C600CE00EE00EE00EE00EE00E701C3018183007C00F0E7F8D12>I<F9F000 3E1C00380600380700380300380380380380380380380380380300380700380E003E1C0039F000 380000380000380000380000380000FE000011147F8D14>I<F9E03A703C703820380038003800 380038003800380038003800FF000C0E7F8D0E>114 D<1F4060C0C040C040E000FF007F801FC0 01E080608060C060E0C09F000B0E7F8D0E>I<080008000800180018003800FFC0380038003800 380038003800380038403840384038401C800F000A147F930E>I<F83E00380E00380E00380E00 380E00380E00380E00380E00380E00380E00380E00381E001C2E0007CF80110E7F8D14>I<FE1F 380E3C0C1C081C080E100E100720072007E003C003C001800180100E7F8D13>I<FE1F380E3C0C 1C081C080E100E100720072007E003C003C00180018001000100E200E200A400780010147F8D13 >121 D E /Fc 1 1 df<FFFEFFFE0F027D8516>0 D E /Fd 1 1 df<FFFFC0FFFFC012027D8618 >0 D E /Fe 1 116 df<03E006180818183818301C001FC00FE007F000700030E030E030806040 C03F000D107E8F12>115 D E /Ff 3 109 df<040C000000000030589898303060646468300612 7E910B>105 D<0020002000000000000000000000038004C008C008C000C00180018001800180 03000300030003004600CC0078000B1780910D>I<7818183030303060606060C0C0C8C8D06005 117E900A>108 D E /Fg 8 109 df<0408103020606040C0C0C0C0C0C0C0C0C0C0406060203010 0804061A7D920C>40 D<80402030101818080C0C0C0C0C0C0C0C0C0C0818181030204080061A7F 920C>I<00C00000C00000C00000C00000C00000C00000C00000C00000C000FFFF80FFFF8000C0 0000C00000C00000C00000C00000C00000C00000C00000C00011147E8F17>43 D<187898181818181818181818181818FF08107D8F0F>49 D<1F00618040C08060C06000600060 00C00180030006000C00102020207FC0FFC00B107F8F0F>I<20702000000000F0303030303030 303030FC0612809108>105 D<081C08000000003C0C0C0C0C0C0C0C0C0C0C0C0C0CC870061781 910A>I<F0303030303030303030303030303030FC0611809008>108 D E /Fh 5 106 df<FFF007FCFFF007FC0F8000C00F8000C00FC001C007C0018007E0018003E00300 03E0030001F0060001F0060000F80C0000F80C0000FC1C00007C1800007C1800003E3000003E30 00001F6000001F6000001FE000000FC000000FC0000007800000078000000300001E1A7F9921> 86 D<FFF07FF83FE0FFF07FF83FE01F000FC003000F800FC006000F800FC006000F801BE00600 07C01BE00C0007C01BE00C0007E031F01C0003E031F0180003E031F0180001F060F8300001F060 F8300001F0E0FC300000F8C07C600000F8C07C600000F9803EE000007D803EC000007D803EC000 007F001FC000003F001F8000003F001F8000001E000F0000001E000F0000001E000F0000000C00 0600002B1A7F992E>I<7FF83FF07FF83FF007C0060003E00E0003F01C0001F8180000F8300000 FC7000007EE000003FC000001F8000001F8000000FC0000007C000000FE000001BF0000039F800 0070F8000060FC0000C07E0001C03F0003801F0003001F8006000FC0FFC03FFCFFC03FFC1E1A7F 9921>I<FFF003FCFFF003FC0FC000C00FC001C007E0018003F0030001F0070001F8060000FC0C 00007E1C00007E1800003F3000001FF000000FE000000FE0000007C0000007C0000007C0000007 C0000007C0000007C0000007C0000007C0000007C000007FFC00007FFC001E1A7F9921>I<3C7E 7E7E7E3C00000000FCFC3C3C3C3C3C3C3C3C3C3C3C3C3CFFFF081B7E9A0D>105 D E /Fi 3 107 df<FFFFC0FFFFC012027D871A>0 D<0E001F003F807FC07FC0FFE0FFE0FFE0FF E07FC07FC03F801F000E000B0E7E8D11>15 D<C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 C0C0C0C0C0C0C0C0C0021D7D950A>106 D E /Fj 7 113 df<FFF0FFF0FFF0E000E000E000E000 E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0 00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000 E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0 00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000 E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0 00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000FFF0FFF0FFF0 0C7C758118>34 D<FFF0FFF0FFF000700070007000700070007000700070007000700070007000 700070007000700070007000700070007000700070007000700070007000700070007000700070 007000700070007000700070007000700070007000700070007000700070007000700070007000 700070007000700070007000700070007000700070007000700070007000700070007000700070 007000700070007000700070007000700070007000700070007000700070007000700070007000 700070007000700070007000700070007000700070007000700070007000700070007000700070 00700070007000700070007000700070FFF0FFF0FFF00C7C808118>I<FFFFFFFFF0FFFFFFFFF0 7000000FF878000000F83C000000381C0000001C0E0000000C0F00000004070000000603800000 0203C000000001E000000000E000000000700000000078000000003C000000001C000000001E00 0000000F000000000700000000038000000003800000000300000000070000000006000000000C 000000001800000000380000000030000000006000000000C000000001C0000000018000000203 0000000606000000040E0000000C0C0000001C180000003830000000F87000000FF87FFFFFFFF0 FFFFFFFFF0272A7E7F2C>80 D<FFFFFFFFFFFFC0FFFFFFFFFFFFE07F00000001FFE07F00000000 1FE03F8000000003F01FC000000000F00FC000000000380FE0000000001807F0000000000C03F8 000000000403F8000000000401FC000000000200FE0000000000007F0000000000007F00000000 00003F8000000000001FC000000000000FC000000000000FE0000000000007F0000000000003F8 000000000003F8000000000001FC000000000000FE0000000000007E0000000000007F00000000 00003F8000000000001FC000000000001FC000000000000FC00000000000078000000000000380 0000000000070000000000000E0000000000001C00000000000038000000000000700000000000 0070000000000000E0000000000001C0000000000003800000000000070000000000000E000000 0000000E0000000000001C0000000002003800000000040070000000000400E0000000000C01E0 000000001801C00000000038038000000000F8070000000001F00E000000000FF01C00000001FF F03FFFFFFFFFFFE03FFFFFFFFFFFE07FFFFFFFFFFFE0FFFFFFFFFFFFC0373A7E7F3C>88 D<FF80FF80C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000 C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C0 00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000 C000C000C000C000C000C000C000C000C000C000C000C000C000C000FF80FF80094A778114> 104 D<FF80FF800180018001800180018001800180018001800180018001800180018001800180 018001800180018001800180018001800180018001800180018001800180018001800180018001 800180018001800180018001800180018001800180018001800180018001800180018001800180 018001800180018001800180018001800180018001800180018001800180FF80FF80094A7F8114 >I<00000000020000000006000000000C000000000C0000000018000000001800000000300000 0000300000000060000000006000000000C000000000C000000001800000000180000000030000 00000300000000060000000006000000000C000000000C00000000180000000018000000003000 0000003000000000600008000060001C0000C0003C0000C000CE000180000E000180000E000300 0007000300000700060000038006000003800C000001C00C000001C018000001E018000000E030 000000E0300000007060000000706000000038C000000038C00000001D800000001D800000001F 000000000F000000000E000000000600000027327C812A>112 D E /Fk 4 50 df<04081030206040C0C0C0C0C0C0C0C04060203010080406167D8F0B>40 D<804020301018080C0C0C0C0C0C0C0C0818103020408006167E8F0B>I<00C00000C00000C000 00C00000C00000C00000C00000C000FFFF80FFFF8000C00000C00000C00000C00000C00000C000 00C00000C00011127E8D15>43 D<18F818181818181818181818FF080D7D8C0E>49 D E /Fl 6 116 df<F03030303060606060C061806700DC00E0000C097E880F>23 D<0808000000007098B0303060646870060F7D8E0B>105 D<00C0008000000000000000000700 19801180030003000300030006000600060006008C00F0000A137F8E0C>I<7030303060606060 C0C0C0D0E0E0040E7E8D0A>108 D<73809C40986030C030C030C03188619060E00D097D8812> 110 D<3E4342703C06C2847808097D880E>115 D E /Fm 2 16 df<0007F00000003FFE000000 780F000001C001C000038000E00006000030000C000018001800000C001800000C003000000600 600000030060000003006000000300C000000180C000000180C000000180C000000180C0000001 80C000000180C00000018060000003006000000300600000030030000006001800000C00180000 0C000C000018000600003000038000E00001C001C00000780F0000003FFE00000007F000002121 7E9926>13 D<07801FE03FF07FF87FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF87FF83FF01FE007800E 107E9013>15 D E /Fn 22 119 df<60F0F06004047D830B>46 D<07E01C38381C300C700E6006 6006E007E007E007E007E007E007E007E007E007E00760066006700E300C381C1C3807E010187F 9713>48 D<03000700FF0007000700070007000700070007000700070007000700070007000700 0700070007000700070007007FF80D187D9713>I<01F807040C06180E300E300070006000E000 E3E0E418E80CF00EE006E007E007E007600760077006300E180C0C3807E010187F9713>54 D<07E01C303018700C600EE006E006E007E007E0076007700F3017182707C700070006000E000C 700C7018603030600F8010187F9713>57 D<FFFFFF80FFFFFF8000000000000000000000000000 0000000000000000000000FFFFFF80FFFFFF80190A7E8D1E>61 D<000C0000000C0000000C0000 001E0000001E0000002F000000270000002700000043800000438000004380000081C0000081C0 000181E0000100E0000100E00003FFF00002007000020070000400380004003800040038000800 1C0008001C003C001E00FF00FFC01A1A7F991D>65 D<0FFE007000700070007000700070007000 70007000700070007000700070007000700070007000704070E070E07040E061C01F000F1A7E99 14>74 D<FE007FC00F000E000F0004000B80040009C0040009C0040008E0040008700400087004 0008380400081C0400081C0400080E04000807040008038400080384000801C4000800E4000800 E4000800740008003C0008003C0008001C0008000C001C000C00FF8004001A1A7F991D>78 D<07F81C1C381C70087000E000E000E000E000E000E0007000700438081C1807E00E107F8F11> 99 D<003F0000070000070000070000070000070000070000070000070000070003E7000C1700 180F00300700700700E00700E00700E00700E00700E00700E00700600700700700380F001C3700 07C7E0131A7F9915>I<07C01C3030187018600CE00CFFFCE000E000E000E0006000700438081C 1807E00E107F8F11>I<0FCF001871803030007038007038007038007038003030001860002FC0 006000006000007000003FF0003FFC001FFE00600F00C00300C00300C00300C00300600600381C 0007E00011187F8F13>103 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00 001C00001C7C001D87001E03801E03801C03801C03801C03801C03801C03801C03801C03801C03 801C03801C03801C0380FF9FF0141A809915>I<183C3C18000000000000FC1C1C1C1C1C1C1C1C 1C1C1C1C1C1CFF081A80990A>I<FC001C001C001C001C001C001C001C001C001C001C001C001C 001C001C001C001C001C001C001C001C001C001C001C001C00FF80091A80990A>108 D<FC7C001D87001E03801E03801C03801C03801C03801C03801C03801C03801C03801C03801C03 801C03801C0380FF9FF01410808F15>110 D<07E01C38300C700E6006E007E007E007E007E007 E0076006700E381C1C3807E010107F8F13>I<FC781D9C1E1C1E081C001C001C001C001C001C00 1C001C001C001C001C00FF800E10808F0F>114 D<1F2060E04020C020C020F0007F003FC01FE0 00F080708030C030C020F0408F800C107F8F0F>I<0800080008000800180018003800FFC03800 3800380038003800380038003800382038203820382018201C4007800B177F960F>I<FF0F803C 07001C06001C04001C04000E08000E080007100007100007100003A00003A00001C00001C00001 C00000800011107F8F14>118 D E /Fo 15 118 df<03FF00700070007000E000E000E000E001 C001C001C001C0038003800380038007000700070007000E000E000E000E001C00FF80101A7D99 0F>73 D<03FF0000700000700000700000E00000E00000E00000E00001C00001C00001C00001C0 000380000380000380000380000700000700100700100700200E00200E00600E00400E00C01C03 80FFFF80141A7D9918>76 D<03F8001FC00078003C000078003C000078005C0000B800B80000B8 00B800009C013800009C013800011C027000011C027000011C047000011C087000021C08E00002 1C10E000021C10E000021C20E000041C41C000041C41C000041C81C000041C81C000080F038000 080F038000080E038000180C038000180C070000FE083FE000221A7D9922>I<03CC0E2E181C38 1C301C701CE038E038E038E038C072C072C07260F261341E180F107C8F14>97 D<01E006180C181838301070006000E000E000E000E000E008E010602030C01F000D107C8F12> 99 D<001F80000380000380000380000700000700000700000700000E00000E0003CE000E2E00 181C00381C00301C00701C00E03800E03800E03800E03800C07200C07200C0720060F200613400 1E1800111A7C9914>I<01E00E181C08380870087010FFE0E000E000E000E000E0086010602030 C01F000D107C8F12>I<00F300038B800607000E07000C07001C0700380E00380E00380E00380E 00301C00301C00301C00183C0018780007B800003800003800007000607000E0E000C1C0007F00 0011177E8F12>103 D<1F80000380000380000380000700000700000700000700000E00000E00 000E7C000F86001E07001E07001C07001C0700380E00380E00380E00381C00701C80701C807038 80703900E01900600E00111A7E9914>I<030706000000000000384C4E8E9C9C1C3838707272E2 E4643808197C980C>I<307C005986009E07009E07009C07009C0700380E00380E00380E00381C 00701C80701C80703880703900E01900600E0011107C8F16>110 D<01F006180C0C180E300E70 0E600EE00EE00EE00CE01CE018E030606030C01F000F107C8F14>I<30F05D189E389C189C009C 0038003800380038007000700070007000E00060000D107C8F10>114 D<06000E000E000E000E 001C001C00FFC01C0038003800380038007000700070007000E100E100E100E200E40038000A17 7C960D>116 D<38064C074E0E8E0E9C0E9C0E1C1C381C381C381C7039703970393079389A0F0C 10107C8F15>I E /Fp 24 90 df<7070F06004047C830C>46 D<0018003003F00C700070007000 7000E000E000E000E000E000E001C001C001C001C001C001C00380038003800380038003800700 0780FFF80D1C7C9B15>49 D<007C000187000203800403800F03C00F03C00F03C00E0380000380 000700000600000C0000380003F000001C00000E00000E00000F00000F00000F00700F00F80F00 F80F00F00E00E01E00801C004038003070000F8000121D7D9B15>51 D<0000C000018000038000 0380000780000B8000138000270000670000C700008700010700020700040E00080E00180E0010 0E00200E00400E00FFFFC0001C00001C00001C00001C00001C00003800003C0003FF80121C7E9B 15>I<0000200000003000000070000000F0000000F0000001F0000001F8000002780000027800 00047800000478000008780000083C0000103C0000103C0000203C0000203C0000403E0000401E 0000FFFE0000801E0001001E0001001F0002000F0002000F0004000F000C000F001E000F80FF80 7FF01C1D7F9C1F>65 D<07FFFE0000F8078000F001C000F001E000F000E000F000F000F000F001 E000E001E001E001E001C001E003C001E0078001E01E0003FFFC0003C00F0003C0078003C003C0 03C003C003C003C0078003C0078003C0078003C0078003C00780078007800F000F001E000F003C 00FFFFE0001C1C7F9B1D>I<0007F010001C0C300070026000C001E0038000E0070000E00E0000 600E0000601C0000403C00004038000040780000007800000078000000F0000000F0000000F000 0000F0000000F0000000F0000080F0000100700001007000010038000200380004001C0004000C 001800060020000380C000007F00001C1E7C9C1E>I<0FFFFC0000F8078000F001C000F000E000 F0007000F0007000F0007801E0003801E0003801E0003801E0003801E0003C01E0003803C00038 03C0007803C0007803C0007803C0007003C000F0078000E0078000E0078001C007800380078007 8007800E000F001C000F007000FFFFC0001E1C7E9B20>I<07FFFFE000F801E000F000E000F000 4000F0004000F0004000F0004001E0004001E0204001E0200001E0200001E0600001E0E00003FF C00003C0C00003C0400003C0400003C0400003C040800780008007800080078001000780010007 800300078006000F000E000F003E00FFFFFC001B1C7E9B1C>I<07FFFFC000F803C000F001C000 F0008000F0008000F0008000F0008001E0008001E0208001E0200001E0200001E0600001E0E000 03FFC00003C0C00003C0400003C0400003C0400003C04000078000000780000007800000078000 0007800000078000000F0000000F800000FFF800001A1C7E9B1B>I<0007F010001C0C30007002 6000C001E0038000E0070000E00E0000600E0000601C0000403C00004038000040780000007800 000078000000F0000000F0000000F0000000F000FFF0F0000F80F0000780F0000F0070000F0070 000F0038000F0038000F001C001F000C001E000600660003818200007E00001C1E7C9C21>I<07 FF87FF8000F800F80000F000F00000F000F00000F000F00000F000F00000F000F00001E001E000 01E001E00001E001E00001E001E00001E001E00001E001E00003FFFFC00003C003C00003C003C0 0003C003C00003C003C00003C003C0000780078000078007800007800780000780078000078007 800007800780000F000F00000F800F8000FFF0FFF000211C7F9B1F>I<07FF00F800F000F000F0 00F000F001E001E001E001E001E001E003C003C003C003C003C003C00780078007800780078007 800F000F80FFF0101C7F9B0F>I<07FF80FF00F8007800F0006000F0004000F0008000F0010000 F0040001E0080001E0100001E0200001E0400001E0C00001E3E00003C5E00003C9F00003D0F000 03E0F80003C0780003C07C0007803C0007803E0007801E0007801F0007800F0007800F800F0007 800F800FC0FFF03FF0201C7F9B20>75 D<07FFC000F80000F00000F00000F00000F00000F00001 E00001E00001E00001E00001E00001E00003C00003C00003C00003C00003C00003C00407800407 80040780040780080780080780180F00380F00F0FFFFF0161C7E9B1A>I<07F800FF8000F8003C 0000BC00180000BC001000009E001000009F001000008F001000010F80200001078020000107C0 20000103C020000103E020000101E020000200F040000200F04000020078400002007840000200 3C400002003C400004001E800004001F800004000F800004000F8000040007800004000780000C 000300001E00010000FF80010000211C7F9B1F>78 D<0007F00000381C0000E00E0001C0030003 800380070001C00E0001C01E0001E01C0000E03C0000E0380000E0780000F0780000F0780000F0 F00001E0F00001E0F00001E0F00001E0F00003C0F00003C0F00003C0700007807000070078000F 0038001E003C001C001C0038000E00E0000383800000FE00001C1E7C9C20>I<07FFFC0000F80F 0000F0038000F003C000F001C000F001C000F001C001E003C001E003C001E003C001E0038001E0 070001E00E0003C03C0003FFE00003C0000003C0000003C0000003C00000078000000780000007 8000000780000007800000078000000F0000000F800000FFF000001A1C7E9B1C>I<0FFFF80000 F80E0000F0078000F003C000F001C000F001E000F001E001E003C001E003C001E0038001E00700 01E00E0001E03C0003FFE00003C0780003C01C0003C01E0003C00E0003C00F0007801E0007801E 0007801E0007801E0007801E0007801E080F001E100F801E10FFF00E20000003C01D1D7E9B1F> 82 D<003F0400C0CC0180380300380600180E00180E00180E00181E00101E00001F00000F8000 0FF80007FF0003FF8001FFC0003FE00003E00001E00000E00000E04000E04000E04000E04000C0 6001C0E00180F00300CC0E0083F800161E7E9C17>I<1FFFFFF03C07C0F0300780302007802060 0780204007802040078020400F0020800F0020000F0000000F0000000F0000000F0000001E0000 001E0000001E0000001E0000001E0000001E0000003C0000003C0000003C0000003C0000003C00 00003C000000780000007C00001FFFE0001C1C7C9B1E>I<FFF01FF01F0007801E0003001E0002 001E0002001E0002001E0002003C0004003C0004003C0004003C0004003C0004003C0004007800 08007800080078000800780008007800080078000800F0001000F0001000700010007000200070 00200038004000380080001C0100000E0E000001F000001C1D7A9B1F>I<FFE1FFC0FF801F003E 003E000F001E0018000F001E0018000F001E0010000F001E0030000F001E0020000F003E006000 0F802F00400007804F00C00007804F00800007808F01800007808F01000007810F01000007C107 82000003C20782000003C20784000003C60784000003C40788000003CC0788000003C807D00000 01F803D0000001F003E0000001F003E0000001E003C0000001E003C0000001C00380000000C001 800000008001000000291D7B9B2B>87 D<FFE007F81F8001C00F0001800F8001000780020007C0 040003C00C0003C0080003E0100001E0200001F0600000F0400000F8800000F90000007B000000 7E0000003C0000003C000000380000007800000078000000780000007800000078000000700000 00F0000000F800000FFF00001D1C7B9B1F>89 D E /Fq 8 117 df<00000003E00000000007E0 0000000007E0000000000FE0000000001FE0000000003FE0000000007FE000000000FFE0000000 00FFE000000001FFE000000003FFE000000007FFE00000000FFFE00000001F7FE00000001E7FE0 0000003C7FE0000000787FE0000000F87FE0000001F07FE0000003E07FE0000003C07FE0000007 807FE000000F007FE000001F007FE000003E007FE000003C007FE0000078007FE00000F0007FE0 0001E0007FE00003E0007FE00007C0007FE0000780007FE0000F00007FE0001E00007FE0003C00 007FE0007C00007FE000F800007FE000FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFF C0000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE0000000 00FFE000000000FFE000000000FFE000000000FFE0000001FFFFFFC00001FFFFFFC00001FFFFFF C00001FFFFFFC02A377DB631>52 D<0000001FFF000030000001FFFFE000F000000FFFFFFC01F0 00007FFFFFFE03F00001FFFE007F87F00003FFE0000FCFF0000FFF000003FFF0001FFC000001FF F0003FF80000007FF0007FF00000003FF000FFC00000003FF001FFC00000001FF003FF80000000 0FF007FF000000000FF00FFF0000000007F00FFE0000000007F01FFE0000000003F01FFE000000 0003F03FFC0000000003F03FFC0000000001F03FFC0000000001F07FFC0000000001F07FF80000 000001F07FF80000000000007FF8000000000000FFF8000000000000FFF8000000000000FFF800 0000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8 000000000000FFF8000000000000FFF8000000000000FFF80000000000007FF80000000000007F F80000000000007FF80000000000007FFC0000000000F03FFC0000000000F03FFC0000000000F0 3FFC0000000000F01FFE0000000000F01FFE0000000001E00FFE0000000001E00FFF0000000001 E007FF0000000003C003FF8000000003C001FFC0000000078000FFE00000000F00007FF0000000 1F00003FF80000003E00001FFC0000007C00000FFF000001F8000003FFE00007F0000001FFFE00 3FC00000007FFFFFFF000000000FFFFFFC0000000001FFFFF000000000001FFF0000003C3D7BBB 47>67 D<001FFF80000001FFFFF0000003FFFFFC000007F003FF00000FF800FF80001FFC007FC0 001FFC003FE0001FFC003FF0001FFC001FF0000FF8001FF8000FF8001FF80007F0001FF80001C0 001FF8000000001FF8000000001FF8000000001FF8000000FFFFF800000FFFFFF800007FFC1FF8 0001FFC01FF80007FE001FF8000FFC001FF8001FF0001FF8003FF0001FF8007FE0001FF8007FE0 001FF800FFC0001FF800FFC0001FF800FFC0001FF800FFC0001FF800FFC0003FF8007FE0003FF8 007FE0006FF8003FF001CFFC001FFC0787FFF007FFFF07FFF001FFFC03FFF0003FF0007FF02C26 7DA530>97 D<0001FF8000000FFFF800003FFFFE0000FF80FF0001FE003F8007FC001FC00FF800 0FE00FF8000FF01FF00007F03FF00007F83FF00007F87FE00007F87FE00003FC7FE00003FC7FE0 0003FCFFE00003FCFFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFE0000000FFE0000000FFE0000000FF E00000007FE00000007FE00000007FE00000003FE00000003FF000003C1FF000003C1FF000003C 0FF800007807FC0000F803FE0001F001FF0007E000FFC03FC0003FFFFF000007FFFC000000FFE0 0026267DA52D>101 D<00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF000000 0007FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF 0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000 0003FF0000000003FF0000000003FF0000000003FF0000000003FF007FC00003FF01FFF80003FF 07FFFC0003FF0F03FE0003FF1C01FF0003FF3001FF8003FF6000FF8003FFE000FFC003FFC000FF C003FF8000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF 0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF 0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0FFFFFC3FFF FFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF303C7CBB37>104 D<00FF01FF8000FFFF0FFFF0 00FFFF3FFFFC00FFFFFE03FF00FFFFF000FF8003FFC0007FC003FF80003FE003FF00003FF003FF 00001FF803FF00001FFC03FF00000FFC03FF00000FFE03FF00000FFE03FF000007FE03FF000007 FF03FF000007FF03FF000007FF03FF000007FF03FF000007FF03FF000007FF03FF000007FF03FF 000007FF03FF000007FF03FF000007FE03FF000007FE03FF00000FFE03FF00000FFC03FF00000F FC03FF00001FF803FF00001FF803FF00003FF003FF80003FE003FFC0007FC003FFF001FF8003FF FC07FF0003FF3FFFFC0003FF0FFFF00003FF03FF000003FF0000000003FF0000000003FF000000 0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF 0000000003FF0000000003FF0000000003FF00000000FFFFFC000000FFFFFC000000FFFFFC0000 00FFFFFC00000030377DA537>112 D<00FE01FC00FFFE07FF00FFFE0FFF80FFFE1E1FC0FFFE38 3FE007FE707FF003FE607FF003FEC07FF003FEC07FF003FFC03FE003FF803FE003FF801FC003FF 80070003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003 FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000 03FF00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE0000FFFFFE00 00FFFFFE0000FFFFFE000024267EA529>114 D<000F0000000F0000000F0000000F0000000F00 00001F0000001F0000001F0000001F0000003F0000003F0000007F0000007F000000FF000001FF 000003FF000007FF00001FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF003FF000003FF000003FF000003 FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF0000 03FF000003FF000003FF000003FF000003FF000003FF000003FF003C03FF003C03FF003C03FF00 3C03FF003C03FF003C03FF003C03FF003C01FF007801FF807800FF80F0007FC1E0003FFFC0000F FF800001FE001E377EB626>116 D E /Fr 61 122 df<FFFFE0FFFFE080002080002080002000 00000000000000001001001FFF001FFF00100100000000000000000000800020800020800020FF FFE0FFFFE013147F9316>4 D<01F8000604000C0E00180E00180000180000180000FFFE001806 001806001806001806001806001806001806001806001806001806001806007E1F801114809313 >12 D<183870C0800505799311>19 D<4100E380618020802080208041004100820009097F9311 >34 D<0380000640000C20000C20000C20000C40000C80000C81F80700E00600400F0080130100 21810061C200C0C400C06400C03808E03808704E101F83E015147F9319>38 D<40E06020202040408003097D9309>I<02040818103020604040C0C0C0C0C0C0C0C0C0C04040 6020301018080402071E7D950D>I<804020301018080C04040606060606060606060604040C08 181030204080071E7E950D>I<0060000060000060000060000060000060000060000060000060 00006000FFFFF0FFFFF00060000060000060000060000060000060000060000060000060000060 0014167E9119>43 D<40E06020202040408003097D8209>I<FFFF080280860B>I<40E04003037D 8209>I<0F0030C0606060604020C030C030C030C030C030C030C030C030C03040206060606030 C00F000C137E9211>48 D<0C001C00EC000C000C000C000C000C000C000C000C000C000C000C00 0C000C000C000C00FFC00A137D9211>I<1F0060C06060F070F030603000700070006000C001C0 0180020004000810101020207FE0FFE00C137E9211>I<0FC030707038703870380038003000E0 0FC0007000380018001C601CF01CF018E03860701FC00E137F9211>I<006000E000E001600260 06600C600860106020606060C060FFFC0060006000600060006003FC0E137F9211>I<60607FC0 7F8044004000400040004F0070C040E0006000700070E070E070E06040E021C01F000C137E9211 >I<0F00308060404060C020C030C030C0304030607030B00F30003000200060E040E08041003E 000C137E9211>57 D<40E0400000000000000040E06020202040408003137D8C09>59 D<7FFFE0FFFFF0000000000000000000000000000000000000FFFFF07FFFE0140A7E8B19>61 D<003000003000007800007800007800009C00009C00019E00010E00010E000207000207000607 8007FF800403800801C00801C01801E03800E0FE07FC16147F9319>65 D<FFFC001C07001C01C0 1C00E01C00601C00701C00301C00381C00381C00381C00381C00381C00381C00301C00701C0060 1C00E01C01C01C0380FFFC0015147F9319>68 D<FFFF801C03801C00801C00801C00401C00401C 08401C08001C18001FF8001C18001C08001C08201C00201C00201C00601C00401C00C01C01C0FF FFC013147F9316>I<FFFF801C03801C00801C00801C00401C00401C08401C08001C18001FF800 1C18001C08001C08001C00001C00001C00001C00001C00001C0000FFC00012147F9315>I<00FC 200703600C00E0180060300060700020600020E00000E00000E00000E00000E00FF8E000E06000 E07000E03000E01800E00C00E007036000FC2015147E931A>I<0FF800E000E000E000E000E000 E000E000E000E000E000E000E000E000E060E0F0E0F0C061803F000D147F9311>74 D<FFC0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00 401C00401C00401C00C01C00801C01801C0380FFFF8012147F9315>76 D<FE000FE01E000F0017 0017001700170017001700138027001380270011C0470011C0470010E0870010E0870010E08700 1071070010710700103A0700103A0700101C0700101C0700381C0700FE083FE01B147F931E>I< FC01FC1E007017002017802013802011C02010E020107020107020103820101C20100E20100F20 1007201003A01001E01000E01000E0380060FE002016147F9319>I<FFFC001C07001C03801C01 C01C01C01C01C01C01C01C01C01C03801C07001FFC001C00001C00001C00001C00001C00001C00 001C00001C0000FF800012147F9316>80 D<01F800070E001C03803801C03000C07000E0600060 E00070E00070E00070E00070E00070E000706000607000E03000C038F1C01D0B80070E0001FC10 0004100004100006300007E00003E00001C0141A7E9319>I<1F1030F06030C030C010C010E000 70007F003FC00FE000F000380018801880188018C030F0608FC00D147E9312>83 D<7FFFF06070304070104070108070088070088070080070000070000070000070000070000070 0000700000700000700000700000700000700007FF0015147F9318>I<FF81FC1C00701C00201C 00201C00201C00201C00201C00201C00201C00201C00201C00201C00201C00201C00200C00200E 004006008003830000FC0016147F9319>I<FCFCC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 C0C0C0C0C0C0FCFC061D7E9509>91 D<208041004100820082008200C300E380410009097A9311 >I<FCFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0CFCFC061D809509>I<7F00 E1C0E0404060006007E038606060C060C064C06461E43E380E0D7E8C11>97 D<F00030003000300030003000300033E034303808300C30063006300630063006300C38083430 23E00F147F9312>I<0FE0187020706020C000C000C000C000C0006000201018200FC00C0D7F8C 0F>I<00780018001800180018001800180F98187820386018C018C018C018C018C01860182038 18580F9E0F147F9312>I<0F80104020206030C010FFF0C000C000C0006000201018200FC00C0D 7F8C0F>I<03C00CE018E01840180018001800FF00180018001800180018001800180018001800 180018007F000B1480930A>I<0F3C30E62040606060606060204030C02F00600060003FE03FF0 6018C00CC00CC00C601830300FC00F147F8C11>I<F00030003000300030003000300033E03430 3818301830183018301830183018301830183018FC7E0F147F9312>I<2070200000000000F030 30303030303030303030FC06157F9409>I<F000300030003000300030003000307C3030306030 80310033003F80318030C0306030703030FC7C0E147F9311>107 D<F030303030303030303030 3030303030303030FC06147F9309>I<F3E1F0343218381C0C30180C30180C30180C30180C3018 0C30180C30180C30180C30180CFC7E3F180D7F8C1B>I<F3E03430381830183018301830183018 3018301830183018FC7E0F0D7F8C12>I<0FC0186020106018C00CC00CC00CC00CC00C60186018 38700FC00E0D7F8C11>I<F3E034303808300C30063006300630063006300C3808343033E03000 3000300030003000FC000F137F8C12>I<F3C034E038E030403000300030003000300030003000 3000FE000B0D7F8C0D>114 D<3E806180C080C080E0007E003F8003C080C080C0C0C0E1809F00 0A0D7F8C0D>I<10001000100030007000FF803000300030003000300030003000308030803080 11000E0009127F910D>I<F078301830183018301830183018301830183018303818580F9E0F0D 7F8C12>I<F83C301830103830182018200C400C40068006800680030003000E0D7F8C11>I<F87C F8707030305820305820188840188C40188C400D04800D06800D0680060300060300060300150D 7F8C18>I<F87C303018600C400C800700030007800CC0086010603030F07C0E0D7F8C11>I<F83C 301830103830182018200C400C400680068006800300030002000200E400E400E80070000E137F 8C11>I E /Fs 39 122 df<0000FE000003018000060180000C0380001C0180001C0000001800 000038000000380000003800000038000003FFFE0000700E0000700E0000700E0000701C000070 1C0000E01C0000E01C0000E0380000E0380000E0380001C0380001C0720001C0720001C0720001 C07200038034000380180003800000030000000300000007000000C6000000E6000000CC000000 780000001925819C17>12 D<00030006000800180030006000C000C0018003000300060006000C 000C001C0018001800380030003000700070006000600060006000E000E000E000E000E0006000 600060006000600020003000100008000800102A7B9E11>40 D<001000100008000C0004000600 06000600060006000700070007000700070006000600060006000E000E000C000C001C00180018 0038003000300060006000C000C001800300030006000C00180010006000C000102A809E11>I< 183878380808101020404080050C7D830D>44 D<FFC0FFC0FFC00A037D890F>I<3078F0600504 7C830D>I<0000180000001800000038000000380000007800000078000000B800000138000001 380000023C0000021C0000041C00000C1C0000081C0000101C0000101C0000201C0000201C0000 7FFC0000C01C0000801C0001001C0001001E0002000E0002000E0004000E000C000E001C001E00 FF00FFC01A1D7E9C1F>65 D<01FFFFF0003C00F000380030003800200038002000380020007000 2000700020007008200070080000E0100000E0100000E0300000FFF00001C0200001C0200001C0 200001C0200003804000038000000380000003800000070000000700000007000000070000000F 000000FFF000001C1C7E9B1B>70 D<01FFC0003C00003800003800003800003800007000007000 00700000700000E00000E00000E00000E00001C00001C00001C00001C000038002038002038002 03800407000407000C0700180700380E00F0FFFFF0171C7E9B1A>76 D<01FE0001FE003E0001E0 002E0003C0002E0005C0002E0005C0002E0009C0004E000B80004E001380004E00238000470023 8000870047000087004700008700870000870107000107010E000107020E000107040E00010704 0E000207081C000203881C000203901C000203A01C000403A038000403C038000403C038000C03 8038001C03007800FF8307FF00271C7E9B25>I<01FFFE00003C0380003801C0003800E0003800 E0003800E0007001E0007001E0007001E0007001C000E003C000E0038000E0070000E01C0001FF F00001C0000001C0000001C0000003800000038000000380000003800000070000000700000007 000000070000000F000000FFE000001B1C7E9B1C>80 D<000F8400304C00403C00801801001803 001803001806001006001006000007000007000003E00003FC0001FF00007F800007C00001C000 01C00000C00000C02000C02000C0600180600180600300600200F00400CC180083E000161E7D9C 17>83 D<1FFFFFC01C0701C0300E00C0200E0080600E0080400E0080401C0080801C0080801C00 80001C0000003800000038000000380000003800000070000000700000007000000070000000E0 000000E0000000E0000000E0000001C0000001C0000001C0000001C0000003C000007FFE00001A 1C799B1E>I<7FF03FE00F0007000E0006000E0004000E0004000E0004001C0008001C0008001C 0008001C0008003800100038001000380010003800100070002000700020007000200070002000 E0004000E0004000E0004000E0008000E0008000E0010000600200006004000030080000183000 0007C000001B1D789B1F>I<FF83FF07F03C007001C038007001803800F001003800F001003801 700200380170040038027004003802700800380470080038047010003808701000380870200038 10702000383070400038207040001C407080001C407080001C807100001C807100001D00720000 1D007200001E007400001E007400001C003800001C003800001800300000180020000010002000 00241D779B29>87 D<01E307170C0F180F380E300E700E700EE01CE01CE01CE01CE039E039E039 6079319A1E0C10127C9115>97 D<3F00070007000E000E000E000E001C001C001C001C0039E03A 183C0C380C700C700E700E700EE01CE01CE01CE018E038E030E06060C031801E000F1D7C9C13> I<00F803040E041C0E181C300070007000E000E000E000E000E000E0046008601030600F800F12 7C9113>I<0007E00000E00000E00001C00001C00001C00001C000038000038000038000038001 E7000717000C0F00180F00380E00300E00700E00700E00E01C00E01C00E01C00E01C00E03900E0 3900E03900607900319A001E0C00131D7C9C15>I<00F807040C0418023804300470087FF0E000 E000E000E000E00060046008301030600F800F127C9113>I<0003C0000670000C70001C60001C 00001C0000380000380000380000380000380003FF8000700000700000700000700000700000E0 0000E00000E00000E00000E00001C00001C00001C00001C00001C0000380000380000380000300 00030000070000C60000E60000CC00007800001425819C0D>I<0078C001C5C00303C00603C00E 03800C03801C03801C0380380700380700380700380700380E00380E00380E00181E000C7C0007 9C00001C00001C00003800003800C03000E07000C1C0007F0000121A7E9113>I<0FC00001C000 01C0000380000380000380000380000700000700000700000700000E3E000EC3000F03800E0380 1E03801C03801C03801C0380380700380700380700380E00700E40700E40701C40701C80E00C80 600700121D7E9C15>I<01800380010000000000000000000000000000001C002600470047008E 008E000E001C001C001C0038003800710071007100720072003C00091C7C9B0D>I<0FC00001C0 0001C0000380000380000380000380000700000700000700000700000E07800E08800E11C00E21 C01C41801C80001D00001E00003FC00038E000387000387000707100707100707100707200E032 00601C00121D7E9C13>107 D<1F800380038007000700070007000E000E000E000E001C001C00 1C001C0038003800380038007000700070007000E200E200E200E40064003800091D7D9C0B>I< 1C1E0780266318C04683A0E04703C0E08E0380E08E0380E00E0380E00E0380E01C0701C01C0701 C01C0701C01C070380380E0388380E0388380E0708380E0710701C0320300C01C01D127C9122> I<383E004CC3004D03804E03809E03809C03801C03801C0380380700380700380700380E00700E 40700E40701C40701C80E00C8060070012127C9117>I<00F800030C000E06001C030018030030 0300700380700380E00700E00700E00700E00E00E00E00E01C0060180060300030E0000F800011 127C9115>I<03878004C86004D03004E03009C03009C03801C03801C038038070038070038070 0380600700E00700C00701800783000E86000E78000E00000E00001C00001C00001C00001C0000 380000FF0000151A809115>I<01E107130C0F180F380E300E700E700EE01CE01CE01CE01CE038 E038E038607831F01E700070007000E000E000E000E001C00FF8101A7C9113>I<1C3C26424687 47078E068E000E000E001C001C001C001C0038003800380038007000300010127C9112>I<01F0 06080C080C1C18181C001F001FC00FF007F0007800386030E030C030806060C01F000E127D9111 >I<03000700070007000E000E000E000E00FFE01C001C001C0038003800380038007000700070 007000E080E080E100E100660038000B1A7C990E>I<1C01802E03804E03804E03808E07008E07 001C07001C0700380E00380E00380E00380E00301C80301C80301C80383C80184D000F86001112 7C9116>I<1C062E0E4E064E068E028E021C021C02380438043804380830083008301038201840 0F800F127C9113>I<1E01832703874703874703838707018707010E07010E07011C0E021C0E02 1C0E021C0E04180C04181C04181C081C1E080C263007C3C018127C911C>I<0387800CC8400870 E01070E020E0C020E00000E00000E00001C00001C00001C00001C000038100638100E38200C582 0085840078780013127E9113>I<1C01802E03804E03804E03808E07008E07001C07001C070038 0E00380E00380E00380E00301C00301C00301C00383C001878000FB800003800003000007000E0 6000E0C0008180004300003C0000111A7C9114>I E /Ft 20 120 df<07C0180030006000C000 FF00C000C000C000C000C00060801F000A0D7E8C0E>15 D<780618061806300C300C3018303060 6060C061806600DC00E0000F0D7F8C11>23 D<07801FE03040400040003E003E00400080008000 C0807F803E000B0D7F8C10>34 D<40E06020202040408003097D820A>59 D<03E0041008081C0C1C040006000603C60C361816300C600C600C6018C018C0104030606030C0 1F000F147E9312>64 D<003F0001C1C00300600600700C00301800383800387000387000387000 38E00070E00070E00070E000E0E000C06001C07003803806001C1C0007E00015147E9319>79 D<0780184030206040C040FF80C00080008000C020C04061803E000B0D7E8C10>101 D<0018006C007C006C00C000C000C007F800C00180018001800180018003000300030003000300 0200060006006600E400C80070000E1A7F9310>I<06070600000000384C4C8C98181830323264 643808147F930C>105 D<003000380030000000000000000001C0026004300460086000600060 00C000C000C000C001800180018001806300E300C60078000D1A81930E>I<1E0006000C000C00 0C000C0018001838185C189C3118360038003F8061C060C860C860C8C0D0C0600E147F9312>I< 3C0C181818183030303060606060C0C8C8C8D06006147F930A>I<30F87C00590C86004E0D0600 9C0E0600980C0600180C0600180C060030180C0030180C8030181880301818806030190060300E 00190D7F8C1D>I<30F8590C4E0C9C0C980C180C180C30183019303130316032601C100D7F8C15> I<0C78168C130426062606060606060C0C0C0C0C080C101A2019C018001800300030003000FC00 0F13818C11>112 D<0700188019C0318038001E000F0003804180E180C10082007C000A0D7E8C 10>115 D<04000C000C000C001800FF8018001800300030003000300060006100610062006400 380009127F910D>I<380C4C0C4C0C8C18981818181818303030323032307218B40F1C0F0D7F8C 14>I<38104C184C108C10981018101810302030203040304018800F000D0D7F8C11>I<3818204C 18704C18208C302098302018302018302030604030604030604030608018B1000F1E00140D7F8C 18>I E /Fu 30 121 df<003800007F0000878001030001000001800001800001C00000C00000 E00000E00000700000F80003B800063C000C1C00181C00381C00701C00701C00E01C00E01C00E0 1C00E01C00E01800E0380060300070600038C0000F8000111E7F9D12>14 D<007800CC0186030606060E060C061C07180738063806300E700E700E7FFEE01CE01CE01CE018 E038C038C070C060C060C0C0C180618062003C00101D7E9C13>18 D<07800001C00001E00000E0 0000E00000F000007000007000007800003800003800003C00001C00001C00001E00000E00001E 00003F0000670000C7000187800303800603800E03C01C01C03801C07001E0E000E0C000F0141D 7E9C18>21 D<7E00600E00E00E00E00E00E01C01C01C01C01C03801C0300380700380E00380C00 38180070300070600071C000730000FC0000F0000013127E9115>23 D<00010000020000020000 0200000200000400000400000400000400000800000800007E0001C9800710E00C106018107038 1030702030702030E02070E02070E04070E040E0E040E06041C06083803086001C9C0007E00001 000001000001000001000002000002000002000002000014257E9C19>30 D<00FC03FE0E07180010002000200010C017201FE0200040004000800080008004400860303FE0 0F8010147F9213>34 D<60F0F06004047C830C>58 D<60F0F0701010101020204080040C7C830C >I<0000038000000F0000003C000000F0000003C000000F0000003C000000F0000003C000000F 0000003C000000F0000000F00000003C0000000F00000003C0000000F00000003C0000000F0000 0003C0000000F00000003C0000000F000000038019187D9520>I<00010003000600060006000C 000C000C0018001800180030003000300060006000C000C000C001800180018003000300030006 0006000C000C000C00180018001800300030003000600060006000C000C00010297E9E15>I<E0 000000780000001E0000000780000001E0000000780000001E0000000780000001E00000007800 00001E00000007800000078000001E00000078000001E00000078000001E00000078000001E000 00078000001E00000078000000E000000019187D9520>I<003E0000C3000100C00200C0030060 07806007807003003000003000003000003000FC700382700601700C01701800F03800E03000E0 7000E07001C0E001C0E001C0E00180E00380E00300E00600E00600600C003018001860000F8000 141F7E9D16>64 D<01FFE0003C0000380000380000380000380000700000700000700000700000 E00000E00000E00000E00001C00001C00001C00001C00003800203800203800203800407000407 000C0700180700380E00F0FFFFF0171C7E9B1C>76 D<01FFFE00003C03C0003800E0003800F000 38007000380070007000F0007000F0007000F0007001E000E001C000E0078000E01E0000FFF000 01C0380001C00C0001C00E0001C00E0003800E0003800E0003800E0003800E0007001E0007001E 0807001E0807001E100F000F10FFE00F20000003C01D1D7E9B20>82 D<01F0030C0C0C1C1E383C 301870007000E000E000E000E000E000E0046008601030601F800F127E9112>99 D<0007E00000E00000E00001C00001C00001C00001C000038000038000038000038001E7000717 000C0F00180F00380E00300E00700E00700E00E01C00E01C00E01C00E01C00E03880E03880E038 806078803199001E0E00131D7E9C16>I<0001E0000630000E78000EF0001C60001C00001C0000 1C00001C0000380000380003FFC000380000380000700000700000700000700000700000E00000 E00000E00000E00000E00001C00001C00001C00001C00001C000018000038000038000630000F3 0000F60000E4000078000015257E9C14>102 D<01C003C003C001800000000000000000000000 001C00270047004700870087000E000E001C001C001C003800388038807080710032001C000A1C 7E9B0E>105 D<0007000F000F00060000000000000000000000000078009C010C020C021C041C 001C001C0038003800380038007000700070007000E000E000E000E001C061C0F180F300E6007C 001024809B11>I<0FC00001C00001C00003800003800003800003800007000007000007000007 00000E07000E08800E11C00E23C01C47801C83001D00001E00003FC00038E00038700038700070 7100707100707100707200E03200601C00121D7E9C16>I<1F800380038007000700070007000E 000E000E000E001C001C001C001C0038003800380038007000700070007000E200E200E200E400 64003800091D7F9C0C>I<381F81F04E20C6184640E81C4680F01C8F00F01C8E00E01C0E00E01C 0E00E01C1C01C0381C01C0381C01C0381C01C0703803807138038071380380E1380380E2700700 643003003820127E9124>I<3C1F004E61804681C04701C08F01C08E01C00E01C00E01C01C0380 1C03801C03801C0700380710380710380E10380E2070064030038014127E9119>I<07878009C8 6008D03008E03011C03011C03801C03801C0380380700380700380700380600700E00700C00701 800783000E86000E78000E00000E00001C00001C00001C00001C00003C0000FF0000151A819115 >112 D<01F0060C0C040C0E180C1C001F000FE00FF003F80038201C7018F018F010803060601F 800F127E9113>115 D<00C001C001C001C00380038003800380FFF00700070007000E000E000E 000E001C001C001C001C00382038203840384018800F000C1A80990F>I<1C00C02701C04701C0 4701C08703808703800E03800E03801C07001C07001C07001C0700180E20180E20180E201C1E20 0C264007C38013127E9118>I<1C03270747074703870187010E010E011C021C021C021C041804 180818081C100C2007C010127E9114>I<1C00C0802701C1C04701C1C04701C0C0870380408703 80400E0380400E0380401C0700801C0700801C0700801C07010018060100180601001C0E02001C 0F04000E13080003E1F0001A127E911E>I<07878008C84010F0C020F1E020E3C040E18000E000 00E00001C00001C00001C00001C000638080F38080F38100E5810084C60078780013127E9118> I E /Fv 11 120 df<FFFFFFC0000000FFFFFFF0FFFFFFE0000000FFFFFFF0FFFFFFF0000000FF FFFFF0FFFFFFF8000000FFFFFFF0FFFFFFFC000000FFFFFFF0001FFFFC000000007FE000001FFF FE000000001F8000001FFFFF000000001F8000001FFFFF800000001F8000001FFFFFC00000001F 8000001FBFFFE00000001F8000001F9FFFE00000001F8000001F9FFFF00000001F8000001F8FFF F80000001F8000001F87FFFC0000001F8000001F83FFFE0000001F8000001F81FFFF0000001F80 00001F80FFFF0000001F8000001F80FFFF8000001F8000001F807FFFC000001F8000001F803FFF E000001F8000001F801FFFF000001F8000001F800FFFF800001F8000001F8007FFF800001F8000 001F8007FFFC00001F8000001F8003FFFE00001F8000001F8001FFFF00001F8000001F8000FFFF 80001F8000001F80007FFFC0001F8000001F80003FFFC0001F8000001F80003FFFE0001F800000 1F80001FFFF0001F8000001F80000FFFF8001F8000001F800007FFFC001F8000001F800003FFFE 001F8000001F800001FFFF001F8000001F800001FFFF001F8000001F800000FFFF801F8000001F 8000007FFFC01F8000001F8000003FFFE01F8000001F8000001FFFF01F8000001F8000000FFFF8 1F8000001F8000000FFFF81F8000001F80000007FFFC1F8000001F80000003FFFE1F8000001F80 000001FFFF1F8000001F80000000FFFF9F8000001F800000007FFFDF8000001F800000007FFFDF 8000001F800000003FFFFF8000001F800000001FFFFF8000001F800000000FFFFF8000001F8000 000007FFFF8000001F8000000003FFFF8000001F8000000003FFFF8000001F8000000001FFFF80 00001F8000000000FFFF8000001F80000000007FFF8000001F80000000003FFF8000001F800000 00001FFF8000001F80000000001FFF8000001F80000000000FFF8000001F800000000007FF8000 001F800000000003FF8000001F800000000001FF8000007FE00000000000FF8000FFFFFFF00000 0000FF8000FFFFFFF0000000007F8000FFFFFFF0000000003F8000FFFFFFF0000000001F8000FF FFFFF0000000000F000054477CC65D>78 D<0007FFFC000000007FFFFFC0000001FFFFFFF80000 03FFFFFFFE000007FE001FFF000007FF0003FFC0000FFF8001FFE0000FFF8000FFF0000FFF8000 7FF0000FFF80007FF8000FFF80007FF80007FF00003FFC0007FF00003FFC0003FE00003FFC0000 F800003FFC00000000003FFC00000000003FFC00000000003FFC00000000003FFC00000007FFFF FC000000FFFFFFFC000007FFFFFFFC00003FFFE03FFC0000FFFE003FFC0003FFF0003FFC0007FF C0003FFC000FFF00003FFC001FFE00003FFC003FFC00003FFC007FF800003FFC007FF800003FFC 00FFF000003FFC00FFF000003FFC00FFF000003FFC00FFF000003FFC00FFF000003FFC00FFF000 007FFC007FF80000FFFC007FF80001EFFC003FFC0003EFFC003FFF0007CFFF000FFFC03F8FFFF8 07FFFFFF07FFFC01FFFFFC03FFFC007FFFF001FFFC0003FF80007FF8362E7DAD3A>97 D<00001FFE00000001FFFFE0000007FFFFF800001FFFFFFE00007FFC07FF0000FFE001FF8001FF C0007FC003FF80003FE007FF00003FF00FFE00001FF01FFE00000FF81FFC00000FF83FFC00000F FC3FFC000007FC7FFC000007FC7FF8000007FC7FF8000007FE7FF8000007FEFFF8000007FEFFF8 000007FEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFCFFF800000000FFF8000000 00FFF800000000FFF8000000007FF8000000007FF8000000007FFC000000003FFC000000003FFC 000000003FFC0000001C1FFE0000003E0FFE0000003E0FFF0000007E07FF000000FC03FF800001 F801FFC00003F0007FF0001FE0003FFE00FFC0001FFFFFFF800007FFFFFE000000FFFFF8000000 0FFF80002F2E7DAD36>101 D<007FC000000000FFFFC000000000FFFFC000000000FFFFC00000 0000FFFFC000000000FFFFC00000000003FFC00000000001FFC00000000001FFC00000000001FF C00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000 0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0 0000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000 01FFC0007FFFF801FFC0007FFFF801FFC0007FFFF801FFC0007FFFF801FFC0007FFFF801FFC000 07FE0001FFC00007F00001FFC0000FE00001FFC0003FC00001FFC0007F800001FFC000FE000001 FFC001FC000001FFC007F8000001FFC00FF0000001FFC01FC0000001FFC03F80000001FFC0FF00 000001FFC1FE00000001FFC3FF00000001FFCFFF80000001FFDFFFC0000001FFFFFFC0000001FF FFFFE0000001FFFFFFF0000001FFFCFFF8000001FFF87FFC000001FFE03FFC000001FFC01FFE00 0001FFC01FFF000001FFC00FFF800001FFC007FFC00001FFC003FFC00001FFC001FFE00001FFC0 01FFF00001FFC000FFF80001FFC0007FFC0001FFC0003FFC0001FFC0001FFE0001FFC0000FFF00 01FFC0000FFF8001FFC0000FFFC0FFFFFF807FFFFFFFFFFF807FFFFFFFFFFF807FFFFFFFFFFF80 7FFFFFFFFFFF807FFFFF38487CC73F>107 D<007FC000FFFFC000FFFFC000FFFFC000FFFFC000 FFFFC00003FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0 0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001 FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000 01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0 0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF C00001FFC00001FFC00001FFC000FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF8019487CC720 >I<00000FFF0000000000FFFFF000000007FFFFFE0000001FFFFFFF8000003FFC03FFC00000FF E0007FF00001FF80001FF80003FF00000FFC0007FE000007FE000FFE000007FF000FFC000003FF 001FFC000003FF803FFC000003FFC03FF8000001FFC03FF8000001FFC07FF8000001FFE07FF800 0001FFE07FF8000001FFE0FFF8000001FFF0FFF8000001FFF0FFF8000001FFF0FFF8000001FFF0 FFF8000001FFF0FFF8000001FFF0FFF8000001FFF0FFF8000001FFF0FFF8000001FFF0FFF80000 01FFF07FF8000001FFE07FF8000001FFE07FF8000001FFE07FF8000001FFE03FFC000003FFC03F FC000003FFC01FFC000003FF801FFE000007FF800FFE000007FF0007FF00000FFE0003FF80001F FC0001FFC0003FF80000FFE0007FF000007FFC03FFE000001FFFFFFF80000007FFFFFE00000000 FFFFF0000000000FFF000000342E7DAD3B>111 D<00FF803F8000FFFF80FFF000FFFF83FFFC00 FFFF87FFFE00FFFF8FC3FF00FFFF8F07FF0003FF9E0FFF8001FFBC0FFF8001FFB80FFF8001FFF8 0FFF8001FFF00FFF8001FFF007FF0001FFF007FF0001FFE003FE0001FFE000F80001FFE0000000 01FFE000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0 00000001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0000000 01FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0 00000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0000000FFFFFFE00000 FFFFFFE00000FFFFFFE00000FFFFFFE00000FFFFFFE00000292E7CAD31>114 D<000FFF00E0007FFFE3E001FFFFFFE007FFFFFFE00FF801FFE01FC0003FE03F80000FE03F0000 07E07F000007E07F000003E0FF000003E0FF000003E0FF800003E0FFC00003E0FFF0000000FFFE 000000FFFFF800007FFFFFC0007FFFFFF0003FFFFFFC001FFFFFFF000FFFFFFF8007FFFFFFC003 FFFFFFE000FFFFFFF0003FFFFFF00003FFFFF800001FFFF8000000FFFC0000001FFC7800000FFC F8000007FCF8000003FCFC000003FCFC000003FCFE000003F8FE000003F8FF000003F8FF800007 F0FFC0000FF0FFF0001FE0FFFC00FFC0FFFFFFFF80FC7FFFFE00F81FFFF800E003FF8000262E7C AD2F>I<0001F000000001F000000001F000000001F000000001F000000001F000000003F00000 0003F000000003F000000007F000000007F000000007F00000000FF00000000FF00000001FF000 00003FF00000003FF00000007FF0000001FFF0000003FFF000000FFFFFFFE0FFFFFFFFE0FFFFFF FFE0FFFFFFFFE0FFFFFFFFE000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FF F0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000 FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF00000 00FFF0000000FFF0000000FFF000F800FFF000F800FFF000F800FFF000F800FFF000F800FFF000 F800FFF000F800FFF000F800FFF000F8007FF001F0007FF801F0003FF803E0003FFC03E0001FFE 0FC0000FFFFF800003FFFF000000FFFE0000001FF00025427EC12E>I<007FE000003FF000FFFF E0007FFFF000FFFFE0007FFFF000FFFFE0007FFFF000FFFFE0007FFFF000FFFFE0007FFFF00003 FFE00001FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF000 01FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF0 0001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FF F00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000 FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE000 00FFF00001FFE00000FFF00001FFE00000FFF00001FFE00001FFF00001FFE00001FFF00001FFE0 0001FFF00001FFE00003FFF00000FFE00007FFF00000FFE0000F7FF000007FE0001F7FF000007F F0003E7FF800003FFC00FC7FFFE0001FFFFFF87FFFE00007FFFFE07FFFE00001FFFF807FFFE000 003FFE007FFFE03B2E7CAD42>I<FFFFFF07FFFFE003FFFEFFFFFF07FFFFE003FFFEFFFFFF07FF FFE003FFFEFFFFFF07FFFFE003FFFEFFFFFF07FFFFE003FFFE03FFC0001FFC00003FC003FFE000 0FFC00001F8001FFE0000FFC00001F0001FFE0000FFE00001F0001FFF00007FE00003F0000FFF0 000FFF00003E0000FFF8000FFF00007E00007FF8000FFF00007C00007FF8001FFF80007C00007F FC001FFF8000FC00003FFC003FFFC000F800003FFE003EFFC001F800001FFE003EFFE001F00000 1FFE007EFFE001F000001FFF007C7FE003F000000FFF00FC7FF003E000000FFF80F83FF007E000 0007FF80F83FF807C0000007FF81F83FF807C0000007FFC1F01FF80FC0000003FFC3F01FFC0F80 000003FFE3E00FFC1F80000001FFE3E00FFE1F00000001FFE7E00FFE1F00000001FFF7C007FE3F 00000000FFFFC007FF3E00000000FFFF8003FF7E000000007FFF8003FFFC000000007FFF8003FF FC000000007FFF0001FFFC000000003FFF0001FFF8000000003FFE0000FFF8000000001FFE0000 FFF0000000001FFE0000FFF0000000001FFC00007FF0000000000FFC00007FE0000000000FF800 003FE00000000007F800003FC00000000007F800003FC00000000003F000001F800000000001E0 00000F0000004F2E7DAD56>119 D E /Fw 11 115 df<FFFFFF80FFFFFF8019027D8A20>0 D<60F0F06004047C8B0C>I<03C00FF01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFF7FFE7FFE3FFC1F F80FF003C010107E9115>15 D<000001800000078000001E00000078000001E00000078000001E 00000078000001E00000078000001E00000078000000E0000000780000001E0000000780000001 E0000000780000001E0000000780000001E0000000780000001E00000007800000018000000000 0000000000000000000000000000000000000000000000007FFFFF00FFFFFF8019227D9920>20 D<C0000000F00000003C0000000F00000003C0000000F00000003C0000000F00000003C0000000 F00000003C0000000F000000038000000F0000003C000000F0000003C000000F0000003C000000 F0000003C000000F0000003C00000070000000C000000000000000000000000000000000000000 0000000000000000000000007FFFFF00FFFFFF8019227D9920>I<00C000000001800000000180 00000001800000000300000000030000000006000000000C000000001C000000003000000000FF FFFFFFF0FFFFFFFFF030000000001C000000000C00000000060000000003000000000300000000 01800000000180000000018000000000C000000024167D942A>32 D<0000600000600000C00000 C0000180000180000180000300000300000600000600000C00000C000018000018000018000030 0000300000600000600000C00000C0000180000180000300000300000300000600000600000C00 000C0000180000180000300000300000300000600000600000C0000040000013287A9D00>54 D<003C00E001C00180038003800380038003800380038003800380038003800380038003000700 1C00F0001C00070003000380038003800380038003800380038003800380038003800380018001 C000E0003C0E297D9E15>102 D<F0001C00070003000380038003800380038003800380038003 800380038003800380018001C000E0003C00E001C0018003800380038003800380038003800380 03800380038003800380030007001C00F0000E297D9E15>I<C0C0C0C0C0C0C0C0C0C0C0C0C0C0 C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C002297B9E0C>106 D<FFFFFFFCFFFFFFFC7FFFFFF878000018380000103C0000301C0000200E0000400E0000400700 008007000080038001000380010001C0020001C0020000E0040000E00400007008000070080000 38100000381000001C2000001E2000000E4000000F400000078000000780000003000000030000 1E1D7E9B23>114 D E /Fx 81 125 df<FFFFFEFFFFFEFFFFFE80000280000280000280000200 00000000000000000800200800200FFFE00FFFE00FFFE008002008002000000000000000000000 0000800002800002800002800002FFFFFEFFFFFEFFFFFE171C7E9B1C>4 D<FFFFFF0078001F007C0007003E0003001E0001001F0001800F8000800780008007C0008003E0 000001E0000001F0000000F8000000780000007800000030000000200000004000000080008001 000080020000800200018004000180080003001000070020001F007FFFFF00FFFFFF00191C7E9B 1E>6 D<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C0000E01C0000E01C0000E01C0 000E01C0000E01C000FFFFFC000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01 C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0007F 87FC001A1D809C18>11 D<007E0001C1800301800703C00E03C00E01800E00000E00000E00000E 00000E0000FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E 01C00E01C00E01C00E01C00E01C00E01C07F87F8151D809C17>I<007FC001C1C00303C00703C0 0E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFFFC00E01C00E01C00E01C00E01C00E01C0 0E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07FCFF8151D80 9C17>I<003F07E00001C09C18000380F018000701F03C000E01E03C000E00E018000E00E00000 0E00E000000E00E000000E00E000000E00E00000FFFFFFFC000E00E01C000E00E01C000E00E01C 000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E0 1C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C007FC7FCFF80211D809C23>I< 6060F0F0F8F86868080808080808101010102020404080800D0C7F9C15>34 D<00E000000310000006080000060800000E0800000E0800000E0800000E0800000E1000000E10 00000E2000000740000007403FE007800F8007800600038004000780040009C0080011C0100030 E0100020F0200060702000E0384000E03C8000E01C8000E00F0020E0070020700780403009C040 1830E1800FC03F001B1F7E9D20>38 D<60F0F8680808081010204080050C7C9C0C>I<00800100 020006000C000C00180018003000300030006000600060006000E000E000E000E000E000E000E0 00E000E000E000E000E0006000600060006000300030003000180018000C000C00060002000100 0080092A7C9E10>I<8000400020003000180018000C000C000600060006000300030003000300 03800380038003800380038003800380038003800380038003000300030003000600060006000C 000C00180018003000200040008000092A7E9E10>I<0006000000060000000600000006000000 0600000006000000060000000600000006000000060000000600000006000000060000FFFFFFE0 FFFFFFE00006000000060000000600000006000000060000000600000006000000060000000600 00000600000006000000060000000600001B1C7E9720>43 D<60F0F0701010101020204080040C 7C830C>I<FFE0FFE00B0280890E>I<60F0F06004047C830C>I<00010003000600060006000C00 0C000C0018001800180030003000300060006000C000C000C00180018001800300030003000600 06000C000C000C00180018001800300030003000600060006000C000C00010297E9E15>I<03C0 0C301818300C300C700E60066006E007E007E007E007E007E007E007E007E007E007E007E007E0 0760066006700E300C300C18180C3007E0101D7E9B15>I<010007003F00C70007000700070007 000700070007000700070007000700070007000700070007000700070007000700070007000700 FFF80D1C7C9B15>I<07C01830201C400C400EF00FF80FF807F8077007000F000E000E001C001C 00380070006000C00180030006010C01180110023FFE7FFEFFFE101C7E9B15>I<07E01830201C 201C781E780E781E381E001C001C00180030006007C00030001C001C000E000F000F700FF80FF8 0FF80FF00E401C201C183007C0101D7E9B15>I<000C00000C00001C00003C00003C00005C0000 DC00009C00011C00031C00021C00041C000C1C00081C00101C00301C00201C00401C00C01C00FF FFC0001C00001C00001C00001C00001C00001C00001C0001FFC0121C7F9B15>I<300C3FF83FF0 3FC020002000200020002000200023E02C303018301C200E000E000F000F000F600FF00FF00FF0 0F800E401E401C2038187007C0101D7E9B15>I<00F0030C04040C0E181E301E300C7000700060 00E3E0E430E818F00CF00EE006E007E007E007E007E007600760077006300E300C18180C3003E0 101D7E9B15>I<4000007FFF807FFF007FFF004002008004008004008008000010000010000020 0000600000400000C00000C00001C0000180000180000380000380000380000380000780000780 00078000078000078000078000030000111D7E9B15>I<03E00C301008200C2006600660067006 70067C0C3E183FB01FE007F007F818FC307E601E600FC007C003C003C003C00360026004300C1C 1007E0101D7E9B15>I<03C00C301818300C700C600EE006E006E007E007E007E007E007600770 0F300F18170C2707C700060006000E300C780C78187018203010C00F80101D7E9B15>I<60F0F0 600000000000000000000060F0F06004127C910C>I<60F0F0600000000000000000000060F0F0 701010101020204080041A7C910C>I<7FFFFFC0FFFFFFE0000000000000000000000000000000 0000000000000000000000000000000000FFFFFFE07FFFFFC01B0C7E8F20>61 D<000600000006000000060000000F0000000F0000000F000000178000001780000037C0000023 C0000023C0000043E0000041E0000041E0000080F0000080F0000080F000010078000100780001 FFF80002003C0002003C0002003C0004001E0004001E000C001F000C000F001E001F00FF00FFF0 1C1D7F9C1F>65 D<FFFFC0000F0078000F003C000F001E000F000E000F000F000F000F000F000F 000F000F000F000E000F001E000F003C000F00F8000FFFF0000F003C000F001E000F000F000F00 07000F0007800F0007800F0007800F0007800F0007800F000F000F000F000F001E000F007800FF FFE000191C7F9B1D>I<001F808000E0618001801980070007800E0003801C0003801C00018038 000180780000807800008070000080F0000000F0000000F0000000F0000000F0000000F0000000 F0000000F0000000700000807800008078000080380000801C0001001C0001000E000200070004 000180080000E03000001FC000191E7E9C1E>I<FFFFC0000F00F0000F003C000F000E000F0007 000F0007000F0003800F0003C00F0001C00F0001C00F0001E00F0001E00F0001E00F0001E00F00 01E00F0001E00F0001E00F0001E00F0001C00F0001C00F0003C00F0003800F0007800F0007000F 000E000F001C000F007000FFFFC0001B1C7E9B20>I<FFFFFC0F003C0F000C0F00040F00040F00 060F00020F00020F01020F01000F01000F01000F03000FFF000F03000F01000F01000F01000F01 010F00010F00020F00020F00020F00060F00060F000C0F003CFFFFFC181C7E9B1C>I<FFFFF80F 00780F00180F00080F00080F000C0F00040F00040F01040F01000F01000F01000F03000FFF000F 03000F01000F01000F01000F01000F00000F00000F00000F00000F00000F00000F00000F0000FF F800161C7E9B1B>I<001F808000E0618001801980070007800E0003801C0003801C0001803800 0180780000807800008070000080F0000000F0000000F0000000F0000000F0000000F0000000F0 00FFF0F0000F80700007807800078078000780380007801C0007801C0007800E00078007000B80 0180118000E06080001F80001C1E7E9C21>I<FFF0FFF00F000F000F000F000F000F000F000F00 0F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000FFFFF000F000F 000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00 0F000F000F000F000F00FFF0FFF01C1C7F9B1F>I<FFF00F000F000F000F000F000F000F000F00 0F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00FFF00C 1C7F9B0F>I<07FF80007C00003C00003C00003C00003C00003C00003C00003C00003C00003C00 003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00703C00F83C00F83C00 F8380070780040700030E0000F8000111D7F9B15>I<FFF01FE00F0007800F0006000F0004000F 0008000F0010000F0020000F0040000F0080000F0100000F0200000F0600000F0F00000F178000 0F2780000F43C0000F81E0000F01E0000F00F0000F0078000F0078000F003C000F003E000F001E 000F000F000F000F800F000FC0FFF03FF01C1C7F9B20>I<FFF8000F80000F00000F00000F0000 0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000 0F00080F00080F00080F00180F00180F00100F00300F00700F01F0FFFFF0151C7E9B1A>I<FF80 00FF800F8000F8000F8000F8000BC00178000BC00178000BC001780009E002780009E002780008 F004780008F004780008F0047800087808780008780878000878087800083C107800083C107800 083C107800081E207800081E207800081E207800080F407800080F407800080780780008078078 00080780780008030078001C03007800FF8307FF80211C7E9B26>I<FF001FF00F8003800FC001 000BC0010009E0010008F0010008F0010008780100083C0100083E0100081E0100080F0100080F 8100080781000803C1000801E1000801F1000800F1000800790008007D0008003D0008001F0008 001F0008000F0008000700080003001C000300FF8001001C1C7F9B1F>I<003F800000E0E00003 80380007001C000E000E001C0007003C00078038000380780003C0780003C0700001C0F00001E0 F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C0780003C0780003 C0380003803C0007801C0007000E000E0007001C000380380000E0E000003F80001B1E7E9C20> I<FFFF800F00E00F00780F003C0F001C0F001E0F001E0F001E0F001E0F001E0F001C0F003C0F00 780F00E00FFF800F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00 000F0000FFF000171C7E9B1C>I<FFFF00000F01E0000F0078000F003C000F001C000F001E000F 001E000F001E000F001E000F001C000F003C000F0078000F01E0000FFF00000F01E0000F007000 0F0078000F003C000F003C000F003C000F003C000F003C000F003C000F003C100F003C100F001C 100F001C10FFF00E20000003C01C1D7E9B1F>82 D<07E0801C1980300580300380600180E00180 E00080E00080E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80000F800007C0 0003C00001C08001C08001C08001C0C00180C00180E00300D00200CC0C0083F800121E7E9C17> I<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020800F0020000F 0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000 0F0000000F0000000F0000000F0000000F0000000F0000000F0000001F800003FFFC001B1C7F9B 1E>I<FFF01FF00F0003800F0001000F0001000F0001000F0001000F0001000F0001000F000100 0F0001000F0001000F0001000F0001000F0001000F0001000F0001000F0001000F0001000F0001 000F0001000F0001000F00010007000200078002000380040001C0040000E0180000706000000F 80001C1D7F9B1F>I<FFE00FF01F0003C01F0001800F0001000F000100078002000780020007C0 020003C0040003C0040003E00C0001E0080001E0080000F0100000F0100000F810000078200000 782000003C4000003C4000003C4000001E8000001E8000001F8000000F0000000F000000060000 00060000000600001C1D7F9B1F>I<FFE1FFC0FF1F003E003C1E003C00180F001E00100F001E00 100F001E001007801F002007801F002007801F002003C027804003C027804003C027804001E043 C08001E043C08001E043C08000F081E10000F081E10000F081E10000F900F300007900F2000079 00F200007E007E00003E007C00003E007C00003C003C00001C003800001C003800001800180000 08001000281D7F9B2B>I<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 C0C0C0C0C0C0C0C0C0C0C0FEFE07297C9E0C>91 D<08081010202040404040808080808080B0B0 F8F8787830300D0C7A9C15>I<FEFE060606060606060606060606060606060606060606060606 06060606060606060606060606FEFE0729809E0C>I<1FC000307000783800781C00301C00001C 00001C0001FC000F1C00381C00701C00601C00E01C40E01C40E01C40603C40304E801F87001212 7E9115>97 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0000 1C7C001D87001E01801C00C01C00E01C00601C00701C00701C00701C00701C00701C00701C0060 1C00E01C00C01E018019070010FC00141D7F9C17>I<03F80C0C181E301E700C6000E000E000E0 00E000E000E00060007002300218040C1803E00F127F9112>I<001F8000038000038000038000 038000038000038000038000038000038000038003F3800E0B80180780300380700380600380E0 0380E00380E00380E00380E00380E003806003807003803003801807800E1B8003E3F0141D7F9C 17>I<07E00C301818300C700E6006E006FFFEE000E000E000E00060007002300218040C1803E0 0F127F9112>I<00F8018C071E061E0E0C0E000E000E000E000E000E00FFE00E000E000E000E00 0E000E000E000E000E000E000E000E000E000E000E000E007FE00F1D809C0D>I<00038007C4C0 1C78C0383880301800701C00701C00701C00701C003018003838001C700027C000200000200000 3000003FF8001FFF001FFF802003806001C0C000C0C000C0C000C06001803003001C0E0007F800 121C7F9215>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00 001C7C001C87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03 801C03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C0018000000000000000000 000000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C 00FF80091D7F9C0C>I<00C001E001E000C0000000000000000000000000000007E000E000E000 E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E060E0F0C0 F1C061803E000B25839C0D>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00 001C00001C00001C0FE01C07801C06001C0C001C10001C20001C40001CE0001DE0001E70001C78 001C38001C3C001C1C001C0E001C0F001C0F80FF9FE0131D7F9C16>I<FC001C001C001C001C00 1C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C 001C001C001C00FF80091D7F9C0C>I<FC7E07E0001C838838001D019018001E01E01C001C01C0 1C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01 C01C001C01C01C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C 87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C 03801C03801C0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180E001C0 E001C0E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F00012127F9115> I<FC7C001D87001E01801C01C01C00E01C00E01C00701C00701C00701C00701C00701C00701C00 E01C00E01C01C01E01801D07001CFC001C00001C00001C00001C00001C00001C00001C0000FF80 00141A7F9117>I<03E0800E1980180580380780700380700380E00380E00380E00380E00380E0 0380E003807003807003803807801807800E1B8003E38000038000038000038000038000038000 0380000380001FF0141A7F9116>I<FCE01D381E781E781C301C001C001C001C001C001C001C00 1C001C001C001C001C00FFC00D127F9110>I<1F9020704030C010C010E010F8007F803FE00FF0 00F880388018C018C018E010D0608FC00D127F9110>I<04000400040004000C000C001C003C00 FFE01C001C001C001C001C001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F 9910>I<FC1F801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03 801C03801C03801C07800C07800E1B8003E3F014127F9117>I<FF07E03C03801C01001C01000E 02000E02000F060007040007040003880003880003C80001D00001D00000E00000E00000E00000 400013127F9116>I<FF3FC7E03C0703C01C0701801C0701001C0B01000E0B82000E0B82000E11 82000711C4000711C4000720C40003A0E80003A0E80003C0680001C0700001C070000180300000 8020001B127F911E>I<FF0FE01E07001C06000E040007080003900003B00001E00000E00000F0 0001F000013800021C00041C000C0E001807003C0780FE1FF014127F9116>I<FF07E03C03801C 01001C01000E02000E02000F060007040007040003880003880003C80001D00001D00000E00000 E00000E000004000004000008000008000F08000F10000F30000660000380000131A7F9116>I< 7FFC70386038407040F040E041C003C0038007000F040E041C043C0C380870087038FFF80E127F 9112>I<FFFFFFFFFF802901808B2A>124 D E /Fy 36 122 df<FFF8FFF8FFF8FFF80D04808A10 >45 D<00038000000380000007C0000007C0000007C000000FE000000FE000001FF000001BF000 003BF8000031F8000031F8000060FC000060FC0000E0FE0000C07E0000C07E0001803F0001FFFF 0003FFFF8003001F8007001FC006000FC006000FC00C0007E00C0007E0FF803FFEFF803FFE1F1C 7E9B24>65 D<001FE02000FFF8E003F80FE007C003E00F8001E01F0000E03E0000E03E0000607E 0000607C000060FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000 7C0000607E0000603E0000603E0000C01F0000C00F80018007C0030003F80E0000FFFC00001FE0 001B1C7D9B22>67 D<FFFFF800FFFFFF000FC01FC00FC007E00FC001F00FC001F80FC000F80FC0 00FC0FC0007C0FC0007C0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0F C0007E0FC0007C0FC0007C0FC0007C0FC000F80FC000F80FC001F00FC007E00FC01FC0FFFFFF00 FFFFF8001F1C7E9B25>I<FFFFFF00FFFFFF000FC01F000FC007000FC003000FC003800FC00380 0FC0C1800FC0C1800FC0C1800FC1C0000FC3C0000FFFC0000FFFC0000FC3C0000FC1C0000FC0C0 000FC0C0600FC0C0600FC000E00FC000C00FC000C00FC001C00FC001C00FC003C00FC00F80FFFF FF80FFFFFF801B1C7E9B1F>I<FFFFFF00FFFFFF000FC01F000FC007000FC003000FC003800FC0 03800FC001800FC0C1800FC0C1800FC0C0000FC1C0000FC3C0000FFFC0000FFFC0000FC3C0000F C1C0000FC0C0000FC0C0000FC0C0000FC000000FC000000FC000000FC000000FC000000FC00000 FFFE0000FFFE0000191C7E9B1E>I<FFFCFFFC0FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0 0FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0FFFCFFFC0E1C7E9B12>73 D<FFFE00FFFE000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0 000FC0000FC0000FC0000FC0000FC0030FC0030FC0030FC0070FC0070FC0060FC00E0FC01E0FC0 7EFFFFFEFFFFFE181C7E9B1D>76 D<FFC00003FFFFE00007FF0FE00007F00DF0000DF00DF0000D F00DF0000DF00CF80019F00CF80019F00C7C0031F00C7C0031F00C3E0061F00C3E0061F00C1F00 C1F00C1F00C1F00C1F00C1F00C0F8181F00C0F8181F00C07C301F00C07C301F00C03E601F00C03 E601F00C01FC01F00C01FC01F00C01FC01F00C00F801F00C00F801F0FFC0701FFFFFC0701FFF28 1C7E9B2D>I<FFE003FFFFE003FF0FF000300FF800300DFC00300CFE00300C7E00300C3F00300C 1F80300C1FC0300C0FE0300C07F0300C03F0300C01F8300C01FC300C00FE300C007F300C003F30 0C001FB00C001FF00C000FF00C0007F00C0003F00C0001F00C0000F00C0000F0FFC00070FFC000 30201C7E9B25>I<003FE00001F07C0003C01E000F800F801F0007C01E0003C03E0003E07E0003 F07C0001F07C0001F0FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC00 01F87C0001F07E0003F07E0003F03E0003E03F0007E01F0007C00F800F8003C01E0001F07C0000 3FE0001D1C7D9B24>I<07F8201FFEE03C07E07801E07000E0F000E0F00060F00060F80000FE00 00FFE0007FFE003FFF003FFF800FFFC007FFE0007FE00003F00001F00000F0C000F0C000F0C000 E0E000E0F001C0FC03C0EFFF0083FC00141C7D9B1B>83 D<7FFFFFE07FFFFFE0781F81E0701F80 E0601F8060E01F8070C01F8030C01F8030C01F8030C01F8030001F8000001F8000001F8000001F 8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000 1F8000001F8000001F800007FFFE0007FFFE001C1C7E9B21>I<FFFC01FF80FFFC01FF800FC000 18000FE000380007E000300007F000700003F000600003F800600001F800C00001F800C00000FC 01800000FC01800000FE038000007E030000007F070000003F060000003F860000001F8C000000 1F8C0000000FD80000000FD80000000FF800000007F000000007F000000003E000000003E00000 0001C000000001C00000211C7F9B24>86 D<FFF87FFE0FFCFFF87FFE0FFC0FC007E000C00FC007 F000C00FE003F001C007E003F0018007E007F8018007F007F8038003F00FFC030003F00CFC0300 01F80CFC060001F81CFE060001FC187E0E0000FC187E0C0000FC303F0C0000FE303F1C00007E70 3F9800007E601F9800003F601FB000003FE01FF000003FC00FF000001FC00FE000001F8007E000 001F8007E000000F8007C000000F0003C0000007000380000007000380002E1C7F9B31>I<7FFE 1FFE007FFE1FFE0007F001800003F803800001F807000001FC06000000FE0C0000007F1C000000 3F380000003FB00000001FE00000000FE00000000FE000000007F000000003F800000007F80000 000FFC0000000CFE000000187E000000387F000000703F800000601FC00000C01FC00001C00FE0 00038007F000030003F000FFF01FFF80FFF01FFF80211C7F9B24>I<FFFC00FF80FFFC00FF800F E000180007F000300007F000700003F800600001FC00C00000FE01C00000FE018000007F030000 003F870000003F860000001FCE0000000FFC0000000FF800000007F800000003F000000003F000 000003F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0 0000003FFF0000003FFF0000211C7F9B24>I<0FF8001C1E003E0F803E07803E07C01C07C00007 C0007FC007E7C01F07C03C07C07C07C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117 >97 D<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F3F80 1FE1E01F80701F00781F003C1F003C1F003E1F003E1F003E1F003E1F003E1F003E1F003C1F003C 1F00781F80701EC1E01C3F00171D7F9C1B>I<03FC000E0E001C1F003C1F00781F00780E00F800 00F80000F80000F80000F80000F800007800007801803C01801C03000E0E0003F80011127E9115 >I<000FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F001F9F00F 07F01C03F03C01F07801F07801F0F801F0F801F0F801F0F801F0F801F0F801F07801F07801F03C 01F01C03F00F0FFE03F9FE171D7E9C1B>I<03FC000F07001C03803C01C07801C07801E0F801E0 F801E0FFFFE0F80000F80000F800007800007800603C00601E00C00F038001FC0013127F9116> I<03F0F00E1F383C0F383807307807807807807807807807803807003C0F001E1C0033F0003000 003000003000003FFF003FFFC01FFFE01FFFF07801F8F00078F00078F000787000707800F01E03 C007FF00151B7F9118>103 D<1E003F003F003F003F001E000000000000000000000000007F00 7F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFC0FFC00A1E7F9D0E >105 D<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F03 FC1F03FC1F01C01F03001F0E001F1C001F38001F78001FFC001FBE001F1F001F0F001F0F801F07 C01F03E01F01E0FFE7FEFFE7FE171D7F9C19>107 D<FF00FF001F001F001F001F001F001F001F 001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0 FFE00B1D7F9C0E>I<FF0FC07E00FF31E18F001F40F207801F80FC07C01F80FC07C01F00F807C0 1F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807 C01F00F807C01F00F807C0FFE7FF3FF8FFE7FF3FF825127F9128>I<FF0FC0FF31E01F40F01F80 F81F80F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE7 FFFFE7FF18127F911B>I<01FC000F07801C01C03C01E07800F07800F0F800F8F800F8F800F8F8 00F8F800F8F800F87800F07800F03C01E01E03C00F078001FC0015127F9118>I<FF3F80FFE1E0 1F80F01F00781F007C1F003C1F003E1F003E1F003E1F003E1F003E1F003E1F003C1F007C1F0078 1F80F01FC1E01F3F001F00001F00001F00001F00001F00001F0000FFE000FFE000171A7F911B> I<FE3E00FE47001E8F801E8F801E8F801F07001F00001F00001F00001F00001F00001F00001F00 001F00001F00001F0000FFE000FFE00011127F9114>114 D<1FD830786018E018E018F000FF80 7FE07FF01FF807FC007CC01CC01CE01CE018F830CFC00E127E9113>I<03000300030003000700 07000F000F003FFCFFFC1F001F001F001F001F001F001F001F001F001F0C1F0C1F0C1F0C0F0807 9803F00E1A7F9913>I<FF07F8FF07F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00 F81F00F81F00F81F00F81F00F81F01F80F01F80786FF01F8FF18127F911B>I<FF8FF8FEFF8FF8 FE1F03E0301F03E0301F03E0300F87F0600F86F0600FC6F8E007CC78C007CC78C003FC7D8003F8 3D8003F83F8001F01F0001F01F0000F01E0000E00E0000E00E001F127F9122>119 D<FFC1FCFFC1FC1F00601F80600F80C00F80C007C18007C18003E30003E30003F70001F60001FE 0000FC0000FC00007800007800003000003000006000706000F8E000F8C000F980007300003E00 00161A7F9119>121 D E /Fz 52 122 df<000FF83F00007FFDFFC001F81FE3E003E03F87E007 C03F87E00F803F07E00F803F03C00F801F00000F801F00000F801F00000F801F00000F801F0000 0F801F0000FFFFFFFC00FFFFFFFC000F801F00000F801F00000F801F00000F801F00000F801F00 000F801F00000F801F00000F801F00000F801F00000F801F00000F801F00000F801F00000F801F 00000F801F00000F801F00000F801F00000F801F00000F801F00007FF0FFF0007FF0FFF0002323 7FA221>11 D<000FF000007FFC0001F80E0003E01F0007C03F000F803F000F803F000F801E000F 800C000F8000000F8000000F8000000F800000FFFFFF00FFFFFF000F801F000F801F000F801F00 0F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F 000F801F000F801F000F801F000F801F000F801F007FF0FFE07FF0FFE01B237FA21F>I<FFFCFF FCFFFCFFFC0E047F8C13>45 D<387CFEFEFE7C3807077C8610>I<00180000780001F800FFF800 FFF80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F800 01F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F800 7FFFE07FFFE013207C9F1C>49 D<03FC000FFF003C1FC07007E07C07F0FE03F0FE03F8FE03F8FE 01F87C01F83803F80003F80003F00003F00007E00007C0000F80001F00003E0000380000700000 E01801C0180380180700180E00380FFFF01FFFF03FFFF07FFFF0FFFFF0FFFFF015207D9F1C>I< 00FE0007FFC00F07E01E03F03F03F03F81F83F81F83F81F81F03F81F03F00003F00003E00007C0 001F8001FE0001FF000007C00001F00001F80000FC0000FC3C00FE7E00FEFF00FEFF00FEFF00FE FF00FC7E01FC7801F81E07F00FFFC001FE0017207E9F1C>I<0000E00001E00003E00003E00007 E0000FE0001FE0001FE00037E00077E000E7E001C7E00187E00307E00707E00E07E00C07E01807 E03807E07007E0E007E0FFFFFFFFFFFF0007E00007E00007E00007E00007E00007E00007E000FF FF00FFFF18207E9F1C>I<3000203E01E03FFFC03FFF803FFF003FFE003FF80033C00030000030 000030000030000031FC0037FF003E0FC03807E03003E00003F00003F00003F80003F83803F87C 03F8FE03F8FE03F8FC03F0FC03F07007E03007C03C1F800FFF0003F80015207D9F1C>I<001F80 00FFE003E07007C0F00F01F81F01F83E01F83E01F87E00F07C00007C0000FC0800FC7FC0FCFFE0 FD80F0FF00F8FE007CFE007CFC007EFC007EFC007EFC007E7C007E7C007E7C007E3C007C3E007C 1E00F80F00F00783E003FFC000FF0017207E9F1C>I<387CFEFEFE7C380000000000000000387C FEFEFE7C3807167C9510>58 D<000070000000007000000000F800000000F800000000F8000000 01FC00000001FC00000003FE00000003FE00000003FE000000067F000000067F0000000C7F8000 000C3F8000000C3F800000181FC00000181FC00000301FE00000300FE00000700FF000006007F0 00006007F00000C007F80000FFFFF80001FFFFFC00018001FC00018001FC00030001FE00030000 FE00070000FF000600007F000600007F00FFE007FFF8FFE007FFF825227EA12A>65 D<FFFFFF8000FFFFFFF00007F001F80007F000FC0007F0007E0007F0007E0007F0007F0007F000 7F0007F0007F0007F0007F0007F0007F0007F0007E0007F000FE0007F000FC0007F003F80007FF FFF00007FFFFF00007F001FC0007F0007E0007F0003F0007F0003F8007F0001F8007F0001FC007 F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0003F8007F0003F8007F0007F00 07F001FE00FFFFFFF800FFFFFFC00022227EA128>I<0003FE0080001FFF818000FF01E38001F8 003F8003E0001F8007C0000F800F800007801F800007803F000003803F000003807F000001807E 000001807E00000180FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000 FE00000000FE000000007E000000007E000001807F000001803F000001803F000003801F800003 000F8000030007C000060003F0000C0001F800380000FF00F000001FFFC0000003FE000021227D A128>I<FFFFFF8000FFFFFFF00007F003FC0007F0007E0007F0003F0007F0001F8007F0000FC0 07F00007E007F00007E007F00007F007F00003F007F00003F007F00003F007F00003F807F00003 F807F00003F807F00003F807F00003F807F00003F807F00003F807F00003F807F00003F807F000 03F007F00003F007F00003F007F00007E007F00007E007F0000FC007F0001F8007F0003F0007F0 007E0007F003FC00FFFFFFF000FFFFFF800025227EA12B>I<FFFFFFFCFFFFFFFC07F000FC07F0 003C07F0001C07F0000C07F0000E07F0000E07F0000607F00C0607F00C0607F00C0607F00C0007 F01C0007F03C0007FFFC0007FFFC0007F03C0007F01C0007F00C0007F00C0007F00C0307F00C03 07F0000307F0000607F0000607F0000607F0000E07F0000E07F0001E07F0003E07F001FCFFFFFF FCFFFFFFFC20227EA125>I<FFFFFFF8FFFFFFF807F001F807F0007807F0003807F0001807F000 1C07F0001C07F0000C07F0000C07F0180C07F0180C07F0180007F0180007F0380007F0780007FF F80007FFF80007F0780007F0380007F0180007F0180007F0180007F0180007F0000007F0000007 F0000007F0000007F0000007F0000007F0000007F00000FFFFC000FFFFC0001E227EA123>I<00 03FE0040001FFFC0C0007F00F1C001F8003FC003F0000FC007C00007C00FC00003C01F800003C0 3F000001C03F000001C07F000000C07E000000C07E000000C0FE00000000FE00000000FE000000 00FE00000000FE00000000FE00000000FE00000000FE000FFFFC7E000FFFFC7F00001FC07F0000 1FC03F00001FC03F00001FC01F80001FC00FC0001FC007E0001FC003F0001FC001FC003FC0007F 80E7C0001FFFC3C00003FF00C026227DA12C>I<FFFF83FFFEFFFF83FFFE07F0001FC007F0001F C007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F000 1FC007F0001FC007F0001FC007F0001FC007FFFFFFC007FFFFFFC007F0001FC007F0001FC007F0 001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007 F0001FC007F0001FC007F0001FC007F0001FC007F0001FC0FFFF83FFFEFFFF83FFFE27227EA12C >I<FFFF80FFFF8007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007 F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007 F00007F00007F00007F00007F00007F00007F000FFFF80FFFF8011227EA115>I<FFFFC000FFFF C00007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007 F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000 07F0001807F0001807F0001807F0001807F0003807F0003807F0007007F0007007F000F007F001 F007F007F0FFFFFFF0FFFFFFF01D227EA122>76 D<FFF000000FFFFFF800001FFF07F800001FE0 06FC000037E006FC000037E006FC000037E0067E000067E0067E000067E0063F0000C7E0063F00 00C7E0061F800187E0061F800187E0060FC00307E0060FC00307E0060FC00307E00607E00607E0 0607E00607E00603F00C07E00603F00C07E00601F81807E00601F81807E00601F81807E00600FC 3007E00600FC3007E006007E6007E006007E6007E006003FC007E006003FC007E006001F8007E0 06001F8007E006001F8007E006000F0007E0FFF00F00FFFFFFF00600FFFF30227EA135>I<FFF8 001FFEFFFC001FFE07FC0000C007FE0000C006FF0000C0067F8000C0063FC000C0061FE000C006 0FE000C0060FF000C00607F800C00603FC00C00601FE00C00600FE00C00600FF00C006007F80C0 06003FC0C006001FE0C006000FF0C0060007F0C0060007F8C0060003FCC0060001FEC0060000FF C00600007FC00600007FC00600003FC00600001FC00600000FC006000007C006000003C0060000 03C0FFF00001C0FFF00000C027227EA12C>I<FFFFFF00FFFFFFE007F007F007F001FC07F000FC 07F0007E07F0007E07F0007F07F0007F07F0007F07F0007F07F0007F07F0007E07F0007E07F000 FC07F001FC07F007F007FFFFE007FFFF0007F0000007F0000007F0000007F0000007F0000007F0 000007F0000007F0000007F0000007F0000007F0000007F0000007F00000FFFF8000FFFF800020 227EA126>80 D<01FE0207FF861F01FE3C007E7C001E78000E78000EF80006F80006FC0006FC00 00FF0000FFE0007FFF007FFFC03FFFF01FFFF80FFFFC03FFFE003FFE0003FE00007F00003F0000 3FC0001FC0001FC0001FE0001EE0001EF0003CFC003CFF00F8C7FFE080FF8018227DA11F>83 D<7FFFFFFF807FFFFFFF807E03F80F807803F807807003F803806003F80180E003F801C0E003F8 01C0C003F800C0C003F800C0C003F800C0C003F800C00003F800000003F800000003F800000003 F800000003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 03F800000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 0003F8000001FFFFF00001FFFFF00022227EA127>I<FFFF803FFCFFFF803FFC07F000018007F0 00018007F000018007F000018007F000018007F000018007F000018007F000018007F000018007 F000018007F000018007F000018007F000018007F000018007F000018007F000018007F0000180 07F000018007F000018007F000018007F000018007F000018007F000018007F000018003F00003 0003F800030001F800060000FC000E00007E001C00003F80F800000FFFE0000001FF000026227E A12B>I<FFFF000FFEFFFF000FFE07F00000C007F00000C003F800018003F800018003FC000380 01FC00030001FE00030000FE00060000FF000600007F000C00007F000C00007F801C00003F8018 00003FC03800001FC03000001FE03000000FE06000000FE060000007F0C0000007F0C0000007F9 C0000003F980000003FD80000001FF00000001FF00000000FE00000000FE00000000FE00000000 7C000000007C00000000380000000038000027227FA12A>I<FFFF0FFFF00FFEFFFF0FFFF00FFE 0FF000FF0000E007F0007F0000C007F0007F0000C003F8003F80018003F8003F80018003FC003F C0018001FC003FC0030001FC003FC0030001FE007FE0070000FE006FE0060000FE006FE0060000 7F00C7F00C00007F00C7F00C00007F81C7F80C00003F8183F81800003F8183F81800003FC301FC 3800001FC301FC3000001FC301FE3000000FE600FE6000000FE600FE6000000FFE00FFE0000007 FC007FC0000007FC007FC0000003F8003F80000003F8003F80000003F8003F80000001F0001F00 000001F0001F00000001F0001F00000000E0000E00000000E0000E000037227FA13A>I<0FFC00 3FFF807E07C07E03E07E01E07E01F03C01F00001F00001F0003FF003FDF01FC1F03F01F07E01F0 FC01F0FC01F0FC01F0FC01F07E02F07E0CF81FF87F07E03F18167E951B>97 D<FF000000FF0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F00 00001F0000001F0000001F0000001F0FE0001F3FF8001FE07C001F803E001F001F001F000F801F 000F801F000FC01F000FC01F000FC01F000FC01F000FC01F000FC01F000FC01F000FC01F000F80 1F001F801F801F001FC03E001EE07C001C3FF800180FC0001A237EA21F>I<00FF8007FFE00F83 F01F03F03E03F07E03F07C01E07C0000FC0000FC0000FC0000FC0000FC0000FC00007C00007E00 007E00003E00181F00300FC06007FFC000FF0015167E9519>I<0001FE000001FE0000003E0000 003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00 01FC3E0007FFBE000F81FE001F007E003E003E007E003E007C003E00FC003E00FC003E00FC003E 00FC003E00FC003E00FC003E00FC003E00FC003E007C003E007C003E003E007E001F00FE000F83 BE0007FF3FC001FC3FC01A237EA21F>I<00FE0007FF800F87C01E01E03E01F07C00F07C00F8FC 00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC00007C00007C00007E00003E00181F00300FC07003 FFC000FF0015167E951A>I<001FC0007FE000F1F001E3F003E3F007C3F007C1E007C00007C000 07C00007C00007C00007C000FFFE00FFFE0007C00007C00007C00007C00007C00007C00007C000 07C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0003FFC003FFC00 142380A211>I<01FE0F0007FFBF800F87C7801F03E7801E01E0003E01F0003E01F0003E01F000 3E01F0003E01F0001E01E0001F03E0000F87C0000FFF800009FE000018000000180000001C0000 001FFFE0000FFFF80007FFFE001FFFFF003C003F0078000F80F0000780F0000780F0000780F000 078078000F003C001E001F007C000FFFF80001FFC00019217F951C>I<FF000000FF0000001F00 00001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F 0000001F07E0001F1FF8001F307C001F403C001F803E001F803E001F003E001F003E001F003E00 1F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E 001F003E00FFE1FFC0FFE1FFC01A237EA21F>I<1C003E007F007F007F003E001C000000000000 000000000000000000FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F00 1F001F001F001F001F00FFE0FFE00B247EA310>I<FF000000FF0000001F0000001F0000001F00 00001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F00FF801F 00FF801F0038001F0060001F01C0001F0380001F0700001F0E00001F1C00001F7E00001FFF0000 1FCF00001F0F80001F07C0001F03E0001F01E0001F01F0001F00F8001F007C001F003C00FFE0FF C0FFE0FFC01A237EA21E>107 D<FF00FF001F001F001F001F001F001F001F001F001F001F001F 001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00 1F00FFE0FFE00B237EA210>I<FF07F007F000FF1FFC1FFC001F303E303E001F403E403E001F80 1F801F001F801F801F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F 001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00 1F001F001F001F001F001F001F001F00FFE0FFE0FFE0FFE0FFE0FFE02B167E9530>I<FF07E000 FF1FF8001F307C001F403C001F803E001F803E001F003E001F003E001F003E001F003E001F003E 001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E00FFE1 FFC0FFE1FFC01A167E951F>I<00FE0007FFC00F83E01E00F03E00F87C007C7C007C7C007CFC00 7EFC007EFC007EFC007EFC007EFC007EFC007E7C007C7C007C3E00F81F01F00F83E007FFC000FE 0017167E951C>I<FF0FE000FF3FF8001FE07C001F803E001F001F001F001F801F001F801F000F C01F000FC01F000FC01F000FC01F000FC01F000FC01F000FC01F000FC01F001F801F001F801F80 3F001FC03E001FE0FC001F3FF8001F0FC0001F0000001F0000001F0000001F0000001F0000001F 0000001F0000001F000000FFE00000FFE000001A207E951F>I<FE1F00FE3FC01E67E01EC7E01E 87E01E87E01F83C01F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F 00001F00001F0000FFF000FFF00013167E9517>114 D<0FF3003FFF00781F00600700E00300E0 0300F00300FC00007FE0007FF8003FFE000FFF0001FF00000F80C00780C00380E00380E00380F0 0700FC0E00EFFC00C7F00011167E9516>I<018000018000018000018000038000038000078000 0780000F80003F8000FFFF00FFFF000F80000F80000F80000F80000F80000F80000F80000F8000 0F80000F80000F80000F81800F81800F81800F81800F81800F830007C30003FE0000F80011207F 9F16>I<FF01FE00FF01FE001F003E001F003E001F003E001F003E001F003E001F003E001F003E 001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F007E001F00 FE000F81BE0007FF3FC001FC3FC01A167E951F>I<FFE01FE0FFE01FE01F8007000F8006000FC0 0E0007C00C0007E00C0003E0180003E0180001F0300001F0300000F8600000F86000007CC00000 7CC000007FC000003F8000003F8000001F0000001F0000000E0000000E00001B167F951E>I<FF E3FF07F8FFE3FF07F81F007800C01F807C01C00F807C01800F807C018007C07E030007C0DE0300 07C0DE070003E1DF060003E18F060001F18F8C0001F3078C0001F3078C0000FF07D80000FE03D8 0000FE03F800007C01F000007C01F000003C01E000003800E000003800E00025167F9528>I<FF E07FC0FFE07FC00F801C0007C0380003E0700003F0600001F8C00000F98000007F8000003F0000 001F0000001F8000003FC0000037C0000063E00000C1F00001C0F8000380FC0007007E000E003E 00FF80FFE0FF80FFE01B167F951E>I<FFE01FE0FFE01FE01F8007000F8006000FC00E0007C00C 0007E00C0003E0180003E0180001F0300001F0300000F8600000F86000007CC000007CC000007F C000003F8000003F8000001F0000001F0000000E0000000E0000000C0000000C00000018000078 180000FC380000FC300000FC60000069C000007F8000001F0000001B207F951E>I E /FA 40 122 df<FFFF80FFFF80FFFF80FFFF80FFFF80FFFF8011067F9017>45 D<1C003E007F00FF80FF80FF807F003E001C0009097B8813>I<000E00001E00007E0007FE00FF FE00FFFE00F8FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000 FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000 FE0000FE0000FE0000FE0000FE0000FE007FFFFE7FFFFE7FFFFE17277BA622>49 D<00FF800003FFF0000FFFFC001F03FE003800FF007C007F80FE003FC0FF003FC0FF003FE0FF00 1FE0FF001FE07E001FE03C003FE000003FE000003FC000003FC000007F8000007F000000FE0000 00FC000001F8000003F0000003E00000078000000F0000001E0000003C00E0007000E000E000E0 01C001C0038001C0070001C00FFFFFC01FFFFFC03FFFFFC07FFFFFC0FFFFFF80FFFFFF80FFFFFF 801B277DA622>I<007F800003FFF00007FFF8000F81FE001F00FE003F80FF003F807F803F807F 803F807F801F807F800F007F800000FF000000FF000000FE000001FC000001F8000007F00000FF C00000FFF0000001FC000000FE0000007F0000007F8000003FC000003FC000003FE000003FE03C 003FE07E003FE0FF003FE0FF003FE0FF003FC0FF007FC07E007F807C007F003F01FE001FFFFC00 07FFF00000FF80001B277DA622>I<00000E0000001E0000003E0000007E000000FE000000FE00 0001FE000003FE0000077E00000E7E00000E7E00001C7E0000387E0000707E0000E07E0000E07E 0001C07E0003807E0007007E000E007E000E007E001C007E0038007E0070007E00E0007E00FFFF FFF8FFFFFFF8FFFFFFF80000FE000000FE000000FE000000FE000000FE000000FE000000FE0000 00FE00003FFFF8003FFFF8003FFFF81D277EA622>I<080003001F803F001FFFFE001FFFFC001F FFF8001FFFF0001FFFE0001FFF80001FFE00001C0000001C0000001C0000001C0000001C000000 1C0000001C7FC0001DFFF8001F80FC001E003E0008003F0000003F8000001FC000001FC000001F E000001FE018001FE07C001FE0FE001FE0FE001FE0FE001FE0FE001FC0FC001FC078003F807800 3F803C007F001F01FE000FFFF80003FFF00000FF80001B277DA622>I<0007F800003FFE0000FF FF0001FC078003F00F8007E01FC00FC01FC01FC01FC01F801FC03F800F803F8000007F0000007F 0000007F000000FF000000FF0FC000FF3FF800FF707C00FFC03E00FFC03F00FF801F80FF801FC0 FF001FC0FF001FE0FF001FE0FF001FE07F001FE07F001FE07F001FE07F001FE03F001FE03F001F C01F801FC01F803F800FC03F0007E07E0003FFFC0000FFF000003FC0001B277DA622>I<FFFFFF FC0000FFFFFFFF8000FFFFFFFFC00003F8001FF00003F8000FF80003F80007FC0003F80003FC00 03F80003FC0003F80003FE0003F80001FE0003F80001FE0003F80001FE0003F80003FE0003F800 03FC0003F80003FC0003F80007F80003F8000FF00003F8001FE00003F800FFC00003FFFFFE0000 03FFFFFFE00003F80007F00003F80003FC0003F80001FE0003F80001FE0003F80000FF0003F800 00FF0003F80000FF8003F80000FF8003F80000FF8003F80000FF8003F80000FF8003F80000FF80 03F80000FF0003F80001FF0003F80003FE0003F80007FC0003F8001FF800FFFFFFFFF000FFFFFF FFC000FFFFFFFE000029297DA831>66 D<FFFFFFFFE0FFFFFFFFE0FFFFFFFFE003FC001FE003FC 0007F003FC0001F003FC0001F003FC0000F003FC00007003FC00007003FC00007003FC00007803 FC00E03803FC00E03803FC00E03803FC00E00003FC01E00003FC01E00003FC07E00003FFFFE000 03FFFFE00003FFFFE00003FC07E00003FC01E00003FC01E00003FC00E00003FC00E00003FC00E0 0003FC00E00003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00 000003FC00000003FC000000FFFFFC0000FFFFFC0000FFFFFC000025297EA82B>70 D<FFFFF01FFFFEFFFFF01FFFFEFFFFF01FFFFE03FC00007F8003FC00007F8003FC00007F8003FC 00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F 8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FFFFFFFF8003FF FFFFFF8003FFFFFFFF8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F 8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC 00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F80FFFFF01FFF FEFFFFF01FFFFEFFFFF01FFFFE2F297DA836>72 D<FFFFF001FFFCFFFFF001FFFCFFFFF001FFFC 03FC00001E0003FC00003C0003FC0000780003FC0000F00003FC0001E00003FC0003C00003FC00 07000003FC001E000003FC003C000003FC0078000003FC00F0000003FC01E0000003FC03800000 03FC07C0000003FC1FC0000003FC3FE0000003FC7FF0000003FCFFF8000003FDE7F8000003FF83 FC000003FF01FE000003FE01FF000003FC00FF000003FC007F800003FC003FC00003FC003FC000 03FC001FE00003FC000FF00003FC000FF80003FC0007F80003FC0003FC0003FC0001FE0003FC00 01FF0003FC0000FF0003FC00007F80FFFFF00FFFFEFFFFF00FFFFEFFFFF00FFFFE2F297DA836> 75 D<FFFFFC0000FFFFFC0000FFFFFC000003FC00000003FC00000003FC00000003FC00000003 FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000000 03FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0000 0003FC00000003FC0000E003FC0000E003FC0000E003FC0000E003FC0001E003FC0001C003FC00 01C003FC0003C003FC0003C003FC0007C003FC0007C003FC000FC003FC003FC003FC00FF80FFFF FFFF80FFFFFFFF80FFFFFFFF8023297EA829>I<FFFE0000001FFFC0FFFE0000001FFFC0FFFF00 00003FFFC003FF0000003FF00003FF0000003FF00003BF80000077F00003BF80000077F000039F C00000E7F000039FC00000E7F000038FE00001C7F000038FE00001C7F0000387F0000387F00003 87F0000387F0000387F0000387F0000383F8000707F0000383F8000707F0000381FC000E07F000 0381FC000E07F0000380FE001C07F0000380FE001C07F0000380FF003807F00003807F003807F0 0003807F003807F00003803F807007F00003803F807007F00003801FC0E007F00003801FC0E007 F00003800FE1C007F00003800FE1C007F00003800FE1C007F000038007F38007F000038007F380 07F000038003FF0007F000038003FF0007F000038001FE0007F000038001FE0007F000038000FC 0007F000038000FC0007F000FFFE00FC01FFFFC0FFFE007801FFFFC0FFFE007801FFFFC03A297D A841>I<FFFC0000FFFEFFFE0000FFFEFFFF0000FFFE03FF8000038003FF8000038003BFC00003 80039FE0000380039FF0000380038FF80003800387F80003800383FC0003800381FE0003800381 FF0003800380FF80038003807FC0038003803FC0038003801FE0038003800FF0038003800FF803 80038007FC0380038003FC0380038001FE0380038000FF0380038000FF83800380007FC3800380 003FE3800380001FE3800380000FF38003800007FB8003800007FF8003800003FF8003800001FF 8003800000FF80038000007F80038000007F80038000003F80038000001F80038000000F80FFFE 00000780FFFE00000380FFFE000003802F297DA836>I<FFFFFFE00000FFFFFFFE0000FFFFFFFF 800003FC007FE00003FC000FF00003FC0007F80003FC0007FC0003FC0003FC0003FC0003FE0003 FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FC0003FC0007 F80003FC0007F80003FC001FE00003FC007FC00003FFFFFE000003FFFFF8000003FC00FC000003 FC007F000003FC003F800003FC003F800003FC001FC00003FC001FE00003FC001FE00003FC001F E00003FC001FE00003FC001FE00003FC001FF00003FC001FF00003FC001FF00003FC001FF00703 FC001FF80703FC000FF80703FC0007F80EFFFFF003FE1CFFFFF001FFF8FFFFF0003FF030297DA8 34>82 D<007F806003FFF0E007FFF9E00F807FE01F001FE03E0007E07C0003E07C0001E0FC0001 E0FC0001E0FC0000E0FE0000E0FE0000E0FF000000FFC000007FFE00007FFFE0003FFFFC001FFF FE000FFFFF8007FFFFC003FFFFC0007FFFE00007FFF000007FF000000FF8000007F8000003F860 0001F8E00001F8E00001F8E00001F8F00001F0F00001F0F80003F0FC0003E0FF0007C0FFE01F80 F3FFFF00E1FFFE00C01FF0001D297CA826>I<7FFFFFFFFFC07FFFFFFFFFC07FFFFFFFFFC07F80 3FC03FC07E003FC007C078003FC003C078003FC003C070003FC001C0F0003FC001E0F0003FC001 E0E0003FC000E0E0003FC000E0E0003FC000E0E0003FC000E0E0003FC000E000003FC000000000 3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000 0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000 3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000 0000003FC00000007FFFFFE000007FFFFFE000007FFFFFE0002B287EA730>I<FFFFF001FFFCFF FFF001FFFCFFFFF001FFFC03FC0000070003FC0000070003FC0000070003FC0000070003FC0000 070003FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003 FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC0000 070003FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003 FC0000070003FC0000070003FC0000070003FC0000070001FC00000E0001FE00000E0000FE0000 1C00007E00001C00007F00003800003FC000F000000FF007E0000007FFFFC0000001FFFF000000 001FF800002E297DA835>I<03FF80000FFFF0001F01F8003F807E003F807E003F803F001F003F 800E003F8000003F8000003F8000003F80000FFF8000FFFF8007FC3F800FE03F803F803F803F00 3F807F003F80FE003F80FE003F80FE003F80FE003F807E007F807F00DF803F839FFC0FFF0FFC01 FC03FC1E1B7E9A21>97 D<FFE0000000FFE0000000FFE00000000FE00000000FE00000000FE000 00000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0 0000000FE00000000FE1FE00000FE7FF80000FFE07E0000FF801F0000FF000F8000FE000FC000F E000FE000FE0007F000FE0007F000FE0007F000FE0007F800FE0007F800FE0007F800FE0007F80 0FE0007F800FE0007F800FE0007F800FE0007F000FE0007F000FE0007F000FE000FE000FE000FC 000FF001F8000FF803F0000F9E0FE0000F0FFF80000E01FC0000212A7EA926>I<003FF80000FF FE0003F01F0007E03F800FC03F801F803F803F801F007F000E007F0000007F000000FF000000FF 000000FF000000FF000000FF000000FF000000FF0000007F0000007F0000007F8000003F8001C0 1F8001C00FC0038007E0070003F01E0000FFFC00003FE0001A1B7E9A1F>I<00003FF80000003F F80000003FF800000003F800000003F800000003F800000003F800000003F800000003F8000000 03F800000003F800000003F800000003F800000003F800000003F800001FE3F80000FFFBF80003 F83FF80007E00FF8000FC007F8001F8003F8003F8003F8007F0003F8007F0003F8007F0003F800 FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F8007F0003F8 007F0003F8007F0003F8003F8003F8001F8003F8000F8007F80007C00FF80003F03FFF8000FFF3 FF80003FC3FF80212A7EA926>I<003FE00001FFF80003F07E0007C01F000F801F801F800F803F 800FC07F000FC07F0007C07F0007E0FF0007E0FF0007E0FFFFFFE0FFFFFFE0FF000000FF000000 FF0000007F0000007F0000007F0000003F8000E01F8000E00FC001C007E0038003F81F0000FFFE 00001FF0001B1B7E9A20>I<0007F0003FFC00FE3E01F87F03F87F03F07F07F07F07F03E07F000 07F00007F00007F00007F00007F00007F000FFFFC0FFFFC0FFFFC007F00007F00007F00007F000 07F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000 07F00007F00007F00007F0007FFF807FFF807FFF80182A7EA915>I<00FF81F003FFE7F80FC1FE 7C1F80FC7C1F007C383F007E107F007F007F007F007F007F007F007F007F007F007F007F003F00 7E001F007C001F80FC000FC1F8001FFFE00018FF800038000000380000003C0000003E0000003F FFF8001FFFFF001FFFFF800FFFFFC007FFFFE01FFFFFF03C0007F07C0001F8F80000F8F80000F8 F80000F8F80000F87C0001F03C0001E01F0007C00FC01F8003FFFE00007FF0001E287E9A22>I< FFE0000000FFE0000000FFE00000000FE00000000FE00000000FE00000000FE00000000FE00000 000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE07F 00000FE1FFC0000FE787E0000FEE03F0000FF803F0000FF803F8000FF003F8000FF003F8000FE0 03F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000F E003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800 FFFE3FFF80FFFE3FFF80FFFE3FFF80212A7DA926>I<07000F801FC03FE03FE03FE01FC00F8007 000000000000000000000000000000FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE0 0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7DAA14>I<FFE0 0000FFE00000FFE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000F E000000FE000000FE000000FE000000FE000000FE01FFC0FE01FFC0FE01FFC0FE007800FE00F00 0FE01E000FE03C000FE078000FE0E0000FE3C0000FE7C0000FEFE0000FFFE0000FFFF0000FF3F8 000FE3F8000FC1FC000FC0FE000FC07F000FC07F000FC03F800FC01FC00FC00FC00FC00FE0FFFC 3FFEFFFC3FFEFFFC3FFE1F2A7EA924>107 D<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE0 0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F E00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2A7DA914>I<FFC07F800FF000 FFC1FFE03FFC00FFC383F0707E000FC603F8C07F000FCC01F9803F000FD801FF003F800FF001FE 003F800FF001FE003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800F E001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC00 3F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE0 01FC003F80FFFE1FFFC3FFF8FFFE1FFFC3FFF8FFFE1FFFC3FFF8351B7D9A3A>I<FFC07F0000FF C1FFC000FFC787E0000FCE03F0000FD803F0000FD803F8000FF003F8000FF003F8000FE003F800 0FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8 000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800FFFE3F FF80FFFE3FFF80FFFE3FFF80211B7D9A26>I<003FE00001FFFC0003F07E000FC01F801F800FC0 3F800FE03F0007E07F0007F07F0007F07F0007F0FF0007F8FF0007F8FF0007F8FF0007F8FF0007 F8FF0007F8FF0007F8FF0007F87F0007F07F0007F03F800FE03F800FE01F800FC00FC01F8007F0 7F0001FFFC00003FE0001D1B7E9A22>I<FFE1FE0000FFE7FF8000FFFE07E0000FF803F0000FF0 01F8000FE000FC000FE000FE000FE000FF000FE0007F000FE0007F000FE0007F800FE0007F800F E0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F000FE000FF000FE000FF00 0FE000FE000FE001FC000FF001F8000FF803F0000FFE0FE0000FEFFF80000FE1FC00000FE00000 000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000 0000FFFE000000FFFE000000FFFE00000021277E9A26>I<FFC1F0FFC7FCFFCE3E0FD87F0FD87F 0FF07F0FF03E0FF01C0FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE000 0FE0000FE0000FE0000FE0000FE0000FE000FFFF00FFFF00FFFF00181B7E9A1C>114 D<03FE300FFFF01E03F03800F0700070F00070F00070F80070FE0000FFE0007FFE007FFF803FFF E01FFFF007FFF800FFF80007FC6000FCE0007CE0003CF0003CF00038F80038FC0070FF01E0F7FF C0C1FF00161B7E9A1B>I<00700000700000700000700000F00000F00000F00001F00003F00003 F00007F0001FFFF0FFFFF0FFFFF007F00007F00007F00007F00007F00007F00007F00007F00007 F00007F00007F00007F00007F00007F03807F03807F03807F03807F03807F03803F03803F87001 F86000FFC0001F8015267FA51B>I<FFE03FF800FFE03FF800FFE03FF8000FE003F8000FE003F8 000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003 F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0 03F8000FE007F80007E007F80007E00FF80003F03BFF8001FFF3FF80003FC3FF80211B7D9A26> I<FFFC3FFC0FFEFFFC3FFC0FFEFFFC3FFC0FFE0FE007E000E007F003F001C007F003F001C007F8 07F803C003F807F8038003F807F8038001FC0EFC070001FC0EFC070001FC1EFE0F0000FE1C7E0E 0000FE1C7E0E0000FF383F1E00007F383F1C00007F783F1C00003FF01FB800003FF01FB800003F E00FF800001FE00FF000001FE00FF000000FC007E000000FC007E000000FC007E00000078003C0 0000078003C0002F1B7F9A32>119 D<FFFE03FF80FFFE03FF80FFFE03FF800FF000780007F000 700007F800F00003F800E00003FC01E00001FC01C00001FC01C00000FE03800000FE03800000FF 078000007F070000007F8F0000003F8E0000003FCE0000001FDC0000001FDC0000000FF8000000 0FF80000000FF800000007F000000007F000000003E000000003E000000001C000000001C00000 0003800000000380000038078000007C07000000FE0F000000FE0E000000FE1C000000FE3C0000 007C780000003FE00000000F8000000021277F9A24>121 D E end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%EndSetup %%Page: 39 1 39 0 bop 150 716 a Fq(Chapter)34 b(4)150 937 y Fv(Neural)41 b(Net)m(w)m(orks)150 1167 y Fx(In)15 b(c)o(hapter)g(t)o(w)o(o)f(w)o(e)h (de\014ned)h(sev)o(eral)f(imp)q(ortan)o(t)e(subsets)j(of)e(Bo)q(olean)g (functions.)150 1216 y(Supp)q(ose)j(w)o(e)f(decide)i(to)e(use)h(one)f(of)f (these)j(subsets)g(as)e(a)g(h)o(yp)q(othesis)h(set)g(for)f(su-)150 1266 y(p)q(ervised)g(function)f(learning.)21 b(W)m(e)15 b(next)h(ha)o(v)o(e)f (the)g(question)h(of)e(ho)o(w)h(b)q(est)h(to)f(im-)150 1316 y(plemen)o(t)f(the)i(function)f(as)g(a)g(device)h(that)f(giv)o(es)h(the)f (outputs)h(prescrib)q(ed)h(b)o(y)e(the)150 1366 y(function)f(for)g(arbitrary) g(inputs.)20 b(In)14 b(this)h(c)o(hapter)g(w)o(e)g(describ)q(e)h(ho)o(w)e (net)o(w)o(orks)h(of)150 1416 y(non-linear)h(elemen)o(ts)g(can)g(b)q(e)h (used)g(to)g(implem)o(en)o(t)d(v)n(arious)i(input-output)g(func-)150 1466 y(tions)e(and)f(ho)o(w)h(they)g(can)g(b)q(e)h(trained)f(using)g(sup)q (ervised)h(learning)e(metho)q(ds.)212 1529 y(Net)o(w)o(orks)24 b(of)f(non-linear)g(elemen)o(ts,)i(in)o(terconnected)h(through)d(adjustable) 150 1579 y(w)o(eigh)o(ts,)13 b(pla)o(y)f(a)h(prominen)o(t)f(role)h(in)g(mac)o (hine)f(learning.)17 b(They)d(are)f(called)g Fs(neur)n(al)150 1628 y(networks)i Fx(b)q(ecause)j(the)e(non-linear)g(elemen)o(ts)f(ha)o(v)o (e)h(as)g(their)g(inputs)g(a)g(w)o(eigh)o(ted)150 1678 y(sum)j(of)g(the)h (outputs)g(of)g(other)g(elemen)o(ts|m)o(uc)o(h)e(lik)o(e)h(net)o(w)o(orks)h (of)f(biological)150 1728 y(neurons)g(do.)29 b(These)19 b(net)o(w)o(orks)g (commonly)14 b(use)19 b(the)f(threshold)h(elemen)o(t)e(whic)o(h)150 1778 y(w)o(e)f(encoun)o(tered)i(in)d(c)o(hapter)i(t)o(w)o(o)e(in)g(our)h (study)g(of)f(linearly)g(separable)h(Bo)q(olean)150 1828 y(functions.)k(W)m (e)14 b(b)q(egin)g(our)h(treatmen)o(t)f(of)g(neural)g(nets)i(b)o(y)e (studying)g(this)h(thresh-)150 1878 y(old)d(elemen)o(t)h(and)g(ho)o(w)f(it)h (can)g(b)q(e)h(used)g(in)e(the)i(simplest)e(of)h(all)e(net)o(w)o(orks,)j (namely)150 1927 y(ones)g(comp)q(osed)g(of)f(a)h(single)f(threshold)i(elemen) o(t.)150 2080 y FA(4.1)70 b(Threshold)22 b(Logic)h(Units)150 2194 y Fz(4.1.1)55 b(De\014nitions)18 b(and)h(Geometry)150 2284 y Fx(Linearly)14 b(separable)i(\(threshold\))g(functions)f(are)h(implem) o(en)o(ted)d(in)i(a)g(straigh)o(tfor-)150 2334 y(w)o(ard)h(w)o(a)o(y)g(b)o(y) h(summing)c(the)k(w)o(eigh)o(ted)g(inputs)g(and)f(comparing)f(this)h(sum)g (to)g(a)150 2384 y(threshold)k(v)n(alue)g(as)g(sho)o(wn)f(in)h(Fig.)35 b(4.1.)g(This)20 b(structure)i(w)o(e)e(call)f(a)g Fs(thr)n(esh-)150 2434 y(old)g(lo)n(gic)g(unit)h(\(TLU\))p Fx(.)e(Its)h(output)g(is)g(1)f(or)h (0)f(dep)q(ending)i(on)e(whether)i(or)f(not)804 2539 y(39)p eop %%Page: 40 2 40 1 bop 450 275 a Fx(40)579 b Fp(CHAPTER)14 b(4.)32 b(NEURAL)14 b(NETW)o(ORKS)450 391 y Fx(the)22 b(w)o(eigh)o(ted)f(sum)e(of)i(its)g(inputs) g(is)g(greater)h(than)e(or)h(equal)g(to)g(a)f(threshold)450 441 y(v)n(alue,)c Fu(\022)q Fx(.)26 b(It)16 b(has)h(also)f(b)q(een)h(called)f (an)g Fs(A)n(daline)g Fx(\(for)h(ada)p 1356 448 65 2 v -1 w(ptiv)o(e)f(lin)p 1526 448 47 2 v(ear)g(e)p 1644 448 19 2 v 1 w(lemen)o(t\))450 491 y([Widro)o(w,)c(1962)o(,)17 b(Widro)o(w)c(&)h(Lehr,)g(1990)o(],)j(an)g(L) m(TU)f(\(linear)h(threshold)h(unit\),)f(a)450 541 y Fs(p)n(er)n(c)n(eptr)n (on)p Fx(,)e(and)g(a)g Fs(neur)n(on)p Fx(.)23 b(\(Although)15 b(the)h(w)o(ord)f(\\p)q(erceptron")i(is)f(often)f(used)450 591 y(no)o(w)o(ada)o(ys)j(to)g(refer)h(to)f(a)g(single)g(TLU,)g(Rosen)o (blatt)g(originally)e(de\014ned)k(it)e(as)g(a)450 640 y(class)c(of)g Fs(networks)f Fx(of)g(threshold)i(elemen)o(ts)f([Rosen)o(blatt,)e(1958)o (].\))671 1402 y @beginspecial -1 @llx 534 @lly 217 @urx 704 @ury 2180 @rwi @setspecial %%BeginDocument: Four/tlu.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave -1 534 218 170 rectclip -1 534 218 170 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 4 539 208 160 rectfill 4.000000 539.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 208 160 rectclip 0.394687 0.394089 scale -10 -279 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 10.307692 279 526.384583 405.692291 rectclip 10.307692 279 526.384583 405.692291 rectclip 0 0 1.692308 setup 0 setgray 1 setalpha 11 10 146 609 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.692308 setup 0 setgray 1 setalpha 11 10 146 570 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.692308 setup 0 setgray 1 setalpha 78 78 260 495 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.692308 setup 0 setgray 1 setalpha 113 -53 158 613 line grestore 0 0 1.692308 setup 0 setgray 1 setalpha 132 116 154 382 line grestore 0 0 1.692308 setup 0 setgray 1 setalpha 107 -22 157 573 line grestore 0 0 1.692308 setup 0 setgray 1 setalpha 393 522 37 28 rectstroke grestore 0 0 1.692308 setup 0 setgray 1 setalpha 56 0 338 536 line grestore 0 0 1.692308 setup 0 setgray 1 setalpha 43 0 431 535 line 0 474 535 arrow grestore 0 0 1.692308 setup gsave /Times-Roman findfont 18 scalefont [1 0 0 -1 0 0] makefont 675 exch defineuserobject 675 execuserobject setfont 0 setgray [1 0 0 -1 0 1073] concat gsave 284 505 38 63 rectclip /Symbol findfont 48 scalefont [1 0 0 -1 0 0] makefont 658 exch defineuserobject 658 execuserobject setfont 0 setgray 284 554 moveto (S) show grestore grestore grestore 0 0 1.692308 setup 0 setgray 1 setalpha 12 11 142 373 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.692308 setup gsave 658 execuserobject setfont 0 setgray [1 0 0 -1 0 1229] concat /Helvetica findfont 24 scalefont [1 0 0 -1 0 0] makefont 13 exch defineuserobject 13 execuserobject setfont 0 setgray 112 618 moveto (x) show 0 4 rmoveto (1) show 0 -4 rmoveto grestore grestore 0 0 1.692308 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 1148] concat 13 execuserobject setfont 0 setgray 110 576 moveto (x) show 0 13 rmoveto (2) show 0 -13 rmoveto grestore grestore 0 0 1.692308 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 726] concat 13 execuserobject setfont 0 setgray 41 356 moveto (x) show 0 9 rmoveto (n+1) show 0 -9 rmoveto ( = 1) show grestore grestore 0 0 1.692308 setup 0 setgray 1 setalpha 15 0 398 528 line grestore 0 0 1.692308 setup 0 setgray 1 setalpha 12 0 413 542 line grestore 0 0 1.692308 setup 0 setgray 1 setalpha 0 14 412 529 line grestore 0 0 1.692308 setup 0 setgray 1 setalpha 27 0 399 535 line grestore 0 0 1.692308 setup 0 setgray 1 setalpha 11 10 144 520 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.692308 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 1051] concat gsave 114 505 25 41 rectclip 13 execuserobject setfont 0 setgray 114 528 moveto (x) show 0 13 rmoveto (i) show 0 -13 rmoveto grestore grestore grestore 0 0 1.692308 setup 0 setgray 1 setalpha 104 2 157 525 line grestore 0 0 1.692308 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 1201] concat 13 execuserobject setfont 0 setgray 199 604 moveto (w) show 0 9 rmoveto (1) show 0 -9 rmoveto grestore grestore 0 0 1.692308 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 1097] concat 13 execuserobject setfont 0 setgray 183 552 moveto (w) show 0 9 rmoveto (2) show 0 -9 rmoveto grestore grestore 0 0 1.692308 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 799] concat 13 execuserobject setfont 0 setgray 199 398 moveto (w) show 0 9 rmoveto (n+1) show 0 -9 rmoveto grestore grestore 0 0 1.692308 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 1023] concat 13 execuserobject setfont 0 setgray 183 515 moveto (w) show 0 9 rmoveto (i) show 0 -9 rmoveto grestore grestore 0 0 1.692308 setup 0 setgray 1 setalpha 11 10 142 456 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.692308 setup 0 setgray 1 setalpha 11 10 143 490 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.692308 setup 0 setgray 1 setalpha 116 49 152 463 line grestore 0 0 1.692308 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 905] concat 13 execuserobject setfont 0 setgray 168 451 moveto (w) show 0 9 rmoveto (n) show 0 -9 rmoveto grestore grestore 0 0 1.692308 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 1072] concat /Helvetica findfont 48 scalefont [1 0 0 -1 0 0] makefont 659 exch defineuserobject 659 execuserobject setfont 0 setgray 19 548 moveto (X) show grestore grestore 0 0 1.692308 setup gsave 659 execuserobject setfont 0 setgray [1 0 0 -1 0 873] concat /Times-Italic findfont 27 scalefont [1 0 0 -1 0 0] makefont 660 exch defineuserobject 660 execuserobject setfont 0 setgray 301 438 moveto (threshold weight) show grestore grestore 0 0 1.692308 setup 0 setgray 1 setalpha 74 22 261 407 line 196.557556 261 407 arrow grestore 0 0 1.692308 setup gsave 660 execuserobject setfont 0 setgray [1 0 0 -1 0 927] concat 13 execuserobject setfont 0 setgray 107 470 moveto (x) show 0 4 rmoveto (n) show 0 -4 rmoveto grestore grestore 0 0 2.974359 setup 0 setgray 1 setalpha 1 199 69 442 line grestore 0 0 2.974359 setup 0 setgray 1 setalpha 38 1 69 640 line grestore 0 0 2.974359 setup 0 setgray 1 setalpha 38 1 70 440 line grestore 0 0 1.692308 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 1297] concat 659 execuserobject setfont 0 setgray 214 664 moveto (W) show grestore grestore 0 0 1.692308 setup 0 setgray 1 setalpha 20 -66 389 620 line -73.143761 409 554 arrow grestore 0 0 1.692308 setup gsave 659 execuserobject setfont 0 setgray [1 0 0 -1 0 1266] concat 660 execuserobject setfont 0 setgray 291 641 moveto (threshold ) show /Symbol findfont 27 scalefont [1 0 667 exch defineuserobject 667 execuserobject setfont (q) show 660 execuserobject setfont ( = ) show /Times-Roman findfont 27 scalefont 668 exch defineuserobject 668 execuserobject setfont (0) show grestore grestore 0 0 1.692308 setup gsave 668 execuserobject setfont 0 setgray [1 0 0 -1 0 1075] concat 668 execuserobject setfont 0 setgray 486 547 moveto (f) show grestore grestore 0 0 1.692308 setup gsave 668 execuserobject setfont 0 setgray [1 0 0 -1 0 656] concat 668 execuserobject setfont 0 setgray 207 327 moveto (f = thresh) show /Times-Roman findfont 36 scalefont 670 exch defineuserobject 670 execuserobject setfont (\( ) show /Symbol findfont 36 scalefont [1 0 583 exch 0 -1 0 0] makefont [1 0 0 -1 0 0] makefont [1 0 0 -1 0 0] makefont 0 -1 0 0] makefont defineuserobject 583 execuserobject setfont (S) show 668 execuserobject setfont ( w) show 0 10 rmoveto (i) show 0 -10 rmoveto ( x) show 0 10 rmoveto (i) show 0 -10 rmoveto (, 0) show 670 execuserobject setfont (\)) show grestore grestore 0 0 1.692308 setup gsave 670 execuserobject setfont 0 setgray [1 0 0 -1 0 621] concat 675 execuserobject setfont 0 setgray 330 312 moveto (i = 1) show grestore grestore 0 0 1.692308 setup gsave 675 execuserobject setfont 0 setgray [1 0 0 -1 0 733] concat 675 execuserobject setfont 0 setgray 330 371 moveto (n+1) show grestore grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 734 1494 a(Figure)i(4.1:)j(A)d(Threshold)h(Logic)e(Unit)g (\(TLU\))512 1587 y(The)31 b Fu(n)p Fx(-dimensional)c(feature)k(or)f(input)g (v)o(ector)h(is)f(denoted)h(b)o(y)f Fy(X)39 b Fx(=)450 1637 y(\()p Fu(x)490 1643 y Fr(1)508 1637 y Fu(;)7 b(:)g(:)g(:)e(;)i(x)625 1643 y Ft(n)647 1637 y Fx(\).)33 b(When)19 b(w)o(e)g(w)o(an)o(t)f(to)h (distinguish)f(among)e(di\013eren)o(t)k(feature)g(v)o(ec-)450 1686 y(tors,)c(w)o(e)g(will)e(attac)o(h)i(subscripts,)h(suc)o(h)g(as)e Fy(X)1212 1692 y Ft(i)1226 1686 y Fx(.)23 b(The)16 b(comp)q(onen)o(ts)g(of)f Fy(X)g Fx(can)h(b)q(e)450 1736 y(an)o(y)f(real-v)n(alued)f(n)o(um)o(b)q(ers,) h(but)g(w)o(e)h(often)f(sp)q(ecialize)h(to)f(the)h(binary)e(n)o(um)o(b)q(ers) h(0)450 1786 y(and)g(1.)21 b(The)16 b(w)o(eigh)o(ts)f(of)f(a)h(TLU)g(are)g (represen)o(ted)j(b)o(y)d(an)g Fu(n)p Fx(-dimensional)d Fs(weight)450 1836 y(ve)n(ctor)p Fx(,)f Fy(W)h Fx(=)g(\()p Fu(w)732 1842 y Fr(1)751 1836 y Fu(;)7 b(:)g(:)g(:)t(;)g(w)873 1842 y Ft(n)895 1836 y Fx(\).)17 b(Its)12 b(comp)q(onen)o(ts)e(are)i(real-v)n(alued)e(n)o(um) o(b)q(ers)g(\(but)i(w)o(e)450 1886 y(sometimes)e(sp)q(ecialize)j(to)f(in)o (tegers\).)19 b(The)13 b(TLU)f(has)g(output)g(1)g(if)1525 1855 y Fj(P)1569 1865 y Ft(n)1569 1898 y(i)p Fr(=1)1631 1886 y Fu(x)1655 1892 y Ft(i)1669 1886 y Fu(w)1699 1892 y Ft(i)1724 1886 y Fw(\025)g Fu(\022)q Fx(;)450 1936 y(otherwise)20 b(it)f(has)g(output)g(0.)34 b(The)20 b(w)o(eigh)o(ted)f(sum)f(that)h(is)g(calculated)g(b)o(y)g(the)450 1985 y(TLU)g(can)h(b)q(e)g(simply)d(represen)o(ted)22 b(as)d(a)g(v)o(ector)i (dot)e(pro)q(duct,)i Fy(X)p Fm(\017)p Fy(W)p Fx(.)e(\(If)g(the)450 2035 y(pattern)g(and)f(w)o(eigh)o(t)f(v)o(ectors)i(are)f(though)o(t)g(of)g (as)g(\\column")d(v)o(ectors,)20 b(this)e(dot)450 2085 y(pro)q(duct)d(is)f (then)h(sometimes)e(written)h(as)h Fy(X)1178 2070 y Ft(t)1192 2085 y Fy(W)q Fx(,)f(where)i(the)f(\\ro)o(w")e(v)o(ector)i Fy(X)1743 2070 y Ft(t)1772 2085 y Fx(is)450 2135 y(the)h(transp)q(ose)h(of)e Fy(X)p Fx(.\))23 b(Often,)16 b(the)g(threshold,)g Fu(\022)q Fx(,)g(of)f(the)i(TLU)e(is)g(\014xed)h(at)g(0;)f(in)450 2185 y(that)i(case,)g(arbitrary)g(thresholds)g(are)g(ac)o(hiev)o(ed)g(b)o(y)f (using)g(\()p Fu(n)11 b Fx(+)h(1\)-dimensional)450 2234 y(\\augmen)o(ted")k (v)o(ectors,)i Fy(Y)p Fx(,)f(and)f Fy(V)p Fx(,)h(whose)h(\014rst)f Fu(n)g Fx(comp)q(onen)o(ts)g(are)g(the)h(same)450 2284 y(as)g(those)g(of)f Fy(X)g Fx(and)h Fy(W)p Fx(,)f(resp)q(ectiv)o(ely)m(.)30 b(The)18 b(\()p Fu(n)11 b Fx(+)h(1\)-st)18 b(comp)q(onen)o(t,)f Fu(x)1672 2290 y Ft(n)p Fr(+1)1737 2284 y Fx(,)h(of)450 2334 y(the)13 b(augmen)o(ted)e(feature)i(v)o(ector,)g Fy(Y)p Fx(,)f(alw)o(a)o(ys)f(has)i(v) n(alue)e(1;)i(the)f(\()p Fu(n)6 b Fx(+)g(1\)-st)13 b(comp)q(o-)450 2384 y(nen)o(t,)g Fu(w)584 2390 y Ft(n)p Fr(+1)648 2384 y Fx(,)f(of)f(the)i (augmen)o(ted)e(w)o(eigh)o(t)h(v)o(ector,)h Fy(V)p Fx(,)f(is)g(set)h(equal)e (to)h(the)h(negativ)o(e)450 2434 y(of)k(the)i(desired)g(threshold)g(v)n (alue.)30 b(\(When)18 b(w)o(e)h(w)o(an)o(t)e(to)h(emphasize)g(the)h(use)g(of) 450 2539 y Fo(Intr)n(o)n(duction)14 b(to)k(Machine)e(L)n(e)n(arning)1057 2538 y Fn(c)1046 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 41 3 41 2 bop 150 275 a Fp(4.1.)31 b(THRESHOLD)14 b(LOGIC)f(UNITS)654 b Fx(41)150 391 y(augmen)o(ted)13 b(v)o(ectors,)h(w)o(e'll)f(use)i(the)f Fy(Y)p Fx(,)p Fy(V)g Fx(notation;)e(ho)o(w)o(ev)o(er)i(when)h(the)f(con)o (text)150 441 y(of)h(the)h(discussion)g(mak)o(es)e(it)i(clear)f(ab)q(out)h (what)f(sort)h(of)f(v)o(ectors)i(w)o(e)e(are)h(talking)150 491 y(ab)q(out,)d(w)o(e'll)f(lapse)h(bac)o(k)h(in)o(to)e(the)i(more)f(famili) o(ar)e Fy(X)p Fx(,)p Fy(W)i Fx(notation.\))k(In)c(the)h Fy(Y)p Fx(,)p Fy(V)150 541 y Fx(notation,)f(the)j(TLU)e(has)h(an)f(output)h(of)f(1)g (if)g Fy(Y)p Fm(\017)p Fy(V)g Fw(\025)f Fx(0.)20 b(Otherwise,)c(the)f(output) 150 591 y(is)f(0.)212 668 y(W)m(e)19 b(can)f(giv)o(e)h(an)f(in)o(tuitiv)o (ely)f(useful)i(geometric)f(description)h(of)f(a)h(TLU.)f(A)150 718 y(TLU)c(divides)g(the)g(input)g(space)h(b)o(y)e(a)h(h)o(yp)q(erplane)g (as)g(sk)o(etc)o(hed)i(in)d(Fig.)k(4.2.)h(The)150 768 y(h)o(yp)q(erplane)d (is)e(the)i(b)q(oundary)f(b)q(et)o(w)o(een)i(patterns)f(for)e(whic)o(h)h Fy(X)p Fw(\017)p Fy(W)d Fx(+)e Fu(w)1359 774 y Ft(n)p Fr(+1)1435 768 y Fu(>)j Fx(0)150 817 y(and)20 b(patterns)i(for)e(whic)o(h)g Fy(X)p Fw(\017)p Fy(W)14 b Fx(+)g Fu(w)799 823 y Ft(n)p Fr(+1)886 817 y Fu(<)22 b Fx(0.)37 b(Th)o(us,)22 b(the)f(equation)f(of)f(the)150 867 y(h)o(yp)q(erplane)11 b(itself)g(is)g Fy(X)p Fw(\017)p Fy(W)t Fx(+)s Fu(w)672 873 y Ft(n)p Fr(+1)749 867 y Fx(=)g(0.)17 b(The)12 b(unit)e(v)o(ector)i(that)f(is)g(normal)e(to)h(the)150 926 y(h)o(yp)q(erplane)i(is)f Fy(n)g Fx(=)496 909 y Fy(W)p 486 916 70 2 v 486 946 a Fi(j)p Fy(W)q Fi(j)561 926 y Fx(,)g(where)h Fw(j)p Fy(W)q Fw(j)f Fx(=)830 890 y Fj(p)p 871 890 284 2 v 871 926 a Fx(\()p Fu(w)918 912 y Fr(2)917 937 y(1)946 926 y Fx(+)f Fu(:)d(:)g(:)g Fx(+)j Fu(w)1118 914 y Fr(2)1117 936 y Ft(n)1139 926 y Fx(\))h(is)g(the)h(length)f(of)f(the)150 1003 y(v)o(ector)h Fy(W)p Fx(.)f(\(The)g Fs(normal)h(form)f Fx(of)f(the)i(h)o(yp)q(erplane)f(equation)g(is)g Fy(X)p Fw(\017)p Fy(n)q Fx(+)1331 986 y Fy(W)p 1321 993 70 2 v 1321 1023 a Fi(j)p Fy(W)q Fi(j)1408 1003 y Fx(=)i(0.\))150 1068 y(The)k(distance)h(from)d(the)i (h)o(yp)q(erplane)g(to)g(the)g(origin)f(is)1084 1047 y Ft(w)1108 1051 y Fl(n)p Fk(+1)p 1084 1058 80 2 v 1089 1088 a Fi(j)p Fy(W)q Fi(j)1168 1068 y Fx(,)h(and)g(the)g(distance)150 1149 y(from)e(an)i (arbitrary)h(p)q(oin)o(t,)e Fy(X)p Fx(,)i(to)f(the)h(h)o(yp)q(erplane)f(is) 1069 1128 y Fy(X)p Fi(\017)p Fy(W)q Fr(+)p Ft(w)1221 1132 y Fl(n)p Fk(+1)p 1069 1139 209 2 v 1138 1169 a Fi(j)p Fy(W)q Fi(j)1282 1149 y Fx(.)25 b(When)16 b(the)150 1212 y(distance)11 b(from)d(the)j(h)o(yp)q(erplane)f(to)g(the)h(origin)d(is)i(negativ)o(e)g (\(that)g(is,)g(when)h Fu(w)1392 1218 y Ft(n)p Fr(+1)1468 1212 y Fu(<)150 1262 y Fx(0\),)16 b(then)i(the)f(origin)e(is)h(on)g(the)h(negativ) o(e)g(side)f(of)g(the)h(h)o(yp)q(erplane)g(\(that)g(is,)f(the)150 1311 y(side)e(for)g(whic)o(h)g Fy(X)p Fw(\017)o Fy(W)d Fx(+)e Fu(w)603 1317 y Ft(n)p Fr(+1)679 1311 y Fu(<)j Fx(0\).)212 1389 y(Adjusting)j(the)g(w)o(eigh)o(t)g(v)o(ector,)g Fy(W)q Fx(,)g(c)o(hanges)g(the)h(orien)o(tation)e(of)g(the)h(h)o(yp)q(er-)150 1439 y(plane;)h(adjusting)g Fu(w)489 1445 y Ft(n)p Fr(+1)569 1439 y Fx(c)o(hanges)h(the)f(p)q(osition)g(of)f(the)i(h)o(yp)q(erplane)f (\(relativ)o(e)g(to)150 1488 y(the)e(origin\).)j(Th)o(us,)d(training)e(of)h (a)g(TLU)h(can)g(b)q(e)g(ac)o(hiev)o(ed)g(b)o(y)f(adjusting)g(the)h(v)n(al-) 150 1538 y(ues)j(of)e(the)i(w)o(eigh)o(ts.)24 b(In)15 b(this)h(w)o(a)o(y)g (the)g(h)o(yp)q(erplane)g(can)h(b)q(e)f(mo)o(v)o(ed)e(so)i(that)g(the)150 1588 y(TLU)e(implemen)o(ts)d(di\013eren)o(t)k(\(linearly)e(separable\))i (functions)f(of)f(the)i(input.)150 1764 y Fz(4.1.2)55 b(Sp)r(ecial)18 b(Cases)h(of)g(Linearly)d(Separable)j(F)-5 b(unctions)150 1875 y Fy(T)l(erms)150 1985 y Fx(An)o(y)13 b(term)g(of)f(size)i Fu(k)g Fx(can)g(b)q(e)g(implem)o(en)o(ted)d(b)o(y)i(a)g(TLU)g(with)g(a)g(w)o (eigh)o(t)g(from)e(eac)o(h)150 2035 y(of)i(those)h(inputs)g(corresp)q(onding) g(to)g(v)n(ariables)e(o)q(ccurring)i(in)f(the)i(term.)i(A)c(w)o(eigh)o(t)150 2085 y(of)e(+1)g(is)g(used)h(from)d(an)i(input)g(corresp)q(onding)h(to)f(a)g (p)q(ositiv)o(e)g(literal,)f(and)i(a)e(w)o(eigh)o(t)150 2135 y(of)15 b Fw(\000)p Fx(1)h(is)g(used)h(from)d(an)h(input)h(corresp)q(onding)h (to)e(a)h(negativ)o(e)g(literal.)23 b(\(Literals)150 2185 y(not)14 b(men)o(tioned)f(in)h(the)h(term)e(ha)o(v)o(e)h(w)o(eigh)o(ts)g(of)g (zero|that)h(is,)e(no)h(connection)h(at)150 2234 y(all|from)d(their)17 b(inputs.\))24 b(The)16 b(threshold,)h Fu(\022)q Fx(,)g(is)e(set)i(equal)f (to)f Fu(k)1231 2240 y Ft(p)1261 2234 y Fw(\000)c Fx(1)p Fu(=)p Fx(2,)k(where)150 2284 y Fu(k)172 2290 y Ft(p)206 2284 y Fx(is)f(the)i(n)o (um)o(b)q(er)e(of)h(p)q(ositiv)o(e)f(literals)h(in)f(the)i(term.)k(Suc)o(h)c (a)e(TLU)h(implemen)o(ts)150 2334 y(a)h(h)o(yp)q(erplane)h(b)q(oundary)f (that)g(is)g(parallel)g(to)g(a)g(subface)h(of)e(dimension)g(\()p Fu(n)c Fw(\000)g Fu(k)q Fx(\))150 2384 y(of)j(the)i(unit)f(h)o(yp)q(ercub)q (e.)24 b(W)m(e)14 b(sho)o(w)h(a)g(three-dimensional)f(example)g(in)g(Fig.)21 b(4.3.)150 2434 y(Th)o(us,)14 b(linearly)f(separable)h(functions)g(are)g(a)g (sup)q(erset)i(of)d(terms.)150 2539 y Fo(Intr)n(o)n(duction)h(to)k(Machine)e (L)n(e)n(arning)757 2538 y Fn(c)746 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e (Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 42 4 42 3 bop 450 275 a Fx(42)579 b Fp(CHAPTER)14 b(4.)32 b(NEURAL)14 b(NETW)o(ORKS)719 1312 y @beginspecial 8 @llx 481 @lly 203 @urx 712 @ury 1950 @rwi @setspecial %%BeginDocument: Four/geometry.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 8 481 195 231 rectclip 8 481 195 231 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 13 486 185 221 rectfill 13.000000 486.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 185 221 rectclip 0.332136 0.330838 scale -1 -28 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 1 28 557 668 rectclip 1 28 557 668 rectclip 0 setgray 0.333333 setgray 0 0 3.384615 setup 0 setgray 1 setalpha 435 -333 46 511 line grestore 0 setgray 0.333333 setgray 0 0 4.410257 setup 0 setgray 1 setalpha 58 67 87 214 line 49.119637 145 281 arrow grestore 0 0 0.102564 setup gsave /Helvetica findfont 20 scalefont [1 0 0 -1 0 0] makefont 500 exch defineuserobject 500 execuserobject setfont 0 setgray [1 0 0 -1 0 854] concat 500 execuserobject setfont 0 setgray 204 417 moveto (X) show 0 -8 rmoveto (.) show 0 8 rmoveto (W + w) show 0 9 rmoveto (n+1) show 0 -9 rmoveto ( > 0) show 204 450 moveto (on this side) show grestore grestore 0 setgray 0.333333 setgray 0 0 2.666667 setup 0 setgray 1 setalpha 63.768291 0 62 353.358978 line grestore 0 0 0.102564 setup gsave 500 execuserobject setfont 0 setgray [1 0 0 -1 0 643.423096] concat /Helvetica-Bold findfont 36 scalefont [1 0 0 -1 0 0] makefont 1189 exch defineuserobject 1189 execuserobject setfont 0 setgray 77.158539 333 moveto (W) show grestore grestore 0 setgray 0.333333 setgray 0 0 2.666667 setup 0 setgray 1 setalpha 0 -38.75 117.670731 343.423096 line grestore 0 setgray 0.333333 setgray 0 0 2.666667 setup 0 setgray 1 setalpha 0 -38.75 70.097565 342.429504 line grestore 0 setgray 0.333333 setgray 0 0 0.666667 setup 0 setgray 1 setalpha 78 -58 10 271 line grestore 0 setgray 0.333333 setgray 0 0 0.666667 setup 0 setgray 1 setalpha 37 50 21 263 line 233.500137 21 263 arrow grestore 0 setgray 0.333333 setgray 0 0 0.666667 setup 0 setgray 1 setalpha 33 42 113 391 line 51.844303 146 433 arrow grestore 0 0 0.102564 setup gsave 1189 execuserobject setfont 0 setgray [1 0 0 -1 0 991] concat 1189 execuserobject setfont 0 setgray 445 508 moveto (X) show grestore grestore 0 setgray 0.333333 setgray 0 0 0.666667 setup 0 setgray 1 setalpha 40 54 447 399 line 53.472721 487 453 arrow grestore 0 setgray 0.333333 setgray 0 0 0.666667 setup 0 setgray 1 setalpha 29 40 360 272 line 234.059479 360 272 arrow grestore 0 setgray 0.333333 setgray 0 0 2.666667 setup 0 setgray 1 setalpha 201 0 333 333 line grestore 0 0 0.102564 setup gsave 1189 execuserobject setfont 0 setgray [1 0 0 -1 0 602.423096] concat 1189 execuserobject setfont 0 setgray 412.158539 310 moveto (W) show grestore grestore 0 setgray 0.333333 setgray 0 0 2.666667 setup 0 setgray 1 setalpha 0 -38.75 452.670715 326.423096 line grestore 0 setgray 0.333333 setgray 0 0 2.666667 setup 0 setgray 1 setalpha 0 -38.75 405.097565 325.429504 line grestore 0 setgray 0.333333 setgray 0 0 0.666667 setup 0 setgray 1 setalpha 33 -26 466 471 line grestore 0 0 2.666667 setup 0 0 0.102564 setup gsave 1189 execuserobject setfont 0 setgray [1 0 0 -1 0 280] concat 1189 execuserobject setfont 0 setgray 111 153 moveto (n =) show grestore grestore 0 0 0.102564 setup gsave 1189 execuserobject setfont 0 setgray [1 0 0 -1 0 312] concat 1189 execuserobject setfont 0 setgray 194 169 moveto (W) show grestore grestore 0 0 0.102564 setup gsave 1189 execuserobject setfont 0 setgray [1 0 0 -1 0 220] concat /Helvetica findfont 36 scalefont [1 0 0 -1 0 0] makefont 582 exch defineuserobject 582 execuserobject setfont 0 setgray 188 123 moveto (|) show 1189 execuserobject setfont (W) show 582 execuserobject setfont (|) show grestore grestore 0 0 2.666667 setup 0 setgray 1 setalpha 63.768291 0 181 135.359009 line grestore grestore 0 0 0.102564 setup gsave 582 execuserobject setfont 0 setgray [1 0 0 -1 0 384] concat /Helvetica-Oblique findfont 24 scalefont [1 0 0 -1 0 0] makefont 1190 exch defineuserobject 1190 execuserobject setfont 0 setgray 24 195 moveto (Origin) show grestore grestore 0 setgray 0.333333 setgray 0 0 0.666667 setup 0 setgray 1 setalpha 40 -82 124 252 line 116.001465 124 252 arrow grestore 0 0 0.102564 setup gsave 1190 execuserobject setfont 0 setgray [1 0 0 -1 0 126] concat 1190 execuserobject setfont 0 setgray 87 57 moveto (Unit vector normal) show 87 86 moveto (to hyperplane) show grestore grestore 0 0 0.102564 setup gsave 1190 execuserobject setfont 0 setgray [1 0 0 -1 0 1234] concat 1189 execuserobject setfont 0 setgray 74 622 moveto (W) show 582 execuserobject setfont ( + w) show 0 14 rmoveto (n+1) show 0 -14 rmoveto ( = 0) show grestore grestore 0 0 0.102564 setup gsave 582 execuserobject setfont 0 setgray [1 0 0 -1 0 1241] concat 1189 execuserobject setfont 0 setgray 26 631 moveto (X) show grestore grestore 0 setgray 0.333333 setgray 0 0 0.102564 setup 0 setgray 1 setalpha 10 9 58 618 oval fill grestore 0 0 0.102564 setup gsave 1189 execuserobject setfont 0 setgray [1 0 0 -1 0 1037] concat 1189 execuserobject setfont 0 setgray 74 512 moveto (n) show 582 execuserobject setfont ( + = 0) show grestore grestore 0 0 0.102564 setup gsave 582 execuserobject setfont 0 setgray [1 0 0 -1 0 1067] concat 1189 execuserobject setfont 0 setgray 20 544 moveto (X) show grestore grestore 0 setgray 0.333333 setgray 0 0 0.102564 setup 0 setgray 1 setalpha 10 9 52 531 oval fill grestore 0 0 0.102564 setup gsave 1189 execuserobject setfont 0 setgray [1 0 0 -1 0 1340] concat 1190 execuserobject setfont 0 setgray 9 673 moveto (Equations of hyperplane:) show grestore grestore 0 setgray 0.333333 setgray 0 0 2.666667 setup 0 setgray 1 setalpha 92 -0.359009 136 534.359009 line grestore 0 0 0.102564 setup gsave 1190 execuserobject setfont 0 setgray [1 0 0 -1 0 1125] concat 582 execuserobject setfont 0 setgray 139 568 moveto (w) show 0 14 rmoveto (n+1) show 0 -14 rmoveto grestore grestore 0 0 0.102564 setup gsave 582 execuserobject setfont 0 setgray [1 0 0 -1 0 1017] concat 582 execuserobject setfont 0 setgray 157 521 moveto (|W|) show grestore grestore 0 0 0.102564 setup gsave 582 execuserobject setfont 0 setgray [1 0 0 -1 0 761] concat 582 execuserobject setfont 0 setgray 53 386 moveto (w) show 0 14 rmoveto (n+1) show 0 -14 rmoveto grestore grestore 0 0 0.102564 setup gsave 582 execuserobject setfont 0 setgray [1 0 0 -1 0 715] concat 1189 execuserobject setfont 0 setgray 381 361 moveto (W) show 582 execuserobject setfont ( + w) show 0 14 rmoveto (n+1) show 0 -14 rmoveto grestore grestore 0 0 0.102564 setup gsave 582 execuserobject setfont 0 setgray [1 0 0 -1 0 729] concat 1189 execuserobject setfont 0 setgray 341 375 moveto (X) show grestore grestore 0 setgray 0.333333 setgray 0 0 0.102564 setup 0 setgray 1 setalpha 10 9 367 363 oval fill grestore 0 setgray 0.333333 setgray 0 0 2.666667 setup 0 setgray 1 setalpha 374 257 88 214 line 34.496536 462 471 arrow grestore 0 0 0.102564 setup gsave 1189 execuserobject setfont 0 setgray [1 0 0 -1 0 513] concat 500 execuserobject setfont 0 setgray 197 249 moveto (X) show 0 -8 rmoveto (.) show 0 8 rmoveto (W + w) show 0 9 rmoveto (n+1) show 0 -9 rmoveto ( < 0) show 197 282 moveto (on this side) show grestore grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 878 1404 a Fx(Figure)g(4.2:)j(TLU)d(Geometry)450 1534 y Fy(Clauses)450 1621 y Fx(The)f(negation)f(of)g(a)h(clause)g(is)g(a)f (term.)17 b(F)m(or)12 b(example,)g(the)h(negation)f(of)g(the)h(clause)450 1671 y Fu(f)18 b Fx(=)c Fu(x)558 1677 y Fr(1)586 1671 y Fx(+)d Fu(x)653 1677 y Fr(2)681 1671 y Fx(+)f Fu(x)747 1677 y Fr(3)781 1671 y Fx(is)15 b(the)g(term)p 997 1637 25 2 v 15 w Fu(f)j Fx(=)p 1081 1648 43 2 v 14 w Fu(x)1105 1677 y Fr(1)p 1138 1648 V 1138 1671 a Fu(x)1162 1677 y Fr(2)p 1196 1648 V 1196 1671 a Fu(x)1220 1677 y Fr(3)1238 1671 y Fx(.)j(A)16 b(h)o(yp)q(erplane)f(can)g(b) q(e)h(used)g(to)450 1721 y(implemen)o(t)c(this)i(term.)20 b(If)14 b(w)o(e)h(\\in)o(v)o(ert")f(the)h(h)o(yp)q(erplane,)f(it)h(will)e(implem)o (en)o(t)f(the)450 1771 y(clause)f(instead.)17 b(In)o(v)o(erting)10 b(a)g(h)o(yp)q(erplane)h(is)f(done)h(b)o(y)f(m)o(ultiplyi)o(ng)d(all)i(of)h (the)h(TLU)450 1821 y(w)o(eigh)o(ts|ev)o(en)k Fu(w)751 1827 y Ft(n)p Fr(+1)815 1821 y Fx(|b)o(y)f Fw(\000)p Fx(1.)21 b(This)15 b(pro)q(cess)h(simply)d(c)o(hanges)i(the)h(orien)o(tation)450 1870 y(of)c(the)i(h)o(yp)q(erplane|\015ipping)e(it)g(around)h(b)o(y)f(180)g (degrees)j(and)e(th)o(us)g(c)o(hanging)f(its)450 1920 y(\\p)q(ositiv)o(e)i (side.")21 b(Therefore,)15 b(linearly)f(separable)h(functions)g(are)g(also)f (a)h(sup)q(erset)450 1970 y(of)e(clauses.)19 b(W)m(e)14 b(sho)o(w)g(an)f (example)g(in)g(Fig.)18 b(4.4.)450 2097 y Fz(4.1.3)55 b(Error-Correction)17 b(T)-5 b(raining)19 b(of)g(a)g(TLU)450 2185 y Fx(There)h(are)g(sev)o(eral)f (pro)q(cedures)j(that)d(ha)o(v)o(e)g(b)q(een)h(prop)q(osed)g(for)f(adjusting) f(the)450 2234 y(w)o(eigh)o(ts)13 b(of)g(a)h(TLU.)f(W)m(e)g(presen)o(t)i (next)f(a)f(family)d(of)j Fs(incr)n(emental)g Fx(training)g(pro)q(ce-)450 2284 y(dures)k(with)f(parameter)g Fu(c)p Fx(.)25 b(These)18 b(metho)q(ds)e(mak)o(e)f(adjustmen)o(ts)g(to)i(the)f(w)o(eigh)o(t)450 2334 y(v)o(ector)e(only)e(when)i(the)g(TLU)f(b)q(eing)g(trained)h(mak)o(es)e (an)h(error)h(on)f(a)g(training)f(pat-)450 2384 y(tern;)g(they)f(are)g (called)g Fs(err)n(or-c)n(orr)n(e)n(ction)d Fx(pro)q(cedures.)19 b(W)m(e)10 b(use)i Fs(augmente)n(d)f Fx(feature)450 2434 y(and)j(w)o(eigh)o (t)f(v)o(ectors)i(in)f(describing)g(them.)450 2539 y Fo(Intr)n(o)n(duction)g (to)k(Machine)e(L)n(e)n(arning)1057 2538 y Fn(c)1046 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o (ed.)p eop %%Page: 43 5 43 4 bop 150 275 a Fp(4.1.)31 b(THRESHOLD)14 b(LOGIC)f(UNITS)654 b Fx(43)542 1062 y @beginspecial 0 @llx 0 @lly 136 @urx 171 @ury 1360 @rwi @setspecial %%BeginDocument: Four/term.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /_NXfindfont /findfont load def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {_NXfindfont} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {_NXfindfont dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef /_NXDoImageOp{ 3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def chans 2 add 2 roll parr 0 chans getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /totbytes exch def pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end }__NXbdef /alphaimage{1 add _NXDoImageOp}def _NXLevel2{ /NXCalibratedRGBColorSpace where{pop}{ /NXCalibratedRGBColorSpace {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef /nxsetgray{dup dup nxsetrgbcolor}__NXbdef /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse 8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if 8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def} {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse /DataSource exch def /ImageMatrix exch def /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef } { /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /colorimage{2 copy 3 ne or{_NXDoImageOp}{4 index dup 8 ne exch 4 ne and{_NXDoImageOp}{ pop pop save 6 1 roll 12 dict begin/Proc exch def/Res 0 string def /Alloc{2 index length mul 2 add dup 2 index load length gt{1.2 mul round cvi string def}{pop pop}ifelse}def 1 index 8 eq{/Unpack{.34 Alloc}def}{ /Wid 4 index 3 mul def exch pop 8 exch/Str1 0 string def/Lim Wid def /Unpack{.67 Alloc/Str1 2 Alloc 0 exch Lim exch {dup -4 bitshift 17 mul Str1 exch 4 index exch put 15 and 17 mul Str1 exch 3 index 1 add exch put 2 sub dup 0 le{0 lt Wid exch{exch 1 sub exch}if}if exch 2 add exch }forall/Lim exch def Str1 exch 0 exch getinterval }def }ifelse /Ops[{.3 mul add 1}{.59 mul add 2}{.11 mul add round cvi Res exch 2 index exch put 1 add 0.0 0}]def/Val 0.0 def/Phase 0 def {0 Val Phase Proc/Res Unpack{exch Ops exch get exec}forall/Phase exch def/Val exch def Res exch 0 exch getinterval} image end restore}ifelse}ifelse }__NXbdef /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef /setpattern{pop .5 setgray}__NXbdef /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef } ifelse /_NXSetCMYKOrRGB where{pop}{ mark{systemdict /currentwindow get exec}stopped {{pop pop pop setcmykcolor}}{{nxsetrgbcolor pop pop pop pop}}ifelse /_NXSetCMYKOrRGB exch def cleartomark }ifelse gsave /__NXbasematrix matrix currentmatrix def grestore gsave 0 0 136 171 rectclip [1 0 0 -1 -18 189] concat 18 18 136 171 rectclip gsave 18 18 135.620697 171 rectclip gsave 1 -1 scale gsave 18 -189 translate 0.294828 0.294828 scale -49 -46 translate /__NXEPSSave save def /showpage {} def _NXLevel2{/_NXsethsb where{pop}{/_NXsethsb /sethsbcolor load def}ifelse /sethsbcolor{_NXsethsb currentrgbcolor nxsetrgbcolor}def /setrgbcolor{nxsetrgbcolor}bind def /setgray{nxsetgray}bind def /_NXcimage where{pop}{/_NXcimage /colorimage load def}ifelse /colorimage{dup 3 eq{true 2 index{1 index}{1}ifelse 7 add 1 roll _NXCalibratedImage} {_NXcimage}ifelse}def}if 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /_NXfindfont /findfont load def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {_NXfindfont} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {_NXfindfont dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef /_NXDoImageOp{ 3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def chans 2 add 2 roll parr 0 chans getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /totbytes exch def pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end }__NXbdef /alphaimage{1 add _NXDoImageOp}def _NXLevel2{ /NXCalibratedRGBColorSpace where{pop}{ /NXCalibratedRGBColorSpace {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef /nxsetgray{dup dup nxsetrgbcolor}__NXbdef /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse 8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if 8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def} {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse /DataSource exch def /ImageMatrix exch def /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef } { /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /colorimage{2 copy 3 ne or{_NXDoImageOp}{4 index dup 8 ne exch 4 ne and{_NXDoImageOp}{ pop pop save 6 1 roll 12 dict begin/Proc exch def/Res 0 string def /Alloc{2 index length mul 2 add dup 2 index load length gt{1.2 mul round cvi string def}{pop pop}ifelse}def 1 index 8 eq{/Unpack{.34 Alloc}def}{ /Wid 4 index 3 mul def exch pop 8 exch/Str1 0 string def/Lim Wid def /Unpack{.67 Alloc/Str1 2 Alloc 0 exch Lim exch {dup -4 bitshift 17 mul Str1 exch 4 index exch put 15 and 17 mul Str1 exch 3 index 1 add exch put 2 sub dup 0 le{0 lt Wid exch{exch 1 sub exch}if}if exch 2 add exch }forall/Lim exch def Str1 exch 0 exch getinterval }def }ifelse /Ops[{.3 mul add 1}{.59 mul add 2}{.11 mul add round cvi Res exch 2 index exch put 1 add 0.0 0}]def/Val 0.0 def/Phase 0 def {0 Val Phase Proc/Res Unpack{exch Ops exch get exec}forall/Phase exch def/Val exch def Res exch 0 exch getinterval} image end restore}ifelse}ifelse }__NXbdef /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef /setpattern{pop .5 setgray}__NXbdef /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef } ifelse /_NXSetCMYKOrRGB where{pop}{ mark{systemdict /currentwindow get exec}stopped {{pop pop pop setcmykcolor}}{{nxsetrgbcolor pop pop pop pop}}ifelse /_NXSetCMYKOrRGB exch def cleartomark }ifelse gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc closepath } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 509 626 rectclip 49 46 460 580 rectclip 0 setgray 0.333333 setgray 0 0 0.17 setup 0 nxsetgray 253 1 210 357 line 0.226471 463 358 arrow grestore 0 0 2.477692 setup 0 nxsetgray 205 357 171 165 rectstroke grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 1 2 translate 1 1 scale 0.549593 nxsetgray gsave newpath systemdict begin 224 261 345 475 setbbox 224 426 moveto 0 0 rlineto 118 49 rlineto 3 -158 rlineto -121 -56 rlineto 0 165 rlineto 0 0 rlineto end eofill grestore grestore 1 2 translate 1 1 scale 0 nxsetgray gsave newpath systemdict begin 224 261 345 475 setbbox 224 426 moveto 0 0 rlineto 118 49 rlineto 3 -158 rlineto -121 -56 rlineto 0 165 rlineto 0 0 rlineto end stroke grestore grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 nxsetgray 134 179 71 178 line 233.182922 71 178 arrow grestore 0 0 2.477692 setup 0 nxsetgray 69 94 306 426 line grestore 0 0 2.477692 setup 0 nxsetgray 72 97 303 260 line grestore 0 0 2.477692 setup 0 nxsetgray 135 262 170 165 rectstroke grestore 0 0 2.477692 setup 0 nxsetgray 68 94 136 427 line grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 nxsetgray 0 228 204 357 line 90.002655 204 585 arrow grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 nxsetgray 21 20 196 347 oval fill grestore 0 nxsetgray 21 20 196 347 oval matrix grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 nxsetgray 21 20 126 253 oval fill grestore 0 nxsetgray 21 20 126 253 oval matrix grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 nxsetgray 21 20 127 417 oval fill grestore 0 nxsetgray 21 20 127 417 oval matrix grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 nxsetgray 21 20 365 346 oval fill grestore 0 nxsetgray 21 20 365 346 oval matrix grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 nxsetgray 294 414 22 21 rectfill 0 nxsetgray 294 414 22 21 rectstroke grestore defaultmatrix setmatrix stroke defaultmatrix setmatrix stroke defaultmatrix setmatrix stroke defaultmatrix setmatrix stroke 0 setgray 0.333333 setgray 0 0 0.17 setup 0 nxsetgray 294 251 22 21 rectfill 0 nxsetgray 294 251 22 21 rectstroke grestore 0 0 0.17 setup gsave /Helvetica findfont 24 scalefont [1 0 0 -1 0 0] makefont 11 exch defineuserobject 11 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 792] concat 11 execuserobject setfont 0 nxsetgray 231 400 moveto (\(1,1,1\)) show grestore grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 nxsetgray 21 20 194 510 oval fill grestore 0 nxsetgray 21 20 194 510 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 nxsetgray 21 20 365 510 oval fill grestore 0 nxsetgray 21 20 365 510 oval matrix defaultmatrix setmatrix stroke grestore 0 0 0.17 setup gsave 11 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 512] concat 11 execuserobject setfont 0 nxsetgray 322 263 moveto (\(1,1,0\)) show grestore grestore 0 0 0 setup gsave 11 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 707] concat 11 execuserobject setfont 0 nxsetgray 468 357 moveto (x) show 0 7 rmoveto (2) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 11 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 318] concat 11 execuserobject setfont 0 nxsetgray 56 159 moveto (x) show 0 7 rmoveto (1) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 11 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 1209] concat gsave 207 588 39 33 rectclip 11 execuserobject setfont 0 nxsetgray 207 611 moveto (x) show 0 7 rmoveto (3) show 0 -7 rmoveto grestore grestore grestore 0 0 0 setup gsave 11 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 1164] concat /Helvetica findfont 44 scalefont [1 0 0 -1 0 0] makefont 12 exch defineuserobject 12 execuserobject setfont 0 nxsetgray 304 588 moveto (f = x) show 0 17 rmoveto (1) show 0 -17 rmoveto (x) show 0 17 rmoveto (2) show 0 -17 rmoveto grestore grestore 0 0 0 setup gsave 12 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 186] concat /Helvetica findfont 31 scalefont [1 0 0 -1 0 0] makefont 13 exch defineuserobject 13 execuserobject setfont 0 nxsetgray 255 87 moveto (x) show 0 7 rmoveto (1) show 0 -7 rmoveto ( ) show /Helvetica findfont 38 scalefont [1 0 0 -1 0 0] makefont 14 exch defineuserobject 14 execuserobject setfont (+) show 13 execuserobject setfont ( x) show 0 7 rmoveto (2) show 0 -7 rmoveto ( - 3/2 = 0) show grestore grestore 0 0 0 setup 0 nxsetgray 35 -102 256 272 line 108.936913 256 272 arrow grestore 0 0 0 setup gsave 13 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 294] concat 11 execuserobject setfont 0 nxsetgray 218 152 moveto (Equation of plane is:) show grestore grestore 0 setgray 0.333333 setgray gsave 0 0 509 626 rectclip [1 0 0 -1 0 626] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore grestore grestore %%EndDocument @endspecial 521 1154 a(Figure)14 b(4.3:)j(Implemen)o(ting)11 b(a)j(T)m(erm)201 1290 y(1.)20 b(W)m(e)11 b(start)h(with)f(a)g(\014nite)h (training)e(set,)j(\004,)e(of)g(v)o(ectors,)h Fy(Y)1159 1296 y Ft(i)1185 1290 y Fx(,)f(and)h(their)f(binary)254 1339 y(lab)q(els.)201 1429 y(2.)20 b(Comp)q(ose)11 b(an)g(in\014nite)h(training)f(sequence,)j (\006,)e(of)f(v)o(ectors)i(from)d(\004)i(and)g(their)254 1479 y(lab)q(els)k(suc)o(h)h(that)f(eac)o(h)g(mem)o(b)q(er)f(of)g(\004)h(o)q (ccurs)i(in\014nitely)d(often)h(in)g(\006.)24 b(Set)254 1529 y(the)14 b(initial)e(w)o(eigh)o(t)i(v)n(alues)f(of)h(an)f(TLU)h(to)g (arbitrary)g(v)n(alues.)201 1618 y(3.)20 b(Rep)q(eat)14 b(forev)o(er:)254 1688 y(Presen)o(t)h(the)g(next)f(v)o(ector,)h Fy(Y)741 1694 y Ft(i)754 1688 y Fx(,)f(in)f(\006)h(to)g(the)g(TLU)g(and)g(note)g(its)g (resp)q(onse.)271 1788 y(\(a\))21 b(If)d(the)h(TLU)g(resp)q(onds)h(correctly) m(,)g(mak)o(e)d(no)h(c)o(hange)h(in)f(the)h(w)o(eigh)o(t)345 1838 y(v)o(ector.)269 1907 y(\(b\))i(If)c Fy(Y)426 1913 y Ft(i)458 1907 y Fx(is)g(supp)q(osed)i(to)f(pro)q(duce)h(an)e(output)h(of)f(0)g(and)h (pro)q(duces)h(an)345 1957 y(output)14 b(of)f(1)h(instead,)g(mo)q(dify)d(the) k(w)o(eigh)o(t)e(v)o(ector)i(as)f(follo)o(ws:)775 2070 y Fy(V)e Fw( )-7 b(\000)11 b Fy(V)f Fw(\000)g Fu(c)1007 2076 y Ft(i)1021 2070 y Fy(Y)1057 2076 y Ft(i)345 2175 y Fx(where)19 b Fu(c)487 2181 y Ft(i)518 2175 y Fx(is)e(a)h(p)q(ositiv)o(e)f(real)g(n)o(um)o(b)q(er)g (called)g(the)h Fs(le)n(arning)g(r)n(ate)g(p)n(a-)345 2224 y(r)n(ameter)c Fx(\(whose)i(v)n(alue)e(is)h(di\013ereren)o(t)i(in)d (di\013eren)o(t)i(instances)g(of)f(this)345 2274 y(family)c(of)i(pro)q (cedures)j(and)e(ma)o(y)e(dep)q(end)j(on)f Fu(i)p Fx(\).)345 2334 y(Note)21 b(that)f(after)g(this)g(adjustmen)o(t)f(the)i(new)f(dot)g(pro) q(duct)h(will)d(b)q(e)345 2384 y(\()p Fy(V)8 b Fw(\000)f Fu(c)462 2390 y Ft(i)476 2384 y Fy(Y)512 2390 y Ft(i)526 2384 y Fx(\))p Fw(\017)p Fy(Y)599 2390 y Ft(i)624 2384 y Fx(=)12 b Fy(V)q Fw(\017)o Fy(Y)761 2390 y Ft(i)782 2384 y Fw(\000)7 b Fu(c)839 2390 y Ft(i)853 2384 y Fy(Y)889 2390 y Ft(i)903 2384 y Fw(\017)p Fy(Y)960 2390 y Ft(i)973 2384 y Fx(,)13 b(whic)o(h)f(is)h(smaller)e(than)i (it)f(w)o(as)345 2434 y(b)q(efore)j(the)f(w)o(eigh)o(t)g(adjustmen)o(t.)150 2539 y Fo(Intr)n(o)n(duction)g(to)k(Machine)e(L)n(e)n(arning)757 2538 y Fn(c)746 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 44 6 44 5 bop 450 275 a Fx(44)579 b Fp(CHAPTER)14 b(4.)32 b(NEURAL)14 b(NETW)o(ORKS)806 1012 y @beginspecial 0 @llx 0 @lly 153 @urx 159 @ury 1530 @rwi @setspecial %%BeginDocument: Four/clause.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /_NXfindfont /findfont load def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {_NXfindfont} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {_NXfindfont dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef /_NXDoImageOp{ 3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def chans 2 add 2 roll parr 0 chans getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /totbytes exch def pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end }__NXbdef /alphaimage{1 add _NXDoImageOp}def _NXLevel2{ /NXCalibratedRGBColorSpace where{pop}{ /NXCalibratedRGBColorSpace {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef /nxsetgray{dup dup nxsetrgbcolor}__NXbdef /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse 8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if 8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def} {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse /DataSource exch def /ImageMatrix exch def /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef } { /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /colorimage{2 copy 3 ne or{_NXDoImageOp}{4 index dup 8 ne exch 4 ne and{_NXDoImageOp}{ pop pop save 6 1 roll 12 dict begin/Proc exch def/Res 0 string def /Alloc{2 index length mul 2 add dup 2 index load length gt{1.2 mul round cvi string def}{pop pop}ifelse}def 1 index 8 eq{/Unpack{.34 Alloc}def}{ /Wid 4 index 3 mul def exch pop 8 exch/Str1 0 string def/Lim Wid def /Unpack{.67 Alloc/Str1 2 Alloc 0 exch Lim exch {dup -4 bitshift 17 mul Str1 exch 4 index exch put 15 and 17 mul Str1 exch 3 index 1 add exch put 2 sub dup 0 le{0 lt Wid exch{exch 1 sub exch}if}if exch 2 add exch }forall/Lim exch def Str1 exch 0 exch getinterval }def }ifelse /Ops[{.3 mul add 1}{.59 mul add 2}{.11 mul add round cvi Res exch 2 index exch put 1 add 0.0 0}]def/Val 0.0 def/Phase 0 def {0 Val Phase Proc/Res Unpack{exch Ops exch get exec}forall/Phase exch def/Val exch def Res exch 0 exch getinterval} image end restore}ifelse}ifelse }__NXbdef /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef /setpattern{pop .5 setgray}__NXbdef /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef } ifelse /_NXSetCMYKOrRGB where{pop}{ mark{systemdict /currentwindow get exec}stopped {{pop pop pop setcmykcolor}}{{nxsetrgbcolor pop pop pop pop}}ifelse /_NXSetCMYKOrRGB exch def cleartomark }ifelse gsave /__NXbasematrix matrix currentmatrix def grestore gsave 0 0 153 159 rectclip [1 0 0 -1 -36 177] concat 36 18 153 159 rectclip gsave 36 18 153 158.43895 rectclip gsave 1 -1 scale gsave 36 -176 translate 0.236476 0.236476 scale -30 -48 translate /__NXEPSSave save def /showpage {} def _NXLevel2{/_NXsethsb where{pop}{/_NXsethsb /sethsbcolor load def}ifelse /sethsbcolor{_NXsethsb currentrgbcolor nxsetrgbcolor}def /setrgbcolor{nxsetrgbcolor}bind def /setgray{nxsetgray}bind def /_NXcimage where{pop}{/_NXcimage /colorimage load def}ifelse /colorimage{dup 3 eq{true 2 index{1 index}{1}ifelse 7 add 1 roll _NXCalibratedImage} {_NXcimage}ifelse}def}if 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /_NXfindfont /findfont load def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {_NXfindfont} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {_NXfindfont dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef /_NXDoImageOp{ 3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def chans 2 add 2 roll parr 0 chans getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /totbytes exch def pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end }__NXbdef /alphaimage{1 add _NXDoImageOp}def _NXLevel2{ /NXCalibratedRGBColorSpace where{pop}{ /NXCalibratedRGBColorSpace {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef /nxsetgray{dup dup nxsetrgbcolor}__NXbdef /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse 8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if 8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def} {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse /DataSource exch def /ImageMatrix exch def /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef } { /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /colorimage{2 copy 3 ne or{_NXDoImageOp}{4 index dup 8 ne exch 4 ne and{_NXDoImageOp}{ pop pop save 6 1 roll 12 dict begin/Proc exch def/Res 0 string def /Alloc{2 index length mul 2 add dup 2 index load length gt{1.2 mul round cvi string def}{pop pop}ifelse}def 1 index 8 eq{/Unpack{.34 Alloc}def}{ /Wid 4 index 3 mul def exch pop 8 exch/Str1 0 string def/Lim Wid def /Unpack{.67 Alloc/Str1 2 Alloc 0 exch Lim exch {dup -4 bitshift 17 mul Str1 exch 4 index exch put 15 and 17 mul Str1 exch 3 index 1 add exch put 2 sub dup 0 le{0 lt Wid exch{exch 1 sub exch}if}if exch 2 add exch }forall/Lim exch def Str1 exch 0 exch getinterval }def }ifelse /Ops[{.3 mul add 1}{.59 mul add 2}{.11 mul add round cvi Res exch 2 index exch put 1 add 0.0 0}]def/Val 0.0 def/Phase 0 def {0 Val Phase Proc/Res Unpack{exch Ops exch get exec}forall/Phase exch def/Val exch def Res exch 0 exch getinterval} image end restore}ifelse}ifelse }__NXbdef /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef /setpattern{pop .5 setgray}__NXbdef /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef } ifelse /_NXSetCMYKOrRGB where{pop}{ mark{systemdict /currentwindow get exec}stopped {{pop pop pop setcmykcolor}}{{nxsetrgbcolor pop pop pop pop}}ifelse /_NXSetCMYKOrRGB exch def cleartomark }ifelse gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc closepath } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 677 718 rectclip 30 48 647 670 rectclip 0 0 2.477692 setup 0 nxsetgray 68 94 147 255 line grestore 0 0 2.477692 setup 0 nxsetgray 214 347 171 165 rectstroke grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 0 -1 translate 1 1 scale 0.574374 nxsetgray gsave newpath systemdict begin 184 305 302 434 setbbox 214 434 moveto 0 0 rlineto -30 -129 rlineto 118 43 rlineto -88 85 rlineto 0 1 rlineto end eofill grestore grestore 0 -1 translate 1 1 scale 0 nxsetgray gsave newpath systemdict begin 184 305 302 434 setbbox 214 434 moveto 0 0 rlineto -30 -129 rlineto 118 43 rlineto -88 85 rlineto 0 1 rlineto end stroke grestore grestore 0 0 2.477692 setup gsave /Helvetica findfont 36 scalefont [1 0 0 -1 0 0] makefont 12 exch defineuserobject 12 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 1338] concat /Helvetica findfont 44 scalefont [1 0 0 -1 0 0] makefont 11 exch defineuserobject 11 execuserobject setfont 0 nxsetgray 41 669 moveto (f = x) show 0 17 rmoveto (1) show 0 -17 rmoveto ( + x) show 0 17 rmoveto (2) show 0 -17 rmoveto ( + x) show 0 17 rmoveto (3) show 0 -17 rmoveto grestore grestore 0 0 2.477692 setup 0 nxsetgray 69 94 316 416 line grestore 0 0 2.477692 setup 0 nxsetgray 144 253 170 165 rectstroke grestore 0 0 2.477692 setup 0 nxsetgray 68 94 146 417 line grestore 0 setgray 0.333333 setgray 0 0 2.477692 setup gsave 0 nxsetgray 21 20 206 337 oval fill grestore 0 nxsetgray 21 20 206 337 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 2.477692 setup 0 nxsetgray 304 404 22 21 rectfill 0 nxsetgray 304 404 22 21 rectstroke grestore 0 setgray 0.333333 setgray 0 0 2.477692 setup 0 nxsetgray 305 240 22 21 rectfill 0 nxsetgray 305 240 22 21 rectstroke grestore 0 0 2.477692 setup gsave 11 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 305] concat 12 execuserobject setfont 0 nxsetgray 46 158 moveto (x) show 0 14 rmoveto (1) show 0 -14 rmoveto grestore grestore 0 setgray 0.333333 setgray 0 0 2.477692 setup 0 nxsetgray 375 337 22 21 rectfill 0 nxsetgray 375 337 22 21 rectstroke grestore 0 setgray 0.333333 setgray 0 0 2.477692 setup 0 nxsetgray 136 245 22 21 rectfill 0 nxsetgray 136 245 22 21 rectstroke grestore 0 0 2.477692 setup 0 nxsetgray 69 94 315 251 line grestore 0 setgray 0.333333 setgray 0 0 2.477692 setup 0 nxsetgray 373 497 22 21 rectfill 0 nxsetgray 373 497 22 21 rectstroke grestore 0 setgray 0.333333 setgray 0 0 2.477692 setup 0 nxsetgray 204 497 22 21 rectfill 0 nxsetgray 204 497 22 21 rectstroke grestore 0 setgray 0.333333 setgray 0 0 2.477692 setup 0 nxsetgray 136 407 22 21 rectfill 0 nxsetgray 136 407 22 21 rectstroke grestore 0 0 0.17 setup 0 nxsetgray 54 -150 220 311 line 109.796806 220 311 arrow grestore 0 0 2.477692 setup gsave 12 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 181] concat gsave 46 62 464 57 rectclip 11 execuserobject setfont 0 nxsetgray 46 107 moveto (x) show 0 9 rmoveto (1) show 0 -9 rmoveto ( + x) show 0 9 rmoveto (2) show 0 -9 rmoveto ( + x) show 0 9 rmoveto (3) show 0 -9 rmoveto ( ) show /Symbol findfont 44 scalefont [1 0 0 -1 0 0] makefont 13 exch defineuserobject 13 execuserobject setfont (-) show 11 execuserobject setfont ( 1/2 = 0) show grestore grestore grestore 0 0 2.477692 setup gsave 11 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 1166] concat 11 execuserobject setfont 0 nxsetgray 293 583 moveto (f = x) show 0 17 rmoveto (1) show 0 -17 rmoveto (x) show 0 17 rmoveto (2) show 0 -17 rmoveto (x) show 0 17 rmoveto (3) show 0 -17 rmoveto grestore grestore 0 0 2.477692 setup 0 nxsetgray 31 0 287 623 line grestore 0 0 2.477692 setup 0 nxsetgray 31 0 356 613 line grestore 0 0 2.477692 setup 0 nxsetgray 31 0 404 613 line grestore 0 0 2.477692 setup 0 nxsetgray 31 0 447 613 line grestore 0 0 0 setup gsave 11 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 248] concat 12 execuserobject setfont 0 nxsetgray 114 124 moveto (Equation of plane is:) show grestore grestore 0 setgray 0.333333 setgray 0 0 0.272564 setup 0 nxsetgray 134 179 80 166 line 233.182922 80 166 arrow grestore 0 setgray 0.333333 setgray 0 0 0.272564 setup 0 nxsetgray 253 1 209 346 line 0.226471 462 347 arrow grestore 0 setgray 0.333333 setgray 0 0 0.272564 setup 0 nxsetgray 1 227 214 347 line 89.750244 215 574 arrow grestore 0 0 2.477692 setup gsave 12 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 689] concat 12 execuserobject setfont 0 nxsetgray 467 350 moveto (x) show 0 14 rmoveto (2) show 0 -14 rmoveto grestore grestore 0 0 2.477692 setup gsave 12 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 1171] concat 12 execuserobject setfont 0 nxsetgray 168 591 moveto (x) show 0 14 rmoveto (3) show 0 -14 rmoveto grestore grestore 0 setgray 0.333333 setgray gsave 0 0 677 718 rectclip [1 0 0 -1 0 718] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore grestore grestore %%EndDocument @endspecial 809 1104 a Fx(Figure)g(4.4:)j(Implemen)o(ting)11 b(a)j(Clause)574 1232 y(\(c\))21 b(If)c Fy(Y)726 1238 y Ft(i)758 1232 y Fx(is)g(supp)q(osed)i(to)f(pro)q(duce)h(an)e(output)h(of)f(1)g(and)h (pro)q(duces)h(an)645 1281 y(output)14 b(of)f(0)h(instead,)g(mo)q(dify)d(the) k(w)o(eigh)o(t)e(v)o(ector)i(as)f(follo)o(ws:)1075 1382 y Fy(V)e Fw( )-7 b(\000)11 b Fy(V)f Fx(+)g Fu(c)1307 1388 y Ft(i)1321 1382 y Fy(Y)1357 1388 y Ft(i)645 1475 y Fx(In)21 b(this)g(case,)i(the)e(new)h (dot)f(pro)q(duct)g(will)f(b)q(e)h(\()p Fy(V)15 b Fx(+)f Fu(c)1594 1481 y Ft(i)1608 1475 y Fy(Y)1644 1481 y Ft(i)1658 1475 y Fx(\))p Fw(\017)p Fy(Y)1731 1481 y Ft(i)1768 1475 y Fx(=)645 1525 y Fy(V)q Fw(\017)p Fy(Y)739 1531 y Ft(i)762 1525 y Fx(+)c Fu(c)822 1531 y Ft(i)836 1525 y Fy(Y)872 1531 y Ft(i)886 1525 y Fw(\017)p Fy(Y)943 1531 y Ft(i)957 1525 y Fx(,)k(whic)o(h)h(is)f(larger)h(than)g(it)f (w)o(as)h(b)q(efore)g(the)g(w)o(eigh)o(t)645 1574 y(adjustmen)o(t.)554 1662 y(Note)i(that)g(all)e(three)j(of)f(these)h(cases)g(can)f(b)q(e)g(com)o (bined)f(in)g(the)i(follo)o(wing)554 1712 y(rule:)953 1813 y Fy(V)12 b Fw( )-7 b(\000)11 b Fy(V)f Fx(+)g Fu(c)1185 1819 y Ft(i)1199 1813 y Fx(\()p Fu(d)1237 1819 y Ft(i)1259 1813 y Fw(\000)g Fu(f)1321 1819 y Ft(i)1335 1813 y Fx(\))p Fy(Y)1387 1819 y Ft(i)554 1914 y Fx(where)15 b Fu(d)696 1920 y Ft(i)723 1914 y Fx(is)e(the)i(desired)f(resp)q(onse)i(\(1)e(or)f(0\))h(for)f Fy(Y)1395 1920 y Ft(i)1423 1914 y Fx(,)g(and)h Fu(f)1549 1920 y Ft(i)1576 1914 y Fx(is)g(the)g(actual)554 1964 y(resp)q(onse)i(\(1)d(or)h (0\))g(for)f Fy(Y)973 1970 y Ft(i)987 1964 y Fx(.])554 2029 y(Note)k(also)f(that)g(b)q(ecause)j(the)e(w)o(eigh)o(t)f(v)o(ector)i Fy(V)e Fx(no)o(w)g(includes)h(the)h Fu(w)1736 2035 y Ft(n)p Fr(+1)554 2079 y Fx(threshold)g(comp)q(onen)o(t,)f(the)h(threshold)g(of)f (the)h(TLU)g(is)f(also)g(c)o(hanged)h(b)o(y)554 2129 y(these)d(adjustmen)o (ts.)512 2224 y(W)m(e)f(iden)o(tify)f(t)o(w)o(o)g(v)o(ersions)i(of)e(this)h (pro)q(cedure:)512 2284 y(1\))i(In)f(the)i Fs(\014xe)n(d-incr)n(ement)g(pr)n (o)n(c)n(e)n(dur)n(e)p Fx(,)e(the)h(learning)f(rate)h(parameter,)g Fu(c)1731 2290 y Ft(i)1744 2284 y Fx(,)g(is)450 2334 y(the)g(same)e(\014xed,) h(p)q(ositiv)o(e)g(constan)o(t)g(for)g(all)f Fu(i)p Fx(.)21 b(Dep)q(ending)16 b(on)e(the)i(v)n(alue)e(of)h(this)450 2384 y(constan)o(t,)i(the)h(w)o(eigh)o(t)e(adjustmen)o(t)g(ma)o(y)f(or)h(ma)o(y)f (not)i(correct)h(the)g(resp)q(onse)g(to)450 2434 y(an)c(erroneously)g (classi\014ed)h(feature)f(v)o(ector.)450 2539 y Fo(Intr)n(o)n(duction)g(to)k (Machine)e(L)n(e)n(arning)1057 2538 y Fn(c)1046 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 45 7 45 6 bop 150 275 a Fp(4.1.)31 b(THRESHOLD)14 b(LOGIC)f(UNITS)654 b Fx(45)212 391 y(2\))22 b(In)g(the)h Fs(fr)n(actional-c)n(orr)n(e)n(ction)d (pr)n(o)n(c)n(e)n(dur)n(e)p Fx(,)j(the)g(parameter)f Fu(c)1305 397 y Ft(i)1340 391 y Fx(is)g(set)h(to)150 466 y Fu(\025)187 434 y Fy(Y)223 453 y(i)238 434 y Fi(\017)p Fy(V)p 179 456 120 2 v 179 487 a(Y)215 505 y(i)231 487 y Fi(\017)p Fy(Y)284 505 y(i)304 466 y Fx(,)d(where)h Fy(V)e Fx(is)g(the)h(w)o(eigh)o(t)f(v)o(ector)h Fs(b)n(efor)n(e)f Fx(it)f(is)i(c)o(hanged.)34 b(Note)20 b(that)150 538 y(if)c Fu(\025)f Fx(=)h(0,)h(no)f(correction)h(tak)o(es)g(place)g(at)f (all.)24 b(If)16 b Fu(\025)g Fx(=)g(1,)g(the)h(correction)h(is)e(just)150 588 y(su\016cien)o(t)e(to)g(mak)o(e)e Fh(Y)516 601 y(i)531 588 y Fm(\017)p Fh(V)g Fn(=)f(0)p Fx(.)18 b(If)13 b Fu(\025)f(>)g Fx(1,)h(the)h(error)h(will)e(b)q(e)h(corrected.)212 648 y(It)f(can)g(b)q(e)g (pro)o(v)o(ed)f(that)h(if)f(there)h(is)g(some)e(w)o(eigh)o(t)h(v)o(ector,)i Fy(V)p Fx(,)e(that)g(pro)q(duces)i(a)150 698 y(correct)g(output)f(for)f(all)g (of)g(the)h(feature)g(v)o(ectors)h(in)e(\004,)g(then)i(after)f(a)f(\014nite)h (n)o(um)o(b)q(er)150 748 y(of)d(feature)i(v)o(ector)g(presen)o(tations,)h (the)e(\014xed-incremen)o(t)g(pro)q(cedure)i(will)d(\014nd)h(suc)o(h)150 797 y(a)k(w)o(eigh)o(t)h(v)o(ector)g(and)g(th)o(us)g(mak)o(e)e(no)h(more)g(w) o(eigh)o(t)g(c)o(hanges.)24 b(The)16 b(same)f(result)150 847 y(holds)f(for)f(the)i(fractional-correction)e(pro)q(cedure)j(if)d(1)e Fu(<)h(\025)g Fw(\024)g Fx(2.)212 907 y(F)m(or)e(additional)e(bac)o(kground,) i(pro)q(ofs,)g(and)f(examples)g(of)g(error-correction)j(pro-)150 957 y(cedures,)j(see)h([Nilsson,)c(1990)o(].)878 b Fr(See)1529 990 y([Maass)11 b(&)h(T)m(ur\023)-17 b(an,)11 b(1994)o(])1529 1023 y(for)g(a)1529 1056 y(h)o(yp)q(erplane-)1529 1090 y(\014nding)1529 1123 y(pro)q(cedure)g(that)1529 1156 y(mak)o(es)h(no)f(more)1529 1189 y(than)1529 1222 y Ft(O)q Fr(\()p Ft(n)1589 1210 y Fg(2)1612 1222 y Fr(log)5 b Ft(n)p Fr(\))1529 1256 y(mistak)o(es.)150 1082 y Fz(4.1.4)55 b(W)-5 b(eigh)n(t)19 b(Space)150 1168 y Fx(W)m(e)f(can)g(giv)o(e)g(an)g(in)o(tuitiv)o(e)f(idea)h(ab)q(out)g(ho)o(w)f (these)j(pro)q(cedures)g(w)o(ork)e(b)o(y)g(con-)150 1218 y(sidering)e(what)g (happ)q(ens)h(to)e(the)i(augmen)o(ted)e(w)o(eigh)o(t)h(v)o(ector)g(in)g(\\w)o (eigh)o(t)f(space")150 1268 y(as)f(corrections)i(are)f(made.)i(W)m(e)d(use)h (augmen)o(ted)f(v)o(ectors)h(in)f(our)g(discussion)h(here)150 1318 y(so)i(that)h(the)f(threshold)h(function)f(compares)g(the)h(dot)f(pro)q (duct,)i Fy(Y)1270 1324 y Ft(i)1284 1318 y Fw(\017)o Fy(V)q Fx(,)f(against)150 1368 y(a)h(threshold)h(of)e(0.)34 b(A)19 b(particular)g(w)o(eigh)o(t)g(v)o(ector,)i Fy(V)p Fx(,)d(then)i(corresp)q (onds)h(to)e(a)150 1418 y(p)q(oin)o(t)e(in)g(\()p Fu(n)12 b Fx(+)g(1\)-dimensional)j(w)o(eigh)o(t)i(space.)30 b(No)o(w,)17 b(for)g(an)o(y)g(pattern)i(v)o(ector,)150 1467 y Fy(Y)186 1473 y Ft(i)200 1467 y Fx(,)12 b(consider)h(the)g(lo)q(cus)f(of)g(all)f(p)q(oin)o (ts)h(in)g(w)o(eigh)o(t)g(space)h(corresp)q(onding)g(to)f(w)o(eigh)o(t)150 1517 y(v)o(ectors)i(yielding)d Fy(Y)480 1523 y Ft(i)494 1517 y Fw(\017)p Fy(V)h Fx(=)g(0.)18 b(This)12 b(lo)q(cus)h(is)g(a)g(h)o(yp)q (erplane)g(passing)g(through)f(the)150 1567 y(origin)g(of)g(the)h(\()p Fu(n)7 b Fx(+)h(1\)-dimensional)i(space.)19 b(Eac)o(h)13 b(pattern)h(v)o (ector)f(will)f(ha)o(v)o(e)g(suc)o(h)150 1617 y(a)j(h)o(yp)q(erplane)h (corresp)q(onding)h(to)e(it.)23 b(W)m(eigh)o(t)14 b(p)q(oin)o(ts)i(in)f(one)h (of)f(the)h(half-spaces)150 1667 y(de\014ned)g(b)o(y)e(this)h(h)o(yp)q (erplane)g(will)e(cause)j(the)f(corresp)q(onding)g(pattern)h(to)e(yield)g(a) 150 1716 y(dot)d(pro)q(duct)h(less)g(than)g(0,)f(and)g(w)o(eigh)o(t)g(p)q (oin)o(ts)g(in)g(the)h(other)g(half-space)f(will)f(cause)150 1766 y(the)k(corresp)q(onding)h(pattern)g(to)f(yield)f(a)h(dot)f(pro)q(duct)i (greater)g(than)f(0.)212 1826 y(W)m(e)f(sho)o(w)h(a)f(sc)o(hematic)h (represen)o(tation)h(of)e(suc)o(h)h(a)f(w)o(eigh)o(t)g(space)i(in)e(Fig.)k (4.5.)150 1876 y(There)f(are)g(four)f(pattern)h(h)o(yp)q(erplanes,)g(1,)f(2,) g(3,)g(4)g(,)g(corresp)q(onding)i(to)e(patterns)150 1926 y Fy(Y)186 1932 y Fr(1)205 1926 y Fx(,)f Fy(Y)267 1932 y Fr(2)286 1926 y Fx(,)h Fy(Y)349 1932 y Fr(3)368 1926 y Fx(,)f Fy(Y)430 1932 y Fr(4)449 1926 y Fx(,)h(resp)q(ectiv)o(ely)m(,)g(and)g(w)o(e)g (indicate)g(b)o(y)g(an)g(arro)o(w)f(the)i(half-space)150 1975 y(for)c(eac)o(h)h(in)f(whic)o(h)h(w)o(eigh)o(t)f(v)o(ectors)h(giv)o(e)f(dot)h (pro)q(ducts)h(greater)f(than)g(0.)k(Supp)q(ose)150 2025 y(w)o(e)11 b(w)o(an)o(ted)f(w)o(eigh)o(t)g(v)n(alues)h(that)f(w)o(ould)g(giv)o(e)g(p)q (ositiv)o(e)g(resp)q(onses)j(for)d(patterns)i Fy(Y)1470 2031 y Fr(1)1488 2025 y Fx(,)150 2075 y Fy(Y)186 2081 y Fr(3)205 2075 y Fx(,)g(and)g Fy(Y)344 2081 y Fr(4)363 2075 y Fx(,)g(and)g(a)g(negativ) o(e)g(resp)q(onse)j(for)d(pattern)h Fy(Y)1072 2081 y Fr(2)1090 2075 y Fx(.)18 b(The)13 b(w)o(eigh)o(t)f(p)q(oin)o(t,)f Fy(V)p Fx(,)150 2125 y(indicated)j(in)f(the)i(\014gure)f(is)g(one)g(suc)o(h)h(set)g (of)e(w)o(eigh)o(t)g(v)n(alues.)212 2185 y(The)j(question)g(of)e(whether)j (or)e(not)g(there)i(exists)f(a)f(w)o(eigh)o(t)g(v)o(ector)h(that)f(giv)o(es) 150 2234 y(desired)e(resp)q(onses)i(for)d(a)g(giv)o(en)g(set)h(of)f(patterns) h(can)g(b)q(e)f(giv)o(en)g(a)g(geometric)g(in)o(ter-)150 2284 y(pretation.)21 b(T)m(o)14 b(do)h(so)g(in)o(v)o(olv)o(es)f(rev)o(ersing)h (the)h(\\p)q(olarit)o(y")d(of)h(those)i(h)o(yp)q(erplanes)150 2334 y(corresp)q(onding)h(to)g(patterns)g(for)f(whic)o(h)g(a)g(negativ)o(e)h (resp)q(onse)h(is)e(desired.)27 b(If)16 b(w)o(e)150 2384 y(do)e(that)h(for)f (our)g(example)f(ab)q(o)o(v)o(e,)h(w)o(e)h(get)f(the)h(w)o(eigh)o(t)f(space)i (diagram)c(sho)o(wn)i(in)150 2434 y(Fig.)j(4.6.)150 2539 y Fo(Intr)n(o)n(duction)d(to)k(Machine)e(L)n(e)n(arning)757 2538 y Fn(c)746 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 46 8 46 7 bop 450 275 a Fx(46)579 b Fp(CHAPTER)14 b(4.)32 b(NEURAL)14 b(NETW)o(ORKS)754 1008 y @beginspecial 4 @llx 550 @lly 182 @urx 708 @ury 1780 @rwi @setspecial %%BeginDocument: Four/weight1.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 4 550 178 158 rectclip 4 550 178 158 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 9 555 168 148 rectfill 9.000000 555.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 168 148 rectclip 0.416873 0.414566 scale -32 -232 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 32.794872 232.794876 401.205139 355.410248 rectclip 32.794872 232.794876 401.205139 355.410248 rectclip 0 0 2.205128 setup 0 setgray 1 setalpha 56 -310 181 550 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 116 281 147 257 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 284 76 65 367 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 318 -115 40 465 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 254 537 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave /Helvetica-Bold findfont 18 scalefont [1 0 0 -1 0 0] makefont 355 exch defineuserobject 355 execuserobject setfont 0 setgray [1 0 0 -1 0 1104] concat /Helvetica findfont 18 scalefont [1 0 0 -1 0 0] makefont 39 exch defineuserobject 39 execuserobject setfont 0 setgray 265 558 moveto (2) show grestore grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 164 550 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave 39 execuserobject setfont 0 setgray [1 0 0 -1 0 1118] concat 39 execuserobject setfont 0 setgray 173 559 moveto (3) show grestore grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 359 328 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave 39 execuserobject setfont 0 setgray [1 0 0 -1 0 686] concat 39 execuserobject setfont 0 setgray 370 349 moveto (4) show grestore grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 349 432 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave 39 execuserobject setfont 0 setgray [1 0 0 -1 0 894] concat 39 execuserobject setfont 0 setgray 360 453 moveto (1) show grestore grestore 0 0 4.666667 setup 0 setgray 1 setalpha 29 2 193 487 line 3.945303 222 489 arrow grestore 0 0 4.666667 setup 0 setgray 1 setalpha 28 -10 226 526 line 160.345596 226 526 arrow grestore 0 0 4.666667 setup 0 setgray 1 setalpha 10 24 331 360 line 67.382126 341 384 arrow grestore 0 0 4.666667 setup 0 setgray 1 setalpha 11 -26 317 435 line -67.069878 328 409 arrow grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 0 setgray 1 setalpha 10 10 381 395 oval fill grestore 0 setgray 1 setalpha 10 10 381 395 oval matrix defaultmatrix setmatrix stroke grestore 0 0 0 setup gsave 39 execuserobject setfont 0 setgray [1 0 0 -1 0 825] concat 355 execuserobject setfont 0 setgray 396 419 moveto (V) show grestore grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 895 1099 a Fx(Figure)g(4.5:)j(W)m(eigh)o(t)c(Space)512 1226 y(If)i(a)f(w)o(eigh)o(t)g(v)o(ector)h(exists)h(that)f(correctly)g (classi\014es)h(a)e(set)i(of)e(patterns,)h(then)450 1276 y(the)e(half-spaces) f(de\014ned)h(b)o(y)f(the)h(correct)h(resp)q(onses)g(for)e(these)h(patterns)h (will)c(ha)o(v)o(e)450 1326 y(a)17 b(non-empt)o(y)e(in)o(tersection,)j (called)f(the)g(solution)f(region.)27 b(The)17 b(solution)f(region)450 1376 y(will)10 b(b)q(e)i(a)f(\\h)o(yp)q(er-w)o(edge")h(region)g(whose)g(v)o (ertex)g(is)f(at)h(the)g(origin)e(of)h(w)o(eigh)o(t)g(space)450 1426 y(and)i(whose)i(cross-section)g(increases)g(with)e(increasing)h (distance)h(from)c(the)k(origin.)450 1476 y(This)i(region)g(is)f(sho)o(wn)h (shaded)h(in)e(Fig.)27 b(4.6.)f(\(The)17 b(b)q(o)o(xed)h(n)o(um)o(b)q(ers)e (sho)o(w,)h(for)450 1525 y(later)c(purp)q(oses,)i(the)f(n)o(um)o(b)q(er)f(of) f(errors)j(made)d(b)o(y)h(w)o(eigh)o(t)g(v)o(ectors)i(in)e(eac)o(h)h(of)e (the)450 1575 y(regions.\))20 b(The)14 b(\014xed-incremen)o(t)h (error-correction)h(pro)q(cedure)g(c)o(hanges)f(a)f(w)o(eigh)o(t)450 1625 y(v)o(ector)d(b)o(y)g(mo)o(ving)d(it)i(normal)e(to)j(an)o(y)f(pattern)h (h)o(yp)q(erplane)g(for)f(whic)o(h)h(that)f(w)o(eigh)o(t)450 1675 y(v)o(ector)j(giv)o(es)e(an)h(incorrect)h(resp)q(onse.)19 b(Supp)q(ose)13 b(in)f(our)g(example)e(that)i(w)o(e)g(presen)o(t)450 1725 y(the)i(patterns)g(in)f(the)h(sequence)h Fy(Y)1010 1731 y Fr(1)1029 1725 y Fx(,)d Fy(Y)1089 1731 y Fr(2)1108 1725 y Fx(,)h Fy(Y)1169 1731 y Fr(3)1188 1725 y Fx(,)f Fy(Y)1248 1731 y Fr(4)1267 1725 y Fx(,)h(and)g(start)h(the)f(pro)q(cess)i(with)e(a)450 1774 y(w)o(eigh)o(t)g(p)q(oin)o(t)g Fy(V)725 1780 y Fr(1)743 1774 y Fx(,)g(as)h(sho)o(wn)f(in)g(Fig.)k(4.7.)g(Starting)c(at)g Fy(V)1411 1780 y Fr(1)1430 1774 y Fx(,)g(w)o(e)g(see)i(that)e(it)g(giv)o(es) 450 1824 y(an)h(incorrect)i(resp)q(onse)h(for)d(pattern)i Fy(Y)1100 1830 y Fr(1)1118 1824 y Fx(,)f(so)f(w)o(e)h(mo)o(v)o(e)e Fy(V)1402 1830 y Fr(1)1435 1824 y Fx(to)i Fy(V)1523 1830 y Fr(2)1556 1824 y Fx(in)f(a)h(direction)450 1874 y(normal)h(to)h(plane)h(1.)29 b(\(That)17 b(is)h(what)f(adding)g Fy(Y)1278 1880 y Fr(1)1314 1874 y Fx(to)h Fy(V)1405 1880 y Fr(1)1441 1874 y Fx(do)q(es.\))30 b Fy(Y)1614 1880 y Fr(2)1651 1874 y Fx(giv)o(es)17 b(an)450 1924 y(incorrect)j(resp)q(onse)g(for)e(pattern)h Fy(Y)1056 1930 y Fr(2)1074 1924 y Fx(,)g(and)f(so)h(on.)31 b(Ultimately)m(,)16 b(the)j(resp)q(onses)450 1974 y(are)g(only)e(incorrect)j(for)e(planes)g(b)q (ounding)g(the)h(solution)e(region.)32 b(Some)17 b(of)g(the)450 2023 y(subsequen)o(t)i(corrections)f(ma)o(y)d(o)o(v)o(ersho)q(ot)i(the)g (solution)g(region,)f(but)i(ev)o(en)o(tually)450 2073 y(w)o(e)13 b(w)o(ork)f(our)g(w)o(a)o(y)g(out)g(far)g(enough)h(in)f(the)h(solution)f (region)g(that)g(corrections)i(\(for)450 2123 y(a)f(\014xed)g(incremen)o(t)g (size\))h(tak)o(e)f(us)g(within)g(it.)k(The)d(pro)q(ofs)f(for)f(con)o(v)o (ergence)j(of)d(the)450 2173 y(\014xed-incremen)o(t)i(rule)g(mak)o(e)f(this)g (in)o(tuitiv)o(e)g(argumen)o(t)g(precise.)450 2298 y Fz(4.1.5)55 b(The)19 b(Widro)n(w-Ho\013)f(Pro)r(cedure)450 2384 y Fx(The)e(Widro)o (w-Ho\013)f(pro)q(cedure)j(\(also)d(called)g(the)i Fs(LMS)f Fx(or)g(the)g Fs(delta)g Fx(pro)q(cedure\))450 2434 y(attempts)9 b(to)g(\014nd)h(w)o(eigh)o(ts)f(that)g(minimi)o(ze)e(a)j(squared-error)h (function)e(b)q(et)o(w)o(een)h(the)450 2539 y Fo(Intr)n(o)n(duction)k(to)k (Machine)e(L)n(e)n(arning)1057 2538 y Fn(c)1046 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 47 9 47 8 bop 150 275 a Fp(4.1.)31 b(THRESHOLD)14 b(LOGIC)f(UNITS)654 b Fx(47)358 1108 y @beginspecial 4 @llx 528 @lly 228 @urx 710 @ury 2240 @rwi @setspecial %%BeginDocument: Four/weight2.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 4 528 224 182 rectclip 4 528 224 182 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 9 533 214 172 rectfill 9.000000 533.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 214 172 rectclip 0.480899 0.481793 scale -32 -232 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 32.794872 232.794876 443.205139 355.410248 rectclip 32.794872 232.794876 443.205139 355.410248 rectclip 0 setgray 0.333333 setgray 0 0 0 setup gsave -0.787079 5.235291 translate 1.003802 0.986928 scale 0.710746 setgray 1 setalpha gsave newpath systemdict begin 207 324 470 477 setbbox 207 404 moveto 263 73 rlineto -50 -153 rlineto -212 82 rlineto -1 -1 rlineto 0 -1 rlineto end eofill grestore grestore -0.787079 5.235291 translate 1.003802 0.986928 scale 0 setgray 1 setalpha gsave newpath systemdict begin 207 324 470 477 setbbox 207 404 moveto 263 73 rlineto -50 -153 rlineto -212 82 rlineto -1 -1 rlineto 0 -1 rlineto end stroke grestore grestore 0 0 2.205128 setup 0 setgray 1 setalpha 56 -310 181 550 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 116 281 147 257 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 284 76 65 367 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 318 -115 40 465 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 254 537 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave /Helvetica findfont 24 scalefont [1 0 0 -1 0 0] makefont 71 exch defineuserobject 71 execuserobject setfont 0 setgray [1 0 0 -1 0 1104] concat /Helvetica findfont 18 scalefont [1 0 0 -1 0 0] makefont 39 exch defineuserobject 39 execuserobject setfont 0 setgray 265 558 moveto (2) show grestore grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 164 550 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave 39 execuserobject setfont 0 setgray [1 0 0 -1 0 1118] concat 39 execuserobject setfont 0 setgray 173 559 moveto (3) show grestore grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 359 328 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave 39 execuserobject setfont 0 setgray [1 0 0 -1 0 686] concat 39 execuserobject setfont 0 setgray 370 349 moveto (4) show grestore grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 349 432 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave 39 execuserobject setfont 0 setgray [1 0 0 -1 0 894] concat 39 execuserobject setfont 0 setgray 360 453 moveto (1) show grestore grestore 0 0 4.666667 setup 0 setgray 1 setalpha 29 2 193 487 line 3.945303 222 489 arrow grestore 0 0 4.666667 setup 0 setgray 1 setalpha 27 -9 254 516 line -18.435492 281 507 arrow grestore 0 0 4.666667 setup 0 setgray 1 setalpha 10 24 331 360 line 67.382126 341 384 arrow grestore 0 0 4.666667 setup 0 setgray 1 setalpha 11 -26 317 435 line -67.069878 328 409 arrow grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 0 setgray 1 setalpha 10 10 381 395 oval fill grestore 0 setgray 1 setalpha 10 10 381 395 oval matrix defaultmatrix setmatrix stroke grestore 0 0 0 setup gsave 39 execuserobject setfont 0 setgray [1 0 0 -1 0 781] concat /Helvetica-Bold findfont 18 scalefont [1 0 0 -1 0 0] makefont 355 exch defineuserobject 355 execuserobject setfont 0 setgray 398 397 moveto (V) show grestore grestore 0 0 0 setup gsave 355 execuserobject setfont 0 setgray [1 0 0 -1 0 858] concat 71 execuserobject setfont 0 setgray 424 433 moveto (0) show grestore grestore 0 0 0 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 1059] concat 71 execuserobject setfont 0 setgray 374 538 moveto (1) show grestore grestore 0 0 0 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 575] concat 71 execuserobject setfont 0 setgray 310 296 moveto (1) show grestore grestore 0 0 0 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 1091] concat 71 execuserobject setfont 0 setgray 217 554 moveto (2) show grestore grestore 0 0 0 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 1061] concat 71 execuserobject setfont 0 setgray 107 539 moveto (3) show grestore grestore 0 0 0 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 535] concat 71 execuserobject setfont 0 setgray 187 276 moveto (2) show grestore grestore 0 0 0 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 653] concat 71 execuserobject setfont 0 setgray 93 335 moveto (3) show grestore grestore 0 0 0 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 829] concat 71 execuserobject setfont 0 setgray 50 423 moveto (4) show grestore grestore 0 0 1.435897 setup 0 setgray 1 setalpha 43 398 29 29 rectstroke grestore 0 0 1.435897 setup 0 setgray 1 setalpha 416 419 29 29 rectstroke grestore 0 0 1.435897 setup 0 setgray 1 setalpha 366 512 29 29 rectstroke grestore 0 0 1.435897 setup 0 setgray 1 setalpha 208 528 29 29 rectstroke grestore 0 0 1.435897 setup 0 setgray 1 setalpha 99 515 29 29 rectstroke grestore 0 0 1.435897 setup 0 setgray 1 setalpha 301 273 29 29 rectstroke grestore 0 0 1.435897 setup 0 setgray 1 setalpha 177 253 29 29 rectstroke grestore 0 0 1.435897 setup 0 setgray 1 setalpha 86 311 29 29 rectstroke grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 420 1199 a(Figure)14 b(4.6:)j(Solution)12 b(Region)h(in)h(W)m (eigh)o(t)f(Space)150 1329 y(pattern)i(lab)q(els)e(and)h(the)g(dot)g(pro)q (duct)g(computed)g(b)o(y)f(a)h(TLU.)f(F)m(or)g(this)h(purp)q(ose,)150 1379 y(the)i(pattern)h(lab)q(els)f(are)g(assumed)f(to)h(b)q(e)g(either)h(+1)e (or)h Fw(\000)p Fx(1)g(\(instead)g(of)f(1)h(or)g(0\).)150 1428 y(The)e(squared)h(error)g(for)e(a)h(pattern,)g Fy(X)784 1434 y Ft(i)798 1428 y Fx(,)f(with)h(lab)q(el)f Fu(d)1040 1434 y Ft(i)1068 1428 y Fx(\(for)g(desired)i(output\))g(is:)627 1566 y Fu(")646 1572 y Ft(i)672 1566 y Fx(=)d(\()p Fu(d)754 1572 y Ft(i)777 1566 y Fw(\000)818 1514 y Ft(n)p Fr(+1)820 1526 y Fj(X)821 1615 y Ft(j)r Fr(=1)888 1566 y Fu(x)912 1572 y Ft(ij)941 1566 y Fu(w)971 1572 y Ft(j)988 1566 y Fx(\))1004 1549 y Fr(2)150 1708 y Fx(where)17 b Fu(x)296 1714 y Ft(ij)342 1708 y Fx(is)f(the)g Fu(j)r Fx(-th)h(comp)q(onen)o(t)f(of)f Fy(X)848 1714 y Ft(i)862 1708 y Fx(.)25 b(The)17 b(total)f(squared)h(error)g(\(o)o(v)o(er)f(all)150 1758 y(patterns)f(in)f(a)f(training)g(set,)h(\004,)f(con)o(taining)g Fu(m)h Fx(patterns\))i(is)d(then:)604 1895 y Fu(")f Fx(=)694 1843 y Ft(m)679 1856 y Fj(X)682 1944 y Ft(i)p Fr(=1)739 1895 y Fx(\()p Fu(d)777 1901 y Ft(i)800 1895 y Fw(\000)841 1843 y Ft(n)p Fr(+1)843 1856 y Fj(X)844 1944 y Ft(j)r Fr(=1)911 1895 y Fu(x)935 1901 y Ft(ij)964 1895 y Fu(w)994 1901 y Ft(j)1011 1895 y Fx(\))1027 1878 y Fr(2)212 2035 y Fx(W)m(e)i(w)o(an)o(t)f(to)g(c)o(ho) q(ose)i(the)f(w)o(eigh)o(ts)g Fu(w)816 2041 y Ft(j)846 2035 y Fx(to)g(minim)o(ize)d(this)j(squared)g(error.)19 b(One)150 2085 y(w)o(a)o(y)12 b(to)g(\014nd)h(suc)o(h)g(a)g(set)g(of)f(w)o(eigh)o(ts)h (is)f(to)h(start)g(with)f(an)h(arbitrary)f(w)o(eigh)o(t)g(v)o(ector)150 2135 y(and)j(mo)o(v)o(e)f(it)h(along)f(the)h(negativ)o(e)h(gradien)o(t)f(of)f Fu(")i Fx(as)f(a)g(function)g(of)g(the)g(w)o(eigh)o(ts.)150 2185 y(Since)f Fu(")g Fx(is)f(quadratic)g(in)g(the)h Fu(w)666 2191 y Ft(j)683 2185 y Fx(,)f(w)o(e)h(kno)o(w)f(that)g(it)g(has)h(a)f(global) e(minim)o(um)n(,)f(and)150 2234 y(th)o(us)19 b(this)g Fs(ste)n(ep)n(est)g (desc)n(ent)f Fx(pro)q(cedure)j(is)d(guaran)o(teed)h(to)g(\014nd)g(the)g (minim)n(um)n(.)150 2284 y(Eac)o(h)c(comp)q(onen)o(t)f(of)h(the)g(gradien)o (t)g(is)g(the)g(partial)f(deriv)n(ativ)o(e)h(of)f Fu(")h Fx(with)g(resp)q (ect)150 2334 y(to)f(one)h(of)e(the)i(w)o(eigh)o(ts.)20 b(One)15 b(problem)e(with)h(taking)f(the)i(partial)e(deriv)n(ativ)o(e)h(of)g Fu(")150 2384 y Fx(is)e(that)f Fu(")h Fx(dep)q(ends)i(on)d Fs(al)r(l)g Fx(the)h(input)g(v)o(ectors)h(in)e(\004.)17 b(Often,)12 b(it)f(is)h(preferable)h(to)e(use)150 2434 y(an)g(incremen)o(tal)f(pro)q (cedure)j(in)d(whic)o(h)h(w)o(e)h(try)f(the)h(TLU)f(on)f(just)i(one)f(elemen) o(t,)g Fy(X)1475 2440 y Ft(i)1488 2434 y Fx(,)150 2539 y Fo(Intr)n(o)n (duction)j(to)k(Machine)e(L)n(e)n(arning)757 2538 y Fn(c)746 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 48 10 48 9 bop 450 275 a Fx(48)579 b Fp(CHAPTER)14 b(4.)32 b(NEURAL)14 b(NETW)o(ORKS)640 1121 y @beginspecial -1 @llx 529 @lly 232 @urx 714 @ury 2330 @rwi @setspecial %%BeginDocument: Four/weight3.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave -1 529 233 185 rectclip -1 529 233 185 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 4 534 223 175 rectfill 4.000000 534.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 223 175 rectclip 0.492274 0.490196 scale -23 -232 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 23 232.794876 453 355.410248 rectclip 23 232.794876 453 355.410248 rectclip 0 setgray 0.333333 setgray 0 0 0 setup gsave -0.787079 6.235291 translate 1.003802 0.986928 scale 0.710746 setgray 1 setalpha gsave newpath systemdict begin 207 324 470 477 setbbox 207 404 moveto 263 73 rlineto -50 -153 rlineto -212 82 rlineto -1 -1 rlineto 0 -1 rlineto end eofill grestore grestore -0.787079 6.235291 translate 1.003802 0.986928 scale 0 setgray 1 setalpha gsave newpath systemdict begin 207 324 470 477 setbbox 207 404 moveto 263 73 rlineto -50 -153 rlineto -212 82 rlineto -1 -1 rlineto 0 -1 rlineto end stroke grestore grestore 0 0 2.205128 setup 0 setgray 1 setalpha 56 -310 181 550 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 116 281 147 257 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 284 76 65 367 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 318 -115 41 465 line grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 254 537 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave /Helvetica findfont 18 scalefont [1 0 0 -1 0 0] makefont 85 exch defineuserobject 85 execuserobject setfont 0 setgray [1 0 0 -1 0 1104] concat 85 execuserobject setfont 0 setgray 265 558 moveto (2) show grestore grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 164 550 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 1118] concat 85 execuserobject setfont 0 setgray 173 559 moveto (3) show grestore grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 359 328 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 686] concat 85 execuserobject setfont 0 setgray 370 349 moveto (4) show grestore grestore 0 0 2.205128 setup 0 setgray 1 setalpha 31 31 349 432 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.205128 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 894] concat 85 execuserobject setfont 0 setgray 360 453 moveto (1) show grestore grestore 0 0 4.666667 setup 0 setgray 1 setalpha 29 2 193 487 line 3.945303 222 489 arrow grestore 0 0 4.666667 setup 0 setgray 1 setalpha 27 -9 254 516 line -18.435492 281 507 arrow grestore 0 0 4.666667 setup 0 setgray 1 setalpha 10 24 344 356 line 67.382126 354 380 arrow grestore 0 0 4.666667 setup 0 setgray 1 setalpha 11 -26 336 439 line -67.069878 347 413 arrow grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 0 setgray 1 setalpha 10 10 381 395 oval fill grestore 0 setgray 1 setalpha 10 10 381 395 oval matrix defaultmatrix setmatrix stroke grestore 0 0 0 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 787] concat /Helvetica-Bold findfont 18 scalefont [1 0 0 -1 0 0] makefont 738 exch defineuserobject 738 execuserobject setfont 0 setgray 396 400 moveto (V) show grestore grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 0 setgray 1 setalpha 10 10 52 482 oval fill grestore 0 setgray 1 setalpha 10 10 52 482 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 0 setgray 1 setalpha 10 10 76 399 oval fill grestore 0 setgray 1 setalpha 10 10 76 399 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 2.153846 setup 0 setgray 1 setalpha 22 -77 57 487 line -74.056786 79 410 arrow grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 0 setgray 1 setalpha 10 10 154 365 oval fill grestore 0 setgray 1 setalpha 10 10 154 365 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 2.153846 setup 0 setgray 1 setalpha 73 -33 82 403 line -24.326292 155 370 arrow grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 0 setgray 1 setalpha 10 10 240 378 oval fill grestore 0 setgray 1 setalpha 10 10 240 378 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 2.153846 setup 0 setgray 1 setalpha 76 11 165 371 line 8.235862 241 382 arrow grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 0 setgray 1 setalpha 10 10 268 465 oval fill grestore 0 setgray 1 setalpha 10 10 268 465 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 2.153846 setup 0 setgray 1 setalpha 25 76 247 389 line 71.793633 272 465 arrow grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 0 setgray 1 setalpha 10 10 295 381 oval fill grestore 0 setgray 1 setalpha 10 10 295 381 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 2.153846 setup 0 setgray 1 setalpha 23 -72 275 464 line -72.286339 298 392 arrow grestore 0 0 0 setup gsave 738 execuserobject setfont 0 setgray [1 0 0 -1 0 1010] concat 738 execuserobject setfont 0 setgray 52 508 moveto (V) show 85 execuserobject setfont 0 7 rmoveto (1) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 802] concat 738 execuserobject setfont 0 setgray 43 404 moveto (V) show 85 execuserobject setfont 0 7 rmoveto (2) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 688] concat 738 execuserobject setfont 0 setgray 131 347 moveto (V) show 85 execuserobject setfont 0 7 rmoveto (3) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 706] concat 738 execuserobject setfont 0 setgray 240 356 moveto (V) show 85 execuserobject setfont 0 7 rmoveto (4) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 974] concat 738 execuserobject setfont 0 setgray 297 490 moveto (V) show 85 execuserobject setfont 0 7 rmoveto (5) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 790] concat 738 execuserobject setfont 0 setgray 302 398 moveto (V) show 85 execuserobject setfont 0 7 rmoveto (6) show 0 -7 rmoveto grestore grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 720 1212 a Fx(Figure)g(4.7:)j(Mo)o(ving)12 b(In)o(to)i(the)h (Solution)d(Region)450 1341 y(of)k(\004)g(at)g(a)h(time,)e(compute)h(the)h (gradien)o(t)f(of)g(the)h(single-pattern)g(squared)g(error,)450 1391 y Fu(")469 1397 y Ft(i)483 1391 y Fx(,)d(mak)o(e)f(the)i(appropriate)g (adjustmen)o(t)f(to)g(the)h(w)o(eigh)o(ts,)f(and)h(then)g(try)g(another)450 1440 y(mem)o(b)q(er)h(of)g(\004.)28 b(Of)17 b(course,)h(the)g(results)h(of)d (the)i(incremen)o(tal)e(v)o(ersion)h(can)h(only)450 1490 y(appro)o(ximate)10 b(those)j(of)f(the)h(batc)o(h)f(one,)g(but)h(the)f(appro)o(ximation)e(is)i (usually)f(quite)450 1540 y(e\013ectiv)o(e.)19 b(W)m(e)14 b(will)e(b)q(e)j (describing)f(the)h(incremen)o(tal)e(v)o(ersion)h(here.)512 1600 y(The)h Fu(j)r Fx(-th)f(comp)q(onen)o(t)f(of)g(the)i(gradien)o(t)f(of)f (the)h(single-pattern)h(error)f(is:)872 1707 y Fu(@)r(")915 1713 y Ft(i)p 865 1725 72 2 v 865 1763 a Fu(@)r(w)919 1769 y Ft(j)953 1735 y Fx(=)d Fw(\000)p Fx(2\()p Fu(d)1087 1741 y Ft(i)1110 1735 y Fw(\000)1152 1683 y Ft(n)p Fr(+1)1153 1695 y Fj(X)1154 1784 y Ft(j)r Fr(=1)1221 1735 y Fu(x)1245 1741 y Ft(ij)1274 1735 y Fu(w)1304 1741 y Ft(j)1321 1735 y Fx(\))p Fu(x)1361 1741 y Ft(ij)450 1874 y Fx(An)i(adjustmen)o(t)f(in)g(the)i (direction)e(of)h(the)g(negativ)o(e)g(gradien)o(t)f(w)o(ould)g(then)i(c)o (hange)450 1924 y(eac)o(h)g(w)o(eigh)o(t)g(as)g(follo)o(ws:)889 2029 y Fu(w)919 2035 y Ft(j)948 2029 y Fw( )-7 b(\000)11 b Fu(w)1056 2035 y Ft(j)1082 2029 y Fx(+)f Fu(c)1142 2035 y Ft(i)1156 2029 y Fx(\()p Fu(d)1194 2035 y Ft(i)1216 2029 y Fw(\000)g Fu(f)1278 2035 y Ft(i)1292 2029 y Fx(\))p Fu(x)1332 2035 y Ft(ij)450 2132 y Fx(where)j Fu(f)588 2138 y Ft(i)614 2132 y Fx(=)658 2101 y Fj(P)702 2111 y Ft(n)p Fr(+1)702 2144 y Ft(j)r Fr(=1)773 2132 y Fu(x)797 2138 y Ft(ij)826 2132 y Fu(w)856 2138 y Ft(j)873 2132 y Fx(,)f(and)g Fu(c)994 2138 y Ft(i)1020 2132 y Fx(go)o(v)o(erns)g(the)h(size)g(of)e(the)i(adjustmen)o(t.)j(The)d(en-) 450 2182 y(tire)e(w)o(eigh)o(t)e(v)o(ector)j(\(in)d(augmen)o(ted,)h(or)g Fy(V)q Fx(,)h(notation\))e(is)h(th)o(us)h(adjusted)g(according)450 2231 y(to)j(the)g(follo)o(wing)d(rule:)901 2337 y Fy(V)h Fw( )-7 b(\000)11 b Fy(V)f Fx(+)g Fu(c)1133 2343 y Ft(i)1147 2337 y Fx(\()p Fu(d)1185 2343 y Ft(i)1208 2337 y Fw(\000)f Fu(f)1269 2343 y Ft(i)1283 2337 y Fx(\))p Fy(Y)1335 2343 y Ft(i)450 2434 y Fx(where,)15 b(as)f(b)q(efore,)g Fy(Y)805 2440 y Ft(i)832 2434 y Fx(is)g(the)h Fu(i)p Fx(-th)f(augmen)o(ted)f(pattern)i(v)o(ector.)450 2539 y Fo(Intr)n(o)n(duction)f(to)k(Machine)e(L)n(e)n(arning)1057 2538 y Fn(c)1046 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 49 11 49 10 bop 150 275 a Fp(4.1.)31 b(THRESHOLD)14 b(LOGIC)f(UNITS)654 b Fx(49)212 391 y(The)20 b(Widro)o(w-Ho\013)d(pro)q(cedure)k(mak)o(es)d (adjustmen)o(ts)g(to)h(the)h(w)o(eigh)o(t)e(v)o(ector)150 441 y(whenev)o(er)c(the)f(dot)g(pro)q(duct)g(itself,)f Fh(Y)772 445 y Ff(i)786 441 y Fm(\017)p Fh(V)q Fx(,)g(do)q(es)i(not)e(equal)g(the)i (sp)q(eci\014ed)g(desired)150 491 y(target)20 b(v)n(alue,)f Fu(d)425 497 y Ft(i)458 491 y Fx(\(whic)o(h)g(is)g(either)h(1)f(or)g Fw(\000)p Fx(1\).)34 b(The)20 b(learning-rate)f(factor,)h Fu(c)1475 497 y Ft(i)1488 491 y Fx(,)150 541 y(migh)o(t)10 b(decrease)j(with)f(time)e (to)o(w)o(ard)h(0)h(to)f(ac)o(hiev)o(e)h(asymptotic)f(con)o(v)o(ergence.)19 b(The)150 591 y(Widro)o(w-Ho\013)13 b(form)o(ula)e(for)j(c)o(hanging)f(the)i (w)o(eigh)o(t)e(v)o(ector)i(has)f(the)h(same)e(form)f(as)150 640 y(the)i(standard)h(\014xed-incremen)o(t)f(error-correction)h(form)o(ula.) h(The)e(only)f(di\013erence)150 690 y(is)k(that)h Fu(f)309 696 y Ft(i)341 690 y Fx(is)f(the)h(thresholded)h(resp)q(onse)g(of)e(the)h (TLU)g(in)f(the)h(error-correction)150 740 y(case)d(while)e(it)h(is)g(the)g (dot)g(pro)q(duct)h(itself)e(for)h(the)g(Widro)o(w-Ho\013)f(pro)q(cedure.)212 795 y(Finding)k(w)o(eigh)o(t)g(v)n(alues)g(that)g(giv)o(e)g(the)h(desired)g (dot)f(pro)q(ducts)i(corresp)q(onds)150 845 y(to)f(solving)f(a)h(set)h(of)f (linear)f(equalities,)i(and)f(the)g(Widro)o(w-Ho\013)g(pro)q(cedure)i(can)150 895 y(b)q(e)25 b(in)o(terpreted)h(as)e(a)g(descen)o(t)i(pro)q(cedure)g(that)e (attempts)g(to)g(minimi)o(ze)e(the)150 945 y(mean-squared-error)k(b)q(et)o(w) o(een)g(the)g(actual)f(and)h(desired)g(v)n(alues)f(of)g(the)h(dot)150 994 y(pro)q(duct.)40 b(\(F)m(or)20 b(more)g(on)g(Widro)o(w-Ho\013)g(and)h (other)g(related)g(pro)q(cedures,)k(see)150 1044 y([Duda)13 b(&)h(Hart,)g(1973)o(,)f(pp.)18 b(151\013].\))788 b Fr(Examples)12 b(of)1529 1078 y(training)g(curv)o(es)1529 1111 y(for)f(TLU's;)1529 1144 y(p)q(erformance)g(on)1529 1177 y(training)h(set;)1529 1210 y(p)q(erformance)f(on)1529 1244 y(test)g(set;)1529 1277 y(cum)o(ulativ)o(e)1529 1310 y(n)o(um)o(b)q(er)h(of)1529 1343 y(corrections.)150 1163 y Fz(4.1.6)55 b(T)-5 b(raining)13 b(a)f(TLU)g(on)h (Non-Linearly-Separable)c(T)-5 b(rain-)321 1221 y(ing)19 b(Sets)150 1303 y Fx(When)d(the)h(training)e(set)j(is)e(not)g(linearly)f(separable)i (\(p)q(erhaps)g(b)q(ecause)h(of)e(noise)150 1353 y(or)g(p)q(erhaps)h(inheren) o(tly\),)f(it)f(ma)o(y)f(still)h(b)q(e)h(desired)h(to)f(\014nd)g(a)f(\\b)q (est")i(separating)150 1403 y(h)o(yp)q(erplane.)23 b(T)o(ypically)m(,)13 b(the)i(error-correction)i(pro)q(cedures)h(will)c(not)h(do)g(w)o(ell)f(on)150 1452 y(non-linearly-separable)h(training)f(sets)j(b)q(ecause)g(they)f(will)e (con)o(tin)o(ue)h(to)h(attempt)150 1502 y(to)i(correct)i(inevitable)d (errors,)j(and)e(the)h(h)o(yp)q(erplane)f(will)f(nev)o(er)i(settle)g(in)o(to) e(an)150 1552 y(acceptable)e(place.)212 1607 y(Sev)o(eral)i(metho)q(ds)e(ha)o (v)o(e)h(b)q(een)h(prop)q(osed)g(to)f(deal)g(with)g(this)g(case.)25 b(First,)17 b(w)o(e)150 1657 y(migh)o(t)10 b(use)i(the)h(Widro)o(w-Ho\013)d (pro)q(cedure,)k(whic)o(h)e(\(although)f(it)g(will)g(not)g(con)o(v)o(erge)150 1707 y(to)i(zero)h(error)g(on)f(non-linearly)f(separable)i(problems\))e(will) g(giv)o(e)g(us)i(a)f(w)o(eigh)o(t)g(v)o(ec-)150 1757 y(tor)e(that)g(minim)o (izes)e(the)j(mean-squared-error.)17 b(A)11 b(mean-squared-error)h(criterion) 150 1807 y(often)k(giv)o(es)g(unsatisfactory)h(results,)g(ho)o(w)o(ev)o(er,)g (b)q(ecause)h(it)e(prefers)i(man)o(y)c(small)150 1856 y(errors)j(to)e(a)g (few)g(large)g(ones.)23 b(As)16 b(an)f(alternativ)o(e,)g(error)h(correction)h (with)e(a)g(con-)150 1906 y(tin)o(uous)g(decrease)i(to)o(w)o(ard)e(zero)h(of) e(the)i(v)n(alue)f(of)f(the)i(learning)e(rate)i(constan)o(t,)g Fu(c)p Fx(,)150 1956 y(will)9 b(result)j(in)e(ev)o(er)i(decreasing)g(c)o (hanges)f(to)g(the)g(h)o(yp)q(erplane.)18 b(Duda)10 b([Duda,)i(1966)o(])150 2006 y(has)j(suggested)g(k)o(eeping)g(trac)o(k)g(of)e(the)i(a)o(v)o(erage)g (v)n(alue)f(of)g(the)h(w)o(eigh)o(t)f(v)o(ector)h(dur-)150 2056 y(ing)e(error)h(correction)g(and)g(using)f(this)g(a)o(v)o(erage)h(to)f (giv)o(e)g(a)g(separating)g(h)o(yp)q(erplane)150 2105 y(that)20 b(p)q(erforms)f(reasonably)h(w)o(ell)f(on)g(non-linearly-separable)h (problems.)34 b(Gal-)150 2155 y(lan)o(t)16 b([Gallan)o(t,)11 b(1986)o(])17 b(prop)q(osed)h(what)e(he)i(called)e(the)i(\\p)q(o)q(c)o(k)o (et)f(algorithm.")24 b(As)150 2205 y(describ)q(ed)16 b(in)d([Hertz,)h(Krogh,) g(&)g(P)o(almer,)e(1991)o(,)h(p.)19 b(160]:)254 2284 y(.)32 b(.)f(.)h(the)19 b(p)q(o)q(c)o(k)o(et)g(algorithm)d(.)32 b(.)g(.)f(consists) 20 b(simply)c(in)i(storing)254 2334 y(\(or)c(\\putting)g(in)f(y)o(our)h(p)q (o)q(c)o(k)o(et"\))h(the)g(set)g(of)f(w)o(eigh)o(ts)g(whic)o(h)g(has)g(had) 254 2384 y(the)i(longest)g(unmo)q(di\014ed)f(run)i(of)e(successes)k(so)d (far.)24 b(The)17 b(algorithm)254 2434 y(is)d(stopp)q(ed)g(after)h(some)e(c)o (hosen)h(time)f Fu(t)h Fx(.)k(.)g(.)150 2539 y Fo(Intr)n(o)n(duction)c(to)k (Machine)e(L)n(e)n(arning)757 2538 y Fn(c)746 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 50 12 50 11 bop 450 275 a Fx(50)579 b Fp(CHAPTER)14 b(4.)32 b(NEURAL)14 b(NETW)o(ORKS)450 391 y Fx(After)f(stopping,)f(the)h(w)o(eigh)o(ts)g(in)f (the)h(p)q(o)q(c)o(k)o(et)h(are)f(used)g(as)g(a)f(set)h(that)g(should)g(giv)o (e)450 441 y(a)h(small)f(n)o(um)o(b)q(er)h(of)g(errors)i(on)e(the)i(training) d(set.)22 b(Error-correction)16 b(pro)q(ceeds)h(as)450 491 y(usual)d(with)f(the)i(ordinary)e(set)i(of)e(w)o(eigh)o(ts.)-954 b Fr(Also)11 b(see)196 524 y(metho)q(ds)196 557 y(prop)q(osed)g(b)o(y)196 591 y([John,)h(1995)n(])196 624 y(and)f(b)o(y)196 657 y([Marc)o(hand)g(&)h (Golea,)f(1993)n(].)196 690 y(The)g(latter)g(is)196 723 y(claimed)h(to)196 757 y(outp)q(erform)f(the)196 790 y(p)q(o)q(c)o(k)o(et)196 823 y(algorithm.)450 635 y FA(4.2)70 b(Linear)22 b(Mac)n(hines)450 735 y Fx(The)13 b(natural)g(generalization)f(of)h(a)f(\(t)o(w)o(o-category\)) h(TLU)g(to)g(an)g Fu(R)p Fx(-category)g(clas-)450 785 y(si\014er)18 b(is)g(the)g(structure,)i(sho)o(wn)d(in)g(Fig.)29 b(4.8,)17 b(called)g(a)g Fs(line)n(ar)h(machine)p Fx(.)29 b(Here,)450 834 y(to)15 b(use)g(more)f(familia)o(r)e(notation,)i(the)h Fy(W)p Fx(s)h(and)e Fy(X)h Fx(are)g(mean)o(t)f(to)g(b)q(e)i(augmen)o(ted)450 884 y(v)o(ectors)f(\(with)f(an)g(\(n+1\)-st)h(comp)q(onen)o(t\).)j(Suc)o(h)c (a)g(structure)i(is)e(also)g(sometimes)450 934 y(called)i(a)h(\\comp)q (etitiv)o(e")e(net)i(or)f(a)h(\\winner-tak)o(e-all")e(net.)27 b(The)17 b(output)f(of)g(the)450 984 y(linear)g(mac)o(hine)e(is)i(one)g(of)g (the)g(n)o(um)o(b)q(ers,)g Fw(f)p Fx(1)p Fu(;)7 b(:)g(:)g(:)t(;)g(R)p Fw(g)p Fx(,)15 b(corresp)q(onding)i(to)f(whic)o(h)450 1034 y(dot)f(pro)q(duct)g(is)g(largest.)20 b(Note)15 b(that)g(when)g Fu(R)e Fx(=)g(2,)h(the)h(linear)g(mac)o(hine)e(reduces)450 1084 y(to)h(a)f(TLU)h(with)g(w)o(eigh)o(t)f(v)o(ector)i Fy(W)d Fx(=)g(\()p Fy(W)1157 1090 y Fr(1)1186 1084 y Fw(\000)d Fy(W)1276 1090 y Fr(2)1295 1084 y Fx(\).)733 1565 y @beginspecial 6 @llx 607 @lly 194 @urx 709 @ury 1880 @rwi @setspecial %%BeginDocument: Four/linear.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 6 607 188 102 rectclip 6 607 188 102 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 11 612 178 92 rectfill 11.000000 612.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 178 92 rectclip 0.403628 0.405286 scale -61 -350 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 61 350 441 227 rectclip 61 350 441 227 rectclip 0 0 2.682821 setup 0 setgray 1 setalpha 66 0 421 464 line 0 487 464 arrow grestore 0 0 0.17 setup gsave /Helvetica-Bold findfont 18 scalefont [1 0 0 -1 0 0] makefont 355 exch defineuserobject 355 execuserobject setfont 0 setgray [1 0 0 -1 0 931] concat 355 execuserobject setfont 0 setgray 69 472 moveto (X) show grestore grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 33.000004 32.275864 172 498.293091 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 33.000004 32.275864 175 398.43103 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.734103 setup 0 setgray 1 setalpha 83 -1 206 513 line -0.690298 289 512 arrow grestore 0 0 2.734103 setup 0 setgray 1 setalpha 79 -1 210 414 line -0.725246 289 413 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 75 -40 96 561 line -28.073315 171 521 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 71 -37 99 458 line -27.526037 170 421 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 78 41 98 366 line 27.729076 176 407 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 73 43 99 462 line 30.500734 172 505 arrow grestore 0 0 2.990513 setup gsave 355 execuserobject setfont 0 setgray [1 0 0 -1 0 1024] concat 355 execuserobject setfont 0 setgray 111 515 moveto (W) show /Helvetica findfont 18 scalefont [1 0 0 -1 0 0] makefont 39 exch defineuserobject 39 execuserobject setfont 0 7 rmoveto (1) show 0 -7 rmoveto grestore grestore 0 0 2.990513 setup gsave 39 execuserobject setfont 0 setgray [1 0 0 -1 0 822] concat 355 execuserobject setfont 0 setgray 113 414 moveto (W) show 39 execuserobject setfont 0 7 rmoveto (R) show 0 -7 rmoveto grestore grestore 0 0 2.990513 setup gsave 39 execuserobject setfont 0 setgray [1 0 0 -1 0 940] concat /Helvetica-Bold findfont 24 scalefont [1 0 0 -1 0 0] makefont 27 exch defineuserobject 27 execuserobject setfont 0 setgray 168 479 moveto (. . .) show grestore grestore 0 0 2.990513 setup gsave 27 execuserobject setfont 0 setgray [1 0 0 -1 0 996] concat /Symbol findfont 24 scalefont [1 0 0 -1 0 0] makefont 310 exch defineuserobject 310 execuserobject setfont 0 setgray 181 490 moveto (S) show grestore grestore 0 0 2.990513 setup gsave 310 execuserobject setfont 0 setgray [1 0 0 -1 0 796] concat 310 execuserobject setfont 0 setgray 185 390 moveto (S) show grestore grestore 0 0 2.990513 setup 0 setgray 1 setalpha 293 392 126 143 rectstroke grestore 0 0 2.990513 setup gsave 310 execuserobject setfont 0 setgray [1 0 0 -1 0 918] concat /Helvetica findfont 24 scalefont [1 0 0 -1 0 0] makefont 71 exch defineuserobject 71 execuserobject setfont 0 setgray 301 464 moveto (ARGMAX) show grestore grestore 0 0 2.682821 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 1075] concat 355 execuserobject setfont 0 setgray 223 548 moveto (W) show 39 execuserobject setfont 0 7 rmoveto (1) show 0 -7 rmoveto /Helvetica findfont 27 scalefont [1 0 0 -1 0 0] makefont 455 exch defineuserobject 455 execuserobject setfont 0 -7 rmoveto (.) show 0 7 rmoveto 355 execuserobject setfont (X) show grestore grestore 0 0 2.682821 setup gsave 355 execuserobject setfont 0 setgray [1 0 0 -1 0 763] concat 355 execuserobject setfont 0 setgray 220 392 moveto (W) show 39 execuserobject setfont 0 7 rmoveto (R) show 0 -7 rmoveto 455 execuserobject setfont 0 -7 rmoveto (.) show 0 7 rmoveto 355 execuserobject setfont (X) show grestore grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 854 1656 a(Figure)14 b(4.8:)j(A)d(Linear)g(Mac)o(hine)512 1750 y(The)20 b(diagram)e(in)h(Fig.)35 b(4.9)18 b(sho)o(ws)i(the)h(c)o (haracter)g(of)e(the)h(regions)g(in)f(a)g(2-)450 1800 y(dimensional)11 b(space)j(created)h(b)o(y)e(a)f(linear)h(mac)o(hine)f(for)h Fu(R)e Fx(=)h(5.)17 b(In)d Fu(n)f Fx(dimensions,)450 1849 y(ev)o(ery)j(pair)e (of)h(regions)g(is)g(either)g(separated)i(b)o(y)d(a)h(section)h(of)e(a)h(h)o (yp)q(erplane)g(or)g(is)450 1899 y(non-adjacen)o(t.)512 1958 y(T)m(o)h(train)g(a)h(linear)f(mac)o(hine,)f(there)j(is)e(a)h(straigh)o (tforw)o(ard)f(generalization)g(of)450 2008 y(the)f(2-category)e (error-correction)j(rule.)j(Assem)o(ble)13 b(the)i(patterns)g(in)e(the)i (training)450 2057 y(set)g(in)o(to)e(a)h(sequence)i(as)e(b)q(efore.)501 2148 y(1.)20 b(If)11 b(the)i(mac)o(hine)e(classi\014es)i(a)f(pattern)h (correctly)m(,)f(no)g(c)o(hange)h(is)f(made)e(to)i(an)o(y)554 2198 y(of)h(the)i(w)o(eigh)o(t)e(v)o(ectors.)501 2277 y(2.)20 b(If)14 b(the)g(mac)o(hine)f(mistak)o(enly)f(classi\014es)j(a)f(category)h Fu(u)f Fx(pattern,)g Fy(X)1642 2283 y Ft(i)1656 2277 y Fx(,)g(in)g(cat-)554 2327 y(egory)g Fu(v)h Fx(\()p Fu(u)d Fw(6)p Fx(=)f Fu(v)q Fx(\),)k(then:)995 2434 y Fy(W)1044 2440 y Ft(u)1077 2434 y Fw( )-7 b(\000)12 b Fy(W)1205 2440 y Ft(u)1236 2434 y Fx(+)d Fu(c)1295 2440 y Ft(i)1309 2434 y Fy(X)1345 2440 y Ft(i)450 2539 y Fo(Intr)n(o)n(duction)14 b(to)k(Machine)e(L)n(e)n(arning)1057 2538 y Fn(c)1046 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o (ed.)p eop %%Page: 51 13 51 12 bop 150 275 a Fp(4.3.)31 b(NETW)o(ORKS)14 b(OF)g(TLUS)765 b Fx(51)435 1133 y @beginspecial 10 @llx 509 @lly 197 @urx 697 @ury 1870 @rwi @setspecial %%BeginDocument: Four/voronoi.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 252/thorn/ydieresis] 246/udieresis/yacute {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 10 509 187 188 rectclip 10 509 187 188 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 15 514 177 178 rectfill 15.000000 514.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 177 178 rectclip 0.473262 0.474667 scale -81 -193 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 81 193.100006 373.900024 374.799988 rectclip 81 193.100006 373.900024 374.799988 rectclip 0 0 0.9 setup 0 setgray 137 -102 93 562 line grestore 0 0 0.9 setup 0 setgray 117 81 231 458 line grestore 0 0 0.9 setup 0 setgray 6 86 225 373 line grestore 0 0 0.9 setup 0 setgray 116 -65 225 374 line grestore 0 0 0.9 setup 0 setgray 106 68 118 305 line grestore 0 0 0.9 setup 0 setgray 0 -110 340 309 line grestore 0 0 0.9 setup 0 setgray 99 73 339 309 line grestore 0 0 0.9 setup gsave /Helvetica findfont 18 scalefont [1 0 0 -1 0 0] makefont 39 exch defineuserobject 39 execuserobject setfont 0 setgray [1 0 0 -1 0 1033] concat /Helvetica-Bold findfont 16 scalefont [1 0 0 -1 0 0] makefont 481 exch defineuserobject 481 execuserobject setfont 0 setgray 225 516 moveto (R) show 0 4 rmoveto (1) show 0 -4 rmoveto grestore grestore 0 0 0.9 setup gsave 481 execuserobject setfont 0 setgray [1 0 0 -1 0 817] concat 481 execuserobject setfont 0 setgray 309 408 moveto (R) show 0 4 rmoveto (3) show 0 -4 rmoveto grestore grestore 0 0 0.9 setup gsave 481 execuserobject setfont 0 setgray [1 0 0 -1 0 599] concat 481 execuserobject setfont 0 setgray 222 297 moveto (R) show 0 4 rmoveto (4) show 0 -4 rmoveto grestore grestore 0 0 0.9 setup gsave 481 execuserobject setfont 0 setgray [1 0 0 -1 0 536] concat 481 execuserobject setfont 0 setgray 402 266 moveto (R) show 0 4 rmoveto (5) show 0 -4 rmoveto grestore grestore 0 0 0.9 setup gsave 481 execuserobject setfont 0 setgray [1 0 0 -1 0 450] concat /Helvetica-Bold findfont 18 scalefont [1 0 0 -1 0 0] makefont 355 exch defineuserobject 355 execuserobject setfont 0 setgray 121 234 moveto (X) show /Helvetica-Bold findfont 24 scalefont [1 0 0 -1 0 0] makefont 27 exch defineuserobject 27 execuserobject setfont 0 -7 rmoveto (.) show 0 7 rmoveto 355 execuserobject setfont (W) show 39 execuserobject setfont 0 7 rmoveto (4) show 0 -7 rmoveto ( ) show /Symbol findfont 18 scalefont [1 0 0 -1 0 0] makefont 489 exch defineuserobject 489 execuserobject setfont <b3> show 39 execuserobject setfont ( ) show 355 execuserobject setfont (X) show 27 execuserobject setfont 0 -7 rmoveto (.) show 0 7 rmoveto 355 execuserobject setfont (W) show 39 execuserobject setfont 0 7 rmoveto (i) show 0 -7 rmoveto ( for i ) show 489 execuserobject setfont <b92034> show grestore grestore 0 0 0.9 setup gsave 489 execuserobject setfont 0 setgray [1 0 0 -1 0 829] concat 481 execuserobject setfont 0 setgray 140 414 moveto (R) show 0 4 rmoveto (2) show 0 -4 rmoveto grestore grestore 0 0 0.9 setup gsave 481 execuserobject setfont 0 setgray [1 0 0 -1 0 493] concat 39 execuserobject setfont 0 setgray 92 249 moveto (In this region:) show grestore grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 445 1224 a(Figure)14 b(4.9:)j(Regions)c(F)m(or)h(a)f(Linear)h (Mac)o(hine)254 1353 y(and)697 1455 y Fy(W)746 1461 y Ft(v)777 1455 y Fw( )-7 b(\000)12 b Fy(W)905 1461 y Ft(v)934 1455 y Fw(\000)d Fu(c)993 1461 y Ft(i)1007 1455 y Fy(X)1043 1461 y Ft(i)254 1557 y Fx(and)k(all)g(other)i(w)o(eigh)o(t)e(v)o(ectors)i(are)f(not) g(c)o(hanged.)150 1654 y(This)i(correction)h(increases)g(the)g(v)n(alue)e(of) h(the)g Fu(u)p Fx(-th)g(dot)g(pro)q(duct)h(and)e(decreases)150 1704 y(the)e(v)n(alue)e(of)g(the)i Fu(v)q Fx(-th)f(dot)g(pro)q(duct.)18 b(Just)13 b(as)f(in)f(the)i(2-category)f(\014xed)g(incremen)o(t)150 1754 y(pro)q(cedure,)21 b(this)e(pro)q(cedure)i(is)e(guaran)o(teed)g(to)g (terminate,)g(for)f(constan)o(t)h Fu(c)1430 1760 y Ft(i)1444 1754 y Fx(,)h(if)150 1804 y(there)f(exists)g(w)o(eigh)o(t)e(v)o(ectors)j (that)e(mak)o(e)e(correct)k(separations)e(of)f(the)i(training)150 1853 y(set.)26 b(Note)17 b(that)f(when)h Fu(R)e Fx(=)h(2,)g(this)g(pro)q (cedure)i(reduces)g(to)e(the)h(ordinary)f(TLU)150 1903 y(error-correction)e (pro)q(cedure.)20 b(A)12 b(pro)q(of)g(that)g(this)g(pro)q(cedure)i (terminates)e(is)g(giv)o(en)150 1953 y(in)h([Nilsson,)g(1990)o(,)g(pp.)19 b(88-90])12 b(and)i(in)f([Duda)g(&)h(Hart,)g(1973)o(,)f(pp.)18 b(174-177].)150 2100 y FA(4.3)70 b(Net)n(w)n(orks)22 b(of)i(TLUs)150 2210 y Fz(4.3.1)55 b(Motiv)m(ation)18 b(and)h(Examples)150 2297 y Fy(La)o(y)o(ered)14 b(Net)o(w)o(orks)150 2384 y Fx(T)m(o)i(classify)h (correctly)h(all)e(of)h(the)h(patterns)g(in)f(non-linearly-separable)f (training)150 2434 y(sets)e(requires)f(separating)g(surfaces)h(more)d (complex)h(than)g(h)o(yp)q(erplanes.)18 b(One)c(w)o(a)o(y)150 2539 y Fo(Intr)n(o)n(duction)g(to)k(Machine)e(L)n(e)n(arning)757 2538 y Fn(c)746 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 52 14 52 13 bop 450 275 a Fx(52)579 b Fp(CHAPTER)14 b(4.)32 b(NEURAL)14 b(NETW)o(ORKS)450 391 y Fx(to)g(ac)o(hiev)o(e)h(more)e(complex)g(surfaces)j (is)e(with)g(net)o(w)o(orks)h(of)f(TLUs.)20 b(Consider,)14 b(for)450 441 y(example,)i(the)h(2-dimensional,)d(ev)o(en)j(parit)o(y)f (function,)h Fu(f)k Fx(=)16 b Fu(x)1493 447 y Fr(1)1512 441 y Fu(x)1536 447 y Fr(2)1565 441 y Fx(+)p 1609 418 43 2 v 12 w Fu(x)1633 447 y Fr(1)p 1667 418 V 1667 441 a Fu(x)1691 447 y Fr(2)1710 441 y Fx(.)26 b(No)450 491 y(single)12 b(line)g(through)h(the)g (2-dimensional)d(square)j(can)g(separate)h(the)f(v)o(ertices)h(\(1,1\))450 541 y(and)d(\(0,0\))g(from)f(the)j(v)o(ertices)g(\(1,0\))e(and)g(\(0,1\)|the) g(function)h(is)f(not)h(linearly)e(sep-)450 591 y(arable)i(and)h(th)o(us)g (cannot)g(b)q(e)g(implemen)o(ted)d(b)o(y)j(a)f(single)g(TLU.)h(But,)g(the)g (net)o(w)o(ork)450 640 y(of)k(three)i(TLUs)f(sho)o(wn)g(in)f(Fig.)29 b(4.10)16 b(do)q(es)j(implemen)o(t)c(this)i(function.)30 b(In)17 b(the)450 690 y(\014gure,)g(w)o(e)g(sho)o(w)f(the)h(w)o(eigh)o(t)f(v)n(alues) g(along)f(input)h(lines)h(to)f(eac)o(h)h(TLU)f(and)g(the)450 740 y(threshold)f(v)n(alue)e(inside)h(the)g(circle)h(represen)o(ting)g(the)g (TLU.)644 1202 y @beginspecial 7 @llx 617 @lly 238 @urx 715 @ury 2310 @rwi @setspecial %%BeginDocument: Four/parity.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 7 617 231 98 rectclip 7 617 231 98 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 12 622 221 88 rectfill 12.000000 622.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 221 88 rectclip 0.513954 0.517647 scale -30 -376 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 30 376 430 170 rectclip 30 376 430 170 rectclip 0 setgray 0.333333 setgray 0 0 1.48718 setup 0 setgray 1 setalpha 113 1 76 508 line 0.507044 189 509 arrow grestore 0 0 1.48718 setup gsave /Helvetica findfont 24 scalefont [1 0 0 -1 0 0] makefont 13 exch defineuserobject 13 execuserobject setfont 0 setgray [1 0 0 -1 0 913] concat 13 execuserobject setfont 0 setgray 439 465 moveto (f) show grestore grestore 0 0 1.48718 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 1014] concat 13 execuserobject setfont 0 setgray 43 511 moveto (x) show 0 9 rmoveto (1) show 0 -9 rmoveto grestore grestore 0 0 1.48718 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 836] concat 13 execuserobject setfont 0 setgray 43 422 moveto (x) show 0 9 rmoveto (2) show 0 -9 rmoveto grestore grestore 0 0 1.48718 setup 0 0 1.48718 setup 0 setgray 1 setalpha 45 45 190 486 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.48718 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 1000] concat 13 execuserobject setfont 0 setgray 194 499 moveto (1.5) show grestore grestore grestore 0 0 1.48718 setup 0 0 1.48718 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 825] concat 13 execuserobject setfont 0 setgray 191 419 moveto (-0.5) show grestore grestore 0 0 1.48718 setup 0 setgray 1 setalpha 48 48 189 390 oval matrix defaultmatrix setmatrix stroke grestore grestore 0 0 1.48718 setup 0 0 1.48718 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 901] concat 13 execuserobject setfont 0 setgray 324 454 moveto (0.5) show grestore grestore 0 0 1.48718 setup 0 setgray 1 setalpha 48 48 317 432 oval matrix defaultmatrix setmatrix stroke grestore grestore 0 setgray 0.333333 setgray 0 0 1.48718 setup 0 setgray 1 setalpha 113 1 75 413 line 0.507044 188 414 arrow grestore 0 setgray 0.333333 setgray 0 0 1.48718 setup 0 setgray 1 setalpha 116 -82 77 509 line -35.257397 193 427 arrow grestore 0 setgray 0.333333 setgray 0 0 1.48718 setup 0 setgray 1 setalpha 119 81 76 414 line 34.243042 195 495 arrow grestore 0 setgray 0.333333 setgray 0 0 1.48718 setup 0 setgray 1 setalpha 83 -38 236 507 line -24.600515 319 469 arrow grestore 0 setgray 0.333333 setgray 0 0 1.48718 setup 0 setgray 1 setalpha 80 32 238 415 line 21.802052 318 447 arrow grestore 0 setgray 0.333333 setgray 0 0 1.48718 setup 0 setgray 1 setalpha 66 -1 365 456 line -0.868077 431 455 arrow grestore 0 0 1.48718 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 1041] concat 13 execuserobject setfont 0 setgray 155 529 moveto (1) show grestore grestore 0 0 1.48718 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 939] concat 13 execuserobject setfont 0 setgray 174 478 moveto (1) show grestore grestore 0 0 1.48718 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 953] concat 13 execuserobject setfont 0 setgray 85 483 moveto (-1) show grestore grestore 0 0 1.48718 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 803] concat 13 execuserobject setfont 0 setgray 93 410 moveto (-1) show grestore grestore 0 0 1.48718 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 833] concat 13 execuserobject setfont 0 setgray 281 425 moveto (1) show grestore grestore 0 0 1.48718 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 1003] concat 13 execuserobject setfont 0 setgray 277 510 moveto (1) show grestore grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 639 1293 a(Figure)f(4.10:)j(A)d(Net)o(w)o(ork)g(for)g(the)g(Ev)o (en)h(P)o(arit)o(y)e(F)m(unction)512 1388 y(The)h(function)f(implemen)o(ted)f (b)o(y)h(a)g(net)o(w)o(ork)h(of)f(TLUs)h(dep)q(ends)h(on)e(its)h(top)q(ol-) 450 1438 y(ogy)d(as)g(w)o(ell)g(as)h(on)f(the)h(w)o(eigh)o(ts)f(of)g(the)h (individual)d(TLUs.)18 b Fs(F)m(e)n(e)n(dforwar)n(d)10 b Fx(net)o(w)o(orks) 450 1488 y(ha)o(v)o(e)i(no)g(cycles;)i(in)d(a)h(feedforw)o(ard)h(net)o(w)o (ork)f(no)h(TLU's)f(input)g(dep)q(ends)i(\(through)450 1538 y(zero)j(or)g(more)e(in)o(termediate)g(TLUs\))i(on)f(that)h(TLU's)f(output.) 26 b(\(Net)o(w)o(orks)17 b(that)450 1588 y(are)11 b(not)g(feedforw)o(ard)f (are)h(called)g Fs(r)n(e)n(curr)n(ent)e Fx(net)o(w)o(orks\).)18 b(If)10 b(the)h(TLUs)g(of)f(a)h(feedfor-)450 1637 y(w)o(ard)i(net)o(w)o(ork)h (are)f(arranged)h(in)f(la)o(y)o(ers,)g(with)f(the)i(elemen)o(ts)f(of)g(la)o (y)o(er)g Fu(j)j Fx(receiving)450 1687 y(inputs)h(only)f(from)e(TLUs)j(in)f (la)o(y)o(er)h Fu(j)c Fw(\000)e Fx(1,)17 b(then)g(w)o(e)g(sa)o(y)f(that)h (the)g(net)o(w)o(ork)g(is)f(a)450 1737 y Fs(layer)n(e)n(d,)e(fe)n(e)n (dforwar)n(d)f(network)p Fx(.)18 b(The)13 b(net)o(w)o(ork)h(sho)o(wn)g(in)f (Fig.)k(4.10)12 b(is)h(a)g(la)o(y)o(ered,)450 1787 y(feedforw)o(ard)d(net)o (w)o(ork)h(ha)o(ving)e(t)o(w)o(o)g(la)o(y)o(ers)i(\(of)e(w)o(eigh)o(ts\).)17 b(\(Some)9 b(p)q(eople)i(coun)o(t)f(the)450 1837 y(la)o(y)o(ers)k(of)g(TLUs)h (and)f(include)h(the)g(inputs)f(as)h(a)f(la)o(y)o(er)g(also;)g(they)h(w)o (ould)e(call)h(this)450 1886 y(net)o(w)o(ork)g(a)f(three-la)o(y)o(er)h(net)o (w)o(ork.\))k(In)c(general,)f(a)g(feedforw)o(ard,)g(la)o(y)o(ered)h(net)o(w)o (ork)450 1936 y(has)f(the)h(structure)h(sho)o(wn)e(in)f(Fig.)17 b(4.11.)g(All)12 b(of)g(the)i(TLUs)f(except)i(the)e(\\output")450 1986 y(units)h(are)g(called)g(hidden)g(units)g(\(they)h(are)f(\\hidden")f (from)g(the)h(output\).)450 2100 y Fy(Implemen)o(ti)o(ng)f(DNF)i(F)l (unctions)f(b)o(y)h(Tw)o(o-La)o(y)o(er)g(Net)o(w)o(orks)450 2185 y Fx(W)m(e)g(ha)o(v)o(e)h(already)f(de\014ned)i Fu(k)q Fx(-term)d(DNF)i(functions|they)f(are)h(DNF)g(functions)450 2234 y(ha)o(ving)10 b Fu(k)h Fx(terms.)17 b(A)11 b Fu(k)q Fx(-term)f(DNF)h (function)f(can)h(b)q(e)g(implemen)o(ted)e(b)o(y)i(a)f(t)o(w)o(o-la)o(y)o(er) 450 2284 y(net)o(w)o(ork)k(with)f Fu(k)i Fx(units)f(in)f(the)i(hidden)f(la)o (y)o(er|to)f(implem)o(en)o(t)f(the)i Fu(k)h Fx(terms|and)450 2334 y(one)j(output)g(unit)g(to)g(implem)o(en)o(t)e(the)i(disjunction)g(of)f (these)i(terms.)30 b(Since)18 b(an)o(y)450 2384 y(Bo)q(olean)h(function)g (has)g(a)g(DNF)g(form,)f(an)o(y)h(Bo)q(olean)g(function)g(can)g(b)q(e)h (imple-)450 2434 y(men)o(ted)14 b(b)o(y)h(some)f(t)o(w)o(o-la)o(y)o(er)f(net) o(w)o(ork)i(of)g(TLUs.)21 b(As)15 b(an)f(example,)g(consider)h(the)450 2539 y Fo(Intr)n(o)n(duction)f(to)k(Machine)e(L)n(e)n(arning)1057 2538 y Fn(c)1046 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 53 15 53 14 bop 150 275 a Fp(4.3.)31 b(NETW)o(ORKS)14 b(OF)g(TLUS)765 b Fx(53)250 1008 y @beginspecial 11 @llx 559 @lly 287 @urx 717 @ury 2760 @rwi @setspecial %%BeginDocument: Four/layered.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 11 559 276 158 rectclip 11 559 276 158 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 16 564 266 148 rectfill 16.000000 564.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 266 148 rectclip 0.491682 0.435294 scale -2 -290 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 2 290.676147 540.323853 339.323853 rectclip 2 290.676147 540.323853 339.323853 rectclip 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 327 575.724121 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 329 525.293091 oval matrix defaultmatrix setmatrix stroke 330 474.862061 oval matrix defaultmatrix setmatrix stroke 332 425.43103 oval matrix defaultmatrix setmatrix stroke 334 374 oval matrix defaultmatrix setmatrix stroke 220 574.724121 oval matrix defaultmatrix setmatrix stroke 222 524.293091 oval matrix defaultmatrix setmatrix stroke 223 473.862061 oval matrix defaultmatrix setmatrix stroke 225 424.43103 oval matrix defaultmatrix setmatrix stroke 227 373 oval matrix defaultmatrix setmatrix stroke 434 577.724121 oval matrix defaultmatrix setmatrix stroke 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 0 2.734103 setup 0 setgray 1 setalpha 73 0 255 591 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 74 -44 254 589 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 76 -46 255 538 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 74 -40 257 486 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 74 -40 260 435 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 70 100 260 391 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 73 51 257 490 line grestore 0 0 3.144359 setup 0.739662 setgray 1 setalpha 436 527.293091 oval matrix defaultmatrix setmatrix stroke 437 476.862061 oval matrix defaultmatrix setmatrix stroke 439 427.43103 oval matrix defaultmatrix setmatrix stroke 441 376 oval matrix defaultmatrix setmatrix stroke 73 0 363 593 line grestore 0 0 3.144359 setup 0.739662 setgray 1 setalpha 74 -44 362 591 line grestore 0 0 3.144359 setup 0.739662 setgray 1 setalpha 74 -44 365 538 line grestore 0 0 3.144359 setup 0.739662 setgray 1 setalpha 74 -40 365 488 line grestore 0 0 3.144359 setup 0.739662 setgray 1 setalpha 74 -40 368 437 line grestore 0 0 3.144359 setup 0.739662 setgray 1 setalpha 70 100 368 393 line grestore 0 0 3.144359 setup 0.739662 setgray 1 setalpha 73 51 365 492 line grestore 0 0 3.144359 setup 0.739662 setgray 1 setalpha 73 142 364 442 line grestore 0 0 0.17 setup 0 setgray 1 setalpha 45 0 467 594 line 0 512 594 arrow grestore 0 0 0.17 setup 0 setgray 1 setalpha 45 0 470 544 line 0 515 544 arrow grestore 0 0 0.17 setup 0 setgray 1 setalpha 45 0 472 494 line 0 517 494 arrow grestore 0 0 0.17 setup 0 setgray 1 setalpha 45 0 474 444 line 0 519 444 arrow grestore 0 0 0.17 setup 0 setgray 1 setalpha 45 0 476 394 line 0 521 394 arrow grestore 0 0 0.17 setup gsave /Helvetica findfont 18 scalefont [1 0 0 -1 0 0] makefont 85 exch defineuserobject 85 execuserobject setfont 0 setgray [1 0 0 -1 0 983] concat /Helvetica-Bold findfont 18 scalefont [1 0 0 -1 0 0] makefont 738 exch defineuserobject 738 execuserobject setfont 0 setgray 10 498 moveto (X) show grestore grestore 0 0 2.323846 setup 0 setgray 1 setalpha 294 0 119 339 line grestore 0 0 2.323846 setup 0 setgray 1 setalpha 0 17 121 339 line grestore 0 0 2.323846 setup 0 setgray 1 setalpha 0 17 414 338 line grestore 0 0 2.323846 setup gsave 738 execuserobject setfont 0 setgray [1 0 0 -1 0 618] concat 85 execuserobject setfont 0 setgray 210 315 moveto (hidden units) show grestore grestore 0 0 2.323846 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 676] concat 85 execuserobject setfont 0 setgray 433 344 moveto (output units) show grestore grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 33.000004 32.275864 grestore 0 0 2.734103 setup 0 setgray 1 setalpha 73 0 146 591 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 74 -44 145 589 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 76 -46 146 538 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 74 -40 148 486 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 74 -40 151 435 line grestore 0 0 2.734103 setup 0 setgray 111 574.724121 oval matrix defaultmatrix setmatrix stroke 113 524.293091 oval matrix defaultmatrix setmatrix stroke 114 473.862061 oval matrix defaultmatrix setmatrix stroke 116 424.43103 oval matrix defaultmatrix setmatrix stroke 118 373 oval matrix defaultmatrix setmatrix stroke 1 setalpha 70 100 151 391 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 73 51 148 490 line grestore 0 0 2.990513 setup 0 setgray 1 setalpha 73 0 38 589 line grestore 0 0 2.990513 setup 0 setgray 1 setalpha 74 -44 37 587 line grestore 0 0 2.990513 setup 0 setgray 1 setalpha 76 -46 38 536 line grestore 0 0 2.990513 setup 0 setgray 1 setalpha 74 -40 40 484 line grestore 0 0 2.990513 setup 0 setgray 1 setalpha 74 -40 43 433 line grestore 0 0 2.990513 setup 0 setgray 1 setalpha 70 100 43 389 line grestore 0 0 2.990513 setup 0 setgray 1 setalpha 73 51 40 488 line grestore 0 setgray 0.333333 setgray 0 0 2.990513 setup 1 setgray 1 setalpha 390 365 24 249 rectfill 0.714881 setgray 1 setalpha 390 365 24 249 rectstroke grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 407 1099 a(Figure)14 b(4.11:)j(A)d(La)o(y)o(ered,)g(F)m(eedforw) o(ard)g(Net)o(w)o(ork)150 1226 y(function)d Fu(f)17 b Fx(=)11 b Fu(x)414 1232 y Fr(1)433 1226 y Fu(x)457 1232 y Fr(2)480 1226 y Fx(+)5 b Fu(x)541 1232 y Fr(2)p 559 1203 43 2 v 559 1226 a Fu(x)583 1232 y Fr(3)606 1226 y Fx(+)g Fu(x)667 1232 y Fr(1)p 685 1203 V 685 1226 a Fu(x)709 1232 y Fr(3)728 1226 y Fx(.)17 b(The)12 b(form)e(of)h(the)h(net)o(w)o(ork)g(that)f(implemen)o(ts) 150 1276 y(this)j(function)g(is)g(sho)o(wn)h(in)e(Fig.)19 b(4.12.)f(\(W)m(e)c (lea)o(v)o(e)g(it)f(to)i(the)f(reader)i(to)e(calculate)150 1325 y(appropriate)i(v)n(alues)g(of)f(w)o(eigh)o(ts)h(and)f(thresholds.\))25 b(The)17 b(3-cub)q(e)f(represen)o(tation)150 1375 y(of)h(the)h(function)f(is) h(sho)o(wn)f(in)g(Fig.)29 b(4.13.)e(The)18 b(net)o(w)o(ork)g(of)f(Fig.)28 b(4.12)17 b(can)g(b)q(e)150 1425 y(designed)c(so)f(that)g(eac)o(h)h(hidden)f (unit)g(implemen)o(ts)e(one)j(of)e(the)i(planar)e(b)q(oundaries)150 1475 y(sho)o(wn)j(in)f(Fig.)18 b(4.13.)413 2096 y @beginspecial 7 @llx 570 @lly 205 @urx 706 @ury 1980 @rwi @setspecial %%BeginDocument: Four/twolayer.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 7 570 198 136 rectclip 7 570 198 136 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 12 575 188 126 rectfill 12.000000 575.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 188 126 rectclip 0.426304 0.425676 scale -40 -358 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 40 358 441 296 rectclip 40 358 441 296 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 1 setalpha 188 394 116 20 rectfill 1 setgray 1 setalpha 188 394 116 20 rectstroke grestore 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 1 setalpha 325 480 151 29 rectfill 1 setgray 1 setalpha 325 480 151 29 rectstroke grestore 0 0 0 setup 0 0 0 setup 1 setgray 45 373 410 239 rectfill 45.000000 373.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 410 239 rectclip -67 -359 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 67.086411 359.086395 409.913574 238.913605 rectclip 67.086411 359.086395 409.913574 238.913605 rectclip 0 0 2.734103 setup 0 setgray 1 setalpha 25 25 252 558 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.734103 setup 0 setgray 1 setalpha 25 25 259 503 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.91359 setup 0 setgray 1 setalpha 131 51 121 515 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 132 0 119 571 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 138 100 118 461 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 138 0 120 516 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 143 -49 118 571 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 142 50 118 459 line grestore 0 0 1.91359 setup gsave /Helvetica findfont 18 scalefont [1 0 0 -1 0 0] makefont 62 exch defineuserobject 62 execuserobject setfont 0 setgray [1 0 0 -1 0 1027] concat /Helvetica-Bold findfont 25 scalefont [1 0 0 -1 0 0] makefont 430 exch defineuserobject 430 execuserobject setfont 0 setgray 76 523 moveto (x) show grestore grestore 0 0 1.91359 setup 0 setgray 1 setalpha 77 0 388 516 line 0 465 516 arrow grestore 0 0 2.734103 setup 0 setgray 1 setalpha 25 25 261 450 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.91359 setup 0 setgray 1 setalpha 145 -96 119 569 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 140 -52 122 515 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 141 0 119 460 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 81 -45 278 566 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 25 25 361 503 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.91359 setup 0 setgray 1 setalpha 74 0 286 515 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 76 44 287 465 line grestore 0 0 1.91359 setup gsave 430 execuserobject setfont 0 setgray [1 0 0 -1 0 827] concat 62 execuserobject setfont 0 setgray 231 405 moveto (conjuncts) show grestore grestore 0 0 1.91359 setup gsave 62 execuserobject setfont 0 setgray [1 0 0 -1 0 960] concat 62 execuserobject setfont 0 setgray 348 486 moveto (disjunct) show grestore grestore 0 0 1.91359 setup gsave 62 execuserobject setfont 0 setgray [1 0 0 -1 0 754] concat 62 execuserobject setfont 0 setgray 124 383 moveto (A Feedforward, 2-layer Network) show grestore grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 0 0 setup 1 setgray 1 setalpha 95 380 270 69 rectfill 1 setgray 1 setalpha 95 380 270 69 rectstroke grestore 0 0 0 setup 1 setgray 1 setalpha 327 479 131 34 rectfill 1 setgray 1 setalpha 327 479 131 34 rectstroke grestore grestore 0 0 0 setup gsave /Helvetica findfont 18 scalefont [1 0 0 -1 0 0] makefont 85 exch defineuserobject 85 execuserobject setfont 0 setgray [1 0 0 -1 0 1276] concat 85 execuserobject setfont 0 setgray 299 644 moveto (TLUs) show grestore grestore 0 setgray 0.333333 setgray 0 0 0 setup 0 setgray 1 setalpha 31 31 263 602 line 225.001328 263 602 arrow grestore 0 setgray 0.333333 setgray 0 0 0 setup 0 setgray 1 setalpha 31 -66 314 627 line -64.842613 345 561 arrow grestore 0 0 0 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 957] concat 85 execuserobject setfont 0 setgray 363 469 moveto (disjunction) show 363 491 moveto (of terms) show grestore grestore 0 0 0 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 820] concat 85 execuserobject setfont 0 setgray 191 380 moveto (conjunctions) show 191 402 moveto (of literals) show 191 424 moveto (\(terms\)) show grestore grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 505 2188 a(Figure)c(4.12:)j(A)d(Tw)o(o-La)o(y)o(er)f(Net)o(w)o (ork)212 2284 y(T)m(o)h(train)h(a)f(t)o(w)o(o-la)o(y)o(er)g(net)o(w)o(ork)h (that)f(implemen)o(ts)f(a)h Fu(k)q Fx(-term)g(DNF)h(function,)150 2334 y(w)o(e)e(\014rst)h(note)f(that)g(the)h(output)f(unit)g(implemen)o(ts)d (a)j(disjunction,)f(so)h(the)h(w)o(eigh)o(ts)150 2384 y(in)i(the)i(\014nal)e (la)o(y)o(er)g(are)h(\014xed.)27 b(The)17 b(w)o(eigh)o(ts)g(in)f(the)h (\014rst)h(la)o(y)o(er)e(\(except)i(for)e(the)150 2434 y(\\threshold)k(w)o (eigh)o(ts"\))f(can)h(all)e(ha)o(v)o(e)h(v)n(alues)g(of)g(1,)h Fw(\000)p Fx(1,)g(or)g(0.)34 b(Later,)21 b(w)o(e)e(will)150 2539 y Fo(Intr)n(o)n(duction)14 b(to)k(Machine)e(L)n(e)n(arning)757 2538 y Fn(c)746 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 54 16 54 15 bop 450 275 a Fx(54)579 b Fp(CHAPTER)14 b(4.)32 b(NEURAL)14 b(NETW)o(ORKS)773 1187 y @beginspecial 12 @llx 509 @lly 181 @urx 710 @ury 1690 @rwi @setspecial %%BeginDocument: Four/dnf1.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 12 509 169 201 rectclip 12 509 169 201 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 17 514 159 191 rectfill 17.000000 514.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 159 191 rectclip 0.341202 0.340463 scale -41 -140 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 41 140 466 561 rectclip 41 140 466 561 rectclip 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 253 1 199 356 line 0.226471 452 357 arrow grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 134 179 71 178 line 233.182922 71 178 arrow grestore 0 0 0.17 setup 0 setgray 1 setalpha 204 357 171 165 rectstroke grestore 0 0 0.17 setup 0 setgray 68 94 136 427 line grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 0 -208 204 565 line 89.997345 204 565 arrow grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 setgray 21 20 196 347 oval fill grestore 0 setgray 21 20 196 347 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 setgray 21 20 127 417 oval fill grestore 0 setgray 21 20 127 417 oval matrix defaultmatrix grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 294 414 22 21 rectfill 0 setgray 294 414 22 21 rectstroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 295 250 22 21 rectfill 0 setgray 295 250 22 21 rectstroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 setgray 21 20 194 510 oval fill grestore 0 setgray 21 20 194 510 oval matrix defaultmatrix grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 setgray 21 20 365 510 oval fill grestore 0 setgray 21 20 365 510 oval matrix defaultmatrix grestore 0 0 0 setup gsave /Helvetica findfont 44 scalefont [1 0 0 27 exch defineuserobject 27 execuserobject setfont 0 setgray [1 0 0 -1 0 709] concat /Helvetica findfont 18 scalefont [1 0 0 67 setmatrix stroke setmatrix stroke setmatrix stroke -1 0 0] makefont -1 0 0] makefont exch defineuserobject 67 execuserobject setfont 0 setgray 468 357 moveto (x) show 0 7 rmoveto (2) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 67 execuserobject setfont 0 setgray [1 0 0 -1 0 319] concat 67 execuserobject setfont 0 setgray 60 162 moveto (x) show 0 7 rmoveto (1) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 67 execuserobject setfont 0 setgray [1 0 0 -1 0 1163] concat 67 execuserobject setfont 0 setgray 207 584 moveto (x) show 0 7 rmoveto (3) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 67 execuserobject setfont 0 setgray [1 0 0 -1 0 1287] concat 27 execuserobject setfont 0 setgray 48 632 moveto (f = x) show 0 17 rmoveto (1) show 0 -17 rmoveto (x) show 0 17 rmoveto (2) show 0 -17 rmoveto ( + x) show 0 17 rmoveto (2) show 0 -17 rmoveto (x) show 0 17 rmoveto (3) show 0 -17 rmoveto ( + x) show 0 17 rmoveto (1) show 0 -17 rmoveto (x) show 0 17 rmoveto (3) show 0 -17 rmoveto grestore grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 365 347 22 21 rectfill 0 setgray 365 347 22 21 rectstroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 126 255 22 21 rectfill 0 setgray 126 255 22 21 rectstroke grestore 0 setgray 0.333333 setgray 0 0 2.170001 setup 0 setgray 1 setalpha 39 0 297 683 line grestore 0 setgray 0.333333 setgray 0 0 2.170001 setup 0 setgray 1 setalpha 39 0 445 685 line grestore 0 0 0.17 setup 0 setgray 1 setalpha 69 94 308 264 line grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave 0 3 translate 1 1 scale 0.243797 setgray 1 setalpha gsave newpath systemdict begin 135 314 345 350 setbbox 135 350 moveto 0 0 rlineto 171 -2 rlineto 39 -34 rlineto -172 1 rlineto -37 33 rlineto -1 2 rlineto end eofill grestore grestore 0 3 translate 1 1 scale 0 setgray 1 setalpha gsave newpath systemdict begin 135 314 345 350 setbbox 135 350 moveto 0 0 rlineto 171 -2 rlineto 39 -34 rlineto -172 1 rlineto -37 33 rlineto -1 2 rlineto end stroke grestore grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave -3 -1 translate 1 1 scale 0.582644 setgray 1 setalpha gsave newpath systemdict begin 234 264 348 479 setbbox 234 428 moveto 0 0 rlineto 110 51 rlineto 4 -164 rlineto -113 -51 rlineto 0 163 rlineto -1 1 rlineto end eofill grestore grestore -3 -1 translate 1 1 scale 0.466948 setgray 1 setalpha gsave newpath systemdict begin 234 264 348 479 setbbox 234 428 moveto 0 0 rlineto 110 51 rlineto 4 -164 rlineto -113 -51 rlineto 0 163 rlineto -1 1 rlineto end stroke grestore grestore 0 0 0.17 setup 0 setgray 1 setalpha 136 265 170 165 rectstroke grestore 0 0 0.17 setup 0 setgray 1 setalpha 69 94 305 427 line grestore 0 setgray 0.333333 setgray 0 0 2.769231 setup 0 setgray 1 setalpha 73 82 302 356 line grestore 0 setgray 0.333333 setgray 0 0 2.769231 setup 0.838847 setgray 1 setalpha 68 91 233 264 line grestore 0 setgray 0.333333 setgray 0 0 2.769231 setup 0.838847 setgray 1 setalpha 41 48 302 356 line grestore 0 setgray 0.333333 setgray 0 0 0 setup gsave -2 -1 translate 1 1 scale 0.247932 setgray 1 setalpha gsave newpath systemdict begin 272 317 346 352 setbbox 272 351 moveto 0 0 rlineto 33 1 rlineto 41 -35 rlineto -32 0 rlineto -41 35 rlineto -1 -1 rlineto end eofill grestore grestore -2 -1 translate 1 1 scale 0 setgray 1 setalpha gsave newpath systemdict begin 272 317 346 352 setbbox 272 351 moveto 0 0 rlineto 33 1 rlineto 41 -35 rlineto -32 0 rlineto -41 35 rlineto -1 -1 rlineto end stroke grestore grestore 0 setgray 0.333333 setgray 0 0 2.769231 setup 0 setgray 1 setalpha 72 90 304 347 line grestore 0 setgray 0.333333 setgray 0 0 2.769231 setup 0 setgray 1 setalpha 71 87 234 262 line grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 293 417 22 21 rectfill 0 setgray 293 417 22 21 rectstroke grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 571 1279 a Fx(Figure)g(4.13:)j(Three)e(Planes)f(Implemen)o(ted)e (b)o(y)i(the)g(Hidden)h(Units)450 1412 y(presen)o(t)g(a)f(training)f(pro)q (cedure)j(for)d(this)h(\014rst)h(la)o(y)o(er)e(of)h(w)o(eigh)o(ts.)-1307 b Fr(Discuss)196 1445 y(half-space)196 1478 y(in)o(tersections,)196 1512 y(half-space)196 1545 y(unions,)196 1578 y(NP-hardness)12 b(of)196 1611 y(optimal)196 1644 y(v)o(ersions,)196 1678 y(single-side-)196 1711 y(error-)196 1744 y(h)o(yp)q(eplane)196 1777 y(metho)q(ds,)196 1810 y(relation)f(to)196 1844 y(\\A)o(Q")f(metho)q(ds.)450 1534 y Fy(Imp)q(ortan)o(t)k(Commen)o(t)g(Ab)q(out)h(La)o(y)o(ered)f(Net)o(w)o (orks)450 1625 y Fx(Adding)d(additional)f(la)o(y)o(ers)i(cannot)f(comp)q (ensate)h(for)g(an)f(inadequate)h(\014rst)g(la)o(y)o(er)g(of)450 1674 y(TLUs.)20 b(The)14 b(\014rst)h(la)o(y)o(er)f(of)g(TLUs)h(partitions)e (the)i(feature)g(space)h(so)e(that)g(no)g(t)o(w)o(o)450 1724 y(di\013eren)o(tly)j(lab)q(eled)f(v)o(ectors)h(are)f(in)g(the)h(same)e (region)h(\(that)g(is,)g(so)g(that)h(no)e(t)o(w)o(o)450 1774 y(suc)o(h)i(v)o(ectors)g(yield)f(the)h(same)e(set)i(of)f(outputs)g(of)g(the)h (\014rst-la)o(y)o(er)f(units\).)26 b(If)15 b(the)450 1824 y(\014rst)g(la)o(y) o(er)f(do)q(es)h(not)g(partition)e(the)i(feature)h(space)f(in)f(this)h(w)o(a) o(y)m(,)e(then)i(regardless)450 1874 y(of)e(what)h(subsequen)o(t)i(la)o(y)o (ers)e(do,)f(the)i(\014nal)e(outputs)i(will)e(not)g(b)q(e)i(consisten)o(t)g (with)450 1923 y(the)f(lab)q(eled)g(training)f(set.)-686 b Fr(Add)11 b(diagrams)196 1957 y(sho)o(wing)g(the)196 1990 y(non-linear)196 2023 y(transformation)196 2056 y(p)q(erformed)g(b)o(y)h(a)196 2089 y(la)o(y)o(ered)196 2123 y(net)o(w)o(ork.)450 2054 y Fz(4.3.2)55 b(Madalines)450 2144 y Fy(Tw)o(o-Category)16 b(Net)o(w)o(orks)450 2234 y Fx(An)g(in)o(teresting)g(example)e(of)h(a)h(la)o(y)o(ered,)f(feedforw) o(ard)h(net)o(w)o(ork)g(is)g(the)g(t)o(w)o(o-la)o(y)o(er)450 2284 y(one)h(whic)o(h)f(has)g(an)g(o)q(dd)h(n)o(um)o(b)q(er)e(of)h(hidden)g (units,)h(and)f(a)g(\\v)o(ote-taking")f(TLU)450 2334 y(as)j(the)h(output)g (unit.)31 b(Suc)o(h)18 b(a)g(net)o(w)o(ork)h(w)o(as)f(called)g(a)g (\\Madaline")f(\(for)h(m)p 1701 2341 35 2 v -2 w(an)o(y)450 2384 y(adaline)p 450 2391 130 2 v -1 w(s)i(b)o(y)g(Widro)o(w.)34 b(T)o(ypically)m(,)19 b(the)h(resp)q(onse)i(of)d(the)h(v)o(ote)g(taking)f (unit)g(is)450 2434 y(de\014ned)f(to)g(b)q(e)g(the)g(resp)q(onse)h(of)e(the)h (ma)r(jorit)o(y)d(of)h(the)i(hidden)g(units,)g(although)450 2539 y Fo(Intr)n(o)n(duction)c(to)k(Machine)e(L)n(e)n(arning)1057 2538 y Fn(c)1046 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 55 17 55 16 bop 150 275 a Fp(4.3.)31 b(NETW)o(ORKS)14 b(OF)g(TLUS)765 b Fx(55)150 391 y(other)19 b(output)g(logics)f(are)h(p)q(ossible.)33 b(Ridgw)o(a)o(y)17 b([Ridgw)o(a)o(y)m(,)11 b(1962)o(])18 b(prop)q(osed)h(the) 150 441 y(follo)o(wing)10 b(error-correction)k(rule)f(for)f(adjusting)g(the)h (w)o(eigh)o(ts)g(of)f(the)h(hidden)g(units)150 491 y(of)g(a)h(Madaline:)212 596 y Fw(\017)21 b Fx(If)15 b(the)i(Madaline)e(correctly)i(classi\014es)g(a)e (pattern,)i Fy(X)1131 602 y Ft(i)1145 596 y Fx(,)f(no)f(corrections)j(are)254 646 y(made)12 b(to)i(an)o(y)g(of)f(the)h(hidden)g(units')g(w)o(eigh)o(t)f(v)o (ectors,)212 730 y Fw(\017)21 b Fx(If)c(the)h(Madaline)f(incorrectly)h (classi\014es)h(a)e(pattern,)i Fy(X)1178 736 y Ft(i)1192 730 y Fx(,)f(then)g(determine)254 780 y(the)i(minim)n(um)15 b(n)o(um)o(b)q(er)j (of)h(hidden)g(units)h(whose)f(resp)q(onses)j(need)e(to)f(b)q(e)254 830 y(c)o(hanged)13 b(\(from)e(0)h(to)g(1)h(or)f(from)f(1)h(to)h(0|dep)q (ending)f(on)h(the)g(t)o(yp)q(e)g(of)f(error\))254 880 y(in)g(order)i(that)f (the)h(Madaline)e(w)o(ould)g(correctly)i(classify)e Fy(X)1218 886 y Ft(i)1232 880 y Fx(.)18 b(Supp)q(ose)c(that)254 930 y(minim)n(um)i(n)o (um)o(b)q(er)j(is)h Fu(k)673 936 y Ft(i)686 930 y Fx(.)36 b(Of)20 b(those)h(hidden)f(units)g(v)o(oting)f(incorrectly)m(,)254 980 y(c)o(hange)13 b(the)g(w)o(eigh)o(t)f(v)o(ectors)h(of)f(those)h Fu(k)904 986 y Ft(i)930 980 y Fx(of)f(them)f(whose)i(dot)g(pro)q(ducts)h(are) 254 1029 y(closest)h(to)e(0)h(b)o(y)g(using)f(the)i(error)g(correction)g (rule:)639 1147 y Fy(W)e Fw( )-7 b(\000)11 b Fy(W)g Fx(+)e Fu(c)898 1153 y Ft(i)912 1147 y Fx(\()p Fu(d)950 1153 y Ft(i)973 1147 y Fw(\000)g Fu(f)1034 1153 y Ft(i)1048 1147 y Fx(\))p Fy(X)1100 1153 y Ft(i)254 1256 y Fx(where)18 b Fu(d)399 1262 y Ft(i)430 1256 y Fx(is)f(the)g(desired)h(resp)q(onse)h(of)e(the)h(hidden)f (unit)g(\(0)g(or)g(1\))g(and)g Fu(f)1486 1262 y Ft(i)254 1306 y Fx(is)e(the)g(actual)g(resp)q(onse)h(\(0)f(or)g(1\).)21 b(\(W)m(e)14 b(assume)h(augmen)o(ted)f(v)o(ectors)i(here)254 1356 y(ev)o(en)e(though)g(w)o (e)g(are)g(using)g Fy(X)p Fx(,)g Fy(W)g Fx(notation.\))212 1461 y(That)20 b(is,)g(w)o(e)g(p)q(erform)e(error-correction)j(on)f(just)f (enough)h(hidden)g(units)f(to)150 1511 y(correct)f(the)e(v)o(ote)g(to)g(a)f (ma)r(jorit)o(y)f(v)o(oting)h(correctly)m(,)h(and)g(w)o(e)g(c)o(hange)g (those)h(that)150 1561 y(are)f(easiest)h(to)f(c)o(hange.)24 b(There)17 b(are)g(example)d(problems)h(in)h(whic)o(h)g(ev)o(en)g(though)150 1610 y(a)i(set)h(of)f(w)o(eigh)o(t)g(v)n(alues)g(exists)h(for)e(a)h(giv)o(en) g(Madaline)g(structure)i(suc)o(h)f(that)f(it)150 1660 y(could)f(classify)g (all)g(mem)o(b)q(ers)f(of)h(a)g(training)f(set)j(correctly)m(,)f(this)g(pro)q (cedure)h(will)150 1710 y(fail)e(to)i(\014nd)g(them.)32 b(Nev)o(ertheless,)22 b(the)d(pro)q(cedure)i(w)o(orks)e(e\013ectiv)o(ely)h(in)e(most)150 1760 y(exp)q(erimen)o(ts)c(with)g(it.)212 1823 y(W)m(e)j(lea)o(v)o(e)g(it)g (to)g(the)h(reader)g(to)g(think)e(ab)q(out)i(ho)o(w)e(this)i(training)e(pro)q (cedure)150 1873 y(could)h(b)q(e)g(mo)q(di\014ed)f(if)g(the)i(output)f(TLU)g (implemen)o(ted)e(an)i Fs(or)f Fx(function)h(\(or)g(an)150 1922 y Fs(and)e Fx(function\).)150 2045 y Fu(R)p Fy(-Category)g(Madalines)f (and)h(Error-Correcting)e(Output)h(Co)q(des)150 2135 y Fx(If)g(there)i(are)f Fu(k)g Fx(hidden)g(units)g(\()p Fu(k)e(>)g Fx(1\))i(in)f(a)g(t)o(w)o(o-la)o (y)o(er)f(net)o(w)o(ork,)i(their)g(resp)q(onses)150 2185 y(corresp)q(ond)k (to)f(v)o(ertices)h(of)e(a)h Fu(k)q Fx(-dimensional)d(h)o(yp)q(ercub)q(e.)31 b(The)18 b(ordinary)g(t)o(w)o(o-)150 2234 y(category)g(Madaline)e(iden)o (ti\014es)i(t)o(w)o(o)f(sp)q(ecial)g(p)q(oin)o(ts)h(in)f(this)g(space,)i (namely)c(the)150 2284 y(v)o(ertex)e(consisting)e(of)g Fu(k)i Fx(1's)e(and)h(the)g(v)o(ertex)h(consisting)e(of)g Fu(k)i Fx(0's.)k(The)12 b(Madaline's)150 2334 y(resp)q(onse)g(is)f(1)f(if)f(the)i(p)q(oin)o(t)f(in)g (\\hidden-unit-space")h(is)f(closer)h(to)g(the)g(all)e(1's)h(v)o(ertex)150 2384 y(than)i(it)g(is)h(to)f(the)h(all)e(0's)h(v)o(ertex.)19 b(W)m(e)12 b(could)g(design)h(an)f Fu(R)p Fx(-category)h(Madaline)e(b)o(y)150 2434 y(iden)o(tifying)k Fu(R)g Fx(v)o(ertices)j(in)e(hidden-unit)g(space)h (and)f(then)g(classifying)f(a)h(pattern)150 2539 y Fo(Intr)n(o)n(duction)e (to)k(Machine)e(L)n(e)n(arning)757 2538 y Fn(c)746 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 56 18 56 17 bop 450 275 a Fx(56)579 b Fp(CHAPTER)14 b(4.)32 b(NEURAL)14 b(NETW)o(ORKS)450 391 y Fx(according)g(to)h(whic)o(h)f(of)f(these)j(v)o (ertices)g(the)f(hidden-unit)f(resp)q(onse)i(is)e(closest)i(to.)450 441 y(A)k(mac)o(hine)f(using)h(that)g(idea)g(w)o(as)g(implemen)o(ted)e(in)i (the)h(early)f(1960s)f(at)h(SRI)450 491 y([Brain,)13 b Fs(et)i(al.)p Fx(,)e(1962)o(].)22 b(It)16 b(used)g(the)g(fact)g(that)f(the)h(2)1320 476 y Ft(p)1355 491 y Fx(so-called)f Fs(maximal-length)450 541 y(shift-r)n(e)n(gister)c(se)n(quenc)n(es)i Fx([P)o(eterson,)h(1961)o(,)e (pp.)18 b(147\013])11 b(in)g(a)h(\(2)1472 526 y Ft(p)1497 541 y Fw(\000)6 b Fx(1\)-dimensional)450 591 y(Bo)q(olean)18 b(space)h(are)f(m)o (utually)e(equidistan)o(t)h(\(for)h(an)o(y)g(in)o(teger)g Fu(p)p Fx(\).)30 b(F)m(or)18 b(similar,)450 640 y(more)13 b(recen)o(t)i(w)o(ork)f (see)h([Dietteric)o(h)f(&)g(Bakiri,)f(1991)o(].)450 779 y Fz(4.3.3)55 b(Piecewise)18 b(Linear)f(Mac)n(hines)450 872 y Fx(A)d(t)o(w)o(o-category)g (training)f(set)i(is)f(linearly)f(separable)i(if)e(there)j(exists)f(a)e (threshold)450 922 y(function)g(that)h(correctly)h(classi\014es)f(all)f(mem)o (b)q(ers)f(of)h(the)i(training)d(set.)19 b(Similarly)l(,)450 972 y(w)o(e)g(can)f(sa)o(y)h(that)f(an)h Fu(R)p Fx(-category)f(training)g (set)h(is)f(linearly)g(separable)h(if)f(there)450 1021 y(exists)d(a)e(linear) g(mac)o(hine)g(that)h(correctly)h(classi\014es)f(all)f(mem)o(b)q(ers)f(of)i (the)g(training)450 1071 y(set.)k(When)12 b(an)f Fu(R)p Fx(-category)h (problem)e(is)i(not)f(linearly)g(separable,)h(w)o(e)g(need)h(a)e(more)450 1121 y(p)q(o)o(w)o(erful)20 b(classi\014er.)38 b(A)21 b(candidate)f(is)h(a)f (structure)i(called)e(a)g Fs(pie)n(c)n(ewise)h(line)n(ar)450 1171 y(\(PWL\))14 b Fx(mac)o(hine)f(illustrated)h(in)f(Fig.)k(4.14.)694 2142 y @beginspecial 0 @llx 488 @lly 207 @urx 706 @ury 2070 @rwi @setspecial %%BeginDocument: Four/pwl.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 0 488 207 218 rectclip 0 488 207 218 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 5 493 197 208 rectfill 5.000000 493.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 197 208 rectclip 0.362799 0.361739 scale -4 -8 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 4 8.009487 543 574.981018 rectclip 4 8.009487 543 574.981018 rectclip 0 0 2.682821 setup 0 setgray 1 setalpha 51 -1 366 464 line -1.123336 417 463 arrow grestore 0 0 0.17 setup gsave /Helvetica findfont 18 scalefont [1 0 0 -1 0 0] makefont 85 exch defineuserobject 85 execuserobject setfont 0 setgray [1 0 0 -1 0 632] concat /Helvetica-Bold findfont 30 scalefont [1 0 0 -1 0 0] makefont 347 exch defineuserobject 347 execuserobject setfont 0 setgray 17 327 moveto (X) show grestore grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 33.000004 32.275864 172 498.293091 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 33.000004 32.275864 175 398.43103 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.734103 setup 0 setgray 1 setalpha 83 -1 206 513 line -0.690298 289 512 arrow grestore 0 0 2.734103 setup 0 setgray 1 setalpha 79 -1 210 414 line -0.725246 289 413 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 143 -27 28 548 line -10.692528 171 521 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 147 -125 23 546 line -40.377037 170 421 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 130 314 46 94 line 67.51181 176 408 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 141 390 35 111 line 70.125198 176 501 arrow grestore 0 0 2.990513 setup gsave 347 execuserobject setfont 0 setgray [1 0 0 -1 0 1104] concat /Helvetica-Bold findfont 18 scalefont [1 0 0 -1 0 0] makefont 738 exch defineuserobject 738 execuserobject setfont 0 setgray 172 553 moveto (W) show 85 execuserobject setfont 0 -7 rmoveto (1) show 0 7 rmoveto grestore grestore 0 0 2.990513 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 708] concat 738 execuserobject setfont 0 setgray 183 342 moveto (W) show 85 execuserobject setfont 0 -7 rmoveto (1) show 0 7 rmoveto grestore grestore 0 0 2.990513 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 940] concat /Helvetica-Bold findfont 24 scalefont [1 0 0 -1 0 0] makefont 147 exch defineuserobject 147 execuserobject setfont 0 setgray 168 479 moveto (. . .) show grestore grestore 0 0 2.990513 setup gsave 147 execuserobject setfont 0 setgray [1 0 0 -1 0 996] concat /Symbol findfont 24 scalefont [1 0 0 -1 0 0] makefont 699 exch defineuserobject 699 execuserobject setfont 0 setgray 181 490 moveto (S) show grestore grestore 0 0 2.990513 setup gsave 699 execuserobject setfont 0 setgray [1 0 0 -1 0 819] concat 699 execuserobject setfont 0 setgray 184 413 moveto (S) show grestore grestore 0 0 2.990513 setup 0 setgray 1 setalpha 292 391 74 146 rectstroke grestore 0 0 2.990513 setup gsave 699 execuserobject setfont 0 setgray [1 0 0 -1 0 919] concat /Helvetica findfont 24 scalefont [1 0 0 -1 0 0] makefont 13 exch defineuserobject 13 execuserobject setfont 0 setgray 300 467 moveto (MAX) show grestore grestore 0 0 2.682821 setup 0 setgray 1 setalpha 50 -1 369 159 line -1.145797 419 158 arrow grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 33.000004 32.275864 185 198.293091 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 33.000004 32.275864 188 98.43103 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.734103 setup 0 setgray 1 setalpha 73 0 219 213 line 0 292 213 arrow grestore 0 0 2.734103 setup 0 setgray 1 setalpha 69 2 223 115 line 1.660331 292 117 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 160 -308 24 534 line -62.550846 184 226 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 163 -400 20 521 line -67.831108 183 121 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 142 18 47 89 line 7.224529 189 107 arrow grestore 0 0 2.990513 setup 0 setgray 1 setalpha 134 107 51 98 line 38.608765 185 205 arrow grestore 0 0 2.990513 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 340] concat 147 execuserobject setfont 0 setgray 181 179 moveto (. . .) show grestore grestore 0 0 2.990513 setup gsave 147 execuserobject setfont 0 setgray [1 0 0 -1 0 396] concat 699 execuserobject setfont 0 setgray 194 190 moveto (S) show grestore grestore 0 0 2.990513 setup gsave 699 execuserobject setfont 0 setgray [1 0 0 -1 0 196] concat 699 execuserobject setfont 0 setgray 198 90 moveto (S) show grestore grestore 0 0 2.990513 setup 0 setgray 1 setalpha 294 90 74 146 rectstroke grestore 0 0 2.990513 setup gsave 699 execuserobject setfont 0 setgray [1 0 0 -1 0 309] concat 13 execuserobject setfont 0 setgray 307 162 moveto (MAX) show grestore grestore 0 0 2.990513 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 636] concat 147 execuserobject setfont 0 setgray 307 327 moveto (. . .) show grestore grestore 0 0 2.990513 setup gsave 147 execuserobject setfont 0 setgray [1 0 0 -1 0 508] concat 738 execuserobject setfont 0 setgray 186 255 moveto (W) show 85 execuserobject setfont 0 -7 rmoveto (R) show 0 7 rmoveto grestore grestore 0 0 2.990513 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 104] concat 738 execuserobject setfont 0 setgray 190 40 moveto (W) show 85 execuserobject setfont 0 -7 rmoveto (R) show 0 7 rmoveto grestore grestore 0 0 2.990513 setup 0 setgray 1 setalpha 421 118 74 398 rectstroke grestore 0 0 2.990513 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 660] concat 13 execuserobject setfont 0 setgray 429 324 moveto (ARG) show 429 353 moveto (MAX) show grestore grestore 0 0 2.682821 setup 0 setgray 1 setalpha 36 -1 496 334 line -1.591187 532 333 arrow grestore 0 0 0 setup gsave 13 execuserobject setfont 0 setgray [1 0 0 -1 0 972] concat /Helvetica findfont 25 scalefont [1 0 0 -1 0 0] makefont 269 exch defineuserobject 269 execuserobject setfont 0 setgray 381 495 moveto (1) show grestore grestore 0 0 0 setup gsave 269 execuserobject setfont 0 setgray [1 0 0 -1 0 362] concat 269 execuserobject setfont 0 setgray 384 190 moveto (R) show grestore grestore 0 0 0 setup gsave 269 execuserobject setfont 0 setgray [1 0 0 -1 0 1094] concat 85 execuserobject setfont 0 setgray 189 553 moveto (1) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 713] concat 85 execuserobject setfont 0 setgray 201 359 moveto (N) show 0 -7 rmoveto 0 14 rmoveto (1) show 0 -14 rmoveto grestore grestore 0 0 0 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 492] concat 85 execuserobject setfont 0 setgray 203 252 moveto (1) show 0 -7 rmoveto grestore grestore 0 0 0 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 105] concat 85 execuserobject setfont 0 setgray 208 55 moveto (N) show 0 -7 rmoveto 0 14 rmoveto (R) show 0 -14 rmoveto grestore grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 751 2234 a(Figure)d(4.14:)j(A)d(Piecewise)h(Linear)f(Mac)o(hine) 512 2334 y(The)19 b(PWL)g(mac)o(hine)e(groups)i(its)g(w)o(eigh)o(ted)f (summing)e(units)j(in)o(to)e Fu(R)i Fx(banks)450 2384 y(corresp)q(onding)d (to)g(the)g Fu(R)f Fx(categories.)23 b(An)16 b(input)f(v)o(ector)h Fy(X)g Fx(is)f(assigned)h(to)f(that)450 2434 y(category)d(corresp)q(onding)h (to)f(the)h(bank)e(with)h(the)h(largest)f(w)o(eigh)o(ted)g(sum.)k(W)m(e)c (can)450 2539 y Fo(Intr)n(o)n(duction)i(to)k(Machine)e(L)n(e)n(arning)1057 2538 y Fn(c)1046 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 57 19 57 18 bop 150 275 a Fp(4.3.)31 b(NETW)o(ORKS)14 b(OF)g(TLUS)765 b Fx(57)150 391 y(use)15 b(an)g(error-correction)h(training)e(algorithm)e (similar)g(to)i(that)h(used)g(for)f(a)g(linear)150 441 y(mac)o(hine.)h(If)10 b(a)g(pattern)h(is)f(classi\014ed)g(incorrectly)m(,)h(w)o(e)f(subtract)h(\(a) f(constan)o(t)h(times\))150 491 y(the)g(pattern)h(v)o(ector)f(from)e(the)i(w) o(eigh)o(t)f(v)o(ector)i(pro)q(ducing)e(the)i(largest)f(dot)f(pro)q(duct)150 541 y(\(it)20 b(w)o(as)h(incorrectly)g(the)g(largest\))g(and)f(add)g(\(a)g (constan)o(t)h(times\))f(the)h(pattern)150 591 y(v)o(ector)12 b(to)f(that)g(w)o(eigh)o(t)g(v)o(ector)h(in)f(the)h(correct)h(bank)e(of)f(w)o (eigh)o(t)h(v)o(ectors)h(whose)g(dot)150 640 y(pro)q(duct)k(is)e(lo)q(cally)f (largest)i(in)f(that)h(bank.)20 b(\(Again,)14 b(w)o(e)h(use)g(augmen)o(ted)f (v)o(ectors)150 690 y(here.\))19 b(Unfortunately)m(,)12 b(there)i(are)f (example)e(training)h(sets)i(that)f(are)g(separable)g(b)o(y)150 740 y(a)e(giv)o(en)g(PWL)h(mac)o(hine)e(structure)k(but)e(for)f(whic)o(h)h (this)f(error-correction)j(training)150 790 y(metho)q(d)h(fails)g(to)h (\014nd)g(a)g(solution.)24 b(The)16 b(metho)q(d)f(do)q(es)i(app)q(ear)f(to)g (w)o(ork)g(w)o(ell)f(in)150 840 y(some)f(situations)h([Duda)e(&)h(F)m(ossum,) e(1966)o(],)i(although)h([Nilsson,)d(1965)o(,)j(page)g(89])150 889 y(observ)o(ed)f(that)e(\\it)g(is)g(probably)g(not)g(a)g(v)o(ery)h (e\013ectiv)o(e)h(metho)q(d)e(for)g(training)f(PWL)150 939 y(mac)o(hines)i(ha)o(ving)g(more)g(than)g(three)j([w)o(eigh)o(t)d(v)o (ectors])h(in)g(eac)o(h)g(bank.")150 1304 y Fz(4.3.4)55 b(Cascade)20 b(Net)n(w)n(orks)150 1500 y Fx(Another)13 b(in)o(teresting)f(class)h(of)e (feedforw)o(ard)h(net)o(w)o(orks)h(is)f(that)g(in)f(whic)o(h)h(all)f(of)g (the)150 1549 y(TLUs)18 b(are)h(ordered)g(and)f(eac)o(h)h(TLU)f(receiv)o(es)i (inputs)e(from)e(all)h(of)g(the)i(pattern)150 1599 y(comp)q(onen)o(ts)d(and)h (from)e(all)g(TLUs)i(lo)o(w)o(er)f(in)g(the)i(ordering.)26 b(Suc)o(h)17 b(a)f(net)o(w)o(ork)h(is)150 1649 y(called)e(a)g Fs(c)n(asc)n(ade)i Fx(net)o(w)o(ork.)23 b(An)15 b(example)g(is)g(sho)o(wn)g (in)g(Fig.)23 b(4.15)14 b(in)h(whic)o(h)g(the)150 1699 y(TLUs)f(are)h(lab)q (eled)e(b)o(y)h(the)h(linearly)d(separable)j(functions)f(\(of)f(their)i (inputs\))f(that)150 1749 y(they)g(implemen)o(t.)h(Eac)o(h)f(TLU)g(in)f(the)i (net)o(w)o(ork)f(implemen)o(ts)d(a)j(set)g(of)f(2)1332 1734 y Ft(k)1366 1749 y Fx(parallel)150 1799 y(h)o(yp)q(erplanes,)g(where)h Fu(k)g Fx(is)f(the)g(n)o(um)o(b)q(er)f(of)g(TLUs)i(from)d(whic)o(h)h(it)h (receiv)o(es)h(inputs.)150 1848 y(\(Eac)o(h)19 b(of)e(the)i Fu(k)g Fx(preceding)h(TLUs)e(can)h(ha)o(v)o(e)f(an)g(output)g(of)g(1)g(or)g (0;)i(that's)e(2)1480 1833 y Ft(k)150 1898 y Fx(di\013eren)o(t)g(com)o (binations|resulting)c(in)j(2)844 1883 y Ft(k)881 1898 y Fx(di\013eren)o(t)h (p)q(ositions)e(for)h(the)g(parallel)150 1948 y(h)o(yp)q(erplanes.\))j(W)m(e) 14 b(sho)o(w)g(a)g(3-dimensional)e(sk)o(etc)o(h)j(for)f(a)g(net)o(w)o(ork)g (of)g(t)o(w)o(o)g(TLUs)150 1998 y(in)19 b(Fig.)35 b(4.16.)f(The)21 b(reader)f(migh)o(t)e(consider)j(ho)o(w)e(the)h Fu(n)p Fx(-dimensional)d (parit)o(y)150 2048 y(function)d(migh)o(t)d(b)q(e)k(implem)o(en)o(ted)d(b)o (y)i(a)f(cascade)i(net)o(w)o(ork)f(ha)o(ving)f(log)1321 2058 y Fr(2)1346 2048 y Fu(n)h Fx(TLUs.)212 2185 y(Cascade)g(net)o(w)o(orks)g (migh)o(t)d(b)q(e)j(trained)f(b)o(y)g(\014rst)h(training)e Fu(L)1189 2191 y Fr(1)1221 2185 y Fx(to)h(do)g(as)g(go)q(o)q(d)g(a)150 2234 y(job)e(as)h(p)q(ossible)g(at)g(separating)g(all)e(the)i(training)f (patterns)i(\(p)q(erhaps)g(b)o(y)f(using)f(the)150 2284 y(p)q(o)q(c)o(k)o(et) g(algorithm,)d(for)i(example\),)g(then)h(training)f Fu(L)998 2290 y Fr(2)1027 2284 y Fx(\(including)g(the)h(w)o(eigh)o(t)f(from)150 2334 y Fu(L)178 2340 y Fr(1)210 2334 y Fx(to)i Fu(L)287 2340 y Fr(2)306 2334 y Fx(\))h(also)f(to)h(do)f(as)h(go)q(o)q(d)f(a)h(job)f(as)h (p)q(ossible)g(at)f(separating)h(all)f(the)h(training)150 2384 y(patterns,)g(and)f(so)g(on)g(un)o(til)f(the)i(resulting)f(net)o(w)o(ork)g (classi\014es)h(the)g(patterns)g(in)e(the)150 2434 y(training)i(set)i (satisfactorily)m(.)916 b Fr(Also)11 b(men)o(tion)1529 2467 y(the)g(\\cascade-)1529 2500 y(correlation")1529 2533 y(metho)q(d)g(of)1529 2567 y([F)m(ahlman)i(&)e(Lebiere,)h(1990)n(].)150 2539 y Fo(Intr)n(o)n (duction)i(to)k(Machine)e(L)n(e)n(arning)757 2538 y Fn(c)746 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 58 20 58 19 bop 450 275 a Fx(58)579 b Fp(CHAPTER)14 b(4.)32 b(NEURAL)14 b(NETW)o(ORKS)677 925 y @beginspecial 8 @llx 560 @lly 223 @urx 698 @ury 2150 @rwi @setspecial %%BeginDocument: Four/cascade.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 8 560 215 138 rectclip 8 560 215 138 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 13 565 205 128 rectfill 13.000000 565.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 205 128 rectclip 0.39961 0.4 scale -15 -372 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 15.086411 372 512.913574 320 rectclip 15.086411 372 512.913574 320 rectclip 0 0 2.734103 setup 0 setgray 1 setalpha 25 25 199 624 oval matrix defaultmatrix setmatrix stroke grestore 0 0 2.734103 setup 0 setgray 1 setalpha 25 25 250 529 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.91359 setup 0 setgray 1 setalpha 130 25 69 605 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 131 -20 67 661 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 140 74 66 551 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 185 -59 68 606 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 189 -108 66 661 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 183 -8 66 549 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 41 -74 219 628 line grestore 0 0 1.91359 setup gsave /Helvetica findfont 18 scalefont [1 0 0 -1 0 0] makefont 85 exch defineuserobject 85 execuserobject setfont 0 setgray [1 0 0 -1 0 1207] concat /Helvetica-Bold findfont 25 scalefont [1 0 0 -1 0 0] makefont 1113 exch defineuserobject 1113 execuserobject setfont 0 setgray 24 613 moveto (x) show grestore grestore 0 0 1.91359 setup 0 setgray 1 setalpha 60 0 389 430 line 0 449 430 arrow grestore 0 0 1.91359 setup gsave 1113 execuserobject setfont 0 setgray [1 0 0 -1 0 1331] concat 85 execuserobject setfont 0 setgray 211 668 moveto (L) show 0 7 rmoveto (1) show 0 -7 rmoveto grestore grestore 0 0 1.91359 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 1029] concat 85 execuserobject setfont 0 setgray 266 517 moveto (L) show 0 7 rmoveto (2) show 0 -7 rmoveto grestore grestore 0 0 1.91359 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 864] concat 85 execuserobject setfont 0 setgray 458 438 moveto (output) show grestore grestore 0 0 2.734103 setup 0 setgray 1 setalpha 25 25 363 417 oval matrix defaultmatrix setmatrix stroke grestore 0 0 1.91359 setup 0 setgray 1 setalpha 294 -180 68 607 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 294 -222 68 657 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 299 -130 65 550 line grestore 0 0 1.91359 setup 0 setgray 1 setalpha 92 -94 274 535 line grestore 0 0 1.91359 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 797] concat 85 execuserobject setfont 0 setgray 367 401 moveto (L) show 0 7 rmoveto (3) show 0 -7 rmoveto grestore grestore 0 0 1.91359 setup 0 setgray 1 setalpha 150 -191 224 634 line grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 828 1016 a Fx(Figure)g(4.15:)j(A)d(Cascade)h(Net)o(w)o(ork)715 1536 y @beginspecial 18 @llx 581 @lly 215 @urx 692 @ury 1970 @rwi @setspecial %%BeginDocument: Four/parallel.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave 18 581 197 111 rectclip 18 581 197 111 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 23 586 187 101 rectfill 23.000000 586.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 187 101 rectclip 0.410088 0.412245 scale -48 -443 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 48 443.035126 456 244.964874 rectclip 48 443.035126 456 244.964874 rectclip 0 0 3.964872 setup 0 setgray 1 setalpha 120 -100 164 584 line grestore 0 0 3.964872 setup 0 setgray 1 setalpha 120 -100 249 617 line grestore 0 0 3.964872 setup 0 setgray 1 setalpha 85 34 164 583 line grestore 0 0 3.964872 setup 0 setgray 1 setalpha 85 34 282 483 line grestore 0 0 3.964872 setup 0 setgray 1 setalpha 129 108 243 518 line grestore 0 0 3.964872 setup 0 setgray 1 setalpha 85 34 245 517 line grestore 0 0 3.964872 setup 0 setgray 1 setalpha 129 108 330 551 line grestore 0 0 3.964872 setup 0 setgray 1 setalpha 85 34 373 626 line grestore 0 0 3.964872 setup 0 setgray 1 setalpha 129 108 59 454 line grestore 0 0 3.964872 setup 0 setgray 1 setalpha 67 56 147 486 line grestore 0 0 3.964872 setup 0 setgray 1 setalpha 85 34 189 562 line grestore 0 0 3.964872 setup 0 setgray 1 setalpha 85 34 61 452 line grestore 0 0 3.964872 setup 0.690085 setgray 1 setalpha 62 52 215 543 line grestore 0 0 1.91359 setup gsave /Helvetica findfont 18 scalefont [1 0 0 -1 0 0] makefont 85 exch defineuserobject 85 execuserobject setfont 0 setgray [1 0 0 -1 0 1025] concat 85 execuserobject setfont 0 setgray 376 515 moveto (L) show 0 7 rmoveto (1) show 0 -7 rmoveto grestore grestore 0 0 1.91359 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 1323] concat 85 execuserobject setfont 0 setgray 468 664 moveto (L) show 0 7 rmoveto (2) show 0 -7 rmoveto grestore grestore 0 0 1.91359 setup gsave 85 execuserobject setfont 0 setgray [1 0 0 -1 0 983] concat 85 execuserobject setfont 0 setgray 62 494 moveto (L) show 0 7 rmoveto (2) show 0 -7 rmoveto grestore grestore 0 setgray 0.333333 setgray gsave 0 0 792 1008 rectclip [1 0 0 -1 0 1008] concat grestore count __NXEPSOpCount sub {pop} repeat countdictstack __NXEPSDictCount sub {end} repeat __NXEPSSave restore grestore grestore 0 setgray 0.333333 setgray gsave 0 0 540 720 rectclip [1 0 0 -1 0 720] concat grestore grestore %%EndDocument @endspecial 461 1628 a(Figure)f(4.16:)j(Planes)d(Implemen)o(ted)e(b)o(y)i(a) g(Cascade)g(Net)o(w)o(ork)g(with)g(Tw)o(o)f(TLUs)450 1760 y FA(4.4)70 b(T)-6 b(raining)15 b(F)-6 b(eedforw)n(ard)16 b(Net)n(w)n(orks)f(b) n(y)h(Bac)n(k-)607 1835 y(propagation)450 1946 y Fz(4.4.1)55 b(Notation)450 2035 y Fx(The)16 b(general)f(problem)f(of)h(training)f(a)h (net)o(w)o(ork)g(of)g(TLUs)h(is)f(di\016cult.)21 b(Consider,)450 2085 y(for)15 b(example,)f(the)i(la)o(y)o(ered,)f(feedforw)o(ard)g(net)o(w)o (ork)h(of)e(Fig.)22 b(4.11.)f(If)15 b(suc)o(h)h(a)f(net-)450 2135 y(w)o(ork)f(mak)o(es)g(an)g(error)h(on)g(a)f(pattern,)h(there)h(are)f (usually)f(sev)o(eral)h(di\013eren)o(t)g(w)o(a)o(ys)450 2185 y(in)i(whic)o(h)h(the)g(error)g(can)g(b)q(e)g(corrected.)31 b(It)18 b(is)f(di\016cult)g(to)h(assign)f(\\blame")e(for)450 2234 y(the)h(error)g(to)f(an)o(y)g(particular)g(TLU)g(in)g(the)h(net)o(w)o (ork.)22 b(In)o(tuitiv)o(ely)m(,)13 b(one)j(lo)q(oks)e(for)450 2284 y(w)o(eigh)o(t-adjusting)j(pro)q(cedures)k(that)e(mo)o(v)o(e)d(the)j (net)o(w)o(ork)g(in)f(the)h(correct)h(direc-)450 2334 y(tion)14 b(\(relativ)o(e)h(to)g(the)h(error\))f(b)o(y)g(making)e(minim)o(al)e(c)o (hanges.)22 b(In)15 b(this)g(spirit,)f(the)450 2384 y(Widro)o(w-Ho\013)e (metho)q(d)g(of)g(gradien)o(t)h(descen)o(t)h(has)f(b)q(een)h(generalized)g (to)f(deal)f(with)450 2434 y(m)o(ultila)o(y)o(er)f(net)o(w)o(orks.)450 2539 y Fo(Intr)n(o)n(duction)j(to)k(Machine)e(L)n(e)n(arning)1057 2538 y Fn(c)1046 2539 y Fm(\015)q Fn(1996)i(Nils)h(J.)e(Nilsson.)32 b(All)19 b(righ)o(ts)f(reserv)o(ed.)p eop %%Page: 59 21 59 20 bop 150 275 a Fp(4.4.)25 b(TRAINING)8 b(FEEDF)o(OR)-5 b(W)g(ARD)10 b(NETW)o(ORKS)f(BY)h(BA)o(CKPR)o(OP)m(A)o(GA)m(TION)p Fx(59)212 391 y(In)18 b(explaining)e(this)h(generalization,)g(w)o(e)h(use)g (Fig.)28 b(4.17)16 b(to)i(in)o(tro)q(duce)g(some)150 441 y(notation.)37 b(This)20 b(net)o(w)o(ork)g(has)h(only)e(one)i(output)g(unit,)g(but,)h(of)d (course,)k(it)d(is)150 491 y(p)q(ossible)e(to)f(ha)o(v)o(e)g(sev)o(eral)h (TLUs)g(in)f(the)h(output)g(la)o(y)o(er|eac)o(h)f(implemen)o(ting)d(a)150 541 y(di\013eren)o(t)d(function.)16 b(Eac)o(h)10 b(of)g(the)g(la)o(y)o(ers)g (of)f(TLUs)h(will)f(ha)o(v)o(e)g(outputs)i(that)f(w)o(e)g(tak)o(e)150 591 y(to)j(b)q(e)g(the)h(comp)q(onen)o(ts)e(of)g(v)o(ectors,)i(just)f(as)g (the)g(input)g(features)h(are)f(comp)q(onen)o(ts)150 640 y(of)h(an)h(input)g (v)o(ector.)23 b(The)15 b Fu(j)r Fx(-th)h(la)o(y)o(er)f(of)f(TLUs)h(\(1)f Fw(\024)g Fu(j)i(<)e(k)q Fx(\))h(will)e(ha)o(v)o(e)i(as)h(their)150 690 y(outputs)f(the)f(v)o(ector)h Fy(X)535 675 y Fr(\()p Ft(j)r Fr(\))579 690 y Fx(.)j(The)d(input)f(feature)g(v)o(ector)h(is)f(denoted)h(b)o (y)f Fy(X)1363 675 y Fr(\(0\))1408 690 y Fx(,)f(and)150 740 y(the)i(\014nal)e(output)i(\(of)e(the)i Fu(k)q Fx(-th)f(la)o(y)o(er)g(TLU\))g (is)g Fu(f)t Fx(.)20 b(Eac)o(h)14 b(TLU)h(in)e(eac)o(h)i(la)o(y)o(er)f(has) 150 790 y(a)f(w)o(eigh)o(t)g(v)o(ector)h(\(connecting)g(it)f(to)g(its)h (inputs\))f(and)h(a)f(threshold;)g(the)h Fu(i)p Fx(-th)g(TLU)150 848 y(in)i(the)i Fu(j)r Fx(-th)f(la)o(y)o(er)g(has)g(a)f(w)o(eigh)o(t)h(v)o (ector)g(denoted)h(b)o(y)f Fy(W)1116 826 y Fr(\()p Ft(j)r Fr(\))1115 859 y Ft(i)1159 848 y Fx(.)27 b(\(W)m(e)17 b(will)e(assume)150 898 y(that)e(the)i(\\threshold)e(w)o(eigh)o(t")g(is)g(the)h(last)g(comp)q (onen)o(t)e(of)h(the)h(asso)q(ciated)g(w)o(eigh)o(t)150 947 y(v)o(ector;)20 b(w)o(e)d(migh)o(t)f(ha)o(v)o(e)h(used)h Fy(V)g Fx(notation)e(instead)i(to)f(include)h(this)f(threshold)150 997 y(comp)q(onen)o(t,)h(but)h(w)o(e)f(ha)o(v)o(e)g(c)o(hosen)h(here)g(to)g (use)g(the)f(familiar)d Fy(X)p Fx(,)p Fy(W)j Fx(notation,)150 1047 y(assuming)13 b(that)i(these)i(v)o(ectors)f(are)f(\\augmen)o(ted")f(as)h (appropriate.\))22 b(W)m(e)14 b(denote)150 1105 y(the)g(w)o(eigh)o(ted)g(sum) e(input)h(to)h(the)g Fu(i)p Fx(-th)g(threshold)g(unit)f(in)g(the)h Fu(j)r Fx(-th)g(la)o(y)o(er)f(b)o(y)h Fu(s)1445 1083 y Fr(\()p Ft(j)r Fr(\))1445 1116 y Ft(i)1488 1105 y Fx(.)150 1155 y(\(That)k(is,)h Fe(s)351 1136 y Fg(\()p Ff(j)q Fg(\))351 1165 y Ff(i)409 1155 y Fn(=)e Fh(X)489 1139 y Fg(\()p Ff(j)q Fd(\000)p Fg(1\))569 1155 y Fm(\017)p Fh(W)635 1136 y Fg(\(j\))634 1165 y(i)670 1155 y Fx(.\))31 b(The)19 b(n)o(um)o(b)q(er)e(of)h(TLUs)h(in)f(the)h Fu(j)r Fx(-th)f(la)o(y)o(er)g(is)150 1213 y(giv)o(en)13 b(b)o(y)h Fu(m)352 1219 y Ft(j)370 1213 y Fx(.)k(The)c(v)o(ector)h Fy(W)660 1191 y Fr(\()p Ft(j)r Fr(\))659 1224 y Ft(i)717 1213 y Fx(has)f(comp)q(onen)o (ts)g Fu(w)1051 1191 y Fr(\()p Ft(j)r Fr(\))1050 1225 y Ft(l;i)1108 1213 y Fx(for)f Fu(l)g Fx(=)f(1)p Fu(;)7 b(m)1316 1220 y Fr(\()p Ft(j)r Fi(\000)p Fr(1\))1411 1213 y Fx(+)i(1.)79 2297 y @beginspecial -1 @llx 492 @lly 357 @urx 698 @ury 3580 @rwi @setspecial %%BeginDocument: Four/genlayer.eps /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave -20 -28 translate /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def gsave -1 492 358 206 rectclip -1 492 358 206 rectclip 0 setgray 0.333333 setgray 0 0 0 setup 1 setgray 4 497 348 196 rectfill 4.000000 497.000000 transform gsave __NXbasematrix setmatrix itransform translate 0 0 348 196 rectclip 0.513274 0.474576 scale -28 -55 translate /__NXEPSSave save def /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath count /__NXEPSOpCount exch def /__NXEPSDictCount countdictstack def /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def gsave /__NXbasematrix matrix currentmatrix def grestore /oval { translate scale newpath 0.5 0.5 0.5 0 360 arc } def /line { moveto rlineto stroke } def /setup { setlinewidth setlinecap setlinejoin gsave } def /arrow { newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate } def 0 0 792 1008 rectclip 28 55 678 413 rectclip 28 55 678 413 rectclip 0 setgray 0.333333 setgray 0 0 0.887949 setup 0.566118 setgray 1 setalpha 218 116 47 292 rectfill 0 setgray 1 setalpha 218 116 47 292 rectstroke grestore 0 0 2.734103 setup 0 setgray 1 setalpha 29 -16 266 159 line grestore 0 0 0.17 setup gsave /Helvetica findfont 16 scalefont [1 0 0 -1 0 0] makefont 71 exch defineuserobject 71 execuserobject setfont 0 setgray [1 0 0 -1 0 834] concat /Helvetica-Bold findfont 18 scalefont [1 0 0 -1 0 0] makefont 516 exch defineuserobject 516 execuserobject setfont 0 setgray 47 420 moveto (X) show 71 execuserobject setfont 0 -6 rmoveto (\(0\)) show 0 6 rmoveto grestore grestore 0 0 2.734103 setup 0 setgray 1 setalpha 28 17 266 300 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 27 -6 266 336 line grestore 0 0 2.528975 setup 0 setgray 1 setalpha 84 37 66 347 line grestore 0 0 2.528975 setup 0 setgray 1 setalpha 89 -197 66 345 line grestore 0 0 2.528975 setup 0 setgray 1 setalpha 86 -55 62 296 line grestore 0 0 2.528975 setup 0 setgray 1 setalpha 80 -17 62 243 line grestore 0 0 2.528975 setup 0 setgray 1 setalpha 86 177 68 197 line grestore 0 0 2.528975 setup 0 setgray 1 setalpha 81 73 68 246 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 30 -14 187 315 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 30 8 188 333 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 27 -16 265 249 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 28 0 190 396 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 32 17 264 196 line grestore 0 0 2.528975 setup 0 setgray 1 setalpha 80 -52 68 191 line grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 41.290333 39.143902 149 368.5802 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 40 40 149 304.293091 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 42 40 141 207.862061 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 40 40 149 114.43103 oval matrix defaultmatrix setmatrix stroke grestore 0 0 0.17 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 556] concat /Helvetica findfont 28 scalefont [1 0 0 -1 0 0] makefont 478 exch defineuserobject 478 execuserobject setfont 0 setgray 36 288 moveto (. . .) show grestore grestore 0 0 0.17 setup gsave 478 execuserobject setfont 0 setgray [1 0 0 -1 0 354] concat 478 execuserobject setfont 0 setgray 153 187 moveto (. . .) show grestore grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 40 40 293 305.293091 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 40 40 291 204.862061 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 40 40 292 114.43103 oval matrix defaultmatrix setmatrix stroke grestore 0 0 0.17 setup gsave 478 execuserobject setfont 0 setgray [1 0 0 -1 0 606] concat 478 execuserobject setfont 0 setgray 148 313 moveto (. . .) show grestore grestore 0 0 0.17 setup gsave 478 execuserobject setfont 0 setgray [1 0 0 -1 0 356] concat 478 execuserobject setfont 0 setgray 293 188 moveto (. . .) show grestore grestore 0 0 2.734103 setup 0 setgray 1 setalpha 29 -16 189 379 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 26 0 266 394 line grestore 0 0 0 setup gsave 478 execuserobject setfont 0 setgray [1 0 0 -1 0 515] concat 516 execuserobject setfont 0 setgray 136 259 moveto (W) show 71 execuserobject setfont 0 6 rmoveto (i) show 0 -6 rmoveto 0 -6 rmoveto (\(1\)) show 0 6 rmoveto grestore grestore 0 0 0 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 623] concat 516 execuserobject setfont 0 setgray 557 315 moveto (W) show 71 execuserobject setfont 0 -6 rmoveto (\(k\)) show 0 6 rmoveto grestore grestore 0 0 0.17 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 834] concat 516 execuserobject setfont 0 setgray 189 420 moveto (X) show 71 execuserobject setfont 0 -6 rmoveto (\(1\)) show 0 6 rmoveto grestore grestore 0 0 0 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 159] concat /Helvetica-Oblique findfont 16 scalefont [1 0 0 -1 0 0] makefont 510 exch defineuserobject 510 execuserobject setfont 0 setgray 118 82 moveto (m) show 0 6 rmoveto (1) show 0 -6 rmoveto 71 execuserobject setfont ( TLUs) show grestore grestore 0 0 2.717949 setup 0 setgray 1 setalpha 89 -1 602 260 line -0.643765 691 259 arrow grestore 0 0 2.528975 setup 0 setgray 1 setalpha 25 16 267 361 line grestore 0 0 2.528975 setup 0 setgray 1 setalpha 26 0 267 134 line grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 setgray 1 setalpha 12 12 55 340 oval fill grestore 0 setgray 1 setalpha 12 12 55 340 oval matrix grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 setgray 1 setalpha 12 12 56 289 oval fill grestore 0 setgray 1 setalpha 12 12 56 289 oval matrix grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 setgray 1 setalpha 12 12 57 237 oval fill grestore 0 setgray 1 setalpha 12 12 57 237 oval matrix grestore 0 setgray 0.333333 setgray 0 0 0.17 setup gsave 0 setgray 1 setalpha 12 12 58 186 oval fill grestore 0 setgray 1 setalpha 12 12 58 186 oval matrix defaultmatrix setmatrix stroke defaultmatrix setmatrix stroke defaultmatrix setmatrix stroke defaultmatrix setmatrix stroke grestore 0 0 0.17 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 612] concat 478 execuserobject setfont 0 setgray 292 316 moveto (. . .) show grestore grestore 0 0 0 setup gsave 478 execuserobject setfont 0 setgray [1 0 0 -1 0 501] concat 516 execuserobject setfont 0 setgray 279 252 moveto (W) show 71 execuserobject setfont 0 6 rmoveto (i) show 0 -6 rmoveto 0 -6 rmoveto (\(j\)) show 0 6 rmoveto grestore grestore 0 0 2.734103 setup 0 setgray 1 setalpha 39 -26 178 216 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 41 16 178 238 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 29 -1 190 132 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 30 8 189 143 line grestore 0 setgray 0.333333 setgray 0 0 0.887949 setup 0.566118 setgray 1 setalpha 362 115 47 292 rectfill 0 setgray 1 setalpha 362 115 47 292 rectstroke grestore 0 0 2.734103 setup 0 setgray 1 setalpha 29 -16 410 158 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 28 17 410 299 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 27 -6 410 335 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 30 -14 331 314 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 30 8 332 332 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 27 -16 409 248 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 34 -1 328 396 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 23 17 411 204 line grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 40 40 437 304.293091 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 40 40 435 204.862061 oval matrix defaultmatrix setmatrix stroke grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 40 40 436 113.43103 oval matrix defaultmatrix setmatrix stroke grestore 0 0 0.17 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 354] concat 478 execuserobject setfont 0 setgray 437 187 moveto (. . .) show grestore grestore 0 0 2.734103 setup 0 setgray 1 setalpha 33 -15 328 379 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 26 0 410 393 line grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 40 40 434 366.293091 oval matrix defaultmatrix setmatrix stroke grestore 0 0 0.17 setup gsave 478 execuserobject setfont 0 setgray [1 0 0 -1 0 834] concat 516 execuserobject setfont 0 setgray 335 420 moveto (X) show 71 execuserobject setfont 0 -6 rmoveto (\(j\)) show 0 6 rmoveto grestore grestore 0 0 2.528975 setup 0 setgray 1 setalpha 28 16 411 360 line grestore 0 0 2.528975 setup 0 setgray 1 setalpha 26 0 411 133 line grestore 0 0 0.17 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 610] concat 478 execuserobject setfont 0 setgray 436 315 moveto (. . .) show grestore grestore 0 0 0 setup gsave 478 execuserobject setfont 0 setgray [1 0 0 -1 0 510] concat gsave 420 241 86 28 rectclip 516 execuserobject setfont 0 setgray 420 262 moveto (W) show 71 execuserobject setfont 0 6 rmoveto (i) show 0 -6 rmoveto 0 -6 rmoveto (\(k-1\)) show 0 6 rmoveto grestore grestore grestore 0 0 2.734103 setup 0 setgray 1 setalpha 34 -27 329 216 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 33 20 330 233 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 29 -1 334 131 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 31 6 332 144 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 98 -109 475 384 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 85 -56 478 321 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 85 26 477 225 line grestore 0 0 2.734103 setup 0 setgray 1 setalpha 95 108 477 132 line grestore 0 setgray 0.333333 setgray 0 0 0.17 setup 0 setgray 1 setalpha 40 40 562 237.293091 oval matrix defaultmatrix setmatrix stroke grestore 0 0 0.17 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 836] concat 516 execuserobject setfont 0 setgray 495 422 moveto (X) show 71 execuserobject setfont 0 -6 rmoveto (\(k-1\)) show 0 6 rmoveto grestore grestore 0 0 0 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 155] concat 510 execuserobject setfont 0 setgray 282 80 moveto (m) show 0 6 rmoveto (j) show 0 -6 rmoveto 71 execuserobject setfont ( TLUs) show grestore grestore 0 0 0 setup gsave 71 execuserobject setfont 0 setgray [1 0 0 -1 0 152] concat 510 execuserobject setfont 0 setgray 428 75 moveto (m) show 71 execuserobject setfont 0 6 rmoveto (\() show 0 -6 rmoveto 510 execuserobject setfont 0 6 rmoveto (k-1) show 0...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Brookdale - CS - 6505
%!PS-Adobe-2.0 %Creator: dvips 5.51 Copyright 1986, 1993 Radical Eye Software %Title: /Users/nilsson/MLBook/mlbook.dvi %CreationDate: Thu Sep 26 09:09:52 1996 %Pages: 12 %PageOrder: Ascend %BoundingBox: 0 0 612 792 %EndComments %DVIPSCommandLine: dvi
Brookdale - CS - 6505
%!PS-Adobe-2.0 %Creator: dvips 5.51 Copyright 1986, 1993 Radical Eye Software %Title: /Users/nilsson/MLBook/mlbook.dvi %CreationDate: Thu Sep 26 09:11:07 1996 %Pages: 16 %PageOrder: Ascend %BoundingBox: 0 0 612 792 %EndComments %DVIPSCommandLine: dvi
Brookdale - CS - 6505
%!PS-Adobe-2.0 %Creator: dvips 5.51 Copyright 1986, 1993 Radical Eye Software %Title: /Users/nilsson/MLBook/mlbook.dvi %CreationDate: Thu Sep 26 09:13:26 1996 %Pages: 14 %PageOrder: Ascend %BoundingBox: 0 0 612 792 %EndComments %DVIPSCommandLine: dvi
Brookdale - CS - 6505
%!PS-Adobe-2.0 %Creator: dvips 5.51 Copyright 1986, 1993 Radical Eye Software %Title: /Users/nilsson/MLBook/mlbook.dvi %CreationDate: Thu Sep 26 08:57:37 1996 %Pages: 1 %PageOrder: Ascend %BoundingBox: 0 0 612 792 %EndComments %DVIPSCommandLine: dvip
Brookdale - CS - 6505
%!PS-Adobe-2.0 %Creator: dvips 5.51 Copyright 1986, 1993 Radical Eye Software %Title: /Users/nilsson/MLBook/mlbook.dvi %CreationDate: Thu Sep 26 08:58:09 1996 %Pages: 7 %PageOrder: Ascend %BoundingBox: 0 0 612 792 %EndComments %DVIPSCommandLine: dvip
Puget Sound - CS - 161
Computer Science 161 CSecond Hour ExamName _Friday, Oct. 20100 Pts.I.(5 pts. each) Carefully write down all that would be printed as a result of the following pieces of code: a.for i := 3 downto 1 do for j :=
Brookdale - CS - 6505
%!PS-Adobe-2.0 %Creator: dvipsk 5.521a Copyright 1986, 1993 Radical Eye Software %Title: cheeseman.draft4.dvi %Pages: 23 %PageOrder: Ascend %BoundingBox: 0 0 612 792 %EndComments %DVIPSCommandLine: dvips -o cheeseman.draft4.ps cheeseman.draft4.dvi %D
Duke - CPS - 182
Academic Freedom v. Computer-Security&quot;Somuch has been done, exclaimed the soul of Frankenstein-more, far more,will I achieve; treading in the steps already marked, I will pioneer a new way, explore unknown powers, and unfold to the world the dee
Laurentian - MGT - 3210
Consumer AttitudesAttitudesWhat is an attitude? Expressions of inner feelings that reflect whether a person is favorably or unfavorably predisposed to some object in marketing, &quot;object&quot; can be a brand, a brand name, a service, a service provider
Idaho - ME - 430
Project Management and Laboratory NotebooksLast Updated January 10 2008 Weekly project meetings between project groups and course instructor will be held. Project management will be assisted by maintain a weekly status report and a laboratory notebo
Duke - ENV - 132
&lt;!DOCTYPE html PUBLIC &quot;-/W3C/DTD XHTML 1.0 Strict/EN&quot; &quot;http:/www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;&lt;html xmlns=&quot;http:/www.w3.org/1999/xhtml&quot; lang=&quot;en&quot; xml:lang=&quot;en&quot;&gt;&lt;head&gt; &lt;title&gt;#132: tool_output.txt - Marine Geospatial Ecology Tool
UNC - HR - 133253
Special Invitation from the N.C. Museum of History Free Admission for All State Employees to the Exciting Exhibit Mysteries of the Lost Colony and A New World: England's First View of America from the British Museum Monday, January 14, 2008 9 am-7 pm
UNC - HR - 21008
H.E.E.L.S. for health would like to invite all faculty and staff to the12th annualJingle Bell Jog n l l oThursday, December 5, 20023-MILE FUN RUN MILE WALK1.5Location: Time: Brick courtyard between Fetzer and Woollen Gyms Registr
UNC - READ - 5010453
NORTH CAROLINA DIVISION OF PUBLIC HEALTH PUBLUC HEALTH REGIONAL SURVEILLANCE TEAM (PHRST) REGION 7REGISTRATION FORMSPECIAL NEEDS POPULATION WORKSHOPAPRIL 29, 2009 10:00am 4:00pm Cabarrus Arena and Events Center 4751 highway 49 north Concord, NC
University of Texas - FM - 9001
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86d Copyright 1999 Radical Eye Software %Title: nim-piton.dvi %Pages: 158 %PageOrder: Ascend %BoundingBox: 0 0 612 792 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips nim-piton %DVIPSParam
UNC - READ - 3666861
Job Title: Director of EducationLocation: Missoula, Montana Start Date: January 2007The mission of the Biomimicry Institute is to naturalize biomimicry in the culture by promoting the transfer of ideas, designs, and strategies from biology to susta
Duke - STA - 242
failure temp pressure1 53 2001 57 2001 58 2001 63 2000 66 500 67 500 67 2000 67 2000 68 500 69 500 70 1001 70 501 70 2000 70 2000 72 500 73 1000 75 2001 75 2000 76 2000 76 2000 78 2000 79 2000 81 200
UNC - COMP - 114
114-25.1 COMP 114 Spring 2000 Homework 3: Recursion (B: Chapter 4, S&amp;W Chapter 6) Assigned: Due: February 29, 2000 (leap day!) March 28, 2000 Note! First exam March 7. Closed books, notes, etc. Coverage: everything up to but not including recursion.
UNC - COMP - 524
The answer is 42.
UNC - READ - 3616360
Function #6: Quality Management (10-27-06) Council CommentsPage 1 of 7QUALITY MANAGEMENT LME FUNCTIONS Council Comments appear in colored or highlighted text 10/27/06 Data Analysis / ReportsConsumer Outcomes: (NC TOPPS / DD COI). DMHDDS
UNC - ECON - 101
Chapter 10Market Power and Monopoly1) SA10 \ \ Price Discrimination and Efficiency\ 1 \ Explain why price discrimination reduces the economic inefficiency associated with the exercise of monopoly power. Draw simple graphs to show how this occurs.
Idaho - CS - 210
1. (25 pts) After each question below answer with the BEST CHOICE of letter or digit from the list of words below. IMPORTANT: NOT ALL LETTERS WILL BE USED. EACH LETTER CAN BE USED ONLY ONCE! Note: this question runs over with a few more on the
UMass Lowell - FACULTY - 141
3.2.34 - When given a formula for a function, it is not sufficient to graph a portion of the function and then claim it is one-to-one on the basis of it passing the horizontal line test. When you are given a graph of a function (as in 3.2.6 and 3
UMass Lowell - FACULTY - 141
4.2.6 - A lot of students didn't complete the entire problem. The problem says to show f(0) = f(2), but then *also* to show that there exists no real number c in (0,2) such that f'(c) = 0. The students who didn't show this fact lost points. If
UMass Lowell - FACULTY - 141
Extra Problem C: It is tempting to say that a non-differentiable functioncannot have an antiderivative defined at its discontinuities. After all,if a function doesn't have a derivative at a certain value of x, how canthe function itself BE a deri
UMass Lowell - FACULTY - 141
For Monday: Read section 1.6. For Wednesday: Read Appendix B, pages 1014. Section 1.5 Main point #3: The Intermediate Value Theorem. Suppose that f is continuous on the closed interval [a,b]. (We define this to mean that f(a) = limxa+ f(x), and f(b)
UMass Lowell - FACULTY - 141
[Go around with names] [Announce new reading assignment for Wednesday: 1.5] [Hand out extra time-sheets] Homework assignments are due at the START of class each Friday Stewart's paraphrase of the definition of limits: We say limxa f(x) = L if the val
UNC - READ - 4526854
Dear Friends, We urgently need your voice NOW! Someone is trying to steal our land, and we need you to write in our support! We normally don't write this kind of emergency letter, but this time it's critical that you know now, pass the word, and resp
UMass Lowell - FACULTY - 475
[Write on board:] Math 475: Introduction to Combinatorics Web-page: www.math.wisc.edu/~propp/475/ Teacher: Jim Propp, 813 Van Vleck (propp@math.wisc.edu) Office hours: TBA I'm Jim Propp. Combinatorics is my favorite branch of mathematics, and I'll be
UNC - READ - 4556426
David Carlson Position Paper for V.P. of Careers Hello fellow Net Impact Members! For those of you who don't know me, I'm a dual-degree student pursuing a Master of Environmental Management with the Nicholas School of the Environment at Duke. Like ma
UNC - READ - 1592716
Center for Sustainable EnterpriseKenan-Flagler Business School October 2003 UpdateNews UNC Kenan-Flagler Leader in Sustainability Education: Last week the Aspen Institute and the World Resources Institute, through its Beyond Grey Pinstripes survey
UNC - COMP - 380
How Computers WorkPart 3 18 February 2008Data TypesComputer doesn't know what the bits represents or what format is being used Computer assumes that the instructions know the format of the data What are the types of data?Numbers, text, p
UMass Lowell - FACULTY - 475
For Tuesday: read section 5.2 HOMEWORK Return assignments # through #3 Collect assignment #4 Arrange coordinates so that (0,0) is at upper left, with the first coordinate (n) indexing rows and the second coordinate (k) indexing columns: (0,0) (1,0) (
UMass Lowell - FACULTY - 141
Periodic functions: We say f has period p (with p&gt;0) if f(x+p)=f(x) for all x. E.g., sin x and cos x have period 2 (and period 4 , and period 6 , etc.). Is every function with period 2 a trig function? .?. No; for instance, let f(x) be the fractional
UMass Lowell - FACULTY - 141
Section 3.4: Exponential growth and decay, concluded Recall: If we have a population in which birth occurs, but not death, and there is no interaction between members of the population, then the size of the population at time t (written as P(t) satis
UNC - READ - 4720595
IREDELL COUNTY JOB DESCRIPTION Job Title: Real Property Manager Department: Tax Administration &amp; Land Records Revised: 2/07 GENERAL STATEMENT OF JOB Under general supervision, performs administrative, supervisory and complex technical work managing t
UNC - READ - 3053140
People who have paid dues Matt Conrec Jeff Coulter Eric Smith (+uniform) Chris Tommerdahl Levon Lee Alec Pearson Sarah Hancox James Ellinger Melissa Henderson Matthew Moye (+uniform) Jessica Anders Heather Wachtler Elisa Mayes Olin Johnson Meredith P
UMass Lowell - FACULTY - 141
A remark about rigor homework and exams: Non-rigorous proofs can get you partial credit, but you'll get MORE partial credit if you show that you recognize that your proof is non-rigorous. (E.g., if you're asked to prove that the derivative of every f
UMass Lowell - FACULTY - 491
Any questions about the homework or the material? The take-home exam (now available on the web) will be due at the start of class next Tuesday (Oct. 28). If you're finding any of the material difficult, now is the time to see me and get help. If you
UMass Lowell - FACULTY - 491
I've looked over the homeworks, and it seems like a large part of the problem is that you sometimes don't know what I'm asking you for. Please don't be shy about sending me email if you feel like you may be missing the point of a question (e.g., if i
UMass Lowell - FACULTY - 491
Office hours: Tuesdays from 2:15 to 2:45 p.m. (in B107 until further notice) Thursdays from 12:15 to 12:45 p.m. (in 813 Van Vleck) Theorem: If f(0) = 0, then 1/(1-f) = 1 + f + f^2 + f^3 + . Proof: Let g = 1 + f + f^2 + f^3 + . (check that this is wel
UMass Lowell - FACULTY - 475
For Thursday: read 8.3 Section 8.2: Stirling numbers Fix a non-negative integer p. One basis for the space of polynomials of degree p is the &quot;monomial basis&quot; {n^0, n^1, n^2, ., n^p}; another basis is {(n choose 0), (n choose 1), ., (n choose p)}; an
UMass Lowell - FACULTY - 491
Any questions about the homework or the material? TODAY: The strip-tiling theorem Weighted enumeration Domino tilings of the 2-by-n rectangle (again) Use cell-labels L, R, T, B Give example of a tiling of a 2-by-5 with labeled cells Frontiers: LL, LR
UMass Lowell - FACULTY - 491
TODAY: Non-commuting variables The sign of a permutation Permanents and determinants Lindstrom's lemma Non-commuting variables Stephen showed you a q-binomial theorem; here's one I like better. Suppose x,y are non-commuting variables satisfying yx=qx
UMass Lowell - FACULTY - 475
OFFICE HOURS: Tuesdays and Thursdays, 10:50-11:50 in Van Vleck 813 (10:55-11:55 isn't working for me), plus the caf hours (as announced before; see the web page) Also by appointment. Come to my office and cafe hours. (I'll say this again.) READING Fo
UMass Lowell - FACULTY - 142
[Write on board:] James Propp Office: OH 428C Phone: 978-934-2438 Email: jpropp@cs.uml.ignorethispart.edu Course web-page: faculty.uml.edu/jpropp/142 Welcome to Math 142! Honors calculus is the first math course I took in college and the first course
UMass Lowell - FACULTY - 142
The &quot;Get at automatic A in my course if you can solve this&quot; problem: Find two differentiable functions f, g such that the functions f g and fg do not have antiderivatives. Solution by Prof. Kheifets: Take {x2 sin 1/x4 { {0 {x2 cos 1/x4 { {0 if x 0
UMass Lowell - FACULTY - 141
Section 4.1, concluded How do we find global maxima and minima for a function on a closed interval? We look at endpoints and local maxima and minima. How do we find local maxima and minima? We look at all the critical points. Definition: A critical n
UMass Lowell - FACULTY - 475
[Return assignments #1 through #4 Collect assignment #5] Exam format: Closed book, closed notebook, no calculators. How many sequences of length ten, consisting of 0's and 1's, add up to six? . 10 choose 6. Interpret via sets and multisets: . 6-combi
UMass Lowell - FACULTY - 475
Office/cafe hours: Tuesdays _and_ Thursdays, 10:50-11:50 in Van Vleck 813 Tuesdays, 2:45-4:00 at the State Street Steep and Brew Wednesdays, 1:30-3:30 at the State Street Steep and Brew READING For next Tuesday: read second section of Chapter 3 For n
University of Illinois, Urbana Champaign - SHELLEY - 301
FARS Assignment (also Jennings, Chapter 1)CF1-6. List five different categories of potential users of financial statements. (Group 3) CF1-6. Investors, creditors, employees, suppliers, customers, regulators. CF1-7. Who did the FASB decide to focus
University of Illinois, Urbana Champaign - SHELLEY - 301
InClass Concept Mapping Assignment Definition: &quot;Concept maps are tools for organizing and representing knowledge. The include concepts, usually enclosed in circles or boxes of some type, and relationships between concepts or propositions, indicat
Idaho - WEBPAGES - 507
Completely Randomized Factorial Design With Two FactorsAssumptions: In addition to the assumptions that we already talked about this design assumes: 1) Two or more factors, each factor having two or more levels. 1) All levels of each factor are inve
Idaho - WEBPAGES - 507
Completely Randomized Factorial Design With Two Factors ExampleA police department in a big city want to assess their human relations course for new officers. The independent variables are the type of neighborhood the officers get to be assigned to
Idaho - WEBPAGES - 507
Analysis of Variance Designs I. Systematic Designs II. Randomized designs with one treatment a. Experimental units not subdivided on any bases other than randomization prior to assignment to treatment levels; no restriction on random assignment other
Idaho - WEBPAGES - 507
HW2STAT50707 Exercise 5.2: Answer all parts in addition to the following part d: d) Use REGWR procedure to control for the strong familywise error rate; SNK to control for FDR; protected LSD to control for the familywise error rate; and LSD to contr
Idaho - WEBPAGES - 507
Exercise 10.2 Problem 10.3 Exercise 11.2 Problem 11.2 Follow the steps: 1) Write down the linear model. 2) Identify the hypotheses you want to test. 3) Evaluate the error term and see if you need to perform any transformations 4) If you need any tr
Idaho - WEBPAGES - 301
# Normal graphlambda &lt;- 5x &lt;- seq(0,3, by = 0.1)f.x &lt;- lambda*exp(-x*lambda)plot(x,f.x,type=&quot;l&quot;,xlab = &quot;x&quot;, ylab = &quot;f(x)&quot;)abline(v=1/lambda)
Idaho - WEBPAGES - 301
games &lt;- 1000000win &lt;- 0for(i in 1:games){ if(runif(1)&gt;(5/6){ win &lt;- win + 6 - 1 }else{ win &lt;- win - 1 }}win/games
Idaho - WEBPAGES - 301
x &lt;- 1for(i in 0:69){ x &lt;- x * (365-i)/365}
Idaho - WEBPAGES - 451
# datax &lt;- seq(0.01, 20, by=0.01)# gamma pdf GAM(x;th,k)th &lt;- 2k &lt;- 2y &lt;- (1/(th^k)*gamma(k)*x^(k-1)*exp(-x/th)plot(x,y, type=&quot;l&quot;)# exponential pdf EXP(x; th)th &lt;- 2y &lt;- (1/th)*exp(-x/th)plot(x,y, type=&quot;l&quot;)# Weibull pdf WEI(x; th, bt