chipiron.players.move_selector.treevalue.recommender_rule package
Submodules
chipiron.players.move_selector.treevalue.recommender_rule.recommender_rule module
This module defines recommender rules for selecting moves in a tree-based move selector.
The recommender rules are implemented as data classes that define a __call__ method. The __call__ method takes a MoveAndValueTree object and a random generator, and returns a recommended chess move.
The available recommender rule types are defined in the RecommenderRuleTypes enum.
The module also defines a RecommenderRule protocol that all recommender rule classes must implement.
- Example usage:
rule = AlmostEqualLogistic(type=RecommenderRuleTypes.AlmostEqualLogistic, temperature=0.5) move = rule(tree, random_generator)
- class chipiron.players.move_selector.treevalue.recommender_rule.recommender_rule.AlmostEqualLogistic(type: ~typing.Literal[<RecommenderRuleTypes.AlmostEqualLogistic: 'almost_equal_logistic'>], temperature: float)[source]
Bases:
objectRecommender rule that selects the best move allowing for random choice for almost equally valued moves.
- temperature: float
- type: AlmostEqualLogistic: 'almost_equal_logistic'>]
- class chipiron.players.move_selector.treevalue.recommender_rule.recommender_rule.RecommenderRule(*args, **kwargs)[source]
Bases:
ProtocolProtocol that all recommender rule classes must implement.
- type: RecommenderRuleTypes
- class chipiron.players.move_selector.treevalue.recommender_rule.recommender_rule.RecommenderRuleTypes(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
str,EnumEnum class that defines the available recommender rule types.
- AlmostEqualLogistic = 'almost_equal_logistic'
- Softmax = 'softmax'
- class chipiron.players.move_selector.treevalue.recommender_rule.recommender_rule.SoftmaxRule(type: ~typing.Literal[<RecommenderRuleTypes.Softmax: 'softmax'>], temperature: float)[source]
Bases:
objectRecommender rule that selects the best move using the softmax function.
- temperature: float
- type: Softmax: 'softmax'>]
- chipiron.players.move_selector.treevalue.recommender_rule.recommender_rule.recommend_move_after_exploration_generic(recommend_move_after_exploration: AlmostEqualLogistic | SoftmaxRule, tree: MoveAndValueTree, random_generator: Random) int[source]
Recommends a move after exploration based on a generic rule.
- Parameters:
recommend_move_after_exploration (AllRecommendFunctionsArgs) – The recommend_move_after_exploration function.
tree (trees.MoveAndValueTree) – The move and value tree.
random_generator (random.Random) – The random number generator.
- Returns:
The recommended move.
- Return type:
chess.Move
Module contents
This module provides classes for defining recommender rules.
Classes: - RecommenderRule: Represents a recommender rule. - AllRecommendFunctionsArgs: Represents the arguments for all recommend functions.
- class chipiron.players.move_selector.treevalue.recommender_rule.RecommenderRule(*args, **kwargs)[source]
Bases:
ProtocolProtocol that all recommender rule classes must implement.
- type: RecommenderRuleTypes