The AHA Model
Revision: 12809
Reference implementation 04 (HEDG02_04)
|
Definition of the population object. More...
Public Member Functions | |
procedure, public | init => init_population_random |
Initialise the population object. See the_population::init_population_random() . More... | |
procedure, public | mortality_birth => population_birth_mortality_init |
Impose selective mortality at birth of the agents. See the_population::population_birth_mortality_init() . More... | |
procedure, public | destroy => population_destroy_deallocate_objects |
Destroys this population and deallocates the array of individual member objects. See the_population::population_destroy_deallocate_objects() . More... | |
procedure, public | get_size => population_get_popsize |
Get the size of this population. See the_population::population_get_popsize() . More... | |
procedure, public | get_num_id => population_get_pop_number |
Get the population number ID. See the_population::population_get_pop_number() . More... | |
procedure, public | get_name => population_get_pop_name |
Get the population character label ID. See the_population::population_get_pop_name() . More... | |
procedure, public | reset_id => reset_population_id_random |
Reset individual IDs of the population members. See the_population::reset_population_id_random() . More... | |
procedure, public | sex => sex_initialise_from_genome |
Determine the sex for each member of the population. See the_population::sex_initialise_from_genome() . More... | |
procedure, public | scatter_uniform => position_individuals_uniform |
Position each member of the population randomly within a bounding environment with the uniform distribution. See the_population::position_individuals_uniform() . More... | |
procedure, public | rwalk3d => population_rwalk3d_all_agents_step |
Perform a single step of random walk by all agents, in 3D. See the_population::population_rwalk3d_all_agents_step() . More... | |
procedure, public | rwalk25d => population_rwalk25d_all_agents_step |
Perform a single step of random walk by all agents, in 2.5D. See the_population::population_rwalk25d_all_agents_step() . More... | |
procedure, public | sort_by_fitness => sort_population_by_fitness |
This subroutine sorts the population individual object by their %fitness components. See the_population::sort_population_by_fitness() . More... | |
procedure, public | save_csv => population_save_data_all_agents_csv |
Save data for all agents within the population into a csv file. See the_population::population_save_data_all_agents_csv() . More... | |
procedure, public | save_genomes_csv => population_save_data_all_genomes |
Save the genome data of all agents in this population to a CSV file. See the_population::population_save_data_all_genomes() . More... | |
procedure, public | load_genomes_csv => population_load_data_all_genomes |
Load agent genome data in this population from a CSV file. See the_population::population_load_data_all_genomes() . More... | |
procedure, public | save_memory_csv => population_save_data_memory |
Save the perceptual and emotional memory stack data of all agents in this population to a CSV file. See the_population::population_save_data_memory() . More... | |
procedure, public | save_movements_csv => population_save_data_movements |
Save the latest movement history of all agents. See the_population::population_save_data_movements() . More... | |
procedure, public | save_behaviour_csv => population_save_data_behaviours |
Save the behaviours history the_neurobio::behaviour::history_behave for all agents. See the_population::population_save_data_behaviours() . More... | |
procedure, public | attacked => population_subject_predator_attack |
Subject the population to an attack by a specific predator. See the_population::population_subject_predator_attack() . More... | |
procedure, public | mortality_habitat => population_subject_other_risks |
Subject the population to mortality caused by habitat-specific mortality risk. Each agent is affected by the risk associated with the habitat it is currently in. See the_population::population_subject_other_risks() . More... | |
procedure, public | mortality_individ => population_subject_individual_risk_mortality |
Subject all members of this population to their individual mortality risks. See the_population::population_subject_individual_risk_mortality() . More... | |
procedure, public | fitness_calc => population_preevol_fitness_calc |
Calculate fitness for the pre-evolution phase of the genetic algorithm. Pre-evolution is based on selection for a simple criterion without explicit reproduction etc. The criterion for selection at this phase is set by the integer the_individual::individual_agent::fitness component. This procedure provides a whole-population wrapper for the the_individual::fitness_calc() function. See the_population::population_preevol_fitness_calc() . More... | |
procedure, public | ga_reproduce_max => population_ga_reproduce_max |
Determine the number of parents that have fitness higher than the minimum acceptable value. See the_population::population_ga_reproduce_max() . More... | |
procedure, public | ga_mutat_adaptive => population_ga_mutation_rate_adaptive |
This function implements adaptive mutation rate that increases as the population size reduces. See the_population::population_ga_mutation_rate_adaptive() . More... | |
procedure, public | lifecycle_step => population_lifecycle_step_preevol |
Perform a single step of the life cycle of the population. See the_population::population_lifecycle_step_preevol() . More... | |
procedure, public | lifecycle_eatonly => population_lifecycle_step_eatonly_preevol |
Perform a single step of the life cycle of the population. This version includes only optimal food selection and eating without the full fledged behaviour selection cascade of procedures ::do_behave(). See the_population::population_lifecycle_step_eatonly_preevol() . More... | |
Public Attributes | |
integer | population_size |
The size of the population. More... | |
type(member_population), dimension(:), allocatable | individual |
POPULATION is represented by an array of objects of the type MEMBER_POPULATION More... | |
integer | pop_number |
The numeric ID of the population (if we have several populations)) More... | |
character(len=label_length) | pop_name |
The descriptive name of the population. More... | |
Definition of the population object.
This is basically an array of individuals (of the type MEMBER_POPULATION
) plus population or generation descriptors.
Definition at line 58 of file m_popul.f90.
procedure, public the_population::population::init |
Initialise the population object. See the_population::init_population_random()
.
Definition at line 77 of file m_popul.f90.
procedure, public the_population::population::mortality_birth |
Impose selective mortality at birth of the agents. See the_population::population_birth_mortality_init()
.
Definition at line 80 of file m_popul.f90.
procedure, public the_population::population::destroy |
Destroys this population and deallocates the array of individual member objects. See the_population::population_destroy_deallocate_objects()
.
Definition at line 84 of file m_popul.f90.
procedure, public the_population::population::get_size |
Get the size of this population. See the_population::population_get_popsize()
.
Definition at line 87 of file m_popul.f90.
procedure, public the_population::population::get_num_id |
Get the population number ID. See the_population::population_get_pop_number()
.
Definition at line 90 of file m_popul.f90.
procedure, public the_population::population::get_name |
Get the population character label ID. See the_population::population_get_pop_name()
.
Definition at line 93 of file m_popul.f90.
procedure, public the_population::population::reset_id |
Reset individual IDs of the population members. See the_population::reset_population_id_random()
.
Definition at line 96 of file m_popul.f90.
procedure, public the_population::population::sex |
Determine the sex for each member of the population. See the_population::sex_initialise_from_genome()
.
Definition at line 99 of file m_popul.f90.
procedure, public the_population::population::scatter_uniform |
Position each member of the population randomly within a bounding environment with the uniform distribution. See the_population::position_individuals_uniform()
.
Definition at line 103 of file m_popul.f90.
procedure, public the_population::population::rwalk3d |
Perform a single step of random walk by all agents, in 3D. See the_population::population_rwalk3d_all_agents_step()
.
Definition at line 106 of file m_popul.f90.
procedure, public the_population::population::rwalk25d |
Perform a single step of random walk by all agents, in 2.5D. See the_population::population_rwalk25d_all_agents_step()
.
Definition at line 109 of file m_popul.f90.
procedure, public the_population::population::sort_by_fitness |
This subroutine sorts the population individual
object by their %fitness components. See the_population::sort_population_by_fitness()
.
Definition at line 113 of file m_popul.f90.
procedure, public the_population::population::save_csv |
Save data for all agents within the population into a csv file. See the_population::population_save_data_all_agents_csv()
.
Definition at line 116 of file m_popul.f90.
procedure, public the_population::population::save_genomes_csv |
Save the genome data of all agents in this population to a CSV file. See the_population::population_save_data_all_genomes()
.
Definition at line 119 of file m_popul.f90.
procedure, public the_population::population::load_genomes_csv |
Load agent genome data in this population from a CSV file. See the_population::population_load_data_all_genomes()
.
Definition at line 122 of file m_popul.f90.
procedure, public the_population::population::save_memory_csv |
Save the perceptual and emotional memory stack data of all agents in this population to a CSV file. See the_population::population_save_data_memory()
.
Definition at line 126 of file m_popul.f90.
procedure, public the_population::population::save_movements_csv |
Save the latest movement history of all agents. See the_population::population_save_data_movements()
.
Definition at line 129 of file m_popul.f90.
procedure, public the_population::population::save_behaviour_csv |
Save the behaviours history the_neurobio::behaviour::history_behave for all agents. See the_population::population_save_data_behaviours()
.
Definition at line 133 of file m_popul.f90.
procedure, public the_population::population::attacked |
Subject the population to an attack by a specific predator. See the_population::population_subject_predator_attack()
.
Definition at line 136 of file m_popul.f90.
procedure, public the_population::population::mortality_habitat |
Subject the population to mortality caused by habitat-specific mortality risk. Each agent is affected by the risk associated with the habitat it is currently in. See the_population::population_subject_other_risks()
.
Definition at line 141 of file m_popul.f90.
procedure, public the_population::population::mortality_individ |
Subject all members of this population to their individual mortality risks. See the_population::population_subject_individual_risk_mortality()
.
Definition at line 145 of file m_popul.f90.
procedure, public the_population::population::fitness_calc |
Calculate fitness for the pre-evolution phase of the genetic algorithm. Pre-evolution is based on selection for a simple criterion without explicit reproduction etc. The criterion for selection at this phase is set by the integer the_individual::individual_agent::fitness component. This procedure provides a whole-population wrapper for the the_individual::fitness_calc() function. See the_population::population_preevol_fitness_calc()
.
Definition at line 154 of file m_popul.f90.
procedure, public the_population::population::ga_reproduce_max |
Determine the number of parents that have fitness higher than the minimum acceptable value. See the_population::population_ga_reproduce_max()
.
Definition at line 158 of file m_popul.f90.
procedure, public the_population::population::ga_mutat_adaptive |
This function implements adaptive mutation rate that increases as the population size reduces. See the_population::population_ga_mutation_rate_adaptive()
.
Definition at line 162 of file m_popul.f90.
procedure, public the_population::population::lifecycle_step |
Perform a single step of the life cycle of the population. See the_population::population_lifecycle_step_preevol()
.
Definition at line 166 of file m_popul.f90.
procedure, public the_population::population::lifecycle_eatonly |
Perform a single step of the life cycle of the population. This version includes only optimal food selection and eating without the full fledged behaviour selection cascade of procedures ::do_behave(). See the_population::population_lifecycle_step_eatonly_preevol()
.
Definition at line 172 of file m_popul.f90.
integer the_population::population::population_size |
The size of the population.
Definition at line 60 of file m_popul.f90.
type(member_population), dimension(:), allocatable the_population::population::individual |
POPULATION
is represented by an array of objects of the type MEMBER_POPULATION
POPULATION
is an array of objects of the type MEMBER_POPULATION
. It is represented as the %individual component of the type. The i
-th individual of the population this
is accessed as thisindividual(i)
. the population also has two descriptors: integer pop_number
and string pop_name
.
Definition at line 68 of file m_popul.f90.
integer the_population::population::pop_number |
The numeric ID of the population (if we have several populations))
Definition at line 70 of file m_popul.f90.
character (len=label_length) the_population::population::pop_name |
The descriptive name of the population.
Definition at line 72 of file m_popul.f90.