53 virtual bool solve() = 0;
95 virtual void setStopTrigger(
const std::chrono::seconds &timeLimit, std::atomic_bool &stopTrigger,
const bool *stopPointer) = 0;
101 const std::set<std::string>
m_Sp;
105 const std::set<std::string>
m_Sm;
113 const std::set<std::string>
m_S;
140 Method(
const std::set<std::string> &SpSet,
const std::set<std::string> &SmSet,
const std::set<std::string> &SSet,
const std::set<std::string> &prefixesSet,
const std::set<char> &alphabetSet,
unsigned int n);
virtual std::unique_ptr< DFA< char > > constructDFA()=0
Constructs the DFA induced by the variables according to the method.
const std::set< char > m_alphabet
The namespace of the library.
const std::array< const std::string, 8 > allMethods
An array with every possible method choice.
This file declares and implements the templated class DFA.
double timeToSolve() const
Gives the CPU time taken to solve the problem.
const std::set< std::string > m_Sm
The set of words to reject .
const std::set< std::string > m_prefixes
unsigned int numberOfStates() const
Gives the number of states of the prospected DFA (the n)
virtual void setStopTrigger(const std::chrono::seconds &timeLimit, std::atomic_bool &stopTrigger, const bool *stopPointer)=0
Sets the stop trigger for this method.
bool hasSolution() const
If solve() has been called and if there exists a solution, return True.
const unsigned int m_numberStates
The number of states in the DFA to construct.
The base class of all passive methods.
const std::set< std::string > m_S
In the code, .
const std::set< std::string > m_Sp
The set of words to accept .
virtual bool solve()=0
Solves the SAT/SMT problem induced by the method.