|
mCRL2
|
#include <liblts_pbisim_grv.h>
Classes | |
| struct | action_block_type |
| struct | action_constellation_type |
| struct | action_mark_type |
| struct | action_state_type |
| struct | action_transition_type |
| struct | probabilistic_block_type |
| struct | probabilistic_constellation_type |
| struct | probabilistic_mark_type |
| struct | probabilistic_state_type |
| struct | probabilistic_transition_type |
| class | transitions_per_label_t |
Public Member Functions | |
| prob_bisim_partitioner_grv (LTS_TYPE &l, utilities::execution_timer &timer) | |
| Creates a probabilistic bisimulation partitioner for an PLTS. | |
| std::size_t | num_eq_classes () const |
| Gives the number of bisimulation equivalence classes of the LTS. | |
| std::size_t | get_eq_class (const std::size_t s) |
| Gives the bisimulation equivalence class number of a state. | |
| std::size_t | get_eq_probabilistic_class (const std::size_t s) |
| Gives the bisimulation equivalence probabilistic class number of a probabilistic state. | |
| void | replace_transitions () |
| Replaces the transition relation of the current lts by the transitions of the bisimulation reduced transition system. | |
| void | replace_probabilistic_states () |
| Replaces the probabilistic states of the current lts by the probabilistic states of the bisimulation reduced transition system. | |
| bool | in_same_probabilistic_class_grv (const std::size_t s, const std::size_t t) |
| Returns whether two states are in the same probabilistic bisimulation equivalence class. | |
Protected Types | |
| using | block_key_type = std::size_t |
| using | constellation_key_type = std::size_t |
| using | transition_key_type = std::size_t |
| using | state_key_type = std::size_t |
| using | label_type = std::size_t |
| using | probability_label_type = typename LTS_TYPE::probabilistic_state_t::probability_t |
| using | probability_fraction_type = typename LTS_TYPE::probabilistic_state_t::probability_t |
Protected Member Functions | |
| bool | check_data_structure () |
| void | print_structure (const std::string &info) |
| void | create_initial_partition () |
| void | preprocessing_stage () |
| void | refine_initial_action_block (const std::vector< embedded_list< action_transition_type > > &transitions_per_label) |
| template<typename LIST_ELEMENT > | |
| void | move_list_element_back (LIST_ELEMENT &s, embedded_list< LIST_ELEMENT > &source_list, embedded_list< LIST_ELEMENT > &dest_list) |
| template<typename LIST_ELEMENT > | |
| void | move_list_element_front (LIST_ELEMENT &s, embedded_list< LIST_ELEMENT > &source_list, embedded_list< LIST_ELEMENT > &dest_list) |
| Move an element of a list to the front of another the list. | |
| void | refine_partition_until_it_becomes_stable () |
| Refine partition until it becomes stable. | |
| void | split_probabilistic_block (probabilistic_block_type &block_to_split, embedded_list< probabilistic_state_type > &states_of_new_block) |
| Split a probabilistic block. | |
| void | split_action_block (action_block_type &block_to_split, embedded_list< action_state_type > &states_of_new_block) |
| Split an action block. | |
| void | mark_probabilistic (const action_block_type &Bc, std::deque< probabilistic_mark_type > &marked_probabilistic_blocks) |
| Gives the probabilistic blocks that are marked by block Bc. | |
| void | mark_action (std::deque< action_mark_type > &marked_action_blocks, const label_type &a, typename embedded_list< action_transition_type >::iterator &action_walker_begin, const typename embedded_list< action_transition_type >::iterator action_walker_end) |
| Gives the action blocks that are marked by probabilistic block Bc. | |
| action_block_type * | choose_action_splitter (action_constellation_type *non_trivial_action_const) |
| Choose an splitter block from a non trivial constellation. | |
| probabilistic_block_type * | choose_probabilistic_splitter (probabilistic_constellation_type *non_trivial_probabilistic_const) |
| Choose an splitter block from a non trivial constellation. | |
| LTS_TYPE::probabilistic_state_t | calculate_new_probabilistic_state (typename LTS_TYPE::probabilistic_state_t ps) |
| LTS_TYPE::probabilistic_state_t | calculate_equivalent_probabilistic_state (probabilistic_block_type &pb) |
Definition at line 22 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 139 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 140 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 143 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 145 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 144 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 142 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 141 of file liblts_pbisim_grv.h.
|
inline |
Creates a probabilistic bisimulation partitioner for an PLTS.
This bisimulation partitioner applies the algorithm described in "J.F. Groote, H.J. Rivera, E.P. de Vink, An O(mlogn) algorithm for probabilistic bisimulation".
Definition at line 29 of file liblts_pbisim_grv.h.
|
inlineprotected |
Definition at line 1298 of file liblts_pbisim_grv.h.
|
inlineprotected |
Definition at line 1251 of file liblts_pbisim_grv.h.
|
inlineprotected |
Definition at line 346 of file liblts_pbisim_grv.h.
|
inlineprotected |
Choose an splitter block from a non trivial constellation.
The number of states in the chosen splitter is always less than the half of the non trivial constellation. Furtheremore, the selected splitter is moved to a new constellation.
Definition at line 1173 of file liblts_pbisim_grv.h.
|
inlineprotected |
Choose an splitter block from a non trivial constellation.
The number of states in the chosen splitter is always less than the half of the non trivial constellation. Furtheremore, the selected splitter is moved to a new constellation.
Definition at line 1216 of file liblts_pbisim_grv.h.
|
inlineprotected |
Creates the initial partition.
The blocks are initially partitioned based on the actions that can perform.
Definition at line 443 of file liblts_pbisim_grv.h.
|
inline |
Gives the bisimulation equivalence class number of a state.
| [in] | A | state number. |
Definition at line 52 of file liblts_pbisim_grv.h.
|
inline |
Gives the bisimulation equivalence probabilistic class number of a probabilistic state.
| [in] | A | probabilistic state number. |
Definition at line 61 of file liblts_pbisim_grv.h.
|
inline |
Returns whether two states are in the same probabilistic bisimulation equivalence class.
| [in] | s | A state number. |
| [in] | t | A state number. |
| true | if s and t are in the same bisimulation equivalence class; |
| false | otherwise. |
Definition at line 129 of file liblts_pbisim_grv.h.
|
inlineprotected |
Gives the action blocks that are marked by probabilistic block Bc.
Derives the left, middle and rigth sets of the marked action blocks, based on the incoming action transitions labeled with "a" in block Bc.
Definition at line 1058 of file liblts_pbisim_grv.h.
|
inlineprotected |
Gives the probabilistic blocks that are marked by block Bc.
Derives the left, middle and rigth sets of the marked probabilistic blocks, based on the incoming probabilistic transitions in block Bc.
Definition at line 928 of file liblts_pbisim_grv.h.
|
inlineprotected |
Definition at line 692 of file liblts_pbisim_grv.h.
|
inlineprotected |
Move an element of a list to the front of another the list.
Definition at line 702 of file liblts_pbisim_grv.h.
|
inline |
Gives the number of bisimulation equivalence classes of the LTS.
Definition at line 44 of file liblts_pbisim_grv.h.
|
inlineprotected |
Definition at line 562 of file liblts_pbisim_grv.h.
|
inlineprotected |
Definition at line 409 of file liblts_pbisim_grv.h.
|
inlineprotected |
Definition at line 621 of file liblts_pbisim_grv.h.
|
inlineprotected |
Refine partition until it becomes stable.
Definition at line 711 of file liblts_pbisim_grv.h.
|
inline |
Replaces the probabilistic states of the current lts by the probabilistic states of the bisimulation reduced transition system.
Definition at line 96 of file liblts_pbisim_grv.h.
|
inline |
Replaces the transition relation of the current lts by the transitions of the bisimulation reduced transition system.
Definition at line 70 of file liblts_pbisim_grv.h.
|
inlineprotected |
Split an action block.
Creates another block containing the states specified in states_of_new_block. It adds the new block to the same constellation as the current block to split.
Definition at line 891 of file liblts_pbisim_grv.h.
|
inlineprotected |
Split a probabilistic block.
Creates another block containing the states specified in states_of_new_block. It adds the new block to the same constellation as the current block to split.
Definition at line 856 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 321 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 323 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 319 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 317 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 344 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 337 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 335 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 336 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 331 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 332 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 322 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 324 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 320 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 318 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 328 of file liblts_pbisim_grv.h.
|
protected |
Definition at line 341 of file liblts_pbisim_grv.h.