예제 #1
0
 def equivalence_partitions(self):
     """Returns list of equivalence partitions?"""
     partition = Partition()
     for state in self.states:
         partition.add_state(state, self._outputs(state))
     partition.update()
     self.partitions.append(partition)
     while True:
         partition = Partition()
         for state in self.states:
             # print(state)
             partition.add_state(
                 state, self.partitions[-1].successors_partitions(
                     self._successors(state)))
         partition.update()
         self.partitions.append(partition)
         # print
         if len(self.states) == len(
                 partition):  # or partition == partitions[-1]:
             break
     return self.partitions