Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
PomdpMemory.h
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
6
7namespace storm {
8namespace storage {
9
11 public:
12 PomdpMemory(std::vector<storm::storage::BitVector> const& transitions, uint64_t initialState);
13 uint64_t getNumberOfStates() const;
14 uint64_t getInitialState() const;
15 storm::storage::BitVector const& getTransitions(uint64_t state) const;
16 uint64_t getNumberOfOutgoingTransitions(uint64_t state) const;
17 std::vector<storm::storage::BitVector> const& getTransitions() const;
18 std::string toString() const;
19
20 private:
21 std::vector<storm::storage::BitVector> transitions;
22 uint64_t initialState;
23};
24
26
27std::string toString(PomdpMemoryPattern const& pattern);
28
30 public:
31 // Builds a memory structure with the given pattern and the given number of states.
32 PomdpMemory build(PomdpMemoryPattern pattern, uint64_t numStates) const;
33
34 // Builds a memory structure that consists of just a single memory state
36
37 // Builds a memory structure that consists of a chain of the given number of states.
38 // Every state has exactly one transition to the next state. The last state has just a selfloop.
39 PomdpMemory buildFixedCountingMemory(uint64_t numStates) const;
40
41 // Builds a memory structure that consists of a chain of the given number of states.
42 // Every state has a selfloop and a transition to the next state. The last state just has a selfloop.
43 PomdpMemory buildSelectiveCountingMemory(uint64_t numStates) const;
44
45 // Builds a memory structure that consists of a ring of the given number of states.
46 // Every state has a transition to the successor state
47 PomdpMemory buildFixedRingMemory(uint64_t numStates) const;
48
49 // Builds a memory structure that consists of a ring of the given number of states.
50 // Every state has a transition to the successor state and a selfloop
51 PomdpMemory buildSelectiveRingMemory(uint64_t numStates) const;
52
53 // Builds a memory structure that represents floor(log(numStates)) bits that can only be set from zero to one or from zero to zero.
54 PomdpMemory buildSettableBitsMemory(uint64_t numStates) const;
55
56 // Builds a memory structure that consists of the given number of states which are fully connected.
57 PomdpMemory buildFullyConnectedMemory(uint64_t numStates) const;
58};
59
60} // namespace storage
61} // namespace storm
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:18
PomdpMemory buildFixedRingMemory(uint64_t numStates) const
PomdpMemory buildSelectiveRingMemory(uint64_t numStates) const
PomdpMemory build(PomdpMemoryPattern pattern, uint64_t numStates) const
PomdpMemory buildTrivialMemory() const
PomdpMemory buildSelectiveCountingMemory(uint64_t numStates) const
PomdpMemory buildFixedCountingMemory(uint64_t numStates) const
PomdpMemory buildSettableBitsMemory(uint64_t numStates) const
PomdpMemory buildFullyConnectedMemory(uint64_t numStates) const
uint64_t getInitialState() const
uint64_t getNumberOfStates() const
std::string toString() const
std::vector< storm::storage::BitVector > const & getTransitions() const
uint64_t getNumberOfOutgoingTransitions(uint64_t state) const
std::string toString(PomdpMemoryPattern const &pattern)
LabParser.cpp.
Definition cli.cpp:18