Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
Bisimulation.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <memory>
5#include <vector>
6
10
11namespace storm::bisimulation {
12
13template<typename ValueType>
14struct ReturnType {
15 std::shared_ptr<storm::models::sparse::Model<ValueType>> quotient;
16 std::vector<uint64_t> toQuotientStateMapping; // assigns to each input model state the corresponding quotient state
17 std::optional<std::vector<uint64_t>> toQuotientChoiceMapping; // assigns to each input model choice the corresponding quotient choice. Only available if
18 // requested through the bisimulation options.
19};
20
28template<typename ValueType>
30 std::vector<std::shared_ptr<storm::logic::Formula const>> const& formulas = {},
31 storm::bisimulation::Options options = {});
32
33} // namespace storm::bisimulation
Base class for all sparse models.
Definition Model.h:34
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.
std::optional< std::vector< uint64_t > > toQuotientChoiceMapping
std::shared_ptr< storm::models::sparse::Model< ValueType > > quotient
std::vector< uint64_t > toQuotientStateMapping