- `storm-counterexamples`: fix when computing multiple counterexamples in debug mode
- `storm-counterexamples`: fix when computing multiple counterexamples in debug mode
- `storm-dft`: Renamed setting `--show-dft-stats` to `dft-statistics` and added approximation information to statistics.
- `storm-dft`: Renamed setting `--show-dft-stats` to `dft-statistics` and added approximation information to statistics.
- `storm-pomdp`: Implemented approximation algorithms that explore (a discritization of) the belief MDP, allowing to compute safe lower- and upper bounds for a given property.
- `storm-pomdp`: Implemented approximation algorithms that explore (a discritization of) the belief MDP, allowing to compute safe lower- and upper bounds for a given property.
this->addOption(storm::settings::OptionBuilder(moduleName,noCanonicOption,false,"If this is set, actions will not be ordered canonically. Could yield incorrect results.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,noCanonicOption,false,"If this is set, actions will not be ordered canonically. Could yield incorrect results.").build());
@ -45,9 +44,8 @@ namespace storm {
this->addOption(storm::settings::OptionBuilder(moduleName,transformBinaryOption,false,"Transforms the pomdp to a binary pomdp.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,transformBinaryOption,false,"Transforms the pomdp to a binary pomdp.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,transformSimpleOption,false,"Transforms the pomdp to a binary and simple pomdp.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,transformSimpleOption,false,"Transforms the pomdp to a binary and simple pomdp.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,beliefExplorationOption,false,"Analyze the POMDP by exploring the belief state-space.").addArgument(storm::settings::ArgumentBuilder::createStringArgument("mode","Sets whether lower, upper, or interval result bounds are computed.").addValidatorString(ArgumentValidatorFactory::createMultipleChoiceValidator(beliefExplorationModes)).setDefaultValueString("both").makeOptional().build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,beliefExplorationOption,false,"Analyze the POMDP by exploring the belief state-space.").addArgument(storm::settings::ArgumentBuilder::createStringArgument("mode","Sets whether lower, upper, or interval result bounds are computed.").addValidatorString(ArgumentValidatorFactory::createMultipleChoiceValidator(beliefExplorationModes)).setDefaultValueString("both").makeOptional().build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,memlessSearchOption,false,"Search for a qualitative memoryless scheuler").addArgument(storm::settings::ArgumentBuilder::createStringArgument("method","method name").addValidatorString(ArgumentValidatorFactory::createMultipleChoiceValidator(memlessSearchMethods)).setDefaultValueString("none").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,checkFullyObservableOption,false,"Performs standard model checking on the underlying MDP").build());
this->addOption(storm::settings::OptionBuilder(moduleName,checkFullyObservableOption,false,"Performs standard model checking on the underlying MDP").build());
this->addOption(storm::settings::OptionBuilder(moduleName,isQualitativeOption,false,"Sets the option qualitative analysis").build());
this->addOption(storm::settings::OptionBuilder(moduleName,exportSATCallsOption,false,"Export the SAT calls?.").addArgument(storm::settings::ArgumentBuilder::createStringArgument("path","The name of the file to which to write the model.").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,memlessSearchOption,false,"Search for a qualitative memoryless scheduler").addArgument(storm::settings::ArgumentBuilder::createStringArgument("method","method name").addValidatorString(ArgumentValidatorFactory::createMultipleChoiceValidator(memlessSearchMethods)).setDefaultValueString("iterative").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,exportSATCallsOption,false,"Export the SAT calls?.").setIsAdvanced().addArgument(storm::settings::ArgumentBuilder::createStringArgument("path","The name of the path to which to write the models.").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,lookaheadHorizonOption,false,"In reachability in combination with a discrete ranking function, a lookahead is necessary.").addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("bound","The lookahead. Use 0 for the number of states.").setDefaultValueUnsignedInteger(0).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,lookaheadHorizonOption,false,"In reachability in combination with a discrete ranking function, a lookahead is necessary.").addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("bound","The lookahead. Use 0 for the number of states.").setDefaultValueUnsignedInteger(0).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,onlyDeterministicOption,false,"Search only for deterministic schedulers").build());
this->addOption(storm::settings::OptionBuilder(moduleName,onlyDeterministicOption,false,"Search only for deterministic schedulers").setIsAdvanced().build());
this->addOption(storm::settings::OptionBuilder(moduleName,winningRegionOption,false,"Search for the winning region").build());
this->addOption(storm::settings::OptionBuilder(moduleName,winningRegionOption,false,"Search for the winning region").build());
this->addOption(storm::settings::OptionBuilder(moduleName,validationLevel,false,"Validate algorithm during runtime (for debugging)").addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("level","how regular to apply this validation. Use 0 for never, 1 for the end, and >=2 within computation steps.").setDefaultValueUnsignedInteger(0).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,lookaheadTypeOption,false,"What type to use for the ranking function").setIsAdvanced().addArgument(storm::settings::ArgumentBuilder::createStringArgument("type","The type.").setDefaultValueString("real").addValidatorString(ArgumentValidatorFactory::createMultipleChoiceValidator({"bool","int","real"})).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,validationLevel,true,"Validate algorithm during runtime (for debugging)").setIsAdvanced().addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("level","how regular to apply this validation. Use 0 for never, 1 for the end, and >=2 within computation steps.").setDefaultValueUnsignedInteger(0).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,expensiveStatsOption,true,"Compute all stats, even if this is expensive.").setIsAdvanced().build());
this->addOption(storm::settings::OptionBuilder(moduleName,exportWinningRegionOption,false,"Export the winning region.").setIsAdvanced().addArgument(storm::settings::ArgumentBuilder::createStringArgument("path","The name of the file to which to write the winning region.").build()).build());
STORM_LOG_THROW(formulaInfo.isNonNestedReachabilityProbability(),storm::exceptions::NotSupportedException,"Qualitative memoryless scheduler search is not implemented for this property type.");
STORM_LOG_THROW(formulaInfo.isNonNestedReachabilityProbability(),storm::exceptions::NotSupportedException,"Qualitative memoryless scheduler search is not implemented for this property type.");