Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
BeliefExplorationMatrix.h
Go to the documentation of this file.
1#pragma once
2
3#include <set>
4#include <string>
5#include <tuple>
6#include <vector>
7
9
10namespace storm::pomdp::beliefs {
11
13template<typename ValueType, typename...>
18
19template<typename ValueType, typename ExtraTransitionData>
25
26template<typename ValueType, typename FirstExtraTransitionData, typename... OtherExtraTransitionData>
27struct BeliefExplorationTransition<ValueType, FirstExtraTransitionData, OtherExtraTransitionData...> {
28 ValueType probability;
30 std::tuple<FirstExtraTransitionData, OtherExtraTransitionData...> data;
31};
32
39template<typename ValueType, typename... ExtraTransitionData>
41 public:
46
50 void endCurrentRow();
51
56 void endCurrentRowGroup();
57
61 std::size_t rows() const;
62
66 std::size_t groups() const;
67
69 bool hasChoiceLabels() const;
70
72 std::vector<BeliefExplorationTransition<ValueType, ExtraTransitionData...>> transitions;
74 std::vector<uint64_t> rowIndications;
76 std::vector<uint64_t> rowGroupIndices;
78 std::vector<std::set<std::string>> choiceLabels;
79};
80
81} // namespace storm::pomdp::beliefs
std::vector< uint64_t > rowIndications
Start indices of action rows in transitions.
std::vector< BeliefExplorationTransition< ValueType, ExtraTransitionData... > > transitions
Successor entries, grouped by rowIndications.
BeliefExplorationMatrix()
Initializes a new (empty) belief exploration matrix.
std::vector< uint64_t > rowGroupIndices
Start indices of belief row groups in the action rows.
void endCurrentRow()
While building the matrix, ends the current row in the matrix.
std::vector< std::set< std::string > > choiceLabels
Optional labels for the action rows.
void endCurrentRowGroup()
While building the matrix, ends the current row group in the matrix.
SFTBDDChecker::ValueType ValueType
uint64_t BeliefId
Definition types.h:12
A successor entry recorded while exploring one action of a belief.