You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There is a defect affecting the computation of characterization sets for DFAs and Moore machines.
The partitioning of states performed by the private method _split_blocks in class Automaton computes incomplete sequences to differentiate states. The computed output sequences lack the output (acceptance flag for DFA states) of the states that shall be distinguished. As a result, states that with different labels that are otherwise indistinguishable are considered equivalent, which causes the characterization set computation to throw an exception noting that the automaton is non-canonical.
The defect does not affect the computation for Mealy machines where outputs label the transitions.
A possible fix would be to handle empty sequences as a special case, i.e., check the outputs of two states to determine whether empty sequence distinguishes the states.
Alternatively, the outputs of the states to be differentiate could be prepended to the computed output sequences.
The text was updated successfully, but these errors were encountered:
There is a defect affecting the computation of characterization sets for DFAs and Moore machines.
The partitioning of states performed by the private method
_split_blocks
in classAutomaton
computes incomplete sequences to differentiate states. The computed output sequences lack the output (acceptance flag for DFA states) of the states that shall be distinguished. As a result, states that with different labels that are otherwise indistinguishable are considered equivalent, which causes the characterization set computation to throw an exception noting that the automaton is non-canonical.The defect does not affect the computation for Mealy machines where outputs label the transitions.
A possible fix would be to handle empty sequences as a special case, i.e., check the outputs of two states to determine whether empty sequence distinguishes the states.
Alternatively, the outputs of the states to be differentiate could be prepended to the computed output sequences.
The text was updated successfully, but these errors were encountered: