Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
WeakBisimulationData.h
Go to the documentation of this file.
1#pragma once
2
3#include <algorithm>
4#include <cstdint>
5
10
11namespace storm::bisimulation {
12
16template<typename ValueType>
17bool isSilentState(storm::storage::SparseMatrix<ValueType> const& transitions, Partition const& partition, uint64_t const state) {
18 auto const row = transitions.getRow(state);
19 return std::all_of(row.begin(), row.end(), [&partition, &state](auto const& entry) {
20 return storm::utility::isZero(entry.getValue()) || partition.isSameBlock(state, entry.getColumn());
21 });
22}
23
65
66} // namespace storm::bisimulation
Represents a partition of a set of consecutive indices.
Definition Partition.h:20
std::span< ElementIndex const > Block
A contiguous range of elements that form a (possibly proper super-) block of the partition.
Definition Partition.h:27
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:16
A class that holds a possibly non-square matrix in the compressed row storage format.
const_rows getRow(index_type row) const
Returns an object representing the given row.
bool isSilentState(storm::storage::SparseMatrix< ValueType > const &transitions, Partition const &partition, uint64_t const state)
WeakBisimulationData(storm::storage::BitVector divergentStates, storm::storage::BitVector stepSensitiveStates, storm::storage::BitVector silentStates)
bool isDivergent(Partition::Block const &block) const
bool isStepSensitive(Partition::Block const &block) const
storm::storage::BitVector const stepSensitiveStates
The states for which the number of steps taken within their own block is observable,...
storm::storage::BitVector silentStates
The states that cannot leave their block in a single step.
storm::storage::BitVector const divergentStates
The states from which no state outside of their own block can be reached.
bool checkBlockHomogeneity(Partition const &partition) const
Checks that every block of the given partition is homogeneous with respect to divergentStates and ste...