mCRL2
|
#include <liblts_pbisim_bem.h>
Classes | |
struct | block_type |
struct | distribution_type |
struct | step_class_type |
struct | tree_type |
Public Member Functions | |
prob_bisim_partitioner_bem (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) const |
Gives the bisimulation equivalence class number of a state. | |
std::size_t | get_eq_step_class (const std::size_t d) const |
Gives the bisimulation equivalence step 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 (const std::size_t s, const std::size_t t) const |
Returns whether two states are in the same probabilistic bisimulation equivalence class. | |
Private Types | |
typedef std::size_t | block_key_type |
typedef std::size_t | step_class_key_type |
typedef std::size_t | state_type |
typedef std::size_t | label_type |
typedef std::size_t | distribution_key_type |
typedef LTS_TYPE::probabilistic_state_t::probability_t | probability_fraction_type |
Private Member Functions | |
void | create_initial_partition (void) |
Creates the initial partition of step classes and blocks. \detail The blocks are initially partitioned based on the actions that can perform. The step classes are partitioned based on the action that leads to the probabilistic state. | |
probability_fraction_type | probability_to_block (distribution_type &d, block_type &b) |
Calculates the probability to reach block b from distribution d. | |
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 (step_class_type &sc) |
void | refine_partition_until_it_becomes_stable (void) |
Two-phased partitioning algorithm described in page 204. Fig 9. Baier. \detail Refinement of state partition and step partition until no new blocks/step classes are in front of the partition lists. | |
void | postprocessing_stage (void) |
Private Attributes | |
std::list< block_type * > | state_partition |
std::list< step_class_type * > | step_partition |
std::vector< distribution_type > | distributions |
std::deque< step_class_type > | step_classes |
std::deque< step_class_type > | equivalent_step_classes |
std::deque< block_type > | blocks |
std::vector< block_key_type > | block_index_of_a_state |
std::vector< step_class_key_type > | step_class_index_of_a_distribution |
LTS_TYPE & | aut |
Definition at line 24 of file liblts_pbisim_bem.h.
|
private |
Definition at line 138 of file liblts_pbisim_bem.h.
|
private |
Definition at line 142 of file liblts_pbisim_bem.h.
|
private |
Definition at line 141 of file liblts_pbisim_bem.h.
|
private |
Definition at line 143 of file liblts_pbisim_bem.h.
|
private |
Definition at line 140 of file liblts_pbisim_bem.h.
|
private |
Definition at line 139 of file liblts_pbisim_bem.h.
|
inline |
Creates a probabilistic bisimulation partitioner for an PLTS.
This bisimulation partitioner applies the algorithm defined in C. Baier, B. Engelen and M. Majster-Cederbaum. Deciding Bisimilarity and Similarity for Probabilistic Processes. In Journal of Computer and System Sciences 60, 187-237 (2000)
Definition at line 32 of file liblts_pbisim_bem.h.
|
inlineprivate |
Definition at line 467 of file liblts_pbisim_bem.h.
|
inlineprivate |
Definition at line 417 of file liblts_pbisim_bem.h.
|
inlineprivate |
Creates the initial partition of step classes and blocks. \detail The blocks are initially partitioned based on the actions that can perform. The step classes are partitioned based on the action that leads to the probabilistic state.
Definition at line 196 of file liblts_pbisim_bem.h.
|
inline |
Gives the bisimulation equivalence class number of a state.
[in] | s | A state number. |
Definition at line 55 of file liblts_pbisim_bem.h.
|
inline |
Gives the bisimulation equivalence step class number of a probabilistic state.
[in] | s | A probabilistic state number. |
Definition at line 64 of file liblts_pbisim_bem.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 131 of file liblts_pbisim_bem.h.
|
inline |
Gives the number of bisimulation equivalence classes of the LTS.
Definition at line 47 of file liblts_pbisim_bem.h.
|
inlineprivate |
Definition at line 719 of file liblts_pbisim_bem.h.
|
inlineprivate |
Calculates the probability to reach block b from distribution d.
[in] | d | is a probabilistic state (distribution). b is a block of states. |
Definition at line 388 of file liblts_pbisim_bem.h.
|
inlineprivate |
Two-phased partitioning algorithm described in page 204. Fig 9. Baier. \detail Refinement of state partition and step partition until no new blocks/step classes are in front of the partition lists.
Definition at line 485 of file liblts_pbisim_bem.h.
|
inline |
Replaces the probabilistic states of the current lts by the probabilistic states of the bisimulation reduced transition system.
Definition at line 101 of file liblts_pbisim_bem.h.
|
inline |
Replaces the transition relation of the current lts by the transitions of the bisimulation reduced transition system.
Definition at line 75 of file liblts_pbisim_bem.h.
|
private |
Definition at line 176 of file liblts_pbisim_bem.h.
|
private |
Definition at line 173 of file liblts_pbisim_bem.h.
|
private |
Definition at line 172 of file liblts_pbisim_bem.h.
|
private |
Definition at line 169 of file liblts_pbisim_bem.h.
|
private |
Definition at line 171 of file liblts_pbisim_bem.h.
|
private |
Definition at line 167 of file liblts_pbisim_bem.h.
|
private |
Definition at line 174 of file liblts_pbisim_bem.h.
|
private |
Definition at line 170 of file liblts_pbisim_bem.h.
|
private |
Definition at line 168 of file liblts_pbisim_bem.h.