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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (252) hide show
  1. checksums.yaml +4 -4
  2. data/.semver +1 -1
  3. data/Gemfile +19 -19
  4. data/Gemfile.lock +39 -33
  5. data/README.md +66 -0
  6. data/Rakefile +19 -2
  7. data/bin/neat +4 -60
  8. data/lib/rubyneat/cli.rb +5 -0
  9. data/lib/rubyneat/cli/generate.rb +131 -0
  10. data/lib/rubyneat/cli/main.rb +54 -0
  11. data/lib/rubyneat/cli/templates/generate/Gemfile.tt +17 -0
  12. data/lib/rubyneat/cli/templates/generate/README.md.tt +1 -0
  13. data/lib/rubyneat/cli/templates/generate/bin/neat.tt +14 -0
  14. data/{neater/xor_neat.rb → lib/rubyneat/cli/templates/generate/neater.tt} +7 -22
  15. data/rubyneat.gemspec +73 -297
  16. data/rubyneat.gemspec.orig +384 -0
  17. metadata +76 -292
  18. data/.idea/.name +0 -1
  19. data/.idea/.rakeTasks +0 -7
  20. data/.idea/dictionaries/trader.xml +0 -3
  21. data/.idea/encodings.xml +0 -5
  22. data/.idea/misc.xml +0 -5
  23. data/.idea/modules.xml +0 -9
  24. data/.idea/rubyneat.iml +0 -198
  25. data/.idea/runConfigurations/invpend_neat.xml +0 -26
  26. data/.idea/runConfigurations/sigdebug_neat.xml +0 -24
  27. data/.idea/runConfigurations/xor_neat.xml +0 -26
  28. data/.idea/runConfigurations/xordebug_neat.xml +0 -24
  29. data/.idea/runConfigurations/xorsin_neat.xml +0 -24
  30. data/.idea/scopes/scope_settings.xml +0 -5
  31. data/.idea/vcs.xml +0 -7
  32. data/.idea/workspace.xml +0 -1151
  33. data/.yardoc/checksums +0 -11
  34. data/.yardoc/object_types +0 -0
  35. data/.yardoc/objects/root.dat +0 -0
  36. data/.yardoc/proxy_types +0 -0
  37. data/Guardfile +0 -8
  38. data/doc/ControllerPoint.html +0 -125
  39. data/doc/CuteA.html +0 -286
  40. data/doc/CuteB.html +0 -297
  41. data/doc/DSL.html +0 -883
  42. data/doc/NEAT.html +0 -588
  43. data/doc/NEAT/BasicNeuronTypes.html +0 -136
  44. data/doc/NEAT/BasicNeuronTypes/BiasNeuron.html +0 -518
  45. data/doc/NEAT/BasicNeuronTypes/CosineNeuron.html +0 -274
  46. data/doc/NEAT/BasicNeuronTypes/InputNeuron.html +0 -366
  47. data/doc/NEAT/BasicNeuronTypes/SigmoidNeuron.html +0 -275
  48. data/doc/NEAT/BasicNeuronTypes/SineNeuron.html +0 -274
  49. data/doc/NEAT/BasicNeuronTypes/TanhNeuron.html +0 -274
  50. data/doc/NEAT/Controller.html +0 -2490
  51. data/doc/NEAT/Controller/NeatSettings.html +0 -3985
  52. data/doc/NEAT/Critter.html +0 -1037
  53. data/doc/NEAT/Critter/Genotype.html +0 -1601
  54. data/doc/NEAT/Critter/Genotype/Gene.html +0 -979
  55. data/doc/NEAT/Critter/Phenotype.html +0 -603
  56. data/doc/NEAT/DSL.html +0 -1255
  57. data/doc/NEAT/Evaluator.html +0 -420
  58. data/doc/NEAT/Evolver.html +0 -602
  59. data/doc/NEAT/Evolver/CritterOp.html +0 -551
  60. data/doc/NEAT/Expressor.html +0 -327
  61. data/doc/NEAT/Graph.html +0 -402
  62. data/doc/NEAT/Graph/DependencyResolver.html +0 -478
  63. data/doc/NEAT/Graph/GraphException.html +0 -123
  64. data/doc/NEAT/NeatException.html +0 -123
  65. data/doc/NEAT/NeatOb.html +0 -567
  66. data/doc/NEAT/Neuron.html +0 -1067
  67. data/doc/NEAT/Operator.html +0 -162
  68. data/doc/NEAT/Population.html +0 -1961
  69. data/doc/NEAT/Trait.html +0 -169
  70. data/doc/_index.html +0 -373
  71. data/doc/class_list.html +0 -54
  72. data/doc/css/common.css +0 -1
  73. data/doc/css/full_list.css +0 -57
  74. data/doc/css/style.css +0 -339
  75. data/doc/file_list.html +0 -53
  76. data/doc/frames.html +0 -26
  77. data/doc/index.html +0 -373
  78. data/doc/js/app.js +0 -219
  79. data/doc/js/full_list.js +0 -178
  80. data/doc/js/jquery.js +0 -4
  81. data/doc/method_list.html +0 -1415
  82. data/doc/top-level-namespace.html +0 -164
  83. data/foo/foo_aquarium_example.rb +0 -38
  84. data/foo/foo_gosu.rb +0 -99
  85. data/foo/foo_rubygoo.rb +0 -104
  86. data/foo/foo_sdl.rb +0 -34
  87. data/foo/icon.png +0 -0
  88. data/neater/invpend_neat.rb +0 -150
  89. data/neater/rnlib/inverted_pendulum.rb +0 -380
  90. data/neater/rnlib/xor.rb +0 -10
  91. data/neater/sigdebug_neat.rb +0 -136
  92. data/neater/xoranalog_neat.rb +0 -138
  93. data/neater/xorsin_neat.rb +0 -143
  94. data/projectFilesBackup/.idea/rubyneat.iml +0 -180
  95. data/public/.directory +0 -4
  96. data/public/background.png +0 -0
  97. data/public/background.xcf +0 -0
  98. data/public/cart.png +0 -0
  99. data/public/cart.xcf +0 -0
  100. data/public/metalpoles_molton_ball_l.jpg +0 -0
  101. data/public/old_background.png +0 -0
  102. data/public/pointer.png +0 -0
  103. data/public/pointer.xcf +0 -0
  104. data/public/pole.kra +0 -0
  105. data/public/pole.png +0 -0
  106. data/public/pole.xcf +0 -0
  107. data/public/wheel-of-year-stone-DD-131-WOYS.jpg +0 -0
  108. data/public/wheel.png +0 -0
  109. data/public/wheel.xcf +0 -0
  110. data/public/wood-planks-texture.jpg +0 -0
  111. data/rdoc/ControllerPoint.html +0 -116
  112. data/rdoc/CuteA.html +0 -177
  113. data/rdoc/CuteB.html +0 -178
  114. data/rdoc/DSLSetup.html +0 -177
  115. data/rdoc/GameTestWindow.html +0 -242
  116. data/rdoc/GameWindow.html +0 -292
  117. data/rdoc/Gemfile.html +0 -215
  118. data/rdoc/Gemfile_lock.html +0 -327
  119. data/rdoc/GraphTest.html +0 -210
  120. data/rdoc/Guardfile.html +0 -198
  121. data/rdoc/InvertedPendulum.html +0 -198
  122. data/rdoc/InvertedPendulum/Cart.html +0 -668
  123. data/rdoc/InvertedPendulum/DSL.html +0 -259
  124. data/rdoc/InvertedPendulum/InvPendWindow.html +0 -402
  125. data/rdoc/Logger.html +0 -98
  126. data/rdoc/NEAT.html +0 -422
  127. data/rdoc/NEAT/BasicNeuronTypes.html +0 -107
  128. data/rdoc/NEAT/BasicNeuronTypes/BiasNeuron.html +0 -265
  129. data/rdoc/NEAT/BasicNeuronTypes/CosineNeuron.html +0 -162
  130. data/rdoc/NEAT/BasicNeuronTypes/InputNeuron.html +0 -206
  131. data/rdoc/NEAT/BasicNeuronTypes/SigmoidNeuron.html +0 -162
  132. data/rdoc/NEAT/BasicNeuronTypes/SineNeuron.html +0 -162
  133. data/rdoc/NEAT/BasicNeuronTypes/TanhNeuron.html +0 -161
  134. data/rdoc/NEAT/Controller.html +0 -729
  135. data/rdoc/NEAT/Controller/NeatSettings.html +0 -880
  136. data/rdoc/NEAT/Critter.html +0 -489
  137. data/rdoc/NEAT/Critter/Genotype.html +0 -735
  138. data/rdoc/NEAT/Critter/Genotype/Gene.html +0 -457
  139. data/rdoc/NEAT/Critter/Phenotype.html +0 -330
  140. data/rdoc/NEAT/DSL.html +0 -729
  141. data/rdoc/NEAT/Evaluator.html +0 -256
  142. data/rdoc/NEAT/Evolver.html +0 -891
  143. data/rdoc/NEAT/Evolver/CritterOp.html +0 -349
  144. data/rdoc/NEAT/Expressor.html +0 -402
  145. data/rdoc/NEAT/Graph.html +0 -263
  146. data/rdoc/NEAT/Graph/DependencyResolver.html +0 -291
  147. data/rdoc/NEAT/Graph/GraphException.html +0 -105
  148. data/rdoc/NEAT/NeatException.html +0 -105
  149. data/rdoc/NEAT/NeatOb.html +0 -325
  150. data/rdoc/NEAT/Neuron.html +0 -481
  151. data/rdoc/NEAT/Operator.html +0 -109
  152. data/rdoc/NEAT/Population.html +0 -935
  153. data/rdoc/NEAT/Trait.html +0 -117
  154. data/rdoc/Object.html +0 -384
  155. data/rdoc/Phi.html +0 -98
  156. data/rdoc/Player.html +0 -383
  157. data/rdoc/Rakefile.html +0 -254
  158. data/rdoc/RubyNEAT.html +0 -98
  159. data/rdoc/RubyNEAT/Application.html +0 -105
  160. data/rdoc/SDL.html +0 -98
  161. data/rdoc/SDL/Event2.html +0 -98
  162. data/rdoc/Vector.html +0 -195
  163. data/rdoc/created.rid +0 -125
  164. data/rdoc/doc/ControllerPoint_html.html +0 -299
  165. data/rdoc/doc/CuteA_html.html +0 -438
  166. data/rdoc/doc/CuteB_html.html +0 -436
  167. data/rdoc/doc/DSL_html.html +0 -992
  168. data/rdoc/doc/NEAT/BasicNeuronTypes/BiasNeuron_html.html +0 -617
  169. data/rdoc/doc/NEAT/BasicNeuronTypes/CosineNeuron_html.html +0 -413
  170. data/rdoc/doc/NEAT/BasicNeuronTypes/InputNeuron_html.html +0 -498
  171. data/rdoc/doc/NEAT/BasicNeuronTypes/SigmoidNeuron_html.html +0 -413
  172. data/rdoc/doc/NEAT/BasicNeuronTypes/SineNeuron_html.html +0 -413
  173. data/rdoc/doc/NEAT/BasicNeuronTypes/TanhNeuron_html.html +0 -412
  174. data/rdoc/doc/NEAT/BasicNeuronTypes_html.html +0 -310
  175. data/rdoc/doc/NEAT/Controller/NeatSettings_html.html +0 -3324
  176. data/rdoc/doc/NEAT/Controller_html.html +0 -2212
  177. data/rdoc/doc/NEAT/Critter/Genotype/Gene_html.html +0 -997
  178. data/rdoc/doc/NEAT/Critter/Genotype_html.html +0 -1556
  179. data/rdoc/doc/NEAT/Critter/Phenotype_html.html +0 -687
  180. data/rdoc/doc/NEAT/Critter_html.html +0 -1037
  181. data/rdoc/doc/NEAT/DSL_html.html +0 -1349
  182. data/rdoc/doc/NEAT/Evaluator_html.html +0 -556
  183. data/rdoc/doc/NEAT/Evolver/CritterOp_html.html +0 -690
  184. data/rdoc/doc/NEAT/Evolver_html.html +0 -677
  185. data/rdoc/doc/NEAT/Expressor_html.html +0 -468
  186. data/rdoc/doc/NEAT/Graph/DependencyResolver_html.html +0 -598
  187. data/rdoc/doc/NEAT/Graph/GraphException_html.html +0 -299
  188. data/rdoc/doc/NEAT/Graph_html.html +0 -527
  189. data/rdoc/doc/NEAT/NeatException_html.html +0 -299
  190. data/rdoc/doc/NEAT/NeatOb_html.html +0 -671
  191. data/rdoc/doc/NEAT/Neuron_html.html +0 -1095
  192. data/rdoc/doc/NEAT/Operator_html.html +0 -337
  193. data/rdoc/doc/NEAT/Population_html.html +0 -1795
  194. data/rdoc/doc/NEAT/Trait_html.html +0 -344
  195. data/rdoc/doc/NEAT_html.html +0 -736
  196. data/rdoc/doc/_index_html.html +0 -559
  197. data/rdoc/doc/class_list_html.html +0 -369
  198. data/rdoc/doc/css/common_css.html +0 -188
  199. data/rdoc/doc/css/full_list_css.html +0 -243
  200. data/rdoc/doc/css/style_css.html +0 -530
  201. data/rdoc/doc/file_list_html.html +0 -240
  202. data/rdoc/doc/frames_html.html +0 -217
  203. data/rdoc/doc/index_html.html +0 -559
  204. data/rdoc/doc/js/app_js.html +0 -423
  205. data/rdoc/doc/js/full_list_js.html +0 -372
  206. data/rdoc/doc/js/jquery_js.html +0 -1536
  207. data/rdoc/doc/method_list_html.html +0 -1375
  208. data/rdoc/doc/top-level-namespace_html.html +0 -317
  209. data/rdoc/fonts.css +0 -167
  210. data/rdoc/fonts/Lato-Light.ttf +0 -0
  211. data/rdoc/fonts/Lato-LightItalic.ttf +0 -0
  212. data/rdoc/fonts/Lato-Regular.ttf +0 -0
  213. data/rdoc/fonts/Lato-RegularItalic.ttf +0 -0
  214. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  215. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  216. data/rdoc/images/add.png +0 -0
  217. data/rdoc/images/arrow_up.png +0 -0
  218. data/rdoc/images/brick.png +0 -0
  219. data/rdoc/images/brick_link.png +0 -0
  220. data/rdoc/images/bug.png +0 -0
  221. data/rdoc/images/bullet_black.png +0 -0
  222. data/rdoc/images/bullet_toggle_minus.png +0 -0
  223. data/rdoc/images/bullet_toggle_plus.png +0 -0
  224. data/rdoc/images/date.png +0 -0
  225. data/rdoc/images/delete.png +0 -0
  226. data/rdoc/images/find.png +0 -0
  227. data/rdoc/images/loadingAnimation.gif +0 -0
  228. data/rdoc/images/macFFBgHack.png +0 -0
  229. data/rdoc/images/package.png +0 -0
  230. data/rdoc/images/page_green.png +0 -0
  231. data/rdoc/images/page_white_text.png +0 -0
  232. data/rdoc/images/page_white_width.png +0 -0
  233. data/rdoc/images/plugin.png +0 -0
  234. data/rdoc/images/ruby.png +0 -0
  235. data/rdoc/images/tag_blue.png +0 -0
  236. data/rdoc/images/tag_green.png +0 -0
  237. data/rdoc/images/transparent.png +0 -0
  238. data/rdoc/images/wrench.png +0 -0
  239. data/rdoc/images/wrench_orange.png +0 -0
  240. data/rdoc/images/zoom.png +0 -0
  241. data/rdoc/index.html +0 -282
  242. data/rdoc/js/darkfish.js +0 -140
  243. data/rdoc/js/jquery.js +0 -18
  244. data/rdoc/js/navigation.js +0 -142
  245. data/rdoc/js/search.js +0 -109
  246. data/rdoc/js/search_index.js +0 -1
  247. data/rdoc/js/searcher.js +0 -228
  248. data/rdoc/rdoc.css +0 -580
  249. data/rdoc/rubyneat_gemspec.html +0 -387
  250. data/rdoc/table_of_contents.html +0 -2502
  251. data/rdoc/xordebug_log.html +0 -170598
  252. data/rdoc/xorsin_log.html +0 -22569
@@ -1,1556 +0,0 @@
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
-