rubyneat 0.3.5.alpha.5 → 0.3.5.alpha.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e641bb4a979e7bc9255955f887e518242953e794
4
- data.tar.gz: 43fe2d6436a311901fcdee6f213f8ecb796ab1e0
3
+ metadata.gz: 4c521569ee268b3d790d8aaca2791d22a2b704ea
4
+ data.tar.gz: 12a0ab869712d684362c34df17172764eea522ff
5
5
  SHA512:
6
- metadata.gz: fd0fc5e32ac834d710bb15f3b613f4b2dd8852fd99674f6c08f98e8002cd5888f4f18741b21bdd91a3e10aaf5c88239838f4d87b0e6b50f5c0804ef16912e816
7
- data.tar.gz: 4310fc12f0dff0158456483da68aab0e9d40a03d6865db7388a24fd53a886e9955b06096bab9a9aebe4ea3833c483cc2f1fb8e6b811be93df1f6dcbfb604e05d
6
+ metadata.gz: 44087af7ef4b0d2952f585261b29825b6ae06e50148d7c51e66acf6dbc0539fac0aa4ee432e8ed7aa0faa49701fe9b9d530502f1a5ec79ca318702456b63c6e1
7
+ data.tar.gz: ee304744e5afd7d56710d4a7ea82f40c3162c0084f77f10256211b525632f189ffecbf33378fa9719732f3cd4774d7f51a6a4c1bc22c94be19a98e0a4ad68b17
data/.semver CHANGED
@@ -2,4 +2,4 @@
2
2
  :major: 0
3
3
  :minor: 3
4
4
  :patch: 5
5
- :special: ".alpha.5"
5
+ :special: ".alpha.6"
data/Gemfile CHANGED
@@ -4,8 +4,8 @@ source 'https://rubygems.org'
4
4
 
5
5
  ruby '2.1.1'
6
6
 
7
- gem 'mongo', '~> 1', require: false
8
- gem 'bson_ext', '~> 1', require: false
7
+ #gem 'mongo', '~> 1', require: false
8
+ #gem 'bson_ext', '~> 1', require: false
9
9
  gem 'distribution', '~> 0'
10
10
 
11
11
  #TODO: Check out this for a repacement of of statistics2
@@ -27,7 +27,7 @@ group :development do
27
27
  gem "jeweler", "~> 2"
28
28
  gem "simplecov", '~> 0'
29
29
  #gem 'debugger'
30
- gem 'ruby-debug-ide', '~> 0'
30
+ #gem 'ruby-debug-ide', '~> 0'
31
31
  end
32
32
 
33
33
  #======================================================
data/Gemfile.lock CHANGED
@@ -4,9 +4,6 @@ GEM
4
4
  addressable (2.3.6)
5
5
  aquarium (0.5.1)
6
6
  awesome_print (1.2.0)
7
- bson (1.10.0)
8
- bson_ext (1.10.0)
9
- bson (~> 1.10.0)
10
7
  builder (3.2.2)
11
8
  celluloid (0.15.2)
12
9
  timers (~> 1.1.0)
@@ -69,8 +66,6 @@ GEM
69
66
  lumberjack (1.0.5)
70
67
  method_source (0.8.2)
71
68
  mini_portile (0.5.3)
72
- mongo (1.10.0)
73
- bson (~> 1.10.0)
74
69
  multi_json (1.9.2)
75
70
  multi_xml (0.5.5)
76
71
  multipart-post (2.0.0)
@@ -102,8 +97,6 @@ GEM
102
97
  rspec-expectations (2.14.5)
103
98
  diff-lcs (>= 1.1.3, < 2.0)
104
99
  rspec-mocks (2.14.6)
105
- ruby-debug-ide (0.4.22)
106
- rake (>= 0.8.1)
107
100
  rubyvis (0.6.0)
108
101
  semver (1.0.1)
109
102
  simplecov (0.8.2)
@@ -124,7 +117,6 @@ PLATFORMS
124
117
  DEPENDENCIES
125
118
  aquarium (~> 0)
126
119
  awesome_print (~> 1)
127
- bson_ext (~> 1)
128
120
  debase (~> 0)
129
121
  deep_dive (~> 0)
130
122
  distribution (~> 0)
@@ -132,9 +124,7 @@ DEPENDENCIES
132
124
  guard (~> 2)
133
125
  guard-rspec (~> 4)
134
126
  jeweler (~> 2)
135
- mongo (~> 1)
136
127
  rspec (~> 2)
137
- ruby-debug-ide (~> 0)
138
128
  rubyvis (~> 0)
139
129
  semver (~> 1)
140
130
  simplecov (~> 0)
data/bin/neat CHANGED
@@ -1,14 +1,17 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'thor'
4
- require 'semver'
5
-
6
3
  # Be sure rnlib is added to the library path
7
- neatpath = File.expand_path '..', File.dirname(__FILE__)
4
+ NEAT_PATH = File.expand_path '..', File.dirname(__FILE__)
5
+ NEAT_EXECUTABLE = File.expand_path 'bin/neat', Dir.pwd
6
+
8
7
  %w{ lib neater neater/rnlib }.each do |dir|
9
- $:.unshift File.join([neatpath, dir])
8
+ $:.unshift File.join([NEAT_PATH, dir])
10
9
  end
11
10
 
12
11
  require 'rubyneat/cli'
13
12
 
14
- RubyNEAT::Cli::Main.start
13
+ unless File.exists? NEAT_EXECUTABLE
14
+ RubyNEAT::Cli::NewMain.start
15
+ else
16
+ exec NEAT_EXECUTABLE, *ARGV
17
+ end
@@ -32,9 +32,26 @@ module RubyNEAT
32
32
  @ruby = OpenStruct.new version: RUBY_VERSION,
33
33
  engine: RUBY_ENGINE,
34
34
  platform: RUBY_PLATFORM
