Skip to content

PureRandomSearchConfigsGenAlg

Samuel Gomes edited this page Jul 12, 2024 · 4 revisions

PureRandomSearchConfigsGenAlg

This class is a child of ConfigsGenAlg. It contains a group formation procedure inspired by the Pure Random Search algorithm (see this paper for more information about Pure Random Search). The algorithm generates and tests the quality of num_config_choices different random configurations, and selects the best one.

For each group in each configuration, the search considers the strong heuristic that the optimal profile for each group can be achieved by averaging the profiles of the players in that group. This may not be the case when players have different learning rates or some preferences combine well with different preferences, which may easily lead the algorithm to compute a suboptimal group configuration. A PreferencesEstAlg is used to estimate all players' preferences before averaging them.

This algorithm is an adequate initial approach to use, as it provides a simple yet efficient method to generate an adapted group configuration. Indeed, the approach is purely exploratory, with minimal data stored among iterations.

Constructor and Members

Constructor

PureRandomSearchConfigsGenAlg(player_model_bridge: PlayerModelBridge,
        interactions_profile_template: InteractionsProfile,
        quality_eval_alg: QualityEvalAlg,
        pref_est_alg: PreferencesEstAlg,
        num_config_choices: int = 100,
        preferred_num_players_per_group: int = None,
        min_num_players_per_group: int = 2,
        max_num_players_per_group: int = 5,
        joint_player_constraints: string = "",
        separated_player_constraints: string = ""): void

Members

Name: expected type Default value Description
__quality_eval_alg: QualityEvalAlg - The algorithm to be used for evaluating the quality of a group configuration.
__pref_est_alg: PreferencesEstAlg - The algorithm used to build players' personality estimates
__num_config_choices: int 100 The number of configurations to generate, from where to choose the best one.

Functions

Overrides organize() (see ConfigsGenAlg).

Clone this wiki locally