10#ifndef MCRL2_LPS_EXPLORATION_STRATEGY_H
11#define MCRL2_LPS_EXPLORATION_STRATEGY_H
33 if (s==
"b" || s==
"breadth")
37 if (s==
"d" || s==
"depth")
41 if (s==
"r" || s==
"random")
45 if (s==
"p" || s==
"prioritized")
49 if (s==
"q" || s==
"rprioritized")
53 if (s==
"h" || s ==
"highway")
74 return "rprioritized";
93 is.setstate(std::ios_base::failbit);
110 return "breadth-first search";
112 return "depth-first search";
114 return "random simulation. Out of all next states one is chosen at random independently of whether this state has already been observed. Consequently, random simulation only terminates when a deadlocked state is encountered.";
116 return "prioritize single actions on its first argument being of sort Nat where only those actions with the lowest value for this parameter are selected. E.g. if there are actions a(3) and b(4), a(3) remains and b(4) is skipped. Actions without a first parameter of sort Nat and multactions with more than one action are always chosen (option is experimental)";
118 return "prioritize actions on its first argument being of sort Nat (see option --prioritized), and randomly select one of these to obtain a prioritized random simulation (option is experimental)";
120 return "highway search. Only part of the state space is explored, by restricting the size of the todo list. N.B. The implementation deviates slightly from the published version.";
Standard exception class for reporting runtime errors.
Exception classes for use in libraries and tools.
exploration_strategy parse_exploration_strategy(const std::string &s)
std::ostream & operator<<(std::ostream &out, const action_summand &x)
@ es_value_random_prioritized
std::string description(const exploration_strategy strat)
std::string print_exploration_strategy(const exploration_strategy es)
std::istream & operator>>(std::istream &is, exploration_strategy &strat)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...