35
- %w{Gemfile README.md}.
36
- map{ |pfile| [pfile, "#{name.snake}/#{pfile}"] }.
37
- each{ |source, destination| template source, destination }
35
+ tcopy %w{Gemfile README.md}.
36
+ map{ |pfile| [pfile, "#{name.snake}/#{pfile}"] }
37
+ end
38
+
39
+ def create_project_bin_files
40
+ tcopy %w{ neat }.
41
+ map{ |pfile| ["bin/#{pfile}", "#{name.snake}/bin/#{pfile}"] }, exec: true
42
+ end
43
+
44
+ def create_project_config_files
45
+ tcopy %w{ boot.rb }.
46
+ map{|pfile| ["config/#{pfile}", "#{name.snake}/config/#{pfile}"]}
47
+ end
48
+
49
+ private
50
+ def tcopy(from_to_list, exec: false)
51
+ from_to_list.each{ |from, to|
52
+ template from, to
53
+ File.chmod(0755, to) if exec
54
+ }
38
55
  end
39
56
  end
40
57
 
@@ -105,7 +122,6 @@ module RubyNEAT
105
122
 
106
123
  class Generate < Thor
107
124
  register Generator::Neater, 'neater', 'neater', 'Generates a neater'
108
- register Generator::NewProject, 'new', 'new', 'Generates a new NEAT project'
109
125
  end
110
126
  end
111
127
  end
@@ -7,14 +7,25 @@ module RubyNEAT
7
7
  desc 'neaters', 'List all Neaters.'
8
8
  def neaters
9
9
  Dir.glob(NEATGLOB).sort.each do |ne|
10
- puts 'neat runeater ' + File.basename(ne).gsub(%r{_neat\.rb}, '')
10
+ puts 'neat run ' + File.basename(ne).gsub(%r{_neat\.rb}, '')
11
11
  end
12
12
  end
13
13
 
14
- desc 'neurons', 'List all Neurons.'
14
+ desc 'neurons', 'List all Neurons by their full class names.'
15
15
  def neurons
16
16
  puts NEAT::Neuron.neuron_types.map{|n| n.name }.sort.join "\n"
17
17
  end
18
+
19
+ desc 'types', 'List all Neurons by their type names.'
20
+ def types
21
+ puts NEAT::Neuron.neuron_types.map{|n| n.type_name }.sort.join "\n"
22
+ #puts NEAT::Neuron.neuron_type_names.sort.join "\n"
23
+ end
24
+
25
+ end
26
+
27
+ class NewMain < Thor
28
+ register Generator::NewProject, 'new', 'new', 'Generates a new NEAT Project'
18
29
  end
19
30
 
20
31
  class Main < Thor
@@ -37,9 +48,9 @@ module RubyNEAT
37
48
  puts "Not Implemented Yet."
38
49
  end
39
50
 
40
- desc 'runeater <neater> [<neater> <neater> ...] [OPTS]', 'Run a Neater'
51
+ desc 'run <neater> [<neater> <neater> ...] [OPTS]', 'Run a Neater'
41
52
  option :log, type: :string, banner: 'info|warn|debug|error'
42
- def runeater(*neaters)
53
+ def neater(*neaters)
43
54
  NEAT::controller.verbosity = options[:verbose].to_i if options[:verbose]
