rubyneat 0.3.5.alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. checksums.yaml +7 -0
  2. data/.directory +4 -0
  3. data/.gitignore.orig +20 -0
  4. data/.idea/.name +1 -0
  5. data/.idea/.rakeTasks +7 -0
  6. data/.idea/dictionaries/trader.xml +3 -0
  7. data/.idea/encodings.xml +5 -0
  8. data/.idea/misc.xml +5 -0
  9. data/.idea/modules.xml +9 -0
  10. data/.idea/rubyneat.iml +197 -0
  11. data/.idea/runConfigurations/invpend_neat.xml +26 -0
  12. data/.idea/runConfigurations/sigdebug_neat.xml +24 -0
  13. data/.idea/runConfigurations/xor_neat.xml +26 -0
  14. data/.idea/runConfigurations/xordebug_neat.xml +24 -0
  15. data/.idea/runConfigurations/xorsin_neat.xml +24 -0
  16. data/.idea/scopes/scope_settings.xml +5 -0
  17. data/.idea/vcs.xml +7 -0
  18. data/.idea/workspace.xml +1124 -0
  19. data/.semver +5 -0
  20. data/.yardoc/checksums +11 -0
  21. data/.yardoc/object_types +0 -0
  22. data/.yardoc/objects/root.dat +0 -0
  23. data/.yardoc/proxy_types +0 -0
  24. data/Gemfile +32 -0
  25. data/Gemfile.lock +135 -0
  26. data/Gemfile.lock.orig +147 -0
  27. data/Guardfile +8 -0
  28. data/Rakefile +61 -0
  29. data/bin/neat +83 -0
  30. data/config/application.rb +5 -0
  31. data/doc/ControllerPoint.html +125 -0
  32. data/doc/CuteA.html +286 -0
  33. data/doc/CuteB.html +297 -0
  34. data/doc/DSL.html +883 -0
  35. data/doc/NEAT/BasicNeuronTypes/BiasNeuron.html +518 -0
  36. data/doc/NEAT/BasicNeuronTypes/CosineNeuron.html +274 -0
  37. data/doc/NEAT/BasicNeuronTypes/InputNeuron.html +366 -0
  38. data/doc/NEAT/BasicNeuronTypes/SigmoidNeuron.html +275 -0
  39. data/doc/NEAT/BasicNeuronTypes/SineNeuron.html +274 -0
  40. data/doc/NEAT/BasicNeuronTypes/TanhNeuron.html +274 -0
  41. data/doc/NEAT/BasicNeuronTypes.html +136 -0
  42. data/doc/NEAT/Controller/NeatSettings.html +3985 -0
  43. data/doc/NEAT/Controller.html +2490 -0
  44. data/doc/NEAT/Critter/Genotype/Gene.html +979 -0
  45. data/doc/NEAT/Critter/Genotype.html +1601 -0
  46. data/doc/NEAT/Critter/Phenotype.html +603 -0
  47. data/doc/NEAT/Critter.html +1037 -0
  48. data/doc/NEAT/DSL.html +1255 -0
  49. data/doc/NEAT/Evaluator.html +420 -0
  50. data/doc/NEAT/Evolver/CritterOp.html +551 -0
  51. data/doc/NEAT/Evolver.html +602 -0
  52. data/doc/NEAT/Expressor.html +327 -0
  53. data/doc/NEAT/Graph/DependencyResolver.html +478 -0
  54. data/doc/NEAT/Graph/GraphException.html +123 -0
  55. data/doc/NEAT/Graph.html +402 -0
  56. data/doc/NEAT/NeatException.html +123 -0
  57. data/doc/NEAT/NeatOb.html +567 -0
  58. data/doc/NEAT/Neuron.html +1067 -0
  59. data/doc/NEAT/Operator.html +162 -0
  60. data/doc/NEAT/Population.html +1961 -0
  61. data/doc/NEAT/Trait.html +169 -0
  62. data/doc/NEAT.html +588 -0
  63. data/doc/_index.html +373 -0
  64. data/doc/class_list.html +54 -0
  65. data/doc/css/common.css +1 -0
  66. data/doc/css/full_list.css +57 -0
  67. data/doc/css/style.css +339 -0
  68. data/doc/file_list.html +53 -0
  69. data/doc/frames.html +26 -0
  70. data/doc/index.html +373 -0
  71. data/doc/js/app.js +219 -0
  72. data/doc/js/full_list.js +178 -0
  73. data/doc/js/jquery.js +4 -0
  74. data/doc/method_list.html +1415 -0
  75. data/doc/top-level-namespace.html +164 -0
  76. data/foo/foo_aquarium_example.rb +38 -0
  77. data/foo/foo_gosu.rb +99 -0
  78. data/foo/foo_rubygoo.rb +104 -0
  79. data/foo/foo_sdl.rb +34 -0
  80. data/foo/icon.png +0 -0
  81. data/lib/rubyneat/critter.rb +374 -0
  82. data/lib/rubyneat/default_neat.rb +10 -0
  83. data/lib/rubyneat/dsl.rb +130 -0
  84. data/lib/rubyneat/evaluator.rb +51 -0
  85. data/lib/rubyneat/evolver.rb +315 -0
  86. data/lib/rubyneat/expressor.rb +110 -0
  87. data/lib/rubyneat/graph.rb +95 -0
  88. data/lib/rubyneat/neuron.rb +152 -0
  89. data/lib/rubyneat/population.rb +227 -0
  90. data/lib/rubyneat/rubyneat.rb +429 -0
  91. data/lib/rubyneat.rb +8 -0
  92. data/neater/invpend_neat.rb +150 -0
  93. data/neater/rnlib/inverted_pendulum.rb +380 -0
  94. data/neater/rnlib/xor.rb +10 -0
  95. data/neater/sigdebug_neat.rb +136 -0
  96. data/neater/xor_neat.rb +137 -0
  97. data/neater/xoranalog_neat.rb +138 -0
  98. data/neater/xorsin_neat.rb +143 -0
  99. data/projectFilesBackup/.idea/rubyneat.iml +180 -0
  100. data/public/.directory +4 -0
  101. data/public/background.png +0 -0
  102. data/public/background.xcf +0 -0
  103. data/public/cart.png +0 -0
  104. data/public/cart.xcf +0 -0
  105. data/public/metalpoles_molton_ball_l.jpg +0 -0
  106. data/public/old_background.png +0 -0
  107. data/public/pointer.png +0 -0
  108. data/public/pointer.xcf +0 -0
  109. data/public/pole.kra +0 -0
  110. data/public/pole.png +0 -0
  111. data/public/pole.xcf +0 -0
  112. data/public/wheel-of-year-stone-DD-131-WOYS.jpg +0 -0
  113. data/public/wheel.png +0 -0
  114. data/public/wheel.xcf +0 -0
  115. data/public/wood-planks-texture.jpg +0 -0
  116. data/rdoc/ControllerPoint.html +116 -0
  117. data/rdoc/CuteA.html +177 -0
  118. data/rdoc/CuteB.html +178 -0
  119. data/rdoc/DSLSetup.html +177 -0
  120. data/rdoc/GameTestWindow.html +242 -0
  121. data/rdoc/GameWindow.html +292 -0
  122. data/rdoc/Gemfile.html +215 -0
  123. data/rdoc/Gemfile_lock.html +327 -0
  124. data/rdoc/GraphTest.html +210 -0
  125. data/rdoc/Guardfile.html +198 -0
  126. data/rdoc/InvertedPendulum/Cart.html +668 -0
  127. data/rdoc/InvertedPendulum/DSL.html +259 -0
  128. data/rdoc/InvertedPendulum/InvPendWindow.html +402 -0
  129. data/rdoc/InvertedPendulum.html +198 -0
  130. data/rdoc/Logger.html +98 -0
  131. data/rdoc/NEAT/BasicNeuronTypes/BiasNeuron.html +265 -0
  132. data/rdoc/NEAT/BasicNeuronTypes/CosineNeuron.html +162 -0
  133. data/rdoc/NEAT/BasicNeuronTypes/InputNeuron.html +206 -0
  134. data/rdoc/NEAT/BasicNeuronTypes/SigmoidNeuron.html +162 -0
  135. data/rdoc/NEAT/BasicNeuronTypes/SineNeuron.html +162 -0
  136. data/rdoc/NEAT/BasicNeuronTypes/TanhNeuron.html +161 -0
  137. data/rdoc/NEAT/BasicNeuronTypes.html +107 -0
  138. data/rdoc/NEAT/Controller/NeatSettings.html +880 -0
  139. data/rdoc/NEAT/Controller.html +729 -0
  140. data/rdoc/NEAT/Critter/Genotype/Gene.html +457 -0
  141. data/rdoc/NEAT/Critter/Genotype.html +735 -0
  142. data/rdoc/NEAT/Critter/Phenotype.html +330 -0
  143. data/rdoc/NEAT/Critter.html +489 -0
  144. data/rdoc/NEAT/DSL.html +729 -0
  145. data/rdoc/NEAT/Evaluator.html +256 -0
  146. data/rdoc/NEAT/Evolver/CritterOp.html +349 -0
  147. data/rdoc/NEAT/Evolver.html +891 -0
  148. data/rdoc/NEAT/Expressor.html +402 -0
  149. data/rdoc/NEAT/Graph/DependencyResolver.html +291 -0
  150. data/rdoc/NEAT/Graph/GraphException.html +105 -0
  151. data/rdoc/NEAT/Graph.html +263 -0
  152. data/rdoc/NEAT/NeatException.html +105 -0
  153. data/rdoc/NEAT/NeatOb.html +325 -0
  154. data/rdoc/NEAT/Neuron.html +481 -0
  155. data/rdoc/NEAT/Operator.html +109 -0
  156. data/rdoc/NEAT/Population.html +935 -0
  157. data/rdoc/NEAT/Trait.html +117 -0
  158. data/rdoc/NEAT.html +422 -0
  159. data/rdoc/Object.html +384 -0
  160. data/rdoc/Phi.html +98 -0
  161. data/rdoc/Player.html +383 -0
  162. data/rdoc/Rakefile.html +254 -0
  163. data/rdoc/RubyNEAT/Application.html +105 -0
  164. data/rdoc/RubyNEAT.html +98 -0
  165. data/rdoc/SDL/Event2.html +98 -0
  166. data/rdoc/SDL.html +98 -0
  167. data/rdoc/Vector.html +195 -0
  168. data/rdoc/created.rid +125 -0
  169. data/rdoc/doc/ControllerPoint_html.html +299 -0
  170. data/rdoc/doc/CuteA_html.html +438 -0
  171. data/rdoc/doc/CuteB_html.html +436 -0
  172. data/rdoc/doc/DSL_html.html +992 -0
  173. data/rdoc/doc/NEAT/BasicNeuronTypes/BiasNeuron_html.html +617 -0
  174. data/rdoc/doc/NEAT/BasicNeuronTypes/CosineNeuron_html.html +413 -0
  175. data/rdoc/doc/NEAT/BasicNeuronTypes/InputNeuron_html.html +498 -0
  176. data/rdoc/doc/NEAT/BasicNeuronTypes/SigmoidNeuron_html.html +413 -0
  177. data/rdoc/doc/NEAT/BasicNeuronTypes/SineNeuron_html.html +413 -0
  178. data/rdoc/doc/NEAT/BasicNeuronTypes/TanhNeuron_html.html +412 -0
  179. data/rdoc/doc/NEAT/BasicNeuronTypes_html.html +310 -0
  180. data/rdoc/doc/NEAT/Controller/NeatSettings_html.html +3324 -0
  181. data/rdoc/doc/NEAT/Controller_html.html +2212 -0
  182. data/rdoc/doc/NEAT/Critter/Genotype/Gene_html.html +997 -0
  183. data/rdoc/doc/NEAT/Critter/Genotype_html.html +1556 -0
  184. data/rdoc/doc/NEAT/Critter/Phenotype_html.html +687 -0
  185. data/rdoc/doc/NEAT/Critter_html.html +1037 -0
  186. data/rdoc/doc/NEAT/DSL_html.html +1349 -0
  187. data/rdoc/doc/NEAT/Evaluator_html.html +556 -0
  188. data/rdoc/doc/NEAT/Evolver/CritterOp_html.html +690 -0
  189. data/rdoc/doc/NEAT/Evolver_html.html +677 -0
  190. data/rdoc/doc/NEAT/Expressor_html.html +468 -0
  191. data/rdoc/doc/NEAT/Graph/DependencyResolver_html.html +598 -0
  192. data/rdoc/doc/NEAT/Graph/GraphException_html.html +299 -0
  193. data/rdoc/doc/NEAT/Graph_html.html +527 -0
  194. data/rdoc/doc/NEAT/NeatException_html.html +299 -0
  195. data/rdoc/doc/NEAT/NeatOb_html.html +671 -0
  196. data/rdoc/doc/NEAT/Neuron_html.html +1095 -0
  197. data/rdoc/doc/NEAT/Operator_html.html +337 -0
  198. data/rdoc/doc/NEAT/Population_html.html +1795 -0
  199. data/rdoc/doc/NEAT/Trait_html.html +344 -0
  200. data/rdoc/doc/NEAT_html.html +736 -0
  201. data/rdoc/doc/_index_html.html +559 -0
  202. data/rdoc/doc/class_list_html.html +369 -0
  203. data/rdoc/doc/css/common_css.html +188 -0
  204. data/rdoc/doc/css/full_list_css.html +243 -0
  205. data/rdoc/doc/css/style_css.html +530 -0
  206. data/rdoc/doc/file_list_html.html +240 -0
  207. data/rdoc/doc/frames_html.html +217 -0
  208. data/rdoc/doc/index_html.html +559 -0
  209. data/rdoc/doc/js/app_js.html +423 -0
  210. data/rdoc/doc/js/full_list_js.html +372 -0
  211. data/rdoc/doc/js/jquery_js.html +1536 -0
  212. data/rdoc/doc/method_list_html.html +1375 -0
  213. data/rdoc/doc/top-level-namespace_html.html +317 -0
  214. data/rdoc/fonts/Lato-Light.ttf +0 -0
  215. data/rdoc/fonts/Lato-LightItalic.ttf +0 -0
  216. data/rdoc/fonts/Lato-Regular.ttf +0 -0
  217. data/rdoc/fonts/Lato-RegularItalic.ttf +0 -0
  218. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  219. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  220. data/rdoc/fonts.css +167 -0
  221. data/rdoc/images/add.png +0 -0
  222. data/rdoc/images/arrow_up.png +0 -0
  223. data/rdoc/images/brick.png +0 -0
  224. data/rdoc/images/brick_link.png +0 -0
  225. data/rdoc/images/bug.png +0 -0
  226. data/rdoc/images/bullet_black.png +0 -0
  227. data/rdoc/images/bullet_toggle_minus.png +0 -0
  228. data/rdoc/images/bullet_toggle_plus.png +0 -0
  229. data/rdoc/images/date.png +0 -0
  230. data/rdoc/images/delete.png +0 -0
  231. data/rdoc/images/find.png +0 -0
  232. data/rdoc/images/loadingAnimation.gif +0 -0
  233. data/rdoc/images/macFFBgHack.png +0 -0
  234. data/rdoc/images/package.png +0 -0
  235. data/rdoc/images/page_green.png +0 -0
  236. data/rdoc/images/page_white_text.png +0 -0
  237. data/rdoc/images/page_white_width.png +0 -0
  238. data/rdoc/images/plugin.png +0 -0
  239. data/rdoc/images/ruby.png +0 -0
  240. data/rdoc/images/tag_blue.png +0 -0
  241. data/rdoc/images/tag_green.png +0 -0
  242. data/rdoc/images/transparent.png +0 -0
  243. data/rdoc/images/wrench.png +0 -0
  244. data/rdoc/images/wrench_orange.png +0 -0
  245. data/rdoc/images/zoom.png +0 -0
  246. data/rdoc/index.html +282 -0
  247. data/rdoc/js/darkfish.js +140 -0
  248. data/rdoc/js/jquery.js +18 -0
  249. data/rdoc/js/navigation.js +142 -0
  250. data/rdoc/js/search.js +109 -0
  251. data/rdoc/js/search_index.js +1 -0
  252. data/rdoc/js/searcher.js +228 -0
  253. data/rdoc/rdoc.css +580 -0
  254. data/rdoc/rubyneat_gemspec.html +387 -0
  255. data/rdoc/table_of_contents.html +2502 -0
  256. data/rdoc/xordebug_log.html +170598 -0
  257. data/rdoc/xorsin_log.html +22569 -0
  258. data/rubyneat.gemspec +347 -0
  259. data/rubyneat.gemspec.orig +375 -0
  260. data/spec/lib/rubyneat/rubyneat_spec.rb +132 -0
  261. metadata +555 -0
