Class convergence_metrics
Defined in File convergence_metrics.hpp
Inheritance Relationships
Base Type
public rmetrics::base_metrics
Derived Type
public cosm::convergence::convergence_calculator
(Class convergence_calculator)
Class Documentation
-
class convergence_metrics : public virtual rmetrics::base_metrics
Defines the metrics to be collected at the ensemble level in order to calculate the swarm’s convergence in various ways. Measures adapted from:
Szabo2014 (robot interaction degree)
Turgut2008 (angular order, velocity)
Turgut2008/Balch2000 (positional entropy)
Metrics are collected every timestep.
Subclassed by cosm::convergence::convergence_calculator
Public Types
-
using conv_status_t = std::tuple<double, double, bool>
Status returned by each convergence measure. Positions:
0 - Raw value of convergence measure, for sanity checks. 1 - Normalized value of convergence measure. 2 - Does the measure currently indicate convergence?
Public Functions
-
convergence_metrics(void) = default
-
virtual conv_status_t swarm_angular_order(void) const = 0
Return the conv_status_t for the angular order of the swarm. See angular_order for the calculation/input variables.
-
virtual double swarm_conv_epsilon(void) const = 0
Return the current convergence epsilon (threshold) for the swarm (can be static or vary in time). Captured here to make graph generation much easier in SIERRA.
-
virtual conv_status_t swarm_interactivity(void) const = 0
Return the conv_status_t for the interaction degree of the swarm. See interactivity for the calculation/input variables.
-
virtual conv_status_t swarm_positional_entropy(void) const = 0
Return the conv_status_t for the positional entropy of the swarm. See positional_entropy for the calculation/input variables.
-
virtual conv_status_t swarm_task_dist_entropy(void) const = 0
Return the conv_status_t for the task distribution entropy of the swarm. See task_dist_entropy for the calculation/input variables.
-
virtual conv_status_t swarm_velocity(void) const = 0
Return the conv_status_t for the velocity of the swarm. See velocity for the calculation/input variables.