44
55
  eval %{$log.level = Logger::#{options[:log].upcase}} if options[:log]
45
56
 
@@ -49,6 +60,8 @@ module RubyNEAT
49
60
  load file
50
61
  end
51
62
  end
63
+ map run: :neater
64
+
52
65
  end
53
66
  end
54
67
  end
@@ -2,6 +2,7 @@
2
2
  source 'https://rubygems.org'
3
3
 
4
4
  ruby '<%= ruby.version %>'
5
+ gem 'rubyneat'
5
6
 
6
7
  # For demo purposes, we include the gosu library, but if you don't
7
8
  # need this, then comment it out or remove it.
@@ -1,14 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'thor'
4
- require 'semver'
5
-
6
- # Be sure rnlib is added to the library path
7
- neatpath = File.expand_path '..', File.dirname(__FILE__)
8
- %w{ lib neater neater/rnlib }.each do |dir|
9
- $:.unshift File.join([neatpath, dir])
10
- end
11
-
12
- require 'rubyneat/cli'
13
-
3
+ NEAT_PATH = File.expand_path '..', File.dirname(__FILE__)
4
+ require_relative '../config/boot'
14
5
  RubyNEAT::Cli::Main.start
@@ -0,0 +1,13 @@
1
+ # Set up gems listed in the Gemfile.
2
+
3
+ require 'rubyneat/cli'
4
+
5
+ ENV['RUBYNEAT_ENV'] ||= 'development'
6
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
7
+ require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
8
+
9
+ %w{ lib neater }.each do |dir|
10
+ $:.unshift File.join([NEAT_PATH, dir])
11
+ end
12
+
13
+ Bundler.require(:default, ENV['RUBYNEAT_ENV'].to_sym)
data/lib/rubyneat/cli.rb CHANGED
@@ -1,3 +1,6 @@
1
+ require 'thor'
2
+ require 'semver'
3
+
1
4
  NEATER = File.join [Dir.pwd, "neater"]
2
5
  NEATGLOB = NEATER + '/*_neat.rb'
3
6
 
@@ -30,6 +30,12 @@ module NEAT
30
30
  # List of neuron types defined.
31
31
  @@neuron_types = []
32
32
 
33
+ # Type names must always be unique for Neurons.
34
+ # TODO: Enforce uniqueness in neural type names
35
+ def self.type_name
36
+ @type_name ||= self.to_s.split('::').last.split('Neuron').first.downcase
37
+ end
38
+
33
39
  # Class is is of Input type?
34
40
  def self.input? ; false ; end
35
41
  def input? ; self.class.input? ; end
@@ -57,7 +63,6 @@ module NEAT
57
63
  end
58
64
 
59
65
 
60
-
61
66
  =begin rdoc
62
67
  = Basic Neuron Types
63
68
 
@@ -148,5 +153,33 @@ The basic types to RubyNEAT are represented here.
148
153
  end
149
154
  end
150
155
 
156
+ # Linear function (CPPN) -- simply add up all the inputs.
157
+ class LinearNeuron < Neuron
158
+ # create a function on the instance with our name
159
+ # that sums all inputs only.
160
+ def express(instance)
161
+ instance.define_singleton_method(@name) {|*inputs|
162
+ inputs.reduce {|p, q| p + q}
163
+ }
164
+ end
165
+ end
166
+
167
+ # Gaussian function (CPPN) -- SD 1 of inputs
168
+ class GaussianNeuron < Neuron
169
+ # create a function on the instance with our name
170
+ # that sums all inputs and produce a gaussian of
171
+ # standard deviation of 1.
172
+ def express(instance)
173
+ instance.define_singleton_method(@name) { |*inputs|
174
+ a = 1.0 #height
175
+ b = 0.0 #center
176
+ c = 1.0 #SD
177
+ d = 0.0 #lowest y point
178
+ x = inputs.reduce {|p, q| p + q}
179
+ a * exp(-(x - b)**2.0 / 2*c**2.0) + d
180
+ }
181
+ end
182
+ end
183
+
151
184
  end
152
185
  end
@@ -5,15 +5,14 @@ require 'awesome_print'
5
5
  require 'deep_dive'
6
6
 
7
7
  =begin rdoc
8
- = RubyNEAT -- a Ruby Implementation of the NeuroEvolution by Augmented Topologies.
8
+ = RubyNEAT -- a Ruby Implementation of the Neural Evolution of Augmenting Topologies.
9
9
 
10
- The RubyNEAT system incorporates the basis of the NEAT alorithm. Flexibility
11
- is the key here, allowing RubyNEAT to be leverage in a varitety of applications.
10
+ The RubyNEAT system incorporates the basis of the NEAT algorithm. Flexibility
11
+ is the key here, allowing RubyNEAT to be leverage in a variety of applications.
12
12
 
13
13
  === Requirements
14
- We make no effort to support Ruby versions less than 1.9.2. I know this will
15
- be a problem to some, but you are strongly urgerd to upgrade.
16
-
14
+ We make no effort to support Ruby versions less than 2.0.0. I know this will
15
+ be a problem to some, but you are strongly urged to upgrade.
17
16
  =end
18
17
 
19
18
  $log = Logger.new(STDOUT)
@@ -28,35 +27,48 @@ We have a Population of Critters, and each Critter
28
27
  represents a network of Neurons and a connection list specifying
29
28
  how those Neurons are connected.
30
29
 
31
- Each Neuron has an inplicit genotype and phenotype component. Neurons,
32
- from the Ruby persoective, contain their own code to produce their own
30
+ Each Neuron has an implicit genotype and phenotype component. Neurons,
31
+ from the Ruby perspective, contain their own code to produce their own
33
32
  phenotypes.
34
33
 
35
34
  There are input Neurons and output Neurons. The input Neurons are special, as
36
35
  they do not contain any input from other nodes, but serve as interfaces
37
- from the "real world". Thier range of inputs are open, and it shall be up to
36
+ from the "real world". Their range of inputs are open, and it shall be up to
38
37
  the input Neuron's phenotype generators to condition those inputs, if need be,
39
- to someething more suiable for the neural network.
38
+ to something more suitable for the neural network.
40
39
 
41
40
  == Issues
42
41
  === Multicore / Cloud Computing
43
- Some thought needs to be given to how to make this anenable to multiple
42
+ Some thought needs to be given to how to make this amenable to multiple
44
43
  processes so that we can leverage the power of multicore systems as well
45
44
  as multiple computers in the Cloud, etc.
46
45
 
47
- Our initial inclination is to put all of that functionality in the Conroller.
46
+ Our initial inclination is to put all of that functionality in the Controller.
47
+
48
+ == Uniquely Generated Named Objects (UGNOs)
49
+ Every RubyNEAT Object instance is assigned a unique name generated randomly.
50
+ The name has no other significance other than to uniquely identify the object.
51
+
52
+ We have chosen the names of the letters of various alphabets to be the core
53
+ of those names. The list may be subject to change until we are out of alpha,
54
+ then will be set in quick drying concrete.
48
55
  =end
49
56
  module NEAT
50
57
  @rng_count = 0
51
- @rng_names = %w{aaa bee cex dee flo kis lee mor cie lou gir sex quo sam lac hin pee
52
- cur set sew flat nac zac pae por lie lox pox nez fez wib poo sho
53
- nuz tux que bsh shi her him can muk fuk kit kat uno dos ant mic
54
- aa be nz oo py tt my of ze mu pi zz qu fl tr as sd fg gh hj bc
55
- lion tame monk busy honk tape slap zonk funk tear flip shop soap
56
- quay mony stir moot shoo slim fate trat beep kook love hate
57
- mire hair lips funk open shut case lace joop lute doze fuzz
58
- mean nice soil vote kick apes snak huge sine pine gray nook fool
59
- woot hail smel tell jell suut gage phat pinoy spain rey bloke zit}
58
+ @rng_names = %w{alpha beta gamma delta epsilon zeta eta theta kappa lambda
59
+ mu nu xi omicron pi rho sigma tau upsilon phi chi psi omega
60
+
61
+ alef bet gimel dalet he vav zayin het tet yod kaf lamed
62
+ mem nun samekh ayin pe tsadi qof resh shin tav
63
+
64
+ pop wo sip zotz sek xul yaxkin mol chen yax sak kej mak kankin
65
+ muwan pax kayab kumku wayeb
66
+
67
+ ki gi ngi ti di ni bi mi yi li wi si hi ku gu ngu tu du pu
68
+ bu yu lu wu su hu
69
+
70
+ ha jim theh teh beh alif sin zin ra dhal dal kha ain dha ta
71
+ dad sad shin mim lam kaf qaf feh ghain yeh waw heh nun}
60
72
  def self.random_name_generator
61
73
  (1..3).map {
62
74
  @rng_names[rand @rng_names.size]
data/lib/rubyneat.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  =begin rdoc
2
- =RubyNEAT ()Neural Evolution via Augmented Topologies)
2
+ =RubyNEAT -- Neural Evolution of Augmenting Topologies
3
3
  =end
4
4
 
5
5
  require 'rubyneat/rubyneat'
data/rubyneat.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: rubyneat 0.3.5.alpha.5 ruby lib
5
+ # stub: rubyneat 0.3.5.alpha.6 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "rubyneat"
9
- s.version = "0.3.5.alpha.5"
9
+ s.version = "0.3.5.alpha.6"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Fred Mitchell"]
14
- s.date = "2014-04-19"
14
+ s.date = "2014-04-24"
15
15
  s.description = "\n RubyNEAT -- Neural Evolution of Augmenting Topologies for Ruby.\n By way of an enhanced form of Genetic Algorithms -- the NEAT algorithm,\n populations of neural nets are evolved to handle pre-defined goals.\n\n RubyNEAT is the first implementation of the NEAT algorithm for Ruby, and\n it leverages Ruby's power to implement the NEAT algorithm in a way that would\n be difficult to do in other languages. The 'activation function' is largely\n standalone. Basically, activation is achieved by functional programming.\n\n Meaning, once your network is evolved, you can extract it as source code you\n can then utilize without the RubyNEAT engine.\n\n RubyNEAT can be used for nearly any Machine Learning task you can dream of,\n because it's also extensible and modular. See http://rubyneat.com for the\n details.\n "
16
16
  s.email = "fred@lrcsoft.com"
17
17
  s.executables = ["neat"]
@@ -34,6 +34,7 @@ Gem::Specification.new do |s|
34
34
  "lib/rubyneat/cli/templates/generate/Gemfile.tt",
35
35
  "lib/rubyneat/cli/templates/generate/README.md.tt",
36
36
  "lib/rubyneat/cli/templates/generate/bin/neat.tt",
37
+ "lib/rubyneat/cli/templates/generate/config/boot.rb.tt",
37
38
  "lib/rubyneat/cli/templates/generate/neater.tt",
38
39
  "lib/rubyneat/critter.rb",
39
40
  "lib/rubyneat/default_neat.rb",
@@ -46,7 +47,6 @@ Gem::Specification.new do |s|
46
47
  "lib/rubyneat/population.rb",
47
48
  "lib/rubyneat/rubyneat.rb",
48
49
  "rubyneat.gemspec",
49
- "rubyneat.gemspec.orig",
50
50
  "spec/lib/rubyneat/rubyneat_spec.rb"
51
51
  ]
