|
设状态si 的二进制编码为: si1si2……sik…sin 状态sj 的二进制编码为: sj1sj2……sjk…sjn 只在某一位上(例如第k位)取值不同,则说状态si 和sj 的编码相邻。 下面以简化次态函数的布尔表达式为例,说明状态编码相邻所带来的好处。设在同一输入组合Ip的作用下,若状态si和sj 的次态相同 N(si , Ip) = N(sj , Ip) = st 则次态函数 st = si · Ip + sj · Ip = ( si + sj )·Ip 若si和sj的编码相邻,则(si + sj )可合并为一项,从而使次态函数得到简化。 下面再举例说明状态相邻给输出函数布尔表达式的化简所带来的好处。设在同一输入组合Ip的作用下,若状态si和sj 的输出相同 Z(si , Ip) = Z(sj , Ip) 输出信号 Or = si · Ip + sj · Ip= ( si + sj)· Ip 同理,若si和sj 的编码相邻,则(si + sj)会使输出函数得到简化。 按权分配法是状态分配的一个启发性算法。 设(si , sj)是 一 个"状态对"(si,sj∈S), Wk(si ,sj)(1≤ k ≤4)代表该"状态对"的某一种权值,而总权值 最后, 以总权值的大小为优先级, 给相应的"状态对"(si , sj)分配以相邻的编码。 权值 Wk(si , sj)的定义如下: (1) 若满足条件 N(si , Ip)= N(sj, Ip)的输入组合Ip共有pi 个,则定义: W1(si ,sj)= pi [log2 n] (式中n为状态总数) (2) 若满足条件 Z(si , Ip)= Z(sj, Ip)的输入组合Ip共有p2个,则定义: W2(si ,sj)= p2 (3)设Ip ,Iq 是相邻的输入组合,若满足以下条件: 的情况有p3种,则定义: W3(si , sj)= p3 (4)若满足条件 或 的情况有p4种,则定义 本节介绍的状态分配算法属于启发性算法,对于降低造价有一些帮助,但还远没有满足人们的希望。有待于进一步发展。
|