libgsjj  1
Deterministic finite automata learning library
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
gsjj::passive::SMT::NeiderJansenMethod Class Reference

The Neider and Jansen method. More...

#include <NeiderJansenMethod.h>

Inheritance diagram for gsjj::passive::SMT::NeiderJansenMethod:
Inheritance graph
[legend]
Collaboration diagram for gsjj::passive::SMT::NeiderJansenMethod:
Collaboration graph
[legend]

Public Member Functions

 NeiderJansenMethod ()=delete
 
 ~NeiderJansenMethod ()
 
- Public Member Functions inherited from gsjj::passive::SMT::SMTMethod
 SMTMethod ()=delete
 
virtual ~SMTMethod ()
 
bool solve () override
 Solves the SAT/SMT problem induced by the method. More...
 
std::unique_ptr< DFA< char > > constructDFA () override
 Constructs the DFA induced by the variables according to the method. More...
 
virtual void setStopTrigger (const std::chrono::seconds &timeLimit, std::atomic_bool &stopTrigger, const bool *stopPointer) override
 Sets the stop trigger for this method. More...
 
- Public Member Functions inherited from gsjj::passive::Method
 Method ()=delete
 
virtual ~Method ()
 
bool hasSolution () const
 If solve() has been called and if there exists a solution, return True. More...
 
unsigned int numberOfStates () const
 Gives the number of states of the prospected DFA (the n) More...
 
double timeToSolve () const
 Gives the CPU time taken to solve the problem. More...
 

Static Public Member Functions

static std::string getFactoryName ()
 

Protected Member Functions

void createVariables () override
 Creates all needed variables for the method. More...
 
CVC4::Expr createConstraints () override
 Creates an unique expression describing the constraints of this method. More...
 
std::unique_ptr< DFA< char > > toDFA ()
 Effectively creates the DFA from the values of the variables in the SMT solver (see SMTMethod::m_SMTEngine) More...
 
 NeiderJansenMethod (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)
 
- Protected Member Functions inherited from gsjj::passive::SMT::SMTMethod
 SMTMethod (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)
 
- Protected Member Functions inherited from gsjj::passive::Method
 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)
 Creates the method. More...
 

Additional Inherited Members

- Protected Attributes inherited from gsjj::passive::SMT::SMTMethod
CVC4::ExprManager m_exprManager
 This must be used to create new variables, constants and expressions. More...
 
CVC4::SmtEngine m_SMTEngine
 This computes acceptable values for the variables and allows to retrieve them. More...
 
- Protected Attributes inherited from gsjj::passive::Method
const std::set< std::string > m_Sp
 The set of words to accept $S_+$. More...
 
const std::set< std::string > m_Sm
 The set of words to reject $S_-$. More...
 
const unsigned int m_numberStates
 The number of states in the DFA to construct. More...
 
const std::set< std::string > m_S
 In the code, $S = S_+ \cup S_-$. More...
 
const std::set< std::string > m_prefixes
 $Pref(S_+ \cup S_-)$ More...
 
const std::set< char > m_alphabet
 $\Sigma$ More...
 
bool m_triedSolve
 
bool m_hasSolution
 
double m_cpuTimeStart
 
double m_cpuTimeEnd
 
- Static Protected Attributes inherited from gsjj::passive::RegisterInFactory< NeiderJansenMethod >
static bool s_registered
 Useful to make sure the template is correctly used by the compiler. More...
 

Detailed Description

The Neider and Jansen method.

Definition at line 12 of file NeiderJansenMethod.h.

Constructor & Destructor Documentation

◆ NeiderJansenMethod() [1/2]

gsjj::passive::SMT::NeiderJansenMethod::NeiderJansenMethod ( )
delete

◆ ~NeiderJansenMethod()

gsjj::passive::SMT::NeiderJansenMethod::~NeiderJansenMethod ( )

Definition at line 22 of file NeiderJansenMethod.cpp.

◆ NeiderJansenMethod() [2/2]

gsjj::passive::SMT::NeiderJansenMethod::NeiderJansenMethod ( 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 
)
protected

Definition at line 12 of file NeiderJansenMethod.cpp.

Member Function Documentation

◆ createConstraints()

CVC4::Expr gsjj::passive::SMT::NeiderJansenMethod::createConstraints ( )
overrideprotectedvirtual

Creates an unique expression describing the constraints of this method.

Returns
The expression

Implements gsjj::passive::SMT::SMTMethod.

Definition at line 61 of file NeiderJansenMethod.cpp.

◆ createVariables()

void gsjj::passive::SMT::NeiderJansenMethod::createVariables ( )
overrideprotectedvirtual

Creates all needed variables for the method.

Implements gsjj::passive::SMT::SMTMethod.

Definition at line 30 of file NeiderJansenMethod.cpp.

◆ getFactoryName()

std::string gsjj::passive::SMT::NeiderJansenMethod::getFactoryName ( )
static

Definition at line 26 of file NeiderJansenMethod.cpp.

◆ toDFA()

std::unique_ptr< DFA< char > > gsjj::passive::SMT::NeiderJansenMethod::toDFA ( )
protectedvirtual

Effectively creates the DFA from the values of the variables in the SMT solver (see SMTMethod::m_SMTEngine)

Returns
An unique_ptr to the constructed DFA

Implements gsjj::passive::SMT::SMTMethod.

Definition at line 130 of file NeiderJansenMethod.cpp.


The documentation for this class was generated from the following files: