Class: NEAT::Controller::NeatSettings
- Defined in:
- lib/rubyneat/rubyneat.rb
Overview
Various parameters affecting evolution. Based somewhat on the Ken Stanley C version of NEAT. TODO not all of these parameters are implemented yet!!!
Instance Attribute Summary collapse
-
#age_significance ⇒ Object
based on the C version of NEAT.
-
#babies_stolen ⇒ Object
Returns the value of attribute babies_stolen.
-
#compatibility_threshold ⇒ Object
Species compatability threshold.
-
#disjoint_coefficient ⇒ Object
Speciation coffficient.
-
#dropoff_age ⇒ Object
Species Peality age for not making progress.
-
#evolved_substrate_switch ⇒ Object
Enable Evolved Substrate HyperNEAT.
-
#excess_coefficient ⇒ Object
Speciation coffficient.
-
#feature_selection_switch ⇒ Object
Enable FS-NEAT.
-
#fitness_cost_per_gene ⇒ Object
Returns the value of attribute fitness_cost_per_gene.
-
#fitness_cost_per_neuron ⇒ Object
fitness costs, if given, use in the computation of fitness AFTER the overall fitness for the applied stimuli have been calculated.
-
#hash_on_fitness ⇒ Object
Set to true to returned named parameters as hashes to the fitness function (the default is to do ordered arrays).
-
#hyper_switch ⇒ Object
Enable HyperNEAT.
-
#interspecies_mate_rate ⇒ Object
Ratio of mating are actually interspecies.
-
#linktrait_mutation_sig ⇒ Object
Returns the value of attribute linktrait_mutation_sig.
-
#mate_multipoint_avg_prob ⇒ Object
Returns the value of attribute mate_multipoint_avg_prob.
-
#mate_multipoint_prob ⇒ Object
Returns the value of attribute mate_multipoint_prob.
-
#mate_only_prob ⇒ Object
Returns the value of attribute mate_only_prob.
-
#mate_singlepoint_prob ⇒ Object
Returns the value of attribute mate_singlepoint_prob.
-
#max_species ⇒ Object
Max target number of species (will result in the compatability_coeifficient being adjusted automatically.
-
#mutate_add_gene_prob ⇒ Object
Returns the value of attribute mutate_add_gene_prob.
-
#mutate_add_neuron_prob ⇒ Object
Returns the value of attribute mutate_add_neuron_prob.
-
#mutate_change_gene_weights_prob ⇒ Object
For gene weights perturbations and changes (complete overwrites).
-
#mutate_change_gene_weights_sd ⇒ Object
For gene weights perturbations and changes (complete overwrites).
-
#mutate_gene_disable_prob ⇒ Object
Returns the value of attribute mutate_gene_disable_prob.
-
#mutate_gene_reenable_prob ⇒ Object
Returns the value of attribute mutate_gene_reenable_prob.
-
#mutate_gene_trait_prob ⇒ Object
Returns the value of attribute mutate_gene_trait_prob.
-
#mutate_neuron_trait_prob ⇒ Object
Returns the value of attribute mutate_neuron_trait_prob.
-
#mutate_only_prob ⇒ Object
Returns the value of attribute mutate_only_prob.
-
#mutate_perturb_gene_weights_prob ⇒ Object
For gene weights perturbations and changes (complete overwrites).
-
#mutate_perturb_gene_weights_sd ⇒ Object
For gene weights perturbations and changes (complete overwrites).
-
#mutate_random_trait_prob ⇒ Object
Returns the value of attribute mutate_random_trait_prob.
-
#mutate_toggle_enable_prob ⇒ Object
Returns the value of attribute mutate_toggle_enable_prob.
-
#mutdiff_coefficient ⇒ Object
Returns the value of attribute mutdiff_coefficient.
-
#neuron_trait_mut_sig ⇒ Object
Returns the value of attribute neuron_trait_mut_sig.
-
#newlink_tries ⇒ Object
Returns the value of attribute newlink_tries.
-
#population_size ⇒ Object
If set, will start off at the specified size and grow to the bigger population size.
-
#print_every ⇒ Object
Returns the value of attribute print_every.
-
#real_time_switch ⇒ Object
Enable RT-NEAT, for gradual evolution suitable for games and other human-interactive systems.
-
#recur_only_prob ⇒ Object
Returns the value of attribute recur_only_prob.
-
#recur_prob ⇒ Object
Returns the value of attribute recur_prob.
-
#recurrency_switch ⇒ Object
If true, allow for recurrent networks.
-
#smallest_species ⇒ Object
Species smallest population allowed (coalse smaller species into one).
-
#start_population_size ⇒ Object
If set, will start off at the specified size and grow to the bigger population size.
-
#survival_mininum_per_species ⇒ Object
Returns the value of attribute survival_mininum_per_species.
-
#survival_threshold ⇒ Object
factor (0 to 1) of the top percentage of the species that’s allowed to mate.
-
#trait_mutation_power ⇒ Object
Returns the value of attribute trait_mutation_power.
-
#trait_param_mut_prob ⇒ Object
Returns the value of attribute trait_param_mut_prob.
-
#weigh_mut_power ⇒ Object
Returns the value of attribute weigh_mut_power.
-
#weight_coefficient ⇒ Object
Speciation coffficient.
Attributes inherited from NeatOb
Instance Method Summary collapse
-
#initialize ⇒ NeatSettings
constructor
Set up defaults for mandatory entries.
Methods inherited from NeatOb
Constructor Details
Instance Attribute Details
#age_significance ⇒ Object
based on the C version of NEAT
384 385 386 |
# File 'lib/rubyneat/rubyneat.rb', line 384 def age_significance @age_significance end |
#babies_stolen ⇒ Object
Returns the value of attribute babies_stolen.
385 386 387 |
# File 'lib/rubyneat/rubyneat.rb', line 385 def babies_stolen @babies_stolen end |
#compatibility_threshold ⇒ Object
Species compatability threshold
388 389 390 |
# File 'lib/rubyneat/rubyneat.rb', line 388 def compatibility_threshold @compatibility_threshold end |
#disjoint_coefficient ⇒ Object
Speciation coffficient
391 392 393 |
# File 'lib/rubyneat/rubyneat.rb', line 391 def disjoint_coefficient @disjoint_coefficient end |
#dropoff_age ⇒ Object
Species Peality age for not making progress
398 399 400 |
# File 'lib/rubyneat/rubyneat.rb', line 398 def dropoff_age @dropoff_age end |
#evolved_substrate_switch ⇒ Object
Enable Evolved Substrate HyperNEAT. Meaningless unless hyper_switch is also enabled.
476 477 478 |
# File 'lib/rubyneat/rubyneat.rb', line 476 def evolved_substrate_switch @evolved_substrate_switch end |
#excess_coefficient ⇒ Object
Speciation coffficient
391 392 393 |
# File 'lib/rubyneat/rubyneat.rb', line 391 def excess_coefficient @excess_coefficient end |
#feature_selection_switch ⇒ Object
Enable FS-NEAT
467 468 469 |
# File 'lib/rubyneat/rubyneat.rb', line 467 def feature_selection_switch @feature_selection_switch end |
#fitness_cost_per_gene ⇒ Object
Returns the value of attribute fitness_cost_per_gene.
444 445 446 |
# File 'lib/rubyneat/rubyneat.rb', line 444 def fitness_cost_per_gene @fitness_cost_per_gene end |
#fitness_cost_per_neuron ⇒ Object
fitness costs, if given, use in the computation of fitness AFTER the overall fitness for the applied stimuli have been calculated.
443 444 445 |
# File 'lib/rubyneat/rubyneat.rb', line 443 def fitness_cost_per_neuron @fitness_cost_per_neuron end |
#hash_on_fitness ⇒ Object
Set to true to returned named parameters as hashes to the fitness function (the default is to do ordered arrays)
381 382 383 |
# File 'lib/rubyneat/rubyneat.rb', line 381 def hash_on_fitness @hash_on_fitness end |
#hyper_switch ⇒ Object
Enable HyperNEAT. This will result in the critters being interpreted as CPPNs for substrate weights. Additional setup will be necessary.
472 473 474 |
# File 'lib/rubyneat/rubyneat.rb', line 472 def hyper_switch @hyper_switch end |
#interspecies_mate_rate ⇒ Object
Ratio of mating are actually interspecies
404 405 406 |
# File 'lib/rubyneat/rubyneat.rb', line 404 def interspecies_mate_rate @interspecies_mate_rate end |
#linktrait_mutation_sig ⇒ Object
Returns the value of attribute linktrait_mutation_sig.
406 407 408 |
# File 'lib/rubyneat/rubyneat.rb', line 406 def linktrait_mutation_sig @linktrait_mutation_sig end |
#mate_multipoint_avg_prob ⇒ Object
Returns the value of attribute mate_multipoint_avg_prob.
407 408 409 |
# File 'lib/rubyneat/rubyneat.rb', line 407 def mate_multipoint_avg_prob @mate_multipoint_avg_prob end |
#mate_multipoint_prob ⇒ Object
Returns the value of attribute mate_multipoint_prob.
408 409 410 |
# File 'lib/rubyneat/rubyneat.rb', line 408 def mate_multipoint_prob @mate_multipoint_prob end |
#mate_only_prob ⇒ Object
Returns the value of attribute mate_only_prob.
409 410 411 |
# File 'lib/rubyneat/rubyneat.rb', line 409 def mate_only_prob @mate_only_prob end |
#mate_singlepoint_prob ⇒ Object
Returns the value of attribute mate_singlepoint_prob.
410 411 412 |
# File 'lib/rubyneat/rubyneat.rb', line 410 def mate_singlepoint_prob @mate_singlepoint_prob end |
#max_species ⇒ Object
Max target number of species (will result in the compatability_coeifficient being adjusted automatically
395 396 397 |
# File 'lib/rubyneat/rubyneat.rb', line 395 def max_species @max_species end |
#mutate_add_gene_prob ⇒ Object
Returns the value of attribute mutate_add_gene_prob.
418 419 420 |
# File 'lib/rubyneat/rubyneat.rb', line 418 def mutate_add_gene_prob @mutate_add_gene_prob end |
#mutate_add_neuron_prob ⇒ Object
Returns the value of attribute mutate_add_neuron_prob.
419 420 421 |
# File 'lib/rubyneat/rubyneat.rb', line 419 def mutate_add_neuron_prob @mutate_add_neuron_prob end |
#mutate_change_gene_weights_prob ⇒ Object
For gene weights perturbations and changes (complete overwrites)
427 428 429 |
# File 'lib/rubyneat/rubyneat.rb', line 427 def mutate_change_gene_weights_prob @mutate_change_gene_weights_prob end |
#mutate_change_gene_weights_sd ⇒ Object
For gene weights perturbations and changes (complete overwrites)
427 428 429 |
# File 'lib/rubyneat/rubyneat.rb', line 427 def mutate_change_gene_weights_sd @mutate_change_gene_weights_sd end |
#mutate_gene_disable_prob ⇒ Object
Returns the value of attribute mutate_gene_disable_prob.
421 422 423 |
# File 'lib/rubyneat/rubyneat.rb', line 421 def mutate_gene_disable_prob @mutate_gene_disable_prob end |
#mutate_gene_reenable_prob ⇒ Object
Returns the value of attribute mutate_gene_reenable_prob.
422 423 424 |
# File 'lib/rubyneat/rubyneat.rb', line 422 def mutate_gene_reenable_prob @mutate_gene_reenable_prob end |
#mutate_gene_trait_prob ⇒ Object
Returns the value of attribute mutate_gene_trait_prob.
424 425 426 |
# File 'lib/rubyneat/rubyneat.rb', line 424 def mutate_gene_trait_prob @mutate_gene_trait_prob end |
#mutate_neuron_trait_prob ⇒ Object
Returns the value of attribute mutate_neuron_trait_prob.
432 433 434 |
# File 'lib/rubyneat/rubyneat.rb', line 432 def mutate_neuron_trait_prob @mutate_neuron_trait_prob end |
#mutate_only_prob ⇒ Object
Returns the value of attribute mutate_only_prob.
433 434 435 |
# File 'lib/rubyneat/rubyneat.rb', line 433 def mutate_only_prob @mutate_only_prob end |
#mutate_perturb_gene_weights_prob ⇒ Object
For gene weights perturbations and changes (complete overwrites)
427 428 429 |
# File 'lib/rubyneat/rubyneat.rb', line 427 def mutate_perturb_gene_weights_prob @mutate_perturb_gene_weights_prob end |
#mutate_perturb_gene_weights_sd ⇒ Object
For gene weights perturbations and changes (complete overwrites)
427 428 429 |
# File 'lib/rubyneat/rubyneat.rb', line 427 def mutate_perturb_gene_weights_sd @mutate_perturb_gene_weights_sd end |
#mutate_random_trait_prob ⇒ Object
Returns the value of attribute mutate_random_trait_prob.
434 435 436 |
# File 'lib/rubyneat/rubyneat.rb', line 434 def mutate_random_trait_prob @mutate_random_trait_prob end |
#mutate_toggle_enable_prob ⇒ Object
Returns the value of attribute mutate_toggle_enable_prob.
435 436 437 |
# File 'lib/rubyneat/rubyneat.rb', line 435 def mutate_toggle_enable_prob @mutate_toggle_enable_prob end |
#mutdiff_coefficient ⇒ Object
Returns the value of attribute mutdiff_coefficient.
436 437 438 |
# File 'lib/rubyneat/rubyneat.rb', line 436 def mutdiff_coefficient @mutdiff_coefficient end |
#neuron_trait_mut_sig ⇒ Object
Returns the value of attribute neuron_trait_mut_sig.
438 439 440 |
# File 'lib/rubyneat/rubyneat.rb', line 438 def neuron_trait_mut_sig @neuron_trait_mut_sig end |
#newlink_tries ⇒ Object
Returns the value of attribute newlink_tries.
437 438 439 |
# File 'lib/rubyneat/rubyneat.rb', line 437 def newlink_tries @newlink_tries end |
#population_size ⇒ Object
If set, will start off at the specified size and grow to the bigger population size
448 449 450 |
# File 'lib/rubyneat/rubyneat.rb', line 448 def population_size @population_size end |
#print_every ⇒ Object
Returns the value of attribute print_every.
453 454 455 |
# File 'lib/rubyneat/rubyneat.rb', line 453 def print_every @print_every end |
#real_time_switch ⇒ Object
Enable RT-NEAT, for gradual evolution suitable for games and other human-interactive systems.
480 481 482 |
# File 'lib/rubyneat/rubyneat.rb', line 480 def real_time_switch @real_time_switch end |
#recur_only_prob ⇒ Object
Returns the value of attribute recur_only_prob.
454 455 456 |
# File 'lib/rubyneat/rubyneat.rb', line 454 def recur_only_prob @recur_only_prob end |
#recur_prob ⇒ Object
Returns the value of attribute recur_prob.
455 456 457 |
# File 'lib/rubyneat/rubyneat.rb', line 455 def recur_prob @recur_prob end |
#recurrency_switch ⇒ Object
If true, allow for recurrent networks.
483 484 485 |
# File 'lib/rubyneat/rubyneat.rb', line 483 def recurrency_switch @recurrency_switch end |
#smallest_species ⇒ Object
Species smallest population allowed (coalse smaller species into one)
401 402 403 |
# File 'lib/rubyneat/rubyneat.rb', line 401 def smallest_species @smallest_species end |
#start_population_size ⇒ Object
If set, will start off at the specified size and grow to the bigger population size
448 449 450 |
# File 'lib/rubyneat/rubyneat.rb', line 448 def start_population_size @start_population_size end |
#survival_mininum_per_species ⇒ Object
Returns the value of attribute survival_mininum_per_species.
460 461 462 |
# File 'lib/rubyneat/rubyneat.rb', line 460 def survival_mininum_per_species @survival_mininum_per_species end |
#survival_threshold ⇒ Object
factor (0 to 1) of the top percentage of the species that’s allowed to mate.
459 460 461 |
# File 'lib/rubyneat/rubyneat.rb', line 459 def survival_threshold @survival_threshold end |
#trait_mutation_power ⇒ Object
Returns the value of attribute trait_mutation_power.
462 463 464 |
# File 'lib/rubyneat/rubyneat.rb', line 462 def trait_mutation_power @trait_mutation_power end |
#trait_param_mut_prob ⇒ Object
Returns the value of attribute trait_param_mut_prob.
463 464 465 |
# File 'lib/rubyneat/rubyneat.rb', line 463 def trait_param_mut_prob @trait_param_mut_prob end |
#weigh_mut_power ⇒ Object
Returns the value of attribute weigh_mut_power.
464 465 466 |
# File 'lib/rubyneat/rubyneat.rb', line 464 def weigh_mut_power @weigh_mut_power end |
#weight_coefficient ⇒ Object
Speciation coffficient
391 392 393 |
# File 'lib/rubyneat/rubyneat.rb', line 391 def weight_coefficient @weight_coefficient end |