|
@ -336,13 +336,14 @@ int main(const int argc, const char* argv[]) { |
|
|
std::shared_ptr<storm::models::AbstractModel<double>> model = adapter.getModel(constants); |
|
|
std::shared_ptr<storm::models::AbstractModel<double>> model = adapter.getModel(constants); |
|
|
model->printModelInformationToStream(std::cout); |
|
|
model->printModelInformationToStream(std::cout); |
|
|
|
|
|
|
|
|
if (model->getType() == storm::models::MDP) { |
|
|
|
|
|
std::shared_ptr<storm::models::Mdp<double>> labeledMdp = model->as<storm::models::Mdp<double>>(); |
|
|
|
|
|
storm::storage::BitVector const& finishedStates = labeledMdp->getLabeledStates("finished"); |
|
|
|
|
|
storm::storage::BitVector const& allCoinsEqual1States = labeledMdp->getLabeledStates("all_coins_equal_1"); |
|
|
|
|
|
storm::storage::BitVector targetStates = finishedStates & allCoinsEqual1States; |
|
|
|
|
|
storm::counterexamples::MinimalLabelSetGenerator<double>::getMinimalLabelSet(*labeledMdp, storm::storage::BitVector(labeledMdp->getNumberOfStates(), true), targetStates, 0.3, true, true); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// Enable the following lines to test the MinimalLabelSetGenerator.
|
|
|
|
|
|
// if (model->getType() == storm::models::MDP) {
|
|
|
|
|
|
// std::shared_ptr<storm::models::Mdp<double>> labeledMdp = model->as<storm::models::Mdp<double>>();
|
|
|
|
|
|
// storm::storage::BitVector const& finishedStates = labeledMdp->getLabeledStates("finished");
|
|
|
|
|
|
// storm::storage::BitVector const& allCoinsEqual1States = labeledMdp->getLabeledStates("all_coins_equal_1");
|
|
|
|
|
|
// storm::storage::BitVector targetStates = finishedStates & allCoinsEqual1States;
|
|
|
|
|
|
// storm::counterexamples::MinimalLabelSetGenerator<double>::getMinimalLabelSet(*labeledMdp, storm::storage::BitVector(labeledMdp->getNumberOfStates(), true), targetStates, 0.3, true, true);
|
|
|
|
|
|
// }
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// Perform clean-up and terminate.
|
|
|
// Perform clean-up and terminate.
|
|
|