|
| ExplorationThread (StaminaModelBuilder< ValueType, RewardModelType, StateType > *parent, uint8_t threadIndex, ControlThread< StateType, RewardModelType, ValueType > &controlThread, uint32_t stateSize, util::StateIndexArray< StateType, ProbabilityState< StateType > > *stateMap, std::shared_ptr< storm::generator::PrismNextStateGenerator< ValueType, StateType > > const &generator, std::function< StateType(CompressedState const &)> stateToIdCallback) |
|
uint8_t | getIndex () |
|
uint32_t | getNumberOfOwnedStates () |
|
bool | isIdling () |
|
void | setIsCtmc (bool isCtmc) |
|
void | requestCrossExploration (CompressedState &state, double deltaPi) |
|
void | requestCrossExploration (StateType stateIndex, double deltaPi) |
|
virtual void | mainLoop () override |
|
| BaseThread (StaminaModelBuilder< ValueType, RewardModelType, StateType > *parent) |
|
virtual void | mainLoop ()=0 |
|
void | startThread () |
|
const StaminaModelBuilder< ValueType, RewardModelType, StateType > * | getParent () |
|
void | join () |
|
void | terminate () |
|
|
virtual void | exploreStates ()=0 |
|
virtual void | exploreState (StateAndProbability &stateProbability)=0 |
|
virtual void | enqueueSuccessors (CompressedState &state)=0 |
|
|
std::shared_mutex | crossExplorationQueueMutex |
|
std::deque< std::pair< CompressedState, double > > | crossExplorationQueue |
|
std::deque< StateAndProbability > | mainExplorationQueue |
|
uint32_t | numberOfOwnedStates |
|
bool | idling |
|
ControlThread< StateType, RewardModelType, ValueType > & | controlThread |
|
util::StateIndexArray< StateType, ProbabilityState< StateType > > * | stateMap |
|
storm::storage::sparse::StateStorage< StateType > & | stateStorage |
|
std::shared_ptr< storm::generator::PrismNextStateGenerator< ValueType, StateType > > const & | generator |
|
std::deque< StateAndProbability > | statesTerminatedLastIteration |
|
std::function< StateType(CompressedState const &)> | stateToIdCallback |
|
std::deque< StateIndexAndThread > | statesToRequestCrossExploration |
|
bool | finished |
|
◆ ExplorationThread()
template<typename StateType , typename RewardModelType , typename ValueType >
stamina::builder::threads::ExplorationThread< StateType, RewardModelType, ValueType >::ExplorationThread |
( |
StaminaModelBuilder< ValueType, RewardModelType, StateType > * |
parent, |
|
|
uint8_t |
threadIndex, |
|
|
ControlThread< StateType, RewardModelType, ValueType > & |
controlThread, |
|
|
uint32_t |
stateSize, |
|
|
util::StateIndexArray< StateType, ProbabilityState< StateType > > * |
stateMap, |
|
|
std::shared_ptr< storm::generator::PrismNextStateGenerator< ValueType, StateType > > const & |
generator, |
|
|
std::function< StateType(CompressedState const &)> |
stateToIdCallback |
|
) |
| |
Constructor. Invokes super's constructor and stores the thread index which cannot change for the life of the thread
- Parameters
-
parent | The model builder who owns this thread |
threadIndex | The index of this thread |
stateSize | The size of the states |
stateMap | Access to the parent class's stateMap |
◆ mainLoop()
template<typename StateType , typename RewardModelType , typename ValueType >
◆ requestCrossExploration()
template<typename StateType , typename RewardModelType , typename ValueType >
A function called by other threads to request cross exploration of states already explored but encountered by another thread.
- Parameters
-
state | The state to cross explore. |
deltaPi | The difference in reachability to add to that state and push forward to its successors. |
The documentation for this class was generated from the following files:
- /home/josh/Documents/Work/stamina-cplusplus/src/stamina/builder/threads/ControlThread.h
- /home/josh/Documents/Work/stamina-cplusplus/src/stamina/builder/threads/ExplorationThread.h
- /home/josh/Documents/Work/stamina-cplusplus/src/stamina/builder/threads/ExplorationThread.cpp