1#ifndef STORM_BUILDER_EXPLICITMODELBUILDER_H
2#define STORM_BUILDER_EXPLICITMODELBUILDER_H
4#include <boost/container/flat_map.hpp>
5#include <boost/functional/hash.hpp>
6#include <boost/variant.hpp>
40template<
typename ValueType>
41class RewardModelBuilder;
42class StateAndChoiceInformationBuilder;
44template<
typename StateType>
48 : varInfo(varInfo), stateToId(stateToId) {
57 StateType
lookup(std::map<storm::expressions::Variable, storm::expressions::Expression>
const& stateDescription)
const;
61 uint64_t
size()
const;
68template<
typename ValueType,
typename RewardModelType = storm::models::sparse::StandardRewardModel<ValueType>,
typename StateType = u
int32_t>
119 std::shared_ptr<storm::models::sparse::Model<ValueType, RewardModelType>>
build();
166 std::shared_ptr<storm::generator::NextStateGenerator<ValueType, StateType>> generator;
175 std::deque<std::pair<CompressedState, StateType>> statesToExplore;
179 boost::optional<std::vector<uint_fast64_t>> stateRemapping;
ExplicitStateLookup< StateType > exportExplicitStateLookup() const
Export a wrapper that contains (a copy of) the internal information that maps states to ids.
std::shared_ptr< storm::models::sparse::Model< ValueType, RewardModelType > > build()
Convert the program given at construction time to an abstract model.
StateType lookup(std::map< storm::expressions::Variable, storm::expressions::Expression > const &stateDescription) const
Lookup state.
uint64_t size() const
How many states have been stored?
ExplicitStateLookup(VariableInformation const &varInfo, storm::storage::BitVectorHashMap< StateType > const &stateToId)
A structure that is used to keep track of a reward model currently being built.
This class manages the labeling of the state space with a number of (atomic) labels.
This class represents a hash-map whose keys are bit vectors.
A bit vector that is internally represented as a vector of 64-bit values.
A class that can be used to build a sparse matrix by adding value by value.
Options()
Creates an object representing the default building options.
std::optional< StateType > explorationStateLimit
ExplorationOrder explorationOrder