![]() |
The AHA Model
Revision: 17463
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.