52
52
  s.homepage = "http://rubyneat.com"
@@ -58,8 +58,6 @@ Gem::Specification.new do |s|
58
58
  s.specification_version = 4
59
59
 
60
60
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
61
- s.add_runtime_dependency(%q<mongo>, ["~> 1"])
62
- s.add_runtime_dependency(%q<bson_ext>, ["~> 1"])
63
61
  s.add_runtime_dependency(%q<distribution>, ["~> 0"])
64
62
  s.add_runtime_dependency(%q<statistics2>, ["~> 0"])
65
63
  s.add_runtime_dependency(%q<debase>, ["~> 0"])
@@ -76,10 +74,7 @@ Gem::Specification.new do |s|
76
74
  s.add_development_dependency(%q<semver>, ["~> 1"])
77
75
  s.add_development_dependency(%q<jeweler>, ["~> 2"])
78
76
  s.add_development_dependency(%q<simplecov>, ["~> 0"])
79
- s.add_development_dependency(%q<ruby-debug-ide>, ["~> 0"])
80
77
  else
81
- s.add_dependency(%q<mongo>, ["~> 1"])
82
- s.add_dependency(%q<bson_ext>, ["~> 1"])
83
78
  s.add_dependency(%q<distribution>, ["~> 0"])
84
79
  s.add_dependency(%q<statistics2>, ["~> 0"])
85
80
  s.add_dependency(%q<debase>, ["~> 0"])
@@ -96,11 +91,8 @@ Gem::Specification.new do |s|
96
91
  s.add_dependency(%q<semver>, ["~> 1"])
97
92
  s.add_dependency(%q<jeweler>, ["~> 2"])
98
93
  s.add_dependency(%q<simplecov>, ["~> 0"])
99
- s.add_dependency(%q<ruby-debug-ide>, ["~> 0"])
100
94
  end
101
95
  else
102
- s.add_dependency(%q<mongo>, ["~> 1"])
103
- s.add_dependency(%q<bson_ext>, ["~> 1"])
104
96
  s.add_dependency(%q<distribution>, ["~> 0"])
105
97
  s.add_dependency(%q<statistics2>, ["~> 0"])
106
98
  s.add_dependency(%q<debase>, ["~> 0"])
@@ -117,7 +109,6 @@ Gem::Specification.new do |s|
117
109
  s.add_dependency(%q<semver>, ["~> 1"])
118
110
  s.add_dependency(%q<jeweler>, ["~> 2"])
119
111
  s.add_dependency(%q<simplecov>, ["~> 0"])
120
- s.add_dependency(%q<ruby-debug-ide>, ["~> 0"])
121
112
  end
122
113
  end
123
114
 
metadata CHANGED
@@ -1,43 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyneat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5.alpha.5
4
+ version: 0.3.5.alpha.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fred Mitchell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-19 00:00:00.000000000 Z
11
+ date: 2014-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: mongo
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1'
27
- - !ruby/object:Gem::Dependency
28
- name: bson_ext
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '1'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '1'
41
13
  - !ruby/object:Gem::Dependency
42
14
  name: distribution
43
15
  requirement: !ruby/object:Gem::Requirement
@@ -262,20 +234,6 @@ dependencies:
262
234
  - - "~>"
263
235
  - !ruby/object:Gem::Version
264
236
  version: '0'
