11 REGISTER_DEFINE(
pair);
15 return detail::pair_registry().call(aut, keep_initials);
22 return detail::synchronizing_word_registry().call(aut, algo);
29 return detail::is_synchronized_by_registry().call(aut, word);
36 return detail::is_synchronizing_registry().call(aut);
39 REGISTER_DEFINE(
cerny);
43 return detail::cerny_registry().call(aut, num_states);
std::shared_ptr< detail::automaton_base > automaton
automaton pair(const automaton &aut, bool keep_initials=false)
Build the pair automaton of the given automaton.
bool is_synchronized_by(const automaton &aut, const label &word)
Whether the word synchronizes aut.
bool is_synchronizing(const automaton &aut)
Whether is synchronizing.
std::shared_ptr< const detail::label_base > label
std::shared_ptr< const detail::context_base > context
label synchronizing_word(const automaton &aut, const std::string &algo="greedy")
A synchronizing word, or raise if there is none.
automaton cerny(const context &ctx, unsigned num_states)
Produce a Černý automaton of num_states states.