#include<dyn/module/quotient.hh>
Namespace: awali::dyn
    automaton_t
    merge(automaton_t aut, std::vector<std::vector<state_t>>& partition);

Parameters

Return value

A dynamic Awali automaton which is the quotient of the input with respect to the partition. This automaton has a PARTITION history.

The representant of each part is the state with the minimal id; parts are sorted with respect to their representant; the identifiers of states of the quotient are ordered with respect to this ordering.
Outgoing transitions are computed with respect to outgoing transitions of the representants.
There is no checking that the partition is congruent with transitions.

    automaton_t
    quotient(automaton_t aut, std::vector<std::vector<state_t>>& partition);

Parameters

Return value

A dynamic Awali automaton which is the quotient of the input with respect to the partition. This automaton has a PARTITION history.

The representant of each part is the state with the minimal id; parts are sorted with respect to their representant; the identifiers of states of the quotient are ordered with respect to this ordering.
If the partition is not congruent with transitions, a runtime error is thrown.

    bool
    is_congruence(automaton_t aut, const std::vector<std::vector<state_t>>& partition);

Parameters

Return value

true if the partition is congruent with the transitions of the input; false otherwise.

    automaton_t
    min_quotient(automaton_t aut, param_t algo = HOPCROFT);

Parameters

Return value

A dynamic Awali automaton which is the minimal quotient of the input. This automaton has a PARTITION history.

    automaton_t
    min_quotient_det(automaton_t aut, param_t algo = MOORE);

Parameters

Return value

A deterministic dynamic Awali automaton which is the minimal quotient of the input. This automaton has a PARTITION history.

This function is specialization of the previous one for deterministic automata. Weighted deterministic automata are supported.


#include<dyn/module/quotient.hh>
Namespace: awali::dyn
    automaton_t
    min_coquotient(automaton_t aut, param_t algo = HOPCROFT);

Parameters

Return value

A dynamic Awali automaton which is the minimal co-quotient of the input. This automaton has a PARTITION history.

    automaton_t
    coquotient(automaton_t aut, std::vector<std::vector<state_t>>& partition);

Parameters

Return value

A dynamic Awali automaton which is the co-quotient of the input with respect to the partition. This automaton has a PARTITION history.

The representant of each part is the state with the minimal id; parts are sorted with respect to their representant; the identifiers of states of the quotient are ordered with respect to this ordering.
If the partition is not congruent with reverse transitions, a runtime error is thrown.