1. 等价状态
设某时序机状态集合的一个子集为:
Sk = { s0 ,s1 ,… si …sj
…st }
若初始状态处于Sk 中的任意一个,在任一可能的输入序列作用下,其输出序列皆相同,则称Sk 是一个等价类,其中每个状态相互等价。
今后我们还会寻求使用起来更为方便的定义。
· 等价状态对
设状态si , sj 是某时序机状态集合S中的两个状态,分别对其施加各种可能的输入组合Ip,若同时满足以下条件:
(1)输出完全相同,即
Z( si , Ip)= Z( sj, Ip)
( Ip∈I , si , sj∈S ) ("="表示相同)
(2)后继状态等价,即
N( si , Ip)= N( sj, Ip)
( Ip∈I , si , sj∈S ) ("="表示等价)
则称si 与sj等价,它们是等价"状态对"。
· 等价状态的性质:
(1)可传递性: 在完全规定时序机中,若 si = sj 且 sj=
sk
则 si= sk
(2) 在完全规定时序机中,若 s0,s1,… si …sj…st都等价于si,
则 { s0,s1,… si …sj…st
} 是一个等价类。
· 最大等价类:不被其它等价类所包含的等价类称为最大等价类。
在完全规定时序机的状态最小化运算中,可以把一个等价类归并为一个状态。显然,状态数最少的时序机中,每一个等价类必然是最大等价类。
2. 状态划分
划分是集合的一种运算,我们研究状态划分的目的是为了解决时序机的状态化简问题。
· 状态划分的定义:设 S1, S2, …Si, …Sm都是状态集合S的子集,若同时满足以下条件:
Si∩Sj =
( i≠j )
S1∪S2 ∪…∪Si…∪Sm = S
则集合 πk= { S1, S2, …Si,
…Sm } 是S的一个划分。并称Si是πk 的一个分组或类(Class, Block)。
实例:集合S = a, b, c 有以下可能的划分:
π1 = {(a),(b),(c)} = { S1 , S2 , S3}
π2 = {(a , b),(c)} = { S1, S2 }
π3 = {(a),(b , c)} = { S 1, S2}
π4 = {(a , c),(b)} = { S1, S2}
π5 = {(a , b , c)} = { S1}
其中 π1和 π5是原集合的再现,属于无效划分。 π1中划分类的总数等于S中状态的总数,且每个类中只包含1个状态,称作O划分;
π5中 只包含1个类,称作单位划分I。
|