/** Minimizes the given automaton using Brzozowski's algorithm. */ public static void minimizeBrzozowski(Automaton a) { if (a.isSingleton()) return; BasicOperations.determinize(a, SpecialOperations.reverse(a)); BasicOperations.determinize(a, SpecialOperations.reverse(a)); }
/** Simple, original brics implementation of Brzozowski minimize() */ public static void minimizeSimple(Automaton a) { if (a.isSingleton()) return; determinizeSimple(a, SpecialOperations.reverse(a)); determinizeSimple(a, SpecialOperations.reverse(a)); }