rubyneat 0.3.5.alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. checksums.yaml +7 -0
  2. data/.directory +4 -0
  3. data/.gitignore.orig +20 -0
  4. data/.idea/.name +1 -0
  5. data/.idea/.rakeTasks +7 -0
  6. data/.idea/dictionaries/trader.xml +3 -0
  7. data/.idea/encodings.xml +5 -0
  8. data/.idea/misc.xml +5 -0
  9. data/.idea/modules.xml +9 -0
  10. data/.idea/rubyneat.iml +197 -0
  11. data/.idea/runConfigurations/invpend_neat.xml +26 -0
  12. data/.idea/runConfigurations/sigdebug_neat.xml +24 -0
  13. data/.idea/runConfigurations/xor_neat.xml +26 -0
  14. data/.idea/runConfigurations/xordebug_neat.xml +24 -0
  15. data/.idea/runConfigurations/xorsin_neat.xml +24 -0
  16. data/.idea/scopes/scope_settings.xml +5 -0
  17. data/.idea/vcs.xml +7 -0
  18. data/.idea/workspace.xml +1124 -0
  19. data/.semver +5 -0
  20. data/.yardoc/checksums +11 -0
  21. data/.yardoc/object_types +0 -0
  22. data/.yardoc/objects/root.dat +0 -0
  23. data/.yardoc/proxy_types +0 -0
  24. data/Gemfile +32 -0
  25. data/Gemfile.lock +135 -0
  26. data/Gemfile.lock.orig +147 -0
  27. data/Guardfile +8 -0
  28. data/Rakefile +61 -0
  29. data/bin/neat +83 -0
  30. data/config/application.rb +5 -0
  31. data/doc/ControllerPoint.html +125 -0
  32. data/doc/CuteA.html +286 -0
  33. data/doc/CuteB.html +297 -0
  34. data/doc/DSL.html +883 -0
  35. data/doc/NEAT/BasicNeuronTypes/BiasNeuron.html +518 -0
  36. data/doc/NEAT/BasicNeuronTypes/CosineNeuron.html +274 -0
  37. data/doc/NEAT/BasicNeuronTypes/InputNeuron.html +366 -0
  38. data/doc/NEAT/BasicNeuronTypes/SigmoidNeuron.html +275 -0
  39. data/doc/NEAT/BasicNeuronTypes/SineNeuron.html +274 -0
  40. data/doc/NEAT/BasicNeuronTypes/TanhNeuron.html +274 -0
  41. data/doc/NEAT/BasicNeuronTypes.html +136 -0
  42. data/doc/NEAT/Controller/NeatSettings.html +3985 -0
  43. data/doc/NEAT/Controller.html +2490 -0
  44. data/doc/NEAT/Critter/Genotype/Gene.html +979 -0
  45. data/doc/NEAT/Critter/Genotype.html +1601 -0
  46. data/doc/NEAT/Critter/Phenotype.html +603 -0
  47. data/doc/NEAT/Critter.html +1037 -0
  48. data/doc/NEAT/DSL.html +1255 -0
  49. data/doc/NEAT/Evaluator.html +420 -0
  50. data/doc/NEAT/Evolver/CritterOp.html +551 -0
  51. data/doc/NEAT/Evolver.html +602 -0
  52. data/doc/NEAT/Expressor.html +327 -0
  53. data/doc/NEAT/Graph/DependencyResolver.html +478 -0
  54. data/doc/NEAT/Graph/GraphException.html +123 -0
  55. data/doc/NEAT/Graph.html +402 -0
  56. data/doc/NEAT/NeatException.html +123 -0
  57. data/doc/NEAT/NeatOb.html +567 -0
  58. data/doc/NEAT/Neuron.html +1067 -0
  59. data/doc/NEAT/Operator.html +162 -0
  60. data/doc/NEAT/Population.html +1961 -0
  61. data/doc/NEAT/Trait.html +169 -0
  62. data/doc/NEAT.html +588 -0
  63. data/doc/_index.html +373 -0
  64. data/doc/class_list.html +54 -0
  65. data/doc/css/common.css +1 -0
  66. data/doc/css/full_list.css +57 -0
  67. data/doc/css/style.css +339 -0
  68. data/doc/file_list.html +53 -0
  69. data/doc/frames.html +26 -0
  70. data/doc/index.html +373 -0
  71. data/doc/js/app.js +219 -0
  72. data/doc/js/full_list.js +178 -0
  73. data/doc/js/jquery.js +4 -0
  74. data/doc/method_list.html +1415 -0
  75. data/doc/top-level-namespace.html +164 -0
  76. data/foo/foo_aquarium_example.rb +38 -0
  77. data/foo/foo_gosu.rb +99 -0
  78. data/foo/foo_rubygoo.rb +104 -0
  79. data/foo/foo_sdl.rb +34 -0
  80. data/foo/icon.png +0 -0
  81. data/lib/rubyneat/critter.rb +374 -0
  82. data/lib/rubyneat/default_neat.rb +10 -0
  83. data/lib/rubyneat/dsl.rb +130 -0
  84. data/lib/rubyneat/evaluator.rb +51 -0
  85. data/lib/rubyneat/evolver.rb +315 -0
  86. data/lib/rubyneat/expressor.rb +110 -0
  87. data/lib/rubyneat/graph.rb +95 -0
  88. data/lib/rubyneat/neuron.rb +152 -0
  89. data/lib/rubyneat/population.rb +227 -0
  90. data/lib/rubyneat/rubyneat.rb +429 -0
  91. data/lib/rubyneat.rb +8 -0
  92. data/neater/invpend_neat.rb +150 -0
  93. data/neater/rnlib/inverted_pendulum.rb +380 -0
  94. data/neater/rnlib/xor.rb +10 -0
  95. data/neater/sigdebug_neat.rb +136 -0
  96. data/neater/xor_neat.rb +137 -0
  97. data/neater/xoranalog_neat.rb +138 -0
  98. data/neater/xorsin_neat.rb +143 -0
  99. data/projectFilesBackup/.idea/rubyneat.iml +180 -0
  100. data/public/.directory +4 -0
  101. data/public/background.png +0 -0
  102. data/public/background.xcf +0 -0
  103. data/public/cart.png +0 -0
  104. data/public/cart.xcf +0 -0
  105. data/public/metalpoles_molton_ball_l.jpg +0 -0
  106. data/public/old_background.png +0 -0
  107. data/public/pointer.png +0 -0
  108. data/public/pointer.xcf +0 -0
  109. data/public/pole.kra +0 -0
  110. data/public/pole.png +0 -0
  111. data/public/pole.xcf +0 -0
  112. data/public/wheel-of-year-stone-DD-131-WOYS.jpg +0 -0
  113. data/public/wheel.png +0 -0
  114. data/public/wheel.xcf +0 -0
  115. data/public/wood-planks-texture.jpg +0 -0
  116. data/rdoc/ControllerPoint.html +116 -0
  117. data/rdoc/CuteA.html +177 -0
  118. data/rdoc/CuteB.html +178 -0
  119. data/rdoc/DSLSetup.html +177 -0
  120. data/rdoc/GameTestWindow.html +242 -0
  121. data/rdoc/GameWindow.html +292 -0
  122. data/rdoc/Gemfile.html +215 -0
  123. data/rdoc/Gemfile_lock.html +327 -0
  124. data/rdoc/GraphTest.html +210 -0
  125. data/rdoc/Guardfile.html +198 -0
  126. data/rdoc/InvertedPendulum/Cart.html +668 -0
  127. data/rdoc/InvertedPendulum/DSL.html +259 -0
  128. data/rdoc/InvertedPendulum/InvPendWindow.html +402 -0
  129. data/rdoc/InvertedPendulum.html +198 -0
  130. data/rdoc/Logger.html +98 -0
  131. data/rdoc/NEAT/BasicNeuronTypes/BiasNeuron.html +265 -0
  132. data/rdoc/NEAT/BasicNeuronTypes/CosineNeuron.html +162 -0
  133. data/rdoc/NEAT/BasicNeuronTypes/InputNeuron.html +206 -0
  134. data/rdoc/NEAT/BasicNeuronTypes/SigmoidNeuron.html +162 -0
  135. data/rdoc/NEAT/BasicNeuronTypes/SineNeuron.html +162 -0
  136. data/rdoc/NEAT/BasicNeuronTypes/TanhNeuron.html +161 -0
  137. data/rdoc/NEAT/BasicNeuronTypes.html +107 -0
  138. data/rdoc/NEAT/Controller/NeatSettings.html +880 -0
  139. data/rdoc/NEAT/Controller.html +729 -0
  140. data/rdoc/NEAT/Critter/Genotype/Gene.html +457 -0
  141. data/rdoc/NEAT/Critter/Genotype.html +735 -0
  142. data/rdoc/NEAT/Critter/Phenotype.html +330 -0
  143. data/rdoc/NEAT/Critter.html +489 -0
  144. data/rdoc/NEAT/DSL.html +729 -0
  145. data/rdoc/NEAT/Evaluator.html +256 -0
  146. data/rdoc/NEAT/Evolver/CritterOp.html +349 -0
  147. data/rdoc/NEAT/Evolver.html +891 -0
  148. data/rdoc/NEAT/Expressor.html +402 -0
  149. data/rdoc/NEAT/Graph/DependencyResolver.html +291 -0
  150. data/rdoc/NEAT/Graph/GraphException.html +105 -0
  151. data/rdoc/NEAT/Graph.html +263 -0
  152. data/rdoc/NEAT/NeatException.html +105 -0
  153. data/rdoc/NEAT/NeatOb.html +325 -0
  154. data/rdoc/NEAT/Neuron.html +481 -0
  155. data/rdoc/NEAT/Operator.html +109 -0
  156. data/rdoc/NEAT/Population.html +935 -0
  157. data/rdoc/NEAT/Trait.html +117 -0
  158. data/rdoc/NEAT.html +422 -0
  159. data/rdoc/Object.html +384 -0
  160. data/rdoc/Phi.html +98 -0
  161. data/rdoc/Player.html +383 -0
  162. data/rdoc/Rakefile.html +254 -0
  163. data/rdoc/RubyNEAT/Application.html +105 -0
  164. data/rdoc/RubyNEAT.html +98 -0
  165. data/rdoc/SDL/Event2.html +98 -0
  166. data/rdoc/SDL.html +98 -0
  167. data/rdoc/Vector.html +195 -0
  168. data/rdoc/created.rid +125 -0
  169. data/rdoc/doc/ControllerPoint_html.html +299 -0
  170. data/rdoc/doc/CuteA_html.html +438 -0
  171. data/rdoc/doc/CuteB_html.html +436 -0
  172. data/rdoc/doc/DSL_html.html +992 -0
  173. data/rdoc/doc/NEAT/BasicNeuronTypes/BiasNeuron_html.html +617 -0
  174. data/rdoc/doc/NEAT/BasicNeuronTypes/CosineNeuron_html.html +413 -0
  175. data/rdoc/doc/NEAT/BasicNeuronTypes/InputNeuron_html.html +498 -0
  176. data/rdoc/doc/NEAT/BasicNeuronTypes/SigmoidNeuron_html.html +413 -0
  177. data/rdoc/doc/NEAT/BasicNeuronTypes/SineNeuron_html.html +413 -0
  178. data/rdoc/doc/NEAT/BasicNeuronTypes/TanhNeuron_html.html +412 -0
  179. data/rdoc/doc/NEAT/BasicNeuronTypes_html.html +310 -0
  180. data/rdoc/doc/NEAT/Controller/NeatSettings_html.html +3324 -0
  181. data/rdoc/doc/NEAT/Controller_html.html +2212 -0
  182. data/rdoc/doc/NEAT/Critter/Genotype/Gene_html.html +997 -0
  183. data/rdoc/doc/NEAT/Critter/Genotype_html.html +1556 -0
  184. data/rdoc/doc/NEAT/Critter/Phenotype_html.html +687 -0
  185. data/rdoc/doc/NEAT/Critter_html.html +1037 -0
  186. data/rdoc/doc/NEAT/DSL_html.html +1349 -0
  187. data/rdoc/doc/NEAT/Evaluator_html.html +556 -0
  188. data/rdoc/doc/NEAT/Evolver/CritterOp_html.html +690 -0
  189. data/rdoc/doc/NEAT/Evolver_html.html +677 -0
  190. data/rdoc/doc/NEAT/Expressor_html.html +468 -0
  191. data/rdoc/doc/NEAT/Graph/DependencyResolver_html.html +598 -0
  192. data/rdoc/doc/NEAT/Graph/GraphException_html.html +299 -0
  193. data/rdoc/doc/NEAT/Graph_html.html +527 -0
  194. data/rdoc/doc/NEAT/NeatException_html.html +299 -0
  195. data/rdoc/doc/NEAT/NeatOb_html.html +671 -0
  196. data/rdoc/doc/NEAT/Neuron_html.html +1095 -0
  197. data/rdoc/doc/NEAT/Operator_html.html +337 -0
  198. data/rdoc/doc/NEAT/Population_html.html +1795 -0
  199. data/rdoc/doc/NEAT/Trait_html.html +344 -0
  200. data/rdoc/doc/NEAT_html.html +736 -0
  201. data/rdoc/doc/_index_html.html +559 -0
  202. data/rdoc/doc/class_list_html.html +369 -0
  203. data/rdoc/doc/css/common_css.html +188 -0
  204. data/rdoc/doc/css/full_list_css.html +243 -0
  205. data/rdoc/doc/css/style_css.html +530 -0
  206. data/rdoc/doc/file_list_html.html +240 -0
  207. data/rdoc/doc/frames_html.html +217 -0
  208. data/rdoc/doc/index_html.html +559 -0
  209. data/rdoc/doc/js/app_js.html +423 -0
  210. data/rdoc/doc/js/full_list_js.html +372 -0
  211. data/rdoc/doc/js/jquery_js.html +1536 -0
  212. data/rdoc/doc/method_list_html.html +1375 -0
  213. data/rdoc/doc/top-level-namespace_html.html +317 -0
  214. data/rdoc/fonts/Lato-Light.ttf +0 -0
  215. data/rdoc/fonts/Lato-LightItalic.ttf +0 -0
  216. data/rdoc/fonts/Lato-Regular.ttf +0 -0
  217. data/rdoc/fonts/Lato-RegularItalic.ttf +0 -0
  218. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  219. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  220. data/rdoc/fonts.css +167 -0
  221. data/rdoc/images/add.png +0 -0
  222. data/rdoc/images/arrow_up.png +0 -0
  223. data/rdoc/images/brick.png +0 -0
  224. data/rdoc/images/brick_link.png +0 -0
  225. data/rdoc/images/bug.png +0 -0
  226. data/rdoc/images/bullet_black.png +0 -0
  227. data/rdoc/images/bullet_toggle_minus.png +0 -0
  228. data/rdoc/images/bullet_toggle_plus.png +0 -0
  229. data/rdoc/images/date.png +0 -0
  230. data/rdoc/images/delete.png +0 -0
  231. data/rdoc/images/find.png +0 -0
  232. data/rdoc/images/loadingAnimation.gif +0 -0
  233. data/rdoc/images/macFFBgHack.png +0 -0
  234. data/rdoc/images/package.png +0 -0
  235. data/rdoc/images/page_green.png +0 -0
  236. data/rdoc/images/page_white_text.png +0 -0
  237. data/rdoc/images/page_white_width.png +0 -0
  238. data/rdoc/images/plugin.png +0 -0
  239. data/rdoc/images/ruby.png +0 -0
  240. data/rdoc/images/tag_blue.png +0 -0
  241. data/rdoc/images/tag_green.png +0 -0
  242. data/rdoc/images/transparent.png +0 -0
  243. data/rdoc/images/wrench.png +0 -0
  244. data/rdoc/images/wrench_orange.png +0 -0
  245. data/rdoc/images/zoom.png +0 -0
  246. data/rdoc/index.html +282 -0
  247. data/rdoc/js/darkfish.js +140 -0
  248. data/rdoc/js/jquery.js +18 -0
  249. data/rdoc/js/navigation.js +142 -0
  250. data/rdoc/js/search.js +109 -0
  251. data/rdoc/js/search_index.js +1 -0
  252. data/rdoc/js/searcher.js +228 -0
  253. data/rdoc/rdoc.css +580 -0
  254. data/rdoc/rubyneat_gemspec.html +387 -0
  255. data/rdoc/table_of_contents.html +2502 -0
  256. data/rdoc/xordebug_log.html +170598 -0
  257. data/rdoc/xorsin_log.html +22569 -0
  258. data/rubyneat.gemspec +347 -0
  259. data/rubyneat.gemspec.orig +375 -0
  260. data/spec/lib/rubyneat/rubyneat_spec.rb +132 -0
  261. metadata +555 -0
