Skip to content

PureRandomSearchConfigsGenAlg

Samuel Gomes edited this page Jul 2, 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 numberOfConfigChoices 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 PersonalityEstAlg 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 Attributes

Constructor

+ PureRandomSearchConfigsGenAlg(playerModelBridge: PlayerModelBridge,
        interactionsProfileTemplate: InteractionsProfile,
        qualityEvalAlg: QualityEvalAlg,
        persEstAlg: PersonalityEstAlg,
        numberOfConfigChoices: int
        preferredNumberOfPlayersPerGroup: int = None,
        minNumberOfPlayersPerGroup: int = 2,
        maxNumberOfPlayersPerGroup: int = 5,
        jointPlayerConstraints: string = "",
        separatedPlayerConstraints: string = "")

Attributes

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

Methods

Overrides organize() (see ConfigsGenAlg).

Clone this wiki locally