<snapdata remixID="14534410"><project name="ANN - Scribbles" app="Snap! 11.0.2, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAE3ElEQVR4AeybO07kQBRFLRK2QUDGKkhJECJAQgiRkLIEEBI5EhsAEgQiAFbAmljBDM/qEnSLtqvd9Xn2PWhqTPvzqt65R+7P9Gz84wcCFQlsNPxAoCIBBKwIn6mbBgGxoCoBBKyKn8kREAeqEtAVsCp2Jg8EEDCQYFuFAAJWwc6kgQACBhJsqxBAwCrYmTQQQMBAgm0VAghYBXvVSV1NjoCu4tBbDALqZe6qYwR0FYfeYhBQL3NXHSOgqzj0FoOAepm76riogK46ZzEuCCCgixh0F4GAutm76BwBXcSguwgE1M3eRecI6CIG3UUgYJHsmWQZAQRcRob9RQggYBHMTLKMAAIuI8P+IgQQsAhmJllGAAGXkWF/EQIIWASz7iR9nSNgHyGOZyWAgFnxUryPAAL2EeJ4VgIImBUvxfsIIGAfIY5nJYCAWfFSvI/AdAXs65zjLgggoIsYdBeBgLrZu+gcAV3EoLsIBNTN3kXnCOgiBt1FIOD0sh9VRwg4qrimt1gEnF6mo+oIAUcV1/QWi4ADMz06OmoODg5WHh8fHwNnnOZlCDgw15eXl+bt7W3l8fDw0Eo7cNrJXYaAhSMN0trds/DULqdLKqDLDtdY1N3dXWPj+vq6OT4+Tn7n4um4aRBwJqjdkRbH7FC72dzcbJ9u2wcJ/rI7oT0dJyg16hLyAgbpTIjFcXFx0di4urpq7u/vRx2018VLC2jy7ezsJL2zeQ3a67pkBTT59vb2mpubm2rZnJ2dJX9dWa2ZgRNLCmjy2dPt+fn5QGxpLtvf309TaMRV5AQ0+ewNRdrMqDaUgJyABur5+dk2DAcEJAV0wJ0lzAhICWhPv/bab9Y7GwcEpAR0wJslLBBAwAUgPCxLQEZA+8zt5OSkLF2B2dZtUUbAr6+v5vDwcF1eXJ+YgIyAiblRLhEBBEwEckgZ3pWLfB3LvtO3u7s7xBGuyUxA4g74+fnZfq0qM8uVyr+/v690/lRPlhDQY3iPj498Dew7mPEK+L14/oyfAAJWyJA3Hz/QEfCHRZHfkG8es4SA9q8gFvx86+UfeVhD+a67Z5QQ0MM3j4N8fBtnXkgJAa1lCz5IYI9LjdfX1/b/fWxtbfGu9w/oMgJa70FC+2DaHuceJvzT01Mr3u3tbarpJlVHSkBLziS0D6ZNDrs72b6Uw+qGYXPZSFl/arXkBLQATQobdncyWWzf0GHX/x5WN4yhNZWukxQwBBxE+S2Q/X55edm+brPf+0aoEbahNts4AtICBkRBnrDd3t5uX7eFx13bUIPtMAII+Ae309PTP/ayKwcBBMxBlZrRBFYSMLoqJ0IgkgACRoLitDwEEDAPV6pGEkDASFCclocAAubhStVIAggYCYrT8hBAwCiunJSLAALmIkvdKAIIGIWJk3IRQMBcZKkbRQABozBxUi4CCJiLLHWjCCBgFCbdk3J3joC5CVO/kwACduLhYG4CCJibMPU7CSBgJx4O5iaAgLkJU7+TAAJ24uFgbgJ+BczdOfVdEEBAFzHoLgIBdbN30TkCuohBdxEIqJu9i84R0EUMuotAQH/ZS60IAaXi9tcsAvrLRGpFCCgVt79mEdBfJlIrQkCpuP01i4D+MpFa0ZyAUp3TrAsCCOgiBt1FIKBu9i46R0AXMeguAgF1s3fR+X8AAAD//xzVDZYAAAAGSURBVAMAmN56novmlSAAAAAASUVORK5CYII=</thumbnail><scenes select="1"><scene name="ANN - Scribbles"><notes></notes><palette><category name="Neural Networks" color="161,163,0,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="sketch" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>path</l><l>pos</l><l>show</l></list></block><block s="doSetVar"><l>pos</l><block s="getPosition"></block></block><block s="doSetVar"><l>path</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>show</l><block s="reportShown"></block></block><block s="hide"></block><block s="doWaitUntil"><block s="reportMouseDown"></block></block><block s="clear"></block><block s="up"></block><block s="doUntil"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doGotoObject"><block s="reportMousePosition"></block></block><block s="down"></block><block s="doAddToList"><block s="getPosition"></block><block var="path"/></block></script></block><block s="up"></block><block s="doGotoObject"><block var="pos"/></block><block s="doIf"><block var="show"/><script><block s="show"></block></script><list></list></block><block s="doReport"><custom-block s="resample %l to %n points"><block var="path"/><l>64</l></custom-block></block></script></block-definition><block-definition s="resample %&apos;path&apos; to %&apos;points&apos; points" type="reporter" category="looks"><header></header><code></code><translations>de:resample _ auf _ Punkte&#xD;</translations><inputs><input type="%l"></input><input type="%n">64</input></inputs><script><block s="doDeclareVariables"><list><l>samples</l><l>step</l><l>last</l><l>dist</l><l>rest</l></list></block><block s="doSetVar"><l>last</l><block s="reportListItem"><l>1</l><block var="path"/></block></block><block s="doSetVar"><l>samples</l><block s="reportNewList"><list><block var="last"/></list></block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><custom-block s="length of path %l"><block var="path"/></custom-block><block s="reportDifference"><block var="points"/><l>1</l></block></block></block><block s="doForEach"><l>point</l><block var="path"/><script><block s="doSetVar"><l>dist</l><custom-block s="distance from %l to %l"><block var="point"/><block var="last"/></custom-block></block><block s="doChangeVar"><l>rest</l><block var="dist"/></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="rest"/><block var="step"/></list></block><script><block s="doChangeVar"><l>rest</l><block s="reportMonadic"><l><option>neg</option></l><block var="step"/></block></block><block s="doAddToList"><block s="reportDifference"><block var="point"/><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="rest"/><block var="dist"/></block><block s="reportDifference"><block var="point"/><block var="last"/></block></list></block></block><block var="samples"/></block></script></block><block s="doSetVar"><l>last</l><block var="point"/></block></script></block><block s="doAddToList"><block s="reportListItem"><l><option>last</option></l><block var="path"/></block><block var="samples"/></block><block s="doReport"><block s="reportListItem"><block s="reportNumbers"><l>1</l><block var="points"/></block><block var="samples"/></block></block></script></block-definition><block-definition s="length of path %&apos;path&apos;" type="reporter" category="sensing"><header></header><code></code><translations>de:Länge von Pfad _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>len</l><l>last</l></list></block><block s="doSetVar"><l>last</l><block s="reportListItem"><l>1</l><block var="path"/></block></block><block s="doForEach"><l>point</l><block var="path"/><script><block s="doChangeVar"><l>len</l><custom-block s="distance from %l to %l"><block var="point"/><block var="last"/></custom-block></block><block s="doSetVar"><l>last</l><block var="point"/></block></script></block><block s="doReport"><block var="len"/></block></script></block-definition><block-definition s="distance from %&apos;p1&apos; to %&apos;p2&apos;" type="reporter" category="sensing"><header></header><code></code><translations>de:Entfernung von _ nach _&#xD;</translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><block s="reportPower"><block s="reportDifference"><block var="p2"/><block var="p1"/></block><l>2</l></block></block></block></block></script></block-definition><block-definition s="draw sketch %&apos;path&apos; %&apos;options&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input><input type="%mult%b" irreplaceable="true" expand="show points" max="1">0</input></inputs><script><block s="doDeclareVariables"><list><l>show points</l><l>size</l><l>pos</l><l>show</l></list></block><block s="doSetVar"><l>show points</l><block s="reportIfElse"><block s="reportListIsEmpty"><block var="options"/></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportListItem"><l>1</l><block var="options"/></block></block></block><block s="doSetVar"><l>size</l><block s="getPenAttribute"><l><option>size</option></l></block></block><block s="doSetVar"><l>pos</l><block s="getPosition"></block></block><block s="doSetVar"><l>show</l><block s="reportShown"></block></block><block s="clear"></block><block s="up"></block><block s="doWarp"><script><block s="doForEach"><l>point</l><block var="path"/><script><block s="doGotoObject"><block var="point"/></block><block s="down"></block><block s="doIf"><block var="show points"/><script><block s="setSize"><block s="reportVariadicProduct"><list><block var="size"/><l>3</l></list></block></block><block s="forward"><l>0</l></block><block s="setSize"><block var="size"/></block></script><list></list></block></script></block></script></block><block s="up"></block><block s="doGotoObject"><block var="pos"/></block><block s="doIf"><block var="show"/><script><block s="show"></block></script><list></list></block></script></block-definition><block-definition s="scribble" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportAtan2"><l></l><l></l></block></autolambda><list></list></block><block s="reportDifference"><block s="reportListItem"><block s="reportVariadicSum"><list><l></l><l>1</l></list></block><block var="path"/></block><block s="reportListItem"><l></l><block var="path"/></block></block></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="path"/></block><l></l></block></block></block></autolambda><list><l>path</l></list></block><list><custom-block s="sketch"></custom-block></list></block></block></script></block-definition><block-definition s="draw scribble %&apos;directions&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>path</l><l>centered</l><l>scaled</l></list></block><block s="doSetVar"><l>path</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block></list></block></block><block s="up"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doWarp"><script><block s="doForEach"><l>angle</l><block var="directions"/><script><block s="setHeading"><block var="angle"/></block><block s="forward"><l>10</l></block><block s="doAddToList"><block s="getPosition"></block><block var="path"/></block></script></block></script></block><block s="doSetVar"><l>centered</l><block s="reportDifference"><block var="path"/><block s="reportQuotient"><block s="reportVariadicSum"><block var="path"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="path"/></block></block></block></block><block s="doSetVar"><l>scaled</l><block s="reportVariadicProduct"><list><block var="centered"/><block s="reportQuotient"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block s="reportListItem"><l>2</l><block s="reportVariadicMax"><block var="path"/></block></block></block><l>2</l></block></list></block></block><custom-block s="draw sketch %l %mult%b"><block var="scaled"/><list></list></custom-block></script></block-definition><block-definition s="recognize %&apos;shape&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doIf"><l/><script><block s="doReport"><l></l></block></script><list></list></block><block s="doReport"><l>unrecognized</l></block></script></block-definition><block-definition s="animate %&apos;action&apos;" type="command" category="looks"><header></header><code></code><translations>de:animiere _&#xD;</translations><inputs><input type="%cs"></input></inputs><script><block s="doGotoObject"><l><option>center</option></l></block><block s="setHeading"><l>90</l></block><block s="setScale"><l>100</l></block><block s="doSwitchToCostume"><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="show"></block><block s="doRun"><block var="action"/><list></list></block><block s="hide"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="setHeading"><l>90</l></block><block s="setScale"><l>100</l></block><block s="doStamp"></block></script></block-definition><block-definition s="plot bars %&apos;data&apos; %&apos;options&apos;" type="command" category="pen"><comment x="0" y="0" w="120" collapsed="false">draw a list of numbers as  vertical lines distributed evenly across the stage.</comment><header></header><code></code><translations>de:male Balken _ _&#xD;ca:dibuixa amb barres _ _&#xD;</translations><inputs><input type="%l"></input><input type="%group%n%b%b" irreplaceable="true" expand="$_fill&#xD;$_centered&#xD;$_clear" max="3">0.8&#xD;0&#xD;1</input></inputs><script><block s="doDeclareVariables"><list><l>slice</l><l>pos</l><l>pen size</l><l>width</l><l>center</l><l>clear</l></list></block><block s="doSetVar"><l>width</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="options"/></block><l><option>number</option></l></block><block s="reportListItem"><l>1</l><block var="options"/></block><l>0.8</l></block></block><block s="doSetVar"><l>center</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="options"/></block><l><option>Boolean</option></l></block><block s="reportListItem"><l>2</l><block var="options"/></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block><block s="doSetVar"><l>clear</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="options"/></block><l><option>Boolean</option></l></block><block s="reportListItem"><l>3</l><block var="options"/></block><block s="reportBoolean"><l><bool>true</bool></l></block></block></block><block s="doIf"><block var="clear"/><script><block s="clear"></block></script><list></list></block><block s="doSetVar"><l>pos</l><block s="getPosition"></block></block><block s="doSetVar"><l>slice</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block><block s="doSetVar"><l>pen size</l><block s="getPenAttribute"><l><option>size</option></l></block></block><block s="setSize"><block s="reportVariadicProduct"><list><block var="slice"/><block var="width"/></list></block></block><block s="setXPosition"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block s="reportQuotient"><block var="slice"/><l>2</l></block></list></block></block><block s="doWarp"><script><block s="doForEach"><l>item</l><block var="data"/><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="item"/><l>0</l></list></block><script><block s="setYPosition"><block s="reportIfElse"><block var="center"/><block s="reportQuotient"><block var="item"/><l>-2</l></block><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>stage</option></l></block></block></block></block><block s="down"></block><block s="changeYPosition"><block var="item"/></block><block s="up"></block></script><list></list></block><block s="changeXPosition"><block var="slice"/></block></script></block></script></block><block s="doGotoObject"><block var="pos"/></block><block s="setSize"><block var="pen size"/></block></script></block-definition><block-definition s="normalize table %&apos;table&apos;" type="reporter" category="lists"><comment x="0" y="0" w="266" collapsed="false">Report a copy of the given table in which the numerical data of each column is distributed between 0 and 1 using the column&apos;s min and max values (feature scaling).</comment><header></header><code></code><translations>de:normalisiere Tabelle _&#xD;ca:_ normalitzada&#xD;</translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportMap"><custom-block s="normalization for table %l"><block var="table"/></custom-block><block var="table"/></block></block></script></block-definition><block-definition s="normalization for table %&apos;table&apos;" type="reporter" category="lists"><comment x="0" y="0" w="281" collapsed="false">Report a function (ring) that can be called with a single row (record) in the form of the given data set to normalize it using the sample&apos;s min and max values. Use this reporter to create a normalization function from a training set that can be applied to validation or live data.</comment><header></header><code></code><translations>de:Normalisierung für Tabelle _&#xD;ca:normalització per a la taula _&#xD;</translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block s="reportQuotient"><l></l><l></l></block></autolambda><list></list></block><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block s="reportDifference"><l></l><l></l></block></autolambda><list></list></block><l></l><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block s="reportNewList"><list></list></block></autolambda><list></list></block><block s="reportCONS"><block s="reportListAttribute"><l><option>length</option></l><block var="min"/></block><block var="min"/></block></list></block></list></block><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block s="reportNewList"><list></list></block></autolambda><list></list></block><block s="reportCONS"><block s="reportListAttribute"><l><option>length</option></l><block var="min"/></block><block s="reportDifference"><block var="max"/><block var="min"/></block></block></list></block></list></block></autolambda><list><l>min</l><l>max</l></list></block><block s="reportListAttribute"><l><option>columns</option></l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="reportVariadicMin"><block var="feature"/></block><block s="reportVariadicMax"><block var="feature"/></block></list></block></autolambda><list><l>feature</l></list></block><block s="reportListAttribute"><l><option>columns</option></l><block var="table"/></block></block></block></block></block></script></block-definition><block-definition s="initialize neural networks" type="command" category="Neural Networks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="_Layer_"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>_Layer_</l><custom-block s="object %group%t%s"><list><l>inputs</l><l>thing</l><l>weights</l><l>thing</l><l>setup</l><block s="reifyReporter"><script><block s="doSetVar"><l>weights</l><block s="reportRandom"><l>-1.0</l><block s="reportReshape"><l>1</l><list><block var="out"/><block s="reportVariadicSum"><list><block var="in"/><l>1</l></list></block></list></block></block></block><block s="doReport"><block s="reportEnvironment"><l><option>object</option></l></block></block></script><list><l>in</l><l>out</l></list></block><l>solve</l><block s="reifyReporter"><script><block s="doSetVar"><l>inputs</l><block var="sample"/></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>sigmoid</option></l><block s="reportVariadicSum"><block s="reportVariadicProduct"><list><block s="reportCONS"><l>1</l><block var="inputs"/></block><l></l></list></block></block></block></autolambda><list></list></block><block var="weights"/></block></block></script><list><l>sample</l></list></block><l>learn</l><block s="reifyReporter"><script><block s="doSetVar"><l>delta</l><block var="error"/></block><block s="doReport"><block s="reportVariadicSum"><block s="reportVariadicProduct"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="inputs"/><block s="reportDifference"><l>1</l><block var="inputs"/></block><l></l></list></block></autolambda><list></list></block><block var="error"/></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><block var="weights"/></block></list></block></block></block></script><list><l>error</l></list></block><l>reshuffle</l><block s="reifyReporter"><script><block s="doChangeVar"><l>weights</l><block s="reportMonadic"><l><option>neg</option></l><block var="weights"/></block></block><block s="doChangeVar"><l>weights</l><block s="reportRandom"><l>-1.0</l><block s="reportReshape"><l>1</l><block s="reportListAttribute"><l><option>dimensions</option></l><block var="weights"/></block></block></block></block></script><list></list></block><l>delta</l><l>thing</l><l>adjust weights</l><block s="reifyReporter"><script><block s="doChangeVar"><l>weights</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block s="reportCONS"><l>1</l><block var="inputs"/></block><block var="learning rate"/><l></l></list></block></autolambda><list></list></block><block var="delta"/></block></block></script><list></list></block><l>learning rate</l><l>0.1</l></list></custom-block></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="_Neural Network_"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>_Neural Network_</l><custom-block s="object %group%t%s"><list><l>layers</l><l>thing</l><l>get learning rate</l><block s="reifyReporter"><autolambda><block s="reportListItem"><l>learning rate</l><block s="reportListItem"><l>1</l><block var="layers"/></block></block></autolambda><list></list></block><l>setup</l><block s="reifyReporter"><script><block s="doSetVar"><l>layers</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="topology"/></block><l>1</l></block><script><block s="doAddToList"><block s="evaluate"><block s="reportListItem"><l>setup</l><custom-block s="clone %l %group%upvar%s"><block var="_Layer_"/><list></list></custom-block></block><block s="reportListItem"><block s="reportNewList"><list><block var="i"/><block s="reportVariadicSum"><list><block var="i"/><l>1</l></list></block></list></block><block var="topology"/></block></block><block var="layers"/></block></script></block><block s="doReport"><block s="reportEnvironment"><l><option>object</option></l></block></block></script><list><l>topology</l></list></block><l>set learning rate</l><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="alpha"/><l>01</l></list></block><script><block s="doForEach"><l>layer</l><block var="layers"/><script><block s="doReplaceInList"><l>learning rate</l><block var="layer"/><block var="alpha"/></block></script></block></script><list></list></block></script><list><l>alpha</l></list></block><l>predict</l><block s="reifyReporter"><script><block s="doDeclareVariables"><list><l>outputs</l></list></block><block s="doSetVar"><l>outputs</l><block var="sample"/></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="layers"/></block><script><block s="doSetVar"><l>outputs</l><block s="evaluate"><block s="reportListItem"><l>solve</l><block s="reportListItem"><block var="i"/><block var="layers"/></block></block><list><block var="outputs"/></list></block></block></script></block><block s="doReport"><block var="outputs"/></block></script><list><l>sample</l></list></block><l>classify</l><block s="reifyReporter"><autolambda><block s="reportRound"><block s="evaluate"><block var="predict"/><list><block var="sample"/></list></block></block></autolambda><list><l>sample</l></list></block><l>fit</l><block s="reifyReporter"><script><block s="doDeclareVariables"><list><l>error</l><l>delta</l></list></block><block s="doSetVar"><l>error</l><block s="reportDifference"><block s="reportListItem"><l><option>last</option></l><block var="sample"/></block><block s="evaluate"><block var="predict"/><list><block var="sample"/></list></block></block></block><block s="doSetVar"><l>delta</l><block var="error"/></block><block s="doFor"><l>i</l><block s="reportListAttribute"><l><option>length</option></l><block var="layers"/></block><l>1</l><script><block s="doSetVar"><l>delta</l><block s="evaluate"><block s="reportListItem"><l>learn</l><block s="reportListItem"><block var="i"/><block var="layers"/></block></block><list><block var="delta"/></list></block></block></script></block><block s="doForEach"><l>layer</l><block var="layers"/><script><block s="doRun"><block s="reportListItem"><l>adjust weights</l><block var="layer"/></block><list></list></block></script></block><block s="doReport"><block s="reportVariadicSum"><block s="reportMonadic"><l><option>abs</option></l><block var="error"/></block></block></block></script><list><l>sample</l></list></block><l>train</l><block s="reifyReporter"><script><block s="doDeclareVariables"><list><l>errors</l></list></block><block s="doForEach"><l>sample</l><block s="reportListAttribute"><l><option>shuffled</option></l><block var="set"/></block><script><block s="doChangeVar"><l>errors</l><block s="evaluate"><block var="fit"/><list><block var="sample"/></list></block></block></script></block><block s="doReport"><block var="errors"/></block></script><list><l>set</l></list></block><l>validate</l><block s="reifyReporter"><script><block s="doDeclareVariables"><list><l>hits</l><l>target</l></list></block><block s="doForEach"><l>sample</l><block var="set"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportVariadicSum"><block s="evaluate"><block var="classify"/><list><block var="sample"/></list></block></block><block s="reportListItem"><l><option>last</option></l><block var="sample"/></block></list></block><script><block s="doChangeVar"><l>hits</l><l>1</l></block></script><list></list></block></script></block><block s="doReport"><block s="reportQuotient"><block var="hits"/><block s="reportListAttribute"><l><option>length</option></l><block var="set"/></block></block></block></script><list><l>set</l></list></block><l>get model</l><block s="reifyReporter"><autolambda><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>weights</l><l/></block></autolambda><list></list></block><block var="layers"/></block></autolambda><list></list></block><l>set model</l><block s="reifyReporter"><script><block s="doDeclareVariables"><list><l>layer</l></list></block><block s="doSetVar"><l>layers</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>vector</l><block var="model"/><script><block s="doSetVar"><l>layer</l><custom-block s="clone %l %group%upvar%s"><block var="_Layer_"/><list></list></custom-block></block><block s="doReplaceInList"><l>weights</l><block var="layer"/><block var="vector"/></block><block s="doAddToList"><block var="layer"/><block var="layers"/></block></script></block></script><list><l>model</l></list></block><l>shuffle</l><block s="reifyReporter"><script><block s="doForEach"><l>layer</l><block var="layers"/><script><block s="doRun"><block s="reportListItem"><l>reshuffle</l><block var="layer"/></block><list></list></block></script></block></script><list></list></block><l>get topology</l><block s="reifyReporter"><autolambda><block s="reportCONS"><block s="reportDifference"><block s="reportListItem"><l>2</l><block s="reportListAttribute"><l><option>dimensions</option></l><block s="reportListItem"><l>weights</l><block s="reportListItem"><l>1</l><block var="layers"/></block></block></block></block><l>1</l></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>dimensions</option></l><block s="reportListItem"><l>weights</l><l/></block></block></block></autolambda><list></list></block><block var="layers"/></block></block></autolambda><list></list></block></list></custom-block></block></script><list></list></block></script></block-definition><block-definition s="generate predicate for %&apos;tag&apos; in %&apos;data&apos; %&apos;options&apos;" type="command" category="Neural Networks"><comment x="0" y="0" w="219.322149658203" collapsed="false">Generate a new predicate block in the sensing category that reports whether a given sample data record classifies as the given tag (name) based on an example dataset in the form of a binary truth table. The generated predicate block offers its estimated accuracy in its help screen / comment and can then be exported and shared.&#xD;&#xD;By default training happens all automatically using a neural network with one hidden layer, observing the learning progress and partitioning the dataset internally into a training set and validation set. Optionally you can specify an exact number of epochs (0 = automatic), a partitioning fraction (0 = automatic, 1 = none), and none to 8 hidden layers with arbitrary neurons (0 = no hidden layers).&#xD;&#xD;You can abort / shorten the training process manually by positioning the mouse pointer near the stage center and pressing the mouse button down.&#xD;&#xD;Running the command again updates any previously generated block, i.e. you can optimize existing blocks by re-training them with different parameters.</comment><header></header><code></code><translations>de:generiere Prädikat für _ in _ _&#xD;</translations><inputs><input type="%s" initial="1">$_tag<options>§_dynamicMenu</options></input><input type="%l" initial="1"></input><input type="%mult%n" irreplaceable="true" expand="$_epochs&#xD;$_partition&#xD;$_hidden layers&#xD;:&#xD;:&#xD;:&#xD;:&#xD;:&#xD;:&#xD;:&#xD;" max="10">$_auto&#xD;0.8&#xD;$_auto</input></inputs><script><block s="doDeclareVariables"><list><l>init</l><l>norm</l><l>sample</l><l>var name</l><l>var getter</l><l>ai</l><l>label</l><l>old</l><l>def</l><l>comment</l><l>features</l></list></block><block s="doSetVar"><l>data</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l><option>text</option></l></block><block s="reportCDR"><block var="data"/></block><block var="data"/></block></block><block s="doIf"><block s="reportListContainsItem"><block s="reportListAttribute"><l><option>uniques</option></l><block s="reportListItem"><l><option>last</option></l><block s="reportListAttribute"><l><option>columns</option></l><block var="data"/></block></block></block><block var="tag"/></block><script><block s="doSetVar"><l>features</l><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListAttribute"><l><option>columns</option></l><block var="data"/></block></block><l>1</l></block></block><block s="doSetVar"><l>data</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><block s="reportListItem"><block s="reportNumbers"><l>1</l><block var="features"/></block><l/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><l/></block><block var="tag"/></list></block><l>1</l><l>0</l></block></list></block></autolambda><list></list></block><block var="data"/></block></block></script><list></list></block><block s="doSetVar"><l>var name</l><block s="reportJoinWords"><list><l>_AI: </l><block var="tag"/></list></block></block><block s="doSetVar"><l>var getter</l><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block var="a"/></autolambda><list></list></block><block var="var name"/></list></block></block><block s="doSetVar"><l>ai</l><custom-block s="classifier for %l tag %s %mult%n"><custom-block s="normalize table %l"><block var="data"/></custom-block><block var="tag"/><block var="options"/></custom-block></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><block var="var name"/></list></block><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><block var="var name"/><block s="reportListItem"><l>1</l><block var="ai"/></block></list></block><block s="doSetVar"><l>init</l><block s="reportTextSplit"><block s="reifyScript"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><l></l><l><option>list</option></l></block></block><script><block s="doSetVar"><l></l><custom-block s="new neural network %mult%n"><list><l>0</l><l>0</l></list></custom-block></block><custom-block s="%s of network %s to %n"><l><option>set model</option></l><l></l><l></l></custom-block></script><list></list></block></script><list><l>sample</l></list></block><l><option>blocks</option></l></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="init"/></block></block><block var="var getter"/></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>3</l><block var="init"/></block></block><block var="var name"/></block><block s="doReplaceInList"><l>3</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="init"/></block></block><block var="var getter"/></block><block s="doReplaceInList"><l>4</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="init"/></block></block><custom-block s="blockify %l"><custom-block s="%s of network %s"><l><option>get model</option></l><block s="reportListItem"><l>1</l><block var="ai"/></block></custom-block></custom-block></block><block s="doSetVar"><l>norm</l><block s="reportTextSplit"><custom-block s="normalization for table %l"><block var="data"/></custom-block><l><option>blocks</option></l></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l>2</l><block var="norm"/></block><block s="reifyReporter"><autolambda><block var="sample"/></autolambda><list></list></block></block><block s="doSetVar"><l>label</l><block s="reportJoinWords"><list><block s="reportApplyExtension"><l>ide_translate(text)</l><list><l>is _</l></list></block><l> </l><block var="tag"/><l>?</l></list></block></block><block s="doSetVar"><l>def</l><block s="reportJoinWords"><list><block var="init"/><block s="reportNewList"><list><block s="reportJoinWords"><list><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><l>1</l><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list></list></block></autolambda><list></list></block><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><custom-block s="classify %l with network %s"><l/><l></l></custom-block></autolambda><list></list></block><block s="reportJoinWords"><block var="norm"/></block><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block var="a"/></autolambda><list></list></block><block var="var name"/></list></block></list></block><l></l></list></block></list></block></list></block></list></block></list></block></block><block s="doSetVar"><l>comment</l><block s="reportJoinWords"><list><l>predict whether the data sample classifies as </l><block var="tag"/><l>, estimated accuracy: </l><block s="reportVariadicMin"><list><block s="reportQuotient"><block s="reportRound"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="ai"/></block><l>1000</l></list></block></block><l>10</l></block><l>99.9</l></list></block><l>%.</l></list></block></block><block s="doSetVar"><l>old</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><block s="reportBlockAttribute"><l><option>custom?</option></l><block s="reifyReporter"><script></script><list></list></block></block><block s="reportVariadicEquals"><list><block s="reportBlockAttribute"><l><option>type</option></l><block s="reifyReporter"><script></script><list></list></block></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportBlockAttribute"><l><option>label</option></l><block s="reifyReporter"><script></script><list></list></block></block><block var="label"/></list></block></list></block></autolambda><list></list></block><block s="reportGet"><l><option>blocks</option></l></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="old"/><l><option>predicate</option></l></block><script><block s="doSetBlockAttribute"><l><option>definition</option></l><block var="old"/><block var="def"/></block><block s="doSetBlockAttribute"><l><option>comment</option></l><block var="old"/><block var="comment"/></block></script><script><block s="doDefineBlock"><l>block</l><block var="label"/><block var="def"/></block><block s="doSetBlockAttribute"><l><option>category</option></l><block var="block"/><l>6</l></block><block s="doSetBlockAttribute"><l><option>type</option></l><block var="block"/><l>predicate</l></block><block s="doSetBlockAttribute"><l><option>slots</option></l><block var="block"/><l>list</l></block><block s="doSetBlockAttribute"><l><option>comment</option></l><block var="block"/><block var="comment"/></block></script></block></script><scripts><script x="576.9686920166014" y="384.36666666666673"><block s="receiveSlotEvent"><l>tag</l><l><option>menu</option></l></block><block s="doDeclareVariables"><list><l>name</l><l>tags</l></list></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l><option>text</option></l></block><script><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l><option>last</option></l><block s="reportListAttribute"><l><option>columns</option></l><block var="data"/></block></block></block></block><block s="doSetVar"><l>tags</l><block s="reportListAttribute"><l><option>sorted</option></l><block s="reportListAttribute"><l><option>uniques</option></l><block s="reportListItem"><l><option>last</option></l><block s="reportListAttribute"><l><option>columns</option></l><block s="reportCDR"><block var="data"/></block></block></block></block></block></block></script><script><block s="doSetVar"><l>name</l><l></l></block><block s="doSetVar"><l>tags</l><block s="reportListAttribute"><l><option>sorted</option></l><block s="reportListAttribute"><l><option>uniques</option></l><block s="reportListItem"><l><option>last</option></l><block s="reportListAttribute"><l><option>columns</option></l><block var="data"/></block></block></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tags"/><block s="reportNewList"><list><l>0</l><l>1</l></list></block></list></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="name"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="name"/></list></block></block></script><list></list></block><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doReport"><block var="tags"/></block></script></scripts></block-definition><block-definition s="new neural network %&apos;configuration&apos;" type="reporter" category="Neural Networks" space="true"><comment x="0" y="0" w="214.00000000000003" collapsed="false">Create and report a new neural network with the specified topology representing the number of inputs, arbitrary hidden layers, and output(s).</comment><header></header><code></code><translations>de:neues neuronales Netzwerk _&#xD;ca:nova xarxa neuronal _&#xD;</translations><inputs><input type="%mult%n" initial="2" min="2">5&#xD;1</input></inputs><script><custom-block s="initialize neural networks"></custom-block><block s="doReport"><block s="evaluate"><block s="reportListItem"><l>setup</l><custom-block s="clone %l %group%upvar%s"><block var="_Neural Network_"/><list></list></custom-block></block><list><block var="configuration"/></list></block></block></script></block-definition><block-definition s="classify %&apos;sample&apos; with network %&apos;network&apos;" type="reporter" category="Neural Networks"><comment x="0" y="0" w="209" collapsed="false">Predict and report the classification of a given data sample - a list of numbers representing a single record in a dataset - using the specified neural network instance. The result is a list of numbers representing the neural network&apos;s output layer.</comment><header></header><code></code><translations>de:klassifiziere _ mit Netzwerk _&#xD;ca:classifica _ amb la xarxa _&#xD;</translations><inputs><input type="%l" readonly="true" initial="1"></input><input type="%s" readonly="true" initial="1"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportListItem"><l>classify</l><block var="network"/></block><list><block var="sample"/></list></block></block></script></block-definition><block-definition s="%&apos;selector&apos; network %&apos;network&apos; on %&apos;dataset&apos;" type="reporter" category="Neural Networks"><comment x="0" y="0" w="239.00000000000003" collapsed="false">Train a single epoch or validate a neural model on a truth-table dataset (a list of number-vectors with the expected classification in the last column).&#xD;&#xD;For &quot;train&quot; this reports the accumulated activation error over the epoch.&#xD;&#xD;For &quot;validate&quot; this reports the overall classification accuracy of the dataset.</comment><header></header><code></code><translations>de:_ Netzwerk _ mit _&#xD;ca:_ xarxa _ amb _&#xD;</translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">$_train<options>train=$_train&#xD;validate=$_validate</options></input><input type="%s" readonly="true" initial="1"></input><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportListItem"><block var="selector"/><block var="network"/></block><list><block s="reportListAttribute"><l><option>shuffled</option></l><block var="dataset"/></block></list></block></block></script></block-definition><block-definition s="%&apos;selector&apos; of network %&apos;network&apos;" type="reporter" category="Neural Networks" space="true"><comment x="0" y="0" w="182" collapsed="false">Query the model or the learning rate of a given neural network.&#xD;&#xD;For &quot;model&quot; this reports a list of weight-matrices representing the neural network&apos;s hidden and output layers. Models can be exported and shared among projects.&#xD;&#xD;For &quot;learning rate&quot; this reports a single number representing the neural network&apos;s eagerness to adjust its weights when learning.</comment><header></header><code></code><translations>de:_ von Netzwerk _&#xD;ca:_ de la xarxa _&#xD;</translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">$_get model<options>get model=$_get model&#xD;get learning rate=$_get learning rate&#xD;get topology=$_get topology</options></input><input type="%s" readonly="true" initial="1"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportListItem"><block var="selector"/><block var="network"/></block><list></list></block></block></script></block-definition><block-definition s="render neural model %&apos;model&apos; %&apos;options&apos;" type="command" category="pen"><comment x="0" y="0" w="216" collapsed="false">Draw a picture of the specified model of a neural network where each layer is represented as a vertical line of dots and each weight as a line between 2 neuron-dots. The line width represents the weight&apos;s absolute value, negative values can be rendered in another color.</comment><header></header><code></code><translations>de:male neurales Modell _ _&#xD;ca:renderitza el model neuronal _ _&#xD;</translations><inputs><input type="%l" initial="1"></input><input type="%group%n%b%clr" irreplaceable="true" expand="$_scale&#xD;$_clear&#xD;$_minus&#xD;" max="3">1&#xD;1&#xD;rgba(214,49,0,255)</input></inputs><script><block s="doDeclareVariables"><list><l>topology</l><l>x-spacing</l><l>y-spacings</l><l>x</l><l>y</l><l>weights</l><l>w</l><l>dot</l><l>clr</l><l>factor</l><l>negative</l><l>clear</l><l>pos</l><l>flat ends</l></list></block><block s="doSetVar"><l>pos</l><block s="getPosition"></block></block><block s="doSetVar"><l>clr</l><block s="getPenAttribute"><l><option>color</option></l></block></block><block s="doSetVar"><l>flat ends</l><block s="reportGlobalFlag"><l><option>flat line ends</option></l></block></block><block s="doSetVar"><l>factor</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="options"/></block><l><option>number</option></l></block><block s="reportListItem"><l>1</l><block var="options"/></block><l>1</l></block></block><block s="doSetVar"><l>clear</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="options"/></block><l><option>Boolean</option></l></block><block s="reportListItem"><l>2</l><block var="options"/></block><block s="reportBoolean"><l><bool>true</bool></l></block></block></block><block s="doSetVar"><l>negative</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="options"/></block><l><option>color</option></l></block><block s="reportListItem"><l>3</l><block var="options"/></block><block var="clr"/></block></block><block s="doSetVar"><l>topology</l><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListAttribute"><l><option>length</option></l><block s="reportListAttribute"><l><option>columns</option></l><l/></block></block></autolambda><list></list></block><block var="model"/></block><block s="reportNewList"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="model"/></block></block></list></block></list></block></block><block s="doSetVar"><l>x-spacing</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block s="reportVariadicSum"><list><block s="reportListAttribute"><l><option>length</option></l><block var="topology"/></block><l>1</l></list></block></block></block><block s="doSetVar"><l>x</l><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>stage</option></l></block></block></block><block s="doSetVar"><l>y-spacings</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block s="reportVariadicSum"><list><block var="topology"/><l>1</l></list></block></block></block><block s="doSetVar"><l>dot</l><block s="reportVariadicProduct"><list><block s="reportVariadicMin"><list><block s="reportVariadicMin"><block var="y-spacings"/></block><block var="x-spacing"/></list></block><l>0.5</l></list></block></block><block s="doIf"><block var="clear"/><script><block s="clear"></block></script><list></list></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>false</bool></l></block><block s="doWarp"><script><block s="doFor"><l>i</l><l>1</l><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="topology"/></block><l>1</l></block><script><block s="doChangeVar"><l>x</l><block var="x-spacing"/></block><block s="doSetVar"><l>y</l><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>stage</option></l></block></block></block><block s="doSetVar"><l>weights</l><block s="reportListItem"><block var="i"/><block var="model"/></block></block><block s="doFor"><l>k</l><l>1</l><block s="reportListItem"><block var="i"/><block var="topology"/></block><script><block s="doChangeVar"><l>y</l><block s="reportListItem"><block var="i"/><block var="y-spacings"/></block></block><block s="doFor"><l>m</l><l>1</l><block s="reportDifference"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="i"/><l>1</l></list></block><block var="topology"/></block><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="topology"/></block><l>1</l></block></list></block><l>1</l><l>0</l></block></block><script><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="down"></block><block s="doSetVar"><l>w</l><block s="reportListItem"><block var="k"/><block s="reportListItem"><block var="m"/><block var="weights"/></block></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="w"/><l>0</l></list></block><script><block s="setColor"><block var="negative"/></block></script><list></list></block><block s="setSize"><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>abs</option></l><block var="w"/></block><block var="factor"/></list></block></block><block s="gotoXY"><block s="reportVariadicSum"><list><block var="x"/><block var="x-spacing"/></list></block><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block s="reportVariadicProduct"><list><block var="m"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="i"/><l>1</l></list></block><block var="y-spacings"/></block></list></block></list></block></block><block s="setColor"><block var="clr"/></block><block s="setSize"><block var="dot"/></block><block s="forward"><l>0</l></block><block s="up"></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="setSize"><block var="dot"/></block><block s="down"></block><block s="forward"><l>0</l></block><block s="up"></block></script></block></script></block></script></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="flat ends"/></block><block s="doGotoObject"><block var="pos"/></block></script></block-definition><block-definition s="partition %&apos;data&apos; by %&apos;factor&apos;" type="reporter" category="lists" space="true"><comment x="0" y="0" w="243.9999999999999" collapsed="false">Split a list into 2 sets by randomly assigning its elements to each partition at the given ratio, reports a 2-item list containing the shuffled and split data. Use this block to create training and validation data sets.</comment><header></header><code></code><translations>de:teile _ im Verhältnis _&#xD;ca:partició de _ per _&#xD;</translations><inputs><input type="%l" initial="1"></input><input type="%n" initial="1">0.8</input></inputs><script><block s="doDeclareVariables"><list><l>pivot</l><l>shuffled</l></list></block><block s="doSetVar"><l>pivot</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportVariadicProduct"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="factor"/><l>0</l></list></block><l>0.8</l><block var="factor"/></block></list></block></block></block><block s="doSetVar"><l>shuffled</l><block s="reportListAttribute"><l><option>shuffled</option></l><block var="data"/></block></block><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><block s="reportNumbers"><l>1</l><block var="pivot"/></block><block var="shuffled"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="pivot"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block><block s="reportNewList"><list></list></block><block s="reportListItem"><block s="reportNumbers"><block s="reportVariadicSum"><list><block var="pivot"/><l>1</l></list></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block var="shuffled"/></block></block></list></block></block></script></block-definition><block-definition s="object %&apos;fields&apos;" type="reporter" category="lists" space="true"><header></header><code></code><translations>de:Objekt _&#xD;ca:objecte _&#xD;</translations><inputs><input type="%group%t%s" irreplaceable="true" expand="$nl&#xD;:" initial="2" min="2">$_field&#xD;$_thing</input></inputs><script><block s="doDeclareVariables"><list><l>data</l></list></block><block s="doSetVar"><l>data</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><block s="doForEach"><l>assoc</l><block var="fields"/><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/><block s="reportListItem"><l>2</l><block var="assoc"/></block></block><block s="doTellTo"><block s="reportEnvironment"><l><option>caller</option></l></block><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><block s="reportListItem"><l>1</l><block var="assoc"/></block><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/></block></list></block></script></block></script></block><block s="doReport"><block var="data"/></block></script></block-definition><block-definition s="clone %&apos;parent&apos; %&apos;fields&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:klone _ _&#xD;ca:clon _ _&#xD;</translations><inputs><input type="%l" initial="1"></input><input type="%group%upvar%s" irreplaceable="true" expand="$nl&#xD;:">$_field&#xD;$_thing</input></inputs><script><block s="doDeclareVariables"><list><l>data</l></list></block><block s="doSetVar"><l>data</l><custom-block s="object %group%t%s"><list><l>...</l><block var="parent"/></list></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><block var="fields"/></block></block><script><block s="doWarp"><script><block s="doForEach"><l>assoc</l><block var="fields"/><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/><block s="reportListItem"><l>2</l><block var="assoc"/></block></block><block s="doTellTo"><block s="reportEnvironment"><l><option>caller</option></l></block><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><block s="reportListItem"><l>1</l><block var="assoc"/></block><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/></block></list></block></script></block></script></block></script><list></list></block><block s="doReport"><block var="data"/></block></script></block-definition><block-definition s="blockify %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:blockifiziere _&#xD;</translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block s="reportNewList"><list></list></block></autolambda><list></list></block><block s="reportCONS"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><block s="reportMap"><block s="reportEnvironment"><l><option>script</option></l></block><block var="data"/></block></block></list></block><block s="reportIfElse"><block s="reportIsA"><block var="data"/><l><option>Boolean</option></l></block><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportBoolean"><l><bool>true</bool></l></block></autolambda><list></list></block><block var="data"/></list></block><block s="reportIfElse"><block s="reportIsA"><block var="data"/><l><option>script</option></l></block><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block s="reifyReporter"><script></script><list></list></block></autolambda><list></list></block><block var="data"/></list></block><block var="data"/></block></block></block></block></script></block-definition><block-definition s="classifier for %&apos;data&apos; tag %&apos;tag&apos; %&apos;options&apos;" type="reporter" category="Neural Networks"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input><input type="%s" initial="1"></input><input type="%mult%n" expand="epochs&#xD;partition&#xD;hidden layers&#xD;:&#xD;:&#xD;:&#xD;:&#xD;:&#xD;:&#xD;:&#xD;" max="10">$_auto&#xD;0.8&#xD;$_auto</input></inputs><script><block s="doDeclareVariables"><list><l>ai</l><l>training</l><l>validation</l><l>last</l><l>avg</l><l>done</l><l>epochs</l><l>log</l><l>scale</l><l>cycles</l><l>partition</l><l>topology</l><l>renderer</l><l>flat lines</l><l>readout</l><l>accuracy</l></list></block><block s="doSetVar"><l>cycles</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="options"/></block><l><option>number</option></l></block><block s="reportListItem"><l>1</l><block var="options"/></block><l>0</l></block></block><block s="doSetVar"><l>partition</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="options"/></block><l><option>number</option></l></block><block s="reportListItem"><l>2</l><block var="options"/></block><l>0.8</l></block></block><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l>training</l><l></l></block><block s="doSetVar"><l>validation</l><l></l></block></script><list></list></block><custom-block s="partition %l by %n"><block var="data"/><block var="partition"/></custom-block></block><block s="doSetVar"><l>topology</l><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><block s="reportDifference"><l></l><l>1</l></block><block s="reportIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="options"/></block><l>2</l></list></block><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>3</l><block var="options"/></block><l>auto</l></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="options"/></block><l>0</l></list></block><block s="reportNewList"><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>3</l><block s="reportListAttribute"><l><option>length</option></l><block var="options"/></block></block><block var="options"/></block></block><block s="reportVariadicMax"><list><block s="reportRound"><block s="reportVariadicProduct"><list><l></l><l>.2</l></list></block></block><l>5</l></list></block></block><block s="reportNewList"><list><l>1</l></list></block></list></block></autolambda><list></list></block><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListAttribute"><l><option>columns</option></l><block var="training"/></block></block></list></block></block><block s="doSetVar"><l>ai</l><custom-block s="new neural network %mult%n"><block var="topology"/></custom-block></block><block s="doSetVar"><l>epochs</l><l>0</l></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>last</l><block s="reportListAttribute"><l><option>length</option></l><block var="training"/></block></block><block s="doSetVar"><l>log</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>scale</l><block s="reportVariadicMin"><list><l>1</l><block s="reportQuotient"><l>10</l><block s="reportVariadicMax"><block var="topology"/></block></block></list></block></block><block s="doSetVar"><l>renderer</l><block s="newClone"><l><option>Turtle sprite</option></l></block></block><block s="doSetVar"><l>flat lines</l><block s="reportGlobalFlag"><l><option>flat line ends</option></l></block></block><block s="doTellTo"><block var="renderer"/><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block><block s="doUntil"><block var="done"/><script><block s="doChangeVar"><l>epochs</l><l>1</l></block><block s="doAddToList"><block s="reportQuotient"><block s="reportVariadicSum"><custom-block s="%s network %s on %l"><l><option>train</option></l><block var="ai"/><block var="training"/></custom-block></block><block s="reportListAttribute"><l><option>length</option></l><block var="training"/></block></block><block var="log"/></block><block s="doSetVar"><l>done</l><block s="reportVariadicAnd"><list><block s="reportMouseDown"></block><block s="reportVariadicAnd"><block s="reportVariadicLessThan"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportMousePosition"></block></block><block s="reportNewList"><list><l>50</l><l>50</l></list></block></list></block></block></list></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="cycles"/><l>0</l></list></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="epochs"/><l>20</l></list></block><script><block s="doSetVar"><l>avg</l><block s="reportVariadicSum"><block s="reportQuotient"><block s="reportListItem"><block s="reportNumbers"><block s="reportListAttribute"><l><option>length</option></l><block var="log"/></block><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="log"/></block><l>19</l></block></block><block var="log"/></block><l>10</l></block></block></block><block s="doSetVar"><l>done</l><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportDifference"><block var="last"/><block var="avg"/></block><l>0.0005</l></list></block><block var="done"/></list></block></block><block s="doSetVar"><l>last</l><block var="avg"/></block></script><list></list></block></script><script><block s="doSetVar"><l>done</l><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="epochs"/><block var="cycles"/></list></block><block var="done"/></list></block></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="doSetVar"><l>readout</l><block s="reportJoinWords"><list><block s="reportQuotient"><block s="reportRound"><block s="reportVariadicProduct"><list><block s="reportDifference"><l>1</l><block s="reportListItem"><l><option>last</option></l><block var="log"/></block></block><l>1000</l></list></block></block><l>10</l></block><l>%</l></list></block></block><block s="doTellTo"><block var="renderer"/><block s="reifyScript"><script><block s="setPenColorDimension"><l><option>transparency</option></l><l>60</l></block><custom-block s="plot bars %l %group%n%b%b"><block s="reportVariadicProduct"><list><block var="log"/><block s="reportAttributeOf"><l><option>height</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block><list></list></custom-block><block s="gotoXY"><block s="reportDifference"><block s="reportAttributeOf"><l><option>right</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block s="reportVariadicSum"><list><block s="reportApplyExtension"><l>txt_width(txt, fontsize)</l><list><block var="tag"/><l>24</l></list></block><l>28</l></list></block></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>34</l></block></block><block s="write"><block var="tag"/><l>24</l></block><block s="setPenColorDimension"><l><option>transparency</option></l><l>0</l></block><custom-block s="render neural model %l %group%n%b%clr"><custom-block s="%s of network %s"><l><option>get model</option></l><block var="ai"/></custom-block><list><block var="scale"/><l><bool>false</bool></l><color>214,49,0,255</color></list></custom-block><block s="gotoXY"><block s="reportDifference"><block s="reportAttributeOf"><l><option>right</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>100</l></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>60</l></block></block><block s="write"><block var="readout"/><l>24</l></block></script><list></list></block><list></list></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="flat lines"/></block><block s="doSetVar"><l>accuracy</l><custom-block s="%s network %s on %l"><l><option>validate</option></l><block var="ai"/><block s="reportIfElse"><block s="reportListIsEmpty"><block var="validation"/></block><block var="training"/><block var="validation"/></block></custom-block></block><block s="doSetVar"><l>readout</l><block s="reportJoinWords"><list><block s="reportQuotient"><block s="reportRound"><block s="reportVariadicProduct"><list><block var="accuracy"/><l>1000</l></list></block></block><l>10</l></block><l>%</l></list></block></block><block s="doTellTo"><block var="renderer"/><block s="reifyScript"><script><block s="gotoXY"><block s="reportDifference"><block s="reportAttributeOf"><l><option>right</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>100</l></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>86</l></block></block><block s="setColor"><color>4,148,220,1</color></block><block s="write"><block var="readout"/><l>24</l></block><block s="removeClone"></block></script><list></list></block><list></list></block><block s="doReport"><block s="reportNewList"><list><block var="ai"/><block var="accuracy"/></list></block></block></script></block-definition><block-definition s="%&apos;selector&apos; of network %&apos;network&apos; to %&apos;data&apos;" type="command" category="Neural Networks"><comment x="0" y="0" w="131.0000000000001" collapsed="false">Assign a pre-trained model to the given neural network or change its learning rate.</comment><header></header><code></code><translations>de:_ von Netzwerk _ auf _&#xD;ca:_ de la xarxa _ a _&#xD;</translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">$_set model<options>set model=$_set model&#xD;set learning rate=$_set learning rate</options></input><input type="%s" readonly="true" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doRun"><block s="reportListItem"><block var="selector"/><block var="network"/></block><list><block var="data"/></list></block></script></block-definition><block-definition s="new perceptron sprite" type="reporter" category="Neural Networks" space="true"><comment x="0" y="0" w="227.9999999999999" collapsed="false">Create and report a new sprite that can serve as a layer in a neural network of sprites. It responds to 3 events / methods:&#xD;&#xD;1) setup&#xD;Initializes the layer with a list of 2 numbers representing the number of inputs and the number of desired output neurons.&#xD;&#xD;2) predict&#xD;Reports the result of a forward pass of a single sample / record with the precision of the activation function, i.e. not rounded for classification. If you wish to use this answer to classify the record you must also sum and round the list of results.&#xD;&#xD;3) learn&#xD;Adjusts the layer&apos;s weights depending on the given delta vector and reports a new delta vector to be backpropagated to the previous layer, if any.&#xD;&#xD;You can either use a single sprite as a SLP (perceptron), or clone it several time to create additional hidden layers for a deep neural network by using a forward PIPE for prediction and a backward PIPE for learning.</comment><header></header><code></code><translations>de:neues Perzeptron Objekt&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>perceptron</l></list></block><block s="doSetVar"><l>perceptron</l><block s="newClone"><l><option>Turtle sprite</option></l></block></block><block s="doTellTo"><block var="perceptron"/><block s="reifyScript"><script><block s="doSetVar"><l><option>my temporary?</option></l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l><option>my name</option></l><l>Perceptron</l></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>inputs</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>weights</l></list></block><block s="doSetVar"><l><option>my scripts</option></l><block s="reportNewList"><list><block s="reifyReporter"><script><block s="receiveMessage"><l>setup</l><list><l>in : out</l></list></block><block s="doSetVar"><l>weights</l><block s="reportRandom"><l>-1.0</l><block s="reportReshape"><l>1</l><list><block s="reportListItem"><l>2</l><block var="in : out"/></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>1</l><block var="in : out"/></block><l>1</l></list></block></list></block></block></block></script><list></list></block><block s="reifyReporter"><script><block s="receiveMessage"><l>predict</l><list><l>sample</l></list></block><block s="doSetVar"><l>inputs</l><block var="sample"/></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>sigmoid</option></l><block s="reportVariadicSum"><block s="reportVariadicProduct"><list><block s="reportCONS"><l>1</l><block var="sample"/></block><l></l></list></block></block></block></autolambda><list></list></block><block var="weights"/></block></block></script><list></list></block><block s="reifyReporter"><script><block s="receiveMessage"><l>learn</l><list><l>delta</l></list></block><block s="doDeclareVariables"><list><l>next delta</l></list></block><block s="doSetVar"><l>next delta</l><block s="reportVariadicSum"><block s="reportVariadicProduct"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><block var="inputs"/><block s="reportDifference"><l>1</l><block var="inputs"/></block></list></block></autolambda><list></list></block><block var="delta"/></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><block var="weights"/></block></list></block></block></block><block s="doChangeVar"><l>weights</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><block s="reportCONS"><l>1</l><block var="inputs"/></block><block var="learning rate"/></list></block></autolambda><list></list></block><block var="delta"/></block></block><block s="doReport"><block var="next delta"/></block></script><list></list></block></list></block></block></script><list></list></block><list></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>learning rate</l></list></block><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><l>0.5</l></block></script><list></list></block><list><l>learning rate</l></list></block><block s="doReport"><block var="perceptron"/></block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="3415"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="3416"></list></costumes><sounds><list struct="atomic" id="3417"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="80,80,80,1" pen="tip" id="3422"><wear><ref mediaID="1"></ref></wear><costumes><list struct="atomic" id="3423"></list></costumes><sounds><list struct="atomic" id="3424"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20.166666666666636" y="8.333333333333346"><block s="setSize"><l>3</l></block><block s="doSetVar"><l>scribbles</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><custom-block s="scribble"></custom-block><l/></list></block></autolambda><list></list></block><block s="reportNewList"><list><l></l><l></l><l></l></list></block></block></block><block s="clear"></block></script><script x="20.83333333333331" y="116.99999999999928"><block s="doForEach"><l>tag</l><block s="reportNewList"><list><l></l><l></l><l></l></list></block><script><custom-block s="generate predicate for %s in %l %mult%n"><block var="tag"/><block var="scribbles"/><list></list></custom-block></script></block></script><script x="19.385091145833258" y="202.8333333333337"><custom-block s="recognize %l"><custom-block s="scribble"></custom-block></custom-block></script></scripts></sprite><watcher var="path" style="normal" x="9.999999999999545" y="10.000000000000036" color="243,118,29" hidden="true"/><watcher var="scribbles" style="normal" x="20.000000000000455" y="13.999995999999989" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="_Neural Network_"><l></l></variable><variable name="_Layer_"><l></l></variable><variable name="scribbles"><list id="3476"><item><list struct="atomic" id="3477">76.23517575589219,79.69515353123397,88.10548964413867,94.80460585573687,103.6853774128881,119.78988445819378,132.51044707800082,132.51044707800085,132.51044707800085,142.145538358216,150.2551187030578,156.05275939102157,158.19859051364818,159.3356353208197,169.20854370388946,172.4515376968715,177.95291989210983,-177.21001910568097,-166.23560657250476,-151.23224637783278,-140.7105931374996,-138.4029637975026,-137.48955292199915,-127.52959341617971,-126.25383773744483,-119.75177873702214,-118.07248693585296,-107.75118282202722,-106.38954033403475,-97.4374189094495,-96.34019174590995,-90.92442820755782,-90,-82.67600164554227,-77.9052429229879,-62.426953031734094,-62.35402463626137,-61.26047735769535,-56.320937590126086,-50.677524621068265,-38.77267958959906,-33.690067525979764,-27.362169261833724,-14.036243467926424,-7.793733932372122,-5.71059313749961,-2.9158366513900096,0,0,8.282391333294196,24.44395478041657,37.640541338061134,42.86658423306852,45.81725790354173,52.431407971172476,54.37464755624183,59.7435628364707,63.835873941920916,69.14548678777419,75.26742454241442,90,90,104.63778751181886,172.72499504211075,circle</list></item><item><list struct="atomic" id="3478">82.11113478359111,76.21032594477893,75.81095033952577,78.31063082456082,78.31063082456079,82.12604213145514,83.6598082540901,83.6598082540901,85.72349727178924,86.63353933657017,86.63353933657024,87.18087057900375,87.55329826075616,90,102.82572992744028,177.385901245111,176.8444196109856,177.70938995736148,178.0982257029833,178.83086067209257,178.83086067209263,178.83086067209257,179.13661899993517,180,180,180,180,180,180,180,-82.7873432081964,-86.98721249581669,-86.98721249581669,-86.98721249581662,-89.83752753104883,-90,-90,-90,-90,-90,-90,-90,-90,-90.28696074495677,-92.6025622024998,-92.6025622024998,-92.60256220249985,-91.46025380282407,-90,-90,-8.972481291080143,0,0,0.7981717088532267,3.1798301198642553,3.179830119864257,5.174740336302916,11.309932474020197,10.301774281928981,22.769846654477075,30.78160235808928,31.56210411323196,32.70027087536157,113.05130091647297,square</list></item><item><list struct="atomic" id="3479">145.33325386632754,150.25511870305775,154.66565742968206,155.55604521958347,155.41301216188256,153.43494882292202,153.43494882292202,153.84038670444633,154.2306723756613,154.23067237566127,154.2306723756613,153.57359848972914,153.43494882292202,153.43494882292202,158.73626215836023,-96.67358301230675,-90,-90,-90,-90,-90,-90,-90,-90,-90.39194282905474,-91.04162667600997,-91.04162667600997,-91.04162667601001,-91.04162667600997,-91.04162667601001,-91.27327623690299,-93.81407483429038,-93.81407483429034,-93.81407483429038,-94.34316971592996,-94.63546342690272,-94.63546342690265,-94.63546342690266,-96.5547321989295,-99.45430423855609,-96.53001624574085,50.58332620002324,53.130102354156016,53.13010235415598,53.13010235415598,49.53490926198878,48.6522227803064,48.652222780306275,48.65222278030629,42.83670589825275,42.79740183823423,42.7974018382342,42.79740183823421,43.56859939934739,43.7811247648687,43.781124764868714,43.7811247648687,40.660651292923305,40.601294645004465,36.6124077924198,38.86052069075421,53.06939488572045,70.83722759434667,147.72435568542238,triangel</list></item></list></variable><variable name="learning rate"><l>0.5</l></variable></variables></scene></scenes></project><media name="ANN - Scribbles" app="Snap! 11.0.2, https://snap.berkeley.edu" version="2"><costume name="Costume" center-x="94" center-y="25" image="data:image/png;base64,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" mediaID="1"/></media></snapdata>