@@ -0,0 +1,1556 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>Genotype.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/Critter/Genotype.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>Class: NEAT::Critter::Genotype
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 (G)&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; &amp;raquo; &lt;span class=&#39;title&#39;&gt;&lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../Critter.html&quot; title=&quot;NEAT::Critter (class)&quot;&gt;Critter&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;
220
+ &amp;raquo;
221
+ &lt;span class=&quot;title&quot;&gt;Genotype&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;Class: NEAT::Critter::Genotype</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;Inherits:&lt;/dt&gt;
258
+ &lt;dd class=&quot;r1&quot;&gt;
259
+ &lt;span class=&quot;inheritName&quot;&gt;&lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NeatOb.html&quot; title=&quot;NEAT::NeatOb (class)&quot;&gt;NeatOb&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;
260
+
261
+ &lt;ul class=&quot;fullTree&quot;&gt;
262
+ &lt;li&gt;Object&lt;/li&gt;
263
+
264
+ &lt;li class=&quot;next&quot;&gt;&lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NeatOb.html&quot; title=&quot;NEAT::NeatOb (class)&quot;&gt;NeatOb&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
265
+
266
+ &lt;li class=&quot;next&quot;&gt;NEAT::Critter::Genotype&lt;/li&gt;
267
+
268
+ &lt;/ul&gt;
269
+ &lt;a href=&quot;#&quot; class=&quot;inheritanceTree&quot;&gt;show all&lt;/a&gt;
270
+
271
+ &lt;/dd&gt;
272
+
273
+ &lt;dt class=&quot;r2 last&quot;&gt;Defined in:&lt;/dt&gt;
274
+ &lt;dd class=&quot;r2 last&quot;&gt;lib/rubyneat/critter.rb&lt;/dd&gt;</pre>
275
+
276
+ <p>&lt;/dl&gt; &lt;div class=“clear”&gt;&lt;/div&gt;</p>
277
+
278
+ <p>&lt;h2&gt;Overview&lt;/h2&gt;&lt;div class=“docstring”&gt;</p>
279
+
280
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
281
+
282
+ <p>&lt;h1 id=“label-Genotype+part+of+the+Critter”&gt;Genotype part of the
283
+ Critter&lt;/h1&gt;</p>
284
+
285
+ <p>&lt;p&gt;List of connections, basically.&lt;/p&gt;</p>
286
+
287
+ <p>&lt;p&gt;Also, basic phentypic expression (which may be overriden by the
288
+ expressor)&lt;/p&gt;</p>
289
+
290
+ <p>&lt;h1 id=“label-Notes”&gt;Notes&lt;/h1&gt;</p>
291
+
292
+ <p>&lt;p&gt;Currently, all lists of neurons and genes are Hashes. The neurons
293
+ are indexed by their own names, and the genes are indexed by their
294
+ innovation numbers.&lt;/p&gt;</p>
295
+
296
+ <pre>&lt;/div&gt;</pre>
297
+
298
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
299
+
300
+ <p>&lt;/div&gt;&lt;h2&gt;Defined Under Namespace&lt;/h2&gt; &lt;p
301
+ class=“children”&gt;</p>
302
+
303
+ <pre>&lt;strong class=&quot;classes&quot;&gt;Classes:&lt;/strong&gt; &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;Genotype/Gene.html&quot; title=&quot;NEAT::Critter::Genotype::Gene (class)&quot;&gt;Gene&lt;/a&gt;&lt;/span&gt;</pre>
304
+
305
+ <p>&lt;/p&gt;</p>
306
+
307
+ <pre>&lt;h2&gt;Instance Attribute Summary &lt;small&gt;(&lt;a href=&quot;#&quot; class=&quot;summary_toggle&quot;&gt;collapse&lt;/a&gt;)&lt;/small&gt;&lt;/h2&gt;
308
+ &lt;ul class=&quot;summary&quot;&gt;
309
+
310
+ &lt;li class=&quot;public &quot;&gt;
311
+ &lt;span class=&quot;summary_signature&quot;&gt;
312
+
313
+ &lt;a href=&quot;#critter-instance_method&quot; title=&quot;#critter (instance method)&quot;&gt;- (Object) &lt;strong&gt;critter&lt;/strong&gt; &lt;/a&gt;
314
+
315
+ &lt;/span&gt;
316
+
317
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
318
+
319
+ <p>&lt;p&gt;Critter to which we belong.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
320
+
321
+ <p>&lt;/li&gt;</p>
322
+
323
+ <pre> &lt;li class=&quot;public &quot;&gt;
324
+ &lt;span class=&quot;summary_signature&quot;&gt;
325
+
326
+ &lt;a href=&quot;#dangling_neurons-instance_method&quot; title=&quot;#dangling_neurons (instance method)&quot;&gt;- (Object) &lt;strong&gt;dangling_neurons&lt;/strong&gt; &lt;/a&gt;
327
+
328
+ (also: #dangling_neurons?)
329
+
330
+ &lt;/span&gt;
331
+
332
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
333
+
334
+ <p>&lt;p&gt;This will be set to true if there are dangling neurons.&lt;/p&gt;
335
+ &lt;/div&gt;&lt;/span&gt;</p>
336
+
337
+ <p>&lt;/li&gt;</p>
338
+
339
+ <pre> &lt;li class=&quot;public &quot;&gt;
340
+ &lt;span class=&quot;summary_signature&quot;&gt;
341
+
342
+ &lt;a href=&quot;#genes-instance_method&quot; title=&quot;#genes (instance method)&quot;&gt;- (Object) &lt;strong&gt;genes&lt;/strong&gt; &lt;/a&gt;
343
+
344
+ &lt;/span&gt;
345
+
346
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
347
+
348
+ <p>&lt;p&gt;Genes keyed by innovation numbers.&lt;/p&gt;
349
+ &lt;/div&gt;&lt;/span&gt;</p>
350
+
351
+ <p>&lt;/li&gt;</p>
352
+
353
+ <pre> &lt;li class=&quot;public &quot;&gt;
354
+ &lt;span class=&quot;summary_signature&quot;&gt;
355
+
356
+ &lt;a href=&quot;#neural_gene_map-instance_method&quot; title=&quot;#neural_gene_map (instance method)&quot;&gt;- (Object) &lt;strong&gt;neural_gene_map&lt;/strong&gt; &lt;/a&gt;
357
+
358
+ &lt;/span&gt;
359
+
360
+ &lt;span class=&quot;note title readonly&quot;&gt;readonly&lt;/span&gt;
361
+
362
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
363
+
364
+ <p>&lt;p&gt;Map neurons to the genes that marks them as output { oneu_name
365
+ =&amp;gt; [ gene_1, gene_2,… gene_n], …} Just take the in_neuron name and
366
+ the weight to do the call to that neuron function with the appropriate
367
+ weights.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
368
+
369
+ <p>&lt;/li&gt;</p>
370
+
371
+ <pre> &lt;li class=&quot;public &quot;&gt;
372
+ &lt;span class=&quot;summary_signature&quot;&gt;
373
+
374
+ &lt;a href=&quot;#neural_inputs-instance_method&quot; title=&quot;#neural_inputs (instance method)&quot;&gt;- (Object) &lt;strong&gt;neural_inputs&lt;/strong&gt; &lt;/a&gt;
375
+
376
+ &lt;/span&gt;
377
+
378
+ &lt;span class=&quot;note title readonly&quot;&gt;readonly&lt;/span&gt;
379
+
380
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
381
+
382
+ <p>&lt;p&gt;Instantiations of neural inputs and outputs.&lt;/p&gt;
383
+ &lt;/div&gt;&lt;/span&gt;</p>
384
+
385
+ <p>&lt;/li&gt;</p>
386
+
387
+ <pre> &lt;li class=&quot;public &quot;&gt;
388
+ &lt;span class=&quot;summary_signature&quot;&gt;
389
+
390
+ &lt;a href=&quot;#neural_outputs-instance_method&quot; title=&quot;#neural_outputs (instance method)&quot;&gt;- (Object) &lt;strong&gt;neural_outputs&lt;/strong&gt; &lt;/a&gt;
391
+
392
+ &lt;/span&gt;
393
+
394
+ &lt;span class=&quot;note title readonly&quot;&gt;readonly&lt;/span&gt;
395
+
396
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
397
+
398
+ <p>&lt;p&gt;Instantiations of neural inputs and outputs.&lt;/p&gt;
399
+ &lt;/div&gt;&lt;/span&gt;</p>
400
+
401
+ <p>&lt;/li&gt;</p>
402
+
403
+ <pre> &lt;li class=&quot;public &quot;&gt;
404
+ &lt;span class=&quot;summary_signature&quot;&gt;
405
+
406
+ &lt;a href=&quot;#neurons-instance_method&quot; title=&quot;#neurons (instance method)&quot;&gt;- (Object) &lt;strong&gt;neurons&lt;/strong&gt; &lt;/a&gt;
407
+
408
+ &lt;/span&gt;
409
+
410
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
411
+
412
+ <p>&lt;p&gt;List of neurons hashed by name.&lt;/p&gt;
413
+ &lt;/div&gt;&lt;/span&gt;</p>
414
+
415
+ <p>&lt;/li&gt;</p>
416
+
417
+ <pre>&lt;/ul&gt;
418
+
419
+ &lt;h3 class=&quot;inherited&quot;&gt;Attributes inherited from &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NeatOb.html&quot; title=&quot;NEAT::NeatOb (class)&quot;&gt;NeatOb&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
420
+ &lt;p class=&quot;inherited&quot;&gt;&lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NeatOb.html#controller-instance_method&quot; title=&quot;NEAT::NeatOb#controller (method)&quot;&gt;#controller&lt;/a&gt;&lt;/span&gt;, &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NeatOb.html#name-instance_method&quot; title=&quot;NEAT::NeatOb#name (method)&quot;&gt;#name&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
421
+
422
+ &lt;h2&gt;
423
+ Instance Method Summary
424
+ &lt;small&gt;(&lt;a href=&quot;#&quot; class=&quot;summary_toggle&quot;&gt;collapse&lt;/a&gt;)&lt;/small&gt;
425
+ &lt;/h2&gt;
426
+
427
+ &lt;ul class=&quot;summary&quot;&gt;
428
+
429
+ &lt;li class=&quot;public &quot;&gt;
430
+ &lt;span class=&quot;summary_signature&quot;&gt;
431
+
432
+ &lt;a href=&quot;#add_genes-instance_method&quot; title=&quot;#add_genes (instance method)&quot;&gt;- (Object) &lt;strong&gt;add_genes&lt;/strong&gt;(*genes) &lt;/a&gt;
433
+
434
+ &lt;/span&gt;
435
+
436
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
437
+
438
+ <p>&lt;p&gt;Genes added here MUST correspond to pre-existing
439
+ neurons.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
440
+
441
+ <p>&lt;/li&gt;</p>
442
+
443
+ <pre> &lt;li class=&quot;public &quot;&gt;
444
+ &lt;span class=&quot;summary_signature&quot;&gt;
445
+
446
+ &lt;a href=&quot;#add_neurons-instance_method&quot; title=&quot;#add_neurons (instance method)&quot;&gt;- (Object) &lt;strong&gt;add_neurons&lt;/strong&gt;(*neus) &lt;/a&gt;
447
+
448
+ &lt;/span&gt;
449
+
450
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
451
+
452
+ <p>&lt;p&gt;Add new neurons to the fold.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
453
+
454
+ <p>&lt;/li&gt;</p>
455
+
456
+ <pre> &lt;li class=&quot;public &quot;&gt;
457
+ &lt;span class=&quot;summary_signature&quot;&gt;
458
+
459
+ &lt;a href=&quot;#dump_s-instance_method&quot; title=&quot;#dump_s (instance method)&quot;&gt;- (Object) &lt;strong&gt;dump_s&lt;/strong&gt; &lt;/a&gt;
460
+
461
+ &lt;/span&gt;
462
+
463
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;&lt;/div&gt;&lt;/span&gt;</pre>
464
+
465
+ <p>&lt;/li&gt;</p>
466
+
467
+ <pre> &lt;li class=&quot;public &quot;&gt;
468
+ &lt;span class=&quot;summary_signature&quot;&gt;
469
+
470
+ &lt;a href=&quot;#fitness_cost-instance_method&quot; title=&quot;#fitness_cost (instance method)&quot;&gt;- (Object) &lt;strong&gt;fitness_cost&lt;/strong&gt; &lt;/a&gt;
471
+
472
+ &lt;/span&gt;
473
+
474
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
475
+
476
+ <p>&lt;p&gt;Calculate the cost of this genotype.&lt;/p&gt;
477
+ &lt;/div&gt;&lt;/span&gt;</p>
478
+
479
+ <p>&lt;/li&gt;</p>
480
+
481
+ <pre> &lt;li class=&quot;public &quot;&gt;
482
+ &lt;span class=&quot;summary_signature&quot;&gt;
483
+
484
+ &lt;a href=&quot;#forget%21-instance_method&quot; title=&quot;#forget! (instance method)&quot;&gt;- (Object) &lt;strong&gt;forget!&lt;/strong&gt; &lt;/a&gt;
485
+
486
+ &lt;/span&gt;
487
+
488
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
489
+
490
+ <p>&lt;p&gt;Make the neurons forget their wiring.&lt;/p&gt;
491
+ &lt;/div&gt;&lt;/span&gt;</p>
492
+
493
+ <p>&lt;/li&gt;</p>
494
+
495
+ <pre> &lt;li class=&quot;public &quot;&gt;
496
+ &lt;span class=&quot;summary_signature&quot;&gt;
497
+
498
+ &lt;a href=&quot;#initialize-instance_method&quot; title=&quot;#initialize (instance method)&quot;&gt;- (Genotype) &lt;strong&gt;initialize&lt;/strong&gt;(critter, mating = false, &amp;amp;block) &lt;/a&gt;
499
+
500
+ &lt;/span&gt;
501
+
502
+ &lt;span class=&quot;note title constructor&quot;&gt;constructor&lt;/span&gt;
503
+
504
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
505
+
506
+ <p>&lt;p&gt;A new instance of Genotype.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
507
+
508
+ <p>&lt;/li&gt;</p>
509
+
510
+ <pre> &lt;li class=&quot;public &quot;&gt;
511
+ &lt;span class=&quot;summary_signature&quot;&gt;
512
+
513
+ &lt;a href=&quot;#innervate%21-instance_method&quot; title=&quot;#innervate! (instance method)&quot;&gt;- (Object) &lt;strong&gt;innervate!&lt;/strong&gt;(*hneus) &lt;/a&gt;
514
+
515
+ &lt;/span&gt;
516
+
517
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
518
+
519
+ <p>&lt;p&gt;We take the neural hashes (presumably from other neurons), and
520
+ innervate them.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
521
+
522
+ <p>&lt;/li&gt;</p>
523
+
524
+ <pre> &lt;li class=&quot;public &quot;&gt;
525
+ &lt;span class=&quot;summary_signature&quot;&gt;
526
+
527
+ &lt;a href=&quot;#neucleate-instance_method&quot; title=&quot;#neucleate (instance method)&quot;&gt;- (Object) &lt;strong&gt;neucleate&lt;/strong&gt;(clean: true, &amp;amp;block) &lt;/a&gt;
528
+
529
+ &lt;/span&gt;
530
+
531
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
532
+
533
+ <p>&lt;p&gt;We add genes given here to the genome.&lt;/p&gt;
534
+ &lt;/div&gt;&lt;/span&gt;</p>
535
+
536
+ <p>&lt;/li&gt;</p>
537
+
538
+ <pre> &lt;li class=&quot;public &quot;&gt;
539
+ &lt;span class=&quot;summary_signature&quot;&gt;
540
+
541
+ &lt;a href=&quot;#nuke_redundancies%21-instance_method&quot; title=&quot;#nuke_redundancies! (instance method)&quot;&gt;- (Object) &lt;strong&gt;nuke_redundancies!&lt;/strong&gt; &lt;/a&gt;
542
+
543
+ &lt;/span&gt;
544
+
545
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
546
+
547
+ <p>&lt;p&gt;Remove any redundancies in the genome, any genes refering to the
548
+ same two neurons.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
549
+
550
+ <p>&lt;/li&gt;</p>
551
+
552
+ <pre> &lt;li class=&quot;public &quot;&gt;
553
+ &lt;span class=&quot;summary_signature&quot;&gt;
554
+
555
+ &lt;a href=&quot;#prune%21-instance_method&quot; title=&quot;#prune! (instance method)&quot;&gt;- (Object) &lt;strong&gt;prune!&lt;/strong&gt; &lt;/a&gt;
556
+
557
+ &lt;/span&gt;
558
+
559
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
560
+
561
+ <p>&lt;p&gt;Go through the list of neurons and drop any neurons not referenced
562
+ by the genes.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</p>
563
+
564
+ <p>&lt;/li&gt;</p>
565
+
566
+ <pre> &lt;li class=&quot;public &quot;&gt;
567
+ &lt;span class=&quot;summary_signature&quot;&gt;
568
+
569
+ &lt;a href=&quot;#wire%21-instance_method&quot; title=&quot;#wire! (instance method)&quot;&gt;- (Object) &lt;strong&gt;wire!&lt;/strong&gt; &lt;/a&gt;
570
+
571
+ &lt;/span&gt;
572
+
573
+ &lt;span class=&quot;summary_desc&quot;&gt;&lt;div class=&#39;inline&#39;&gt;</pre>
574
+
575
+ <p>&lt;p&gt;Wire up the neurons based on the genes.&lt;/p&gt;
576
+ &lt;/div&gt;&lt;/span&gt;</p>
577
+
578
+ <p>&lt;/li&gt;</p>
579
+
580
+ <pre> &lt;/ul&gt;
581
+
582
+ &lt;h3 class=&quot;inherited&quot;&gt;Methods inherited from &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NeatOb.html&quot; title=&quot;NEAT::NeatOb (class)&quot;&gt;NeatOb&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
583
+ &lt;p class=&quot;inherited&quot;&gt;&lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NeatOb.html#log-instance_method&quot; title=&quot;NEAT::NeatOb#log (method)&quot;&gt;#log&lt;/a&gt;&lt;/span&gt;, &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NeatOb.html#log-class_method&quot; title=&quot;NEAT::NeatOb.log (method)&quot;&gt;log&lt;/a&gt;&lt;/span&gt;, &lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;../NeatOb.html#to_s-instance_method&quot; title=&quot;NEAT::NeatOb#to_s (method)&quot;&gt;#to_s&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
584
+
585
+ &lt;div id=&quot;constructor_details&quot; class=&quot;method_details_list&quot;&gt;
586
+ &lt;h2&gt;Constructor Details&lt;/h2&gt;
587
+
588
+ &lt;div class=&quot;method_details first&quot;&gt;
589
+ &lt;h3 class=&quot;signature first&quot; id=&quot;initialize-instance_method&quot;&gt;
590
+
591
+ - (&lt;tt&gt;&lt;span class=&#39;object_link&#39;&gt;&lt;a href=&quot;&quot; title=&quot;NEAT::Critter::Genotype (class)&quot;&gt;Genotype&lt;/a&gt;&lt;/span&gt;&lt;/tt&gt;) &lt;strong&gt;initialize&lt;/strong&gt;(critter, mating = false, &amp;amp;block)</pre>
592
+
593
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
594
+
595
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
596
+
597
+ <p>&lt;p&gt;Returns a new instance of Genotype&lt;/p&gt;</p>
598
+
599
+ <pre>&lt;/div&gt;</pre>
600
+
601
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
602
+
603
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
604
+
605
+ <pre>&lt;tr&gt;
606
+ &lt;td&gt;
607
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
608
+
609
+ <p>88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106&lt;/pre&gt;</p>
610
+
611
+ <pre>&lt;/td&gt;
612
+ &lt;td&gt;
613
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 88&lt;/span&gt;</pre>
614
+
615
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
616
+ identifier rubyid_initialize&#39;&gt;initialize&lt;/span&gt;&lt;span
617
+ class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier
618
+ rubyid_critter&#39;&gt;critter&lt;/span&gt;&lt;span
619
+ class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier
620
+ rubyid_mating&#39;&gt;mating&lt;/span&gt; &lt;span
621
+ class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span
622
+ class=&#39;kw&#39;&gt;false&lt;/span&gt;&lt;span
623
+ class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span
624
+ class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
625
+ identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
626
+ class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
627
+
628
+ <pre>&lt;span class=&#39;kw&#39;&gt;super&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_critter&#39;&gt;critter&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_controller&#39;&gt;controller&lt;/span&gt;
629
+ &lt;span class=&#39;ivar&#39;&gt;@critter&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_critter&#39;&gt;critter&lt;/span&gt;
630
+
631
+ &lt;span class=&#39;comment&#39;&gt;# Initialize basic structures</pre>
632
+
633
+ <p>&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@genes&lt;/span&gt;
634
+ &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span
635
+ class=&#39;kw&#39;&gt;nil&lt;/span&gt;</p>
636
+
637
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@neural_inputs&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;const&#39;&gt;Hash&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;ivar&#39;&gt;@critter&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_population&#39;&gt;population&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_input_neurons&#39;&gt;input_neurons&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_sym&#39;&gt;sym&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_ineu&#39;&gt;ineu&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
638
+ &lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_sym&#39;&gt;sym&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_ineu&#39;&gt;ineu&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;ivar&#39;&gt;@controller&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_sym&#39;&gt;sym&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;
639
+ &lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;
640
+
641
+ &lt;span class=&#39;ivar&#39;&gt;@neural_outputs&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;const&#39;&gt;Hash&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;ivar&#39;&gt;@critter&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_population&#39;&gt;population&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_output_neurons&#39;&gt;output_neurons&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_sym&#39;&gt;sym&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_ineu&#39;&gt;ineu&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
642
+ &lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_sym&#39;&gt;sym&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_ineu&#39;&gt;ineu&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;ivar&#39;&gt;@controller&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_sym&#39;&gt;sym&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;
643
+ &lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;
644
+ &lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@neural_inputs&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_clone&#39;&gt;clone&lt;/span&gt; &lt;span class=&#39;comment&#39;&gt;# this must be a shallow clone!</pre>
645
+
646
+ <p>&lt;/span&gt; &lt;span
647
+ class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span
648
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
649
+ rubyid_merge!&#39;&gt;merge!&lt;/span&gt; &lt;span
650
+ class=&#39;ivar&#39;&gt;@neural_outputs&lt;/span&gt;</p>
651
+
652
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@controller&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_evolver&#39;&gt;evolver&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gen_initial_genes!&#39;&gt;gen_initial_genes!&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;kw&#39;&gt;self&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;unless&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_mating&#39;&gt;mating&lt;/span&gt;
653
+ &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;kw&#39;&gt;self&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;unless&lt;/span&gt; &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;id identifier rubyid_nil?&#39;&gt;nil?&lt;/span&gt;</pre>
654
+
655
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
656
+
657
+ <pre> &lt;/td&gt;
658
+ &lt;/tr&gt;</pre>
659
+
660
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
661
+
662
+ <p>&lt;/div&gt;</p>
663
+
664
+ <pre>&lt;div id=&quot;instance_attr_details&quot; class=&quot;attr_details&quot;&gt;
665
+ &lt;h2&gt;Instance Attribute Details&lt;/h2&gt;
666
+
667
+ &lt;span id=&quot;critter=-instance_method&quot;&gt;&lt;/span&gt;
668
+ &lt;div class=&quot;method_details first&quot;&gt;
669
+ &lt;h3 class=&quot;signature first&quot; id=&quot;critter-instance_method&quot;&gt;
670
+
671
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;critter&lt;/strong&gt;</pre>
672
+
673
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
674
+
675
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
676
+
677
+ <p>&lt;p&gt;Critter to which we belong&lt;/p&gt;</p>
678
+
679
+ <pre>&lt;/div&gt;</pre>
680
+
681
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
682
+
683
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
684
+
685
+ <pre>&lt;tr&gt;
686
+ &lt;td&gt;
687
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
688
+
689
+ <p>67 68 69&lt;/pre&gt;</p>
690
+
691
+ <pre>&lt;/td&gt;
692
+ &lt;td&gt;
693
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 67&lt;/span&gt;</pre>
694
+
695
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
696
+ identifier rubyid_critter&#39;&gt;critter&lt;/span&gt;</p>
697
+
698
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@critter&lt;/span&gt;</pre>
699
+
700
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
701
+
702
+ <pre> &lt;/td&gt;
703
+ &lt;/tr&gt;</pre>
704
+
705
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
706
+
707
+ <pre> &lt;span id=&quot;dangling_neurons=-instance_method&quot;&gt;&lt;/span&gt;
708
+ &lt;div class=&quot;method_details &quot;&gt;
709
+ &lt;h3 class=&quot;signature &quot; id=&quot;dangling_neurons-instance_method&quot;&gt;
710
+
711
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;dangling_neurons&lt;/strong&gt;
712
+
713
+ &lt;span class=&quot;aliases&quot;&gt;Also known as:
714
+ &lt;span class=&quot;names&quot;&gt;&lt;span id=&#39;dangling_neurons?-instance_method&#39;&gt;dangling_neurons?&lt;/span&gt;&lt;/span&gt;
715
+ &lt;/span&gt;</pre>
716
+
717
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
718
+
719
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
720
+
721
+ <p>&lt;p&gt;This will be set to true if there are dangling neurons.&lt;/p&gt;</p>
722
+
723
+ <pre>&lt;/div&gt;</pre>
724
+
725
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
726
+
727
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
728
+
729
+ <pre>&lt;tr&gt;
730
+ &lt;td&gt;
731
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
732
+
733
+ <p>79 80 81&lt;/pre&gt;</p>
734
+
735
+ <pre>&lt;/td&gt;
736
+ &lt;td&gt;
737
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 79&lt;/span&gt;</pre>
738
+
739
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
740
+ identifier rubyid_dangling_neurons&#39;&gt;dangling_neurons&lt;/span&gt;</p>
741
+
742
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@dangling_neurons&lt;/span&gt;</pre>
743
+
744
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
745
+
746
+ <pre> &lt;/td&gt;
747
+ &lt;/tr&gt;</pre>
748
+
749
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
750
+
751
+ <pre> &lt;span id=&quot;genes=-instance_method&quot;&gt;&lt;/span&gt;
752
+ &lt;div class=&quot;method_details &quot;&gt;
753
+ &lt;h3 class=&quot;signature &quot; id=&quot;genes-instance_method&quot;&gt;
754
+
755
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;genes&lt;/strong&gt;</pre>
756
+
757
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
758
+
759
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
760
+
761
+ <p>&lt;p&gt;Genes keyed by innovation numbers&lt;/p&gt;</p>
762
+
763
+ <pre>&lt;/div&gt;</pre>
764
+
765
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
766
+
767
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
768
+
769
+ <pre>&lt;tr&gt;
770
+ &lt;td&gt;
771
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
772
+
773
+ <p>70 71 72&lt;/pre&gt;</p>
774
+
775
+ <pre>&lt;/td&gt;
776
+ &lt;td&gt;
777
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 70&lt;/span&gt;</pre>
778
+
779
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
780
+ identifier rubyid_genes&#39;&gt;genes&lt;/span&gt;</p>
781
+
782
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@genes&lt;/span&gt;</pre>
783
+
784
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
785
+
786
+ <pre> &lt;/td&gt;
787
+ &lt;/tr&gt;</pre>
788
+
789
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
790
+
791
+ <pre> &lt;span id=&quot;&quot;&gt;&lt;/span&gt;
792
+ &lt;div class=&quot;method_details &quot;&gt;
793
+ &lt;h3 class=&quot;signature &quot; id=&quot;neural_gene_map-instance_method&quot;&gt;
794
+
795
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;neural_gene_map&lt;/strong&gt; &lt;span class=&quot;extras&quot;&gt;(readonly)&lt;/span&gt;</pre>
796
+
797
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
798
+
799
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
800
+
801
+ <p>&lt;p&gt;Map neurons to the genes that marks them as output { oneu_name
802
+ =&amp;gt; [ gene_1, gene_2,… gene_n], …} Just take the in_neuron name and
803
+ the weight to do the call to that neuron function with the appropriate
804
+ weights&lt;/p&gt;</p>
805
+
806
+ <pre>&lt;/div&gt;</pre>
807
+
808
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
809
+
810
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
811
+
812
+ <pre>&lt;tr&gt;
813
+ &lt;td&gt;
814
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
815
+
816
+ <p>86 87 88&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/critter.rb&#39;, line 86&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_neural_gene_map&#39;&gt;neural_gene_map&lt;/span&gt;</p>
824
+
825
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@neural_gene_map&lt;/span&gt;</pre>
826
+
827
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
828
+
829
+ <pre> &lt;/td&gt;
830
+ &lt;/tr&gt;</pre>
831
+
832
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
833
+
834
+ <pre> &lt;span id=&quot;&quot;&gt;&lt;/span&gt;
835
+ &lt;div class=&quot;method_details &quot;&gt;
836
+ &lt;h3 class=&quot;signature &quot; id=&quot;neural_inputs-instance_method&quot;&gt;
837
+
838
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;neural_inputs&lt;/strong&gt; &lt;span class=&quot;extras&quot;&gt;(readonly)&lt;/span&gt;</pre>
839
+
840
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
841
+
842
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
843
+
844
+ <p>&lt;p&gt;Instantiations of neural inputs and outputs&lt;/p&gt;</p>
845
+
846
+ <pre>&lt;/div&gt;</pre>
847
+
848
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
849
+
850
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
851
+
852
+ <pre>&lt;tr&gt;
853
+ &lt;td&gt;
854
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
855
+
856
+ <p>76 77 78&lt;/pre&gt;</p>
857
+
858
+ <pre>&lt;/td&gt;
859
+ &lt;td&gt;
860
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 76&lt;/span&gt;</pre>
861
+
862
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
863
+ identifier rubyid_neural_inputs&#39;&gt;neural_inputs&lt;/span&gt;</p>
864
+
865
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@neural_inputs&lt;/span&gt;</pre>
866
+
867
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
868
+
869
+ <pre> &lt;/td&gt;
870
+ &lt;/tr&gt;</pre>
871
+
872
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
873
+
874
+ <pre> &lt;span id=&quot;&quot;&gt;&lt;/span&gt;
875
+ &lt;div class=&quot;method_details &quot;&gt;
876
+ &lt;h3 class=&quot;signature &quot; id=&quot;neural_outputs-instance_method&quot;&gt;
877
+
878
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;neural_outputs&lt;/strong&gt; &lt;span class=&quot;extras&quot;&gt;(readonly)&lt;/span&gt;</pre>
879
+
880
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
881
+
882
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
883
+
884
+ <p>&lt;p&gt;Instantiations of neural inputs and outputs&lt;/p&gt;</p>
885
+
886
+ <pre>&lt;/div&gt;</pre>
887
+
888
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
889
+
890
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
891
+
892
+ <pre>&lt;tr&gt;
893
+ &lt;td&gt;
894
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
895
+
896
+ <p>76 77 78&lt;/pre&gt;</p>
897
+
898
+ <pre>&lt;/td&gt;
899
+ &lt;td&gt;
900
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 76&lt;/span&gt;</pre>
901
+
902
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
903
+ identifier rubyid_neural_outputs&#39;&gt;neural_outputs&lt;/span&gt;</p>
904
+
905
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@neural_outputs&lt;/span&gt;</pre>
906
+
907
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
908
+
909
+ <pre> &lt;/td&gt;
910
+ &lt;/tr&gt;</pre>
911
+
912
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
913
+
914
+ <pre> &lt;span id=&quot;neurons=-instance_method&quot;&gt;&lt;/span&gt;
915
+ &lt;div class=&quot;method_details &quot;&gt;
916
+ &lt;h3 class=&quot;signature &quot; id=&quot;neurons-instance_method&quot;&gt;
917
+
918
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;neurons&lt;/strong&gt;</pre>
919
+
920
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
921
+
922
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
923
+
924
+ <p>&lt;p&gt;List of neurons hashed by name&lt;/p&gt;</p>
925
+
926
+ <pre>&lt;/div&gt;</pre>
927
+
928
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
929
+
930
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
931
+
932
+ <pre>&lt;tr&gt;
933
+ &lt;td&gt;
934
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
935
+
936
+ <p>73 74 75&lt;/pre&gt;</p>
937
+
938
+ <pre>&lt;/td&gt;
939
+ &lt;td&gt;
940
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 73&lt;/span&gt;</pre>
941
+
942
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
943
+ identifier rubyid_neurons&#39;&gt;neurons&lt;/span&gt;</p>
944
+
945
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;</pre>
946
+
947
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
948
+
949
+ <pre> &lt;/td&gt;
950
+ &lt;/tr&gt;</pre>
951
+
952
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
953
+
954
+ <pre>&lt;/div&gt;
955
+
956
+ &lt;div id=&quot;instance_method_details&quot; class=&quot;method_details_list&quot;&gt;
957
+ &lt;h2&gt;Instance Method Details&lt;/h2&gt;
958
+
959
+ &lt;div class=&quot;method_details first&quot;&gt;
960
+ &lt;h3 class=&quot;signature first&quot; id=&quot;add_genes-instance_method&quot;&gt;
961
+
962
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;add_genes&lt;/strong&gt;(*genes)</pre>
963
+
964
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
965
+
966
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
967
+
968
+ <p>&lt;p&gt;Genes added here MUST correspond to pre-existing neurons. Be sure
969
+ to do add_neurons first!!!!&lt;/p&gt;</p>
970
+
971
+ <pre>&lt;/div&gt;</pre>
972
+
973
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
974
+
975
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
976
+
977
+ <pre>&lt;tr&gt;
978
+ &lt;td&gt;
979
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
980
+
981
+ <p>163 164 165 166 167 168 169&lt;/pre&gt;</p>
982
+
983
+ <pre>&lt;/td&gt;
984
+ &lt;td&gt;
985
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 163&lt;/span&gt;</pre>
986
+
987
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
988
+ identifier rubyid_add_genes&#39;&gt;add_genes&lt;/span&gt;&lt;span
989
+ class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
990
+ class=&#39;op&#39;&gt;*&lt;/span&gt;&lt;span class=&#39;id identifier
991
+ rubyid_genes&#39;&gt;genes&lt;/span&gt;&lt;span
992
+ class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
993
+
994
+ <pre>&lt;span class=&#39;id identifier rubyid_genes&#39;&gt;genes&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_each&#39;&gt;each&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;do&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
995
+ &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;tstring&#39;&gt;&lt;span class=&#39;tstring_beg&#39;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&#39;tstring_content&#39;&gt;Neuron &lt;/span&gt;&lt;span class=&#39;embexpr_beg&#39;&gt;#{&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_in_neuron&#39;&gt;in_neuron&lt;/span&gt;&lt;span class=&#39;embexpr_end&#39;&gt;}&lt;/span&gt;&lt;span class=&#39;tstring_content&#39;&gt; missing&lt;/span&gt;&lt;span class=&#39;tstring_end&#39;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;unless&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_member?&#39;&gt;member?&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_in_neuron&#39;&gt;in_neuron&lt;/span&gt;
996
+ &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;tstring&#39;&gt;&lt;span class=&#39;tstring_beg&#39;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&#39;tstring_content&#39;&gt;Neuron &lt;/span&gt;&lt;span class=&#39;embexpr_beg&#39;&gt;#{&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_out_neuron&#39;&gt;out_neuron&lt;/span&gt;&lt;span class=&#39;embexpr_end&#39;&gt;}&lt;/span&gt;&lt;span class=&#39;tstring_content&#39;&gt; missing&lt;/span&gt;&lt;span class=&#39;tstring_end&#39;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;unless&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_member?&#39;&gt;member?&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_out_neuron&#39;&gt;out_neuron&lt;/span&gt;
997
+ &lt;span class=&#39;ivar&#39;&gt;@genes&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_innovation&#39;&gt;innovation&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_gene&#39;&gt;gene&lt;/span&gt;
998
+ &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;</pre>
999
+
1000
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1001
+
1002
+ <pre> &lt;/td&gt;
1003
+ &lt;/tr&gt;</pre>
1004
+
1005
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
1006
+
1007
+ <pre> &lt;div class=&quot;method_details &quot;&gt;
1008
+ &lt;h3 class=&quot;signature &quot; id=&quot;add_neurons-instance_method&quot;&gt;
1009
+
1010
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;add_neurons&lt;/strong&gt;(*neus)</pre>
1011
+
1012
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1013
+
1014
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1015
+
1016
+ <p>&lt;p&gt;Add new neurons to the fold&lt;/p&gt;</p>
1017
+
1018
+ <pre>&lt;/div&gt;</pre>
1019
+
1020
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1021
+
1022
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1023
+
1024
+ <pre>&lt;tr&gt;
1025
+ &lt;td&gt;
1026
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
1027
+
1028
+ <p>155 156 157 158 159&lt;/pre&gt;</p>
1029
+
1030
+ <pre>&lt;/td&gt;
1031
+ &lt;td&gt;
1032
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 155&lt;/span&gt;</pre>
1033
+
1034
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1035
+ identifier rubyid_add_neurons&#39;&gt;add_neurons&lt;/span&gt;&lt;span
1036
+ class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
1037
+ class=&#39;op&#39;&gt;*&lt;/span&gt;&lt;span class=&#39;id identifier
1038
+ rubyid_neus&#39;&gt;neus&lt;/span&gt;&lt;span
1039
+ class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
1040
+
1041
+ <pre>&lt;span class=&#39;id identifier rubyid_neus&#39;&gt;neus&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_each&#39;&gt;each&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;do&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_neu&#39;&gt;neu&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
1042
+ &lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_neu&#39;&gt;neu&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_name&#39;&gt;name&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_neu&#39;&gt;neu&lt;/span&gt;
1043
+ &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;</pre>
1044
+
1045
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1046
+
1047
+ <pre> &lt;/td&gt;
1048
+ &lt;/tr&gt;</pre>
1049
+
1050
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
1051
+
1052
+ <pre> &lt;div class=&quot;method_details &quot;&gt;
1053
+ &lt;h3 class=&quot;signature &quot; id=&quot;dump_s-instance_method&quot;&gt;
1054
+
1055
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;dump_s&lt;/strong&gt;</pre>
1056
+
1057
+ <p>&lt;/h3&gt;&lt;table class=“source_code”&gt;</p>
1058
+
1059
+ <pre>&lt;tr&gt;
1060
+ &lt;td&gt;
1061
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
1062
+
1063
+ <p>218 219 220 221 222&lt;/pre&gt;</p>
1064
+
1065
+ <pre>&lt;/td&gt;
1066
+ &lt;td&gt;
1067
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 218&lt;/span&gt;</pre>
1068
+
1069
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1070
+ identifier rubyid_dump_s&#39;&gt;dump_s&lt;/span&gt;</p>
1071
+
1072
+ <pre>&lt;span class=&#39;id identifier rubyid_to_s&#39;&gt;to_s&lt;/span&gt; &lt;span class=&#39;op&#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;\ngenes:\n&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;ivar&#39;&gt;@genes&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_k&#39;&gt;k&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
1073
+ &lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_to_s&#39;&gt;to_s&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_join&#39;&gt;join&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;\n&lt;/span&gt;&lt;span class=&#39;tstring_end&#39;&gt;&amp;quot;&lt;/span&gt;&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;tstring&#39;&gt;&lt;span class=&#39;tstring_beg&#39;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&#39;tstring_content&#39;&gt;\nneurons:\n&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;ivar&#39;&gt;@neurons&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_k&#39;&gt;k&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_neu&#39;&gt;neu&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
1074
+ &lt;span class=&#39;id identifier rubyid_neu&#39;&gt;neu&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_to_s&#39;&gt;to_s&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_join&#39;&gt;join&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;\n&lt;/span&gt;&lt;span class=&#39;tstring_end&#39;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;</pre>
1075
+
1076
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1077
+
1078
+ <pre> &lt;/td&gt;
1079
+ &lt;/tr&gt;</pre>
1080
+
1081
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
1082
+
1083
+ <pre> &lt;div class=&quot;method_details &quot;&gt;
1084
+ &lt;h3 class=&quot;signature &quot; id=&quot;fitness_cost-instance_method&quot;&gt;
1085
+
1086
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;fitness_cost&lt;/strong&gt;</pre>
1087
+
1088
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1089
+
1090
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1091
+
1092
+ <p>&lt;p&gt;Calculate the cost of this genotype.&lt;/p&gt;</p>
1093
+
1094
+ <pre>&lt;/div&gt;</pre>
1095
+
1096
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1097
+
1098
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1099
+
1100
+ <pre>&lt;tr&gt;
1101
+ &lt;td&gt;
1102
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
1103
+
1104
+ <p>213 214 215 216&lt;/pre&gt;</p>
1105
+
1106
+ <pre>&lt;/td&gt;
1107
+ &lt;td&gt;
1108
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 213&lt;/span&gt;</pre>
1109
+
1110
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1111
+ identifier rubyid_fitness_cost&#39;&gt;fitness_cost&lt;/span&gt;</p>
1112
+
1113
+ <pre>&lt;span class=&#39;id identifier rubyid_p&#39;&gt;p&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;ivar&#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;
1114
+ &lt;span class=&#39;id identifier rubyid_p&#39;&gt;p&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_fitness_cost_per_neuron&#39;&gt;fitness_cost_per_neuron&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;*&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@neurons&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;id identifier rubyid_p&#39;&gt;p&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_fitness_cost_per_gene&#39;&gt;fitness_cost_per_gene&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;*&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@genes&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;</pre>
1115
+
1116
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1117
+
1118
+ <pre> &lt;/td&gt;
1119
+ &lt;/tr&gt;</pre>
1120
+
1121
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
1122
+
1123
+ <pre> &lt;div class=&quot;method_details &quot;&gt;
1124
+ &lt;h3 class=&quot;signature &quot; id=&quot;forget!-instance_method&quot;&gt;
1125
+
1126
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;forget!&lt;/strong&gt;</pre>
1127
+
1128
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1129
+
1130
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1131
+
1132
+ <p>&lt;p&gt;Make the neurons forget their wiring.&lt;/p&gt;</p>
1133
+
1134
+ <pre>&lt;/div&gt;</pre>
1135
+
1136
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1137
+
1138
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1139
+
1140
+ <pre>&lt;tr&gt;
1141
+ &lt;td&gt;
1142
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
1143
+
1144
+ <p>134 135 136 137&lt;/pre&gt;</p>
1145
+
1146
+ <pre>&lt;/td&gt;
1147
+ &lt;td&gt;
1148
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 134&lt;/span&gt;</pre>
1149
+
1150
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1151
+ identifier rubyid_forget!&#39;&gt;forget!&lt;/span&gt;</p>
1152
+
1153
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_each&#39;&gt;each&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_name&#39;&gt;name&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_neu&#39;&gt;neu&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_neu&#39;&gt;neu&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_clear_graph&#39;&gt;clear_graph&lt;/span&gt; &lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;
1154
+ &lt;span class=&#39;ivar&#39;&gt;@neural_gene_map&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;const&#39;&gt;Hash&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;lbrace&#39;&gt;{&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_h&#39;&gt;h&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_k&#39;&gt;k&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_h&#39;&gt;h&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_k&#39;&gt;k&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;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt; &lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;</pre>
1155
+
1156
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1157
+
1158
+ <pre> &lt;/td&gt;
1159
+ &lt;/tr&gt;</pre>
1160
+
1161
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
1162
+
1163
+ <pre> &lt;div class=&quot;method_details &quot;&gt;
1164
+ &lt;h3 class=&quot;signature &quot; id=&quot;innervate!-instance_method&quot;&gt;
1165
+
1166
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;innervate!&lt;/strong&gt;(*hneus)</pre>
1167
+
1168
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1169
+
1170
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1171
+
1172
+ <p>&lt;p&gt;We take the neural hashes (presumably from other neurons), and
1173
+ innervate them. We do this in distinctions based on the neuron&amp;#39;s
1174
+ names. FIXME We need to randomly select a neuron in the case of
1175
+ clashes.&lt;/p&gt;</p>
1176
+
1177
+ <pre>&lt;/div&gt;</pre>
1178
+
1179
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1180
+
1181
+ <pre>&lt;p class=&quot;tag_title&quot;&gt;Parameters:&lt;/p&gt;</pre>
1182
+
1183
+ <p>&lt;ul class=“param”&gt;</p>
1184
+
1185
+ <pre>&lt;li&gt;
1186
+
1187
+ &lt;span class=&#39;name&#39;&gt;hneus&lt;/span&gt;
1188
+
1189
+ &lt;span class=&#39;type&#39;&gt;(&lt;tt&gt;Hash&lt;/tt&gt;)&lt;/span&gt;
1190
+
1191
+ &amp;mdash;
1192
+ &lt;div class=&#39;inline&#39;&gt;</pre>
1193
+
1194
+ <p>&lt;p&gt;– hashes of neurons to innervate&lt;/p&gt; &lt;/div&gt;</p>
1195
+
1196
+ <pre>&lt;/li&gt;</pre>
1197
+
1198
+ <p>&lt;/ul&gt;</p>
1199
+
1200
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1201
+
1202
+ <pre>&lt;tr&gt;
1203
+ &lt;td&gt;
1204
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
1205
+
1206
+ <p>175 176 177 178 179&lt;/pre&gt;</p>
1207
+
1208
+ <pre>&lt;/td&gt;
1209
+ &lt;td&gt;
1210
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 175&lt;/span&gt;</pre>
1211
+
1212
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1213
+ identifier rubyid_innervate!&#39;&gt;innervate!&lt;/span&gt;&lt;span
1214
+ class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
1215
+ class=&#39;op&#39;&gt;*&lt;/span&gt;&lt;span class=&#39;id identifier
1216
+ rubyid_hneus&#39;&gt;hneus&lt;/span&gt;&lt;span
1217
+ class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
1218
+
1219
+ <pre>&lt;span class=&#39;id identifier rubyid_hneus&#39;&gt;hneus&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_each&#39;&gt;each&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;do&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_neus&#39;&gt;neus&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
1220
+ &lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_merge!&#39;&gt;merge!&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_neus&#39;&gt;neus&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_dclone&#39;&gt;dclone&lt;/span&gt;
1221
+ &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;</pre>
1222
+
1223
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1224
+
1225
+ <pre> &lt;/td&gt;
1226
+ &lt;/tr&gt;</pre>
1227
+
1228
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
1229
+
1230
+ <pre> &lt;div class=&quot;method_details &quot;&gt;
1231
+ &lt;h3 class=&quot;signature &quot; id=&quot;neucleate-instance_method&quot;&gt;
1232
+
1233
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;neucleate&lt;/strong&gt;(clean: true, &amp;amp;block)</pre>
1234
+
1235
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1236
+
1237
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1238
+
1239
+ <p>&lt;p&gt;We add genes given here to the genome. An array of genes is
1240
+ returned from the block and we simply add them in.&lt;/p&gt;</p>
1241
+
1242
+ <pre>&lt;/div&gt;</pre>
1243
+
1244
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1245
+
1246
+ <pre>&lt;p class=&quot;tag_title&quot;&gt;Parameters:&lt;/p&gt;</pre>
1247
+
1248
+ <p>&lt;ul class=“param”&gt;</p>
1249
+
1250
+ <pre>&lt;li&gt;
1251
+
1252
+ &lt;span class=&#39;name&#39;&gt;clean&lt;/span&gt;
1253
+
1254
+ &lt;span class=&#39;type&#39;&gt;(&lt;tt&gt;boolean&lt;/tt&gt;)&lt;/span&gt;
1255
+
1256
+ &lt;/li&gt;
1257
+
1258
+ &lt;li&gt;
1259
+
1260
+ &lt;span class=&#39;name&#39;&gt;block&lt;/span&gt;
1261
+
1262
+ &lt;span class=&#39;type&#39;&gt;(&lt;tt&gt;Proc&lt;/tt&gt;)&lt;/span&gt;
1263
+
1264
+ &lt;/li&gt;</pre>
1265
+
1266
+ <p>&lt;/ul&gt;</p>
1267
+
1268
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1269
+
1270
+ <pre>&lt;tr&gt;
1271
+ &lt;td&gt;
1272
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
1273
+
1274
+ <p>113 114 115 116 117 118 119 120 121 122 123&lt;/pre&gt;</p>
1275
+
1276
+ <pre>&lt;/td&gt;
1277
+ &lt;td&gt;
1278
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 113&lt;/span&gt;</pre>
1279
+
1280
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1281
+ identifier rubyid_neucleate&#39;&gt;neucleate&lt;/span&gt;&lt;span
1282
+ class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span
1283
+ class=&#39;label&#39;&gt;clean:&lt;/span&gt; &lt;span
1284
+ class=&#39;kw&#39;&gt;true&lt;/span&gt;&lt;span
1285
+ class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span
1286
+ class=&#39;op&#39;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#39;id
1287
+ identifier rubyid_block&#39;&gt;block&lt;/span&gt;&lt;span
1288
+ class=&#39;rparen&#39;&gt;)&lt;/span&gt;</p>
1289
+
1290
+ <pre>&lt;span class=&#39;id identifier rubyid_genes&#39;&gt;genes&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;const&#39;&gt;Hash&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&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;kw&#39;&gt;self&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_g&#39;&gt;g&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
1291
+ &lt;span class=&#39;id identifier rubyid_g&#39;&gt;g&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_genotype&#39;&gt;genotype&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;self&lt;/span&gt;
1292
+ &lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_g&#39;&gt;g&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_innovation&#39;&gt;innovation&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_g&#39;&gt;g&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt; &lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;
1293
+ &lt;span class=&#39;kw&#39;&gt;if&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_clean&#39;&gt;clean&lt;/span&gt;
1294
+ &lt;span class=&#39;ivar&#39;&gt;@genes&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_genes&#39;&gt;genes&lt;/span&gt;
1295
+ &lt;span class=&#39;kw&#39;&gt;else&lt;/span&gt;
1296
+ &lt;span class=&#39;ivar&#39;&gt;@genes&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_merge!&#39;&gt;merge!&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_genes&#39;&gt;genes&lt;/span&gt;
1297
+ &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;
1298
+ &lt;span class=&#39;id identifier rubyid_nuke_redundancies!&#39;&gt;nuke_redundancies!&lt;/span&gt;</pre>
1299
+
1300
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1301
+
1302
+ <pre> &lt;/td&gt;
1303
+ &lt;/tr&gt;</pre>
1304
+
1305
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
1306
+
1307
+ <pre> &lt;div class=&quot;method_details &quot;&gt;
1308
+ &lt;h3 class=&quot;signature &quot; id=&quot;nuke_redundancies!-instance_method&quot;&gt;
1309
+
1310
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;nuke_redundancies!&lt;/strong&gt;</pre>
1311
+
1312
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1313
+
1314
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1315
+
1316
+ <p>&lt;p&gt;Remove any redundancies in the genome, any genes refering to the
1317
+ same two neurons. Simply choose one and delete the rest. TODO: implement
1318
+ nuke_redundancies!&lt;/p&gt;</p>
1319
+
1320
+ <pre>&lt;/div&gt;</pre>
1321
+
1322
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1323
+
1324
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1325
+
1326
+ <pre>&lt;tr&gt;
1327
+ &lt;td&gt;
1328
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
1329
+
1330
+ <p>129 130 131&lt;/pre&gt;</p>
1331
+
1332
+ <pre>&lt;/td&gt;
1333
+ &lt;td&gt;
1334
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 129&lt;/span&gt;</pre>
1335
+
1336
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1337
+ identifier
1338
+ rubyid_nuke_redundancies!&#39;&gt;nuke_redundancies!&lt;/span&gt;</p>
1339
+
1340
+ <pre>&lt;span class=&#39;id identifier rubyid_log&#39;&gt;log&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_warn&#39;&gt;warn&lt;/span&gt; &lt;span class=&#39;tstring&#39;&gt;&lt;span class=&#39;tstring_beg&#39;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#39;tstring_content&#39;&gt;nuke_redundancies! NIY&lt;/span&gt;&lt;span class=&#39;tstring_end&#39;&gt;&amp;#39;&lt;/span&gt;&lt;/span&gt;</pre>
1341
+
1342
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1343
+
1344
+ <pre> &lt;/td&gt;
1345
+ &lt;/tr&gt;</pre>
1346
+
1347
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
1348
+
1349
+ <pre> &lt;div class=&quot;method_details &quot;&gt;
1350
+ &lt;h3 class=&quot;signature &quot; id=&quot;prune!-instance_method&quot;&gt;
1351
+
1352
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;prune!&lt;/strong&gt;</pre>
1353
+
1354
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1355
+
1356
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1357
+
1358
+ <p>&lt;p&gt;Go through the list of neurons and drop any neurons not referenced
1359
+ by the genes.&lt;/p&gt;</p>
1360
+
1361
+ <p>&lt;p&gt;Then go through the genes and drop any that are dangling (i.e. no
1362
+ matching neurons)&lt;/p&gt;</p>
1363
+
1364
+ <p>&lt;p&gt;Then make sure that @neural_inputs and @neural_outputs reference
1365
+ the actual instance neurons in @neurons&lt;/p&gt;</p>
1366
+
1367
+ <p>&lt;p&gt;TODO add this circularity check to prune!&lt;/p&gt;</p>
1368
+
1369
+ <pre>&lt;/div&gt;</pre>
1370
+
1371
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1372
+
1373
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1374
+
1375
+ <pre>&lt;tr&gt;
1376
+ &lt;td&gt;
1377
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
1378
+
1379
+ <p>191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
1380
+ 210&lt;/pre&gt;</p>
1381
+
1382
+ <pre>&lt;/td&gt;
1383
+ &lt;td&gt;
1384
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 191&lt;/span&gt;</pre>
1385
+
1386
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1387
+ identifier rubyid_prune!&#39;&gt;prune!&lt;/span&gt;</p>
1388
+
1389
+ <pre>&lt;span class=&#39;comment&#39;&gt;# Take care of dangling neurons</pre>
1390
+
1391
+ <p>&lt;/span&gt; &lt;span class=&#39;id identifier
1392
+ rubyid_neunames&#39;&gt;neunames&lt;/span&gt; &lt;span
1393
+ class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span
1394
+ class=&#39;ivar&#39;&gt;@genes&lt;/span&gt;&lt;span
1395
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1396
+ rubyid_values&#39;&gt;values&lt;/span&gt;&lt;span
1397
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1398
+ rubyid_map&#39;&gt;map&lt;/span&gt;&lt;span
1399
+ class=&#39;lbrace&#39;&gt;{&lt;/span&gt;&lt;span
1400
+ class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier
1401
+ rubyid_g&#39;&gt;g&lt;/span&gt;&lt;span
1402
+ class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span
1403
+ class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier
1404
+ rubyid_g&#39;&gt;g&lt;/span&gt;&lt;span
1405
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1406
+ rubyid_in_neuron&#39;&gt;in_neuron&lt;/span&gt;&lt;span
1407
+ class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier
1408
+ rubyid_g&#39;&gt;g&lt;/span&gt;&lt;span
1409
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1410
+ rubyid_out_neuron&#39;&gt;out_neuron&lt;/span&gt;&lt;span
1411
+ class=&#39;rbracket&#39;&gt;]&lt;/span&gt;&lt;span
1412
+ class=&#39;rbrace&#39;&gt;}&lt;/span&gt;&lt;span
1413
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1414
+ rubyid_flatten&#39;&gt;flatten&lt;/span&gt;&lt;span
1415
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1416
+ rubyid_to_set&#39;&gt;to_set&lt;/span&gt;</p>
1417
+
1418
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;const&#39;&gt;Hash&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_values&#39;&gt;values&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_reject&#39;&gt;reject&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;do&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_n&#39;&gt;n&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
1419
+ &lt;span class=&#39;kw&#39;&gt;not&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_neunames&#39;&gt;neunames&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_member?&#39;&gt;member?&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_n&#39;&gt;n&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_name&#39;&gt;name&lt;/span&gt;
1420
+ &lt;span class=&#39;kw&#39;&gt;end&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;kw&#39;&gt;do&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_n&#39;&gt;n&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
1421
+ &lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_n&#39;&gt;n&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_name&#39;&gt;name&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_n&#39;&gt;n&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;
1422
+ &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;
1423
+
1424
+ &lt;span class=&#39;comment&#39;&gt;# Take care of dangling genes</pre>
1425
+
1426
+ <p>&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@genes&lt;/span&gt;
1427
+ &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span
1428
+ class=&#39;const&#39;&gt;Hash&lt;/span&gt;&lt;span
1429
+ class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span
1430
+ class=&#39;ivar&#39;&gt;@genes&lt;/span&gt;&lt;span
1431
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1432
+ rubyid_values&#39;&gt;values&lt;/span&gt;&lt;span
1433
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1434
+ rubyid_reject&#39;&gt;reject&lt;/span&gt; &lt;span
1435
+ class=&#39;kw&#39;&gt;do&lt;/span&gt; &lt;span
1436
+ class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier
1437
+ rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span
1438
+ class=&#39;op&#39;&gt;|&lt;/span&gt;</p>
1439
+
1440
+ <pre> &lt;span class=&#39;kw&#39;&gt;not&lt;/span&gt; &lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_member?&#39;&gt;member?&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_in_neuron&#39;&gt;in_neuron&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;and&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_member?&#39;&gt;member?&lt;/span&gt;&lt;span class=&#39;lparen&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_out_neuron&#39;&gt;out_neuron&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;&lt;span class=&#39;rparen&#39;&gt;)&lt;/span&gt;
1441
+ &lt;span class=&#39;kw&#39;&gt;end&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;kw&#39;&gt;do&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
1442
+ &lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_name&#39;&gt;name&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;
1443
+ &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;
1444
+
1445
+ &lt;span class=&#39;comment&#39;&gt;# Make sure @neural_inputs and @neural_outputs are consistent</pre>
1446
+
1447
+ <p>&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@neural_inputs&lt;/span&gt;
1448
+ &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span
1449
+ class=&#39;const&#39;&gt;Hash&lt;/span&gt;&lt;span
1450
+ class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span
1451
+ class=&#39;ivar&#39;&gt;@neural_inputs&lt;/span&gt;&lt;span
1452
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1453
+ rubyid_values&#39;&gt;values&lt;/span&gt;&lt;span
1454
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1455
+ rubyid_map&#39;&gt;map&lt;/span&gt;&lt;span
1456
+ class=&#39;lbrace&#39;&gt;{&lt;/span&gt;&lt;span
1457
+ class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier
1458
+ rubyid_n&#39;&gt;n&lt;/span&gt;&lt;span
1459
+ class=&#39;op&#39;&gt;|&lt;/span&gt; &lt;span
1460
+ class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier
1461
+ rubyid_n&#39;&gt;n&lt;/span&gt;&lt;span
1462
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1463
+ rubyid_name&#39;&gt;name&lt;/span&gt;&lt;span
1464
+ class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span
1465
+ class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span
1466
+ class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier
1467
+ rubyid_n&#39;&gt;n&lt;/span&gt;&lt;span
1468
+ class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier
1469
+ rubyid_name&#39;&gt;name&lt;/span&gt;&lt;span
1470
+ class=&#39;rbracket&#39;&gt;]&lt;/span&gt;&lt;span
1471
+ class=&#39;rbracket&#39;&gt;]&lt;/span&gt;&lt;span
1472
+ class=&#39;rbrace&#39;&gt;}&lt;/span&gt;&lt;span
1473
+ class=&#39;rbracket&#39;&gt;]&lt;/span&gt;</p>
1474
+
1475
+ <pre>&lt;span class=&#39;ivar&#39;&gt;@neural_outputs&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;const&#39;&gt;Hash&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;ivar&#39;&gt;@neural_outputs&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_values&#39;&gt;values&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_n&#39;&gt;n&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_n&#39;&gt;n&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_name&#39;&gt;name&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_n&#39;&gt;n&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_name&#39;&gt;name&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;&lt;span class=&#39;rbrace&#39;&gt;}&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;</pre>
1476
+
1477
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1478
+
1479
+ <pre> &lt;/td&gt;
1480
+ &lt;/tr&gt;</pre>
1481
+
1482
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
1483
+
1484
+ <pre> &lt;div class=&quot;method_details &quot;&gt;
1485
+ &lt;h3 class=&quot;signature &quot; id=&quot;wire!-instance_method&quot;&gt;
1486
+
1487
+ - (&lt;tt&gt;Object&lt;/tt&gt;) &lt;strong&gt;wire!&lt;/strong&gt;</pre>
1488
+
1489
+ <p>&lt;/h3&gt;&lt;div class=“docstring”&gt;</p>
1490
+
1491
+ <pre>&lt;div class=&quot;discussion&quot;&gt;</pre>
1492
+
1493
+ <p>&lt;p&gt;Wire up the neurons based on the genes.&lt;/p&gt;</p>
1494
+
1495
+ <pre>&lt;/div&gt;</pre>
1496
+
1497
+ <p>&lt;/div&gt; &lt;div class=“tags”&gt;</p>
1498
+
1499
+ <p>&lt;/div&gt;&lt;table class=“source_code”&gt;</p>
1500
+
1501
+ <pre>&lt;tr&gt;
1502
+ &lt;td&gt;
1503
+ &lt;pre class=&quot;lines&quot;&gt;</pre>
1504
+
1505
+ <p>140 141 142 143 144 145 146 147 148 149 150 151 152&lt;/pre&gt;</p>
1506
+
1507
+ <pre>&lt;/td&gt;
1508
+ &lt;td&gt;
1509
+ &lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;info file&quot;&gt;# File &#39;lib/rubyneat/critter.rb&#39;, line 140&lt;/span&gt;</pre>
1510
+
1511
+ <p>&lt;span class=&#39;kw&#39;&gt;def&lt;/span&gt; &lt;span class=&#39;id
1512
+ identifier rubyid_wire!&#39;&gt;wire!&lt;/span&gt;</p>
1513
+
1514
+ <pre>&lt;span class=&#39;id identifier rubyid_forget!&#39;&gt;forget!&lt;/span&gt;
1515
+ &lt;span class=&#39;ivar&#39;&gt;@genes&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_each&#39;&gt;each&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;do&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_innov&#39;&gt;innov&lt;/span&gt;&lt;span class=&#39;comma&#39;&gt;,&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;op&#39;&gt;|&lt;/span&gt;
1516
+ &lt;span class=&#39;kw&#39;&gt;if&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_enabled?&#39;&gt;enabled?&lt;/span&gt;
1517
+ &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;tstring&#39;&gt;&lt;span class=&#39;tstring_beg&#39;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&#39;tstring_content&#39;&gt;Can&amp;#39;t find &lt;/span&gt;&lt;span class=&#39;embexpr_beg&#39;&gt;#{&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_out_neuron&#39;&gt;out_neuron&lt;/span&gt;&lt;span class=&#39;embexpr_end&#39;&gt;}&lt;/span&gt;&lt;span class=&#39;tstring_end&#39;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;if&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_out_neuron&#39;&gt;out_neuron&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_nil?&#39;&gt;nil?&lt;/span&gt;
1518
+ &lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_out_neuron&#39;&gt;out_neuron&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@neurons&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_in_neuron&#39;&gt;in_neuron&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt;
1519
+ &lt;span class=&#39;ivar&#39;&gt;@neural_gene_map&lt;/span&gt;&lt;span class=&#39;lbracket&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_out_neuron&#39;&gt;out_neuron&lt;/span&gt;&lt;span class=&#39;rbracket&#39;&gt;]&lt;/span&gt; &lt;span class=&#39;op&#39;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;unless&lt;/span&gt; &lt;span class=&#39;id identifier rubyid_gene&#39;&gt;gene&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_in_neuron&#39;&gt;in_neuron&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_nil?&#39;&gt;nil?&lt;/span&gt;
1520
+ &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;
1521
+ &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt; &lt;span class=&#39;kw&#39;&gt;unless&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@genes&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_nil?&#39;&gt;nil?&lt;/span&gt;
1522
+ &lt;span class=&#39;kw&#39;&gt;if&lt;/span&gt; &lt;span class=&#39;ivar&#39;&gt;@genes&lt;/span&gt;&lt;span class=&#39;period&#39;&gt;.&lt;/span&gt;&lt;span class=&#39;id identifier rubyid_nil?&#39;&gt;nil?&lt;/span&gt;
1523
+ &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_error&#39;&gt;error&lt;/span&gt; &lt;span class=&#39;tstring&#39;&gt;&lt;span class=&#39;tstring_beg&#39;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#39;tstring_content&#39;&gt;Genes Not Present&lt;/span&gt;&lt;span class=&#39;tstring_end&#39;&gt;&amp;#39;&lt;/span&gt;&lt;/span&gt;
1524
+ &lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;</pre>
1525
+
1526
+ <p>&lt;span class=&#39;kw&#39;&gt;end&lt;/span&gt;&lt;/pre&gt;</p>
1527
+
1528
+ <pre> &lt;/td&gt;
1529
+ &lt;/tr&gt;</pre>
1530
+
1531
+ <p>&lt;/table&gt; &lt;/div&gt;</p>
1532
+
1533
+ <pre>&lt;/div&gt;</pre>
1534
+
1535
+ <p>&lt;/div&gt;</p>
1536
+
1537
+ <pre> &lt;div id=&quot;footer&quot;&gt;
1538
+ Generated on Sun Mar 16 16:36:51 2014 by
1539
+ &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;
1540
+ 0.8.7.3 (ruby-2.1.1).</pre>
1541
+
1542
+ <p>&lt;/div&gt;</p>
1543
+
1544
+ <pre>&lt;/body&gt;</pre>
1545
+
1546
+ <p>&lt;/html&gt;</p>
1547
+ </main>
1548
+
1549
+
1550
+
1551
+ <footer id="validator-badges" role="contentinfo">
1552
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
1553
+ <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
1554
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
1555
+ </footer>
1556
+