chipiron.players.move_selector.treevalue package
Subpackages
- chipiron.players.move_selector.treevalue.indices package
- chipiron.players.move_selector.treevalue.node_evaluator package
- Subpackages
- Submodules
- chipiron.players.move_selector.treevalue.node_evaluator.all_node_evaluators module
- chipiron.players.move_selector.treevalue.node_evaluator.factory module
- chipiron.players.move_selector.treevalue.node_evaluator.node_evaluator module
EvaluationQueriesNodeEvaluatorNodeEvaluator.add_evaluation_query()NodeEvaluator.board_evaluatorNodeEvaluator.check_obvious_over_events()NodeEvaluator.evaluate_all_not_over()NodeEvaluator.evaluate_all_queried_nodes()NodeEvaluator.evaluate_over()NodeEvaluator.process_evalution_not_over()NodeEvaluator.syzygy_evaluatorNodeEvaluator.syzygy_value_white()NodeEvaluator.value_white()NodeEvaluator.value_white_from_over_event()
NodeEvaluatorTypes
- chipiron.players.move_selector.treevalue.node_evaluator.node_evaluator_args module
- Module contents
EvaluationQueriesNodeEvaluatorNodeEvaluator.add_evaluation_query()NodeEvaluator.board_evaluatorNodeEvaluator.check_obvious_over_events()NodeEvaluator.evaluate_all_not_over()NodeEvaluator.evaluate_all_queried_nodes()NodeEvaluator.evaluate_over()NodeEvaluator.process_evalution_not_over()NodeEvaluator.syzygy_evaluatorNodeEvaluator.syzygy_value_white()NodeEvaluator.value_white()NodeEvaluator.value_white_from_over_event()
NodeEvaluatorArgscreate_node_evaluator()
- chipiron.players.move_selector.treevalue.node_factory package
- Submodules
- chipiron.players.move_selector.treevalue.node_factory.algorithm_node_factory module
- chipiron.players.move_selector.treevalue.node_factory.base module
- chipiron.players.move_selector.treevalue.node_factory.factory module
- chipiron.players.move_selector.treevalue.node_factory.node_factory module
- Module contents
- chipiron.players.move_selector.treevalue.node_selector package
- Subpackages
- Submodules
- chipiron.players.move_selector.treevalue.node_selector.factory module
- chipiron.players.move_selector.treevalue.node_selector.move_explorer module
- chipiron.players.move_selector.treevalue.node_selector.node_selector module
- chipiron.players.move_selector.treevalue.node_selector.node_selector_args module
- chipiron.players.move_selector.treevalue.node_selector.node_selector_types module
- chipiron.players.move_selector.treevalue.node_selector.notations_and_statics module
- chipiron.players.move_selector.treevalue.node_selector.opening_instructions module
- Module contents
- chipiron.players.move_selector.treevalue.nodes package
- Subpackages
- Submodules
- chipiron.players.move_selector.treevalue.nodes.itree_node module
- chipiron.players.move_selector.treevalue.nodes.noisy_value_tree_node module
NoisyValueTreeNodeNoisyValueTreeNode.all_legal_moves_generatedNoisyValueTreeNode.board_NoisyValueTreeNode.dot_description()NoisyValueTreeNode.half_move_NoisyValueTreeNode.id_NoisyValueTreeNode.moves_children_NoisyValueTreeNode.non_opened_legal_movesNoisyValueTreeNode.parent_nodes_NoisyValueTreeNode.player_to_move_NoisyValueTreeNode.test()
- chipiron.players.move_selector.treevalue.nodes.test_nodes module
- chipiron.players.move_selector.treevalue.nodes.tree_node module
TreeNodeTreeNode.all_legal_moves_generatedTreeNode.non_opened_legal_movesTreeNode.fast_repTreeNode.__post_init__()TreeNode.id()TreeNode.player_to_move()TreeNode.board()TreeNode.half_move()TreeNode.moves_children()TreeNode.parent_nodes()TreeNode.is_root_node()TreeNode.legal_moves()TreeNode.is_over()TreeNode.print_moves_children()TreeNode.test()TreeNode.dot_description()TreeNode.test_all_legal_moves_generated()TreeNode.get_descendants()TreeNode.add_parent()TreeNode.all_legal_moves_generatedTreeNode.boardTreeNode.board_TreeNode.dot_description()TreeNode.fast_repTreeNode.half_moveTreeNode.half_move_TreeNode.idTreeNode.id_TreeNode.is_over()TreeNode.is_root_node()TreeNode.legal_movesTreeNode.moves_childrenTreeNode.moves_children_TreeNode.non_opened_legal_movesTreeNode.parent_nodesTreeNode.parent_nodes_TreeNode.player_to_moveTreeNode.player_to_move_TreeNode.print_moves_children()TreeNode.test()TreeNode.test_all_legal_moves_generated()
- chipiron.players.move_selector.treevalue.nodes.tree_traversal module
- chipiron.players.move_selector.treevalue.nodes.utils module
- Module contents
ITreeNodeTreeNodeTreeNode.all_legal_moves_generatedTreeNode.non_opened_legal_movesTreeNode.fast_repTreeNode.__post_init__()TreeNode.id()TreeNode.player_to_move()TreeNode.board()TreeNode.half_move()TreeNode.moves_children()TreeNode.parent_nodes()TreeNode.is_root_node()TreeNode.legal_moves()TreeNode.is_over()TreeNode.print_moves_children()TreeNode.test()TreeNode.dot_description()TreeNode.test_all_legal_moves_generated()TreeNode.get_descendants()TreeNode.add_parent()TreeNode.all_legal_moves_generatedTreeNode.boardTreeNode.board_TreeNode.dot_description()TreeNode.fast_repTreeNode.half_moveTreeNode.half_move_TreeNode.idTreeNode.id_TreeNode.is_over()TreeNode.is_root_node()TreeNode.legal_movesTreeNode.moves_childrenTreeNode.moves_children_TreeNode.non_opened_legal_movesTreeNode.parent_nodesTreeNode.parent_nodes_TreeNode.player_to_moveTreeNode.player_to_move_TreeNode.print_moves_children()TreeNode.test()TreeNode.test_all_legal_moves_generated()
- chipiron.players.move_selector.treevalue.progress_monitor package
- chipiron.players.move_selector.treevalue.recommender_rule package
- chipiron.players.move_selector.treevalue.search_factory package
- chipiron.players.move_selector.treevalue.tree_manager package
- Submodules
- chipiron.players.move_selector.treevalue.tree_manager.algorithm_node_tree_manager module
AlgorithmNodeTreeManagerAlgorithmNodeTreeManager.algorithm_node_updaterAlgorithmNodeTreeManager.evaluation_queriesAlgorithmNodeTreeManager.index_managerAlgorithmNodeTreeManager.node_evaluatorAlgorithmNodeTreeManager.open_instructions()AlgorithmNodeTreeManager.open_node_move()AlgorithmNodeTreeManager.print_best_line()AlgorithmNodeTreeManager.print_some_stats()AlgorithmNodeTreeManager.test_count()AlgorithmNodeTreeManager.test_the_tree()AlgorithmNodeTreeManager.tree_managerAlgorithmNodeTreeManager.update_backward()AlgorithmNodeTreeManager.update_indices()AlgorithmNodeTreeManager.update_node()
- chipiron.players.move_selector.treevalue.tree_manager.factory module
- chipiron.players.move_selector.treevalue.tree_manager.tree_expander module
- chipiron.players.move_selector.treevalue.tree_manager.tree_manager module
- Module contents
AlgorithmNodeTreeManagerAlgorithmNodeTreeManager.algorithm_node_updaterAlgorithmNodeTreeManager.evaluation_queriesAlgorithmNodeTreeManager.index_managerAlgorithmNodeTreeManager.node_evaluatorAlgorithmNodeTreeManager.open_instructions()AlgorithmNodeTreeManager.open_node_move()AlgorithmNodeTreeManager.print_best_line()AlgorithmNodeTreeManager.print_some_stats()AlgorithmNodeTreeManager.test_count()AlgorithmNodeTreeManager.test_the_tree()AlgorithmNodeTreeManager.tree_managerAlgorithmNodeTreeManager.update_backward()AlgorithmNodeTreeManager.update_indices()AlgorithmNodeTreeManager.update_node()
TreeExpansionTreeExpansionsTreeManagercreate_algorithm_node_tree_manager()
- chipiron.players.move_selector.treevalue.trees package
- Submodules
- chipiron.players.move_selector.treevalue.trees.descendants module
DescendantsDescendants.descendants_at_half_moveDescendants.number_of_descendantsDescendants.number_of_descendants_at_half_moveDescendants.min_half_moveDescendants.max_half_moveDescendants.add_descendant()Descendants.contains_node()Descendants.descendants_at_half_moveDescendants.empty()Descendants.get_count()Descendants.iter_on_all_nodes()Descendants.keys()Descendants.max_half_moveDescendants.min_half_moveDescendants.number_of_descendantsDescendants.number_of_descendants_at_half_moveDescendants.print_info()Descendants.print_stats()Descendants.remove_descendant()Descendants.test()Descendants.test_2()
RangedDescendantsRangedDescendants.min_half_moveRangedDescendants.max_half_moveRangedDescendants.add_descendant()RangedDescendants.is_in_the_acceptable_range()RangedDescendants.is_in_the_current_range()RangedDescendants.is_new_generation()RangedDescendants.max_half_moveRangedDescendants.merge()RangedDescendants.min_half_moveRangedDescendants.print_info()RangedDescendants.range()RangedDescendants.remove_descendant()RangedDescendants.test()
SortedDescendantsSortedValueDescendants
- chipiron.players.move_selector.treevalue.trees.factory module
- chipiron.players.move_selector.treevalue.trees.move_and_value_tree module
- chipiron.players.move_selector.treevalue.trees.tree_visualization module
- Module contents
DescendantsDescendants.descendants_at_half_moveDescendants.number_of_descendantsDescendants.number_of_descendants_at_half_moveDescendants.min_half_moveDescendants.max_half_moveDescendants.add_descendant()Descendants.contains_node()Descendants.descendants_at_half_moveDescendants.empty()Descendants.get_count()Descendants.iter_on_all_nodes()Descendants.keys()Descendants.max_half_moveDescendants.min_half_moveDescendants.number_of_descendantsDescendants.number_of_descendants_at_half_moveDescendants.print_info()Descendants.print_stats()Descendants.remove_descendant()Descendants.test()Descendants.test_2()
MoveAndValueTreeRangedDescendantsRangedDescendants.min_half_moveRangedDescendants.max_half_moveRangedDescendants.add_descendant()RangedDescendants.descendants_at_half_moveRangedDescendants.is_in_the_acceptable_range()RangedDescendants.is_in_the_current_range()RangedDescendants.is_new_generation()RangedDescendants.max_half_moveRangedDescendants.merge()RangedDescendants.min_half_moveRangedDescendants.number_of_descendantsRangedDescendants.number_of_descendants_at_half_moveRangedDescendants.print_info()RangedDescendants.range()RangedDescendants.remove_descendant()RangedDescendants.test()
save_raw_data_to_file()
- chipiron.players.move_selector.treevalue.updates package
- Submodules
- chipiron.players.move_selector.treevalue.updates.algorithm_node_updater module
AlgorithmNodeUpdaterAlgorithmNodeUpdater.minmax_evaluation_updaterAlgorithmNodeUpdater.index_updaterAlgorithmNodeUpdater.create_update_instructions_after_node_birth()AlgorithmNodeUpdater.generate_update_instructions()AlgorithmNodeUpdater.index_updaterAlgorithmNodeUpdater.minmax_evaluation_updaterAlgorithmNodeUpdater.perform_updates()
- chipiron.players.move_selector.treevalue.updates.factory module
- chipiron.players.move_selector.treevalue.updates.index_block module
IndexUpdateInstructionsFromOneNodeIndexUpdateInstructionsTowardsOneParentNodeIndexUpdateInstructionsTowardsOneParentNode.moves_with_updated_indexIndexUpdateInstructionsTowardsOneParentNode.add_update_from_one_child_node()IndexUpdateInstructionsTowardsOneParentNode.add_update_toward_one_parent_node()IndexUpdateInstructionsTowardsOneParentNode.empty()IndexUpdateInstructionsTowardsOneParentNode.moves_with_updated_indexIndexUpdateInstructionsTowardsOneParentNode.print_info()
- chipiron.players.move_selector.treevalue.updates.index_updater module
- chipiron.players.move_selector.treevalue.updates.minmax_evaluation_updater module
- chipiron.players.move_selector.treevalue.updates.updates_file module
UpdateInstructionsFromOneNodeUpdateInstructionsTowardsMultipleNodesUpdateInstructionsTowardsOneParentNodeUpdateInstructionsTowardsOneParentNode.add_update_from_a_child_node()UpdateInstructionsTowardsOneParentNode.add_updates_towards_one_parent_node()UpdateInstructionsTowardsOneParentNode.empty()UpdateInstructionsTowardsOneParentNode.index_updates_toward_one_parent_nodeUpdateInstructionsTowardsOneParentNode.print_info()UpdateInstructionsTowardsOneParentNode.value_updates_toward_one_parent_node
- chipiron.players.move_selector.treevalue.updates.value_block module
ValueUpdateInstructionsFromOneNodeValueUpdateInstructionsTowardsOneParentNodeValueUpdateInstructionsTowardsOneParentNode.moves_with_updated_overValueUpdateInstructionsTowardsOneParentNode.moves_with_updated_valueValueUpdateInstructionsTowardsOneParentNode.moves_with_updated_best_moveValueUpdateInstructionsTowardsOneParentNode.add_update_from_one_child_node()ValueUpdateInstructionsTowardsOneParentNode.add_update_toward_one_parent_node()ValueUpdateInstructionsTowardsOneParentNode.empty()ValueUpdateInstructionsTowardsOneParentNode.moves_with_updated_best_moveValueUpdateInstructionsTowardsOneParentNode.moves_with_updated_overValueUpdateInstructionsTowardsOneParentNode.moves_with_updated_valueValueUpdateInstructionsTowardsOneParentNode.print_info()
- Module contents
AlgorithmNodeUpdaterAlgorithmNodeUpdater.minmax_evaluation_updaterAlgorithmNodeUpdater.index_updaterAlgorithmNodeUpdater.create_update_instructions_after_node_birth()AlgorithmNodeUpdater.generate_update_instructions()AlgorithmNodeUpdater.index_updaterAlgorithmNodeUpdater.minmax_evaluation_updaterAlgorithmNodeUpdater.perform_updates()
MinMaxEvaluationUpdaterUpdateInstructionsFromOneNodeUpdateInstructionsTowardsMultipleNodesUpdateInstructionsTowardsOneParentNodeUpdateInstructionsTowardsOneParentNode.add_update_from_a_child_node()UpdateInstructionsTowardsOneParentNode.add_updates_towards_one_parent_node()UpdateInstructionsTowardsOneParentNode.empty()UpdateInstructionsTowardsOneParentNode.index_updates_toward_one_parent_nodeUpdateInstructionsTowardsOneParentNode.print_info()UpdateInstructionsTowardsOneParentNode.value_updates_toward_one_parent_node
create_algorithm_node_updater()
Submodules
chipiron.players.move_selector.treevalue.factory module
This module provides functions for creating a TreeAndValueMoveSelector object.
The TreeAndValueMoveSelector is a player that uses a tree-based approach to select moves in a game. It evaluates the game tree using a node evaluator and selects moves based on a set of criteria defined by the node selector. The player uses a stopping criterion to determine when to stop the search and a recommender rule to recommend a move after exploration.
This module also provides functions for creating the necessary components of the TreeAndValueMoveSelector, such as the node evaluator, node selector, tree factory, and tree manager.
- class chipiron.players.move_selector.treevalue.factory.TreeAndValuePlayerArgs(type: ~typing.Literal[<MoveSelectorTypes.TreeAndValue: 'TreeAndValue'>], node_selector: ~chipiron.players.move_selector.treevalue.node_selector.recurzipf.recur_zipf_base.RecurZipfBaseArgs | ~chipiron.players.move_selector.treevalue.node_selector.sequool.factory.SequoolArgs | ~chipiron.players.move_selector.treevalue.node_selector.factory.UniformArgs, opening_type: ~chipiron.players.move_selector.treevalue.node_selector.opening_instructions.OpeningType, board_evaluator: ~chipiron.players.move_selector.treevalue.node_evaluator.neural_networks.factory.NeuralNetNodeEvalArgs | ~chipiron.players.move_selector.treevalue.node_evaluator.node_evaluator_args.BasicEvaluationNodeEvaluatorArgs, stopping_criterion: ~chipiron.players.move_selector.treevalue.progress_monitor.progress_monitor.TreeMoveLimitArgs | ~chipiron.players.move_selector.treevalue.progress_monitor.progress_monitor.DepthLimitArgs, recommender_rule: ~chipiron.players.move_selector.treevalue.recommender_rule.recommender_rule.AlmostEqualLogistic | ~chipiron.players.move_selector.treevalue.recommender_rule.recommender_rule.SoftmaxRule, index_computation: ~chipiron.players.move_selector.treevalue.indices.node_indices.index_types.IndexComputationType | None = None)[source]
Bases:
objectData class for the arguments of a TreeAndValueMoveSelector.
- board_evaluator: NeuralNetNodeEvalArgs | BasicEvaluationNodeEvaluatorArgs
- index_computation: IndexComputationType | None = None
- node_selector: RecurZipfBaseArgs | SequoolArgs | UniformArgs
- opening_type: OpeningType
- recommender_rule: AlmostEqualLogistic | SoftmaxRule
- stopping_criterion: TreeMoveLimitArgs | DepthLimitArgs
- type: TreeAndValue: 'TreeAndValue'>]
- chipiron.players.move_selector.treevalue.factory.create_tree_and_value_builders(args: TreeAndValuePlayerArgs, syzygy: SyzygyTable[Any] | None, random_generator: Random, queue_progress_player: Queue[IsDataclass] | None) TreeAndValueMoveSelector[source]
Create a TreeAndValueMoveSelector object with the given arguments.
- Parameters:
args (TreeAndValuePlayerArgs) – The arguments for creating the TreeAndValueMoveSelector.
syzygy (SyzygyTable | None) – The SyzygyTable object for tablebase endgame evaluation.
random_generator (random.Random) – The random number generator.
- Returns:
The created TreeAndValueMoveSelector object.
- Return type:
chipiron.players.move_selector.treevalue.tree_and_value_move_selector module
This module contains the implementation of the TreeAndValueMoveSelector class, which is responsible for selecting moves based on a tree and value strategy.
The TreeAndValueMoveSelector class uses a tree-based approach to explore possible moves and select the best move based on a value function. It utilizes a tree manager, a tree factory, stopping criterion arguments, a node selector factory, a random generator, and recommendation functions to guide the move selection process.
The TreeAndValueMoveSelector class provides the following methods: - select_move: Selects the best move based on the tree and value strategy. - print_info: Prints information about the move selector type.
- class chipiron.players.move_selector.treevalue.tree_and_value_move_selector.TreeAndValueMoveSelector(tree_manager: AlgorithmNodeTreeManager, tree_factory: MoveAndValueTreeFactory, stopping_criterion_args: TreeMoveLimitArgs | DepthLimitArgs, node_selector_create: Callable[[], NodeSelector], random_generator: Random, recommend_move_after_exploration: AlmostEqualLogistic | SoftmaxRule, queue_progress_player: Queue[IsDataclass] | None)[source]
Bases:
objectThe TreeAndValueMoveSelector class is responsible for selecting moves based on a tree and value strategy.
Attributes: - tree_manager: The tree manager responsible for managing the algorithm nodes. - tree_factory: The tree factory responsible for creating move and value trees. - stopping_criterion_args: The stopping criterion arguments used to determine when to stop the tree exploration. - node_selector_create: The node selector factory used to create node selectors for tree exploration. - random_generator: The random generator used for randomization during tree exploration. - recommend_move_after_exploration: The recommendation functions used to recommend a move after tree exploration.
- create_tree_exploration(board: IBoard) TreeExploration[source]
- node_selector_create: Callable[[], NodeSelector]
- queue_progress_player: Queue[IsDataclass] | None
- recommend_move_after_exploration: AlmostEqualLogistic | SoftmaxRule
- select_move(board: IBoard, move_seed: int) MoveRecommendation[source]
Selects the best move based on the tree and value strategy.
Args: - board: The current board state. - move_seed: The seed used for randomization during move selection.
Returns: - The recommended move based on the tree and value strategy.
- stopping_criterion_args: TreeMoveLimitArgs | DepthLimitArgs
- tree_factory: MoveAndValueTreeFactory
- tree_manager: AlgorithmNodeTreeManager
chipiron.players.move_selector.treevalue.tree_exploration module
- This module contains the implementation of the TreeExploration class, which is responsible for managing a search
for the best move in a given chess position using a tree-based approach.
- The TreeExploration class is used to create and manage a tree structure that represents the possible moves and
- their evaluations in a chess position. It provides methods for exploring the tree, selecting the best move,
and printing information during the move computation.
The module also includes helper functions for creating a TreeExploration object and its dependencies.
Classes: - TreeExploration: Manages the search for the best move using a tree-based approach.
Functions: - create_tree_exploration: Creates a TreeExploration object with the specified dependencies.
- class chipiron.players.move_selector.treevalue.tree_exploration.TreeExploration(tree: MoveAndValueTree, tree_manager: AlgorithmNodeTreeManager, node_selector: NodeSelector, recommend_move_after_exploration: AlmostEqualLogistic | SoftmaxRule, stopping_criterion: ProgressMonitor, notify_percent_function: Callable[[int], None] | None)[source]
Bases:
objectTree Exploration is an object to manage one best move search.
Attributes: - tree: The tree structure representing the possible moves and their evaluations. - tree_manager: The manager for the tree structure. - node_selector: The selector for choosing nodes and moves to open in the tree. - recommend_move_after_exploration: The recommender rule for selecting the best move after the tree exploration. - stopping_criterion: The stopping criterion for determining when to stop the tree exploration.
Methods: - print_info_during_move_computation: Prints information during the move computation. - explore: Explores the tree to find the best move.
- explore(random_generator: Random) TreeExplorationResult[source]
Explores the tree to find the best move.
Args: - random_generator: The random number generator.
Returns: - MoveRecommendation: The recommended move and its evaluation.
- node_selector: NodeSelector
- print_info_during_move_computation(random_generator: Random) None[source]
Prints information during the move computation.
Args: - random_generator: The random number generator.
Returns: - None
- recommend_move_after_exploration: AlmostEqualLogistic | SoftmaxRule
- stopping_criterion: ProgressMonitor
- tree: MoveAndValueTree
- tree_manager: AlgorithmNodeTreeManager
- class chipiron.players.move_selector.treevalue.tree_exploration.TreeExplorationResult(move_recommendation: chipiron.players.move_selector.move_selector.MoveRecommendation, tree: chipiron.players.move_selector.treevalue.trees.move_and_value_tree.MoveAndValueTree)[source]
Bases:
object- move_recommendation: MoveRecommendation
- tree: MoveAndValueTree
- chipiron.players.move_selector.treevalue.tree_exploration.create_tree_exploration(node_selector_create: Callable[[], NodeSelector], starting_board: IBoard, tree_manager: AlgorithmNodeTreeManager, tree_factory: MoveAndValueTreeFactory, stopping_criterion_args: TreeMoveLimitArgs | DepthLimitArgs, recommend_move_after_exploration: AlmostEqualLogistic | SoftmaxRule, queue_progress_player: Queue[IsDataclass] | None) TreeExploration[source]
Creates a TreeExploration object with the specified dependencies.
Args: - node_selector_create: The factory function for creating the node selector. - starting_board: The starting chess board position. - tree_manager: The manager for the tree structure. - tree_factory: The factory for creating the tree structure. - stopping_criterion_args: The arguments for creating the stopping criterion. - recommend_move_after_exploration: The recommender rule for selecting the best move after the tree exploration.
Returns: - TreeExploration: The created TreeExploration object.
Module contents
This module provides functionality for creating tree and value builders for the TreeAndValuePlayer.
The TreeAndValuePlayerArgs class represents the arguments for configuring the TreeAndValuePlayer. The create_tree_and_value_builders function is used to create the tree and value builders.
- Example usage:
from chipiron.players.move_selector.treevalue import TreeAndValuePlayerArgs, create_tree_and_value_builders
args = TreeAndValuePlayerArgs(…) builders = create_tree_and_value_builders(args)
# Use the builders to create the TreeAndValuePlayer player = TreeAndValuePlayer(builders.tree_builder, builders.value_builder)
- class chipiron.players.move_selector.treevalue.TreeAndValuePlayerArgs(type: ~typing.Literal[<MoveSelectorTypes.TreeAndValue: 'TreeAndValue'>], node_selector: ~chipiron.players.move_selector.treevalue.node_selector.recurzipf.recur_zipf_base.RecurZipfBaseArgs | ~chipiron.players.move_selector.treevalue.node_selector.sequool.factory.SequoolArgs | ~chipiron.players.move_selector.treevalue.node_selector.factory.UniformArgs, opening_type: ~chipiron.players.move_selector.treevalue.node_selector.opening_instructions.OpeningType, board_evaluator: ~chipiron.players.move_selector.treevalue.node_evaluator.neural_networks.factory.NeuralNetNodeEvalArgs | ~chipiron.players.move_selector.treevalue.node_evaluator.node_evaluator_args.BasicEvaluationNodeEvaluatorArgs, stopping_criterion: ~chipiron.players.move_selector.treevalue.progress_monitor.progress_monitor.TreeMoveLimitArgs | ~chipiron.players.move_selector.treevalue.progress_monitor.progress_monitor.DepthLimitArgs, recommender_rule: ~chipiron.players.move_selector.treevalue.recommender_rule.recommender_rule.AlmostEqualLogistic | ~chipiron.players.move_selector.treevalue.recommender_rule.recommender_rule.SoftmaxRule, index_computation: ~chipiron.players.move_selector.treevalue.indices.node_indices.index_types.IndexComputationType | None = None)[source]
Bases:
objectData class for the arguments of a TreeAndValueMoveSelector.
- board_evaluator: NeuralNetNodeEvalArgs | BasicEvaluationNodeEvaluatorArgs
- index_computation: IndexComputationType | None = None
- node_selector: RecurZipfBaseArgs | SequoolArgs | UniformArgs
- opening_type: OpeningType
- recommender_rule: AlmostEqualLogistic | SoftmaxRule
- stopping_criterion: TreeMoveLimitArgs | DepthLimitArgs
- type: TreeAndValue: 'TreeAndValue'>]
- chipiron.players.move_selector.treevalue.create_tree_and_value_builders(args: TreeAndValuePlayerArgs, syzygy: SyzygyTable[Any] | None, random_generator: Random, queue_progress_player: Queue[IsDataclass] | None) TreeAndValueMoveSelector[source]
Create a TreeAndValueMoveSelector object with the given arguments.
- Parameters:
args (TreeAndValuePlayerArgs) – The arguments for creating the TreeAndValueMoveSelector.
syzygy (SyzygyTable | None) – The SyzygyTable object for tablebase endgame evaluation.
random_generator (random.Random) – The random number generator.
- Returns:
The created TreeAndValueMoveSelector object.
- Return type: