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



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

def self.controller ; @controller ; end

.controller=(controller) ⇒ Object



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

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

.create_controller(*parms) ⇒ Object



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

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

.dpp(ob) ⇒ Object

PrettyPrint to log.debug



89
90
91
# File 'lib/rubyneat/rubyneat.rb', line 89

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

.gaussianObject

Mixin for the gaussian object.



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

def self.gaussian ; @controller.gaussian; end

.new_innovationObject

Mixin for new innovation numbers.



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

def self.new_innovation; @controller.new_innovation; end

.random_name_generatorObject



72
73
74
75
76
# File 'lib/rubyneat/rubyneat.rb', line 72

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