28 std::vector<
Dimension<ValueType>>
const& dimensions, std::vector<storm::storage::BitVector>
const& objectiveDimensions,
29 EpochManager const& epochManager, std::vector<Epoch>
const& originalModelSteps);
32 std::vector<Epoch>
const&
getSteps()
const;
34 bool productStateExists(uint64_t
const& modelState, uint64_t
const& memoryState)
const;
35 uint64_t
getProductState(uint64_t
const& modelState, uint64_t
const& memoryState)
const;
52 boost::optional<storm::storage::BitVector>
const&
getProb1InitialStates(uint64_t objectiveIndex)
const;
60 std::vector<MemoryState>
const& memoryStateMap)
const;
63 std::set<Epoch>
const& possibleSteps)
const;
65 void computeReachableStatesInEpochClasses();
66 void computeReachableStates(
EpochClass const& epochClass, std::vector<EpochClass>
const& predecessors);
68 std::vector<Dimension<ValueType>>
const& dimensions;
69 std::vector<storm::storage::BitVector>
const& objectiveDimensions;
73 std::shared_ptr<storm::models::sparse::Model<ValueType>> product;
74 std::vector<Epoch> steps;
75 std::map<EpochClass, storm::storage::BitVector> reachableStates;
76 std::map<EpochClass, storm::storage::BitVector> inStates;
78 std::vector<uint64_t> modelMemoryToProductStateMap;
79 std::vector<uint64_t> productToModelStateMap;
80 std::vector<MemoryState> productToMemoryStateMap;
81 std::vector<uint64_t> choiceToStateMap;
82 std::vector<boost::optional<storm::storage::BitVector>>
ProductModel(storm::models::sparse::Model< ValueType > const &model, std::vector< storm::modelchecker::multiobjective::Objective< ValueType > > const &objectives, std::vector< Dimension< ValueType > > const &dimensions, std::vector< storm::storage::BitVector > const &objectiveDimensions, EpochManager const &epochManager, std::vector< Epoch > const &originalModelSteps)