3. 划分等价类的逐次分割法

  此方法又称K等价划分法。因为用K来标志当前是第几次分割。它是实现最小化输出一致的置换性划分的一个有效算法,缺点是效率不太高。
  Step1  令K = 1;
  按照输出一致的要求对S进行划分,即把每一输入组合Ip作用下输出相同的状态归入同一类,形成 π1
  Step2  令K = K + 1; 作πkk-1
  按照置换性划分的要求对πk继续进行划分:对于πk中每一个类Si(Si∈πk), 在每一输入组合Ip作用下,凡siq∈Si的后继状态能落入πk-1 的同一类中者,构成一个新类。然后用这若干个新类代替Si
  Step3 若πkk-1 , 算法结束,πk即为所求结果。 否则,转Step2
  举例:表4.15描述的时序机的状态集为:
            S = { a , b , c , d , e }
  求其输出一致的置换性最小划分。
  Step1  K = 1;
        π1 = {(a , b , c),(d , e)};
  Step2  K = K + 1 = 2;
        π2 = π1 = {(a , b , c),(d , e)};
  对π2中每一个类继续进行划分:
  (1)检查(a , b , c):在输入信号In = 1 时,
  因此,用 {( a ,b) ,(c)} 代替{(a ,b ,c )}
  (2)检查 ( d ,e )
  因此,(d,e)保持不变。
  于是, π2 = {(a ,b),(c),(d,e)}
  Step3  π2≠π1  转Step2
  Step2' K = K + 1 = 3;
       π3 = π2 = {(a ,b) ,(c),(d ,e)}
  对 π3 中每一个类进行检查,均符合置换性划分的要求,故不再继续划分。
  Step3' 因 π3 = π2 , 算法结束, π3 就是最终结果。