Skip to content
Snippets Groups Projects
RandomAutomatonFactory.h 789 B
Newer Older
  • Learn to ignore specific revisions
  • /*
     * RandomAutomatonFactory.h
     *
     *  Created on: 27. 3. 2014
    
    Jan Trávníček's avatar
    Jan Trávníček committed
     *	  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_ */