Module: NEAT
- Included in:
- DSL
- Defined in:
- lib/rubyneat/dsl.rb,
lib/rubyneat/graph.rb,
lib/rubyneat/neuron.rb,
lib/rubyneat/critter.rb,
lib/rubyneat/evolver.rb,
lib/rubyneat/rubyneat.rb,
lib/rubyneat/expressor.rb,
lib/rubyneat/evaluator.rb,
lib/rubyneat/population.rb
Overview
NEAT – Module for RubyNEAT.
Synopsis
We have a Population of Critters, and each Critter represents a network of Neurons and a connection list specifying how those Neurons are connected.
Each Neuron has an inplicit genotype and phenotype component. Neurons, from the Ruby persoective, contain their own code to produce their own phenotypes.
There are input Neurons and output Neurons. The input Neurons are special, as they do not contain any input from other nodes, but serve as interfaces from the “real world”. Thier range of inputs are open, and it shall be up to the input Neuron's phenotype generators to condition those inputs, if need be, to someething more suiable for the neural network.
Issues
Multicore / Cloud Computing
Some thought needs to be given to how to make this anenable to multiple processes so that we can leverage the power of multicore systems as well as multiple computers in the Cloud, etc.
Our initial inclination is to put all of that functionality in the Conroller.
Defined Under Namespace
Modules: BasicNeuronTypes, DSL, Graph Classes: Controller, Critter, Evaluator, Evolver, Expressor, NeatException, NeatOb, Neuron, Operator, Population, Trait
Constant Summary
- STIMULUS =
Name of the stimulus method in NEAT::Critter::Phenotype to use for the singleton method expression of the critter.
:stimulate
Class Method Summary (collapse)
- + (Object) controller
- + (Object) controller=(controller)
- + (Object) create_controller(*parms)
-
+ (Object) dpp(ob)
PrettyPrint to log.debug.
-
+ (Object) gaussian
Mixin for the gaussian object.
-
+ (Object) new_innovation
Mixin for new innovation numbers.
- + (Object) random_name_generator
Class Method Details
+ (Object) controller
422 |
# File 'lib/rubyneat/rubyneat.rb', line 422 def self.controller ; @controller ; end |
+ (Object) controller=(controller)
423 |
# File 'lib/rubyneat/rubyneat.rb', line 423 def self.controller=(controller) ; @controller = controller ; end |
+ (Object) create_controller(*parms)
424 |
# File 'lib/rubyneat/rubyneat.rb', line 424 def self.create_controller(*parms); @controller = Controller.new(*parms); end |
+ (Object) dpp(ob)
PrettyPrint to log.debug
77 78 79 |
# File 'lib/rubyneat/rubyneat.rb', line 77 def self.dpp ob #$log.ap ob end |
+ (Object) gaussian
Mixin for the gaussian object.
74 |
# File 'lib/rubyneat/rubyneat.rb', line 74 def self.gaussian ; @controller.gaussian; end |
+ (Object) new_innovation
Mixin for new innovation numbers.
71 |
# File 'lib/rubyneat/rubyneat.rb', line 71 def self.new_innovation; @controller.new_innovation; end |
+ (Object) random_name_generator
60 61 62 63 64 |
# File 'lib/rubyneat/rubyneat.rb', line 60 def self.random_name_generator (1..3).map { @rng_names[rand @rng_names.size] }.push(@rng_count += 1).join('_').to_sym end |