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/evaluator.rb,
lib/rubyneat/expressor.rb,
lib/rubyneat/reporting.rb,
lib/rubyneat/population.rb

Overview

RubyNEAT Reporting

Here we factor out all reporting-related functionality across the entire RubyNEAT system to this one place, because reporting is not directly related to RubyNEAT functionality. As such, it will make it much easier for forkers to slim down RubyNEAT for some specific application where reporting may not be so needed.

As far as plugins go, we could insist that all plugins do their own reporting. However, we wish to insulate such activities from the internal structures of the Population, Critters, etc. simply they are subject to change. This affords us the one place to look to update the API in response to deep structural changes.

Defined Under Namespace

Modules: BasicNeuronTypes, DSL, Graph Classes: Controller, Critter, Evaluator, Evolver, Expressor, NeatException, NeatOb, Neuron, Operator, Population, Trait

Constant Summary collapse

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

Class Method Details

.controllerObject



592
# File 'lib/rubyneat/rubyneat.rb', line 592

def self.controller ; @controller ; end

.controller=(controller) ⇒ Object



593
# File 'lib/rubyneat/rubyneat.rb', line 593

def self.controller=(controller) ; @controller = controller ; end

.create_controller(*parms) ⇒ Object



594
# File 'lib/rubyneat/rubyneat.rb', line 594

def self.create_controller(*parms); @controller = Controller.new(*parms); end

.dpp(ob) ⇒ Object

PrettyPrint to log.debug



91
92
93
# File 'lib/rubyneat/rubyneat.rb', line 91

def self.dpp ob
  #$log.ap ob
end

.gaussianObject

Mixin for the gaussian object.



88
# File 'lib/rubyneat/rubyneat.rb', line 88

def self.gaussian ; @controller.gaussian; end

.new_innovationObject

Mixin for new innovation numbers.



85
# File 'lib/rubyneat/rubyneat.rb', line 85

def self.new_innovation; @controller.new_innovation; end

.random_name_generatorObject



74
75
76
77
78
# File 'lib/rubyneat/rubyneat.rb', line 74

def self.random_name_generator
  (1..3).map {
    @rng_names[rand @rng_names.size]
  }.push(@rng_count += 1).join('_').to_sym
end