feat: some stuff

master
grisel-davy 2 years ago
parent eda301c2f6
commit a806284585

Binary file not shown.

@ -0,0 +1,498 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="462.06671mm"
height="201.7607mm"
viewBox="0 0 462.06671 201.7607"
version="1.1"
id="svg5"
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
sodipodi:docname="backtrack.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.5946522"
inkscape:cx="781.12887"
inkscape:cy="360.71505"
inkscape:window-width="1920"
inkscape:window-height="1029"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(141.51038,-45.584827)">
<rect
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="rect61"
width="462.06671"
height="201.7607"
x="-141.51038"
y="45.584827"
rx="2.832391"
ry="2.832391" />
<g
id="g3475">
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3439"
cx="-27.020344"
cy="95.445557"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3441"
cx="-27.020344"
cy="133.6474"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3443"
cx="-27.020344"
cy="171.84923"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3445"
cx="-27.020344"
cy="210.05107"
r="9.4615307" />
</g>
<g
id="g3481">
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3447"
cx="51.391663"
cy="95.445557"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3449"
cx="51.391663"
cy="133.6474"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3451"
cx="51.391663"
cy="171.84923"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3453"
cx="51.391663"
cy="210.05107"
r="9.4615307" />
</g>
<g
id="g3487">
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3455"
cx="130.9427"
cy="95.445557"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3457"
cx="130.9427"
cy="133.6474"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3459"
cx="130.9427"
cy="171.84923"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3461"
cx="130.9427"
cy="210.05107"
r="9.4615307" />
</g>
<g
id="g3493">
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="path2697"
cx="205.88721"
cy="95.445557"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3433"
cx="205.88721"
cy="133.6474"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3435"
cx="205.88721"
cy="171.84923"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3437"
cx="205.88721"
cy="210.05107"
r="9.4615307" />
</g>
<g
id="g3498"
transform="translate(0,19.100922)">
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3463"
cx="-92.804108"
cy="95.445557"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3465"
cx="-92.804108"
cy="133.6474"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3467"
cx="-92.804108"
cy="171.84923"
r="9.4615307" />
</g>
<g
id="g3513"
transform="translate(0,19.100914)">
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3500"
cx="270.60406"
cy="114.54648"
r="9.4615307" />
<circle
style="fill:none;fill-opacity:0.549701;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="circle3502"
cx="270.60406"
cy="152.74832"
r="9.4615307" />
</g>
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="-102.6426"
y="88.79821"
id="text3622"><tspan
sodipodi:role="line"
id="tspan3620"
style="stroke-width:0.264583"
x="-102.6426"
y="88.79821">INPUT</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="-28.994345"
y="65.547638"
id="text3630"><tspan
sodipodi:role="line"
id="tspan3628"
style="stroke-width:0.264583"
x="-28.994345"
y="65.547638">L</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="50.408161"
y="65.547638"
id="text3638"><tspan
sodipodi:role="line"
id="tspan3636"
style="stroke-width:0.264583"
x="50.408161"
y="65.547638">i</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="130.28821"
y="65.547638"
id="text3642"><tspan
sodipodi:role="line"
id="tspan3640"
style="stroke-width:0.264583"
x="130.28821"
y="65.547638">j</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="203.70671"
y="65.547638"
id="text3646"><tspan
sodipodi:role="line"
id="tspan3644"
style="stroke-width:0.264583"
x="203.70671"
y="65.547638">k</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="257.63657"
y="111.49503"
id="text3650"><tspan
sodipodi:role="line"
id="tspan3648"
style="stroke-width:0.264583"
x="257.63657"
y="111.49503">OUTPUT</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -36.481876,95.445556 -46.860703,19.100924 46.860705,19.10092"
id="path3756" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -36.481876,171.84923 -46.860703,-57.30275 46.860705,95.50459"
id="path3758" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 41.930129,95.445556 -17.558816,133.6474 h 59.488948"
id="path3760" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 41.930129,171.84923 -17.558816,133.6474 41.930132,210.05107"
id="path3762" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 121.48117,95.445556 H 60.85319 l 60.62798,38.201844"
id="path3764" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 121.48117,171.84923 60.85319,95.445556 121.48117,210.05107"
id="path3766" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 196.42567,95.445556 140.40423,210.05107 196.42568,133.6474"
id="path3768" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 196.42567,171.84923 -56.02144,38.20184 h 56.02145"
id="path3770" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 261.14252,133.64739 -45.79379,38.20184 45.7938,1e-5"
id="path3772" />
<g
id="g3789"
transform="translate(78.449693,0.50001258)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M -27.020345,85.984024 V 104.90709"
id="path3774" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="-33.703289"
y="97.304054"
id="text3778"><tspan
sodipodi:role="line"
id="tspan3776"
style="stroke-width:0.264583"
x="-33.703289"
y="97.304054">a</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="-23.998402"
y="98.102058"
id="text3782"><tspan
sodipodi:role="line"
id="tspan3780"
style="stroke-width:0.264583"
x="-23.998402"
y="98.102058">f</tspan></text>
</g>
<g
id="g3801"
transform="translate(0.0649655,38.701825)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M -27.020345,85.984024 V 104.90709"
id="path3791" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="-33.703289"
y="97.304054"
id="text3795"><tspan
sodipodi:role="line"
id="tspan3793"
style="stroke-width:0.264583"
x="-33.703289"
y="97.304054">a</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="-23.998402"
y="98.102058"
id="text3799"><tspan
sodipodi:role="line"
id="tspan3797"
style="stroke-width:0.264583"
x="-23.998402"
y="98.102058">f</tspan></text>
</g>
<g
id="g3813"
transform="translate(158.03811,114.60551)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M -27.020345,85.984024 V 104.90709"
id="path3803" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="-33.703289"
y="97.304054"
id="text3807"><tspan
sodipodi:role="line"
id="tspan3805"
style="stroke-width:0.264583"
x="-33.703289"
y="97.304054">a</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="-23.998402"
y="98.102058"
id="text3811"><tspan
sodipodi:role="line"
id="tspan3809"
style="stroke-width:0.264583"
x="-23.998402"
y="98.102058">f</tspan></text>
</g>
<g
id="g3825"
transform="translate(233.01542,75.903688)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M -27.020345,85.984024 V 104.90709"
id="path3815" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="-33.703289"
y="97.304054"
id="text3819"><tspan
sodipodi:role="line"
id="tspan3817"
style="stroke-width:0.264583"
x="-33.703289"
y="97.304054">a</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="-23.998402"
y="98.102058"
id="text3823"><tspan
sodipodi:role="line"
id="tspan3821"
style="stroke-width:0.264583"
x="-23.998402"
y="98.102058">f</tspan></text>
</g>
<g
id="g3943">
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1.5, 1.5;stroke-dashoffset:0;stop-color:#000000"
id="rect3879"
width="14.171955"
height="135.84029"
x="5.114964"
y="85.484024"
rx="2.832391"
ry="2.832391" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="8.3574133"
y="79.970116"
id="text3935"><tspan
sodipodi:role="line"
id="tspan3933"
style="stroke-width:0.264583"
x="8.3574133"
y="79.970116">w<tspan
style="font-size:65%;baseline-shift:sub"
id="tspan3937">li</tspan></tspan></text>
</g>
<g
id="g3963"
transform="translate(81.137559)">
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1.5, 1.5;stroke-dashoffset:0;stop-color:#000000"
id="rect3955"
width="14.171955"
height="135.84029"
x="5.114964"
y="85.484024"
rx="2.832391"
ry="2.832391" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="8.3574133"
y="79.970116"
id="text3961"><tspan
sodipodi:role="line"
id="tspan3959"
style="stroke-width:0.264583"
x="8.3574133"
y="79.970116">w<tspan
style="font-size:65%;baseline-shift:sub"
id="tspan3957">ij</tspan></tspan></text>
</g>
<g
id="g3973"
transform="translate(159.86641)">
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.499999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1.5, 1.5;stroke-dashoffset:0;stop-color:#000000"
id="rect3965"
width="14.171955"
height="135.84029"
x="5.114964"
y="85.484024"
rx="2.832391"
ry="2.832391" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:7px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="8.3574133"
y="79.970116"
id="text3971"><tspan
sodipodi:role="line"
id="tspan3969"
style="stroke-width:0.264583"
x="8.3574133"
y="79.970116">w<tspan
style="font-size:65%;baseline-shift:sub"
id="tspan3975">jk</tspan></tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