@@ -0,0 +1,729 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class NEAT::Controller - 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"><a href="NeatOb.html">NEAT::NeatOb</a>
65
+
66
+ </div>
67
+
68
+
69
+
70
+ <!-- Method Quickref -->
71
+ <div id="method-list-section" class="nav-section">
72
+ <h3>Methods</h3>
73
+
74
+ <ul class="link-list" role="directory">
75
+
76
+ <li class="calls-super" ><a href="#method-c-new">::new</a>
77
+
78
+ <li ><a href="#method-i-gaussian">#gaussian</a>
79
+
80
+ <li ><a href="#method-i-new_innovation">#new_innovation</a>
81
+
82
+ <li ><a href="#method-i-run">#run</a>
83
+
84
+ </ul>
85
+ </div>
86
+
87
+ </div>
88
+ </nav>
89
+
90
+ <main role="main" aria-labelledby="class-NEAT::Controller">
91
+ <h1 id="class-NEAT::Controller" class="class">
92
+ class NEAT::Controller
93
+ </h1>
94
+
95
+ <section class="description">
96
+
97
+ <h1 id="class-NEAT::Controller-label-Controller+for+all+operations+of+RubyNEAT"><a href="Controller.html">Controller</a> for all operations of <a href="../RubyNEAT.html">RubyNEAT</a><span><a href="#class-NEAT::Controller-label-Controller+for+all+operations+of+RubyNEAT">&para;</a> <a href="#documentation">&uarr;</a></span></h1>
98
+
99
+ <pre>This object contains all the specifications and details for
100
+ evolving and evaluation of the RubyNEAT system. It is
101
+ a type of &quot;World&quot;, if you will, for the entire enterprise.
102
+
103
+ Your application shall only have one Controller.</pre>
104
+
105
+ </section>
106
+
107
+
108
+
109
+
110
+ <section id="5Buntitled-5D" class="documentation-section">
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+ <section class="attribute-method-details" class="method-section">
119
+ <header>
120
+ <h3>Attributes</h3>
121
+ </header>
122
+
123
+
124
+ <div id="attribute-i-compare_func" class="method-detail">
125
+ <div class="method-heading attribute-method-heading">
126
+ <span class="method-name">compare_func</span><span
127
+ class="attribute-access-type">[RW]</span>
128
+ </div>
129
+
130
+ <div class="method-description">
131
+
132
+ <p>Compare function for fitness Cost function for integrating in the cost to
133
+ the fitness scalar.</p>
134
+
135
+ </div>
136
+ </div>
137
+
138
+ <div id="attribute-i-cost_func" class="method-detail">
139
+ <div class="method-heading attribute-method-heading">
140
+ <span class="method-name">cost_func</span><span
141
+ class="attribute-access-type">[RW]</span>
142
+ </div>
143
+
144
+ <div class="method-description">
145
+
146
+ <p>Compare function for fitness Cost function for integrating in the cost to
147
+ the fitness scalar.</p>
148
+
149
+ </div>
150
+ </div>
151
+
152
+ <div id="attribute-i-end_run_func" class="method-detail">
153
+ <div class="method-heading attribute-method-heading">
154
+ <span class="method-name">end_run_func</span><span
155
+ class="attribute-access-type">[RW]</span>
156
+ </div>
157
+
158
+ <div class="method-description">
159
+
160
+ <p>End run function to call at the end of each generational run Also <a
161
+ href="Controller.html#attribute-i-report_hook">#report_hook</a> to dump
162
+ reports for the user, etc.</p>
163
+
164
+ </div>
165
+ </div>
166
+
167
+ <div id="attribute-i-evaluator" class="method-detail">
168
+ <div class="method-heading attribute-method-heading">
169
+ <span class="method-name">evaluator</span><span
170
+ class="attribute-access-type">[RW]</span>
171
+ </div>
172
+
173
+ <div class="method-description">
174
+
175
+
176
+
177
+ </div>
178
+ </div>
179
+
180
+ <div id="attribute-i-evaluator_class" class="method-detail">
181
+ <div class="method-heading attribute-method-heading">
182
+ <span class="method-name">evaluator_class</span><span
183
+ class="attribute-access-type">[RW]</span>
184
+ </div>
185
+
186
+ <div class="method-description">
187
+
188
+
189
+
190
+ </div>
191
+ </div>
192
+
193
+ <div id="attribute-i-evolver" class="method-detail">
194
+ <div class="method-heading attribute-method-heading">
195
+ <span class="method-name">evolver</span><span
196
+ class="attribute-access-type">[RW]</span>
197
+ </div>
198
+
199
+ <div class="method-description">
200
+
201
+
202
+
203
+ </div>
204
+ </div>
205
+
206
+ <div id="attribute-i-evolver_class" class="method-detail">
207
+ <div class="method-heading attribute-method-heading">
208
+ <span class="method-name">evolver_class</span><span
209
+ class="attribute-access-type">[RW]</span>
210
+ </div>
211
+
212
+ <div class="method-description">
213
+
214
+
215
+
216
+ </div>
217
+ </div>
218
+
219
+ <div id="attribute-i-expressor" class="method-detail">
220
+ <div class="method-heading attribute-method-heading">
221
+ <span class="method-name">expressor</span><span
222
+ class="attribute-access-type">[RW]</span>
223
+ </div>
224
+
225
+ <div class="method-description">
226
+
227
+
228
+
229
+ </div>
230
+ </div>
231
+
232
+ <div id="attribute-i-expressor_class" class="method-detail">
233
+ <div class="method-heading attribute-method-heading">
234
+ <span class="method-name">expressor_class</span><span
235
+ class="attribute-access-type">[RW]</span>
236
+ </div>
237
+
238
+ <div class="method-description">
239
+
240
+
241
+
242
+ </div>
243
+ </div>
244
+
245
+ <div id="attribute-i-fitness_func" class="method-detail">
246
+ <div class="method-heading attribute-method-heading">
247
+ <span class="method-name">fitness_func</span><span
248
+ class="attribute-access-type">[RW]</span>
249
+ </div>
250
+
251
+ <div class="method-description">
252
+
253
+ <p>Fitness function that Critters shall be rated on.</p>
254
+
255
+ </div>
256
+ </div>
257
+
258
+ <div id="attribute-i-generation_num" class="method-detail">
259
+ <div class="method-heading attribute-method-heading">
260
+ <span class="method-name">generation_num</span><span
261
+ class="attribute-access-type">[R]</span>
262
+ </div>
263
+
264
+ <div class="method-description">
265
+
266
+ <p>Current generation count</p>
267
+
268
+ </div>
269
+ </div>
270
+
271
+ <div id="attribute-i-glob_innov_num" class="method-detail">
272
+ <div class="method-heading attribute-method-heading">
273
+ <span class="method-name">glob_innov_num</span><span
274
+ class="attribute-access-type">[R]</span>
275
+ </div>
276
+
277
+ <div class="method-description">
278
+
279
+ <p>global innovation number</p>
280
+
281
+ </div>
282
+ </div>
283
+
284
+ <div id="attribute-i-log" class="method-detail">
285
+ <div class="method-heading attribute-method-heading">
286
+ <span class="method-name">log</span><span
287
+ class="attribute-access-type">[R]</span>
288
+ </div>
289
+
290
+ <div class="method-description">
291
+
292
+ <p>Logger object for all of <a href="../RubyNEAT.html">RubyNEAT</a></p>
293
+
294
+ </div>
295
+ </div>
296
+
297
+ <div id="attribute-i-neural_hidden" class="method-detail">
298
+ <div class="method-heading attribute-method-heading">
299
+ <span class="method-name">neural_hidden</span><span
300
+ class="attribute-access-type">[RW]</span>
301
+ </div>
302
+
303
+ <div class="method-description">
304
+
305
+ <p>Class map of named input and output neurons (each critter will have
306
+ instantiations of these) name: InputNeuralClass (usually InputNeuron)</p>
307
+
308
+ </div>
309
+ </div>
310
+
311
+ <div id="attribute-i-neural_inputs" class="method-detail">
312
+ <div class="method-heading attribute-method-heading">
313
+ <span class="method-name">neural_inputs</span><span
314
+ class="attribute-access-type">[RW]</span>
315
+ </div>
316
+
317
+ <div class="method-description">
318
+
319
+ <p>Class map of named input and output neurons (each critter will have
320
+ instantiations of these) name: InputNeuralClass (usually InputNeuron)</p>
321
+
322
+ </div>
323
+ </div>
324
+
325
+ <div id="attribute-i-neural_outputs" class="method-detail">
326
+ <div class="method-heading attribute-method-heading">
327
+ <span class="method-name">neural_outputs</span><span
328
+ class="attribute-access-type">[RW]</span>
329
+ </div>
330
+
331
+ <div class="method-description">
332
+
333
+ <p>Class map of named input and output neurons (each critter will have
334
+ instantiations of these) name: InputNeuralClass (usually InputNeuron)</p>
335
+
336
+ </div>
337
+ </div>
338
+
339
+ <div id="attribute-i-neuron_catalog" class="method-detail">
340
+ <div class="method-heading attribute-method-heading">
341
+ <span class="method-name">neuron_catalog</span><span
342
+ class="attribute-access-type">[RW]</span>
343
+ </div>
344
+
345
+ <div class="method-description">
346
+
347
+ <p>catalog of neurons classes to use { weight =&gt; nclass, … }</p>
348
+
349
+ </div>
350
+ </div>
351
+
352
+ <div id="attribute-i-parms" class="method-detail">
353
+ <div class="method-heading attribute-method-heading">
354
+ <span class="method-name">parms</span><span
355
+ class="attribute-access-type">[RW]</span>
356
+ </div>
357
+
358
+ <div class="method-description">
359
+
360
+ <p>Parameters for evolution (NeatParameters)</p>
361
+
362
+ </div>
363
+ </div>
364
+
365
+ <div id="attribute-i-population" class="method-detail">
366
+ <div class="method-heading attribute-method-heading">
367
+ <span class="method-name">population</span><span
368
+ class="attribute-access-type">[R]</span>
369
+ </div>
370
+
371
+ <div class="method-description">
372
+
373
+ <p>population object and class specification</p>
374
+
375
+ </div>
376
+ </div>
377
+
378
+ <div id="attribute-i-population_class" class="method-detail">
379
+ <div class="method-heading attribute-method-heading">
380
+ <span class="method-name">population_class</span><span
381
+ class="attribute-access-type">[R]</span>
382
+ </div>
383
+
384
+ <div class="method-description">
385
+
386
+ <p>population object and class specification</p>
387
+
388
+ </div>
389
+ </div>
390
+
391
+ <div id="attribute-i-population_history" class="method-detail">
392
+ <div class="method-heading attribute-method-heading">
393
+ <span class="method-name">population_history</span><span
394
+ class="attribute-access-type">[R]</span>
395
+ </div>
396
+
397
+ <div class="method-description">
398
+
399
+ <p>population object and class specification</p>
400
+
401
+ </div>
402
+ </div>
403
+
404
+ <div id="attribute-i-query_func" class="method-detail">
405
+ <div class="method-heading attribute-method-heading">
406
+ <span class="method-name">query_func</span><span
407
+ class="attribute-access-type">[RW]</span>
408
+ </div>
409
+
410
+ <div class="method-description">
411
+
412
+ <p>Query function that Critters shall call.</p>
413
+
414
+ </div>
415
+ </div>
416
+
417
+ <div id="attribute-i-recurrence_func" class="method-detail">
418
+ <div class="method-heading attribute-method-heading">
419
+ <span class="method-name">recurrence_func</span><span
420
+ class="attribute-access-type">[RW]</span>
421
+ </div>
422
+
423
+ <div class="method-description">
424
+
425
+ <p>Recurrence function that Critters will yield to.</p>
426
+
427
+ </div>
428
+ </div>
429
+
430
+ <div id="attribute-i-report_hook" class="method-detail">
431
+ <div class="method-heading attribute-method-heading">
432
+ <span class="method-name">report_hook</span><span
433
+ class="attribute-access-type">[RW]</span>
434
+ </div>
435
+
436
+ <div class="method-description">
437
+
438
+ <p>End run function to call at the end of each generational run Also <a
439
+ href="Controller.html#attribute-i-report_hook">#report_hook</a> to dump
440
+ reports for the user, etc.</p>
441
+
442
+ </div>
443
+ </div>
444
+
445
+ <div id="attribute-i-seq_num" class="method-detail">
446
+ <div class="method-heading attribute-method-heading">
447
+ <span class="method-name">seq_num</span><span
448
+ class="attribute-access-type">[R]</span>
449
+ </div>
450
+
451
+ <div class="method-description">
452
+
453
+ <p>current sequence number being evaluated</p>
454
+
455
+ </div>
456
+ </div>
457
+
458
+ <div id="attribute-i-stop_on_fit_func" class="method-detail">
459
+ <div class="method-heading attribute-method-heading">
460
+ <span class="method-name">stop_on_fit_func</span><span
461
+ class="attribute-access-type">[RW]</span>
462
+ </div>
463
+
464
+ <div class="method-description">
465
+
466
+ <p>Compare function for fitness Cost function for integrating in the cost to
467
+ the fitness scalar.</p>
468
+
469
+ </div>
470
+ </div>
471
+
472
+ <div id="attribute-i-verbosity" class="method-detail">
473
+ <div class="method-heading attribute-method-heading">
474
+ <span class="method-name">verbosity</span><span
475
+ class="attribute-access-type">[RW]</span>
476
+ </div>
477
+
478
+ <div class="method-description">
479
+
480
+ <p>Global verbosity level:</p>
481
+
482
+ <pre>1 - normal (the default)
483
+ 2 - really verbose
484
+ 3 - maximally verbose</pre>
485
+
486
+ <p>Use in conjunction with log.debug</p>
487
+
488
+ </div>
489
+ </div>
490
+
491
+ </section>
492
+
493
+
494
+
495
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
496
+ <header>
497
+ <h3>Public Class Methods</h3>
498
+ </header>
499
+
500
+
501
+ <div id="method-c-new" class="method-detail ">
502
+
503
+ <div class="method-heading">
504
+ <span class="method-name">new</span><span
505
+ class="method-args">(neural_inputs: nil, neural_outputs: nil, neural_hidden: nil, parameters: NeatSettings.new, &block)</span>
506
+
507
+ <span class="method-click-advice">click to toggle source</span>
508
+
509
+ </div>
510
+
511
+
512
+ <div class="method-description">
513
+
514
+ <ul><li>
515
+ <p><a href="Controller.html#attribute-i-neural_inputs">#neural_inputs</a> –
516
+ array of input classes</p>
517
+ </li><li>
518
+ <p><a href="Controller.html#attribute-i-neural_outputs">#neural_outputs</a> –
519
+ array of output classes</p>
520
+ </li><li>
521
+ <p>parameters – NeatParameters object, or a path to a YAML file to create
522
+ this.</p>
523
+ </li></ul>
524
+
525
+
526
+ <div class="method-calls-super">
527
+ Calls superclass method
528
+ <a href="NeatOb.html#method-c-new">NEAT::NeatOb.new</a>
529
+ </div>
530
+
531
+
532
+
533
+ <div class="method-source-code" id="new-source">
534
+ <pre><span class="ruby-comment"># File lib/rubyneat/rubyneat.rb, line 334</span>
535
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">neural_inputs</span><span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>,
536
+ <span class="ruby-identifier">neural_outputs</span><span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>,
537
+ <span class="ruby-identifier">neural_hidden</span><span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>,
538
+ <span class="ruby-identifier">parameters</span><span class="ruby-operator">:</span> <span class="ruby-constant">NeatSettings</span>.<span class="ruby-identifier">new</span>,
539
+ <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
540
+ <span class="ruby-keyword">super</span>(<span class="ruby-keyword">self</span>)
541
+ <span class="ruby-ivar">@verbosity</span> = <span class="ruby-value">1</span>
542
+ <span class="ruby-ivar">@glob_innov_num</span> = <span class="ruby-value">0</span>
543
+ <span class="ruby-ivar">@gaussian</span> = <span class="ruby-constant">Distribution</span><span class="ruby-operator">::</span><span class="ruby-constant">Normal</span>.<span class="ruby-identifier">rng</span>
544
+ <span class="ruby-ivar">@population_history</span> = []
545
+ <span class="ruby-ivar">@evolver</span> = <span class="ruby-constant">Evolver</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">self</span>
546
+ <span class="ruby-ivar">@expressor</span> = <span class="ruby-constant">Expressor</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">self</span>
547
+
548
+ <span class="ruby-ivar">@neuron_catalog</span> = <span class="ruby-constant">Neuron</span><span class="ruby-operator">::</span><span class="ruby-identifier">neuron_types</span>.<span class="ruby-identifier">clone</span>
549
+ <span class="ruby-ivar">@neural_inputs</span> = <span class="ruby-identifier">neural_inputs</span>
550
+ <span class="ruby-ivar">@neural_outputs</span> = <span class="ruby-identifier">neural_outputs</span>
551
+ <span class="ruby-ivar">@neural_hidden</span> = <span class="ruby-identifier">neural_hidden</span>
552
+
553
+ <span class="ruby-comment"># Default classes for population and operators, etc.</span>
554
+ <span class="ruby-ivar">@population_class</span> = <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-constant">Population</span>
555
+ <span class="ruby-ivar">@evaluator_class</span> = <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-constant">Evaluator</span>
556
+ <span class="ruby-ivar">@expressor_class</span> = <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-constant">Expressor</span>
557
+ <span class="ruby-ivar">@evolver_class</span> = <span class="ruby-constant">NEAT</span><span class="ruby-operator">::</span><span class="ruby-constant">Evolver</span>
558
+
559
+ <span class="ruby-comment"># Handle the parameters parameter. :-)</span>
560
+ <span class="ruby-ivar">@parms</span> = <span class="ruby-keyword">unless</span> <span class="ruby-identifier">parameters</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">String</span>
561
+ <span class="ruby-identifier">parameters</span>
562
+ <span class="ruby-keyword">else</span> <span class="ruby-comment"># load it from a file</span>
563
+ <span class="ruby-identifier">open</span>(<span class="ruby-identifier">parameters</span>, <span class="ruby-string">&#39;r&#39;</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">fd</span><span class="ruby-operator">|</span> <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load</span> <span class="ruby-identifier">fd</span>.<span class="ruby-identifier">read</span> }
564
+ <span class="ruby-keyword">end</span>
565
+ <span class="ruby-identifier">block</span>.(<span class="ruby-keyword">self</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">block</span>.<span class="ruby-identifier">nil?</span>
566
+ <span class="ruby-keyword">end</span></pre>
567
+ </div>
568
+
569
+ </div>
570
+
571
+
572
+
573
+
574
+ </div>
575
+
576
+
577
+ </section>
578
+
579
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
580
+ <header>
581
+ <h3>Public Instance Methods</h3>
582
+ </header>
583
+
584
+
585
+ <div id="method-i-gaussian" class="method-detail ">
586
+
587
+ <div class="method-heading">
588
+ <span class="method-name">gaussian</span><span
589
+ class="method-args">()</span>
590
+
591
+ <span class="method-click-advice">click to toggle source</span>
592
+
593
+ </div>
594
+
595
+
596
+ <div class="method-description">
597
+
598
+
599
+
600
+
601
+
602
+
603
+ <div class="method-source-code" id="gaussian-source">
604
+ <pre><span class="ruby-comment"># File lib/rubyneat/rubyneat.rb, line 368</span>
605
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">gaussian</span> ; <span class="ruby-ivar">@gaussian</span>.() ; <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-new_innovation" class="method-detail ">
617
+
618
+ <div class="method-heading">
619
+ <span class="method-name">new_innovation</span><span
620
+ class="method-args">()</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
+
630
+
631
+
632
+
633
+
634
+ <div class="method-source-code" id="new_innovation-source">
635
+ <pre><span class="ruby-comment"># File lib/rubyneat/rubyneat.rb, line 367</span>
636
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">new_innovation</span> ; <span class="ruby-ivar">@glob_innov_num</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>; <span class="ruby-keyword">end</span></pre>
637
+ </div>
638
+
639
+ </div>
640
+
641
+
642
+
643
+
644
+ </div>
645
+
646
+
647
+ <div id="method-i-run" class="method-detail ">
648
+
649
+ <div class="method-heading">
650
+ <span class="method-name">run</span><span
651
+ class="method-args">()</span>
652
+
653
+ <span class="method-click-advice">click to toggle source</span>
654
+
655
+ </div>
656
+
657
+
658
+ <div class="method-description">
659
+
660
+ <p>Run this evolution.</p>
661
+
662
+
663
+
664
+
665
+ <div class="method-source-code" id="run-source">
666
+ <pre><span class="ruby-comment"># File lib/rubyneat/rubyneat.rb, line 371</span>
667
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">run</span>
668
+ <span class="ruby-identifier">pre_run_initialize</span>
669
+ (<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-ivar">@parms</span>.<span class="ruby-identifier">max_generations</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">gen_number</span><span class="ruby-operator">|</span>
670
+ <span class="ruby-ivar">@generation_num</span> = <span class="ruby-identifier">gen_number</span>
671
+ <span class="ruby-ivar">@population_history</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@population</span>.<span class="ruby-identifier">nil?</span>
672
+ <span class="ruby-ivar">@population</span>
673
+ <span class="ruby-keyword">else</span>
674
+ <span class="ruby-ivar">@population</span> = <span class="ruby-ivar">@population_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>)
675
+ <span class="ruby-keyword">end</span>
676
+ <span class="ruby-ivar">@population_history</span>.<span class="ruby-identifier">shift</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@population_history</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-ivar">@parms</span>.<span class="ruby-identifier">max_population_history</span>
677
+ <span class="ruby-ivar">@population</span>.<span class="ruby-identifier">mutate!</span>
678
+ <span class="ruby-ivar">@population</span>.<span class="ruby-identifier">express!</span>
679
+
680
+ <span class="ruby-comment">## Evaluate population</span>
681
+ <span class="ruby-ivar">@evaluator</span>.<span class="ruby-identifier">ready_for_evaluation</span> <span class="ruby-ivar">@population</span>
682
+ (<span class="ruby-ivar">@parms</span>.<span class="ruby-identifier">start_sequence_at</span> <span class="ruby-operator">..</span> <span class="ruby-ivar">@parms</span>.<span class="ruby-identifier">end_sequence_at</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">snum</span><span class="ruby-operator">|</span>
683
+ <span class="ruby-ivar">@seq_num</span> = <span class="ruby-identifier">snum</span>
684
+ <span class="ruby-ivar">@population</span>.<span class="ruby-identifier">evaluate!</span>
685
+ <span class="ruby-keyword">end</span>
686
+
687
+ <span class="ruby-ivar">@population</span>.<span class="ruby-identifier">analyze!</span>
688
+ <span class="ruby-ivar">@population</span>.<span class="ruby-identifier">speciate!</span>
689
+
690
+ <span class="ruby-identifier">$log</span>.<span class="ruby-identifier">debug</span> <span class="ruby-ivar">@population</span>.<span class="ruby-identifier">dump_s</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@verbosity</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">3</span>
691
+
692
+ <span class="ruby-identifier">new_pop</span> = <span class="ruby-ivar">@population</span>.<span class="ruby-identifier">evolve</span>
693
+
694
+ <span class="ruby-comment">## Report hook for evaluation</span>
695
+ <span class="ruby-ivar">@report_hook</span>.(<span class="ruby-ivar">@population</span>.<span class="ruby-identifier">report</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@report_hook</span>.<span class="ruby-identifier">nil?</span>
696
+
697
+ <span class="ruby-comment">## Exit if fitness criteria is reached</span>
698
+ <span class="ruby-comment">#FIXME handle this exit condition better!!!!!</span>
699
+ <span class="ruby-identifier">exit</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@stop_on_fit_func</span>.(<span class="ruby-ivar">@population</span>.<span class="ruby-identifier">report</span>[<span class="ruby-value">:fitness</span>], <span class="ruby-keyword">self</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@stop_on_fit_func</span>.<span class="ruby-identifier">nil?</span>
700
+
701
+ <span class="ruby-comment">## Evolve population</span>
702
+ <span class="ruby-ivar">@population</span> = <span class="ruby-identifier">new_pop</span>
703
+
704
+ <span class="ruby-comment">## Finish up this run</span>
705
+ <span class="ruby-ivar">@end_run_func</span>.(<span class="ruby-keyword">self</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@end_run_func</span>.<span class="ruby-identifier">nil?</span>
706
+ <span class="ruby-keyword">end</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
+