16template<
typename ValueType>
23template<storm::dd::DdType DdType,
typename ValueType,
typename ExportValueType = ValueType>
24typename std::enable_if<DdType == storm::dd::DdType::Sylvan || std::is_same<ValueType, double>::value,
25 std::shared_ptr<storm::models::Model<ExportValueType>>>::type
27 std::vector<std::shared_ptr<storm::logic::Formula const>>
const& formulas,
34 storm::exceptions::NotSupportedException,
"Symbolic bisimulation minimization is currently only available for DTMCs, CTMCs, MDPs and MAs.");
36 "Currently only strong bisimulation is supported.");
38 std::shared_ptr<storm::models::Model<ExportValueType>> result;
39 model->getManager().execute([&]() {
41 model->reduceToStateBasedRewards();
50template<storm::dd::DdType DdType,
typename ValueType,
typename ExportValueType = ValueType>
51typename std::enable_if<DdType != storm::dd::DdType::Sylvan && !std::is_same<ValueType, double>::value,
52 std::shared_ptr<storm::models::Model<ExportValueType>>>::type
54 std::vector<std::shared_ptr<storm::logic::Formula const>>
const&,
60 "Symbolic bisimulation minimization is not supported for this combination of DD library and value type.");
void compute(bisimulation::SignatureMode const &mode=bisimulation::SignatureMode::Eager)
Performs partition refinement until a fixpoint has been reached.
std::shared_ptr< storm::models::Model< ExportValueType > > getQuotient(storm::dd::bisimulation::QuotientFormat const "ientFormat) const
Retrieves the quotient model after the bisimulation decomposition was computed.
Base class for all sparse models.
Base class for all symbolic models.
#define STORM_LOG_THROW(cond, exception, message)
std::shared_ptr< storm::models::sparse::Model< ValueType > > performBisimulationMinimization(std::shared_ptr< storm::models::sparse::Model< ValueType > > const &model, std::vector< std::shared_ptr< storm::logic::Formula const > > const &formulas={}, storm::bisimulation::Options const &options={})
ReturnType< ValueType > performBisimulationMinimization(storm::models::sparse::Model< ValueType > const &model, std::vector< std::shared_ptr< storm::logic::Formula const > > const &formulas, Options options)
Computes the bisimulation quotient of the given model.
BisimulationType
The kind of bisimulation.