@ -0,0 +1,575 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="401.68472mm"
height="325.44968mm"
viewBox="0 0 401.68472 325.44968"
version="1.1"
id="svg5"
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
sodipodi:docname="kohonen.svg"
inkscape:export-filename="kohonen.pdf"
inkscape:export-xdpi="175.618"
inkscape:export-ydpi="175.618"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.5946522"
inkscape:cx="597.82844"
inkscape:cy="744.13245"
inkscape:window-width="1920"
inkscape:window-height="1029"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2">
<marker
style="overflow:visible"
id="TriangleStart"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="TriangleStart"
markerWidth="5.3244081"
markerHeight="6.155385"
viewBox="0 0 5.3244081 6.1553851"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135" />
</marker>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(94.682259,72.679672)">
<rect
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="rect429"
width="400.68472"
height="324.44968"
x="-94.182259"
y="-72.179672"
rx="2.832391"
ry="2.832391" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:14.0553px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.531257"
x="38.579865"
y="121.98697"
id="text1545"><tspan
sodipodi:role="line"
id="tspan1543"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';stroke-width:0.531257"
x="38.579865"
y="121.98697">[x<tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.13596px;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';baseline-shift:sub;stroke-width:0.531257"
id="tspan1599">11</tspan>, ..., x<tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.13596px;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';baseline-shift:sub;stroke-width:0.531257"
id="tspan1597">1n</tspan>]</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:14.0553px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.531257"
x="38.579865"
y="143.6702"
id="text1607"><tspan
sodipodi:role="line"
id="tspan1605"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';stroke-width:0.531257"
x="38.579865"
y="143.6702">[x<tspan
style="font-size:65%;baseline-shift:sub"
id="tspan1903">2</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.13596px;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';baseline-shift:sub;stroke-width:0.531257"
id="tspan1601">1</tspan>, ..., x<tspan
style="font-size:65%;baseline-shift:sub"
id="tspan1901">2</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.13596px;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';baseline-shift:sub;stroke-width:0.531257"
id="tspan1603">n</tspan>]</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:14.0553px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.531257"
x="38.579865"
y="165.35342"
id="text1615"><tspan
sodipodi:role="line"
id="tspan1613"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';stroke-width:0.531257"
x="38.579865"
y="165.35342">[x<tspan
style="font-size:65%;baseline-shift:sub"
id="tspan1897">3</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.13596px;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';baseline-shift:sub;stroke-width:0.531257"
id="tspan1609">1</tspan>, ..., x<tspan
style="font-size:65%;baseline-shift:sub"
id="tspan1899">3</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.13596px;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';baseline-shift:sub;stroke-width:0.531257"
id="tspan1611">n</tspan>]</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:14.0553px;line-height:1.25;font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.531257"
x="38.579865"
y="187.03665"
id="text1623"><tspan
sodipodi:role="line"
id="tspan1621"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';stroke-width:0.531257"
x="38.579865"
y="187.03665">[x<tspan
style="font-size:65%;baseline-shift:sub"
id="tspan1895">4</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.13596px;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';baseline-shift:sub;stroke-width:0.531257"
id="tspan1617">1</tspan>, ..., x<tspan
style="font-size:65%;baseline-shift:sub"
id="tspan1893">4</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.13596px;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';baseline-shift:sub;stroke-width:0.531257"
id="tspan1619">n</tspan>]</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M -20.667076,55.477998 91.342316,109.69145"
id="path1627" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 5.1397309,55.477998 91.342313,109.69145"
id="path1629" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 30.946543,55.477998 91.342311,109.69145"
id="path1631" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 56.753353,55.477998 91.342308,109.69145"
id="path1633" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 82.560173,55.478 8.782132,54.21345"
id="path1635" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 108.36696,55.477998 91.342313,109.69145"
id="path1637" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 134.17379,55.477995 91.342303,109.69145"
id="path1639" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 159.98058,55.477995 91.342313,109.69145"
id="path1641" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 234.54276,-3.8023817 91.3423,109.69145"
id="path1643" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 208.73596,-3.8023817 91.342313,109.69145"
id="path1645" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 182.92914,-3.8023791 91.342313,109.69145"
id="path1647" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 105.50872,-3.8023791 91.342313,109.69145"
id="path1649" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 131.31552,-3.8023791 91.342313,109.69145"
id="path1651" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 157.12234,-3.8023765 91.342297,109.69145"
id="path1653" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 53.895091,-3.8023791 91.342295,109.69145"
id="path1655" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 75.758691,15.957746 91.342313,109.69145"
id="path1657" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 24.145072,15.957744 67.19722,93.733706"
id="path1659" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 2.2814715,35.717872 91.342289,109.69145"
id="path1661" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 49.951879,15.957746 91.342287,109.69145"
id="path1663" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 53.895094,35.717872 91.342313,109.69145"
id="path1665" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 105.50872,35.717875 91.342313,109.69145"
id="path1667" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 79.701898,-3.8023791 91.342284,109.69145"
id="path1669" />
<rect
style="fill:#ffffff;stroke:#000000;stroke-width:0.768427;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="rect1325"
width="223.60291"
height="123.98818"
x="20.333961"
y="-33.158875"
rx="1.7615247"
ry="2.6891935"
transform="matrix(1,0,-0.7555957,0.65503827,0,0)" />
<ellipse
style="fill:#d5e5ff;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="path1379"
cx="11.581996"
cy="57.714962"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#d5e5ff;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1383"
cx="35.865639"
cy="54.406898"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffe680;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1385"
cx="60.149284"
cy="51.098835"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffe680;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1387"
cx="84.43293"
cy="47.790771"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#d5e5ff;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1389"
cx="108.71658"
cy="44.482708"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1391"
cx="133.00021"
cy="41.174644"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1393"
cx="157.28386"
cy="37.866577"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1381"
cx="181.5675"
cy="34.558514"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffe680;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1423"
cx="22.124092"
cy="33.29163"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ff6600;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1425"
cx="46.407734"
cy="29.983564"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ff6600;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1427"
cx="70.691383"
cy="26.675501"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffe680;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1429"
cx="94.975029"
cy="23.367437"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#d5e5ff;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1431"
cx="119.25868"
cy="20.059374"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1433"
cx="143.54231"
cy="16.75131"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1435"
cx="167.82596"
cy="13.443243"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1437"
cx="192.1096"
cy="10.13518"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ff6600;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1441"
cx="31.645273"
cy="9.007369"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ff2a2a;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1443"
cx="55.928917"
cy="5.699306"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ff6600;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1445"
cx="80.212563"
cy="2.3912425"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffe680;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1447"
cx="104.49621"
cy="-0.916821"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#d5e5ff;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1449"
cx="128.77986"
cy="-4.2248845"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1451"
cx="153.06349"
cy="-7.532948"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1453"
cx="177.34714"
cy="-10.841015"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1455"
cx="201.63078"
cy="-14.149078"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ff6600;fill-opacity:1;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1405"
cx="48.587406"
cy="-16.287815"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffe680;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1407"
cx="72.871048"
cy="-19.595879"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#d5e5ff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1409"
cx="97.154694"
cy="-22.903942"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1411"
cx="121.43834"
cy="-26.212006"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1413"
cx="145.722"
cy="-29.520069"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1415"
cx="170.00563"
cy="-32.828133"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1417"
cx="194.28928"
cy="-36.1362"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:1.04626;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
id="ellipse1419"
cx="218.57292"
cy="-39.444263"
rx="4.8586349"
ry="5.2455869"
transform="matrix(0.99311993,0.11710169,-0.51094512,0.85961333,0,0)" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleStart)"
d="M 52.632087,7.2304086 V -37.497489"
id="path1671"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:11.0052px;line-height:1.25;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.415971"
x="33.037315"
y="-42.772755"
id="text4738"><tspan
sodipodi:role="line"
id="tspan4736"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';stroke-width:0.415971"
x="33.037315"
y="-42.772755">Winner</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 30.960615,113.23051 -0.204883,76.6172"
id="path4742" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:11.2782px;line-height:1.25;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.42629"
x="-33.412052"
y="144.40669"
id="text4746"><tspan
sodipodi:role="line"
id="tspan4744"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';stroke-width:0.42629"
x="-33.412052"
y="144.40669">Training </tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';stroke-width:0.42629"
x="-33.412052"
y="158.50444"
id="tspan4748">Examples</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:10.09px;line-height:1.25;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.381376"
x="142.17226"
y="84.718758"
id="text4752"><tspan
sodipodi:role="line"
id="tspan4750"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';stroke-width:0.381376"
x="142.17226"
y="84.718758">Weights</tspan></text>
<path
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m -5.6831724,13.115286 c 20.4968074,0 41.9198954,-28.248826 58.3152594,-28.248826 20.820955,0 28.844051,28.817781 56.590523,28.817781"
id="path5418"
sodipodi:nodetypes="csc" />
<path
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-dasharray:none"
d="m 85.062312,-12.820734 c -8.782141,9.5084588 -23.17977,-7.161133 -32.430227,-2.312807 -17.980387,9.4238349 -7.110316,32.224708 -31.908744,56.587405"
id="path5422"
sodipodi:nodetypes="csc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 68.88211,-12.28673 c 26.831637,-19.400474 46.1693,-26.331874 61.53765,-29.026765"
id="path5838"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.83573px;line-height:1.25;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';letter-spacing:0px;word-spacing:0px;stroke-width:0.333969"
x="133.95894"
y="-40.797718"
id="text5842"><tspan
sodipodi:role="line"
id="tspan5840"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:'FreeMono Bold';stroke-width:0.333969"
x="133.95894"
y="-40.797718">Reward diffusion Gaussian</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 28 KiB

