rubyneat 0.3.5.alpha.2

Sign up to get free protection for your applications and to get access to all the features.
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 @@
1
+ var search_data = {"index":{"searchIndex":["controllerpoint","cutea","cuteb","dslsetup","gametestwindow","gamewindow","graphtest","invertedpendulum","cart","dsl","invpendwindow","logger","neat","basicneurontypes","biasneuron","cosineneuron","inputneuron","sigmoidneuron","sineneuron","tanhneuron","controller","neatsettings","critter","genotype","gene","phenotype","dsl","evaluator","evolver","critterop","expressor","graph","dependencyresolver","graphexception","neatexception","neatob","neuron","operator","population","trait","object","phi","player","rubyneat","application","sdl","event2","vector","<<()","[]()","[]()","[]()","[]=()","accelerate()","add()","add_gene!()","add_genes()","add_neuron!()","add_neurons()","analyze!()","analyze_for_fitness!()","basis()","best_critter()","bias?()","bias?()","bias?()","big_bang()","button_down()","button_down()","button_down()","button_up()","button_up()","cart()","clear_graph()","compare()","compare()","condition_boolean_vector()","controller()","controller=()","cost()","create_controller()","create_nodes()","define()","disable_gene!()","disabled?()","dpp()","draw()","draw()","draw()","draw()","draw()","dump_s()","dump_s()","dump_s()","dump_s()","enabled?()","evaluate!()","evaluate!()","evaluate!()","evolve()","evolve()","evolve()","express()","express()","express()","express()","express()","express()","express()","express!()","express!()","express!()","express!()","express_expression!()","express_genes!()","express_neurons!()","fitness()","fitness_cost()","forget!()","gaussian()","gaussian()","gen_initial_genes!()","inherited()","initialize_for_recurrence!()","initialize_neurons!()","innervate!()","input?()","input?()","input?()","inputs()","invpend()","ipwin=()","list_neaters()","list_neurons()","log()","log()","mate!()","method_missing()","move()","mutate!()","mutate!()","mutate_add_genes!()","mutate_add_neurons!()","mutate_change_gene_weights!()","mutate_change_neurons!()","mutate_disable_genes!()","mutate_perturb_gene_weights!()","mutate_reenable_genes!()","needs_cursor?()","neucleate()","neuron_types()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new_innovation()","new_innovation()","nuke_redundancies!()","output?()","pgraph()","prepare_fitness!()","prepare_novelty!()","prepare_speciation!()","prune!()","query()","random_name_generator()","ready_for_evaluation()","ready_for_expression!()","recurrence()","reenable_gene!()","report()","report()","report_best_fit()","report_fitness()","report_fitness_species()","report_worst_fit()","resolve()","resolve!()","run()","run_engine()","sex()","show()","simple_fitness_error()","speciate!()","stimulate()","stop_on_fitness()","to_s()","to_s()","to_s()","to_s()","turn_left()","turn_right()","uncondition_boolean_vector()","update()","update()","update()","update()","update_cart()","warp()","wire!()","worst_critter()","xor()","xor()","gemfile","gemfile.lock","guardfile","rakefile","controllerpoint.html","cutea.html","cuteb.html","dsl.html","neat.html","basicneurontypes.html","biasneuron.html","cosineneuron.html","inputneuron.html","sigmoidneuron.html","sineneuron.html","tanhneuron.html","controller.html","neatsettings.html","critter.html","genotype.html","gene.html","phenotype.html","dsl.html","evaluator.html","evolver.html","critterop.html","expressor.html","graph.html","dependencyresolver.html","graphexception.html","neatexception.html","neatob.html","neuron.html","operator.html","population.html","trait.html","_index.html","class_list.html","common.css","full_list.css","style.css","file_list.html","frames.html","index.html","app.js","full_list.js","jquery.js","method_list.html","top-level-namespace.html","foo.dump.log","rubyneat.gemspec","xordebug.log","xorsin.log"],"longSearchIndex":["controllerpoint","cutea","cuteb","dslsetup","gametestwindow","gamewindow","graphtest","invertedpendulum","invertedpendulum::cart","invertedpendulum::dsl","invertedpendulum::invpendwindow","logger","neat","neat::basicneurontypes","neat::basicneurontypes::biasneuron","neat::basicneurontypes::cosineneuron","neat::basicneurontypes::inputneuron","neat::basicneurontypes::sigmoidneuron","neat::basicneurontypes::sineneuron","neat::basicneurontypes::tanhneuron","neat::controller","neat::controller::neatsettings","neat::critter","neat::critter::genotype","neat::critter::genotype::gene","neat::critter::phenotype","neat::dsl","neat::evaluator","neat::evolver","neat::evolver::critterop","neat::expressor","neat::graph","neat::graph::dependencyresolver","neat::graph::graphexception","neat::neatexception","neat::neatob","neat::neuron","neat::operator","neat::population","neat::trait","object","phi","player","rubyneat","rubyneat::application","sdl","sdl::event2","vector","neat::graph#<<()","neat::critter::genotype::gene::[]()","neat::critter::phenotype::[]()","neat::graph::dependencyresolver::[]()","vector#[]=()","player#accelerate()","neat::graph#add()","neat::evolver::critterop#add_gene!()","neat::critter::genotype#add_genes()","neat::evolver::critterop#add_neuron!()","neat::critter::genotype#add_neurons()","neat::population#analyze!()","neat::evaluator#analyze_for_fitness!()","vector#basis()","neat::population#best_critter()","neat::basicneurontypes::biasneuron::bias?()","neat::neuron#bias?()","neat::neuron::bias?()","invertedpendulum::cart#big_bang()","gamewindow#button_down()","invertedpendulum::cart#button_down()","invertedpendulum::invpendwindow#button_down()","invertedpendulum::cart#button_up()","invertedpendulum::invpendwindow#button_up()","invertedpendulum::dsl#cart()","neat::graph#clear_graph()","neat::critter#compare()","neat::dsl#compare()","neat::dsl#condition_boolean_vector()","neat::controller()","neat::controller=()","neat::dsl#cost()","neat::create_controller()","object#create_nodes()","neat::dsl#define()","neat::evolver::critterop#disable_gene!()","neat::critter::genotype::gene#disabled?()","neat::dpp()","gametestwindow#draw()","gamewindow#draw()","invertedpendulum::cart#draw()","invertedpendulum::invpendwindow#draw()","player#draw()","neat::critter#dump_s()","neat::critter::genotype#dump_s()","neat::critter::genotype::gene#dump_s()","neat::population#dump_s()","neat::critter::genotype::gene#enabled?()","neat::critter#evaluate!()","neat::evaluator#evaluate!()","neat::population#evaluate!()","neat::dsl#evolve()","neat::evolver#evolve()","neat::population#evolve()","neat::basicneurontypes::biasneuron#express()","neat::basicneurontypes::cosineneuron#express()","neat::basicneurontypes::inputneuron#express()","neat::basicneurontypes::sigmoidneuron#express()","neat::basicneurontypes::sineneuron#express()","neat::basicneurontypes::tanhneuron#express()","neat::neuron#express()","neat::critter#express!()","neat::critter::phenotype#express!()","neat::expressor#express!()","neat::population#express!()","neat::expressor#express_expression!()","neat::expressor#express_genes!()","neat::expressor#express_neurons!()","neat::dsl#fitness()","neat::critter::genotype#fitness_cost()","neat::critter::genotype#forget!()","neat::gaussian()","neat::controller#gaussian()","neat::evolver#gen_initial_genes!()","neat::neuron::inherited()","neat::population#initialize_for_recurrence!()","neat::critter#initialize_neurons!()","neat::critter::genotype#innervate!()","neat::basicneurontypes::inputneuron::input?()","neat::neuron#input?()","neat::neuron::input?()","neat::graph#inputs()","invertedpendulum::dsl#invpend()","invertedpendulum::cart#ipwin=()","object#list_neaters()","object#list_neurons()","neat::neatob::log()","neat::neatob#log()","neat::evolver#mate!()","neat::dsl#method_missing()","player#move()","neat::evolver#mutate!()","neat::population#mutate!()","neat::evolver#mutate_add_genes!()","neat::evolver#mutate_add_neurons!()","neat::evolver#mutate_change_gene_weights!()","neat::evolver#mutate_change_neurons!()","neat::evolver#mutate_disable_genes!()","neat::evolver#mutate_perturb_gene_weights!()","neat::evolver#mutate_reenable_genes!()","invertedpendulum::invpendwindow#needs_cursor?()","neat::critter::genotype#neucleate()","neat::neuron::neuron_types()","cutea::new()","cuteb::new()","gametestwindow::new()","gamewindow::new()","graphtest::new()","invertedpendulum::cart::new()","invertedpendulum::invpendwindow::new()","neat::basicneurontypes::biasneuron::new()","neat::controller::new()","neat::controller::neatsettings::new()","neat::critter::new()","neat::critter::genotype::new()","neat::critter::genotype::gene::new()","neat::evolver::new()","neat::evolver::critterop::new()","neat::expressor::new()","neat::graph::dependencyresolver::new()","neat::neatob::new()","neat::population::new()","player::new()","neat::new_innovation()","neat::controller#new_innovation()","neat::critter::genotype#nuke_redundancies!()","neat::neuron#output?()","object#pgraph()","neat::evolver#prepare_fitness!()","neat::evolver#prepare_novelty!()","neat::evolver#prepare_speciation!()","neat::critter::genotype#prune!()","neat::dsl#query()","neat::random_name_generator()","neat::evaluator#ready_for_evaluation()","neat::critter#ready_for_expression!()","neat::dsl#recurrence()","neat::evolver::critterop#reenable_gene!()","neat::dsl#report()","neat::population#report()","neat::population#report_best_fit()","neat::population#report_fitness()","neat::population#report_fitness_species()","neat::population#report_worst_fit()","neat::graph::dependencyresolver#resolve()","neat::graph::dependencyresolver#resolve!()","neat::controller#run()","neat::dsl#run_engine()","neat::evolver#sex()","invertedpendulum::dsl#show()","neat::dsl#simple_fitness_error()","neat::population#speciate!()","neat::critter::phenotype#stimulate()","neat::dsl#stop_on_fitness()","graphtest#to_s()","neat::critter::genotype::gene#to_s()","neat::critter::phenotype#to_s()","neat::neatob#to_s()","player#turn_left()","player#turn_right()","neat::dsl#uncondition_boolean_vector()","gametestwindow#update()","gamewindow#update()","invertedpendulum::cart#update()","invertedpendulum::invpendwindow#update()","invertedpendulum::cart#update_cart()","player#warp()","neat::critter::genotype#wire!()","neat::population#worst_critter()","dslsetup#xor()","object#xor()","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"info":[["ControllerPoint","","ControllerPoint.html","",""],["CuteA","","CuteA.html","",""],["CuteB","","CuteB.html","",""],["DSLSetup","","DSLSetup.html","",""],["GameTestWindow","","GameTestWindow.html","",""],["GameWindow","","GameWindow.html","",""],["GraphTest","","GraphTest.html","",""],["InvertedPendulum","","InvertedPendulum.html","",""],["InvertedPendulum::Cart","","InvertedPendulum/Cart.html","",""],["InvertedPendulum::DSL","","InvertedPendulum/DSL.html","",""],["InvertedPendulum::InvPendWindow","","InvertedPendulum/InvPendWindow.html","",""],["Logger","","Logger.html","",""],["NEAT","","NEAT.html","","<p>Critter\n<p>RubyNEAT DSL\n<p>DSL is a domain-specific language for RubyNEAT to allow you to configure\nthe NEAT …\n"],["NEAT::BasicNeuronTypes","","NEAT/BasicNeuronTypes.html","","<p>Basic Neuron Types\n<p>Basically, the neurons (nodes) will have an instantiation to represent\ntheir places …\n"],["NEAT::BasicNeuronTypes::BiasNeuron","","NEAT/BasicNeuronTypes/BiasNeuron.html","","<p>Special class of neuron that provides a bias signal.\n\n<pre>FIXME: The bias value is not behaving as expected ...</pre>\n"],["NEAT::BasicNeuronTypes::CosineNeuron","","NEAT/BasicNeuronTypes/CosineNeuron.html","","<p>Cosine function (CPPN) – adjusted to have its +1 and -1 near TanhNeuron\n"],["NEAT::BasicNeuronTypes::InputNeuron","","NEAT/BasicNeuronTypes/InputNeuron.html","","<p>Special class of Neuron that takes input from the “real world”\n\n<pre>Name of this neuron equates to ...</pre>\n"],["NEAT::BasicNeuronTypes::SigmoidNeuron","","NEAT/BasicNeuronTypes/SigmoidNeuron.html","","<p>The most commonly-used neuron for the hidden and output layers. We use the\nLogistic Function for the …\n"],["NEAT::BasicNeuronTypes::SineNeuron","","NEAT/BasicNeuronTypes/SineNeuron.html","","<p>Sin function (CPPN) – adjusted to have its +1 and -1 near TanhNeuron\n"],["NEAT::BasicNeuronTypes::TanhNeuron","","NEAT/BasicNeuronTypes/TanhNeuron.html","","<p>An alternative Sigmoid Function, but ranges -1 to +1\n"],["NEAT::Controller","","NEAT/Controller.html","","<p>Controller for all operations of RubyNEAT\n\n<pre>This object contains all the specifications and details for ...</pre>\n"],["NEAT::Controller::NeatSettings","","NEAT/Controller/NeatSettings.html","","<p>Various parameters affecting evolution. Based somewhat on the C version of\nNEAT. TODO not all of these …\n"],["NEAT::Critter","","NEAT/Critter.html","","<p>Critters for NEAT\n\n<pre class=\"ruby\"><span class=\"ruby-constant\">The</span> <span class=\"ruby-constant\">Critter</span> <span class=\"ruby-keyword\">class</span> <span class=\"ruby-identifier\">comprises</span> <span class=\"ruby-identifier\">a</span> <span class=\"ruby-constant\">Genotype</span> <span class=\"ruby-keyword\">and</span> <span class=\"ruby-identifier\">a</span> <span class=\"ruby-constant\">Phenotype</span>.\n<span class=\"ruby-constant\">The</span> <span class=\"ruby-constant\">Genotype</span> <span class=\"ruby-identifier\">comprises</span> <span class=\"ruby-constant\">Genes</span> <span class=\"ruby-operator\">...</span>\n</pre>\n"],["NEAT::Critter::Genotype","","NEAT/Critter/Genotype.html","","<p>Genotype part of the Critter\n\n<pre>List of connections, basically.\n\nAlso, basic phentypic expression (which ...</pre>\n"],["NEAT::Critter::Genotype::Gene","","NEAT/Critter/Genotype/Gene.html","","<p>Gene Specification\n\n<pre>The Gene specifices a singlular input and\noutput neuron, which represents a connection ...</pre>\n"],["NEAT::Critter::Phenotype","","NEAT/Critter/Phenotype.html","","<p>Phenotype part of the Critter\n\n<pre>This is created by Evolver.</pre>\n"],["NEAT::DSL","","NEAT/DSL.html","",""],["NEAT::Evaluator","","NEAT/Evaluator.html","","<p>Evaluator evaluates phenotype of critter for fitness, novelty, etc.\n\n<pre>We can have a chain of these evaluators ...</pre>\n"],["NEAT::Evolver","","NEAT/Evolver.html","","<p>Evolver – Basis of all evolvers.\n\n<pre>All evolvers shall derive from this basic evolver (or this one can be ...</pre>\n"],["NEAT::Evolver::CritterOp","","NEAT/Evolver/CritterOp.html","","<p>A set of Critter Genotype operators.\n"],["NEAT::Expressor","","NEAT/Expressor.html","","<p>Basis of all expressors. \n\n<pre>Expressor object turn genotypes into phenotypes.</pre>\n"],["NEAT::Graph","","NEAT/Graph.html","","<p>General graph representation (mainly used for Neurons, but could be used\nfor other structures.)\n<p>This is …\n"],["NEAT::Graph::DependencyResolver","","NEAT/Graph/DependencyResolver.html","","<p>Create an instantiation of this and pass it a list of nodes to resolve.\n"],["NEAT::Graph::GraphException","","NEAT/Graph/GraphException.html","",""],["NEAT::NeatException","","NEAT/NeatException.html","",""],["NEAT::NeatOb","","NEAT/NeatOb.html","","<p>Basis of all NEAT objects\n"],["NEAT::Neuron","","NEAT/Neuron.html","","<p>Neuron – Basis of all Neat Neuron types.\n\n<pre>Normally contains primatives which aids in its\nown expression, ...</pre>\n"],["NEAT::Operator","","NEAT/Operator.html","","<p>Base class of operators in RubyNEAT,\n\n<pre>Such as Evolver, etc.</pre>\n"],["NEAT::Population","","NEAT/Population.html","","<p>Population of NEAT Critters.\n\n<pre>The Population \nIn ourselves we have the pool of neurons the critters all ...</pre>\n"],["NEAT::Trait","","NEAT/Trait.html","","<p>Traits\n\n<pre>A Trait is a group of parameters that can be expressed \nas a group more than one time. Traits ...</pre>\n"],["Object","","Object.html","",""],["Phi","","Phi.html","",""],["Player","","Player.html","",""],["RubyNEAT","","RubyNEAT.html","",""],["RubyNEAT::Application","","RubyNEAT/Application.html","",""],["SDL","","SDL.html","",""],["SDL::Event2","","SDL/Event2.html","",""],["Vector","","Vector.html","","<p>We do this for speedier simulations, otherwise Vector is immutable.\n"],["<<","NEAT::Graph","NEAT/Graph.html#method-i-3C-3C","(input)",""],["[]","NEAT::Critter::Genotype::Gene","NEAT/Critter/Genotype/Gene.html#method-c-5B-5D","(genotype, input, output, weight = 0.0, innov = nil)","<p>Create a new Gene and set it up fully.\n\n<pre>genotype -- genotype\ninput -- name of input neuron connection\noutput ...</pre>\n"],["[]","NEAT::Critter::Phenotype","NEAT/Critter/Phenotype.html#method-c-5B-5D","(critter)",""],["[]","NEAT::Graph::DependencyResolver","NEAT/Graph/DependencyResolver.html#method-c-5B-5D","(*outs)","<p>Create a DependencyResolver from either an array of outputs or a parameter\nlist of outputs.\n"],["[]=","Vector","Vector.html#method-i-5B-5D-3D","(i, v)",""],["accelerate","Player","Player.html#method-i-accelerate","()",""],["add","NEAT::Graph","NEAT/Graph.html#method-i-add","(input)","<p>Add a single input\n"],["add_gene!","NEAT::Evolver::CritterOp","NEAT/Evolver/CritterOp.html#method-i-add_gene-21","(crit)","<p>Add a gene to the genome\n\n<pre>Unlike adding a new neuron, adding a new gene\ncould result in a circular dependency. ...</pre>\n"],["add_genes","NEAT::Critter::Genotype","NEAT/Critter/Genotype.html#method-i-add_genes","(*genes)","<p>Genes added here MUST correspond to pre-existing neurons. Be sure to do\nadd_neurons first!!!!\n"],["add_neuron!","NEAT::Evolver::CritterOp","NEAT/Evolver/CritterOp.html#method-i-add_neuron-21","(crit)","<p>Add a neuron to given critter\n\n<pre>Here, we add a neuron by randomly picking a\ngene, and split it into two ...</pre>\n"],["add_neurons","NEAT::Critter::Genotype","NEAT/Critter/Genotype.html#method-i-add_neurons","(*neus)","<p>Add new neurons to the fold\n"],["analyze!","NEAT::Population","NEAT/Population.html#method-i-analyze-21","()","<p>Alalyze evaluation results.\n"],["analyze_for_fitness!","NEAT::Evaluator","NEAT/Evaluator.html#method-i-analyze_for_fitness-21","(critter)","<p>Analyze the evaluation and compute a fitness for the given critter. Note\nthat if cost_func is set, we …\n"],["basis","Vector","Vector.html#method-i-basis","(v)","<p>Given that self vector is a basis vector, compute the component vector for\nv.\n"],["best_critter","NEAT::Population","NEAT/Population.html#method-i-best_critter","()","<p>The “best critter” is the critter with the lowest (closet to zero) fitness\nrating.\n"],["bias?","NEAT::BasicNeuronTypes::BiasNeuron","NEAT/BasicNeuronTypes/BiasNeuron.html#method-c-bias-3F","()",""],["bias?","NEAT::Neuron","NEAT/Neuron.html#method-i-bias-3F","()",""],["bias?","NEAT::Neuron","NEAT/Neuron.html#method-c-bias-3F","()",""],["big_bang","InvertedPendulum::Cart","InvertedPendulum/Cart.html#method-i-big_bang","(bb = 0)","\n<pre>Provide a bang for the cart.\nReturn a thrust (acc) vector (really just x)\nbased on thrust</pre>\n<p>@param bb – …\n"],["button_down","GameWindow","GameWindow.html#method-i-button_down","(id)",""],["button_down","InvertedPendulum::Cart","InvertedPendulum/Cart.html#method-i-button_down","(id)",""],["button_down","InvertedPendulum::InvPendWindow","InvertedPendulum/InvPendWindow.html#method-i-button_down","(id)",""],["button_up","InvertedPendulum::Cart","InvertedPendulum/Cart.html#method-i-button_up","(id)",""],["button_up","InvertedPendulum::InvPendWindow","InvertedPendulum/InvPendWindow.html#method-i-button_up","(id)",""],["cart","InvertedPendulum::DSL","InvertedPendulum/DSL.html#method-i-cart","(&block)",""],["clear_graph","NEAT::Graph","NEAT/Graph.html#method-i-clear_graph","()","<p>clear and initialize the graph.\n"],["compare","NEAT::Critter","NEAT/Critter.html#method-i-compare","(oc)","<p>Compare ourselves against another critter for compability.\n<p>The function to be used here is:\n\n<pre>distance = ...</pre>\n"],["compare","NEAT::DSL","NEAT/DSL.html#method-i-compare","(&block)","<p>Fitness ordering – given 2 fitness numbers, use the &lt;=&gt; to compare\nthem (or the equivalent, following …\n"],["condition_boolean_vector","NEAT::DSL","NEAT/DSL.html#method-i-condition_boolean_vector","(vec, sig = :tanh)","<p>Helper function to Condition boolean vectors to be +1 if true, -1 if false\n(0 if sigmoid)\n"],["controller","NEAT","NEAT.html#method-c-controller","()",""],["controller=","NEAT","NEAT.html#method-c-controller-3D","(controller)",""],["cost","NEAT::DSL","NEAT/DSL.html#method-i-cost","(&block)","<p>Calculation to add the cost to the fitness, resulting in a fitness that\nincorporates the cost for sorting …\n"],["create_controller","NEAT","NEAT.html#method-c-create_controller","(*parms)",""],["create_nodes","Object","Object.html#method-i-create_nodes","(n)",""],["define","NEAT::DSL","NEAT/DSL.html#method-i-define","(name = NEAT.random_name_generator, &block)","<p>DSL – Define defines the parameters to the controller.\n"],["disable_gene!","NEAT::Evolver::CritterOp","NEAT/Evolver/CritterOp.html#method-i-disable_gene-21","(crit)","<p>Pick an enabled gene at random and disable it.\n"],["disabled?","NEAT::Critter::Genotype::Gene","NEAT/Critter/Genotype/Gene.html#method-i-disabled-3F","()",""],["dpp","NEAT","NEAT.html#method-c-dpp","(ob)","<p>PrettyPrint to log.debug\n"],["draw","GameTestWindow","GameTestWindow.html#method-i-draw","()",""],["draw","GameWindow","GameWindow.html#method-i-draw","()",""],["draw","InvertedPendulum::Cart","InvertedPendulum/Cart.html#method-i-draw","()",""],["draw","InvertedPendulum::InvPendWindow","InvertedPendulum/InvPendWindow.html#method-i-draw","()",""],["draw","Player","Player.html#method-i-draw","()",""],["dump_s","NEAT::Critter","NEAT/Critter.html#method-i-dump_s","()","<p>Critter print\n"],["dump_s","NEAT::Critter::Genotype","NEAT/Critter/Genotype.html#method-i-dump_s","()",""],["dump_s","NEAT::Critter::Genotype::Gene","NEAT/Critter/Genotype/Gene.html#method-i-dump_s","()",""],["dump_s","NEAT::Population","NEAT/Population.html#method-i-dump_s","()",""],["enabled?","NEAT::Critter::Genotype::Gene","NEAT/Critter/Genotype/Gene.html#method-i-enabled-3F","()",""],["evaluate!","NEAT::Critter","NEAT/Critter.html#method-i-evaluate-21","()","<p>A single evaluation step. Evaluate and generate fitness, novelty, etc.\nReturns the result.\n"],["evaluate!","NEAT::Evaluator","NEAT/Evaluator.html#method-i-evaluate-21","(critter)","<p>Evaluate one step of a sequence of evaluations. For time series and\nrealtime ongoing evaluations, @controller.seq_num …\n"],["evaluate!","NEAT::Population","NEAT/Population.html#method-i-evaluate-21","()","<p>Called for each sequence.\n"],["evolve","NEAT::DSL","NEAT/DSL.html#method-i-evolve","(&block)","<p>DSL – Run evolution\n"],["evolve","NEAT::Evolver","NEAT/Evolver.html#method-i-evolve","(population)","<p>Here we clone the population and then evolve it on the basis of fitness and\nnovelty, etc.\n<p>Returns the …\n"],["evolve","NEAT::Population","NEAT/Population.html#method-i-evolve","()","<p>Call this after evaluation. Returns a newly-evolved population.\n"],["express","NEAT::BasicNeuronTypes::BiasNeuron","NEAT/BasicNeuronTypes/BiasNeuron.html#method-i-express","(instance)","<p>Just provides a bias signal FIXME: we had to hard-code the value here for\nnow. Not a biggie, FIXME: but …\n"],["express","NEAT::BasicNeuronTypes::CosineNeuron","NEAT/BasicNeuronTypes/CosineNeuron.html#method-i-express","(instance)","<p>create a function on the instance with our name that sums all inputs and\nproduce a sigmoid output (using …\n"],["express","NEAT::BasicNeuronTypes::InputNeuron","NEAT/BasicNeuronTypes/InputNeuron.html#method-i-express","(instance)","<p>Takes a single input and passes it as is.\n"],["express","NEAT::BasicNeuronTypes::SigmoidNeuron","NEAT/BasicNeuronTypes/SigmoidNeuron.html#method-i-express","(instance)","<p>create a function on the instance with our name that sums all inputs and\nproduce a sigmoid output (using …\n"],["express","NEAT::BasicNeuronTypes::SineNeuron","NEAT/BasicNeuronTypes/SineNeuron.html#method-i-express","(instance)","<p>create a function on the instance with our name that sums all inputs and\nproduce a sigmoid output (using …\n"],["express","NEAT::BasicNeuronTypes::TanhNeuron","NEAT/BasicNeuronTypes/TanhNeuron.html#method-i-express","(instance)","<p>create a function on the instance with our name that sums all inputs and\nproduce a sigmoid output (using …\n"],["express","NEAT::Neuron","NEAT/Neuron.html#method-i-express","(instance)","<p>Function must be implemented by subclasses for phenotype generation.\nBasically, an instance is passed …\n"],["express!","NEAT::Critter","NEAT/Critter.html#method-i-express-21","()","<p>Exoress this critter using the Expressor plugin.\n"],["express!","NEAT::Critter::Phenotype","NEAT/Critter/Phenotype.html#method-i-express-21","()","<p>Take what is in code and express that!\n"],["express!","NEAT::Expressor","NEAT/Expressor.html#method-i-express-21","(critter)","<p>Take the genotype of the critter and create a phenotype from the genotype.\n<p>In the phenotype, it creates …\n"],["express!","NEAT::Population","NEAT/Population.html#method-i-express-21","()","<p>Express the entire population.\n"],["express_expression!","NEAT::Expressor","NEAT/Expressor.html#method-i-express_expression-21","(critter)",""],["express_genes!","NEAT::Expressor","NEAT/Expressor.html#method-i-express_genes-21","(critter)","<p>Expression of the Genotype as a Phenotype.\n\n<pre>What this really does is create the function that calls\nall ...</pre>\n"],["express_neurons!","NEAT::Expressor","NEAT/Expressor.html#method-i-express_neurons-21","(critter)","<p>Express Neurons as methods\n"],["fitness","NEAT::DSL","NEAT/DSL.html#method-i-fitness","(&block)","<p>fitness function calls the block with 2 vectors or two hashes, input and\noutput vectors of the critter …\n"],["fitness_cost","NEAT::Critter::Genotype","NEAT/Critter/Genotype.html#method-i-fitness_cost","()","<p>Calculate the cost of this genotype.\n"],["forget!","NEAT::Critter::Genotype","NEAT/Critter/Genotype.html#method-i-forget-21","()","<p>Make the neurons forget their wiring.\n"],["gaussian","NEAT","NEAT.html#method-c-gaussian","()","<p>Mixin for the gaussian object.\n"],["gaussian","NEAT::Controller","NEAT/Controller.html#method-i-gaussian","()",""],["gen_initial_genes!","NEAT::Evolver","NEAT/Evolver.html#method-i-gen_initial_genes-21","(genotype)","<p>Generate the initial genes for a given genotype. We key genes off their\ninnovation numbers.\n"],["inherited","NEAT::Neuron","NEAT/Neuron.html#method-c-inherited","(clazz)",""],["initialize_for_recurrence!","NEAT::Population","NEAT/Population.html#method-i-initialize_for_recurrence-21","()","<p>Make sure all critters are reset and prepared for recurrent network\nevaluation.\n"],["initialize_neurons!","NEAT::Critter","NEAT/Critter.html#method-i-initialize_neurons-21","()","<p>This initializes neurons in preparation for recurrence. Note that the\nCritter should already have expressed …\n"],["innervate!","NEAT::Critter::Genotype","NEAT/Critter/Genotype.html#method-i-innervate-21","(*hneus)","<p>We take the neural hashes (presumably from other neurons), and innervate\nthem. We do this in distinctions …\n"],["input?","NEAT::BasicNeuronTypes::InputNeuron","NEAT/BasicNeuronTypes/InputNeuron.html#method-c-input-3F","()",""],["input?","NEAT::Neuron","NEAT/Neuron.html#method-i-input-3F","()",""],["input?","NEAT::Neuron","NEAT/Neuron.html#method-c-input-3F","()","<p>Class is is of Input type?\n"],["inputs","NEAT::Graph","NEAT/Graph.html#method-i-inputs","()","<p>Get list of inputs\n"],["invpend","InvertedPendulum::DSL","InvertedPendulum/DSL.html#method-i-invpend","(&block)",""],["ipwin=","InvertedPendulum::Cart","InvertedPendulum/Cart.html#method-i-ipwin-3D","(ipwin)",""],["list_neaters","Object","Object.html#method-i-list_neaters","()",""],["list_neurons","Object","Object.html#method-i-list_neurons","()",""],["log","NEAT::NeatOb","NEAT/NeatOb.html#method-c-log","()",""],["log","NEAT::NeatOb","NEAT/NeatOb.html#method-i-log","()",""],["mate!","NEAT::Evolver","NEAT/Evolver.html#method-i-mate-21","()","<p>Here we select candidates for mating. We must look at species and fitness\nto make the selection for mating. …\n"],["method_missing","NEAT::DSL","NEAT/DSL.html#method-i-method_missing","(m, *args, &block)","<p>This is used to handle the details of our DSL.\n"],["move","Player","Player.html#method-i-move","()",""],["mutate!","NEAT::Evolver","NEAT/Evolver.html#method-i-mutate-21","(population)","<p>Here we mutate the population.\n"],["mutate!","NEAT::Population","NEAT/Population.html#method-i-mutate-21","()","<p>Mutate the genes and neurons.\n"],["mutate_add_genes!","NEAT::Evolver","NEAT/Evolver.html#method-i-mutate_add_genes-21","()",""],["mutate_add_neurons!","NEAT::Evolver","NEAT/Evolver.html#method-i-mutate_add_neurons-21","()",""],["mutate_change_gene_weights!","NEAT::Evolver","NEAT/Evolver.html#method-i-mutate_change_gene_weights-21","()","<p>Totally change weights to something completely different\n"],["mutate_change_neurons!","NEAT::Evolver","NEAT/Evolver.html#method-i-mutate_change_neurons-21","()","<p>TODO Finish mutate_change_neurons!\n"],["mutate_disable_genes!","NEAT::Evolver","NEAT/Evolver.html#method-i-mutate_disable_genes-21","()",""],["mutate_perturb_gene_weights!","NEAT::Evolver","NEAT/Evolver.html#method-i-mutate_perturb_gene_weights-21","()","<p>Perturb existing gene weights by adding a guassian to them.\n"],["mutate_reenable_genes!","NEAT::Evolver","NEAT/Evolver.html#method-i-mutate_reenable_genes-21","()",""],["needs_cursor?","InvertedPendulum::InvPendWindow","InvertedPendulum/InvPendWindow.html#method-i-needs_cursor-3F","()",""],["neucleate","NEAT::Critter::Genotype","NEAT/Critter/Genotype.html#method-i-neucleate","(clean: true, &block)","<p>We add genes given here to the genome. An array of genes is returned from\nthe block and we simply add …\n"],["neuron_types","NEAT::Neuron","NEAT/Neuron.html#method-c-neuron_types","()","<p>List of distinct neuron types (classes)\n"],["new","CuteA","CuteA.html#method-c-new","()",""],["new","CuteB","CuteB.html#method-c-new","()",""],["new","GameTestWindow","GameTestWindow.html#method-c-new","()",""],["new","GameWindow","GameWindow.html#method-c-new","()",""],["new","GraphTest","GraphTest.html#method-c-new","(i)",""],["new","InvertedPendulum::Cart","InvertedPendulum/Cart.html#method-c-new","(ipwin: nil, scale: 0.50, ang: 90.1, xpos: 500.0, ypos: 845.0, cartmass: 200.0, polemass: 100.10, bang: 10.0, thrust_decay: 2.0, window_pix_width: 1280, update_interval: 16.666666, naked: false)","<p>@param ipwin – the windowed canvalss this will be shown. @param scale –\nvisual scale on the canvas. …\n"],["new","InvertedPendulum::InvPendWindow","InvertedPendulum/InvPendWindow.html#method-c-new","(width: 1280, height: 1024)",""],["new","NEAT::BasicNeuronTypes::BiasNeuron","NEAT/BasicNeuronTypes/BiasNeuron.html#method-c-new","(c=nil, n=nil)",""],["new","NEAT::Controller","NEAT/Controller.html#method-c-new","(neural_inputs: nil, neural_outputs: nil, neural_hidden: nil, parameters: NeatSettings.new, &block)","<p>neural_inputs – array of input classes\n<p>neural_outputs – array of output classes\n<p>parameters – NeatParameters …\n"],["new","NEAT::Controller::NeatSettings","NEAT/Controller/NeatSettings.html#method-c-new","()","<p>Set up defaults for mandatory entries.\n"],["new","NEAT::Critter","NEAT/Critter.html#method-c-new","(pop, mating = false, &block)","<p>Critter construction. We construct the genotype. The phenotype will be\nconstructed by the Expressor operator. …\n"],["new","NEAT::Critter::Genotype","NEAT/Critter/Genotype.html#method-c-new","(critter, mating = false, &block)",""],["new","NEAT::Critter::Genotype::Gene","NEAT/Critter/Genotype/Gene.html#method-c-new","(genotype, &block)",""],["new","NEAT::Evolver","NEAT/Evolver.html#method-c-new","(c)",""],["new","NEAT::Evolver::CritterOp","NEAT/Evolver/CritterOp.html#method-c-new","(evol)",""],["new","NEAT::Expressor","NEAT/Expressor.html#method-c-new","(c)",""],["new","NEAT::Graph::DependencyResolver","NEAT/Graph/DependencyResolver.html#method-c-new","(outputs, &block)","<p>Given a list of output nodes, we shall work backwards from them to resolve\ntheir dependencies.\n"],["new","NEAT::NeatOb","NEAT/NeatOb.html#method-c-new","(controller = nil, name = nil)","<p>Initializer for all NEAT objects. Requires that the controller object is\nspecified for all classes with …\n"],["new","NEAT::Population","NEAT/Population.html#method-c-new","(c, &block)","<p>Create initial (ramdom) population of critters\n"],["new","Player","Player.html#method-c-new","(window)",""],["new_innovation","NEAT","NEAT.html#method-c-new_innovation","()","<p>Mixin for new innovation numbers.\n"],["new_innovation","NEAT::Controller","NEAT/Controller.html#method-i-new_innovation","()",""],["nuke_redundancies!","NEAT::Critter::Genotype","NEAT/Critter/Genotype.html#method-i-nuke_redundancies-21","()","<p>Remove any redundancies in the genome, any genes refering to the same two\nneurons. Simply choose one …\n"],["output?","NEAT::Neuron","NEAT/Neuron.html#method-i-output-3F","()","<p>Instantiation is of outout type?\n"],["pgraph","Object","Object.html#method-i-pgraph","(a, mess)",""],["prepare_fitness!","NEAT::Evolver","NEAT/Evolver.html#method-i-prepare_fitness-21","()","<p>Sort species within the basis of fitness. Think of the fitness as an error\n/ cost function. The better …\n"],["prepare_novelty!","NEAT::Evolver","NEAT/Evolver.html#method-i-prepare_novelty-21","()","<p>TODO: write novelty code\n"],["prepare_speciation!","NEAT::Evolver","NEAT/Evolver.html#method-i-prepare_speciation-21","()","<p>Here we specify evolutionary operators.\n"],["prune!","NEAT::Critter::Genotype","NEAT/Critter/Genotype.html#method-i-prune-21","()","<p>Go through the list of neurons and drop any neurons not referenced by the\ngenes.\n<p>Then go through the genes …\n"],["query","NEAT::DSL","NEAT/DSL.html#method-i-query","(&block)","<p>Query function is called with the sequence (time evolution) number, and\nreturns an array or hash of parameters …\n"],["random_name_generator","NEAT","NEAT.html#method-c-random_name_generator","()",""],["ready_for_evaluation","NEAT::Evaluator","NEAT/Evaluator.html#method-i-ready_for_evaluation","(pop)","<p>This is call prior to any sequence evaluation. Here, we clean up persistent\ntracking information, etc. …\n"],["ready_for_expression!","NEAT::Critter","NEAT/Critter.html#method-i-ready_for_expression-21","()","<p>Get the Critter ready for the Expressor to express the geneotype.\n"],["recurrence","NEAT::DSL","NEAT/DSL.html#method-i-recurrence","(&block)",""],["reenable_gene!","NEAT::Evolver::CritterOp","NEAT/Evolver/CritterOp.html#method-i-reenable_gene-21","(crit)","<p>Pick a disabled gene at random and reenable it.\n"],["report","NEAT::DSL","NEAT/DSL.html#method-i-report","(&block)","<p>Report on evaluations\n"],["report","NEAT::Population","NEAT/Population.html#method-i-report","()","<p>Generate a report on the state of this population.\n"],["report_best_fit","NEAT::Population","NEAT/Population.html#method-i-report_best_fit","()","<p>Find the best fit critter\n"],["report_fitness","NEAT::Population","NEAT/Population.html#method-i-report_fitness","()","<p>report on many fitness metrics\n"],["report_fitness_species","NEAT::Population","NEAT/Population.html#method-i-report_fitness_species","()","<p>report on the best and worst species\n"],["report_worst_fit","NEAT::Population","NEAT/Population.html#method-i-report_worst_fit","()","<p>Find the worst fit critter\n"],["resolve","NEAT::Graph::DependencyResolver","NEAT/Graph/DependencyResolver.html#method-i-resolve","()","<p>Resolve dependencies, and return [dependency_list, circular_ref_node_list]\nNote that circular_ref_node_list …\n"],["resolve!","NEAT::Graph::DependencyResolver","NEAT/Graph/DependencyResolver.html#method-i-resolve-21","()","<p>Throw an exception if dependencies are found. We only return the dependency\nlist since we throw an exception …\n"],["run","NEAT::Controller","NEAT/Controller.html#method-i-run","()","<p>Run this evolution.\n"],["run_engine","NEAT::DSL","NEAT/DSL.html#method-i-run_engine","(&block)","<p>Run the engine. The block is called on each generation.\n"],["sex","NEAT::Evolver","NEAT/Evolver.html#method-i-sex","(crit1, crit2)","<p>Mate the given critters and return a baby. This is rather involved, and\nrelies heavily on the Innovation …\n"],["show","InvertedPendulum::DSL","InvertedPendulum/DSL.html#method-i-show","(cart: @cart, &block)",""],["simple_fitness_error","NEAT::DSL","NEAT/DSL.html#method-i-simple_fitness_error","(v1, v2)","<p>Helper function to do a simple fitness calculation on the basis of the sum\nof the square of the diffences …\n"],["speciate!","NEAT::Population","NEAT/Population.html#method-i-speciate-21","()","\n<pre>Group critters into species\nNote that the @species objects\nhave useful singleton methods:</pre>\n<p>@species.member? …\n"],["stimulate","NEAT::Critter::Phenotype","NEAT/Critter/Phenotype.html#method-i-stimulate","()","<p>This function is re-written by Expressor – with parameters and all. It\nreturns a “response” …\n"],["stop_on_fitness","NEAT::DSL","NEAT/DSL.html#method-i-stop_on_fitness","(&block)","<p>Stop the progression once the fitness criteria is reached for the most fit\ncritter\n"],["to_s","GraphTest","GraphTest.html#method-i-to_s","()",""],["to_s","NEAT::Critter::Genotype::Gene","NEAT/Critter/Genotype/Gene.html#method-i-to_s","()",""],["to_s","NEAT::Critter::Phenotype","NEAT/Critter/Phenotype.html#method-i-to_s","()","<p>This gives us a complete\n"],["to_s","NEAT::NeatOb","NEAT/NeatOb.html#method-i-to_s","()",""],["turn_left","Player","Player.html#method-i-turn_left","()",""],["turn_right","Player","Player.html#method-i-turn_right","()",""],["uncondition_boolean_vector","NEAT::DSL","NEAT/DSL.html#method-i-uncondition_boolean_vector","(vec, sig = :tanh)","<p>Helper function to Uncondition boolean vectors to be +1 if true, -1 if\nfalse FIXME we need a better discrimination …\n"],["update","GameTestWindow","GameTestWindow.html#method-i-update","()",""],["update","GameWindow","GameWindow.html#method-i-update","()",""],["update","InvertedPendulum::Cart","InvertedPendulum/Cart.html#method-i-update","()",""],["update","InvertedPendulum::InvPendWindow","InvertedPendulum/InvPendWindow.html#method-i-update","()",""],["update_cart","InvertedPendulum::Cart","InvertedPendulum/Cart.html#method-i-update_cart","()","<p>update the positions of all the compnents of the cart in terms of the\nrelative positional relationships …\n"],["warp","Player","Player.html#method-i-warp","(x, y)",""],["wire!","NEAT::Critter::Genotype","NEAT/Critter/Genotype.html#method-i-wire-21","()","<p>Wire up the neurons based on the genes.\n"],["worst_critter","NEAT::Population","NEAT/Population.html#method-i-worst_critter","()","<p>The “worst critter” is the critter with the highest (away from zero)\nfitness rating.\n"],["xor","DSLSetup","DSLSetup.html#method-i-xor","(*inp)","<p>Basic xor function we shall evolve a net for. Only goes true on one and\nonly one true input, false otherwise. …\n"],["xor","Object","Object.html#method-i-xor","(*inp)","\n<pre>Basic xor function we shall evolve a net for. Only goes true\non one and only one true input, false otherwise.</pre>\n"],["Gemfile","","Gemfile.html","","<p>source &#39;rubygems.org&#39;\n<p>#gemspec\n<p>ruby &#39;2.1.1&#39;\n"],["Gemfile.lock","","Gemfile_lock.html","","<p>GEM\n\n<pre>remote: https://rubygems.org/\nspecs:\n addressable (2.3.6)\n aquarium (0.5.1)\n awesome_print (1.2.0) ...</pre>\n"],["Guardfile","","Guardfile.html","","<p># A sample Guardfile # More info at github.com/guard/guard#readme\n<p>guard &#39;rspec&#39; do\n\n<pre>watch(%r{^spec/.+_spec\\.rb$}) ...</pre>\n"],["Rakefile","","Rakefile.html","","<p>require &#39;rubygems&#39; require &#39;bundler&#39; require\n&#39;semver&#39;\n<p>def s_version\n\n<pre>SemVer.find.format ...</pre>\n"],["ControllerPoint.html","","doc/ControllerPoint_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["CuteA.html","","doc/CuteA_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["CuteB.html","","doc/CuteB_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["DSL.html","","doc/DSL_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["NEAT.html","","doc/NEAT_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["BasicNeuronTypes.html","","doc/NEAT/BasicNeuronTypes_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["BiasNeuron.html","","doc/NEAT/BasicNeuronTypes/BiasNeuron_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["CosineNeuron.html","","doc/NEAT/BasicNeuronTypes/CosineNeuron_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["InputNeuron.html","","doc/NEAT/BasicNeuronTypes/InputNeuron_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["SigmoidNeuron.html","","doc/NEAT/BasicNeuronTypes/SigmoidNeuron_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["SineNeuron.html","","doc/NEAT/BasicNeuronTypes/SineNeuron_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["TanhNeuron.html","","doc/NEAT/BasicNeuronTypes/TanhNeuron_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Controller.html","","doc/NEAT/Controller_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["NeatSettings.html","","doc/NEAT/Controller/NeatSettings_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Critter.html","","doc/NEAT/Critter_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Genotype.html","","doc/NEAT/Critter/Genotype_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Gene.html","","doc/NEAT/Critter/Genotype/Gene_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Phenotype.html","","doc/NEAT/Critter/Phenotype_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["DSL.html","","doc/NEAT/DSL_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Evaluator.html","","doc/NEAT/Evaluator_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Evolver.html","","doc/NEAT/Evolver_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["CritterOp.html","","doc/NEAT/Evolver/CritterOp_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Expressor.html","","doc/NEAT/Expressor_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Graph.html","","doc/NEAT/Graph_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["DependencyResolver.html","","doc/NEAT/Graph/DependencyResolver_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["GraphException.html","","doc/NEAT/Graph/GraphException_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["NeatException.html","","doc/NEAT/NeatException_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["NeatOb.html","","doc/NEAT/NeatOb_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Neuron.html","","doc/NEAT/Neuron_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Operator.html","","doc/NEAT/Operator_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Population.html","","doc/NEAT/Population_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["Trait.html","","doc/NEAT/Trait_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["_index.html","","doc/_index_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["class_list.html","","doc/class_list_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["common.css","","doc/css/common_css.html","","<p>Override this file with custom rules\n"],["full_list.css","","doc/css/full_list_css.html","","<p>body {\n\n<pre>margin: 0;\nfont-family: &quot;Lucida Sans&quot;, &quot;Lucida Grande&quot;, Verdana, Arial, sans-serif;\nfont-size: ...</pre>\n"],["style.css","","doc/css/style_css.html","","<p>body {\n\n<pre>padding: 0 20px;\nfont-family: &quot;Lucida Sans&quot;, &quot;Lucida Grande&quot;, Verdana, Arial, sans-serif;\nfont-size: ...</pre>\n"],["file_list.html","","doc/file_list_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["frames.html","","doc/frames_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd&quot;&gt;</pre>\n"],["index.html","","doc/index_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["app.js","","doc/js/app_js.html","","<p>function createSourceLinks() {\n\n<pre>$(&#39;.method_details_list .source_code&#39;).\n before(&quot;&lt;span class=&#39;showSource&#39;&gt;[&lt;a ...</pre>\n"],["full_list.js","","doc/js/full_list_js.html","","<p>var inSearch = null; var searchIndex = 0; var searchCache = []; var\nsearchString = &#39;&#39;; var regexSearchString …\n"],["jquery.js","","doc/js/jquery_js.html","","\n<pre>! jQuery v1.7.1 jquery.com | jquery.org/license</pre>\n<p>(function(a,b){function cy(a){return\nf.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function …\n"],["method_list.html","","doc/method_list_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["top-level-namespace.html","","doc/top-level-namespace_html.html","","<p>&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”\n\n<pre>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</pre>\n"],["foo.dump.log","","foo_dump_log.html","","<p>Inverted Pendulum\n<p>\n<p>{:pole=&gt;\n"],["rubyneat.gemspec","","rubyneat_gemspec.html","","<p># Generated by jeweler # DO NOT EDIT THIS FILE DIRECTLY # Instead, edit\nJeweler::Tasks in Rakefile, and …\n"],["xordebug.log","","xordebug_log.html","","<p>“/bigoldsystem/home/trader/dev/ruby_projects/rubyneat” D,\n[2014-01-18T21:09:33.994334 #29544] …\n"],["xorsin.log","","xorsin_log.html","","<p>“/bigoldsystem/home/trader/dev/ruby_projects/rubyneat” D,\n[2014-01-18T20:17:25.337000 #26148] …\n"]]}}
@@ -0,0 +1,228 @@
1
+ Searcher = function(data) {
2
+ this.data = data;
3
+ this.handlers = [];
4
+ }
5
+
6
+ Searcher.prototype = new function() {
7
+ // search is performed in chunks of 1000 for non-blocking user input
8
+ var CHUNK_SIZE = 1000;
9
+ // do not try to find more than 100 results
10
+ var MAX_RESULTS = 100;
11
+ var huid = 1;
12
+ var suid = 1;
13
+ var runs = 0;
14
+
15
+ this.find = function(query) {
16
+ var queries = splitQuery(query);
17
+ var regexps = buildRegexps(queries);
18
+ var highlighters = buildHilighters(queries);
19
+ var state = { from: 0, pass: 0, limit: MAX_RESULTS, n: suid++};
20
+ var _this = this;
21
+
22
+ this.currentSuid = state.n;
23
+
24
+ if (!query) return;
25
+
26
+ var run = function() {
27
+ // stop current search thread if new search started
28
+ if (state.n != _this.currentSuid) return;
29
+
30
+ var results =
31
+ performSearch(_this.data, regexps, queries, highlighters, state);
32
+ var hasMore = (state.limit > 0 && state.pass < 4);
33
+
34
+ triggerResults.call(_this, results, !hasMore);
35
+ if (hasMore) {
36
+ setTimeout(run, 2);
37
+ }
38
+ runs++;
39
+ };
40
+ runs = 0;
41
+
42
+ // start search thread
43
+ run();
44
+ }
45
+
46
+ /* ----- Events ------ */
47
+ this.ready = function(fn) {
48
+ fn.huid = huid;
49
+ this.handlers.push(fn);
50
+ }
51
+
52
+ /* ----- Utilities ------ */
53
+ function splitQuery(query) {
54
+ return jQuery.grep(query.split(/(\s+|::?|\(\)?)/), function(string) {
55
+ return string.match(/\S/)
56
+ });
57
+ }
58
+
59
+ function buildRegexps(queries) {
60
+ return jQuery.map(queries, function(query) {
61
+ return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i')
62
+ });
63
+ }
64
+
65
+ function buildHilighters(queries) {
66
+ return jQuery.map(queries, function(query) {
67
+ return jQuery.map(query.split(''), function(l, i) {
68
+ return '\u0001$' + (i*2+1) + '\u0002$' + (i*2+2);
69
+ }).join('');
70
+ });
71
+ }
72
+
73
+ // function longMatchRegexp(index, longIndex, regexps) {
74
+ // for (var i = regexps.length - 1; i >= 0; i--){
75
+ // if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false;
76
+ // };
77
+ // return true;
78
+ // }
79
+
80
+
81
+ /* ----- Mathchers ------ */
82
+
83
+ /*
84
+ * This record matches if the index starts with queries[0] and the record
85
+ * matches all of the regexps
86
+ */
87
+ function matchPassBeginning(index, longIndex, queries, regexps) {
88
+ if (index.indexOf(queries[0]) != 0) return false;
89
+ for (var i=1, l = regexps.length; i < l; i++) {
90
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
91
+ return false;
92
+ };
93
+ return true;
94
+ }
95
+
96
+ /*
97
+ * This record matches if the longIndex starts with queries[0] and the
98
+ * longIndex matches all of the regexps
99
+ */
100
+ function matchPassLongIndex(index, longIndex, queries, regexps) {
101
+ if (longIndex.indexOf(queries[0]) != 0) return false;
102
+ for (var i=1, l = regexps.length; i < l; i++) {
103
+ if (!longIndex.match(regexps[i]))
104
+ return false;
105
+ };
106
+ return true;
107
+ }
108
+
109
+ /*
110
+ * This record matches if the index contains queries[0] and the record
111
+ * matches all of the regexps
112
+ */
113
+ function matchPassContains(index, longIndex, queries, regexps) {
114
+ if (index.indexOf(queries[0]) == -1) return false;
115
+ for (var i=1, l = regexps.length; i < l; i++) {
116
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
117
+ return false;
118
+ };
119
+ return true;
120
+ }
121
+
122
+ /*
123
+ * This record matches if regexps[0] matches the index and the record
124
+ * matches all of the regexps
125
+ */
126
+ function matchPassRegexp(index, longIndex, queries, regexps) {
127
+ if (!index.match(regexps[0])) return false;
128
+ for (var i=1, l = regexps.length; i < l; i++) {
129
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
130
+ return false;
131
+ };
132
+ return true;
133
+ }
134
+
135
+
136
+ /* ----- Highlighters ------ */
137
+ function highlightRegexp(info, queries, regexps, highlighters) {
138
+ var result = createResult(info);
139
+ for (var i=0, l = regexps.length; i < l; i++) {
140
+ result.title = result.title.replace(regexps[i], highlighters[i]);
141
+ result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
142
+ };
143
+ return result;
144
+ }
145
+
146
+ function hltSubstring(string, pos, length) {
147
+ return string.substring(0, pos) + '\u0001' + string.substring(pos, pos + length) + '\u0002' + string.substring(pos + length);
148
+ }
149
+
150
+ function highlightQuery(info, queries, regexps, highlighters) {
151
+ var result = createResult(info);
152
+ var pos = 0;
153
+ var lcTitle = result.title.toLowerCase();
154
+
155
+ pos = lcTitle.indexOf(queries[0]);
156
+ if (pos != -1) {
157
+ result.title = hltSubstring(result.title, pos, queries[0].length);
158
+ }
159
+
160
+ result.namespace = result.namespace.replace(regexps[0], highlighters[0]);
161
+ for (var i=1, l = regexps.length; i < l; i++) {
162
+ result.title = result.title.replace(regexps[i], highlighters[i]);
163
+ result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
164
+ };
165
+ return result;
166
+ }
167
+
168
+ function createResult(info) {
169
+ var result = {};
170
+ result.title = info[0];
171
+ result.namespace = info[1];
172
+ result.path = info[2];
173
+ result.params = info[3];
174
+ result.snippet = info[4];
175
+ return result;
176
+ }
177
+
178
+ /* ----- Searching ------ */
179
+ function performSearch(data, regexps, queries, highlighters, state) {
180
+ var searchIndex = data.searchIndex;
181
+ var longSearchIndex = data.longSearchIndex;
182
+ var info = data.info;
183
+ var result = [];
184
+ var i = state.from;
185
+ var l = searchIndex.length;
186
+ var togo = CHUNK_SIZE;
187
+ var matchFunc, hltFunc;
188
+
189
+ while (state.pass < 4 && state.limit > 0 && togo > 0) {
190
+ if (state.pass == 0) {
191
+ matchFunc = matchPassBeginning;
192
+ hltFunc = highlightQuery;
193
+ } else if (state.pass == 1) {
194
+ matchFunc = matchPassLongIndex;
195
+ hltFunc = highlightQuery;
196
+ } else if (state.pass == 2) {
197
+ matchFunc = matchPassContains;
198
+ hltFunc = highlightQuery;
199
+ } else if (state.pass == 3) {
200
+ matchFunc = matchPassRegexp;
201
+ hltFunc = highlightRegexp;
202
+ }
203
+
204
+ for (; togo > 0 && i < l && state.limit > 0; i++, togo--) {
205
+ if (info[i].n == state.n) continue;
206
+ if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) {
207
+ info[i].n = state.n;
208
+ result.push(hltFunc(info[i], queries, regexps, highlighters));
209
+ state.limit--;
210
+ }
211
+ };
212
+ if (searchIndex.length <= i) {
213
+ state.pass++;
214
+ i = state.from = 0;
215
+ } else {
216
+ state.from = i;
217
+ }
218
+ }
219
+ return result;
220
+ }
221
+
222
+ function triggerResults(results, isLast) {
223
+ jQuery.each(this.handlers, function(i, fn) {
224
+ fn.call(this, results, isLast)
225
+ })
226
+ }
227
+ }
228
+