thoth.adviser.predictors package¶
Submodules¶
thoth.adviser.predictors.annealing module¶
Implementation of Adaptive Simulated Annealing (ASA) used to resolve software stacks.
- class thoth.adviser.predictors.annealing.AdaptiveSimulatedAnnealing(*, keep_history: Optional[Any] = None, temperature_coefficient: float = 0.999, temperature_history: List[Tuple[Optional[float], Optional[bool], Optional[float], int]] = NOTHING, temperature: float = 0.0)[source]¶
Bases:
thoth.adviser.predictor.PredictorImplementation of adaptive simulated annealing looking for stacks based on the scoring function.
- run() Tuple[thoth.adviser.state.State, Tuple[str, str, str]][source]¶
Run adaptive simulated annealing on top of beam.
- temperature_coefficient¶
thoth.adviser.predictors.hill_climbing module¶
Implementation of hill climbing in the state space.
- class thoth.adviser.predictors.hill_climbing.HillClimbing(*, keep_history: Optional[Any] = None)[source]¶
Bases:
thoth.adviser.predictor.PredictorImplementation of hill climbing in the state space.
thoth.adviser.predictors.latest module¶
Implementation of predictor used for resolving latest stacks in the state space.
- class thoth.adviser.predictors.latest.ApproximatingLatest(*, keep_history: Optional[Any] = None, prioritized_packages: List[str] = NOTHING)[source]¶
Bases:
thoth.adviser.predictors.hill_climbing.HillClimbingImplementation of predictor used for resolving latest stacks in the state space.
This predictor approximates resolution to the latest software stack. The resolution to the latest is approximated using continuous resolution with an optional randomness not to get stuck in a “trap” if resolution to all latest cannot be satisfied.
- prioritized_packages¶
thoth.adviser.predictors.mcts module¶
Implementation of Monte-Carlo Tree Search (MCTS) based predictor with adaptive simulated annealing schedule.
- class thoth.adviser.predictors.mcts.MCTS(*, keep_history: Optional[Any] = None, temperature_coefficient: float = 0.999, temperature_history: List[Tuple[Optional[float], Optional[bool], Optional[float], int]] = NOTHING, temperature: float = 0.0, step: int = 1, trace: bool = True)[source]¶
Bases:
thoth.adviser.predictors.td.TemporalDifferenceImplementation of Monte-Carlo Tree Search (MCTS) based predictor with adaptive simulated annealing schedule.
thoth.adviser.predictors.package_combinations module¶
Implementation of a predictor used for generating combinations of packages faster.
- class thoth.adviser.predictors.package_combinations.PackageCombinations(*, keep_history: Optional[Any] = None, package_combinations=NOTHING)[source]¶
Bases:
thoth.adviser.predictor.PredictorA predictor used for generating combinations of packages faster.
- package_combinations¶
thoth.adviser.predictors.random_walk module¶
Implementation of a Random Walk based dependency graph sampling predictor.
- class thoth.adviser.predictors.random_walk.RandomWalk(*, keep_history: Optional[Any] = None, prioritized_packages: List[str] = NOTHING, prefer_recent: bool = False)[source]¶
Bases:
thoth.adviser.predictor.PredictorImplementation of a Random Walk based dependency graph sampling predictor.
- prefer_recent¶
- prioritized_packages¶
thoth.adviser.predictors.sampling module¶
Implementation of a random sampling of the state space.
- class thoth.adviser.predictors.sampling.Sampling(*, keep_history: Optional[Any] = None)[source]¶
Bases:
thoth.adviser.predictor.PredictorImplementation of a random sampling of the state space.
thoth.adviser.predictors.td module¶
Implementation of Temporal Difference (TD) based predictor with adaptive simulated annealing schedule.
- class thoth.adviser.predictors.td.TemporalDifference(*, keep_history: Optional[Any] = None, temperature_coefficient: float = 0.999, temperature_history: List[Tuple[Optional[float], Optional[bool], Optional[float], int]] = NOTHING, temperature: float = 0.0, step: int = 1, trace: bool = True)[source]¶
Bases:
thoth.adviser.predictors.annealing.AdaptiveSimulatedAnnealingImplementation of Temporal Difference (TD) based predictor with adaptive simulated annealing schedule.
- run() Tuple[thoth.adviser.state.State, Tuple[str, str, str]][source]¶
Run Temporal Difference (TD) with adaptive simulated annealing schedule.
- set_reward_signal(state: thoth.adviser.state.State, package_tuple: Tuple[str, str, str], reward: float) None[source]¶
Note down reward signal of the last action performed.
- step¶
- trace¶
Module contents¶
Implementation of predictors used with resolver..
- class thoth.adviser.predictors.AdaptiveSimulatedAnnealing(*, keep_history: Optional[Any] = None, temperature_coefficient: float = 0.999, temperature_history: List[Tuple[Optional[float], Optional[bool], Optional[float], int]] = NOTHING, temperature: float = 0.0)[source]¶
Bases:
thoth.adviser.predictor.PredictorImplementation of adaptive simulated annealing looking for stacks based on the scoring function.
- run() Tuple[thoth.adviser.state.State, Tuple[str, str, str]][source]¶
Run adaptive simulated annealing on top of beam.
- temperature_coefficient¶
- class thoth.adviser.predictors.ApproximatingLatest(*, keep_history: Optional[Any] = None, prioritized_packages: List[str] = NOTHING)[source]¶
Bases:
thoth.adviser.predictors.hill_climbing.HillClimbingImplementation of predictor used for resolving latest stacks in the state space.
This predictor approximates resolution to the latest software stack. The resolution to the latest is approximated using continuous resolution with an optional randomness not to get stuck in a “trap” if resolution to all latest cannot be satisfied.
- prioritized_packages¶
- class thoth.adviser.predictors.HillClimbing(*, keep_history: Optional[Any] = None)[source]¶
Bases:
thoth.adviser.predictor.PredictorImplementation of hill climbing in the state space.
- class thoth.adviser.predictors.MCTS(*, keep_history: Optional[Any] = None, temperature_coefficient: float = 0.999, temperature_history: List[Tuple[Optional[float], Optional[bool], Optional[float], int]] = NOTHING, temperature: float = 0.0, step: int = 1, trace: bool = True)[source]¶
Bases:
thoth.adviser.predictors.td.TemporalDifferenceImplementation of Monte-Carlo Tree Search (MCTS) based predictor with adaptive simulated annealing schedule.
- class thoth.adviser.predictors.PackageCombinations(*, keep_history: Optional[Any] = None, package_combinations=NOTHING)[source]¶
Bases:
thoth.adviser.predictor.PredictorA predictor used for generating combinations of packages faster.
- package_combinations¶
- class thoth.adviser.predictors.RandomWalk(*, keep_history: Optional[Any] = None, prioritized_packages: List[str] = NOTHING, prefer_recent: bool = False)[source]¶
Bases:
thoth.adviser.predictor.PredictorImplementation of a Random Walk based dependency graph sampling predictor.
- prefer_recent¶
- prioritized_packages¶
- class thoth.adviser.predictors.Sampling(*, keep_history: Optional[Any] = None)[source]¶
Bases:
thoth.adviser.predictor.PredictorImplementation of a random sampling of the state space.
- class thoth.adviser.predictors.TemporalDifference(*, keep_history: Optional[Any] = None, temperature_coefficient: float = 0.999, temperature_history: List[Tuple[Optional[float], Optional[bool], Optional[float], int]] = NOTHING, temperature: float = 0.0, step: int = 1, trace: bool = True)[source]¶
Bases:
thoth.adviser.predictors.annealing.AdaptiveSimulatedAnnealingImplementation of Temporal Difference (TD) based predictor with adaptive simulated annealing schedule.
- run() Tuple[thoth.adviser.state.State, Tuple[str, str, str]][source]¶
Run Temporal Difference (TD) with adaptive simulated annealing schedule.
- set_reward_signal(state: thoth.adviser.state.State, package_tuple: Tuple[str, str, str], reward: float) None[source]¶
Note down reward signal of the last action performed.
- step¶
- trace¶