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.
- checksums.yaml +7 -0
- data/.directory +4 -0
- data/.gitignore.orig +20 -0
- data/.idea/.name +1 -0
- data/.idea/.rakeTasks +7 -0
- data/.idea/dictionaries/trader.xml +3 -0
- data/.idea/encodings.xml +5 -0
- data/.idea/misc.xml +5 -0
- data/.idea/modules.xml +9 -0
- data/.idea/rubyneat.iml +197 -0
- data/.idea/runConfigurations/invpend_neat.xml +26 -0
- data/.idea/runConfigurations/sigdebug_neat.xml +24 -0
- data/.idea/runConfigurations/xor_neat.xml +26 -0
- data/.idea/runConfigurations/xordebug_neat.xml +24 -0
- data/.idea/runConfigurations/xorsin_neat.xml +24 -0
- data/.idea/scopes/scope_settings.xml +5 -0
- data/.idea/vcs.xml +7 -0
- data/.idea/workspace.xml +1124 -0
- data/.semver +5 -0
- data/.yardoc/checksums +11 -0
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/Gemfile +32 -0
- data/Gemfile.lock +135 -0
- data/Gemfile.lock.orig +147 -0
- data/Guardfile +8 -0
- data/Rakefile +61 -0
- data/bin/neat +83 -0
- data/config/application.rb +5 -0
- data/doc/ControllerPoint.html +125 -0
- data/doc/CuteA.html +286 -0
- data/doc/CuteB.html +297 -0
- data/doc/DSL.html +883 -0
- data/doc/NEAT/BasicNeuronTypes/BiasNeuron.html +518 -0
- data/doc/NEAT/BasicNeuronTypes/CosineNeuron.html +274 -0
- data/doc/NEAT/BasicNeuronTypes/InputNeuron.html +366 -0
- data/doc/NEAT/BasicNeuronTypes/SigmoidNeuron.html +275 -0
- data/doc/NEAT/BasicNeuronTypes/SineNeuron.html +274 -0
- data/doc/NEAT/BasicNeuronTypes/TanhNeuron.html +274 -0
- data/doc/NEAT/BasicNeuronTypes.html +136 -0
- data/doc/NEAT/Controller/NeatSettings.html +3985 -0
- data/doc/NEAT/Controller.html +2490 -0
- data/doc/NEAT/Critter/Genotype/Gene.html +979 -0
- data/doc/NEAT/Critter/Genotype.html +1601 -0
- data/doc/NEAT/Critter/Phenotype.html +603 -0
- data/doc/NEAT/Critter.html +1037 -0
- data/doc/NEAT/DSL.html +1255 -0
- data/doc/NEAT/Evaluator.html +420 -0
- data/doc/NEAT/Evolver/CritterOp.html +551 -0
- data/doc/NEAT/Evolver.html +602 -0
- data/doc/NEAT/Expressor.html +327 -0
- data/doc/NEAT/Graph/DependencyResolver.html +478 -0
- data/doc/NEAT/Graph/GraphException.html +123 -0
- data/doc/NEAT/Graph.html +402 -0
- data/doc/NEAT/NeatException.html +123 -0
- data/doc/NEAT/NeatOb.html +567 -0
- data/doc/NEAT/Neuron.html +1067 -0
- data/doc/NEAT/Operator.html +162 -0
- data/doc/NEAT/Population.html +1961 -0
- data/doc/NEAT/Trait.html +169 -0
- data/doc/NEAT.html +588 -0
- data/doc/_index.html +373 -0
- data/doc/class_list.html +54 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +339 -0
- data/doc/file_list.html +53 -0
- data/doc/frames.html +26 -0
- data/doc/index.html +373 -0
- data/doc/js/app.js +219 -0
- data/doc/js/full_list.js +178 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +1415 -0
- data/doc/top-level-namespace.html +164 -0
- data/foo/foo_aquarium_example.rb +38 -0
- data/foo/foo_gosu.rb +99 -0
- data/foo/foo_rubygoo.rb +104 -0
- data/foo/foo_sdl.rb +34 -0
- data/foo/icon.png +0 -0
- data/lib/rubyneat/critter.rb +374 -0
- data/lib/rubyneat/default_neat.rb +10 -0
- data/lib/rubyneat/dsl.rb +130 -0
- data/lib/rubyneat/evaluator.rb +51 -0
- data/lib/rubyneat/evolver.rb +315 -0
- data/lib/rubyneat/expressor.rb +110 -0
- data/lib/rubyneat/graph.rb +95 -0
- data/lib/rubyneat/neuron.rb +152 -0
- data/lib/rubyneat/population.rb +227 -0
- data/lib/rubyneat/rubyneat.rb +429 -0
- data/lib/rubyneat.rb +8 -0
- data/neater/invpend_neat.rb +150 -0
- data/neater/rnlib/inverted_pendulum.rb +380 -0
- data/neater/rnlib/xor.rb +10 -0
- data/neater/sigdebug_neat.rb +136 -0
- data/neater/xor_neat.rb +137 -0
- data/neater/xoranalog_neat.rb +138 -0
- data/neater/xorsin_neat.rb +143 -0
- data/projectFilesBackup/.idea/rubyneat.iml +180 -0
- data/public/.directory +4 -0
- data/public/background.png +0 -0
- data/public/background.xcf +0 -0
- data/public/cart.png +0 -0
- data/public/cart.xcf +0 -0
- data/public/metalpoles_molton_ball_l.jpg +0 -0
- data/public/old_background.png +0 -0
- data/public/pointer.png +0 -0
- data/public/pointer.xcf +0 -0
- data/public/pole.kra +0 -0
- data/public/pole.png +0 -0
- data/public/pole.xcf +0 -0
- data/public/wheel-of-year-stone-DD-131-WOYS.jpg +0 -0
- data/public/wheel.png +0 -0
- data/public/wheel.xcf +0 -0
- data/public/wood-planks-texture.jpg +0 -0
- data/rdoc/ControllerPoint.html +116 -0
- data/rdoc/CuteA.html +177 -0
- data/rdoc/CuteB.html +178 -0
- data/rdoc/DSLSetup.html +177 -0
- data/rdoc/GameTestWindow.html +242 -0
- data/rdoc/GameWindow.html +292 -0
- data/rdoc/Gemfile.html +215 -0
- data/rdoc/Gemfile_lock.html +327 -0
- data/rdoc/GraphTest.html +210 -0
- data/rdoc/Guardfile.html +198 -0
- data/rdoc/InvertedPendulum/Cart.html +668 -0
- data/rdoc/InvertedPendulum/DSL.html +259 -0
- data/rdoc/InvertedPendulum/InvPendWindow.html +402 -0
- data/rdoc/InvertedPendulum.html +198 -0
- data/rdoc/Logger.html +98 -0
- data/rdoc/NEAT/BasicNeuronTypes/BiasNeuron.html +265 -0
- data/rdoc/NEAT/BasicNeuronTypes/CosineNeuron.html +162 -0
- data/rdoc/NEAT/BasicNeuronTypes/InputNeuron.html +206 -0
- data/rdoc/NEAT/BasicNeuronTypes/SigmoidNeuron.html +162 -0
- data/rdoc/NEAT/BasicNeuronTypes/SineNeuron.html +162 -0
- data/rdoc/NEAT/BasicNeuronTypes/TanhNeuron.html +161 -0
- data/rdoc/NEAT/BasicNeuronTypes.html +107 -0
- data/rdoc/NEAT/Controller/NeatSettings.html +880 -0
- data/rdoc/NEAT/Controller.html +729 -0
- data/rdoc/NEAT/Critter/Genotype/Gene.html +457 -0
- data/rdoc/NEAT/Critter/Genotype.html +735 -0
- data/rdoc/NEAT/Critter/Phenotype.html +330 -0
- data/rdoc/NEAT/Critter.html +489 -0
- data/rdoc/NEAT/DSL.html +729 -0
- data/rdoc/NEAT/Evaluator.html +256 -0
- data/rdoc/NEAT/Evolver/CritterOp.html +349 -0
- data/rdoc/NEAT/Evolver.html +891 -0
- data/rdoc/NEAT/Expressor.html +402 -0
- data/rdoc/NEAT/Graph/DependencyResolver.html +291 -0
- data/rdoc/NEAT/Graph/GraphException.html +105 -0
- data/rdoc/NEAT/Graph.html +263 -0
- data/rdoc/NEAT/NeatException.html +105 -0
- data/rdoc/NEAT/NeatOb.html +325 -0
- data/rdoc/NEAT/Neuron.html +481 -0
- data/rdoc/NEAT/Operator.html +109 -0
- data/rdoc/NEAT/Population.html +935 -0
- data/rdoc/NEAT/Trait.html +117 -0
- data/rdoc/NEAT.html +422 -0
- data/rdoc/Object.html +384 -0
- data/rdoc/Phi.html +98 -0
- data/rdoc/Player.html +383 -0
- data/rdoc/Rakefile.html +254 -0
- data/rdoc/RubyNEAT/Application.html +105 -0
- data/rdoc/RubyNEAT.html +98 -0
- data/rdoc/SDL/Event2.html +98 -0
- data/rdoc/SDL.html +98 -0
- data/rdoc/Vector.html +195 -0
- data/rdoc/created.rid +125 -0
- data/rdoc/doc/ControllerPoint_html.html +299 -0
- data/rdoc/doc/CuteA_html.html +438 -0
- data/rdoc/doc/CuteB_html.html +436 -0
- data/rdoc/doc/DSL_html.html +992 -0
- data/rdoc/doc/NEAT/BasicNeuronTypes/BiasNeuron_html.html +617 -0
- data/rdoc/doc/NEAT/BasicNeuronTypes/CosineNeuron_html.html +413 -0
- data/rdoc/doc/NEAT/BasicNeuronTypes/InputNeuron_html.html +498 -0
- data/rdoc/doc/NEAT/BasicNeuronTypes/SigmoidNeuron_html.html +413 -0
- data/rdoc/doc/NEAT/BasicNeuronTypes/SineNeuron_html.html +413 -0
- data/rdoc/doc/NEAT/BasicNeuronTypes/TanhNeuron_html.html +412 -0
- data/rdoc/doc/NEAT/BasicNeuronTypes_html.html +310 -0
- data/rdoc/doc/NEAT/Controller/NeatSettings_html.html +3324 -0
- data/rdoc/doc/NEAT/Controller_html.html +2212 -0
- data/rdoc/doc/NEAT/Critter/Genotype/Gene_html.html +997 -0
- data/rdoc/doc/NEAT/Critter/Genotype_html.html +1556 -0
- data/rdoc/doc/NEAT/Critter/Phenotype_html.html +687 -0
- data/rdoc/doc/NEAT/Critter_html.html +1037 -0
- data/rdoc/doc/NEAT/DSL_html.html +1349 -0
- data/rdoc/doc/NEAT/Evaluator_html.html +556 -0
- data/rdoc/doc/NEAT/Evolver/CritterOp_html.html +690 -0
- data/rdoc/doc/NEAT/Evolver_html.html +677 -0
- data/rdoc/doc/NEAT/Expressor_html.html +468 -0
- data/rdoc/doc/NEAT/Graph/DependencyResolver_html.html +598 -0
- data/rdoc/doc/NEAT/Graph/GraphException_html.html +299 -0
- data/rdoc/doc/NEAT/Graph_html.html +527 -0
- data/rdoc/doc/NEAT/NeatException_html.html +299 -0
- data/rdoc/doc/NEAT/NeatOb_html.html +671 -0
- data/rdoc/doc/NEAT/Neuron_html.html +1095 -0
- data/rdoc/doc/NEAT/Operator_html.html +337 -0
- data/rdoc/doc/NEAT/Population_html.html +1795 -0
- data/rdoc/doc/NEAT/Trait_html.html +344 -0
- data/rdoc/doc/NEAT_html.html +736 -0
- data/rdoc/doc/_index_html.html +559 -0
- data/rdoc/doc/class_list_html.html +369 -0
- data/rdoc/doc/css/common_css.html +188 -0
- data/rdoc/doc/css/full_list_css.html +243 -0
- data/rdoc/doc/css/style_css.html +530 -0
- data/rdoc/doc/file_list_html.html +240 -0
- data/rdoc/doc/frames_html.html +217 -0
- data/rdoc/doc/index_html.html +559 -0
- data/rdoc/doc/js/app_js.html +423 -0
- data/rdoc/doc/js/full_list_js.html +372 -0
- data/rdoc/doc/js/jquery_js.html +1536 -0
- data/rdoc/doc/method_list_html.html +1375 -0
- data/rdoc/doc/top-level-namespace_html.html +317 -0
- data/rdoc/fonts/Lato-Light.ttf +0 -0
- data/rdoc/fonts/Lato-LightItalic.ttf +0 -0
- data/rdoc/fonts/Lato-Regular.ttf +0 -0
- data/rdoc/fonts/Lato-RegularItalic.ttf +0 -0
- data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/rdoc/fonts.css +167 -0
- data/rdoc/images/add.png +0 -0
- data/rdoc/images/arrow_up.png +0 -0
- data/rdoc/images/brick.png +0 -0
- data/rdoc/images/brick_link.png +0 -0
- data/rdoc/images/bug.png +0 -0
- data/rdoc/images/bullet_black.png +0 -0
- data/rdoc/images/bullet_toggle_minus.png +0 -0
- data/rdoc/images/bullet_toggle_plus.png +0 -0
- data/rdoc/images/date.png +0 -0
- data/rdoc/images/delete.png +0 -0
- data/rdoc/images/find.png +0 -0
- data/rdoc/images/loadingAnimation.gif +0 -0
- data/rdoc/images/macFFBgHack.png +0 -0
- data/rdoc/images/package.png +0 -0
- data/rdoc/images/page_green.png +0 -0
- data/rdoc/images/page_white_text.png +0 -0
- data/rdoc/images/page_white_width.png +0 -0
- data/rdoc/images/plugin.png +0 -0
- data/rdoc/images/ruby.png +0 -0
- data/rdoc/images/tag_blue.png +0 -0
- data/rdoc/images/tag_green.png +0 -0
- data/rdoc/images/transparent.png +0 -0
- data/rdoc/images/wrench.png +0 -0
- data/rdoc/images/wrench_orange.png +0 -0
- data/rdoc/images/zoom.png +0 -0
- data/rdoc/index.html +282 -0
- data/rdoc/js/darkfish.js +140 -0
- data/rdoc/js/jquery.js +18 -0
- data/rdoc/js/navigation.js +142 -0
- data/rdoc/js/search.js +109 -0
- data/rdoc/js/search_index.js +1 -0
- data/rdoc/js/searcher.js +228 -0
- data/rdoc/rdoc.css +580 -0
- data/rdoc/rubyneat_gemspec.html +387 -0
- data/rdoc/table_of_contents.html +2502 -0
- data/rdoc/xordebug_log.html +170598 -0
- data/rdoc/xorsin_log.html +22569 -0
- data/rubyneat.gemspec +347 -0
- data/rubyneat.gemspec.orig +375 -0
- data/spec/lib/rubyneat/rubyneat_spec.rb +132 -0
- metadata +555 -0
|
@@ -0,0 +1,690 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
|
|
3
|
+
<html>
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
|
|
7
|
+
<title>CritterOp.html - rubyneat 0.3.4</title>
|
|
8
|
+
|
|
9
|
+
<link href="../../../fonts.css" rel="stylesheet">
|
|
10
|
+
<link href="../../../rdoc.css" rel="stylesheet">
|
|
11
|
+
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
var rdoc_rel_prefix = "../../../";
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<script src="../../../js/jquery.js"></script>
|
|
17
|
+
<script src="../../../js/navigation.js"></script>
|
|
18
|
+
<script src="../../../js/search_index.js"></script>
|
|
19
|
+
<script src="../../../js/search.js"></script>
|
|
20
|
+
<script src="../../../js/searcher.js"></script>
|
|
21
|
+
<script src="../../../js/darkfish.js"></script>
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<body id="top" role="document" class="file">
|
|
25
|
+
<nav role="navigation">
|
|
26
|
+
<div id="project-navigation">
|
|
27
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
|
28
|
+
<h2>
|
|
29
|
+
<a href="../../../index.html" rel="home">Home</a>
|
|
30
|
+
</h2>
|
|
31
|
+
|
|
32
|
+
<div id="table-of-contents-navigation">
|
|
33
|
+
<a href="../../../table_of_contents.html#pages">Pages</a>
|
|
34
|
+
<a href="../../../table_of_contents.html#classes">Classes</a>
|
|
35
|
+
<a href="../../../table_of_contents.html#methods">Methods</a>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
|
40
|
+
<form action="#" method="get" accept-charset="utf-8">
|
|
41
|
+
<div id="search-field-wrapper">
|
|
42
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
|
43
|
+
aria-autocomplete="list" aria-controls="search-results"
|
|
44
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
|
45
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<ul id="search-results" aria-label="Search Results"
|
|
49
|
+
aria-busy="false" aria-expanded="false"
|
|
50
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
|
51
|
+
</form>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
<div id="project-metadata">
|
|
59
|
+
<div id="fileindex-section" class="nav-section">
|
|
60
|
+
<h3>Pages</h3>
|
|
61
|
+
|
|
62
|
+
<ul class="link-list">
|
|
63
|
+
|
|
64
|
+
<li><a href="../../../Gemfile.html">Gemfile</a>
|
|
65
|
+
|
|
66
|
+
<li><a href="../../../Gemfile_lock.html">Gemfile.lock</a>
|
|
67
|
+
|
|
68
|
+
<li><a href="../../../Guardfile.html">Guardfile</a>
|
|
69
|
+
|
|
70
|
+
<li><a href="../../../Rakefile.html">Rakefile</a>
|
|
71
|
+
|
|
72
|
+
<li><a href="../../../doc/ControllerPoint_html.html">ControllerPoint.html</a>
|
|
73
|
+
|
|
74
|
+
<li><a href="../../../doc/CuteA_html.html">CuteA.html</a>
|
|
75
|
+
|
|
76
|
+
<li><a href="../../../doc/CuteB_html.html">CuteB.html</a>
|
|
77
|
+
|
|
78
|
+
<li><a href="../../../doc/DSL_html.html">DSL.html</a>
|
|
79
|
+
|
|
80
|
+
<li><a href="../../../doc/NEAT_html.html">NEAT.html</a>
|
|
81
|
+
|
|
82
|
+
<li><a href="../../../doc/NEAT/BasicNeuronTypes_html.html">BasicNeuronTypes.html</a>
|
|
83
|
+
|
|
84
|
+
<li><a href="../../../doc/NEAT/BasicNeuronTypes/BiasNeuron_html.html">BiasNeuron.html</a>
|
|
85
|
+
|
|
86
|
+
<li><a href="../../../doc/NEAT/BasicNeuronTypes/CosineNeuron_html.html">CosineNeuron.html</a>
|
|
87
|
+
|
|
88
|
+
<li><a href="../../../doc/NEAT/BasicNeuronTypes/InputNeuron_html.html">InputNeuron.html</a>
|
|
89
|
+
|
|
90
|
+
<li><a href="../../../doc/NEAT/BasicNeuronTypes/SigmoidNeuron_html.html">SigmoidNeuron.html</a>
|
|
91
|
+
|
|
92
|
+
<li><a href="../../../doc/NEAT/BasicNeuronTypes/SineNeuron_html.html">SineNeuron.html</a>
|
|
93
|
+
|
|
94
|
+
<li><a href="../../../doc/NEAT/BasicNeuronTypes/TanhNeuron_html.html">TanhNeuron.html</a>
|
|
95
|
+
|
|
96
|
+
<li><a href="../../../doc/NEAT/Controller_html.html">Controller.html</a>
|
|
97
|
+
|
|
98
|
+
<li><a href="../../../doc/NEAT/Controller/NeatSettings_html.html">NeatSettings.html</a>
|
|
99
|
+
|
|
100
|
+
<li><a href="../../../doc/NEAT/Critter_html.html">Critter.html</a>
|
|
101
|
+
|
|
102
|
+
<li><a href="../../../doc/NEAT/Critter/Genotype_html.html">Genotype.html</a>
|
|
103
|
+
|
|
104
|
+
<li><a href="../../../doc/NEAT/Critter/Genotype/Gene_html.html">Gene.html</a>
|
|
105
|
+
|
|
106
|
+
<li><a href="../../../doc/NEAT/Critter/Phenotype_html.html">Phenotype.html</a>
|
|
107
|
+
|
|
108
|
+
<li><a href="../../../doc/NEAT/DSL_html.html">DSL.html</a>
|
|
109
|
+
|
|
110
|
+
<li><a href="../../../doc/NEAT/Evaluator_html.html">Evaluator.html</a>
|
|
111
|
+
|
|
112
|
+
<li><a href="../../../doc/NEAT/Evolver_html.html">Evolver.html</a>
|
|
113
|
+
|
|
114
|
+
<li><a href="../../../doc/NEAT/Evolver/CritterOp_html.html">CritterOp.html</a>
|
|
115
|
+
|
|
116
|
+
<li><a href="../../../doc/NEAT/Expressor_html.html">Expressor.html</a>
|
|
117
|
+
|
|
118
|
+
<li><a href="../../../doc/NEAT/Graph_html.html">Graph.html</a>
|
|
119
|
+
|
|
120
|
+
<li><a href="../../../doc/NEAT/Graph/DependencyResolver_html.html">DependencyResolver.html</a>
|
|
121
|
+
|
|
122
|
+
<li><a href="../../../doc/NEAT/Graph/GraphException_html.html">GraphException.html</a>
|
|
123
|
+
|
|
124
|
+
<li><a href="../../../doc/NEAT/NeatException_html.html">NeatException.html</a>
|
|
125
|
+
|
|
126
|
+
<li><a href="../../../doc/NEAT/NeatOb_html.html">NeatOb.html</a>
|
|
127
|
+
|
|
128
|
+
<li><a href="../../../doc/NEAT/Neuron_html.html">Neuron.html</a>
|
|
129
|
+
|
|
130
|
+
<li><a href="../../../doc/NEAT/Operator_html.html">Operator.html</a>
|
|
131
|
+
|
|
132
|
+
<li><a href="../../../doc/NEAT/Population_html.html">Population.html</a>
|
|
133
|
+
|
|
134
|
+
<li><a href="../../../doc/NEAT/Trait_html.html">Trait.html</a>
|
|
135
|
+
|
|
136
|
+
<li><a href="../../../doc/_index_html.html">_index.html</a>
|
|
137
|
+
|
|
138
|
+
<li><a href="../../../doc/class_list_html.html">class_list.html</a>
|
|
139
|
+
|
|
140
|
+
<li><a href="../../../doc/css/common_css.html">common.css</a>
|
|
141
|
+
|
|
142
|
+
<li><a href="../../../doc/css/full_list_css.html">full_list.css</a>
|
|
143
|
+
|
|
144
|
+
<li><a href="../../../doc/css/style_css.html">style.css</a>
|
|
145
|
+
|
|
146
|
+
<li><a href="../../../doc/file_list_html.html">file_list.html</a>
|
|
147
|
+
|
|
148
|
+
<li><a href="../../../doc/frames_html.html">frames.html</a>
|
|
149
|
+
|
|
150
|
+
<li><a href="../../../doc/index_html.html">index.html</a>
|
|
151
|
+
|
|
152
|
+
<li><a href="../../../doc/js/app_js.html">app.js</a>
|
|
153
|
+
|
|
154
|
+
<li><a href="../../../doc/js/full_list_js.html">full_list.js</a>
|
|
155
|
+
|
|
156
|
+
<li><a href="../../../doc/js/jquery_js.html">jquery.js</a>
|
|
157
|
+
|
|
158
|
+
<li><a href="../../../doc/method_list_html.html">method_list.html</a>
|
|
159
|
+
|
|
160
|
+
<li><a href="../../../doc/top-level-namespace_html.html">top-level-namespace.html</a>
|
|
161
|
+
|
|
162
|
+
<li><a href="../../../foo_dump_log.html">foo.dump.log</a>
|
|
163
|
+
|
|
164
|
+
<li><a href="../../../rubyneat_gemspec.html">rubyneat.gemspec</a>
|
|
165
|
+
|
|
166
|
+
<li><a href="../../../xordebug_log.html">xordebug.log</a>
|
|
167
|
+
|
|
168
|
+
<li><a href="../../../xorsin_log.html">xorsin.log</a>
|
|
169
|
+
|
|
170
|
+
</ul>
|
|
171
|
+
</div>
|
|
172
|
+
|
|
173
|
+
</div>
|
|
174
|
+
</nav>
|
|
175
|
+
|
|
176
|
+
<main role="main" aria-label="Page doc/NEAT/Evolver/CritterOp.html">
|
|
177
|
+
|
|
178
|
+
<p><!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”</p>
|
|
179
|
+
|
|
180
|
+
<pre>"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></pre>
|
|
181
|
+
|
|
182
|
+
<p><html xmlns=“<a
|
|
183
|
+
href="http://www.w3.org/1999/xhtml">www.w3.org/1999/xhtml</a>”
|
|
184
|
+
xml:lang=“en” lang=“en”></p>
|
|
185
|
+
|
|
186
|
+
<pre><head>
|
|
187
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></pre>
|
|
188
|
+
|
|
189
|
+
<p><title></p>
|
|
190
|
+
|
|
191
|
+
<pre>Class: NEAT::Evolver::CritterOp
|
|
192
|
+
|
|
193
|
+
&mdash; Documentation by YARD 0.8.7.3</pre>
|
|
194
|
+
|
|
195
|
+
<p></title></p>
|
|
196
|
+
|
|
197
|
+
<pre><link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
|
|
198
|
+
|
|
199
|
+
<link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" /></pre>
|
|
200
|
+
|
|
201
|
+
<p><script type=“text/javascript” charset=“utf-8”></p>
|
|
202
|
+
|
|
203
|
+
<pre>hasFrames = window.top.frames.main ? true : false;
|
|
204
|
+
relpath = '../../';
|
|
205
|
+
framesUrl = "../../frames.html#!" + escape(window.location.href);</pre>
|
|
206
|
+
|
|
207
|
+
<p></script></p>
|
|
208
|
+
|
|
209
|
+
<pre><script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
|
|
210
|
+
|
|
211
|
+
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
|
|
212
|
+
|
|
213
|
+
</head>
|
|
214
|
+
<body>
|
|
215
|
+
<div id="header">
|
|
216
|
+
<div id="menu">
|
|
217
|
+
|
|
218
|
+
<a href="../../_index.html">Index (C)</a> &raquo;
|
|
219
|
+
<span class='title'><span class='object_link'><a href="../../NEAT.html" title="NEAT (module)">NEAT</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Evolver.html" title="NEAT::Evolver (class)">Evolver</a></span></span>
|
|
220
|
+
&raquo;
|
|
221
|
+
<span class="title">CritterOp</span>
|
|
222
|
+
|
|
223
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div></pre>
|
|
224
|
+
|
|
225
|
+
<p></div></p>
|
|
226
|
+
|
|
227
|
+
<pre> <div id="search">
|
|
228
|
+
|
|
229
|
+
<a class="full_list_link" id="class_list_link"
|
|
230
|
+
href="../../class_list.html">
|
|
231
|
+
Class List
|
|
232
|
+
</a>
|
|
233
|
+
|
|
234
|
+
<a class="full_list_link" id="method_list_link"
|
|
235
|
+
href="../../method_list.html">
|
|
236
|
+
Method List
|
|
237
|
+
</a>
|
|
238
|
+
|
|
239
|
+
<a class="full_list_link" id="file_list_link"
|
|
240
|
+
href="../../file_list.html">
|
|
241
|
+
File List
|
|
242
|
+
</a></pre>
|
|
243
|
+
|
|
244
|
+
<p></div></p>
|
|
245
|
+
|
|
246
|
+
<pre> <div class="clear"></div>
|
|
247
|
+
</div>
|
|
248
|
+
|
|
249
|
+
<iframe id="search_frame"></iframe>
|
|
250
|
+
|
|
251
|
+
<div id="content"><h1>Class: NEAT::Evolver::CritterOp</pre>
|
|
252
|
+
|
|
253
|
+
<p></h1></p>
|
|
254
|
+
|
|
255
|
+
<p><dl class=“box”></p>
|
|
256
|
+
|
|
257
|
+
<pre><dt class="r1">Inherits:</dt>
|
|
258
|
+
<dd class="r1">
|
|
259
|
+
<span class="inheritName"><span class='object_link'><a href="../NeatOb.html" title="NEAT::NeatOb (class)">NeatOb</a></span></span>
|
|
260
|
+
|
|
261
|
+
<ul class="fullTree">
|
|
262
|
+
<li>Object</li>
|
|
263
|
+
|
|
264
|
+
<li class="next"><span class='object_link'><a href="../NeatOb.html" title="NEAT::NeatOb (class)">NeatOb</a></span></li>
|
|
265
|
+
|
|
266
|
+
<li class="next">NEAT::Evolver::CritterOp</li>
|
|
267
|
+
|
|
268
|
+
</ul>
|
|
269
|
+
<a href="#" class="inheritanceTree">show all</a>
|
|
270
|
+
|
|
271
|
+
</dd>
|
|
272
|
+
|
|
273
|
+
<dt class="r2 last">Defined in:</dt>
|
|
274
|
+
<dd class="r2 last">lib/rubyneat/evolver.rb</dd></pre>
|
|
275
|
+
|
|
276
|
+
<p></dl> <div class=“clear”></div></p>
|
|
277
|
+
|
|
278
|
+
<p><h2>Overview</h2><div class=“docstring”></p>
|
|
279
|
+
|
|
280
|
+
<pre><div class="discussion"></pre>
|
|
281
|
+
|
|
282
|
+
<p><p>A set of Critter Genotype operators.</p></p>
|
|
283
|
+
|
|
284
|
+
<pre></div></pre>
|
|
285
|
+
|
|
286
|
+
<p></div> <div class=“tags”></p>
|
|
287
|
+
|
|
288
|
+
<p></div></p>
|
|
289
|
+
|
|
290
|
+
<pre><h2>Instance Attribute Summary</h2>
|
|
291
|
+
|
|
292
|
+
<h3 class="inherited">Attributes inherited from <span class='object_link'><a href="../NeatOb.html" title="NEAT::NeatOb (class)">NeatOb</a></span></h3>
|
|
293
|
+
<p class="inherited"><span class='object_link'><a href="../NeatOb.html#controller-instance_method" title="NEAT::NeatOb#controller (method)">#controller</a></span>, <span class='object_link'><a href="../NeatOb.html#name-instance_method" title="NEAT::NeatOb#name (method)">#name</a></span></p>
|
|
294
|
+
|
|
295
|
+
<h2>
|
|
296
|
+
Instance Method Summary
|
|
297
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
|
298
|
+
</h2>
|
|
299
|
+
|
|
300
|
+
<ul class="summary">
|
|
301
|
+
|
|
302
|
+
<li class="public ">
|
|
303
|
+
<span class="summary_signature">
|
|
304
|
+
|
|
305
|
+
<a href="#add_gene%21-instance_method" title="#add_gene! (instance method)">- (Object) <strong>add_gene!</strong>(crit) </a>
|
|
306
|
+
|
|
307
|
+
</span>
|
|
308
|
+
|
|
309
|
+
<span class="summary_desc"><div class='inline'></pre>
|
|
310
|
+
|
|
311
|
+
<p><h1
|
|
312
|
+
id=“label-Add+a+gene+to+the+genome+Unlike+adding+a+new+neuron%2C+adding+a+new+gene+could+result+in+a+circular+dependency.”>Add
|
|
313
|
+
a gene to the genome Unlike adding a new neuron, adding a new gene could
|
|
314
|
+
result in a circular dependency.</h1> </div></span></p>
|
|
315
|
+
|
|
316
|
+
<p></li></p>
|
|
317
|
+
|
|
318
|
+
<pre> <li class="public ">
|
|
319
|
+
<span class="summary_signature">
|
|
320
|
+
|
|
321
|
+
<a href="#add_neuron%21-instance_method" title="#add_neuron! (instance method)">- (Object) <strong>add_neuron!</strong>(crit) </a>
|
|
322
|
+
|
|
323
|
+
</span>
|
|
324
|
+
|
|
325
|
+
<span class="summary_desc"><div class='inline'></pre>
|
|
326
|
+
|
|
327
|
+
<p><h1
|
|
328
|
+
id=“label-Add+a+neuron+to+given+critter+Here%2C+we+add+a+neuron+by+randomly+picking+a+gene%2C+and+split+it+into+two+genes+with+an+intervening+neuron.”>Add
|
|
329
|
+
a neuron to given critter Here, we add a neuron by randomly picking a gene,
|
|
330
|
+
and split it into two genes with an intervening neuron.</h1>
|
|
331
|
+
</div></span></p>
|
|
332
|
+
|
|
333
|
+
<p></li></p>
|
|
334
|
+
|
|
335
|
+
<pre> <li class="public ">
|
|
336
|
+
<span class="summary_signature">
|
|
337
|
+
|
|
338
|
+
<a href="#disable_gene%21-instance_method" title="#disable_gene! (instance method)">- (Object) <strong>disable_gene!</strong>(crit) </a>
|
|
339
|
+
|
|
340
|
+
</span>
|
|
341
|
+
|
|
342
|
+
<span class="summary_desc"><div class='inline'></pre>
|
|
343
|
+
|
|
344
|
+
<p><p>Pick an enabled gene at random and disable it.</p>
|
|
345
|
+
</div></span></p>
|
|
346
|
+
|
|
347
|
+
<p></li></p>
|
|
348
|
+
|
|
349
|
+
<pre> <li class="public ">
|
|
350
|
+
<span class="summary_signature">
|
|
351
|
+
|
|
352
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (CritterOp) <strong>initialize</strong>(evol) </a>
|
|
353
|
+
|
|
354
|
+
</span>
|
|
355
|
+
|
|
356
|
+
<span class="note title constructor">constructor</span>
|
|
357
|
+
|
|
358
|
+
<span class="summary_desc"><div class='inline'></pre>
|
|
359
|
+
|
|
360
|
+
<p><p>A new instance of CritterOp.</p> </div></span></p>
|
|
361
|
+
|
|
362
|
+
<p></li></p>
|
|
363
|
+
|
|
364
|
+
<pre> <li class="public ">
|
|
365
|
+
<span class="summary_signature">
|
|
366
|
+
|
|
367
|
+
<a href="#reenable_gene%21-instance_method" title="#reenable_gene! (instance method)">- (Object) <strong>reenable_gene!</strong>(crit) </a>
|
|
368
|
+
|
|
369
|
+
</span>
|
|
370
|
+
|
|
371
|
+
<span class="summary_desc"><div class='inline'></pre>
|
|
372
|
+
|
|
373
|
+
<p><p>Pick a disabled gene at random and reenable it.</p>
|
|
374
|
+
</div></span></p>
|
|
375
|
+
|
|
376
|
+
<p></li></p>
|
|
377
|
+
|
|
378
|
+
<pre> </ul>
|
|
379
|
+
|
|
380
|
+
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="../NeatOb.html" title="NEAT::NeatOb (class)">NeatOb</a></span></h3>
|
|
381
|
+
<p class="inherited"><span class='object_link'><a href="../NeatOb.html#log-instance_method" title="NEAT::NeatOb#log (method)">#log</a></span>, <span class='object_link'><a href="../NeatOb.html#log-class_method" title="NEAT::NeatOb.log (method)">log</a></span>, <span class='object_link'><a href="../NeatOb.html#to_s-instance_method" title="NEAT::NeatOb#to_s (method)">#to_s</a></span></p>
|
|
382
|
+
|
|
383
|
+
<div id="constructor_details" class="method_details_list">
|
|
384
|
+
<h2>Constructor Details</h2>
|
|
385
|
+
|
|
386
|
+
<div class="method_details first">
|
|
387
|
+
<h3 class="signature first" id="initialize-instance_method">
|
|
388
|
+
|
|
389
|
+
- (<tt><span class='object_link'><a href="" title="NEAT::Evolver::CritterOp (class)">CritterOp</a></span></tt>) <strong>initialize</strong>(evol)</pre>
|
|
390
|
+
|
|
391
|
+
<p></h3><div class=“docstring”></p>
|
|
392
|
+
|
|
393
|
+
<pre><div class="discussion"></pre>
|
|
394
|
+
|
|
395
|
+
<p><p>Returns a new instance of CritterOp</p></p>
|
|
396
|
+
|
|
397
|
+
<pre></div></pre>
|
|
398
|
+
|
|
399
|
+
<p></div> <div class=“tags”></p>
|
|
400
|
+
|
|
401
|
+
<p></div><table class=“source_code”></p>
|
|
402
|
+
|
|
403
|
+
<pre><tr>
|
|
404
|
+
<td>
|
|
405
|
+
<pre class="lines"></pre>
|
|
406
|
+
|
|
407
|
+
<p>254 255 256 257 258</pre></p>
|
|
408
|
+
|
|
409
|
+
<pre></td>
|
|
410
|
+
<td>
|
|
411
|
+
<pre class="code"><span class="info file"># File 'lib/rubyneat/evolver.rb', line 254</span></pre>
|
|
412
|
+
|
|
413
|
+
<p><span class='kw'>def</span> <span class='id
|
|
414
|
+
identifier rubyid_initialize'>initialize</span><span
|
|
415
|
+
class='lparen'>(</span><span class='id identifier
|
|
416
|
+
rubyid_evol'>evol</span><span
|
|
417
|
+
class='rparen'>)</span></p>
|
|
418
|
+
|
|
419
|
+
<pre><span class='kw'>super</span> <span class='id identifier rubyid_evol'>evol</span><span class='period'>.</span><span class='id identifier rubyid_controller'>controller</span>
|
|
420
|
+
<span class='ivar'>@evolver</span> <span class='op'>=</span> <span class='id identifier rubyid_evol'>evol</span>
|
|
421
|
+
<span class='ivar'>@npop</span> <span class='op'>=</span> <span class='id identifier rubyid_evol'>evol</span><span class='period'>.</span><span class='id identifier rubyid_npop'>npop</span></pre>
|
|
422
|
+
|
|
423
|
+
<p><span class='kw'>end</span></pre></p>
|
|
424
|
+
|
|
425
|
+
<pre> </td>
|
|
426
|
+
</tr></pre>
|
|
427
|
+
|
|
428
|
+
<p></table> </div></p>
|
|
429
|
+
|
|
430
|
+
<p></div></p>
|
|
431
|
+
|
|
432
|
+
<pre><div id="instance_method_details" class="method_details_list">
|
|
433
|
+
<h2>Instance Method Details</h2>
|
|
434
|
+
|
|
435
|
+
<div class="method_details first">
|
|
436
|
+
<h3 class="signature first" id="add_gene!-instance_method">
|
|
437
|
+
|
|
438
|
+
- (<tt>Object</tt>) <strong>add_gene!</strong>(crit)</pre>
|
|
439
|
+
|
|
440
|
+
<p></h3><div class=“docstring”></p>
|
|
441
|
+
|
|
442
|
+
<pre><div class="discussion"></pre>
|
|
443
|
+
|
|
444
|
+
<p><h1 id=“label-Add+a+gene+to+the+genome”>Add a gene to the
|
|
445
|
+
genome</h1></p>
|
|
446
|
+
|
|
447
|
+
<p><p>Unlike adding a new neuron, adding a new gene could result in a
|
|
448
|
+
circular dependency. If so, and if recurrency is switched off, we must
|
|
449
|
+
detect this condition and switch off the offending neurons.</p></p>
|
|
450
|
+
|
|
451
|
+
<p><p>Obviously, this might result in a loss of functionality, but oh
|
|
452
|
+
well.</p></p>
|
|
453
|
+
|
|
454
|
+
<p><p>An easy and obvious check is to make sure we don&#39;t accept
|
|
455
|
+
any inputs from output neurons, and we don&#39;t do any outputs to
|
|
456
|
+
input neurons.</p></p>
|
|
457
|
+
|
|
458
|
+
<p><p>Constructs for handling recurrency are present in
|
|
459
|
+
Expressor.</p></p>
|
|
460
|
+
|
|
461
|
+
<pre></div></pre>
|
|
462
|
+
|
|
463
|
+
<p></div> <div class=“tags”></p>
|
|
464
|
+
|
|
465
|
+
<p></div><table class=“source_code”></p>
|
|
466
|
+
|
|
467
|
+
<pre><tr>
|
|
468
|
+
<td>
|
|
469
|
+
<pre class="lines"></pre>
|
|
470
|
+
|
|
471
|
+
<p>290 291 292 293 294 295 296 297 298 299 300</pre></p>
|
|
472
|
+
|
|
473
|
+
<pre></td>
|
|
474
|
+
<td>
|
|
475
|
+
<pre class="code"><span class="info file"># File 'lib/rubyneat/evolver.rb', line 290</span></pre>
|
|
476
|
+
|
|
477
|
+
<p><span class='kw'>def</span> <span class='id
|
|
478
|
+
identifier rubyid_add_gene!'>add_gene!</span><span
|
|
479
|
+
class='lparen'>(</span><span class='id identifier
|
|
480
|
+
rubyid_crit'>crit</span><span
|
|
481
|
+
class='rparen'>)</span></p>
|
|
482
|
+
|
|
483
|
+
<pre><span class='id identifier rubyid_n1'>n1</span> <span class='op'>=</span> <span class='id identifier rubyid_crit'>crit</span><span class='period'>.</span><span class='id identifier rubyid_genotype'>genotype</span><span class='period'>.</span><span class='id identifier rubyid_neurons'>neurons</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span><span class='period'>.</span><span class='id identifier rubyid_sample'>sample</span> <span class='comment'># input</pre>
|
|
484
|
+
|
|
485
|
+
<p></span> <span class='id identifier
|
|
486
|
+
rubyid_n2'>n2</span> <span
|
|
487
|
+
class='op'>=</span> <span class='id identifier
|
|
488
|
+
rubyid_crit'>crit</span><span
|
|
489
|
+
class='period'>.</span><span class='id identifier
|
|
490
|
+
rubyid_genotype'>genotype</span><span
|
|
491
|
+
class='period'>.</span><span class='id identifier
|
|
492
|
+
rubyid_neurons'>neurons</span><span
|
|
493
|
+
class='period'>.</span><span class='id identifier
|
|
494
|
+
rubyid_values'>values</span><span
|
|
495
|
+
class='period'>.</span><span class='id identifier
|
|
496
|
+
rubyid_sample'>sample</span> <span
|
|
497
|
+
class='comment'># output </span></p>
|
|
498
|
+
|
|
499
|
+
<pre><span class='comment'># Sanity checks!</pre>
|
|
500
|
+
|
|
501
|
+
<p></span> <span class='kw'>unless</span> <span
|
|
502
|
+
class='id identifier rubyid_n1'>n1</span> <span
|
|
503
|
+
class='op'>==</span> <span class='id identifier
|
|
504
|
+
rubyid_n2'>n2</span> <span
|
|
505
|
+
class='kw'>or</span> <span class='id identifier
|
|
506
|
+
rubyid_n1'>n1</span><span
|
|
507
|
+
class='period'>.</span><span class='id identifier
|
|
508
|
+
rubyid_output?'>output?</span> <span
|
|
509
|
+
class='kw'>or</span> <span class='id identifier
|
|
510
|
+
rubyid_n2'>n2</span><span
|
|
511
|
+
class='period'>.</span><span class='id identifier
|
|
512
|
+
rubyid_input?'>input?</span></p>
|
|
513
|
+
|
|
514
|
+
<pre> <span class='id identifier rubyid_gene'>gene</span> <span class='op'>=</span> <span class='const'>Critter</span><span class='op'>::</span><span class='const'>Genotype</span><span class='op'>::</span><span class='const'>Gene</span><span class='lbracket'>[</span><span class='id identifier rubyid_crit'>crit</span><span class='period'>.</span><span class='id identifier rubyid_genotype'>genotype</span><span class='comma'>,</span> <span class='id identifier rubyid_n1'>n1</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_n2'>n2</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='const'>NEAT</span><span class='op'>::</span><span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_gaussian'>gaussian</span><span class='rbracket'>]</span>
|
|
515
|
+
<span class='id identifier rubyid_crit'>crit</span><span class='period'>.</span><span class='id identifier rubyid_genotype'>genotype</span><span class='period'>.</span><span class='id identifier rubyid_add_genes'>add_genes</span> <span class='id identifier rubyid_gene'>gene</span>
|
|
516
|
+
<span class='id identifier rubyid_log'>log</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>add_gene! Added gene </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_gene'>gene</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_n1'>n1</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> -&gt; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_n2'>n2</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>) to </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_crit'>crit</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
|
|
517
|
+
<span class='kw'>end</span></pre>
|
|
518
|
+
|
|
519
|
+
<p><span class='kw'>end</span></pre></p>
|
|
520
|
+
|
|
521
|
+
<pre> </td>
|
|
522
|
+
</tr></pre>
|
|
523
|
+
|
|
524
|
+
<p></table> </div></p>
|
|
525
|
+
|
|
526
|
+
<pre> <div class="method_details ">
|
|
527
|
+
<h3 class="signature " id="add_neuron!-instance_method">
|
|
528
|
+
|
|
529
|
+
- (<tt>Object</tt>) <strong>add_neuron!</strong>(crit)</pre>
|
|
530
|
+
|
|
531
|
+
<p></h3><div class=“docstring”></p>
|
|
532
|
+
|
|
533
|
+
<pre><div class="discussion"></pre>
|
|
534
|
+
|
|
535
|
+
<p><h1 id=“label-Add+a+neuron+to+given+critter”>Add a neuron to given
|
|
536
|
+
critter</h1></p>
|
|
537
|
+
|
|
538
|
+
<p><p>Here, we add a neuron by randomly picking a gene, and split it
|
|
539
|
+
into two genes with an intervening neuron. The old gene is not replaced,
|
|
540
|
+
but disabled. 2 new genes are created along with the new neuron.</p></p>
|
|
541
|
+
|
|
542
|
+
<pre></div></pre>
|
|
543
|
+
|
|
544
|
+
<p></div> <div class=“tags”></p>
|
|
545
|
+
|
|
546
|
+
<p></div><table class=“source_code”></p>
|
|
547
|
+
|
|
548
|
+
<pre><tr>
|
|
549
|
+
<td>
|
|
550
|
+
<pre class="lines"></pre>
|
|
551
|
+
|
|
552
|
+
<p>265 266 267 268 269 270 271 272 273 274</pre></p>
|
|
553
|
+
|
|
554
|
+
<pre></td>
|
|
555
|
+
<td>
|
|
556
|
+
<pre class="code"><span class="info file"># File 'lib/rubyneat/evolver.rb', line 265</span></pre>
|
|
557
|
+
|
|
558
|
+
<p><span class='kw'>def</span> <span class='id
|
|
559
|
+
identifier rubyid_add_neuron!'>add_neuron!</span><span
|
|
560
|
+
class='lparen'>(</span><span class='id identifier
|
|
561
|
+
rubyid_crit'>crit</span><span
|
|
562
|
+
class='rparen'>)</span></p>
|
|
563
|
+
|
|
564
|
+
<pre><span class='id identifier rubyid_gene'>gene</span> <span class='op'>=</span> <span class='id identifier rubyid_crit'>crit</span><span class='period'>.</span><span class='id identifier rubyid_genotype'>genotype</span><span class='period'>.</span><span class='id identifier rubyid_genes'>genes</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span><span class='period'>.</span><span class='id identifier rubyid_sample'>sample</span>
|
|
565
|
+
<span class='id identifier rubyid_neu'>neu</span> <span class='op'>=</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_neural_hidden'>neural_hidden</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span><span class='period'>.</span><span class='id identifier rubyid_sample'>sample</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_controller'>controller</span><span class='rparen'>)</span>
|
|
566
|
+
<span class='id identifier rubyid_g1'>g1</span> <span class='op'>=</span> <span class='const'>Critter</span><span class='op'>::</span><span class='const'>Genotype</span><span class='op'>::</span><span class='const'>Gene</span><span class='lbracket'>[</span><span class='id identifier rubyid_crit'>crit</span><span class='period'>.</span><span class='id identifier rubyid_genotype'>genotype</span><span class='comma'>,</span> <span class='id identifier rubyid_gene'>gene</span><span class='period'>.</span><span class='id identifier rubyid_in_neuron'>in_neuron</span><span class='comma'>,</span> <span class='id identifier rubyid_neu'>neu</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_gene'>gene</span><span class='period'>.</span><span class='id identifier rubyid_weight'>weight</span><span class='rbracket'>]</span>
|
|
567
|
+
<span class='id identifier rubyid_g2'>g2</span> <span class='op'>=</span> <span class='const'>Critter</span><span class='op'>::</span><span class='const'>Genotype</span><span class='op'>::</span><span class='const'>Gene</span><span class='lbracket'>[</span><span class='id identifier rubyid_crit'>crit</span><span class='period'>.</span><span class='id identifier rubyid_genotype'>genotype</span><span class='comma'>,</span> <span class='id identifier rubyid_neu'>neu</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_gene'>gene</span><span class='period'>.</span><span class='id identifier rubyid_out_neuron'>out_neuron</span><span class='comma'>,</span> <span class='id identifier rubyid_gene'>gene</span><span class='period'>.</span><span class='id identifier rubyid_weight'>weight</span><span class='rbracket'>]</span>
|
|
568
|
+
<span class='id identifier rubyid_gene'>gene</span><span class='period'>.</span><span class='id identifier rubyid_enabled'>enabled</span> <span class='op'>=</span> <span class='kw'>false</span>
|
|
569
|
+
<span class='id identifier rubyid_crit'>crit</span><span class='period'>.</span><span class='id identifier rubyid_genotype'>genotype</span><span class='period'>.</span><span class='id identifier rubyid_add_neurons'>add_neurons</span> <span class='id identifier rubyid_neu'>neu</span>
|
|
570
|
+
<span class='id identifier rubyid_crit'>crit</span><span class='period'>.</span><span class='id identifier rubyid_genotype'>genotype</span><span class='period'>.</span><span class='id identifier rubyid_add_genes'>add_genes</span> <span class='id identifier rubyid_g1'>g1</span><span class='comma'>,</span> <span class='id identifier rubyid_g2'>g2</span>
|
|
571
|
+
<span class='id identifier rubyid_log'>log</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>add_neuron!: neu </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_neu'>neu</span><span class='embexpr_end'>}</span><span class='tstring_content'>, g1 </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_g1'>g1</span><span class='embexpr_end'>}</span><span class='tstring_content'>, g2 </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_g2'>g2</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span></pre>
|
|
572
|
+
|
|
573
|
+
<p><span class='kw'>end</span></pre></p>
|
|
574
|
+
|
|
575
|
+
<pre> </td>
|
|
576
|
+
</tr></pre>
|
|
577
|
+
|
|
578
|
+
<p></table> </div></p>
|
|
579
|
+
|
|
580
|
+
<pre> <div class="method_details ">
|
|
581
|
+
<h3 class="signature " id="disable_gene!-instance_method">
|
|
582
|
+
|
|
583
|
+
- (<tt>Object</tt>) <strong>disable_gene!</strong>(crit)</pre>
|
|
584
|
+
|
|
585
|
+
<p></h3><div class=“docstring”></p>
|
|
586
|
+
|
|
587
|
+
<pre><div class="discussion"></pre>
|
|
588
|
+
|
|
589
|
+
<p><p>Pick an enabled gene at random and disable it.</p></p>
|
|
590
|
+
|
|
591
|
+
<pre></div></pre>
|
|
592
|
+
|
|
593
|
+
<p></div> <div class=“tags”></p>
|
|
594
|
+
|
|
595
|
+
<p></div><table class=“source_code”></p>
|
|
596
|
+
|
|
597
|
+
<pre><tr>
|
|
598
|
+
<td>
|
|
599
|
+
<pre class="lines"></pre>
|
|
600
|
+
|
|
601
|
+
<p>303 304 305 306</pre></p>
|
|
602
|
+
|
|
603
|
+
<pre></td>
|
|
604
|
+
<td>
|
|
605
|
+
<pre class="code"><span class="info file"># File 'lib/rubyneat/evolver.rb', line 303</span></pre>
|
|
606
|
+
|
|
607
|
+
<p><span class='kw'>def</span> <span class='id
|
|
608
|
+
identifier rubyid_disable_gene!'>disable_gene!</span><span
|
|
609
|
+
class='lparen'>(</span><span class='id identifier
|
|
610
|
+
rubyid_crit'>crit</span><span
|
|
611
|
+
class='rparen'>)</span></p>
|
|
612
|
+
|
|
613
|
+
<pre><span class='id identifier rubyid_gene'>gene</span> <span class='op'>=</span> <span class='id identifier rubyid_crit'>crit</span><span class='period'>.</span><span class='id identifier rubyid_genotype'>genotype</span><span class='period'>.</span><span class='id identifier rubyid_genes'>genes</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_gene'>gene</span><span class='op'>|</span> <span class='id identifier rubyid_gene'>gene</span><span class='period'>.</span><span class='id identifier rubyid_disabled?'>disabled?</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_sample'>sample</span>
|
|
614
|
+
<span class='id identifier rubyid_gene'>gene</span><span class='period'>.</span><span class='id identifier rubyid_enabled'>enabled</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='kw'>unless</span> <span class='id identifier rubyid_gene'>gene</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span></pre>
|
|
615
|
+
|
|
616
|
+
<p><span class='kw'>end</span></pre></p>
|
|
617
|
+
|
|
618
|
+
<pre> </td>
|
|
619
|
+
</tr></pre>
|
|
620
|
+
|
|
621
|
+
<p></table> </div></p>
|
|
622
|
+
|
|
623
|
+
<pre> <div class="method_details ">
|
|
624
|
+
<h3 class="signature " id="reenable_gene!-instance_method">
|
|
625
|
+
|
|
626
|
+
- (<tt>Object</tt>) <strong>reenable_gene!</strong>(crit)</pre>
|
|
627
|
+
|
|
628
|
+
<p></h3><div class=“docstring”></p>
|
|
629
|
+
|
|
630
|
+
<pre><div class="discussion"></pre>
|
|
631
|
+
|
|
632
|
+
<p><p>Pick a disabled gene at random and reenable it.</p></p>
|
|
633
|
+
|
|
634
|
+
<pre></div></pre>
|
|
635
|
+
|
|
636
|
+
<p></div> <div class=“tags”></p>
|
|
637
|
+
|
|
638
|
+
<p></div><table class=“source_code”></p>
|
|
639
|
+
|
|
640
|
+
<pre><tr>
|
|
641
|
+
<td>
|
|
642
|
+
<pre class="lines"></pre>
|
|
643
|
+
|
|
644
|
+
<p>309 310 311 312</pre></p>
|
|
645
|
+
|
|
646
|
+
<pre></td>
|
|
647
|
+
<td>
|
|
648
|
+
<pre class="code"><span class="info file"># File 'lib/rubyneat/evolver.rb', line 309</span></pre>
|
|
649
|
+
|
|
650
|
+
<p><span class='kw'>def</span> <span class='id
|
|
651
|
+
identifier
|
|
652
|
+
rubyid_reenable_gene!'>reenable_gene!</span><span
|
|
653
|
+
class='lparen'>(</span><span class='id identifier
|
|
654
|
+
rubyid_crit'>crit</span><span
|
|
655
|
+
class='rparen'>)</span></p>
|
|
656
|
+
|
|
657
|
+
<pre><span class='id identifier rubyid_gene'>gene</span> <span class='op'>=</span> <span class='id identifier rubyid_crit'>crit</span><span class='period'>.</span><span class='id identifier rubyid_genotype'>genotype</span><span class='period'>.</span><span class='id identifier rubyid_genes'>genes</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_gene'>gene</span><span class='op'>|</span> <span class='id identifier rubyid_gene'>gene</span><span class='period'>.</span><span class='id identifier rubyid_enabled?'>enabled?</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_sample'>sample</span>
|
|
658
|
+
<span class='id identifier rubyid_gene'>gene</span><span class='period'>.</span><span class='id identifier rubyid_enabled'>enabled</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>unless</span> <span class='id identifier rubyid_gene'>gene</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span></pre>
|
|
659
|
+
|
|
660
|
+
<p><span class='kw'>end</span></pre></p>
|
|
661
|
+
|
|
662
|
+
<pre> </td>
|
|
663
|
+
</tr></pre>
|
|
664
|
+
|
|
665
|
+
<p></table> </div></p>
|
|
666
|
+
|
|
667
|
+
<pre></div></pre>
|
|
668
|
+
|
|
669
|
+
<p></div></p>
|
|
670
|
+
|
|
671
|
+
<pre> <div id="footer">
|
|
672
|
+
Generated on Sun Mar 16 16:36:51 2014 by
|
|
673
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
674
|
+
0.8.7.3 (ruby-2.1.1).</pre>
|
|
675
|
+
|
|
676
|
+
<p></div></p>
|
|
677
|
+
|
|
678
|
+
<pre></body></pre>
|
|
679
|
+
|
|
680
|
+
<p></html></p>
|
|
681
|
+
</main>
|
|
682
|
+
|
|
683
|
+
|
|
684
|
+
|
|
685
|
+
<footer id="validator-badges" role="contentinfo">
|
|
686
|
+
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
|
687
|
+
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
|
|
688
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
689
|
+
</footer>
|
|
690
|
+
|