最小有限自动机,是指满足下述条件的确定有限自动机
⑴ 没有无用状态(无用状态已删除);⑵ 没有等价状态(等价状态已合并)。
Ⅰ.删除无用状态算法
【定义】无用状态是指自动机从开始态出发,对任何符号串都不能到达的状态。
【判别算法】 构造有用状态集 Qus
⑴ 设 q0 为开始态,则 令 q0∈Qus ;
⑵ 若 qi∈Qus 且有 d(qi,a)= qj 则令 qj∈Qus ;
⑶ 重复执行⑵,直到Qus不再增大为止。
⑷ 从状态集Q中,删除不在Qus中的所有状态。
Ⅱ. 合并等价状态算法
【原理】两个状态i,j等价,当且仅当满足下面两个条件:
① 必须同是结束态,或同不是结束态;
② 对所有字母表上符号,状态i,j必变换到等价状态。
Ⅱ. 合并等价状态算法
划分不等价状态集
⑴ 初始,把状态集Q化分成两个不等价子集:
Q1(结束状态集), Q2(非结束状态集);
⑵ 把每个Qi再划分成不同的子集,条件是:
对同一Qi中两个状态i和j,若对字母表中的某个符号,变换到已划分的不同的状态集中,则i和j应分离:
如 d(i,a)∈Qm , d(j,a)∈Qn 且 m≠n
⑶ 重复步骤⑵,直到再不能划分为止;
⑷ 合并最终划分的每个子集中的各状态(合而为一)。