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
382 383 384 |
# File 'lib/rubyneat/rubyneat.rb', line 382 def age_significance @age_significance end |
#babies_stolen ⇒ Object
Returns the value of attribute babies_stolen.
383 384 385 |
# File 'lib/rubyneat/rubyneat.rb', line 383 def babies_stolen @babies_stolen end |
#compatibility_threshold ⇒ Object
Species compatability threshold
386 387 388 |
# File 'lib/rubyneat/rubyneat.rb', line 386 def compatibility_threshold @compatibility_threshold end |
#disjoint_coefficient ⇒ Object
Speciation coffficient
389 390 391 |
# File 'lib/rubyneat/rubyneat.rb', line 389 def disjoint_coefficient @disjoint_coefficient end |
#dropoff_age ⇒ Object
Species Peality age for not making progress
396 397 398 |
# File 'lib/rubyneat/rubyneat.rb', line 396 def dropoff_age @dropoff_age end |
#evolved_substrate_switch ⇒ Object
Enable Evolved Substrate HyperNEAT. Meaningless unless hyper_switch is also enabled.
474 475 476 |
# File 'lib/rubyneat/rubyneat.rb', line 474 def evolved_substrate_switch @evolved_substrate_switch end |
#excess_coefficient ⇒ Object
Speciation coffficient
389 390 391 |
# File 'lib/rubyneat/rubyneat.rb', line 389 def excess_coefficient @excess_coefficient end |
#feature_selection_switch ⇒ Object
Enable FS-NEAT
465 466 467 |
# File 'lib/rubyneat/rubyneat.rb', line 465 def feature_selection_switch @feature_selection_switch end |
#fitness_cost_per_gene ⇒ Object
Returns the value of attribute fitness_cost_per_gene.
442 443 444 |
# File 'lib/rubyneat/rubyneat.rb', line 442 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.
441 442 443 |
# File 'lib/rubyneat/rubyneat.rb', line 441 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)
379 380 381 |
# File 'lib/rubyneat/rubyneat.rb', line 379 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.
470 471 472 |
# File 'lib/rubyneat/rubyneat.rb', line 470 def hyper_switch @hyper_switch end |
#interspecies_mate_rate ⇒ Object
Ratio of mating are actually interspecies
402 403 404 |
# File 'lib/rubyneat/rubyneat.rb', line 402 def interspecies_mate_rate @interspecies_mate_rate end |
#linktrait_mutation_sig ⇒ Object
Returns the value of attribute linktrait_mutation_sig.
404 405 406 |
# File 'lib/rubyneat/rubyneat.rb', line 404 def linktrait_mutation_sig @linktrait_mutation_sig end |
#mate_multipoint_avg_prob ⇒ Object
Returns the value of attribute mate_multipoint_avg_prob.
405 406 407 |
# File 'lib/rubyneat/rubyneat.rb', line 405 def mate_multipoint_avg_prob @mate_multipoint_avg_prob end |
#mate_multipoint_prob ⇒ Object
Returns the value of attribute mate_multipoint_prob.
406 407 408 |
# File 'lib/rubyneat/rubyneat.rb', line 406 def mate_multipoint_prob @mate_multipoint_prob end |
#mate_only_prob ⇒ Object
Returns the value of attribute mate_only_prob.
407 408 409 |
# File 'lib/rubyneat/rubyneat.rb', line 407 def mate_only_prob @mate_only_prob end |
#mate_singlepoint_prob ⇒ Object
Returns the value of attribute mate_singlepoint_prob.
408 409 410 |
# File 'lib/rubyneat/rubyneat.rb', line 408 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
393 394 395 |
# File 'lib/rubyneat/rubyneat.rb', line 393 def max_species @max_species end |
#mutate_add_gene_prob ⇒ Object
Returns the value of attribute mutate_add_gene_prob.
416 417 418 |
# File 'lib/rubyneat/rubyneat.rb', line 416 def mutate_add_gene_prob @mutate_add_gene_prob end |
#mutate_add_neuron_prob ⇒ Object
Returns the value of attribute mutate_add_neuron_prob.
417 418 419 |
# File 'lib/rubyneat/rubyneat.rb', line 417 def mutate_add_neuron_prob @mutate_add_neuron_prob end |
#mutate_change_gene_weights_prob ⇒ Object
For gene weights perturbations and changes (complete overwrites)
425 426 427 |
# File 'lib/rubyneat/rubyneat.rb', line 425 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)
425 426 427 |
# File 'lib/rubyneat/rubyneat.rb', line 425 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.
419 420 421 |
# File 'lib/rubyneat/rubyneat.rb', line 419 def mutate_gene_disable_prob @mutate_gene_disable_prob end |
#mutate_gene_reenable_prob ⇒ Object
Returns the value of attribute mutate_gene_reenable_prob.
420 421 422 |
# File 'lib/rubyneat/rubyneat.rb', line 420 def mutate_gene_reenable_prob @mutate_gene_reenable_prob end |
#mutate_gene_trait_prob ⇒ Object
Returns the value of attribute mutate_gene_trait_prob.
422 423 424 |
# File 'lib/rubyneat/rubyneat.rb', line 422 def mutate_gene_trait_prob @mutate_gene_trait_prob end |
#mutate_neuron_trait_prob ⇒ Object
Returns the value of attribute mutate_neuron_trait_prob.
430 431 432 |
# File 'lib/rubyneat/rubyneat.rb', line 430 def mutate_neuron_trait_prob @mutate_neuron_trait_prob end |
#mutate_only_prob ⇒ Object
Returns the value of attribute mutate_only_prob.
431 432 433 |
# File 'lib/rubyneat/rubyneat.rb', line 431 def mutate_only_prob @mutate_only_prob end |
#mutate_perturb_gene_weights_prob ⇒ Object
For gene weights perturbations and changes (complete overwrites)
425 426 427 |
# File 'lib/rubyneat/rubyneat.rb', line 425 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)
425 426 427 |
# File 'lib/rubyneat/rubyneat.rb', line 425 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.
432 433 434 |
# File 'lib/rubyneat/rubyneat.rb', line 432 def mutate_random_trait_prob @mutate_random_trait_prob end |
#mutate_toggle_enable_prob ⇒ Object
Returns the value of attribute mutate_toggle_enable_prob.
433 434 435 |
# File 'lib/rubyneat/rubyneat.rb', line 433 def mutate_toggle_enable_prob @mutate_toggle_enable_prob end |
#mutdiff_coefficient ⇒ Object
Returns the value of attribute mutdiff_coefficient.
434 435 436 |
# File 'lib/rubyneat/rubyneat.rb', line 434 def mutdiff_coefficient @mutdiff_coefficient end |
#neuron_trait_mut_sig ⇒ Object
Returns the value of attribute neuron_trait_mut_sig.
436 437 438 |
# File 'lib/rubyneat/rubyneat.rb', line 436 def neuron_trait_mut_sig @neuron_trait_mut_sig end |
#newlink_tries ⇒ Object
Returns the value of attribute newlink_tries.
435 436 437 |
# File 'lib/rubyneat/rubyneat.rb', line 435 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
446 447 448 |
# File 'lib/rubyneat/rubyneat.rb', line 446 def population_size @population_size end |
#print_every ⇒ Object
Returns the value of attribute print_every.
451 452 453 |
# File 'lib/rubyneat/rubyneat.rb', line 451 def print_every @print_every end |
#real_time_switch ⇒ Object
Enable RT-NEAT, for gradual evolution suitable for games and other human-interactive systems.
478 479 480 |
# File 'lib/rubyneat/rubyneat.rb', line 478 def real_time_switch @real_time_switch end |
#recur_only_prob ⇒ Object
Returns the value of attribute recur_only_prob.
452 453 454 |
# File 'lib/rubyneat/rubyneat.rb', line 452 def recur_only_prob @recur_only_prob end |
#recur_prob ⇒ Object
Returns the value of attribute recur_prob.
453 454 455 |
# File 'lib/rubyneat/rubyneat.rb', line 453 def recur_prob @recur_prob end |
#recurrency_switch ⇒ Object
If true, allow for recurrent networks.
481 482 483 |
# File 'lib/rubyneat/rubyneat.rb', line 481 def recurrency_switch @recurrency_switch end |
#smallest_species ⇒ Object
Species smallest population allowed (coalse smaller species into one)
399 400 401 |
# File 'lib/rubyneat/rubyneat.rb', line 399 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
446 447 448 |
# File 'lib/rubyneat/rubyneat.rb', line 446 def start_population_size @start_population_size end |
#survival_mininum_per_species ⇒ Object
Returns the value of attribute survival_mininum_per_species.
458 459 460 |
# File 'lib/rubyneat/rubyneat.rb', line 458 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.
457 458 459 |
# File 'lib/rubyneat/rubyneat.rb', line 457 def survival_threshold @survival_threshold end |
#trait_mutation_power ⇒ Object
Returns the value of attribute trait_mutation_power.
460 461 462 |
# File 'lib/rubyneat/rubyneat.rb', line 460 def trait_mutation_power @trait_mutation_power end |
#trait_param_mut_prob ⇒ Object
Returns the value of attribute trait_param_mut_prob.
461 462 463 |
# File 'lib/rubyneat/rubyneat.rb', line 461 def trait_param_mut_prob @trait_param_mut_prob end |
#weigh_mut_power ⇒ Object
Returns the value of attribute weigh_mut_power.
462 463 464 |
# File 'lib/rubyneat/rubyneat.rb', line 462 def weigh_mut_power @weigh_mut_power end |
#weight_coefficient ⇒ Object
Speciation coffficient
389 390 391 |
# File 'lib/rubyneat/rubyneat.rb', line 389 def weight_coefficient @weight_coefficient end |