/* * RandomAutomatonFactory.h * * Created on: 27. 3. 2014 * Author: Tomas Pecka */ #ifndef RANDOM_AUTOMATON_FACTORY_H_ #define RANDOM_AUTOMATON_FACTORY_H_ #include <deque> #include <set> #include <automaton/FSM/NFA.h> namespace automaton { namespace generate { class RandomAutomatonFactory { public: static automaton::NFA < > generateNFA( size_t statesCount, ext::set<DefaultSymbolType> alphabet, double density ); static automaton::NFA < > generateNFA( size_t statesCount, size_t alphabetSize, bool randomizedAlphabet, double density ); private: static automaton::NFA < > LeslieConnectedNFA( size_t n, const ext::deque<DefaultSymbolType> & alphabet, double density ); }; } /* namespace generate */ } /* namespace automaton */ #endif /* RANDOM_AUTOMATON_FACTORY_H_ */