@ -45,7 +45,7 @@
\tableofcontents
\newpage
Final Examdate: July 29, 9am
\section{Introduction}
This first section is dedicated to defining the core concepts that will be developed in the course. Most importantly, the definitions of what is an intelligent system/machine.
@ -214,7 +214,7 @@ We can now conenct the two neurones and this minimal network will produce an out
\centering
\includegraphics[width=0.8\textwidth]{images/2neurones.pdf}
\label{fig:2neurones}
\caption{Minimal multi-layers perceptron with two neurones..}
\caption{Minimal multi-layers perceptron with two neurones.}
\end{figure}
We want to maximise the performance value $P$ using the inputs $x_i$. This maximisation problem requires to determine the derivative of $P$ with respect to each parameter and use it to update the parameter (gradient descent method). In order to obtain the derivative of $P$ with respect to both $\omega_i$, we leverage the chain rule to get from the end of the network to the begining using the derivative at each step:
@ -236,4 +236,120 @@ Each derivative is fairly easy to get. We can express our deltas as:
\end{align*}
These derivatives can be used now to update the valeus of $\omega_1$ and $\omega_2$ according to the learning rate $\eta$. This chaining of derivative from the output all the way to the input of the network is the idea behind backtracking.
\subsection{Backtracking}
As we saw with the simple MLP example before, it is possible to update the parameters when knowing the output. In a very simple case, we only need to know the gradient of the next neurone to update the gradient of the previous neurone. We would like now to generalize and consider a general MLP consisting of multiple neurones per layer. By applying the same method as before, it is still possible to update all the parameters in a more general case.\\
\textbf{Notation:} We consider an MLP of multiple hidden layers. The first hidden layer connected to the input is the layer $l$. The last hidden layer connected to the output is the layer $k$. Between $l$ and $k$, any number of layer can be imagined. For this example, we will consider 2 non-specific layers $i$ and $j$. The network is the ncomposed of 4 hidden layers containing each any number of neurones represented by $N_{layer}$. Each neurone is composed of two parts: $a_i$ is the input part that compute $w^Tz_i$ with $z_i$ the input of the layer $i$, and an activation part $f_i$ that represent the activation function. We consider here that all activation functions are sigmoids represented by $\sigma$.
\begin{figure}[h]
\centering
\includegraphics[width=\textwidth]{images/backtrack.pdf}
\label{fig:backtrack}
\caption{General view of an MLP with multiple hidden layers.}
\end{figure}
We consider an error function of the form $E = \dfrac{1}{2}(O-t)^2$. We wat to minimize this error function. At first all parameters are considered initialised to a random value. Because of that, it is possible to present a training sample to the network to obtain the prediction. This is called the forward pass. After the forward pass that parameters remain unchanged but all the intermediate values inside and at the output of each neurone are populated. We also get an output vector $O$. We now want to minimize the error by adjusting the parameter. We have to find for each parameter $w$ the direction of change that will minimize the error with regard to this parameter i.e. the gradient of $E$ with respect to $w$. We consider a generale case and suppsoe that we want to obtain the gradient for the parameters $w_{Li}$. It is not possible to directly derive $E$ with respect to $w_{Li}$ as there is no direct relationship between them. What we can do is derive $E$ with respect to the output value of the last layer $a_k$. Lets use the chain rule to express that:
\begin{equation}
\dfrac{\partial E}{\partial w_{Li}} = \dfrac{\partial E}{\partial a_k} \times \dfrac{\partial a_k}{\partial w_{Li}}
\end{equation}
When expressing the derivative of $E$ with respect to $a_k$, we run into the issue that $a_k$ is used as input for all neurones of the output layer. During the forward pass each neurone takes the value of $a_k$ and use it to compute its own output value. But during the computation of the gradients, we need to take into account the effect of $a_k$ through all the output neurones. The simplest way to do that is to add all the contributions:
\begin{equation}
\dfrac{\partial E}{\partial a_k} = \sum_{k}\left[(t-f_k)(1-f_k)f_k\right]
\end{equation}
Using the same principle, we can express all the link in the chain rule to connect the parameter we search and the error function:
\begin{equation}
\dfrac{\partial E}{\partial w_{Li}} = \sum_j\left[ \sigma'(f_k)\sum_{k}\left[(t-f_k)(1-f_k)f_k\right]w_{jk}\right]w_{ij}\sigma'(a_i)f_l
\end{equation}
This looks terrifying but it is composed of simple elements:
\begin{itemize}
\item The change of the output with respect of the input of a neurone (passage through the activation function is the derivative of the sigmoid function (not expressed because it is ugly): $\dfrac{\partial f_i}{\partial a_i} = \sigma'(ai)$.
\item The change of the input of a neurone with respect to the output of the previous neurone is the weights: $\dfrac{\partial a_j}{\partial f_i} = \dfrac{\partial}{\partial f_i} f_i\times w_{ij} = w_{ij}$
\item The change of the error function with respect to the input of the last layer: $\dfrac{\partial E}{\partial a_k} =(t-f_k)(1-f_k)f-k$
\end{itemize}
With these elements, it is possible to express the impact of each weights on the error function and thus getting the gradient that direct the change to appply to each weight to minimize the error. The weight updat function is expressed as:
\begin{equation}
\Delta w(t+1) = -\eta \dfrac{\partial E(t)}{\partial w} + \gamma \Delta w(t-1)
\end{equation}
The first term express the momentum of the learning with the $\eta$ parameter that control the step of the parameter at each iteration. The second term is the direction of the learning. To avoid jumping everywhere, we take into account the previous direction with a weight of $\gamma$. This help smooth the direction and get to the minimum faster.
\section{Radial Basis Function (RBF) Network}
The idea is to transform our data to make them linearily separable. Once they are linearily separable, a perceptron (or any other classifier like an SVM) can find the best separation. In order to make the data linearily separable, We would like to bring together the data of the same class. The intention is that whetever the initial distribution, if you pull data of different classes to different point hard enough, at some point they will become linearily separable. To achieve that, we design a specific type of network where the first layer (after the input) has fixed weights (all ones) and special function. These functions are responsible for the transformation of the input. The rest of the network is an MLP that will take care of finding the best separation. The problem is now dual:
\begin{itemize}
\item Find the parameters of the transformation.
\item Find the values of the weights for the separation of the classes.
\end{itemize}
There can be different transformation function. The most common is the Gaussian Kernel Function given by $g_i(x) = e^{\dfrac{-|x-v_i|^2}{2\sigma_i^2}}$. The learning of these parameters (one set of parameter per neurone of the transformation layer) and the parameters of the MLP is done in steps:
\begin{enumerate}
\item First an unsupervised clustering method creates the correct number of clusters among the input data. These clusters will be used as centers for pulling the data.
\item ...
\end{enumerate}
\section{Kohonen's Self-Organizing Networks}
This NN do not use the regular configurtion of other NNs. It is an unsupervised method that provide clustering and dimensionality reduction.
Lets begin with an idea; Lets say you have two sheet of paper. Each sheet have some nodes in them (same number on each sheet) and each is fully connected to all the nodes in the other sheet. All the connections to one node is a bundle of synaptic connections. One sheet is pre-synaptic and the other is post-synaptic. Now the pre-synaptic node can either ignite or inhibit. The idea is that the similar pre-synaptic nodess will excite post-synaptic nodes that are close because thay have similar features (in the same region). We can now rearange the pre-synaptic nodes based on the excitment regions of the post-synaptic nodes.
Fast forward ten years. Now Kohonen take on this idea andbuilt on it. First, he supposed that the nodes are preceptrons. Second, the synaptic connections are weighted (like from one layer to the other).He also release the contraint that the two sheets should have the same number of nodes. He also gets rid of the lower sheet and consider the perceptron of the upper sheet to be fully connected to each input data point. For each input, we can compute the output of each perceptron, and select one (and only one) to represent the input, for each input. For each input data, the selected node is rewarded.
We represent this with an MLP with an input layer the same size as the number of feature of the example and many neurones in the second layer.
\begin{itemize}
\item First, Select how many groups our data should be segregated in (i.e. how many representative)
\item Second, initialize the weights randomly.
\item Then, compute the value of each node for the first example. The best scoring node is considered winner. To compute the value many similarity measure can be used but in this case we will use the distance between the weights vector and the input example vector.
\item Reward the winner node. Again there could be multiple ways to do it. We want to get closer to the center of the whole cluster, not tho the specific example that elected this node as the winner. We define the variation of the weights as $\Delta w = \alpha(k)||x_i - w_i||$. The penalty is defined as $\alpha(k) = \alpha(0)(1-\dfrac{k}{T}$ where $k$ is the current epoch and $T$ is the total number of epoch. $\alpha(0)$ is a hyper parameter. The learning rate decreases with every iteration to reach a centroid value.
\item Continue until the total number of epoch is reached.
\end{itemize}
This network is similar to the k-mean clustering algorithm. The main difference is that the weights (centroids) are updated after each training example. The main problem with these method is that we need to know the number of clusters beforehand. This is anoying and we would like to get rid of that constaint.
We now onsider that the hidden layer has a lot of nodes. We imagine that these nodes are initialy equally spaced across a place. Now we can still select a winner for each training example. Where this differes is that now the entire neiborhood of the winning node is rewarded, not only the winner. We design a new reward equation that takes into account the distance to the winning node: $\Delta w_i = \alpha(k) h(w_i) ||x-\hat{w}||$ with $h(w_i)=||\hat{w}-w_i||$, and $\hat{w}$ the winning node. Basically the reward decreases Gaussianly around the winning node, and the variance of the gaussian decreases with the iterations.
Now we dont need to know beforehand the number of clusters because the clusters are not represented by unique nodes anymore but by whole regions in the map. The dmensionality reduction is happening because a point with 4 (or however many) features is represented by a node in a 2D (or ND) space.
In the end the algorithm has 3 main stages: initialization, competition and ???.
\begin{figure}
\centering
\includegraphics[width=0.7\textwidth]{images/kohonen.pdf}
\caption{Kohonen self-organizing network}
\label{kohonen}
\end{figure}
\newpage
\section{Hopfield Network}
In the spirit of mimicing the way our brain work, we may want to mimic the memory component. We will study now the other big type of NN architecture: the recurent NN. Hopfield came with a way to restirct this kind of network to make it usable.
\begin{itemize}
\item Connections are now bidirectional with the same weight. $w_{ij} = w_{ji}$.
\item The neurones cannot excite themself. $w_{ii} = 0$.
\item The neurones are not processing units but states of value 1 or 0.
\item There is no activation function.
\item The state is 1 if $\sum_j w_{i,j}O_iO_j > \theta$. Otherwise the state is $-1$.
\end{itemize}
[insert hopfield network figure]
\begin{definition}{Energy of the network}{energy-network}
If the threshold is 0, the energy of the network is defined as $E = -\dfrac{1}{2}\sum_i\sum_j w_{ij}O_iO_j$.\\
If the threshold is not 0, the energy is defined as $E = -\dfrac{1}{2}\sum_i\sum_j w_{ij}O_iO_j + \sum_iO_i\theta$.
\end{definition}
We now have to proov that the network reaches a minimum energy state that is stable.
\end{document}

Loading…
Cancel
Save