265
- - !ruby/object:Gem::Dependency
266
- name: ruby-debug-ide
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - "~>"
270
- - !ruby/object:Gem::Version
271
- version: '0'
272
- type: :development
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - "~>"
277
- - !ruby/object:Gem::Version
278
- version: '0'
279
237
  description: "\n RubyNEAT -- Neural Evolution of Augmenting Topologies for Ruby.\n
280
238
  \ By way of an enhanced form of Genetic Algorithms -- the NEAT algorithm,\n populations
281
239
  of neural nets are evolved to handle pre-defined goals.\n\n RubyNEAT is the first
@@ -309,6 +267,7 @@ files:
309
267
  - lib/rubyneat/cli/templates/generate/Gemfile.tt
310
268
  - lib/rubyneat/cli/templates/generate/README.md.tt
311
269
  - lib/rubyneat/cli/templates/generate/bin/neat.tt
270
+ - lib/rubyneat/cli/templates/generate/config/boot.rb.tt
312
271
  - lib/rubyneat/cli/templates/generate/neater.tt
313
272
  - lib/rubyneat/critter.rb
314
273
  - lib/rubyneat/default_neat.rb
@@ -321,7 +280,6 @@ files:
321
280
  - lib/rubyneat/population.rb
322
281
  - lib/rubyneat/rubyneat.rb
323
282
  - rubyneat.gemspec
324
- - rubyneat.gemspec.orig
325
283
  - spec/lib/rubyneat/rubyneat_spec.rb
326
284
  homepage: http://rubyneat.com
327
285
  licenses:
