public static <I, O> CompactMealy<I, O> minimizeMealy(MealyMachine<?, I, ?, O> mealy,
                                                          Alphabet<I> alphabet,
                                                          PruningMode pruningMode) {
        return doMinimizeMealy(mealy, alphabet, new CompactMealy.Creator<>(), pruningMode);
    }
public static < I , O > CompactMealy < I , O > minimizeMealy ( MealyMachine < ? , I , ? , O > mealy , Alphabet < I > alphabet , PruningMode pruningMode ) { return doMinimizeMealy ( mealy , alphabet , new CompactMealy . Creator < > ( ) , pruningMode ) ; }
Minimizes the given Mealy machine. The result is returned in the form of a {@link CompactMealy}.

@param mealy
the Mealy machine to minimize
@param alphabet
the input alphabet (this will be the input alphabet of the resulting Mealy machine)
@param pruningMode
the pruning mode (see above)

@return a minimized version of the specified Mealy machine