rubyneat 0.3.5.alpha.3 → 0.3.5.alpha.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (252) hide show
  1. checksums.yaml +4 -4
  2. data/.semver +1 -1
  3. data/Gemfile +19 -19
  4. data/Gemfile.lock +39 -33
  5. data/README.md +66 -0
  6. data/Rakefile +19 -2
  7. data/bin/neat +4 -60
  8. data/lib/rubyneat/cli.rb +5 -0
  9. data/lib/rubyneat/cli/generate.rb +131 -0
  10. data/lib/rubyneat/cli/main.rb +54 -0
  11. data/lib/rubyneat/cli/templates/generate/Gemfile.tt +17 -0
  12. data/lib/rubyneat/cli/templates/generate/README.md.tt +1 -0
  13. data/lib/rubyneat/cli/templates/generate/bin/neat.tt +14 -0
  14. data/{neater/xor_neat.rb → lib/rubyneat/cli/templates/generate/neater.tt} +7 -22
  15. data/rubyneat.gemspec +73 -297
  16. data/rubyneat.gemspec.orig +384 -0
  17. metadata +76 -292
  18. data/.idea/.name +0 -1
  19. data/.idea/.rakeTasks +0 -7
  20. data/.idea/dictionaries/trader.xml +0 -3
  21. data/.idea/encodings.xml +0 -5
  22. data/.idea/misc.xml +0 -5
  23. data/.idea/modules.xml +0 -9
  24. data/.idea/rubyneat.iml +0 -198
  25. data/.idea/runConfigurations/invpend_neat.xml +0 -26
  26. data/.idea/runConfigurations/sigdebug_neat.xml +0 -24
  27. data/.idea/runConfigurations/xor_neat.xml +0 -26
  28. data/.idea/runConfigurations/xordebug_neat.xml +0 -24
  29. data/.idea/runConfigurations/xorsin_neat.xml +0 -24
  30. data/.idea/scopes/scope_settings.xml +0 -5
  31. data/.idea/vcs.xml +0 -7
  32. data/.idea/workspace.xml +0 -1151
  33. data/.yardoc/checksums +0 -11
  34. data/.yardoc/object_types +0 -0
  35. data/.yardoc/objects/root.dat +0 -0
  36. data/.yardoc/proxy_types +0 -0
  37. data/Guardfile +0 -8
  38. data/doc/ControllerPoint.html +0 -125
  39. data/doc/CuteA.html +0 -286
  40. data/doc/CuteB.html +0 -297
  41. data/doc/DSL.html +0 -883
  42. data/doc/NEAT.html +0 -588
  43. data/doc/NEAT/BasicNeuronTypes.html +0 -136
  44. data/doc/NEAT/BasicNeuronTypes/BiasNeuron.html +0 -518
  45. data/doc/NEAT/BasicNeuronTypes/CosineNeuron.html +0 -274
  46. data/doc/NEAT/BasicNeuronTypes/InputNeuron.html +0 -366
  47. data/doc/NEAT/BasicNeuronTypes/SigmoidNeuron.html +0 -275
  48. data/doc/NEAT/BasicNeuronTypes/SineNeuron.html +0 -274
  49. data/doc/NEAT/BasicNeuronTypes/TanhNeuron.html +0 -274
  50. data/doc/NEAT/Controller.html +0 -2490
  51. data/doc/NEAT/Controller/NeatSettings.html +0 -3985
  52. data/doc/NEAT/Critter.html +0 -1037
  53. data/doc/NEAT/Critter/Genotype.html +0 -1601
  54. data/doc/NEAT/Critter/Genotype/Gene.html +0 -979
  55. data/doc/NEAT/Critter/Phenotype.html +0 -603
  56. data/doc/NEAT/DSL.html +0 -1255
  57. data/doc/NEAT/Evaluator.html +0 -420
  58. data/doc/NEAT/Evolver.html +0 -602
  59. data/doc/NEAT/Evolver/CritterOp.html +0 -551
  60. data/doc/NEAT/Expressor.html +0 -327
  61. data/doc/NEAT/Graph.html +0 -402
  62. data/doc/NEAT/Graph/DependencyResolver.html +0 -478
  63. data/doc/NEAT/Graph/GraphException.html +0 -123
  64. data/doc/NEAT/NeatException.html +0 -123
  65. data/doc/NEAT/NeatOb.html +0 -567
  66. data/doc/NEAT/Neuron.html +0 -1067
  67. data/doc/NEAT/Operator.html +0 -162
  68. data/doc/NEAT/Population.html +0 -1961
  69. data/doc/NEAT/Trait.html +0 -169
  70. data/doc/_index.html +0 -373
  71. data/doc/class_list.html +0 -54
  72. data/doc/css/common.css +0 -1
  73. data/doc/css/full_list.css +0 -57
  74. data/doc/css/style.css +0 -339
  75. data/doc/file_list.html +0 -53
  76. data/doc/frames.html +0 -26
  77. data/doc/index.html +0 -373
  78. data/doc/js/app.js +0 -219
  79. data/doc/js/full_list.js +0 -178
  80. data/doc/js/jquery.js +0 -4
  81. data/doc/method_list.html +0 -1415
  82. data/doc/top-level-namespace.html +0 -164
  83. data/foo/foo_aquarium_example.rb +0 -38
  84. data/foo/foo_gosu.rb +0 -99
  85. data/foo/foo_rubygoo.rb +0 -104
  86. data/foo/foo_sdl.rb +0 -34
  87. data/foo/icon.png +0 -0
  88. data/neater/invpend_neat.rb +0 -150
  89. data/neater/rnlib/inverted_pendulum.rb +0 -380
  90. data/neater/rnlib/xor.rb +0 -10
  91. data/neater/sigdebug_neat.rb +0 -136
  92. data/neater/xoranalog_neat.rb +0 -138
  93. data/neater/xorsin_neat.rb +0 -143
  94. data/projectFilesBackup/.idea/rubyneat.iml +0 -180
  95. data/public/.directory +0 -4
  96. data/public/background.png +0 -0
  97. data/public/background.xcf +0 -0
  98. data/public/cart.png +0 -0
  99. data/public/cart.xcf +0 -0
  100. data/public/metalpoles_molton_ball_l.jpg +0 -0
  101. data/public/old_background.png +0 -0
  102. data/public/pointer.png +0 -0
  103. data/public/pointer.xcf +0 -0
  104. data/public/pole.kra +0 -0
  105. data/public/pole.png +0 -0
  106. data/public/pole.xcf +0 -0
  107. data/public/wheel-of-year-stone-DD-131-WOYS.jpg +0 -0
  108. data/public/wheel.png +0 -0
  109. data/public/wheel.xcf +0 -0
  110. data/public/wood-planks-texture.jpg +0 -0
  111. data/rdoc/ControllerPoint.html +0 -116
  112. data/rdoc/CuteA.html +0 -177
  113. data/rdoc/CuteB.html +0 -178
  114. data/rdoc/DSLSetup.html +0 -177
  115. data/rdoc/GameTestWindow.html +0 -242
  116. data/rdoc/GameWindow.html +0 -292
  117. data/rdoc/Gemfile.html +0 -215
  118. data/rdoc/Gemfile_lock.html +0 -327
  119. data/rdoc/GraphTest.html +0 -210
  120. data/rdoc/Guardfile.html +0 -198
  121. data/rdoc/InvertedPendulum.html +0 -198
  122. data/rdoc/InvertedPendulum/Cart.html +0 -668
  123. data/rdoc/InvertedPendulum/DSL.html +0 -259
  124. data/rdoc/InvertedPendulum/InvPendWindow.html +0 -402
  125. data/rdoc/Logger.html +0 -98
  126. data/rdoc/NEAT.html +0 -422
  127. data/rdoc/NEAT/BasicNeuronTypes.html +0 -107
  128. data/rdoc/NEAT/BasicNeuronTypes/BiasNeuron.html +0 -265
  129. data/rdoc/NEAT/BasicNeuronTypes/CosineNeuron.html +0 -162
  130. data/rdoc/NEAT/BasicNeuronTypes/InputNeuron.html +0 -206
  131. data/rdoc/NEAT/BasicNeuronTypes/SigmoidNeuron.html +0 -162
  132. data/rdoc/NEAT/BasicNeuronTypes/SineNeuron.html +0 -162
  133. data/rdoc/NEAT/BasicNeuronTypes/TanhNeuron.html +0 -161
  134. data/rdoc/NEAT/Controller.html +0 -729
  135. data/rdoc/NEAT/Controller/NeatSettings.html +0 -880
  136. data/rdoc/NEAT/Critter.html +0 -489
  137. data/rdoc/NEAT/Critter/Genotype.html +0 -735
  138. data/rdoc/NEAT/Critter/Genotype/Gene.html +0 -457
  139. data/rdoc/NEAT/Critter/Phenotype.html +0 -330
  140. data/rdoc/NEAT/DSL.html +0 -729
  141. data/rdoc/NEAT/Evaluator.html +0 -256
  142. data/rdoc/NEAT/Evolver.html +0 -891
  143. data/rdoc/NEAT/Evolver/CritterOp.html +0 -349
  144. data/rdoc/NEAT/Expressor.html +0 -402
  145. data/rdoc/NEAT/Graph.html +0 -263
  146. data/rdoc/NEAT/Graph/DependencyResolver.html +0 -291
  147. data/rdoc/NEAT/Graph/GraphException.html +0 -105
  148. data/rdoc/NEAT/NeatException.html +0 -105
  149. data/rdoc/NEAT/NeatOb.html +0 -325
  150. data/rdoc/NEAT/Neuron.html +0 -481
  151. data/rdoc/NEAT/Operator.html +0 -109
  152. data/rdoc/NEAT/Population.html +0 -935
  153. data/rdoc/NEAT/Trait.html +0 -117
  154. data/rdoc/Object.html +0 -384
  155. data/rdoc/Phi.html +0 -98
  156. data/rdoc/Player.html +0 -383
  157. data/rdoc/Rakefile.html +0 -254
  158. data/rdoc/RubyNEAT.html +0 -98
  159. data/rdoc/RubyNEAT/Application.html +0 -105
  160. data/rdoc/SDL.html +0 -98
  161. data/rdoc/SDL/Event2.html +0 -98
  162. data/rdoc/Vector.html +0 -195
  163. data/rdoc/created.rid +0 -125
  164. data/rdoc/doc/ControllerPoint_html.html +0 -299
  165. data/rdoc/doc/CuteA_html.html +0 -438
  166. data/rdoc/doc/CuteB_html.html +0 -436
  167. data/rdoc/doc/DSL_html.html +0 -992
  168. data/rdoc/doc/NEAT/BasicNeuronTypes/BiasNeuron_html.html +0 -617
  169. data/rdoc/doc/NEAT/BasicNeuronTypes/CosineNeuron_html.html +0 -413
  170. data/rdoc/doc/NEAT/BasicNeuronTypes/InputNeuron_html.html +0 -498
  171. data/rdoc/doc/NEAT/BasicNeuronTypes/SigmoidNeuron_html.html +0 -413
  172. data/rdoc/doc/NEAT/BasicNeuronTypes/SineNeuron_html.html +0 -413
  173. data/rdoc/doc/NEAT/BasicNeuronTypes/TanhNeuron_html.html +0 -412
  174. data/rdoc/doc/NEAT/BasicNeuronTypes_html.html +0 -310
  175. data/rdoc/doc/NEAT/Controller/NeatSettings_html.html +0 -3324
  176. data/rdoc/doc/NEAT/Controller_html.html +0 -2212
  177. data/rdoc/doc/NEAT/Critter/Genotype/Gene_html.html +0 -997
  178. data/rdoc/doc/NEAT/Critter/Genotype_html.html +0 -1556
  179. data/rdoc/doc/NEAT/Critter/Phenotype_html.html +0 -687
  180. data/rdoc/doc/NEAT/Critter_html.html +0 -1037
  181. data/rdoc/doc/NEAT/DSL_html.html +0 -1349
  182. data/rdoc/doc/NEAT/Evaluator_html.html +0 -556
  183. data/rdoc/doc/NEAT/Evolver/CritterOp_html.html +0 -690
  184. data/rdoc/doc/NEAT/Evolver_html.html +0 -677
  185. data/rdoc/doc/NEAT/Expressor_html.html +0 -468
  186. data/rdoc/doc/NEAT/Graph/DependencyResolver_html.html +0 -598
  187. data/rdoc/doc/NEAT/Graph/GraphException_html.html +0 -299
  188. data/rdoc/doc/NEAT/Graph_html.html +0 -527
  189. data/rdoc/doc/NEAT/NeatException_html.html +0 -299
  190. data/rdoc/doc/NEAT/NeatOb_html.html +0 -671
  191. data/rdoc/doc/NEAT/Neuron_html.html +0 -1095
  192. data/rdoc/doc/NEAT/Operator_html.html +0 -337
  193. data/rdoc/doc/NEAT/Population_html.html +0 -1795
  194. data/rdoc/doc/NEAT/Trait_html.html +0 -344
  195. data/rdoc/doc/NEAT_html.html +0 -736
  196. data/rdoc/doc/_index_html.html +0 -559
  197. data/rdoc/doc/class_list_html.html +0 -369
  198. data/rdoc/doc/css/common_css.html +0 -188
  199. data/rdoc/doc/css/full_list_css.html +0 -243
  200. data/rdoc/doc/css/style_css.html +0 -530
  201. data/rdoc/doc/file_list_html.html +0 -240
  202. data/rdoc/doc/frames_html.html +0 -217
  203. data/rdoc/doc/index_html.html +0 -559
  204. data/rdoc/doc/js/app_js.html +0 -423
  205. data/rdoc/doc/js/full_list_js.html +0 -372
  206. data/rdoc/doc/js/jquery_js.html +0 -1536
  207. data/rdoc/doc/method_list_html.html +0 -1375
  208. data/rdoc/doc/top-level-namespace_html.html +0 -317
  209. data/rdoc/fonts.css +0 -167
  210. data/rdoc/fonts/Lato-Light.ttf +0 -0
  211. data/rdoc/fonts/Lato-LightItalic.ttf +0 -0
  212. data/rdoc/fonts/Lato-Regular.ttf +0 -0
  213. data/rdoc/fonts/Lato-RegularItalic.ttf +0 -0
  214. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  215. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  216. data/rdoc/images/add.png +0 -0
  217. data/rdoc/images/arrow_up.png +0 -0
  218. data/rdoc/images/brick.png +0 -0
  219. data/rdoc/images/brick_link.png +0 -0
  220. data/rdoc/images/bug.png +0 -0
  221. data/rdoc/images/bullet_black.png +0 -0
  222. data/rdoc/images/bullet_toggle_minus.png +0 -0
  223. data/rdoc/images/bullet_toggle_plus.png +0 -0
  224. data/rdoc/images/date.png +0 -0
  225. data/rdoc/images/delete.png +0 -0
  226. data/rdoc/images/find.png +0 -0
  227. data/rdoc/images/loadingAnimation.gif +0 -0
  228. data/rdoc/images/macFFBgHack.png +0 -0
  229. data/rdoc/images/package.png +0 -0
  230. data/rdoc/images/page_green.png +0 -0
  231. data/rdoc/images/page_white_text.png +0 -0
  232. data/rdoc/images/page_white_width.png +0 -0
  233. data/rdoc/images/plugin.png +0 -0
  234. data/rdoc/images/ruby.png +0 -0
  235. data/rdoc/images/tag_blue.png +0 -0
  236. data/rdoc/images/tag_green.png +0 -0
  237. data/rdoc/images/transparent.png +0 -0
  238. data/rdoc/images/wrench.png +0 -0
  239. data/rdoc/images/wrench_orange.png +0 -0
  240. data/rdoc/images/zoom.png +0 -0
  241. data/rdoc/index.html +0 -282
  242. data/rdoc/js/darkfish.js +0 -140
  243. data/rdoc/js/jquery.js +0 -18
  244. data/rdoc/js/navigation.js +0 -142
  245. data/rdoc/js/search.js +0 -109
  246. data/rdoc/js/search_index.js +0 -1
  247. data/rdoc/js/searcher.js +0 -228
  248. data/rdoc/rdoc.css +0 -580
  249. data/rdoc/rubyneat_gemspec.html +0 -387
  250. data/rdoc/table_of_contents.html +0 -2502
  251. data/rdoc/xordebug_log.html +0 -170598
  252. data/rdoc/xorsin_log.html +0 -22569