@@ -1,384 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
- <<<<<<< HEAD
6
- # stub: rubyneat 0.3.5.alpha.3 ruby lib
7
-
8
- Gem::Specification.new do |s|
9
- s.name = "rubyneat"
10
- s.version = "0.3.5.alpha.3"
11
- =======
12
- # stub: rubyneat 0.3.5.alpha.5 ruby lib
13
-
14
- Gem::Specification.new do |s|
15
- s.name = "rubyneat"
16
- s.version = "0.3.5.alpha.5"
17
- >>>>>>> utility
18
-
19
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
20
- s.require_paths = ["lib"]
21
- s.authors = ["Fred Mitchell"]
22
- <<<<<<< HEAD
23
- s.date = "2014-04-14"
24
- s.description = "\n NEAT Algorithm for Ruby.\n "
25
- =======
26
- s.date = "2014-04-18"
27
- s.description = "\n RubyNEAT -- Neural Evolution of Augmenting Topologies for Ruby.\n By way of an enhanced form of Genetic Algorithms -- the NEAT algorithm,\n populations of neural nets are evolved to handle pre-defined goals.\n\n RubyNEAT is the first implementation of the NEAT algorithm for Ruby, and\n it leverages Ruby's power to implement the NEAT algorithm in a way that would\n be difficult to do in other languages. The 'activation function' is largely\n standalone. Basically, activation is achieved by functional programming.\n\n Meaning, once your network is evolved, you can extract it as source code you\n can then utilize without the RubyNEAT engine.\n\n RubyNEAT can be used for nearly any Machine Learning task you can dream of,\n because it's also extensible and modular. See http://rubyneat.com for the\n details.\n "
28
- >>>>>>> utility
29
- s.email = "fred@lrcsoft.com"
30
- s.executables = ["neat"]
31
- s.extra_rdoc_files = [
32
- "README.md"
33
- ]
34
- s.files = [
35
- ".directory",
36
- <<<<<<< HEAD
37
- ".idea/.name",
38
- ".idea/.rakeTasks",
39
- ".idea/dictionaries/trader.xml",
40
- ".idea/encodings.xml",
41
- ".idea/misc.xml",
42
- ".idea/modules.xml",
43
- ".idea/rubyneat.iml",
44
- ".idea/runConfigurations/invpend_neat.xml",
45
- ".idea/runConfigurations/sigdebug_neat.xml",
46
- ".idea/runConfigurations/xor_neat.xml",
47
- ".idea/runConfigurations/xordebug_neat.xml",
48
- ".idea/runConfigurations/xorsin_neat.xml",
49
- ".idea/scopes/scope_settings.xml",
50
- ".idea/vcs.xml",
51
- ".idea/workspace.xml",
52
- =======
53
- >>>>>>> utility
54
- ".semver",
55
- "Gemfile",
56
- "Gemfile.lock",
57
- "README.md",
58
- "Rakefile",
59
- "bin/neat",
60
- "config/application.rb",
61
- "lib/rubyneat.rb",
62
- "lib/rubyneat/cli.rb",
63
- "lib/rubyneat/cli/generate.rb",
64
- "lib/rubyneat/cli/main.rb",
65
- "lib/rubyneat/cli/templates/generate/Gemfile.tt",
66
- "lib/rubyneat/cli/templates/generate/README.md.tt",
67
- "lib/rubyneat/cli/templates/generate/neater.tt",
68
- "lib/rubyneat/critter.rb",
69
- "lib/rubyneat/default_neat.rb",
70
- "lib/rubyneat/dsl.rb",
71
- "lib/rubyneat/evaluator.rb",
72
- "lib/rubyneat/evolver.rb",
73
- "lib/rubyneat/expressor.rb",
74
- "lib/rubyneat/graph.rb",
75
- "lib/rubyneat/neuron.rb",
76
- "lib/rubyneat/population.rb",
77
- "lib/rubyneat/rubyneat.rb",
78
- <<<<<<< HEAD
79
- "neater/invpend_neat.rb",
80
- "neater/rnlib/inverted_pendulum.rb",
81
- "neater/rnlib/xor.rb",
82
- "neater/sigdebug_neat.rb",
83
- "neater/xor_neat.rb",
84
- "neater/xoranalog_neat.rb",
85
- "neater/xorsin_neat.rb",
86
- "projectFilesBackup/.idea/rubyneat.iml",
87
- "public/.directory",
88
- "public/background.png",
89
- "public/background.xcf",
90
- "public/cart.png",
91
- "public/cart.xcf",
92
- "public/metalpoles_molton_ball_l.jpg",
93
- "public/old_background.png",
94
- "public/pointer.png",
95
- "public/pointer.xcf",
96
- "public/pole.kra",
97
- "public/pole.png",
98
- "public/pole.xcf",
99
- "public/wheel-of-year-stone-DD-131-WOYS.jpg",
100
- "public/wheel.png",
101
- "public/wheel.xcf",
102
- "public/wood-planks-texture.jpg",
103
- "rdoc/ControllerPoint.html",
104
- "rdoc/CuteA.html",
105
- "rdoc/CuteB.html",
106
- "rdoc/DSLSetup.html",
107
- "rdoc/GameTestWindow.html",
108
- "rdoc/GameWindow.html",
109
- "rdoc/Gemfile.html",
110
- "rdoc/Gemfile_lock.html",
111
- "rdoc/GraphTest.html",
112
- "rdoc/Guardfile.html",
113
- "rdoc/InvertedPendulum.html",
114
- "rdoc/InvertedPendulum/Cart.html",
115
- "rdoc/InvertedPendulum/DSL.html",
116
- "rdoc/InvertedPendulum/InvPendWindow.html",
117
- "rdoc/Logger.html",
118
- "rdoc/NEAT.html",
119
- "rdoc/NEAT/BasicNeuronTypes.html",
120
- "rdoc/NEAT/BasicNeuronTypes/BiasNeuron.html",
121
- "rdoc/NEAT/BasicNeuronTypes/CosineNeuron.html",
122
- "rdoc/NEAT/BasicNeuronTypes/InputNeuron.html",
123
- "rdoc/NEAT/BasicNeuronTypes/SigmoidNeuron.html",
124
- "rdoc/NEAT/BasicNeuronTypes/SineNeuron.html",
125
- "rdoc/NEAT/BasicNeuronTypes/TanhNeuron.html",
126
- "rdoc/NEAT/Controller.html",
127
- "rdoc/NEAT/Controller/NeatSettings.html",
128
- "rdoc/NEAT/Critter.html",
129
- "rdoc/NEAT/Critter/Genotype.html",
130
- "rdoc/NEAT/Critter/Genotype/Gene.html",
131
- "rdoc/NEAT/Critter/Phenotype.html",
132
- "rdoc/NEAT/DSL.html",
133
- "rdoc/NEAT/Evaluator.html",
134
- "rdoc/NEAT/Evolver.html",
135
- "rdoc/NEAT/Evolver/CritterOp.html",
136
- "rdoc/NEAT/Expressor.html",
137
- "rdoc/NEAT/Graph.html",
138
- "rdoc/NEAT/Graph/DependencyResolver.html",
139
- "rdoc/NEAT/Graph/GraphException.html",
140
- "rdoc/NEAT/NeatException.html",
141
- "rdoc/NEAT/NeatOb.html",
142
- "rdoc/NEAT/Neuron.html",
143
- "rdoc/NEAT/Operator.html",
144
- "rdoc/NEAT/Population.html",
145
- "rdoc/NEAT/Trait.html",
146
- "rdoc/Object.html",
147
- "rdoc/Phi.html",
148
- "rdoc/Player.html",
149
- "rdoc/Rakefile.html",
150
- "rdoc/RubyNEAT.html",
151
- "rdoc/RubyNEAT/Application.html",
152
- "rdoc/SDL.html",
153
- "rdoc/SDL/Event2.html",
154
- "rdoc/Vector.html",
155
- "rdoc/created.rid",
156
- "rdoc/doc/ControllerPoint_html.html",
157
- "rdoc/doc/CuteA_html.html",
158
- "rdoc/doc/CuteB_html.html",
159
- "rdoc/doc/DSL_html.html",
160
- "rdoc/doc/NEAT/BasicNeuronTypes/BiasNeuron_html.html",
161
- "rdoc/doc/NEAT/BasicNeuronTypes/CosineNeuron_html.html",
162
- "rdoc/doc/NEAT/BasicNeuronTypes/InputNeuron_html.html",
163
- "rdoc/doc/NEAT/BasicNeuronTypes/SigmoidNeuron_html.html",
164
- "rdoc/doc/NEAT/BasicNeuronTypes/SineNeuron_html.html",
165
- "rdoc/doc/NEAT/BasicNeuronTypes/TanhNeuron_html.html",
166
- "rdoc/doc/NEAT/BasicNeuronTypes_html.html",
167
- "rdoc/doc/NEAT/Controller/NeatSettings_html.html",
168
- "rdoc/doc/NEAT/Controller_html.html",
169
- "rdoc/doc/NEAT/Critter/Genotype/Gene_html.html",
170
- "rdoc/doc/NEAT/Critter/Genotype_html.html",
171
- "rdoc/doc/NEAT/Critter/Phenotype_html.html",
172
- "rdoc/doc/NEAT/Critter_html.html",
173
- "rdoc/doc/NEAT/DSL_html.html",
174
- "rdoc/doc/NEAT/Evaluator_html.html",
175
- "rdoc/doc/NEAT/Evolver/CritterOp_html.html",
176
- "rdoc/doc/NEAT/Evolver_html.html",
177
- "rdoc/doc/NEAT/Expressor_html.html",
178
- "rdoc/doc/NEAT/Graph/DependencyResolver_html.html",
179
- "rdoc/doc/NEAT/Graph/GraphException_html.html",
180
- "rdoc/doc/NEAT/Graph_html.html",
181
- "rdoc/doc/NEAT/NeatException_html.html",
182
- "rdoc/doc/NEAT/NeatOb_html.html",
183
- "rdoc/doc/NEAT/Neuron_html.html",
184
- "rdoc/doc/NEAT/Operator_html.html",
185
- "rdoc/doc/NEAT/Population_html.html",
186
- "rdoc/doc/NEAT/Trait_html.html",
187
- "rdoc/doc/NEAT_html.html",
188
- "rdoc/doc/_index_html.html",
189
- "rdoc/doc/class_list_html.html",
190
- "rdoc/doc/css/common_css.html",
191
- "rdoc/doc/css/full_list_css.html",
192
- "rdoc/doc/css/style_css.html",
193
- "rdoc/doc/file_list_html.html",
194
- "rdoc/doc/frames_html.html",
195
- "rdoc/doc/index_html.html",
196
- "rdoc/doc/js/app_js.html",
197
- "rdoc/doc/js/full_list_js.html",
198
- "rdoc/doc/js/jquery_js.html",
199
- "rdoc/doc/method_list_html.html",
200
- "rdoc/doc/top-level-namespace_html.html",
201
- "rdoc/fonts.css",
202
- "rdoc/fonts/Lato-Light.ttf",
203
- "rdoc/fonts/Lato-LightItalic.ttf",
204
- "rdoc/fonts/Lato-Regular.ttf",
205
- "rdoc/fonts/Lato-RegularItalic.ttf",
206
- "rdoc/fonts/SourceCodePro-Bold.ttf",
207
- "rdoc/fonts/SourceCodePro-Regular.ttf",
208
- "rdoc/images/add.png",
209
- "rdoc/images/arrow_up.png",
210
- "rdoc/images/brick.png",
211
- "rdoc/images/brick_link.png",
212
- "rdoc/images/bug.png",
213
- "rdoc/images/bullet_black.png",
214
- "rdoc/images/bullet_toggle_minus.png",
215
- "rdoc/images/bullet_toggle_plus.png",
216
- "rdoc/images/date.png",
217
- "rdoc/images/delete.png",
218
- "rdoc/images/find.png",
219
- "rdoc/images/loadingAnimation.gif",
220
- "rdoc/images/macFFBgHack.png",
221
- "rdoc/images/package.png",
222
- "rdoc/images/page_green.png",
223
- "rdoc/images/page_white_text.png",
224
- "rdoc/images/page_white_width.png",
225
- "rdoc/images/plugin.png",
226
- "rdoc/images/ruby.png",
227
- "rdoc/images/tag_blue.png",
228
- "rdoc/images/tag_green.png",
229
- "rdoc/images/transparent.png",
230
- "rdoc/images/wrench.png",
231
- "rdoc/images/wrench_orange.png",
232
- "rdoc/images/zoom.png",
233
- "rdoc/index.html",
234
- "rdoc/js/darkfish.js",
235
- "rdoc/js/jquery.js",
236
- "rdoc/js/navigation.js",
237
- "rdoc/js/search.js",
238
- "rdoc/js/search_index.js",
239
- "rdoc/js/searcher.js",
240
- "rdoc/rdoc.css",
241
- "rdoc/rubyneat_gemspec.html",
242
- "rdoc/table_of_contents.html",
243
- "rdoc/xordebug_log.html",
244
- "rdoc/xorsin_log.html",
245
- =======
246
- >>>>>>> utility
247
- "rubyneat.gemspec",
248
- "spec/lib/rubyneat/rubyneat_spec.rb"
249
- ]
250
- s.homepage = "http://rubyneat.com"
251
- s.licenses = ["MIT"]
252
- s.rubygems_version = "2.2.2"
253
- s.summary = "RubyNEAT NeuralEvolution of Augmenting Topologies"
254
-
255
- if s.respond_to? :specification_version then
256
- s.specification_version = 4
257
-
258
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
259
- <<<<<<< HEAD
260
- s.add_runtime_dependency(%q<mongo>, [">= 0"])
261
- s.add_runtime_dependency(%q<bson_ext>, [">= 0"])
262
- s.add_runtime_dependency(%q<distribution>, [">= 0"])
263
- s.add_runtime_dependency(%q<statistics2>, [">= 0"])
264
- s.add_runtime_dependency(%q<debase>, [">= 0"])
265
- s.add_runtime_dependency(%q<aquarium>, [">= 0"])
266
- s.add_runtime_dependency(%q<thor>, [">= 0"])
267
- s.add_runtime_dependency(%q<awesome_print>, [">= 0"])
268
- s.add_runtime_dependency(%q<deep_dive>, [">= 0"])
269
- s.add_runtime_dependency(%q<gosu>, [">= 0"])
270
- s.add_runtime_dependency(%q<rubyvis>, [">= 0"])
271
- s.add_development_dependency(%q<rspec>, [">= 0"])
272
- s.add_development_dependency(%q<yard>, [">= 0"])
273
- s.add_development_dependency(%q<guard>, [">= 0"])
274
- s.add_development_dependency(%q<guard-rspec>, [">= 0"])
275
- s.add_development_dependency(%q<semver>, [">= 0"])
276
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.7"])
277
- s.add_development_dependency(%q<simplecov>, [">= 0"])
278
- s.add_development_dependency(%q<ruby-debug-ide>, [">= 0"])
279
- else
280
- s.add_dependency(%q<mongo>, [">= 0"])
281
- s.add_dependency(%q<bson_ext>, [">= 0"])
282
- s.add_dependency(%q<distribution>, [">= 0"])
283
- s.add_dependency(%q<statistics2>, [">= 0"])
284
- s.add_dependency(%q<debase>, [">= 0"])
285
- s.add_dependency(%q<aquarium>, [">= 0"])
286
- s.add_dependency(%q<thor>, [">= 0"])
287
- s.add_dependency(%q<awesome_print>, [">= 0"])
288
- s.add_dependency(%q<deep_dive>, [">= 0"])
289
- s.add_dependency(%q<gosu>, [">= 0"])
290
- s.add_dependency(%q<rubyvis>, [">= 0"])
291
- s.add_dependency(%q<rspec>, [">= 0"])
292
- s.add_dependency(%q<yard>, [">= 0"])
293
- s.add_dependency(%q<guard>, [">= 0"])
294
- s.add_dependency(%q<guard-rspec>, [">= 0"])
295
- s.add_dependency(%q<semver>, [">= 0"])
296
- s.add_dependency(%q<jeweler>, ["~> 1.8.7"])
297
- s.add_dependency(%q<simplecov>, [">= 0"])
298
- s.add_dependency(%q<ruby-debug-ide>, [">= 0"])
299
- end
300
- else
301
- s.add_dependency(%q<mongo>, [">= 0"])
302
- s.add_dependency(%q<bson_ext>, [">= 0"])
303
- s.add_dependency(%q<distribution>, [">= 0"])
304
- s.add_dependency(%q<statistics2>, [">= 0"])
305
- s.add_dependency(%q<debase>, [">= 0"])
306
- s.add_dependency(%q<aquarium>, [">= 0"])
307
- s.add_dependency(%q<thor>, [">= 0"])
308
- s.add_dependency(%q<awesome_print>, [">= 0"])
309
- s.add_dependency(%q<deep_dive>, [">= 0"])
310
- s.add_dependency(%q<gosu>, [">= 0"])
311
- s.add_dependency(%q<rubyvis>, [">= 0"])
312
- s.add_dependency(%q<rspec>, [">= 0"])
313
- s.add_dependency(%q<yard>, [">= 0"])
314
- s.add_dependency(%q<guard>, [">= 0"])
315
- s.add_dependency(%q<guard-rspec>, [">= 0"])
316
- s.add_dependency(%q<semver>, [">= 0"])
317
- s.add_dependency(%q<jeweler>, ["~> 1.8.7"])
318
- s.add_dependency(%q<simplecov>, [">= 0"])
319
- s.add_dependency(%q<ruby-debug-ide>, [">= 0"])
320
- =======
321
- s.add_runtime_dependency(%q<mongo>, ["~> 1"])
322
- s.add_runtime_dependency(%q<bson_ext>, ["~> 1"])
323
- s.add_runtime_dependency(%q<distribution>, ["~> 0"])
324
- s.add_runtime_dependency(%q<statistics2>, ["~> 0"])
325
- s.add_runtime_dependency(%q<debase>, ["~> 0"])
326
- s.add_runtime_dependency(%q<aquarium>, ["~> 0"])
327
- s.add_runtime_dependency(%q<thor>, ["~> 0"])
328
- s.add_runtime_dependency(%q<awesome_print>, ["~> 1"])
329
- s.add_runtime_dependency(%q<deep_dive>, ["~> 0"])
330
- s.add_runtime_dependency(%q<gosu>, ["~> 0"])
331
- s.add_runtime_dependency(%q<rubyvis>, ["~> 0"])
332
- s.add_development_dependency(%q<rspec>, ["~> 2"])
333
- s.add_development_dependency(%q<yard>, ["~> 0"])
334
- s.add_development_dependency(%q<guard>, ["~> 2"])
335
- s.add_development_dependency(%q<guard-rspec>, ["~> 4"])
336
- s.add_development_dependency(%q<semver>, ["~> 1"])
337
- s.add_development_dependency(%q<jeweler>, ["~> 2"])
338
- s.add_development_dependency(%q<simplecov>, ["~> 0"])
339
- s.add_development_dependency(%q<ruby-debug-ide>, ["~> 0"])
340
- else
341
- s.add_dependency(%q<mongo>, ["~> 1"])
342
- s.add_dependency(%q<bson_ext>, ["~> 1"])
343
- s.add_dependency(%q<distribution>, ["~> 0"])
344
- s.add_dependency(%q<statistics2>, ["~> 0"])
345
- s.add_dependency(%q<debase>, ["~> 0"])
346
- s.add_dependency(%q<aquarium>, ["~> 0"])
347
- s.add_dependency(%q<thor>, ["~> 0"])
348
- s.add_dependency(%q<awesome_print>, ["~> 1"])
349
- s.add_dependency(%q<deep_dive>, ["~> 0"])
350
- s.add_dependency(%q<gosu>, ["~> 0"])
351
- s.add_dependency(%q<rubyvis>, ["~> 0"])
352
- s.add_dependency(%q<rspec>, ["~> 2"])
353
- s.add_dependency(%q<yard>, ["~> 0"])
354
- s.add_dependency(%q<guard>, ["~> 2"])
355
- s.add_dependency(%q<guard-rspec>, ["~> 4"])
356
- s.add_dependency(%q<semver>, ["~> 1"])
357
- s.add_dependency(%q<jeweler>, ["~> 2"])
358
- s.add_dependency(%q<simplecov>, ["~> 0"])
359
- s.add_dependency(%q<ruby-debug-ide>, ["~> 0"])
360
- end
361
- else
362
- s.add_dependency(%q<mongo>, ["~> 1"])
363
- s.add_dependency(%q<bson_ext>, ["~> 1"])
364
- s.add_dependency(%q<distribution>, ["~> 0"])
365
- s.add_dependency(%q<statistics2>, ["~> 0"])
366
- s.add_dependency(%q<debase>, ["~> 0"])
367
- s.add_dependency(%q<aquarium>, ["~> 0"])
368
- s.add_dependency(%q<thor>, ["~> 0"])
369
- s.add_dependency(%q<awesome_print>, ["~> 1"])
370
- s.add_dependency(%q<deep_dive>, ["~> 0"])
371
- s.add_dependency(%q<gosu>, ["~> 0"])
372
- s.add_dependency(%q<rubyvis>, ["~> 0"])
373
- s.add_dependency(%q<rspec>, ["~> 2"])
374
- s.add_dependency(%q<yard>, ["~> 0"])
375
- s.add_dependency(%q<guard>, ["~> 2"])
376
- s.add_dependency(%q<guard-rspec>, ["~> 4"])
377
- s.add_dependency(%q<semver>, ["~> 1"])
378
- s.add_dependency(%q<jeweler>, ["~> 2"])
379
- s.add_dependency(%q<simplecov>, ["~> 0"])
380
- s.add_dependency(%q<ruby-debug-ide>, ["~> 0"])
381
- >>>>>>> utility
382
- end
383
- end
384
-