19template<
typename SparseModelType,
typename ConstantType>
35 std::optional<RegionSplitEstimateKind> generateRegionSplitEstimates = std::nullopt,
37 bool graphPreserving =
true)
override;
60 virtual void reset()
override;
63 void computePlayer1Matrix(std::optional<storm::storage::BitVector>
const& selectedRows = std::nullopt);
66 std::vector<ConstantType> resultsForNonMaybeStates;
67 std::optional<uint64_t> stepBound;
69 std::unique_ptr<storm::modelchecker::SparseMdpInstantiationModelChecker<SparseModelType, ConstantType>> instantiationChecker;
71 std::unique_ptr<CheckTask<storm::logic::Formula, ParametricType>> currentCheckTaskNoBound;
72 std::shared_ptr<storm::logic::Formula const> currentFormulaNoBound;
75 std::unique_ptr<storm::transformer::ParameterLifter<ParametricType, ConstantType>> parameterLifter;
76 std::unique_ptr<storm::solver::GameSolverFactory<ConstantType>> solverFactory;
79 std::optional<std::vector<uint64_t>> minSchedChoices, maxSchedChoices;
80 std::optional<std::vector<uint64_t>> player1SchedChoices;
81 std::vector<ConstantType> x;
82 std::optional<ConstantType> lowerResultBound, upperResultBound;
83 bool applyPreviousResultAsHint;
std::shared_ptr< MonotonicityBackend< SparseModelType::ValueType > > monotonicityBackend
storm::storage::ParameterRegion< ParametricType >::CoefficientType CoefficientType
storm::storage::ParameterRegion< ParametricType >::Valuation Valuation
storm::storage::ParameterRegion< ParametricType >::VariableType VariableType
Class to efficiently check a formula on a parametric model with different parameter instantiations.
std::optional< storm::storage::Scheduler< ConstantType > > getCurrentMinScheduler()
virtual void specifyReachabilityRewardFormula(Environment const &env, CheckTask< storm::logic::EventuallyFormula, ConstantType > const &checkTask) override
virtual ~SparseMdpParameterLiftingModelChecker()=default
std::optional< storm::storage::Scheduler< ConstantType > > getCurrentPlayer1Scheduler()
typename RegionModelChecker< ParametricType >::VariableType VariableType
SparseMdpParameterLiftingModelChecker()
virtual void reset() override
typename SparseModelType::ValueType ParametricType
std::optional< storm::storage::Scheduler< ConstantType > > getCurrentMaxScheduler()
virtual std::vector< ConstantType > computeQuantitativeValues(Environment const &env, AnnotatedRegion< ParametricType > ®ion, storm::solver::OptimizationDirection const &dirForParameters) override
virtual bool isMonotonicitySupported(MonotonicityBackend< ParametricType > const &backend, CheckTask< storm::logic::Formula, ParametricType > const &checkTask) const override
Returns whether this region model checker can work together with the given monotonicity backend.
virtual bool canHandle(std::shared_ptr< storm::models::ModelBase > parametricModel, CheckTask< storm::logic::Formula, ParametricType > const &checkTask) const override
virtual void specifyUntilFormula(Environment const &env, CheckTask< storm::logic::UntilFormula, ConstantType > const &checkTask) override
virtual void specify(Environment const &env, std::shared_ptr< storm::models::ModelBase > parametricModel, CheckTask< storm::logic::Formula, ParametricType > const &checkTask, std::optional< RegionSplitEstimateKind > generateRegionSplitEstimates=std::nullopt, std::shared_ptr< MonotonicityBackend< ParametricType > > monotonicityBackend={}, bool allowModelSimplifications=true, bool graphPreserving=true) override
virtual void specifyBoundedUntilFormula(const CheckTask< storm::logic::BoundedUntilFormula, ConstantType > &checkTask) override
typename RegionModelChecker< ParametricType >::CoefficientType CoefficientType
virtual storm::modelchecker::SparseInstantiationModelChecker< SparseModelType, ConstantType > & getInstantiationChecker(bool quantitative) override
virtual void specifyCumulativeRewardFormula(const CheckTask< storm::logic::CumulativeRewardFormula, ConstantType > &checkTask) override
typename RegionModelChecker< ParametricType >::Valuation Valuation
Class to approximately check a formula on a parametric model for all parameter valuations within a re...
std::shared_ptr< SparseModelType > parametricModel
A bit vector that is internally represented as a vector of 64-bit values.
A class that holds a possibly non-square matrix in the compressed row storage format.