@@ -1,1349 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>DSL.html - rubyneat 0.3.4</title>
8
-
9
- <link href="../../fonts.css" rel="stylesheet">
10
- <link href="../../rdoc.css" rel="stylesheet">
11
-
12
- <script type="text/javascript">
13
- var rdoc_rel_prefix = "../../";
14
- </script>
15
-
16
- <script src="../../js/jquery.js"></script>
17
- <script src="../../js/navigation.js"></script>
18
- <script src="../../js/search_index.js"></script>
19
- <script src="../../js/search.js"></script>
20
- <script src="../../js/searcher.js"></script>
21
- <script src="../../js/darkfish.js"></script>
22
-
23
-
24
- <body id="top" role="document" class="file">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../../table_of_contents.html#pages">Pages</a>
34
- <a href="../../table_of_contents.html#classes">Classes</a>
35
- <a href="../../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
-
58
- <div id="project-metadata">
59
- <div id="fileindex-section" class="nav-section">
60
- <h3>Pages</h3>
61
-
62
- <ul class="link-list">
63
-
64
- <li><a href="../../Gemfile.html">Gemfile</a>
65
-
66
- <li><a href="../../Gemfile_lock.html">Gemfile.lock</a>
67
-
68
- <li><a href="../../Guardfile.html">Guardfile</a>
69
-
70
- <li><a href="../../Rakefile.html">Rakefile</a>
71
-
72
- <li><a href="../../doc/ControllerPoint_html.html">ControllerPoint.html</a>
73
-
74
- <li><a href="../../doc/CuteA_html.html">CuteA.html</a>
75
-
76
- <li><a href="../../doc/CuteB_html.html">CuteB.html</a>
77
-
78
- <li><a href="../../doc/DSL_html.html">DSL.html</a>
79
-
80
- <li><a href="../../doc/NEAT_html.html">NEAT.html</a>
81
-
82
- <li><a href="../../doc/NEAT/BasicNeuronTypes_html.html">BasicNeuronTypes.html</a>
83
-
84
- <li><a href="../../doc/NEAT/BasicNeuronTypes/BiasNeuron_html.html">BiasNeuron.html</a>
85
-
86
- <li><a href="../../doc/NEAT/BasicNeuronTypes/CosineNeuron_html.html">CosineNeuron.html</a>
87
-
88
- <li><a href="../../doc/NEAT/BasicNeuronTypes/InputNeuron_html.html">InputNeuron.html</a>
89
-
90
- <li><a href="../../doc/NEAT/BasicNeuronTypes/SigmoidNeuron_html.html">SigmoidNeuron.html</a>
91
-
92
- <li><a href="../../doc/NEAT/BasicNeuronTypes/SineNeuron_html.html">SineNeuron.html</a>
93
-
94
- <li><a href="../../doc/NEAT/BasicNeuronTypes/TanhNeuron_html.html">TanhNeuron.html</a>
95
-
96
- <li><a href="../../doc/NEAT/Controller_html.html">Controller.html</a>
97
-
98
- <li><a href="../../doc/NEAT/Controller/NeatSettings_html.html">NeatSettings.html</a>
99
-
100
- <li><a href="../../doc/NEAT/Critter_html.html">Critter.html</a>
101
-
102
- <li><a href="../../doc/NEAT/Critter/Genotype_html.html">Genotype.html</a>
103
-
104
- <li><a href="../../doc/NEAT/Critter/Genotype/Gene_html.html">Gene.html</a>
105
-
106
- <li><a href="../../doc/NEAT/Critter/Phenotype_html.html">Phenotype.html</a>
107
-
108
- <li><a href="../../doc/NEAT/DSL_html.html">DSL.html</a>
109
-
110
- <li><a href="../../doc/NEAT/Evaluator_html.html">Evaluator.html</a>
111
-
112
- <li><a href="../../doc/NEAT/Evolver_html.html">Evolver.html</a>
113
-
114
- <li><a href="../../doc/NEAT/Evolver/CritterOp_html.html">CritterOp.html</a>
115
-
116
- <li><a href="../../doc/NEAT/Expressor_html.html">Expressor.html</a>
117
-
118
- <li><a href="../../doc/NEAT/Graph_html.html">Graph.html</a>
119
-
120
- <li><a href="../../doc/NEAT/Graph/DependencyResolver_html.html">DependencyResolver.html</a>
121
-
122
- <li><a href="../../doc/NEAT/Graph/GraphException_html.html">GraphException.html</a>
123
-
124
- <li><a href="../../doc/NEAT/NeatException_html.html">NeatException.html</a>
125
-
126
- <li><a href="../../doc/NEAT/NeatOb_html.html">NeatOb.html</a>
127
-
128
- <li><a href="../../doc/NEAT/Neuron_html.html">Neuron.html</a>
129
-
130
- <li><a href="../../doc/NEAT/Operator_html.html">Operator.html</a>
131
-
132
- <li><a href="../../doc/NEAT/Population_html.html">Population.html</a>
133
-
134
- <li><a href="../../doc/NEAT/Trait_html.html">Trait.html</a>
135
-
136
- <li><a href="../../doc/_index_html.html">_index.html</a>
137
-
138
- <li><a href="../../doc/class_list_html.html">class_list.html</a>
139
-
140
- <li><a href="../../doc/css/common_css.html">common.css</a>
141
-
142
- <li><a href="../../doc/css/full_list_css.html">full_list.css</a>
143
-
144
- <li><a href="../../doc/css/style_css.html">style.css</a>
145
-
146
- <li><a href="../../doc/file_list_html.html">file_list.html</a>
147
-
148
- <li><a href="../../doc/frames_html.html">frames.html</a>
149
-
150
- <li><a href="../../doc/index_html.html">index.html</a>
151
-
152
- <li><a href="../../doc/js/app_js.html">app.js</a>
153
-
154
- <li><a href="../../doc/js/full_list_js.html">full_list.js</a>
155
-
156
- <li><a href="../../doc/js/jquery_js.html">jquery.js</a>
157
-
158
- <li><a href="../../doc/method_list_html.html">method_list.html</a>
159
-
160
- <li><a href="../../doc/top-level-namespace_html.html">top-level-namespace.html</a>
161
-
162
- <li><a href="../../foo_dump_log.html">foo.dump.log</a>
163
-
164
- <li><a href="../../rubyneat_gemspec.html">rubyneat.gemspec</a>
165
-
166
- <li><a href="../../xordebug_log.html">xordebug.log</a>
167
-
168
- <li><a href="../../xorsin_log.html">xorsin.log</a>
169
-
170
- </ul>
171
- </div>
172
-
173
- </div>
174
- </nav>
175
-
176
- <main role="main" aria-label="Page doc/NEAT/DSL.html">
177
-
178
- <p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”</p>
179
-
180
- <pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>
181
-
182
- <p>&lt;html xmlns=“<a
183
- href="http://www.w3.org/1999/xhtml">www.w3.org/1999/xhtml</a>”
184
- xml:lang=“en” lang=“en”&gt;</p>
185
-
186
- <pre>&lt;head&gt;
187
- &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;</pre>
188
-
189
- <p>&lt;title&gt;</p>
190
-
191
- <pre>Module: NEAT::DSL
192
-
193
- &amp;mdash; Documentation by YARD 0.8.7.3</pre>
194
-
195
- <p>&lt;/title&gt;</p>
196
-
197
- <pre>&lt;link rel=&quot;stylesheet&quot; href=&quot;../css/style.css&quot; type=&quot;text/css&quot; charset=&quot;utf-8&quot; /&gt;
198
-
199
- &lt;link rel=&quot;stylesheet&quot; href=&quot;../css/common.css&quot; type=&quot;text/css&quot; charset=&quot;utf-8&quot; /&gt;</pre>
200
-
201
- <p>&lt;script type=“text/javascript” charset=“utf-8”&gt;</p>
202
-
203
- <pre>hasFrames = window.top.frames.main ? true : false;
204
- relpath = &#39;../&#39;;
205
- framesUrl = &quot;../frames.html#!&quot; + escape(window.location.href);</pre>
206
-
207
- <p>&lt;/script&gt;</p>
208
-
209
- <pre>&lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot; src=&quot;../js/jquery.js&quot;&gt;&lt;/script&gt;
210
-
211
- &lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot; src=&quot;../js/app.js&quot;&gt;&lt;/script&gt;
212
-
213
- &lt;/head&gt;
214
- &lt;body&gt;
215
- &lt;div id=&quot;header&quot;&gt;
216
- &lt;div id=&quot;menu&quot;&gt;
217
-
218
- &lt;a href=&quot;../_index.html&quot;&gt;Index (D)&lt;/a&gt; &amp;raquo;
219
- &lt;span class=&#39;title&#39;&gt;&lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html&quot; title=&quot;NEAT (module)&quot;&gt;NEAT&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;
220
- &amp;raquo;
221
- &lt;span class=&quot;title&quot;&gt;DSL&lt;/span&gt;
222
-
223
- &lt;div class=&quot;noframes&quot;&gt;&lt;span class=&quot;title&quot;&gt;(&lt;/span&gt;&lt;a href=&quot;.&quot; target=&quot;_top&quot;&gt;no frames&lt;/a&gt;&lt;span class=&quot;title&quot;&gt;)&lt;/span&gt;&lt;/div&gt;</pre>
224
-
225
- <p>&lt;/div&gt;</p>
226
-
227
- <pre> &lt;div id=&quot;search&quot;&gt;
228
-
229
- &lt;a class=&quot;full_list_link&quot; id=&quot;class_list_link&quot;
230
- href=&quot;../class_list.html&quot;&gt;
231
- Class List
232
- &lt;/a&gt;
233
-
234
- &lt;a class=&quot;full_list_link&quot; id=&quot;method_list_link&quot;
235
- href=&quot;../method_list.html&quot;&gt;
236
- Method List
237
- &lt;/a&gt;
238
-
239
- &lt;a class=&quot;full_list_link&quot; id=&quot;file_list_link&quot;
240
- href=&quot;../file_list.html&quot;&gt;
241
- File List
242
- &lt;/a&gt;</pre>
243
-
244
- <p>&lt;/div&gt;</p>
245
-
246
- <pre> &lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
247
- &lt;/div&gt;
248
-
249
- &lt;iframe id=&quot;search_frame&quot;&gt;&lt;/iframe&gt;
250
-
251
- &lt;div id=&quot;content&quot;&gt;&lt;h1&gt;Module: NEAT::DSL</pre>
252
-
253
- <p>&lt;/h1&gt;</p>
254
-
255
- <p>&lt;dl class=“box”&gt;</p>
256
-
257
- <pre> &lt;dt class=&quot;r1&quot;&gt;Includes:&lt;/dt&gt;
258
- &lt;dd class=&quot;r1&quot;&gt;Math, &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html&quot; title=&quot;NEAT (module)&quot;&gt;NEAT&lt;/a&gt;&lt;/span&gt;, &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;BasicNeuronTypes.html&quot; title=&quot;NEAT::BasicNeuronTypes (module)&quot;&gt;BasicNeuronTypes&lt;/a&gt;&lt;/span&gt;&lt;/dd&gt;
259
-
260
- &lt;dt class=&quot;r2 last&quot;&gt;Defined in:&lt;/dt&gt;
261
- &lt;dd class=&quot;r2 last&quot;&gt;lib/rubyneat/dsl.rb&lt;/dd&gt;</pre>
262
-
263
- <p>&lt;/dl&gt; &lt;div class=“clear”&gt;&lt;/div&gt;</p>
264
-
265
- <pre>&lt;h2&gt;Constant Summary&lt;/h2&gt;
266
-
267
- &lt;h2&gt;Constant Summary&lt;/h2&gt;
268
-
269
- &lt;h3 class=&quot;inherited&quot;&gt;Constants included
270
- from &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html&quot; title=&quot;NEAT (module)&quot;&gt;NEAT&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
271
- &lt;p class=&quot;inherited&quot;&gt;&lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html#STIMULUS-constant&quot; title=&quot;NEAT::STIMULUS (constant)&quot;&gt;STIMULUS&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
272
-
273
- &lt;h2&gt;
274
- Instance Method Summary
275
- &lt;small&gt;(&lt;a href=&quot;#&quot; class=&quot;summary_toggle&quot;&gt;collapse&lt;/a&gt;)&lt;/small&gt;
276
- &lt;/h2&gt;
277
-
278
- &lt;ul class=&quot;summary&quot;&gt;
279
-
280
- &lt;li class=&quot;public &quot;&gt;
281
- &lt;span class=&quot;summary_signature&quot;&gt;
282
-
283
- &lt;a href=&quot;#compare-instance_method&quot; title=&quot;#compare (instance method)&quot;&gt;- (Object) &lt;strong&gt;compare&lt;/strong&gt;(&amp;amp;block) &lt;/a&gt;
284
-
285
- &lt;/span&gt;
286
-
287
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
288
-
289
- <p>&lt;p&gt;Fitness ordering – given 2 fitness numbers, use the to compare
290
- them (or the equivalent, following the +1, 0, -1 that is in the sense of
291
- ).&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
292
-
293
- <p>&lt;/li&gt;</p>
294
-
295
- <pre> &lt;li class=&quot;public &quot;&gt;
296
- &lt;span class=&quot;summary_signature&quot;&gt;
297
-
298
- &lt;a href=&quot;#condition_boolean_vector-instance_method&quot; title=&quot;#condition_boolean_vector (instance method)&quot;&gt;- (Object) &lt;strong&gt;condition_boolean_vector&lt;/strong&gt;(vec, sig = :tanh) &lt;/a&gt;
299
-
300
- &lt;/span&gt;
301
-
302
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
303
-
304
- <p>&lt;p&gt;Helper function to Condition boolean vectors to be +1 if true, -1
305
- if false (0 if sigmoid).&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
306
-
307
- <p>&lt;/li&gt;</p>
308
-
309
- <pre> &lt;li class=&quot;public &quot;&gt;
310
- &lt;span class=&quot;summary_signature&quot;&gt;
311
-
312
- &lt;a href=&quot;#cost-instance_method&quot; title=&quot;#cost (instance method)&quot;&gt;- (Object) &lt;strong&gt;cost&lt;/strong&gt;(&amp;amp;block) &lt;/a&gt;
313
-
314
- &lt;/span&gt;
315
-
316
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
317
-
318
- <p>&lt;p&gt;Calculation to add the cost to the fitness, resulting in a fitness
319
- that incorporates the cost for sorting purposes.&lt;/p&gt;
320
- &lt;/div&gt;&lt;/span&gt;</p>
321
-
322
- <p>&lt;/li&gt;</p>
323
-
324
- <pre> &lt;li class=&quot;public &quot;&gt;
325
- &lt;span class=&quot;summary_signature&quot;&gt;
326
-
327
- &lt;a href=&quot;#define-instance_method&quot; title=&quot;#define (instance method)&quot;&gt;- (Object) &lt;strong&gt;define&lt;/strong&gt;(name = NEAT.random_name_generator, &amp;amp;block) &lt;/a&gt;
328
-
329
- &lt;/span&gt;
330
-
331
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
332
-
333
- <p>&lt;p&gt;DSL – Define defines the parameters to the controller.&lt;/p&gt;
334
- &lt;/div&gt;&lt;/span&gt;</p>
335
-
336
- <p>&lt;/li&gt;</p>
337
-
338
- <pre> &lt;li class=&quot;public &quot;&gt;
339
- &lt;span class=&quot;summary_signature&quot;&gt;
340
-
341
- &lt;a href=&quot;#evolve-instance_method&quot; title=&quot;#evolve (instance method)&quot;&gt;- (Object) &lt;strong&gt;evolve&lt;/strong&gt;(&amp;amp;block) &lt;/a&gt;
342
-
343
- &lt;/span&gt;
344
-
345
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
346
-
347
- <p>&lt;p&gt;DSL – Run evolution.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
348
-
349
- <p>&lt;/li&gt;</p>
350
-
351
- <pre> &lt;li class=&quot;public &quot;&gt;
352
- &lt;span class=&quot;summary_signature&quot;&gt;
353
-
354
- &lt;a href=&quot;#fitness-instance_method&quot; title=&quot;#fitness (instance method)&quot;&gt;- (Object) &lt;strong&gt;fitness&lt;/strong&gt;(&amp;amp;block) &lt;/a&gt;
355
-
356
- &lt;/span&gt;
357
-
358
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
359
-
360
- <p>&lt;p&gt;fitness function calls the block with 2 vectors or two hashes,
361
- input and output vectors of the critter being evaluated for fitness, as
362
- well as a sequence number that can be used to index what the actual output
363
- should be.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
364
-
365
- <p>&lt;/li&gt;</p>
366
-
367
- <pre> &lt;li class=&quot;public &quot;&gt;
368
- &lt;span class=&quot;summary_signature&quot;&gt;
369
-
370
- &lt;a href=&quot;#method_missing-instance_method&quot; title=&quot;#method_missing (instance method)&quot;&gt;- (Object) &lt;strong&gt;method_missing&lt;/strong&gt;(m, *args, &amp;amp;block) &lt;/a&gt;
371
-
372
- &lt;/span&gt;
373
-
374
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
375
-
376
- <p>&lt;p&gt;This is used to handle the details of our DSL.&lt;/p&gt;
377
- &lt;/div&gt;&lt;/span&gt;</p>
378
-
379
- <p>&lt;/li&gt;</p>
380
-
381
- <pre> &lt;li class=&quot;public &quot;&gt;
382
- &lt;span class=&quot;summary_signature&quot;&gt;
383
-
384
- &lt;a href=&quot;#query-instance_method&quot; title=&quot;#query (instance method)&quot;&gt;- (Object) &lt;strong&gt;query&lt;/strong&gt;(&amp;amp;block) &lt;/a&gt;
385
-
386
- &lt;/span&gt;
387
-
388
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
389
-
390
- <p>&lt;p&gt;Query function is called with the sequence (time evolution)
391
- number, and returns an array or hash of parameters that will be given to
392
- the input nodes.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
393
-
394
- <p>&lt;/li&gt;</p>
395
-
396
- <pre> &lt;li class=&quot;public &quot;&gt;
397
- &lt;span class=&quot;summary_signature&quot;&gt;
398
-
399
- &lt;a href=&quot;#recurrence-instance_method&quot; title=&quot;#recurrence (instance method)&quot;&gt;- (Object) &lt;strong&gt;recurrence&lt;/strong&gt;(&amp;amp;block) &lt;/a&gt;
400
-
401
- &lt;/span&gt;
402
-
403
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;&lt;/div&gt;&lt;/span&gt;</pre>
404
-
405
- <p>&lt;/li&gt;</p>
406
-
407
- <pre> &lt;li class=&quot;public &quot;&gt;
408
- &lt;span class=&quot;summary_signature&quot;&gt;
409
-
410
- &lt;a href=&quot;#report-instance_method&quot; title=&quot;#report (instance method)&quot;&gt;- (Object) &lt;strong&gt;report&lt;/strong&gt;(&amp;amp;block) &lt;/a&gt;
411
-
412
- &lt;/span&gt;
413
-
414
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
415
-
416
- <p>&lt;p&gt;Report on evaluations.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
417
-
418
- <p>&lt;/li&gt;</p>
419
-
420
- <pre> &lt;li class=&quot;public &quot;&gt;
421
- &lt;span class=&quot;summary_signature&quot;&gt;
422
-
423
- &lt;a href=&quot;#run_engine-instance_method&quot; title=&quot;#run_engine (instance method)&quot;&gt;- (Object) &lt;strong&gt;run_engine&lt;/strong&gt;(&amp;amp;block) &lt;/a&gt;
424
-
425
- &lt;/span&gt;
426
-
427
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
428
-
429
- <p>&lt;p&gt;Run the engine.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
430
-
431
- <p>&lt;/li&gt;</p>
432
-
433
- <pre> &lt;li class=&quot;public &quot;&gt;
434
- &lt;span class=&quot;summary_signature&quot;&gt;
435
-
436
- &lt;a href=&quot;#simple_fitness_error-instance_method&quot; title=&quot;#simple_fitness_error (instance method)&quot;&gt;- (Object) &lt;strong&gt;simple_fitness_error&lt;/strong&gt;(v1, v2) &lt;/a&gt;
437
-
438
- &lt;/span&gt;
439
-
440
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
441
-
442
- <p>&lt;p&gt;Helper function to do a simple fitness calculation on the basis of
443
- the sum of the square of the diffences of the element in the two
444
- vectors.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
445
-
446
- <p>&lt;/li&gt;</p>
447
-
448
- <pre> &lt;li class=&quot;public &quot;&gt;
449
- &lt;span class=&quot;summary_signature&quot;&gt;
450
-
451
- &lt;a href=&quot;#stop_on_fitness-instance_method&quot; title=&quot;#stop_on_fitness (instance method)&quot;&gt;- (Object) &lt;strong&gt;stop_on_fitness&lt;/strong&gt;(&amp;amp;block) &lt;/a&gt;
452
-
453
- &lt;/span&gt;
454
-
455
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
456
-
457
- <p>&lt;p&gt;Stop the progression once the fitness criteria is reached for the
458
- most fit critter.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
459
-
460
- <p>&lt;/li&gt;</p>
461
-
462
- <pre> &lt;li class=&quot;public &quot;&gt;
463
- &lt;span class=&quot;summary_signature&quot;&gt;
464
-
465
- &lt;a href=&quot;#uncondition_boolean_vector-instance_method&quot; title=&quot;#uncondition_boolean_vector (instance method)&quot;&gt;- (Object) &lt;strong&gt;uncondition_boolean_vector&lt;/strong&gt;(vec, sig = :tanh) &lt;/a&gt;
466
-
467
- &lt;/span&gt;
468
-
469
- &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
470
-
471
- <p>&lt;p&gt;Helper function to Uncondition boolean vectors to be +1 if true,
472
- -1 if false FIXME we need a better discrimination function.&lt;/p&gt;
473
- &lt;/div&gt;&lt;/span&gt;</p>
474
-
475
- <p>&lt;/li&gt;</p>
476
-
477
- <pre> &lt;/ul&gt;
478
-
479
- &lt;h3 class=&quot;inherited&quot;&gt;Methods included from &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html&quot; title=&quot;NEAT (module)&quot;&gt;NEAT&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
480
- &lt;p class=&quot;inherited&quot;&gt;&lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html#controller-class_method&quot; title=&quot;NEAT.controller (method)&quot;&gt;controller&lt;/a&gt;&lt;/span&gt;, &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html#controller%3D-class_method&quot; title=&quot;NEAT.controller= (method)&quot;&gt;controller=&lt;/a&gt;&lt;/span&gt;, &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html#create_controller-class_method&quot; title=&quot;NEAT.create_controller (method)&quot;&gt;create_controller&lt;/a&gt;&lt;/span&gt;, &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html#dpp-class_method&quot; title=&quot;NEAT.dpp (method)&quot;&gt;dpp&lt;/a&gt;&lt;/span&gt;, &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html#gaussian-class_method&quot; title=&quot;NEAT.gaussian (method)&quot;&gt;gaussian&lt;/a&gt;&lt;/span&gt;, &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html#new_innovation-class_method&quot; title=&quot;NEAT.new_innovation (method)&quot;&gt;new_innovation&lt;/a&gt;&lt;/span&gt;, &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NEAT.html#random_name_generator-class_method&quot; title=&quot;NEAT.random_name_generator (method)&quot;&gt;random_name_generator&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</pre>
481
-
482
- <p>&lt;div id=“method_missing_details” class=“method_details_list”&gt;</p>
483
-
484
- <pre class="ruby"><span class="ruby-operator">&lt;</span><span class="ruby-identifier">h2</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">Dynamic</span> <span class="ruby-constant">Method</span> <span class="ruby-constant">Handling</span><span class="ruby-operator">&lt;</span><span class="ruby-regexp">/h2&gt;
485
- &lt;p class=&quot;notice this&quot;&gt;
486
- This class handles dynamic methods through the &lt;tt&gt;method_missing&lt;/</span><span class="ruby-identifier">tt</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">method</span>
487
-
488
- <span class="ruby-operator">&lt;</span><span class="ruby-regexp">/p&gt;
489
-
490
- &lt;div class=&quot;method_details first&quot;&gt;
491
- &lt;h3 class=&quot;signature first&quot; id=&quot;method_missing-instance_method&quot;&gt;
492
-
493
- - (&lt;tt&gt;Object&lt;/</span><span class="ruby-identifier">tt</span><span class="ruby-operator">&gt;</span>) <span class="ruby-operator">&lt;</span><span class="ruby-identifier">strong</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">method_missing</span><span class="ruby-operator">&lt;</span><span class="ruby-regexp">/strong&gt;(m, *args, &amp;amp;block)
494
- </span></pre>
495
-
496
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
497
-
498
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
499
-
500
- <p>&lt;p&gt;This is used to handle the details of our DSL.&lt;/p&gt;</p>
501
-
502
- <pre>&lt;/div&gt;</pre>
503
-
504
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
505
-
506
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
507
-
508
- <pre>&lt;tr&gt;
509
- &lt;td&gt;
510
- &lt;pre class=&quot;lines&quot;&gt;</pre>
511
-
512
- <p>114 115 116 117 118 119 120 121 122 123 124&lt;/pre&gt;</p>
513
-
514
- <pre>&lt;/td&gt;
515
- &lt;td&gt;
516
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 114&lt;/span&gt;</pre>
517
-
518
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
519
- identifier
520
- rubyid_method_missing&#39;&gt;method_missing&lt;/span&gt;&lt;span
521
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier
522
- rubyid_m&#39;&gt;m&lt;/span&gt;&lt;span
523
- class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span
524
- class=&#39;op&#39;&gt;*&lt;/span&gt;&lt;span class=&#39;id identifier
525
- rubyid_args&#39;&gt;args&lt;/span&gt;&lt;span
526
- class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span
527
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
528
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
529
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
530
-
531
- <pre>&lt;span class=&#39;comment&#39;&gt;# we want to catch parameters settings here.</pre>
532
-
533
- <p>&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;if&lt;/span&gt; &lt;span
534
- class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span
535
- class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier
536
- rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span
537
- class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
538
- rubyid_parms&#39;&gt;parms&lt;/span&gt;&lt;span
539
- class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
540
- rubyid_respond_to?&#39;&gt;respond_to?&lt;/span&gt; &lt;span
541
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier
542
- rubyid_assignment&#39;&gt;assignment&lt;/span&gt; &lt;span
543
- class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span
544
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier
545
- rubyid_m&#39;&gt;m&lt;/span&gt;&lt;span
546
- class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
547
- rubyid_to_s&#39;&gt;to_s&lt;/span&gt; &lt;span
548
- class=&#39;op&#39;&gt;+&lt;/span&gt; &lt;span
549
- class=&#39;tstring&#39;&gt;&lt;span
550
- class=&#39;tstring_beg&#39;&gt;&amp;#39;&lt;/span&gt;&lt;span
551
- class=&#39;tstring_content&#39;&gt;=&lt;/span&gt;&lt;span
552
- class=&#39;tstring_end&#39;&gt;&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;span
553
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;&lt;span
554
- class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
555
- rubyid_to_sym&#39;&gt;to_sym&lt;/span&gt;&lt;span
556
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
557
-
558
- <pre> &lt;span class=&#39;id identifier rubyid_raise&#39;&gt;raise&lt;/span&gt; &lt;span class=&#39;const&#39;&gt;NeatException&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_new&#39;&gt;new&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;tstring&#39;&gt;&lt;span class=&#39;tstring_beg&#39;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&#39;tstring_content&#39;&gt;Missing value(s) to %s&lt;/span&gt;&lt;span class=&#39;tstring_end&#39;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;%&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_m&#39;&gt;m&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;if&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_args&#39;&gt;args&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_empty?&#39;&gt;empty?&lt;/span&gt;
559
- &lt;span class=&#39;id identifier rubyid_val&#39;&gt;val&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_args&#39;&gt;args&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_size&#39;&gt;size&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;==&lt;/span&gt; &lt;span class=&#39;int&#39;&gt;1&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;?&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_args&#39;&gt;args&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;int&#39;&gt;0&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;:&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_args&#39;&gt;args&lt;/span&gt;
560
- &lt;span class=&#39;gvar&#39;&gt;$log&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_debug&#39;&gt;debug&lt;/span&gt; &lt;span class=&#39;lbrace&#39;&gt;{&lt;/span&gt; &lt;span class=&#39;tstring&#39;&gt;&lt;span class=&#39;tstring_beg&#39;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&#39;tstring_content&#39;&gt;Caught method %s with parameter of %s&lt;/span&gt;&lt;span class=&#39;tstring_end&#39;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;%&lt;/span&gt; &lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_assignment&#39;&gt;assignment&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_val&#39;&gt;val&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt; &lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;
561
- &lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_parms&#39;&gt;parms&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_send&#39;&gt;send&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_assignment&#39;&gt;assignment&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_val&#39;&gt;val&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;
562
- &lt;span class=&#39;kw&#39;&gt;else&lt;/span&gt;
563
- &lt;span class=&#39;kw&#39;&gt;super&lt;/span&gt;
564
- &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;</pre>
565
-
566
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
567
-
568
- <pre> &lt;/td&gt;
569
- &lt;/tr&gt;</pre>
570
-
571
- <p>&lt;/table&gt; &lt;/div&gt;</p>
572
-
573
- <p>&lt;/div&gt;</p>
574
-
575
- <pre>&lt;div id=&quot;instance_method_details&quot; class=&quot;method_details_list&quot;&gt;
576
- &lt;h2&gt;Instance Method Details&lt;/h2&gt;
577
-
578
- &lt;div class=&quot;method_details first&quot;&gt;
579
- &lt;h3 class=&quot;signature first&quot; id=&quot;compare-instance_method&quot;&gt;
580
-
581
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;compare&lt;/strong&gt;(&amp;amp;block)</pre>
582
-
583
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
584
-
585
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
586
-
587
- <p>&lt;p&gt;Fitness ordering – given 2 fitness numbers, use the
588
- &amp;lt;=&amp;gt; to compare them (or the equivalent, following the +1, 0,
589
- -1 that is in the sense of &amp;lt;=&amp;gt;)&lt;/p&gt;</p>
590
-
591
- <pre>&lt;/div&gt;</pre>
592
-
593
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
594
-
595
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
596
-
597
- <pre>&lt;tr&gt;
598
- &lt;td&gt;
599
- &lt;pre class=&quot;lines&quot;&gt;</pre>
600
-
601
- <p>63 64 65&lt;/pre&gt;</p>
602
-
603
- <pre>&lt;/td&gt;
604
- &lt;td&gt;
605
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 63&lt;/span&gt;</pre>
606
-
607
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
608
- identifier rubyid_compare&#39;&gt;compare&lt;/span&gt;&lt;span
609
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
610
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
611
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
612
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
613
-
614
- <pre>&lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_compare_func&#39;&gt;compare_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;</pre>
615
-
616
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
617
-
618
- <pre> &lt;/td&gt;
619
- &lt;/tr&gt;</pre>
620
-
621
- <p>&lt;/table&gt; &lt;/div&gt;</p>
622
-
623
- <pre> &lt;div class=&quot;method_details &quot;&gt;
624
- &lt;h3 class=&quot;signature &quot; id=&quot;condition_boolean_vector-instance_method&quot;&gt;
625
-
626
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;condition_boolean_vector&lt;/strong&gt;(vec, sig = :tanh)</pre>
627
-
628
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
629
-
630
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
631
-
632
- <p>&lt;p&gt;Helper function to Condition boolean vectors to be +1 if true, -1
633
- if false (0 if sigmoid)&lt;/p&gt;</p>
634
-
635
- <pre>&lt;/div&gt;</pre>
636
-
637
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
638
-
639
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
640
-
641
- <pre>&lt;tr&gt;
642
- &lt;td&gt;
643
- &lt;pre class=&quot;lines&quot;&gt;</pre>
644
-
645
- <p>81 82 83&lt;/pre&gt;</p>
646
-
647
- <pre>&lt;/td&gt;
648
- &lt;td&gt;
649
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 81&lt;/span&gt;</pre>
650
-
651
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
652
- identifier
653
- rubyid_condition_boolean_vector&#39;&gt;condition_boolean_vector&lt;/span&gt;&lt;span
654
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier
655
- rubyid_vec&#39;&gt;vec&lt;/span&gt;&lt;span
656
- class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier
657
- rubyid_sig&#39;&gt;sig&lt;/span&gt; &lt;span
658
- class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span
659
- class=&#39;symbol&#39;&gt;:tanh&lt;/span&gt;&lt;span
660
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
661
-
662
- <pre>&lt;span class=&#39;id identifier rubyid_vec&#39;&gt;vec&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_map&#39;&gt;map&lt;/span&gt;&lt;span class=&#39;lbrace&#39;&gt;{&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_b&#39;&gt;b&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_b&#39;&gt;b&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;?&lt;/span&gt; &lt;span class=&#39;int&#39;&gt;1&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;:&lt;/span&gt; &lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_sig&#39;&gt;sig&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;==&lt;/span&gt; &lt;span class=&#39;symbol&#39;&gt;:sigmoid&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;?&lt;/span&gt; &lt;span class=&#39;int&#39;&gt;0&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;:&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;-&lt;/span&gt;&lt;span class=&#39;int&#39;&gt;1&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;&lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;</pre>
663
-
664
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
665
-
666
- <pre> &lt;/td&gt;
667
- &lt;/tr&gt;</pre>
668
-
669
- <p>&lt;/table&gt; &lt;/div&gt;</p>
670
-
671
- <pre> &lt;div class=&quot;method_details &quot;&gt;
672
- &lt;h3 class=&quot;signature &quot; id=&quot;cost-instance_method&quot;&gt;
673
-
674
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;cost&lt;/strong&gt;(&amp;amp;block)</pre>
675
-
676
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
677
-
678
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
679
-
680
- <p>&lt;p&gt;Calculation to add the cost to the fitness, resulting in a fitness
681
- that incorporates the cost for sorting purposes.&lt;/p&gt;</p>
682
-
683
- <pre>&lt;/div&gt;</pre>
684
-
685
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
686
-
687
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
688
-
689
- <pre>&lt;tr&gt;
690
- &lt;td&gt;
691
- &lt;pre class=&quot;lines&quot;&gt;</pre>
692
-
693
- <p>69 70 71&lt;/pre&gt;</p>
694
-
695
- <pre>&lt;/td&gt;
696
- &lt;td&gt;
697
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 69&lt;/span&gt;</pre>
698
-
699
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
700
- identifier rubyid_cost&#39;&gt;cost&lt;/span&gt;&lt;span
701
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
702
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
703
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
704
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
705
-
706
- <pre>&lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_cost_func&#39;&gt;cost_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;</pre>
707
-
708
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
709
-
710
- <pre> &lt;/td&gt;
711
- &lt;/tr&gt;</pre>
712
-
713
- <p>&lt;/table&gt; &lt;/div&gt;</p>
714
-
715
- <pre> &lt;div class=&quot;method_details &quot;&gt;
716
- &lt;h3 class=&quot;signature &quot; id=&quot;define-instance_method&quot;&gt;
717
-
718
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;define&lt;/strong&gt;(name = NEAT.random_name_generator, &amp;amp;block)</pre>
719
-
720
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
721
-
722
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
723
-
724
- <p>&lt;p&gt;DSL – Define defines the parameters to the controller.&lt;/p&gt;</p>
725
-
726
- <pre>&lt;/div&gt;</pre>
727
-
728
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
729
-
730
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
731
-
732
- <pre>&lt;tr&gt;
733
- &lt;td&gt;
734
- &lt;pre class=&quot;lines&quot;&gt;</pre>
735
-
736
- <p>15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
737
- 36&lt;/pre&gt;</p>
738
-
739
- <pre>&lt;/td&gt;
740
- &lt;td&gt;
741
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 15&lt;/span&gt;</pre>
742
-
743
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
744
- identifier rubyid_define&#39;&gt;define&lt;/span&gt;&lt;span
745
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier
746
- rubyid_name&#39;&gt;name&lt;/span&gt; &lt;span
747
- class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span
748
- class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span
749
- class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
750
- rubyid_random_name_generator&#39;&gt;random_name_generator&lt;/span&gt;&lt;span
751
- class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span
752
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
753
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
754
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
755
-
756
- <pre>&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;
757
- &lt;span class=&#39;symbol&#39;&gt;:inputs&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt;
758
- &lt;span class=&#39;symbol&#39;&gt;:outputs&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt;
759
- &lt;span class=&#39;symbol&#39;&gt;:hidden&lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# we really don&amp;#39;t care about mapping hidden neurons, but we&amp;#39;ll ignore them later.</pre>
760
-
761
- <p>&lt;/span&gt; &lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;&lt;span
762
- class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
763
- rubyid_each&#39;&gt;each&lt;/span&gt; &lt;span
764
- class=&#39;kw&#39;&gt;do&lt;/span&gt; &lt;span
765
- class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier
766
- rubyid_iometh&#39;&gt;iometh&lt;/span&gt;&lt;span
767
- class=&#39;op&#39;&gt;|&lt;/span&gt;</p>
768
-
769
- <pre class="ruby"> <span class="ruby-operator">&lt;</span><span class="ruby-identifier">span</span> <span class="ruby-identifier">class</span>=<span class="ruby-string">&#39;id identifier rubyid_instance_eval&#39;</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">instance_eval</span><span class="ruby-operator">&lt;</span><span class="ruby-regexp">/span&gt; &lt;span class=&#39;tstring&#39;&gt;&lt;span class=&#39;tstring_beg&#39;&gt;%Q[&lt;/s</span><span class="ruby-identifier">pan</span><span class="ruby-operator">&gt;</span><span class="ruby-operator">&lt;</span><span class="ruby-identifier">span</span> <span class="ruby-identifier">class</span>=<span class="ruby-string">&#39;tstring_content&#39;</span><span class="ruby-operator">&gt;</span>
770
- <span class="ruby-keyword">def</span> <span class="ruby-operator">&lt;</span><span class="ruby-operator">/</span><span class="ruby-identifier">span</span><span class="ruby-operator">&gt;</span><span class="ruby-operator">&lt;</span><span class="ruby-identifier">span</span> <span class="ruby-identifier">class</span>=<span class="ruby-string">&#39;embexpr_beg&#39;</span><span class="ruby-operator">&gt;</span><span class="ruby-comment">#{&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_iometh&#39;&gt;iometh&lt;/span&gt;&lt;span class=&#39;embexpr_end&#39;&gt;}&lt;/span&gt;&lt;span class=&#39;tstring_content&#39;&gt;(nodes = nil, &amp;amp;block)</span>
771
- <span class="ruby-identifier">neui</span> = <span class="ruby-keyword">unless</span> <span class="ruby-identifier">nodes</span>.<span class="ruby-identifier">nil?</span>
772
- <span class="ruby-identifier">nodes</span>
773
- <span class="ruby-keyword">else</span>
774
- <span class="ruby-identifier">block</span>.()
775
- <span class="ruby-keyword">end</span>
776
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">neural_</span><span class="ruby-operator">&lt;</span><span class="ruby-node">/span&gt;&lt;span class=&#39;embexpr_beg&#39;&gt;#{&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_iometh&#39;&gt;iometh&lt;/span&gt;&lt;span class=&#39;embexpr_end&#39;&gt;}&lt;/s</span><span class="ruby-identifier">pan</span><span class="ruby-operator">&gt;</span><span class="ruby-operator">&lt;</span><span class="ruby-identifier">span</span> <span class="ruby-identifier">class</span>=<span class="ruby-string">&#39;tstring_content&#39;</span><span class="ruby-operator">&gt;</span> = <span class="ruby-keyword">if</span> <span class="ruby-identifier">neui</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Hash</span>
777
- <span class="ruby-identifier">neui</span>
778
- <span class="ruby-keyword">else</span>
779
- <span class="ruby-constant">Hash</span>[<span class="ruby-identifier">neui</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> [<span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">random_name_generator</span>, <span class="ruby-identifier">n</span>]}]
780
- <span class="ruby-keyword">end</span>
781
- <span class="ruby-keyword">end</span><span class="ruby-operator">&lt;</span><span class="ruby-regexp">/span&gt;&lt;span class=&#39;tstring_end&#39;&gt;]&lt;/s</span><span class="ruby-identifier">pan</span><span class="ruby-operator">&gt;</span><span class="ruby-operator">&lt;</span><span class="ruby-regexp">/span&gt;
782
- &lt;span class=&#39;kw&#39;&gt;end&lt;/s</span><span class="ruby-identifier">pan</span><span class="ruby-operator">&gt;</span>
783
- <span class="ruby-operator">&lt;</span><span class="ruby-identifier">span</span> <span class="ruby-identifier">class</span>=<span class="ruby-string">&#39;id identifier rubyid_block&#39;</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">block</span><span class="ruby-operator">&lt;</span><span class="ruby-regexp">/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/s</span><span class="ruby-identifier">pan</span><span class="ruby-operator">&gt;</span><span class="ruby-operator">&lt;</span><span class="ruby-identifier">span</span> <span class="ruby-identifier">class</span>=<span class="ruby-string">&#39;lparen&#39;</span><span class="ruby-operator">&gt;</span>(<span class="ruby-operator">&lt;</span><span class="ruby-regexp">/span&gt;&lt;span class=&#39;const&#39;&gt;NEAT&lt;/s</span><span class="ruby-identifier">pan</span><span class="ruby-operator">&gt;</span><span class="ruby-operator">&lt;</span><span class="ruby-identifier">span</span> <span class="ruby-identifier">class</span>=<span class="ruby-string">&#39;op&#39;</span><span class="ruby-operator">&gt;</span><span class="ruby-operator">::</span><span class="ruby-operator">&lt;</span><span class="ruby-regexp">/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/s</span><span class="ruby-identifier">pan</span><span class="ruby-operator">&gt;</span><span class="ruby-operator">&lt;</span><span class="ruby-identifier">span</span> <span class="ruby-identifier">class</span>=<span class="ruby-string">&#39;rparen&#39;</span><span class="ruby-operator">&gt;</span>)<span class="ruby-operator">&lt;</span><span class="ruby-regexp">/span&gt;
784
- </span></pre>
785
-
786
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
787
-
788
- <pre> &lt;/td&gt;
789
- &lt;/tr&gt;</pre>
790
-
791
- <p>&lt;/table&gt; &lt;/div&gt;</p>
792
-
793
- <pre> &lt;div class=&quot;method_details &quot;&gt;
794
- &lt;h3 class=&quot;signature &quot; id=&quot;evolve-instance_method&quot;&gt;
795
-
796
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;evolve&lt;/strong&gt;(&amp;amp;block)</pre>
797
-
798
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
799
-
800
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
801
-
802
- <p>&lt;p&gt;DSL – Run evolution&lt;/p&gt;</p>
803
-
804
- <pre>&lt;/div&gt;</pre>
805
-
806
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
807
-
808
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
809
-
810
- <pre>&lt;tr&gt;
811
- &lt;td&gt;
812
- &lt;pre class=&quot;lines&quot;&gt;</pre>
813
-
814
- <p>39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
815
- 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
816
- 89 90 91 92 93 94 95 96 97 98 99 100&lt;/pre&gt;</p>
817
-
818
- <pre>&lt;/td&gt;
819
- &lt;td&gt;
820
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 39&lt;/span&gt;</pre>
821
-
822
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
823
- identifier rubyid_evolve&#39;&gt;evolve&lt;/span&gt;&lt;span
824
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
825
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
826
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
827
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
828
-
829
- <pre>&lt;span class=&#39;comment&#39;&gt;# Query function is called with the sequence (time evolution) number,</pre>
830
-
831
- <p>&lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# and returns an array
832
- or hash of parameters that will be given &lt;/span&gt; &lt;span
833
- class=&#39;comment&#39;&gt;# to the input nodes. In the case of hash, the
834
- keys in the hash &lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# shall
835
- correspond to the names given to the input neurons. &lt;/span&gt; &lt;span
836
- class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id identifier
837
- rubyid_query&#39;&gt;query&lt;/span&gt;&lt;span
838
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
839
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
840
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
841
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
842
-
843
- <pre> &lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_query_func&#39;&gt;query_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;
844
- &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;
845
-
846
- &lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_recurrence&#39;&gt;recurrence&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;
847
- &lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_recurrence_func&#39;&gt;recurrence_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;
848
- &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;
849
-
850
- &lt;span class=&#39;comment&#39;&gt;# fitness function calls the block with 2 vectors or two hashes, input and output</pre>
851
-
852
- <p>&lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# vectors of the critter
853
- being evaluated for fitness, as well as a sequence &lt;/span&gt; &lt;span
854
- class=&#39;comment&#39;&gt;# number that can be used to index what the
855
- actual output should be. &lt;/span&gt; &lt;span
856
- class=&#39;comment&#39;&gt;# |vin, vout, seq| &lt;/span&gt; &lt;span
857
- class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id identifier
858
- rubyid_fitness&#39;&gt;fitness&lt;/span&gt;&lt;span
859
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
860
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
861
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
862
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
863
-
864
- <pre> &lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_fitness_func&#39;&gt;fitness_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;
865
- &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;
866
-
867
- &lt;span class=&#39;comment&#39;&gt;# Fitness ordering -- given 2 fitness numbers,</pre>
868
-
869
- <p>&lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# use the
870
- &amp;lt;=&amp;gt; to compare them (or the equivalent, following
871
- &lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# the +1, 0, -1 that is
872
- in the sense of &amp;lt;=&amp;gt;) &lt;/span&gt; &lt;span
873
- class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id identifier
874
- rubyid_compare&#39;&gt;compare&lt;/span&gt;&lt;span
875
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
876
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
877
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
878
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
879
-
880
- <pre> &lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_compare_func&#39;&gt;compare_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;
881
- &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;
882
-
883
- &lt;span class=&#39;comment&#39;&gt;# Calculation to add the cost to the fitness, resulting in a fitness</pre>
884
-
885
- <p>&lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# that incorporates the
886
- cost for sorting purposes. &lt;/span&gt; &lt;span
887
- class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id identifier
888
- rubyid_cost&#39;&gt;cost&lt;/span&gt;&lt;span
889
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
890
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
891
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
892
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
893
-
894
- <pre> &lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_cost_func&#39;&gt;cost_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;
895
- &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;
896
-
897
- &lt;span class=&#39;comment&#39;&gt;# Stop the progression once the fitness criteria is reached</pre>
898
-
899
- <p>&lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# for the most fit
900
- critter &lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt;
901
- &lt;span class=&#39;id identifier
902
- rubyid_stop_on_fitness&#39;&gt;stop_on_fitness&lt;/span&gt;&lt;span
903
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
904
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
905
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
906
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
907
-
908
- <pre> &lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_stop_on_fit_func&#39;&gt;stop_on_fit_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;
909
- &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;
910
-
911
- &lt;span class=&#39;comment&#39;&gt;# Helper function to</pre>
912
-
913
- <p>&lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# Condition boolean
914
- vectors to be +1 if true, -1 if false (0 if sigmoid) &lt;/span&gt;
915
- &lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
916
- identifier
917
- rubyid_condition_boolean_vector&#39;&gt;condition_boolean_vector&lt;/span&gt;&lt;span
918
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier
919
- rubyid_vec&#39;&gt;vec&lt;/span&gt;&lt;span
920
- class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier
921
- rubyid_sig&#39;&gt;sig&lt;/span&gt; &lt;span
922
- class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span
923
- class=&#39;symbol&#39;&gt;:tanh&lt;/span&gt;&lt;span
924
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
925
-
926
- <pre> &lt;span class=&#39;id identifier rubyid_vec&#39;&gt;vec&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_map&#39;&gt;map&lt;/span&gt;&lt;span class=&#39;lbrace&#39;&gt;{&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_b&#39;&gt;b&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_b&#39;&gt;b&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;?&lt;/span&gt; &lt;span class=&#39;int&#39;&gt;1&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;:&lt;/span&gt; &lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_sig&#39;&gt;sig&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;==&lt;/span&gt; &lt;span class=&#39;symbol&#39;&gt;:sigmoid&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;?&lt;/span&gt; &lt;span class=&#39;int&#39;&gt;0&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;:&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;-&lt;/span&gt;&lt;span class=&#39;int&#39;&gt;1&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;&lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;
927
- &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;
928
-
929
- &lt;span class=&#39;comment&#39;&gt;# Helper function to</pre>
930
-
931
- <p>&lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# Uncondition boolean
932
- vectors to be +1 if true, -1 if false &lt;/span&gt; &lt;span
933
- class=&#39;comment&#39;&gt;# FIXME we need a better discrimination function
934
- &lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span
935
- class=&#39;id identifier
936
- rubyid_uncondition_boolean_vector&#39;&gt;uncondition_boolean_vector&lt;/span&gt;&lt;span
937
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier
938
- rubyid_vec&#39;&gt;vec&lt;/span&gt;&lt;span
939
- class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier
940
- rubyid_sig&#39;&gt;sig&lt;/span&gt; &lt;span
941
- class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span
942
- class=&#39;symbol&#39;&gt;:tanh&lt;/span&gt;&lt;span
943
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
944
-
945
- <pre> &lt;span class=&#39;id identifier rubyid_vec&#39;&gt;vec&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_map&#39;&gt;map&lt;/span&gt;&lt;span class=&#39;lbrace&#39;&gt;{&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_o&#39;&gt;o&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_o&#39;&gt;o&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_sig&#39;&gt;sig&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;==&lt;/span&gt; &lt;span class=&#39;symbol&#39;&gt;:sigmoid&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;?&lt;/span&gt; &lt;span class=&#39;float&#39;&gt;0.5&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;:&lt;/span&gt; &lt;span class=&#39;int&#39;&gt;0&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;?&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;true&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;:&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;false&lt;/span&gt;&lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;
946
- &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;
947
-
948
- &lt;span class=&#39;comment&#39;&gt;# Helper function to do a simple fitness calculation</pre>
949
-
950
- <p>&lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# on the basis of the
951
- sum of the square of the diffences &lt;/span&gt; &lt;span
952
- class=&#39;comment&#39;&gt;# of the element in the two vectors.
953
- &lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span
954
- class=&#39;id identifier
955
- rubyid_simple_fitness_error&#39;&gt;simple_fitness_error&lt;/span&gt;&lt;span
956
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier
957
- rubyid_v1&#39;&gt;v1&lt;/span&gt;&lt;span
958
- class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier
959
- rubyid_v2&#39;&gt;v2&lt;/span&gt;&lt;span
960
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
961
-
962
- <pre> &lt;span class=&#39;id identifier rubyid_sqrt&#39;&gt;sqrt&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_v1&#39;&gt;v1&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_zip&#39;&gt;zip&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_v2&#39;&gt;v2&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_map&#39;&gt;map&lt;/span&gt;&lt;span class=&#39;lbrace&#39;&gt;{&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_a&#39;&gt;a&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_b&#39;&gt;b&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_a&#39;&gt;a&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;-&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_b&#39;&gt;b&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;**&lt;/span&gt; &lt;span class=&#39;float&#39;&gt;2.0&lt;/span&gt;&lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_reduce&#39;&gt;reduce&lt;/span&gt;&lt;span class=&#39;lbrace&#39;&gt;{&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_m&#39;&gt;m&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_c&#39;&gt;c&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_m&#39;&gt;m&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;+&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_c&#39;&gt;c&lt;/span&gt;&lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;
963
- &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;
964
-
965
- &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;</pre>
966
-
967
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
968
-
969
- <pre> &lt;/td&gt;
970
- &lt;/tr&gt;</pre>
971
-
972
- <p>&lt;/table&gt; &lt;/div&gt;</p>
973
-
974
- <pre> &lt;div class=&quot;method_details &quot;&gt;
975
- &lt;h3 class=&quot;signature &quot; id=&quot;fitness-instance_method&quot;&gt;
976
-
977
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;fitness&lt;/strong&gt;(&amp;amp;block)</pre>
978
-
979
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
980
-
981
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
982
-
983
- <p>&lt;p&gt;fitness function calls the block with 2 vectors or two hashes,
984
- input and output vectors of the critter being evaluated for fitness, as
985
- well as a sequence number that can be used to index what the actual output
986
- should be. |vin, vout, seq|&lt;/p&gt;</p>
987
-
988
- <pre>&lt;/div&gt;</pre>
989
-
990
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
991
-
992
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
993
-
994
- <pre>&lt;tr&gt;
995
- &lt;td&gt;
996
- &lt;pre class=&quot;lines&quot;&gt;</pre>
997
-
998
- <p>56 57 58&lt;/pre&gt;</p>
999
-
1000
- <pre>&lt;/td&gt;
1001
- &lt;td&gt;
1002
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 56&lt;/span&gt;</pre>
1003
-
1004
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1005
- identifier rubyid_fitness&#39;&gt;fitness&lt;/span&gt;&lt;span
1006
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
1007
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
1008
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
1009
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
1010
-
1011
- <pre>&lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_fitness_func&#39;&gt;fitness_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;</pre>
1012
-
1013
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1014
-
1015
- <pre> &lt;/td&gt;
1016
- &lt;/tr&gt;</pre>
1017
-
1018
- <p>&lt;/table&gt; &lt;/div&gt;</p>
1019
-
1020
- <pre> &lt;div class=&quot;method_details &quot;&gt;
1021
- &lt;h3 class=&quot;signature &quot; id=&quot;query-instance_method&quot;&gt;
1022
-
1023
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;query&lt;/strong&gt;(&amp;amp;block)</pre>
1024
-
1025
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1026
-
1027
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1028
-
1029
- <p>&lt;p&gt;Query function is called with the sequence (time evolution)
1030
- number, and returns an array or hash of parameters that will be given to
1031
- the input nodes. In the case of hash, the keys in the hash shall correspond
1032
- to the names given to the input neurons.&lt;/p&gt;</p>
1033
-
1034
- <pre>&lt;/div&gt;</pre>
1035
-
1036
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1037
-
1038
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1039
-
1040
- <pre>&lt;tr&gt;
1041
- &lt;td&gt;
1042
- &lt;pre class=&quot;lines&quot;&gt;</pre>
1043
-
1044
- <p>44 45 46&lt;/pre&gt;</p>
1045
-
1046
- <pre>&lt;/td&gt;
1047
- &lt;td&gt;
1048
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 44&lt;/span&gt;</pre>
1049
-
1050
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1051
- identifier rubyid_query&#39;&gt;query&lt;/span&gt;&lt;span
1052
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
1053
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
1054
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
1055
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
1056
-
1057
- <pre>&lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_query_func&#39;&gt;query_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;</pre>
1058
-
1059
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1060
-
1061
- <pre> &lt;/td&gt;
1062
- &lt;/tr&gt;</pre>
1063
-
1064
- <p>&lt;/table&gt; &lt;/div&gt;</p>
1065
-
1066
- <pre> &lt;div class=&quot;method_details &quot;&gt;
1067
- &lt;h3 class=&quot;signature &quot; id=&quot;recurrence-instance_method&quot;&gt;
1068
-
1069
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;recurrence&lt;/strong&gt;(&amp;amp;block)</pre>
1070
-
1071
- <p>&lt;/h3&gt;&lt;table class=“source_code”&gt;</p>
1072
-
1073
- <pre>&lt;tr&gt;
1074
- &lt;td&gt;
1075
- &lt;pre class=&quot;lines&quot;&gt;</pre>
1076
-
1077
- <p>48 49 50&lt;/pre&gt;</p>
1078
-
1079
- <pre>&lt;/td&gt;
1080
- &lt;td&gt;
1081
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 48&lt;/span&gt;</pre>
1082
-
1083
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1084
- identifier rubyid_recurrence&#39;&gt;recurrence&lt;/span&gt;&lt;span
1085
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
1086
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
1087
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
1088
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
1089
-
1090
- <pre>&lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_recurrence_func&#39;&gt;recurrence_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;</pre>
1091
-
1092
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1093
-
1094
- <pre> &lt;/td&gt;
1095
- &lt;/tr&gt;</pre>
1096
-
1097
- <p>&lt;/table&gt; &lt;/div&gt;</p>
1098
-
1099
- <pre> &lt;div class=&quot;method_details &quot;&gt;
1100
- &lt;h3 class=&quot;signature &quot; id=&quot;report-instance_method&quot;&gt;
1101
-
1102
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;report&lt;/strong&gt;(&amp;amp;block)</pre>
1103
-
1104
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1105
-
1106
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1107
-
1108
- <p>&lt;p&gt;Report on evaluations&lt;/p&gt;</p>
1109
-
1110
- <pre>&lt;/div&gt;</pre>
1111
-
1112
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1113
-
1114
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1115
-
1116
- <pre>&lt;tr&gt;
1117
- &lt;td&gt;
1118
- &lt;pre class=&quot;lines&quot;&gt;</pre>
1119
-
1120
- <p>103 104 105&lt;/pre&gt;</p>
1121
-
1122
- <pre>&lt;/td&gt;
1123
- &lt;td&gt;
1124
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 103&lt;/span&gt;</pre>
1125
-
1126
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1127
- identifier rubyid_report&#39;&gt;report&lt;/span&gt;&lt;span
1128
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
1129
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
1130
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
1131
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
1132
-
1133
- <pre>&lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_report_hook&#39;&gt;report_hook&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;</pre>
1134
-
1135
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1136
-
1137
- <pre> &lt;/td&gt;
1138
- &lt;/tr&gt;</pre>
1139
-
1140
- <p>&lt;/table&gt; &lt;/div&gt;</p>
1141
-
1142
- <pre> &lt;div class=&quot;method_details &quot;&gt;
1143
- &lt;h3 class=&quot;signature &quot; id=&quot;run_engine-instance_method&quot;&gt;
1144
-
1145
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;run_engine&lt;/strong&gt;(&amp;amp;block)</pre>
1146
-
1147
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1148
-
1149
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1150
-
1151
- <p>&lt;p&gt;Run the engine. The block is called on each generation.&lt;/p&gt;</p>
1152
-
1153
- <pre>&lt;/div&gt;</pre>
1154
-
1155
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1156
-
1157
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1158
-
1159
- <pre>&lt;tr&gt;
1160
- &lt;td&gt;
1161
- &lt;pre class=&quot;lines&quot;&gt;</pre>
1162
-
1163
- <p>108 109 110 111&lt;/pre&gt;</p>
1164
-
1165
- <pre>&lt;/td&gt;
1166
- &lt;td&gt;
1167
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 108&lt;/span&gt;</pre>
1168
-
1169
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1170
- identifier rubyid_run_engine&#39;&gt;run_engine&lt;/span&gt;&lt;span
1171
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
1172
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
1173
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
1174
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
1175
-
1176
- <pre>&lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_end_run_func&#39;&gt;end_run_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;
1177
- &lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_run&#39;&gt;run&lt;/span&gt;</pre>
1178
-
1179
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1180
-
1181
- <pre> &lt;/td&gt;
1182
- &lt;/tr&gt;</pre>
1183
-
1184
- <p>&lt;/table&gt; &lt;/div&gt;</p>
1185
-
1186
- <pre> &lt;div class=&quot;method_details &quot;&gt;
1187
- &lt;h3 class=&quot;signature &quot; id=&quot;simple_fitness_error-instance_method&quot;&gt;
1188
-
1189
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;simple_fitness_error&lt;/strong&gt;(v1, v2)</pre>
1190
-
1191
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1192
-
1193
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1194
-
1195
- <p>&lt;p&gt;Helper function to do a simple fitness calculation on the basis of
1196
- the sum of the square of the diffences of the element in the two
1197
- vectors.&lt;/p&gt;</p>
1198
-
1199
- <pre>&lt;/div&gt;</pre>
1200
-
1201
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1202
-
1203
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1204
-
1205
- <pre>&lt;tr&gt;
1206
- &lt;td&gt;
1207
- &lt;pre class=&quot;lines&quot;&gt;</pre>
1208
-
1209
- <p>95 96 97&lt;/pre&gt;</p>
1210
-
1211
- <pre>&lt;/td&gt;
1212
- &lt;td&gt;
1213
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 95&lt;/span&gt;</pre>
1214
-
1215
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1216
- identifier
1217
- rubyid_simple_fitness_error&#39;&gt;simple_fitness_error&lt;/span&gt;&lt;span
1218
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier
1219
- rubyid_v1&#39;&gt;v1&lt;/span&gt;&lt;span
1220
- class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier
1221
- rubyid_v2&#39;&gt;v2&lt;/span&gt;&lt;span
1222
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
1223
-
1224
- <pre>&lt;span class=&#39;id identifier rubyid_sqrt&#39;&gt;sqrt&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_v1&#39;&gt;v1&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_zip&#39;&gt;zip&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_v2&#39;&gt;v2&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_map&#39;&gt;map&lt;/span&gt;&lt;span class=&#39;lbrace&#39;&gt;{&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_a&#39;&gt;a&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_b&#39;&gt;b&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_a&#39;&gt;a&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;-&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_b&#39;&gt;b&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;**&lt;/span&gt; &lt;span class=&#39;float&#39;&gt;2.0&lt;/span&gt;&lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_reduce&#39;&gt;reduce&lt;/span&gt;&lt;span class=&#39;lbrace&#39;&gt;{&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_m&#39;&gt;m&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_c&#39;&gt;c&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_m&#39;&gt;m&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;+&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_c&#39;&gt;c&lt;/span&gt;&lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;</pre>
1225
-
1226
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1227
-
1228
- <pre> &lt;/td&gt;
1229
- &lt;/tr&gt;</pre>
1230
-
1231
- <p>&lt;/table&gt; &lt;/div&gt;</p>
1232
-
1233
- <pre> &lt;div class=&quot;method_details &quot;&gt;
1234
- &lt;h3 class=&quot;signature &quot; id=&quot;stop_on_fitness-instance_method&quot;&gt;
1235
-
1236
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;stop_on_fitness&lt;/strong&gt;(&amp;amp;block)</pre>
1237
-
1238
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1239
-
1240
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1241
-
1242
- <p>&lt;p&gt;Stop the progression once the fitness criteria is reached for the
1243
- most fit critter&lt;/p&gt;</p>
1244
-
1245
- <pre>&lt;/div&gt;</pre>
1246
-
1247
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1248
-
1249
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1250
-
1251
- <pre>&lt;tr&gt;
1252
- &lt;td&gt;
1253
- &lt;pre class=&quot;lines&quot;&gt;</pre>
1254
-
1255
- <p>75 76 77&lt;/pre&gt;</p>
1256
-
1257
- <pre>&lt;/td&gt;
1258
- &lt;td&gt;
1259
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 75&lt;/span&gt;</pre>
1260
-
1261
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1262
- identifier
1263
- rubyid_stop_on_fitness&#39;&gt;stop_on_fitness&lt;/span&gt;&lt;span
1264
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
1265
- class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
1266
- identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
1267
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
1268
-
1269
- <pre>&lt;span class=&#39;const&#39;&gt;NEAT&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_stop_on_fit_func&#39;&gt;stop_on_fit_func&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_block&#39;&gt;block&lt;/span&gt;</pre>
1270
-
1271
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1272
-
1273
- <pre> &lt;/td&gt;
1274
- &lt;/tr&gt;</pre>
1275
-
1276
- <p>&lt;/table&gt; &lt;/div&gt;</p>
1277
-
1278
- <pre> &lt;div class=&quot;method_details &quot;&gt;
1279
- &lt;h3 class=&quot;signature &quot; id=&quot;uncondition_boolean_vector-instance_method&quot;&gt;
1280
-
1281
- - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;uncondition_boolean_vector&lt;/strong&gt;(vec, sig = :tanh)</pre>
1282
-
1283
- <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1284
-
1285
- <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1286
-
1287
- <p>&lt;p&gt;Helper function to Uncondition boolean vectors to be +1 if true,
1288
- -1 if false FIXME we need a better discrimination function&lt;/p&gt;</p>
1289
-
1290
- <pre>&lt;/div&gt;</pre>
1291
-
1292
- <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1293
-
1294
- <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1295
-
1296
- <pre>&lt;tr&gt;
1297
- &lt;td&gt;
1298
- &lt;pre class=&quot;lines&quot;&gt;</pre>
1299
-
1300
- <p>88 89 90&lt;/pre&gt;</p>
1301
-
1302
- <pre>&lt;/td&gt;
1303
- &lt;td&gt;
1304
- &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/dsl.rb&#39;, line 88&lt;/span&gt;</pre>
1305
-
1306
- <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1307
- identifier
1308
- rubyid_uncondition_boolean_vector&#39;&gt;uncondition_boolean_vector&lt;/span&gt;&lt;span
1309
- class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier
1310
- rubyid_vec&#39;&gt;vec&lt;/span&gt;&lt;span
1311
- class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier
1312
- rubyid_sig&#39;&gt;sig&lt;/span&gt; &lt;span
1313
- class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span
1314
- class=&#39;symbol&#39;&gt;:tanh&lt;/span&gt;&lt;span
1315
- class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
1316
-
1317
- <pre>&lt;span class=&#39;id identifier rubyid_vec&#39;&gt;vec&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_map&#39;&gt;map&lt;/span&gt;&lt;span class=&#39;lbrace&#39;&gt;{&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_o&#39;&gt;o&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_o&#39;&gt;o&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_sig&#39;&gt;sig&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;==&lt;/span&gt; &lt;span class=&#39;symbol&#39;&gt;:sigmoid&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;?&lt;/span&gt; &lt;span class=&#39;float&#39;&gt;0.5&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;:&lt;/span&gt; &lt;span class=&#39;int&#39;&gt;0&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;?&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;true&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;:&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;false&lt;/span&gt;&lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;</pre>
1318
-
1319
- <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1320
-
1321
- <pre> &lt;/td&gt;
1322
- &lt;/tr&gt;</pre>
1323
-
1324
- <p>&lt;/table&gt; &lt;/div&gt;</p>
1325
-
1326
- <pre>&lt;/div&gt;</pre>
1327
-
1328
- <p>&lt;/div&gt;</p>
1329
-
1330
- <pre> &lt;div id=&quot;footer&quot;&gt;
1331
- Generated on Sun Mar 16 16:36:51 2014 by
1332
- &lt;a href=&quot;http://yardoc.org&quot; title=&quot;Yay! A Ruby Documentation Tool&quot; target=&quot;_parent&quot;&gt;yard&lt;/a&gt;
1333
- 0.8.7.3 (ruby-2.1.1).</pre>
1334
-
1335
- <p>&lt;/div&gt;</p>
1336
-
1337
- <pre>&lt;/body&gt;</pre>
1338
-
1339
- <p>&lt;/html&gt;</p>
1340
- </main>
1341
-
1342
-
1343
-
1344
- <footer id="validator-badges" role="contentinfo">
1345
- <p><a href="http://validator.w3.org/check/referer">Validate</a>
1346
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
1347
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
1348
- </footer>
1349
-