The AHA Model  Revision: 12809
Reference implementation 04 (HEDG02_04)
the_population::population Type Reference

Definition of the population object. More...

Collaboration diagram for the_population::population:

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...
 

Detailed Description

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.

Member Function/Subroutine Documentation

◆ init()

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.

◆ mortality_birth()

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.

◆ destroy()

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.

◆ get_size()

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.

◆ get_num_id()

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.

◆ get_name()

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.

◆ reset_id()

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.

◆ sex()

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.

◆ scatter_uniform()

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.

◆ rwalk3d()

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.

◆ rwalk25d()

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.

◆ sort_by_fitness()

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.

◆ save_csv()

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.

◆ save_genomes_csv()

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.

◆ load_genomes_csv()

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.

◆ save_memory_csv()

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.

◆ save_movements_csv()

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.

◆ save_behaviour_csv()

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.

◆ attacked()

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.

◆ mortality_habitat()

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.

◆ mortality_individ()

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.

◆ fitness_calc()

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.

◆ ga_reproduce_max()

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.

◆ ga_mutat_adaptive()

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.

◆ lifecycle_step()

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.

◆ lifecycle_eatonly()

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.

Member Data Documentation

◆ population_size

integer the_population::population::population_size

The size of the population.

Definition at line 60 of file m_popul.f90.

◆ individual

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.

◆ pop_number

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.

◆ pop_name

character (len=label_length) the_population::population::pop_name

The descriptive name of the population.

Definition at line 72 of file m_popul.f90.


The documentation for this type was generated from the following file: