libgsjj  1
Deterministic finite automata learning library
UnaryCNFMethod.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace gsjj {
7  namespace passive {
8  namespace CNF {
14  class UnaryCNFMethod : public SATCNFMethod, public RegisterInFactory<UnaryCNFMethod> {
15  public:
16  UnaryCNFMethod() = delete;
18 
19  static std::string getFactoryName();
20 
21  protected:
22  void createVariables() override;
23  void createClauses() override;
24  std::unique_ptr<DFA<char>> toDFA(const Minisat::vec<Minisat::lbool> &model) const override;
25 
26  UnaryCNFMethod(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);
27 
28  private:
32  typedef std::map<std::pair<std::string, unsigned int>, Minisat::Var> states_map;
36  typedef states_map::value_type state;
37 
38  private:
39  states_map m_stateName;
40  };
41  }
42  }
43 }
The namespace of the library.
Definition: binary.h:11
void createVariables() override
Creates all needed variables for the method.
Helps to register a method in the factory.
Definition: MethodFactory.h:84
Base class for every method that relies on a SAT solver.
Definition: SATCNFMethod.h:22
The Grinchtein, Leucker and Piterman&#39;s unary method.
std::unique_ptr< DFA< char > > toDFA(const Minisat::vec< Minisat::lbool > &model) const override
Effectively creates the DFA from the values of the variables in the given model.
void createClauses() override
Creates all needed clauses for the method.