3#include <boost/optional.hpp>
21template<
typename ValueType>
24template<
typename ValueType>
31using namespace storm::solver::stateelimination;
39template<
typename ValueType>
45template<
typename ValueType>
47 storm::storage::FlexibleSparseMatrix<ValueType>
const& backwardTransitions,
48 std::vector<ValueType>
const& oneStepProbabilities);
50template<
typename ValueType>
52 storm::storage::FlexibleSparseMatrix<ValueType>
const& transitionMatrix,
53 storm::storage::FlexibleSparseMatrix<ValueType>
const& backwardTransitions,
54 std::vector<ValueType>
const& oneStepProbabilities);
56template<
typename ValueType>
57std::shared_ptr<StatePriorityQueue>
createStatePriorityQueue(boost::optional<std::vector<uint_fast64_t>>
const& stateDistances,
58 storm::storage::FlexibleSparseMatrix<ValueType>
const& transitionMatrix,
59 storm::storage::FlexibleSparseMatrix<ValueType>
const& backwardTransitions,
60 std::vector<ValueType>
const& oneStepProbabilities, storm::storage::BitVector
const& states);
63std::shared_ptr<StatePriorityQueue>
createStatePriorityQueue(std::vector<storm::storage::sparse::state_type>
const& states);
65template<
typename ValueType>
67 storm::storage::SparseMatrix<ValueType>
const& transitionMatrixTransposed,
68 storm::storage::BitVector
const& initialStates, std::vector<ValueType>
const& oneStepProbabilities,
69 bool forward,
bool reverse);
71template<
typename ValueType>
72std::vector<uint_fast64_t>
getStateDistances(storm::storage::SparseMatrix<ValueType>
const& transitionMatrix,
73 storm::storage::SparseMatrix<ValueType>
const& transitionMatrixTransposed,
74 storm::storage::BitVector
const& initialStates, std::vector<ValueType>
const& oneStepProbabilities,
bool forward);
EliminationOrder
An enum that contains all available state elimination orders.
A bit vector that is internally represented as a vector of 64-bit values.
The flexible sparse matrix is used during state elimination.
A class that holds a possibly non-square matrix in the compressed row storage format.
std::shared_ptr< StatePriorityQueue > createStatePriorityQueue(boost::optional< std::vector< uint_fast64_t > > const &distanceBasedStatePriorities, storm::storage::FlexibleSparseMatrix< ValueType > const &transitionMatrix, storm::storage::FlexibleSparseMatrix< ValueType > const &backwardTransitions, std::vector< ValueType > const &oneStepProbabilities, storm::storage::BitVector const &states)
uint_fast64_t computeStatePenalty(storm::storage::sparse::state_type const &state, storm::storage::FlexibleSparseMatrix< ValueType > const &transitionMatrix, storm::storage::FlexibleSparseMatrix< ValueType > const &backwardTransitions, std::vector< ValueType > const &oneStepProbabilities)
std::vector< uint_fast64_t > getStateDistances(storm::storage::SparseMatrix< ValueType > const &transitionMatrix, storm::storage::SparseMatrix< ValueType > const &transitionMatrixTransposed, storm::storage::BitVector const &initialStates, std::vector< ValueType > const &oneStepProbabilities, bool forward)
bool eliminationOrderIsStatic(storm::settings::modules::EliminationSettings::EliminationOrder const &order)
bool eliminationOrderNeedsForwardDistances(storm::settings::modules::EliminationSettings::EliminationOrder const &order)
uint_fast64_t computeStatePenaltyRegularExpression(storm::storage::sparse::state_type const &state, storm::storage::FlexibleSparseMatrix< ValueType > const &transitionMatrix, storm::storage::FlexibleSparseMatrix< ValueType > const &backwardTransitions, std::vector< ValueType > const &)
uint_fast64_t estimateComplexity(ValueType const &)
bool eliminationOrderNeedsDistances(storm::settings::modules::EliminationSettings::EliminationOrder const &order)
std::vector< uint_fast64_t > getDistanceBasedPriorities(storm::storage::SparseMatrix< ValueType > const &transitionMatrix, storm::storage::SparseMatrix< ValueType > const &transitionMatrixTransposed, storm::storage::BitVector const &initialStates, std::vector< ValueType > const &oneStepProbabilities, bool forward, bool reverse)
bool eliminationOrderNeedsReversedDistances(storm::settings::modules::EliminationSettings::EliminationOrder const &order)
bool eliminationOrderIsPenaltyBased(storm::settings::modules::EliminationSettings::EliminationOrder const &order)
carl::RationalFunction< Polynomial, true > RationalFunction