def _are_undistinguishable(
self, state_a: str, state_b: str,
undistinguishable: Set[FrozenSet[str]]) -> bool:
"""
State a and b are distinguishable if they go to distinguishable
states for some input symbol.
"""
for symbol in self._alphabet:
transition_a = \
list(self._transitions.get((state_a, symbol), {""}))[0]
transition_b = \
list(self._transitions.get((state_b, symbol), {""}))[0]
if transition_a != transition_b and \
frozenset((transition_a, transition_b)) not in \
undistinguishable:
return False
return True
评论列表
文章目录