TimeBudgetedOpeningBookBot
The time-budgeted OpeningBookBot, used when the wrapped bot is itself a TimeBudgetedSearch so the deadline is forwarded on a book miss. Built by OpeningBookBot.decorate.
Attributes
- Source
- OpeningBookBot.scala
- Graph
-
- Supertypes
-
trait TimeBudgetedSearchclass OpeningBookBottrait SearchAlgorithmclass Objecttrait Matchableclass AnyShow all
Members list
Value members
Concrete methods
Finds the best full-turn path, stopping at deadlineNanos (a java.lang.System.nanoTime value).
Finds the best full-turn path, stopping at deadlineNanos (a java.lang.System.nanoTime value).
Value parameters
- deadlineNanos
-
a java.lang.System.nanoTime value; the search stops once it is reached
- random
-
the random source for the (non-deterministic) search
- state
-
the current dicechess.engine.domain.GameState;
state.activeColoridentifies the side to move
Attributes
- Returns
-
Some([[ScoredSequence]])when at least one legal path exists — even if the deadline elapses before the search completes — orNonewhen the player must pass - Definition Classes
- Source
- OpeningBookBot.scala
Inherited methods
Estimates the winning probability in [0.0, 1.0] for the side to move. Convenience over winProbability for offer decisions, where the deciding side is the active colour; do not override it, override winProbability.
Estimates the winning probability in [0.0, 1.0] for the side to move. Convenience over winProbability for offer decisions, where the deciding side is the active colour; do not override it, override winProbability.
Attributes
- Inherited from:
- SearchAlgorithm
- Source
- SearchAlgorithm.scala
Finds the best full-turn path, drawing any randomness (e.g. tie-breaking among equally-valued turns) from the supplied random. Lets a caller make a whole game reproducible from one seed — most importantly the bot arena, which otherwise gets a fresh unseeded Random per move and so is non-deterministic.
Finds the best full-turn path, drawing any randomness (e.g. tie-breaking among equally-valued turns) from the supplied random. Lets a caller make a whole game reproducible from one seed — most importantly the bot arena, which otherwise gets a fresh unseeded Random per move and so is non-deterministic.
The default ignores random and delegates to the no-arg findBestMove; randomised strategies override it to route their tie-breaking through the given source.
Attributes
- Definition Classes
- Inherited from:
- OpeningBookBot
- Source
- OpeningBookBot.scala
Finds and returns the best full-turn path according to this strategy.
Finds and returns the best full-turn path according to this strategy.
Value parameters
- state
-
the current dicechess.engine.domain.GameState;
state.activeColoridentifies the side to move
Attributes
- Returns
-
Some([[ScoredSequence]])when at least one legal path exists;Nonewhen the player must pass - Definition Classes
- Inherited from:
- OpeningBookBot
- Source
- OpeningBookBot.scala
Determines whether the bot should accept (Take) or decline (Drop) a double from the opponent, taking the side to move as the responder. Kept for source and binary compatibility; it delegates to the three-argument overload.
Determines whether the bot should accept (Take) or decline (Drop) a double from the opponent, taking the side to move as the responder. Kept for source and binary compatibility; it delegates to the three-argument overload.
Value parameters
- currentStake
-
the proposed double stake (e.g. 2, 4...)
- state
-
current game state (dice pool is empty)
Attributes
- Returns
-
true to accept the double (Take), false to resign the current stake (Drop)
- Note
-
Perspective hazard: this overload evaluates the win probability of
state.activeColor. In a double decision state,state.activeColoris the player who offered the double, NOT the responder, so a caller that feeds the delivered position here asks whether the offerer should take. Callers must prefershouldAcceptDouble(state, currentStake, responder); strategies must override that overload, not this one. - Definition Classes
- Inherited from:
- OpeningBookBot
- Source
- OpeningBookBot.scala
Determines whether the bot should accept (Take) or decline (Drop) a double from the opponent, evaluated from the perspective of responder.
Determines whether the bot should accept (Take) or decline (Drop) a double from the opponent, evaluated from the perspective of responder.
This is the single policy point for the take/drop decision: strategies that want their own threshold or estimator override this overload. The two-argument form below only delegates here, so a policy written against it is bypassed whenever a caller names the responder explicitly (which every caller holding a doubleDecision state must, see the hazard note there).
Value parameters
- currentStake
-
the proposed double stake (e.g. 2, 4...)
- responder
-
the colour of the player responding to the double offer
- state
-
current game state (dice pool is empty); its active colour is the side to move, which in a double decision is the offerer, not the responder
Attributes
- Returns
-
true to accept the double (Take), false to resign the current stake (Drop)
- Definition Classes
- Inherited from:
- OpeningBookBot
- Source
- OpeningBookBot.scala
Determines whether the bot should accept a draw offered by the opponent.
Determines whether the bot should accept a draw offered by the opponent.
Value parameters
- state
-
current game state
Attributes
- Returns
-
true to accept the draw
- Definition Classes
- Inherited from:
- OpeningBookBot
- Source
- OpeningBookBot.scala
Determines whether the bot should offer a double before its dice roll.
Determines whether the bot should offer a double before its dice roll.
Value parameters
- currentStake
-
the current stake of the game
- state
-
current game state (dice pool is empty)
Attributes
- Returns
-
true to offer a double, false otherwise
- Definition Classes
- Inherited from:
- OpeningBookBot
- Source
- OpeningBookBot.scala
Determines whether the bot should offer a draw in the current position.
Determines whether the bot should offer a draw in the current position.
Value parameters
- state
-
current game state
Attributes
- Returns
-
true to offer a draw
- Definition Classes
- Inherited from:
- OpeningBookBot
- Source
- OpeningBookBot.scala
Estimates the winning probability in [0.0, 1.0] of color, whichever side is to move.
Estimates the winning probability in [0.0, 1.0] of color, whichever side is to move.
This is the estimator hook: a strategy with its own equity model (for example a Monte-Carlo rollout) overrides this method, so that both the offer decision (active colour) and the take/drop decision (responder colour) see the same estimate. The default maps the centipawn evaluation to a probability with a logistic sigmoid.
Attributes
- Inherited from:
- SearchAlgorithm
- Source
- SearchAlgorithm.scala
Inherited fields
Attributes
- Inherited from:
- OpeningBookBot
- Source
- OpeningBookBot.scala