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,330 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>class NEAT::Critter::Phenotype - 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="class">
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="class-metadata">
59
-
60
- <div id="parent-class-section" class="nav-section">
61
- <h3>Parent</h3>
62
-
63
-
64
- <p class="link">NeatOb
65
-
66
- </div>
67
-
68
- <div id="includes-section" class="nav-section">
69
- <h3>Included Modules</h3>
70
-
71
- <ul class="link-list">
72
-
73
-
74
- <li><span class="include">Math</span>
75
-
76
-
77
- </ul>
78
- </div>
79
-
80
-
81
- <!-- Method Quickref -->
82
- <div id="method-list-section" class="nav-section">
83
- <h3>Methods</h3>
84
-
85
- <ul class="link-list" role="directory">
86
-
87
- <li ><a href="#method-c-5B-5D">::[]</a>
88
-
89
- <li ><a href="#method-i-express-21">#express!</a>
90
-
91
- <li ><a href="#method-i-stimulate">#stimulate</a>
92
-
93
- <li class="calls-super" ><a href="#method-i-to_s">#to_s</a>
94
-
95
- </ul>
96
- </div>
97
-
98
- </div>
99
- </nav>
100
-
101
- <main role="main" aria-labelledby="class-NEAT::Critter::Phenotype">
102
- <h1 id="class-NEAT::Critter::Phenotype" class="class">
103
- class NEAT::Critter::Phenotype
104
- </h1>
105
-
106
- <section class="description">
107
-
108
- <h1 id="class-NEAT::Critter::Phenotype-label-Phenotype+part+of+the+Critter"><a href="Phenotype.html">Phenotype</a> part of the <a href="../Critter.html">Critter</a><span><a href="#class-NEAT::Critter::Phenotype-label-Phenotype+part+of+the+Critter">&para;</a> <a href="#documentation">&uarr;</a></span></h1>
109
-
110
- <pre>This is created by Evolver.</pre>
111
-
112
- </section>
113
-
114
-
115
-
116
-
117
- <section id="5Buntitled-5D" class="documentation-section">
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
- <section class="attribute-method-details" class="method-section">
126
- <header>
127
- <h3>Attributes</h3>
128
- </header>
129
-
130
-
131
- <div id="attribute-i-code" class="method-detail">
132
- <div class="method-heading attribute-method-heading">
133
- <span class="method-name">code</span><span
134
- class="attribute-access-type">[RW]</span>
135
- </div>
136
-
137
- <div class="method-description">
138
-
139
- <p>Expressed code as a string (that was instance_eval()ed)</p>
140
-
141
- </div>
142
- </div>
143
-
144
- <div id="attribute-i-critter" class="method-detail">
145
- <div class="method-heading attribute-method-heading">
146
- <span class="method-name">critter</span><span
147
- class="attribute-access-type">[RW]</span>
148
- </div>
149
-
150
- <div class="method-description">
151
-
152
- <p><a href="../Critter.html">Critter</a> to which we belong</p>
153
-
154
- </div>
155
- </div>
156
-
157
- </section>
158
-
159
-
160
-
161
- <section id="public-class-5Buntitled-5D-method-details" class="method-section">
162
- <header>
163
- <h3>Public Class Methods</h3>
164
- </header>
165
-
166
-
167
- <div id="method-c-5B-5D" class="method-detail ">
168
-
169
- <div class="method-heading">
170
- <span class="method-name">[]</span><span
171
- class="method-args">(critter)</span>
172
-
173
- <span class="method-click-advice">click to toggle source</span>
174
-
175
- </div>
176
-
177
-
178
- <div class="method-description">
179
-
180
-
181
-
182
-
183
-
184
-
185
- <div class="method-source-code" id="5B-5D-source">
186
- <pre><span class="ruby-comment"># File lib/rubyneat/critter.rb, line 294</span>
187
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-operator">[]</span>(<span class="ruby-identifier">critter</span>)
188
- <span class="ruby-identifier">ph</span> = <span class="ruby-constant">Phenotype</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">critter</span>.<span class="ruby-identifier">controller</span>
189
- <span class="ruby-identifier">ph</span>.<span class="ruby-identifier">critter</span> = <span class="ruby-identifier">critter</span>
190
- <span class="ruby-identifier">ph</span>.<span class="ruby-identifier">code</span> = <span class="ruby-node">&quot;## Phenotype Code %s for critter %s\n&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">ph</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">critter</span>.<span class="ruby-identifier">name</span>]
191
- <span class="ruby-keyword">return</span> <span class="ruby-identifier">ph</span>
192
- <span class="ruby-keyword">end</span></pre>
193
- </div>
194
-
195
- </div>
196
-
197
-
198
-
199
-
200
- </div>
201
-
202
-
203
- </section>
204
-
205
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
206
- <header>
207
- <h3>Public Instance Methods</h3>
208
- </header>
209
-
210
-
211
- <div id="method-i-express-21" class="method-detail ">
212
-
213
- <div class="method-heading">
214
- <span class="method-name">express!</span><span
215
- class="method-args">()</span>
216
-
217
- <span class="method-click-advice">click to toggle source</span>
218
-
219
- </div>
220
-
221
-
222
- <div class="method-description">
223
-
224
- <p>Take what is in code and express that!</p>
225
-
226
-
227
-
228
-
229
- <div class="method-source-code" id="express-21-source">
230
- <pre><span class="ruby-comment"># File lib/rubyneat/critter.rb, line 302</span>
231
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">express!</span>
232
- <span class="ruby-identifier">instance_eval</span> <span class="ruby-ivar">@code</span>
233
- <span class="ruby-keyword">self</span>
234
- <span class="ruby-keyword">end</span></pre>
235
- </div>
236
-
237
- </div>
238
-
239
-
240
-
241
-
242
- </div>
243
-
244
-
245
- <div id="method-i-stimulate" class="method-detail ">
246
-
247
- <div class="method-heading">
248
- <span class="method-name">stimulate</span><span
249
- class="method-args">()</span>
250
-
251
- <span class="method-click-advice">click to toggle source</span>
252
-
253
- </div>
254
-
255
-
256
- <div class="method-description">
257
-
258
- <p>This function is re-written by <a href="../Expressor.html">Expressor</a> –
259
- with parameters and all. It returns a “response” in the form of a response
260
- hash. TODO This <strong>is</strong> network activation, so we should rename
261
- this at a later date…</p>
262
-
263
-
264
-
265
-
266
- <div class="method-source-code" id="stimulate-source">
267
- <pre><span class="ruby-comment"># File lib/rubyneat/critter.rb, line 310</span>
268
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">stimulate</span>
269
- <span class="ruby-keyword">nil</span>
270
- <span class="ruby-keyword">end</span></pre>
271
- </div>
272
-
273
- </div>
274
-
275
-
276
-
277
-
278
- </div>
279
-
280
-
281
- <div id="method-i-to_s" class="method-detail ">
282
-
283
- <div class="method-heading">
284
- <span class="method-name">to_s</span><span
285
- class="method-args">()</span>
286
-
287
- <span class="method-click-advice">click to toggle source</span>
288
-
289
- </div>
290
-
291
-
292
- <div class="method-description">
293
-
294
- <p>This gives us a complete</p>
295
-
296
-
297
- <div class="method-calls-super">
298
- Calls superclass method
299
-
300
- </div>
301
-
302
-
303
-
304
- <div class="method-source-code" id="to_s-source">
305
- <pre><span class="ruby-comment"># File lib/rubyneat/critter.rb, line 315</span>
306
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
307
- <span class="ruby-node">&quot;## %s\n%s&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-keyword">super</span>, <span class="ruby-ivar">@code</span>]
308
- <span class="ruby-keyword">end</span></pre>
309
- </div>
310
-
311
- </div>
312
-
313
-
314
-
315
-
316
- </div>
317
-
318
-
319
- </section>
320
-
321
- </section>
322
- </main>
323
-
324
-
325
- <footer id="validator-badges" role="contentinfo">
326
- <p><a href="http://validator.w3.org/check/referer">Validate</a>
327
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
328
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
329
- </footer>
330
-
data/rdoc/NEAT/DSL.html DELETED
@@ -1,729 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>module NEAT::DSL - 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="module">
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="class-metadata">
59
-
60
-
61
- <div id="includes-section" class="nav-section">
62
- <h3>Included Modules</h3>
63
-
64
- <ul class="link-list">
65
-
66
-
67
- <li><a class="include" href="../NEAT.html">NEAT</a>
68
-
69
-
70
-
71
- <li><a class="include" href="BasicNeuronTypes.html">NEAT::BasicNeuronTypes</a>
72
-
73
-
74
-
75
- <li><span class="include">Math</span>
76
-
77
-
78
- </ul>
79
- </div>
80
-
81
-
82
- <!-- Method Quickref -->
83
- <div id="method-list-section" class="nav-section">
84
- <h3>Methods</h3>
85
-
86
- <ul class="link-list" role="directory">
87
-
88
- <li ><a href="#method-i-compare">#compare</a>
89
-
90
- <li ><a href="#method-i-condition_boolean_vector">#condition_boolean_vector</a>
91
-
92
- <li ><a href="#method-i-cost">#cost</a>
93
-
94
- <li ><a href="#method-i-define">#define</a>
95
-
96
- <li ><a href="#method-i-evolve">#evolve</a>
97
-
98
- <li ><a href="#method-i-fitness">#fitness</a>
99
-
100
- <li class="calls-super" ><a href="#method-i-method_missing">#method_missing</a>
101
-
102
- <li ><a href="#method-i-query">#query</a>
103
-
104
- <li ><a href="#method-i-recurrence">#recurrence</a>
105
-
106
- <li ><a href="#method-i-report">#report</a>
107
-
108
- <li ><a href="#method-i-run_engine">#run_engine</a>
109
-
110
- <li ><a href="#method-i-simple_fitness_error">#simple_fitness_error</a>
111
-
112
- <li ><a href="#method-i-stop_on_fitness">#stop_on_fitness</a>
113
-
114
- <li ><a href="#method-i-uncondition_boolean_vector">#uncondition_boolean_vector</a>
115
-
116
- </ul>
117
- </div>
118
-
119
- </div>
120
- </nav>
121
-
122
- <main role="main" aria-labelledby="module-NEAT::DSL">
123
- <h1 id="module-NEAT::DSL" class="module">
124
- module NEAT::DSL
125
- </h1>
126
-
127
- <section class="description">
128
-
129
- </section>
130
-
131
-
132
-
133
-
134
- <section id="5Buntitled-5D" class="documentation-section">
135
-
136
-
137
-
138
-
139
-
140
-
141
-
142
-
143
-
144
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
145
- <header>
146
- <h3>Public Instance Methods</h3>
147
- </header>
148
-
149
-
150
- <div id="method-i-compare" class="method-detail ">
151
-
152
- <div class="method-heading">
153
- <span class="method-name">compare</span><span
154
- class="method-args">(&block)</span>
155
-
156
- <span class="method-click-advice">click to toggle source</span>
157
-
158
- </div>
159
-
160
-
161
- <div class="method-description">
162
-
163
- <p>Fitness ordering – given 2 fitness numbers, use the &lt;=&gt; to compare
164
- them (or the equivalent, following the +1, 0, -1 that is in the sense of
165
- &lt;=&gt;)</p>
166
-
167
-
168
-
169
-
170
- <div class="method-source-code" id="compare-source">
171
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 63</span>
172
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">compare</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
173
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">compare_func</span> = <span class="ruby-identifier">block</span>
174
- <span class="ruby-keyword">end</span></pre>
175
- </div>
176
-
177
- </div>
178
-
179
-
180
-
181
-
182
- </div>
183
-
184
-
185
- <div id="method-i-condition_boolean_vector" class="method-detail ">
186
-
187
- <div class="method-heading">
188
- <span class="method-name">condition_boolean_vector</span><span
189
- class="method-args">(vec, sig = :tanh)</span>
190
-
191
- <span class="method-click-advice">click to toggle source</span>
192
-
193
- </div>
194
-
195
-
196
- <div class="method-description">
197
-
198
- <p>Helper function to Condition boolean vectors to be +1 if true, -1 if false
199
- (0 if sigmoid)</p>
200
-
201
-
202
-
203
-
204
- <div class="method-source-code" id="condition_boolean_vector-source">
205
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 81</span>
206
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">condition_boolean_vector</span>(<span class="ruby-identifier">vec</span>, <span class="ruby-identifier">sig</span> = <span class="ruby-value">:tanh</span>)
207
- <span class="ruby-identifier">vec</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">b</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> ((<span class="ruby-identifier">sig</span> <span class="ruby-operator">==</span> <span class="ruby-value">:sigmoid</span>) <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">-1</span>)}
208
- <span class="ruby-keyword">end</span></pre>
209
- </div>
210
-
211
- </div>
212
-
213
-
214
-
215
-
216
- </div>
217
-
218
-
219
- <div id="method-i-cost" class="method-detail ">
220
-
221
- <div class="method-heading">
222
- <span class="method-name">cost</span><span
223
- class="method-args">(&block)</span>
224
-
225
- <span class="method-click-advice">click to toggle source</span>
226
-
227
- </div>
228
-
229
-
230
- <div class="method-description">
231
-
232
- <p>Calculation to add the cost to the fitness, resulting in a fitness that
233
- incorporates the cost for sorting purposes.</p>
234
-
235
-
236
-
237
-
238
- <div class="method-source-code" id="cost-source">
239
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 69</span>
240
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">cost</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
241
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">cost_func</span> = <span class="ruby-identifier">block</span>
242
- <span class="ruby-keyword">end</span></pre>
243
- </div>
244
-
245
- </div>
246
-
247
-
248
-
249
-
250
- </div>
251
-
252
-
253
- <div id="method-i-define" class="method-detail ">
254
-
255
- <div class="method-heading">
256
- <span class="method-name">define</span><span
257
- class="method-args">(name = NEAT.random_name_generator, &block)</span>
258
-
259
- <span class="method-click-advice">click to toggle source</span>
260
-
261
- </div>
262
-
263
-
264
- <div class="method-description">
265
-
266
- <p><a href="DSL.html">DSL</a> – Define defines the parameters to the
267
- controller.</p>
268
-
269
-
270
-
271
-
272
- <div class="method-source-code" id="define-source">
273
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 15</span>
274
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">define</span>(<span class="ruby-identifier">name</span> = <span class="ruby-constant">NEAT</span>.<span class="ruby-identifier">random_name_generator</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
275
- [
276
- <span class="ruby-value">:inputs</span>,
277
- <span class="ruby-value">:outputs</span>,
278
- <span class="ruby-value">:hidden</span> <span class="ruby-comment"># we really don&#39;t care about mapping hidden neurons, but we&#39;ll ignore them later.</span>
279
- ].<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">iometh</span><span class="ruby-operator">|</span>
280
- <span class="ruby-identifier">instance_eval</span> <span class="ruby-node">%Q[
281
- def #{iometh}(nodes = nil, &amp;block)
282
- neui = unless nodes.nil?
283
- nodes
284
- else
285
- block.()
286
- end
287
- NEAT::controller.neural_#{iometh} = if neui.kind_of? Hash
288
- neui
289
- else
290
- Hash[neui.map{|n| [NEAT::random_name_generator, n]}]
291
- end
292
- end]</span>
293
- <span class="ruby-keyword">end</span>
294
- <span class="ruby-identifier">block</span>.(<span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>)
295
- <span class="ruby-keyword">end</span></pre>
296
- </div>
297
-
298
- </div>
299
-
300
-
301
-
302
-
303
- </div>
304
-
305
-
306
- <div id="method-i-evolve" class="method-detail ">
307
-
308
- <div class="method-heading">
309
- <span class="method-name">evolve</span><span
310
- class="method-args">(&block)</span>
311
-
312
- <span class="method-click-advice">click to toggle source</span>
313
-
314
- </div>
315
-
316
-
317
- <div class="method-description">
318
-
319
- <p><a href="DSL.html">DSL</a> – Run evolution</p>
320
-
321
-
322
-
323
-
324
- <div class="method-source-code" id="evolve-source">
325
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 39</span>
326
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">evolve</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
327
- <span class="ruby-comment"># Query function is called with the sequence (time evolution) number,</span>
328
- <span class="ruby-comment"># and returns an array or hash of parameters that will be given</span>
329
- <span class="ruby-comment"># to the input nodes. In the case of hash, the keys in the hash</span>
330
- <span class="ruby-comment"># shall correspond to the names given to the input neurons.</span>
331
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">query</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
332
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">query_func</span> = <span class="ruby-identifier">block</span>
333
- <span class="ruby-keyword">end</span>
334
-
335
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">recurrence</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
336
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">recurrence_func</span> = <span class="ruby-identifier">block</span>
337
- <span class="ruby-keyword">end</span>
338
-
339
- <span class="ruby-comment"># fitness function calls the block with 2 vectors or two hashes, input and output</span>
340
- <span class="ruby-comment"># vectors of the critter being evaluated for fitness, as well as a sequence</span>
341
- <span class="ruby-comment"># number that can be used to index what the actual output should be.</span>
342
- <span class="ruby-comment"># |vin, vout, seq|</span>
343
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">fitness</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
344
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">fitness_func</span> = <span class="ruby-identifier">block</span>
345
- <span class="ruby-keyword">end</span>
346
-
347
- <span class="ruby-comment"># Fitness ordering -- given 2 fitness numbers,</span>
348
- <span class="ruby-comment"># use the &lt;=&gt; to compare them (or the equivalent, following</span>
349
- <span class="ruby-comment"># the +1, 0, -1 that is in the sense of &lt;=&gt;)</span>
350
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">compare</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
351
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">compare_func</span> = <span class="ruby-identifier">block</span>
352
- <span class="ruby-keyword">end</span>
353
-
354
- <span class="ruby-comment"># Calculation to add the cost to the fitness, resulting in a fitness</span>
355
- <span class="ruby-comment"># that incorporates the cost for sorting purposes.</span>
356
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">cost</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
357
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">cost_func</span> = <span class="ruby-identifier">block</span>
358
- <span class="ruby-keyword">end</span>
359
-
360
- <span class="ruby-comment"># Stop the progression once the fitness criteria is reached</span>
361
- <span class="ruby-comment"># for the most fit critter</span>
362
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">stop_on_fitness</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
363
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">stop_on_fit_func</span> = <span class="ruby-identifier">block</span>
364
- <span class="ruby-keyword">end</span>
365
-
366
- <span class="ruby-comment"># Helper function to</span>
367
- <span class="ruby-comment"># Condition boolean vectors to be +1 if true, -1 if false (0 if sigmoid)</span>
368
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">condition_boolean_vector</span>(<span class="ruby-identifier">vec</span>, <span class="ruby-identifier">sig</span> = <span class="ruby-value">:tanh</span>)
369
- <span class="ruby-identifier">vec</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">b</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> ((<span class="ruby-identifier">sig</span> <span class="ruby-operator">==</span> <span class="ruby-value">:sigmoid</span>) <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">-1</span>)}
370
- <span class="ruby-keyword">end</span>
371
-
372
- <span class="ruby-comment"># Helper function to</span>
373
- <span class="ruby-comment"># Uncondition boolean vectors to be +1 if true, -1 if false</span>
374
- <span class="ruby-comment"># FIXME we need a better discrimination function</span>
375
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">uncondition_boolean_vector</span>(<span class="ruby-identifier">vec</span>, <span class="ruby-identifier">sig</span> = <span class="ruby-value">:tanh</span>)
376
- <span class="ruby-identifier">vec</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span> <span class="ruby-identifier">o</span> <span class="ruby-operator">&gt;</span> ((<span class="ruby-identifier">sig</span> <span class="ruby-operator">==</span> <span class="ruby-value">:sigmoid</span>) <span class="ruby-operator">?</span> <span class="ruby-value">0.5</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>) <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>}
377
- <span class="ruby-keyword">end</span>
378
-
379
- <span class="ruby-comment"># Helper function to do a simple fitness calculation</span>
380
- <span class="ruby-comment"># on the basis of the sum of the square of the diffences</span>
381
- <span class="ruby-comment"># of the element in the two vectors.</span>
382
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">simple_fitness_error</span>(<span class="ruby-identifier">v1</span>, <span class="ruby-identifier">v2</span>)
383
- <span class="ruby-identifier">sqrt</span> <span class="ruby-identifier">v1</span>.<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">v2</span>).<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span> (<span class="ruby-identifier">a</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">b</span>) <span class="ruby-operator">**</span> <span class="ruby-value">2.0</span>}.<span class="ruby-identifier">reduce</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">m</span>, <span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">m</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">c</span>}
384
- <span class="ruby-keyword">end</span>
385
-
386
- <span class="ruby-identifier">block</span>.(<span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>)
387
- <span class="ruby-keyword">end</span></pre>
388
- </div>
389
-
390
- </div>
391
-
392
-
393
-
394
-
395
- </div>
396
-
397
-
398
- <div id="method-i-fitness" class="method-detail ">
399
-
400
- <div class="method-heading">
401
- <span class="method-name">fitness</span><span
402
- class="method-args">(&block)</span>
403
-
404
- <span class="method-click-advice">click to toggle source</span>
405
-
406
- </div>
407
-
408
-
409
- <div class="method-description">
410
-
411
- <p>fitness function calls the block with 2 vectors or two hashes, input and
412
- output vectors of the critter being evaluated for fitness, as well as a
413
- sequence number that can be used to index what the actual output should be.
414
- |vin, vout, seq|</p>
415
-
416
-
417
-
418
-
419
- <div class="method-source-code" id="fitness-source">
420
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 56</span>
421
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">fitness</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
422
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">fitness_func</span> = <span class="ruby-identifier">block</span>
423
- <span class="ruby-keyword">end</span></pre>
424
- </div>
425
-
426
- </div>
427
-
428
-
429
-
430
-
431
- </div>
432
-
433
-
434
- <div id="method-i-method_missing" class="method-detail ">
435
-
436
- <div class="method-heading">
437
- <span class="method-name">method_missing</span><span
438
- class="method-args">(m, *args, &block)</span>
439
-
440
- <span class="method-click-advice">click to toggle source</span>
441
-
442
- </div>
443
-
444
-
445
- <div class="method-description">
446
-
447
- <p>This is used to handle the details of our <a href="DSL.html">DSL</a>.</p>
448
-
449
-
450
- <div class="method-calls-super">
451
- Calls superclass method
452
-
453
- </div>
454
-
455
-
456
-
457
- <div class="method-source-code" id="method_missing-source">
458
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 114</span>
459
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">m</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
460
- <span class="ruby-comment"># we want to catch parameters settings here.</span>
461
- <span class="ruby-keyword">if</span> <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">parms</span>.<span class="ruby-identifier">respond_to?</span> (<span class="ruby-identifier">assignment</span> = (<span class="ruby-identifier">m</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-string">&#39;=&#39;</span>).<span class="ruby-identifier">to_sym</span>)
462
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">NeatException</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;Missing value(s) to %s&quot;</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">m</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span>
463
- <span class="ruby-identifier">val</span> = (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">:</span> <span class="ruby-identifier">args</span>
464
- <span class="ruby-identifier">$log</span>.<span class="ruby-identifier">debug</span> { <span class="ruby-string">&quot;Caught method %s with parameter of %s&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">assignment</span>, <span class="ruby-identifier">val</span>] }
465
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">parms</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">assignment</span>, <span class="ruby-identifier">val</span>)
466
- <span class="ruby-keyword">else</span>
467
- <span class="ruby-keyword">super</span>
468
- <span class="ruby-keyword">end</span>
469
- <span class="ruby-keyword">end</span></pre>
470
- </div>
471
-
472
- </div>
473
-
474
-
475
-
476
-
477
- </div>
478
-
479
-
480
- <div id="method-i-query" class="method-detail ">
481
-
482
- <div class="method-heading">
483
- <span class="method-name">query</span><span
484
- class="method-args">(&block)</span>
485
-
486
- <span class="method-click-advice">click to toggle source</span>
487
-
488
- </div>
489
-
490
-
491
- <div class="method-description">
492
-
493
- <p>Query function is called with the sequence (time evolution) number, and
494
- returns an array or hash of parameters that will be given to the input
495
- nodes. In the case of hash, the keys in the hash shall correspond to the
496
- names given to the input neurons.</p>
497
-
498
-
499
-
500
-
501
- <div class="method-source-code" id="query-source">
502
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 44</span>
503
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">query</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
504
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">query_func</span> = <span class="ruby-identifier">block</span>
505
- <span class="ruby-keyword">end</span></pre>
506
- </div>
507
-
508
- </div>
509
-
510
-
511
-
512
-
513
- </div>
514
-
515
-
516
- <div id="method-i-recurrence" class="method-detail ">
517
-
518
- <div class="method-heading">
519
- <span class="method-name">recurrence</span><span
520
- class="method-args">(&block)</span>
521
-
522
- <span class="method-click-advice">click to toggle source</span>
523
-
524
- </div>
525
-
526
-
527
- <div class="method-description">
528
-
529
-
530
-
531
-
532
-
533
-
534
- <div class="method-source-code" id="recurrence-source">
535
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 48</span>
536
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">recurrence</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
537
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">recurrence_func</span> = <span class="ruby-identifier">block</span>
538
- <span class="ruby-keyword">end</span></pre>
539
- </div>
540
-
541
- </div>
542
-
543
-
544
-
545
-
546
- </div>
547
-
548
-
549
- <div id="method-i-report" class="method-detail ">
550
-
551
- <div class="method-heading">
552
- <span class="method-name">report</span><span
553
- class="method-args">(&block)</span>
554
-
555
- <span class="method-click-advice">click to toggle source</span>
556
-
557
- </div>
558
-
559
-
560
- <div class="method-description">
561
-
562
- <p>Report on evaluations</p>
563
-
564
-
565
-
566
-
567
- <div class="method-source-code" id="report-source">
568
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 103</span>
569
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">report</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
570
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">report_hook</span> = <span class="ruby-identifier">block</span>
571
- <span class="ruby-keyword">end</span></pre>
572
- </div>
573
-
574
- </div>
575
-
576
-
577
-
578
-
579
- </div>
580
-
581
-
582
- <div id="method-i-run_engine" class="method-detail ">
583
-
584
- <div class="method-heading">
585
- <span class="method-name">run_engine</span><span
586
- class="method-args">(&block)</span>
587
-
588
- <span class="method-click-advice">click to toggle source</span>
589
-
590
- </div>
591
-
592
-
593
- <div class="method-description">
594
-
595
- <p>Run the engine. The block is called on each generation.</p>
596
-
597
-
598
-
599
-
600
- <div class="method-source-code" id="run_engine-source">
601
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 108</span>
602
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">run_engine</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
603
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">end_run_func</span> = <span class="ruby-identifier">block</span>
604
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">run</span>
605
- <span class="ruby-keyword">end</span></pre>
606
- </div>
607
-
608
- </div>
609
-
610
-
611
-
612
-
613
- </div>
614
-
615
-
616
- <div id="method-i-simple_fitness_error" class="method-detail ">
617
-
618
- <div class="method-heading">
619
- <span class="method-name">simple_fitness_error</span><span
620
- class="method-args">(v1, v2)</span>
621
-
622
- <span class="method-click-advice">click to toggle source</span>
623
-
624
- </div>
625
-
626
-
627
- <div class="method-description">
628
-
629
- <p>Helper function to do a simple fitness calculation on the basis of the sum
630
- of the square of the diffences of the element in the two vectors.</p>
631
-
632
-
633
-
634
-
635
- <div class="method-source-code" id="simple_fitness_error-source">
636
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 95</span>
637
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">simple_fitness_error</span>(<span class="ruby-identifier">v1</span>, <span class="ruby-identifier">v2</span>)
638
- <span class="ruby-identifier">sqrt</span> <span class="ruby-identifier">v1</span>.<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">v2</span>).<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span> (<span class="ruby-identifier">a</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">b</span>) <span class="ruby-operator">**</span> <span class="ruby-value">2.0</span>}.<span class="ruby-identifier">reduce</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">m</span>, <span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">m</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">c</span>}
639
- <span class="ruby-keyword">end</span></pre>
640
- </div>
641
-
642
- </div>
643
-
644
-
645
-
646
-
647
- </div>
648
-
649
-
650
- <div id="method-i-stop_on_fitness" class="method-detail ">
651
-
652
- <div class="method-heading">
653
- <span class="method-name">stop_on_fitness</span><span
654
- class="method-args">(&block)</span>
655
-
656
- <span class="method-click-advice">click to toggle source</span>
657
-
658
- </div>
659
-
660
-
661
- <div class="method-description">
662
-
663
- <p>Stop the progression once the fitness criteria is reached for the most fit
664
- critter</p>
665
-
666
-
667
-
668
-
669
- <div class="method-source-code" id="stop_on_fitness-source">
670
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 75</span>
671
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">stop_on_fitness</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
672
- <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-identifier">controller</span>.<span class="ruby-identifier">stop_on_fit_func</span> = <span class="ruby-identifier">block</span>
673
- <span class="ruby-keyword">end</span></pre>
674
- </div>
675
-
676
- </div>
677
-
678
-
679
-
680
-
681
- </div>
682
-
683
-
684
- <div id="method-i-uncondition_boolean_vector" class="method-detail ">
685
-
686
- <div class="method-heading">
687
- <span class="method-name">uncondition_boolean_vector</span><span
688
- class="method-args">(vec, sig = :tanh)</span>
689
-
690
- <span class="method-click-advice">click to toggle source</span>
691
-
692
- </div>
693
-
694
-
695
- <div class="method-description">
696
-
697
- <p>Helper function to Uncondition boolean vectors to be +1 if true, -1 if
698
- false FIXME we need a better discrimination function</p>
699
-
700
-
701
-
702
-
703
- <div class="method-source-code" id="uncondition_boolean_vector-source">
704
- <pre><span class="ruby-comment"># File lib/rubyneat/dsl.rb, line 88</span>
705
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">uncondition_boolean_vector</span>(<span class="ruby-identifier">vec</span>, <span class="ruby-identifier">sig</span> = <span class="ruby-value">:tanh</span>)
706
- <span class="ruby-identifier">vec</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span> <span class="ruby-identifier">o</span> <span class="ruby-operator">&gt;</span> ((<span class="ruby-identifier">sig</span> <span class="ruby-operator">==</span> <span class="ruby-value">:sigmoid</span>) <span class="ruby-operator">?</span> <span class="ruby-value">0.5</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>) <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>}
707
- <span class="ruby-keyword">end</span></pre>
708
- </div>
709
-
710
- </div>
711
-
712
-
713
-
714
-
715
- </div>
716
-
717
-
718
- </section>
719
-
720
- </section>
721
- </main>
722
-
723
-
724
- <footer id="validator-badges" role="contentinfo">
725
- <p><a href="http://validator.w3.org/check/referer">Validate</a>
726
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
727
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
728
- </footer>
729
-