CSCI3130 L02 Part 4/4 Reduction of the Number of States in FA
课程:CSCI3130 Formal Languages and Automata Theory · 2026T1(沿用既有原件版本标记) 本讲:L02 Part 4/4 Reduction of the Number of States in FA · 原件 lec2.pdf(本地课件) p.202–207 定位:分清不可达状态与等价状态,用区分后缀将状态分组,算出原例最小化后的转移表。 前后:上一份 L02-P3-DFA与NFA等价.md · 下一份 L03-P1-正则表达式.md
p.202 Outline 分节页;此部分在Outline中带星号,伴读保留原内容,不据星号推断考试范围。
Reduction of the Number of States in FA
先去掉永远到不了的状态(p.203)【新】
图(p.203):Example 2.14。 元素:初态q0,终态q3、q4;q0读0到q1、读1到q2;q1读0到q2、读1到q3;q2读0自环、读1到q4;q3、q4在0、1上自环;q5读0自环、读1到q4,却没有任何从初态可达部分进入q5的边。 看什么:q5不可达,因此无论是否保留它,任何真实输入从q0开始的运行都不会使用它。
从q0做可达性扩展:第一轮加入q1、q2,第二轮加入q3、q4,之后不再新增,q5始终不出现。删不可达状态与“没有路径到终态”不同:可达的拒绝陷阱也可能是完整DFA所必需的。这里删q5无需改变其余运行。
表(p.203):删去不可达 q5 后的全部可达转移。
| 状态 | 读0 | 读1 | 是否终态 |
|---|---|---|---|
| q0 | q1 | q2 | 否 |
| q1 | q2 | q3 | 否 |
| q2 | q2 | q4 | 否 |
| q3 | q3 | q3 | 是 |
| q4 | q4 | q4 | 是 |
q0、q1、q2、q3、q4 的可达输入见证分别是 λ、0、1、01、11。不可达的 q5 虽然可以走1到终态 q4,但它不能被任何从初态出发的输入使用;因此“能到终态”和“能从初态到达”是方向不同的两项检查。
等价的标准是所有后缀(p.204)【新】
p.204 For all
公式按讲义重排。两个状态p、q不可区分,指从它们分别开始读同一个任意后缀w,最终接受性总是相同:
要证明可区分只需找到一个后缀使一边接受、另一边拒绝。空串也是后缀,所以一终态与一非终态立即被空串区分;两个当前都非终态,仍可能被长度1或更长后缀区分。
补充:原页有拼写“Two steps”,这里按上下文讲两个states;不把排版拼写当成新的数学概念。
先按接受性分组(p.205)
图(p.205):Example 2.15。 元素:初态q0;终态q2、q4;非终态q0、q1、q3。边为q0读0到q1、读1到q3;q1读0到q2、读1到q4;q2读0到q1、读1到q4;q3读0到q2、读1到q4;q4在0、1上自环。 看什么:先分非终块 与终块 ,再检查各字符的去向是否落在相同块。
q0与q1都非终,但后缀0能区分:q0读0到非终q1,q1读0到终态q2,因此必须拆开。q1与q3在0上都到q2、在1上都到q4,所以两者下一步甚至完全相同,今后对任意后缀也无法区分,可保留在一块。
稳定划分与最终机器(p.206–207)
p.206 再检查两个终态:q2读0到非终q1,而q4读0仍在终态q4,所以用后缀0拆开。最终四块为A={q0}、B={q1,q3}、C={q2}、D={q4};初态A,终态C、D。
| 合并后的状态 | 0 | 1 |
|---|---|---|
| A | B | B |
| B | C | D |
| C | B | D |
| D | D | D |
检查为何稳定:B内两个原状态在每个输入上到同一个目标块;其余块都只有一个状态。A与B由0区分,C与D由0区分,任一非终块与终块由空串区分,所以四块不能继续合并。算一遍:输入00从A→B→C接受;000从A→B→C→B拒绝;01从A→B→D接受,与原机逐步运行一致。p.207 为Questions结束页。
逐轮分块记录(由 p.205–206 展开):初分 。对每个状态记录读0、读1分别到哪个旧块,q0 的签名是“非终、非终”,q1、q3 为“终、终”,q2 为“非终、终”,q4 为“终、终”。签名只在同一个旧块内部比较,不能把 q4 与 q1、q3 合并,因为空串已能区分终态与非终态。
因此下一轮分成 {q0}、{q1,q3}、{q2}、{q4}。再按这四块检查:q1、q3 仍都读0到 {q2}、读1到 {q4},无需进一步拆分。四块的可达见证可取 λ、0、00、01;结合上面的区分后缀,才得到这台四状态机确实最小。
考试角度:(C 级 通识)这类知识点常见考法是给两个状态找最短区分后缀,或逐轮写划分而非直接凭图形相似合并。
考试角度:(A 级:期末-2022T1-资料包.pdf Q1,对应以ba结尾的最小DFA;扫描卷题面经视觉读取,练习卷不冒称正式考卷。)见附录 A1。
从分块失败反推出区分后缀(补充)
第一轮按终/非终划分,是因为空串已经能区分这两类。下一轮如果 p、q 在字符 a 上分别进入两个已经区分的块,则 a 也不能让 p、q 合并。更一般地,假设后继由后缀 v 区分,那么从原状态读 av,先走 a 到那对后继,再走 v,就得到 p、q 的区分后缀。区分证据是从后继一步步往前接字符产生的,不是看图形长得不同。
稳定之后为什么可以任选块内一个状态来画合并后的出边?因为同块任意 p、q 在每个字符下都去同一个目标块;若选不同代表会得到不同目标,说明划分还未稳定。归纳到任意后缀,同块状态最终始终落在同类接受块,故合并不会改变语言。另一方面,为不同最终块给出区分后缀,再结合各块从初态可达,才证明没有更小的等价 DFA;单纯“我再也看不出可合并者”不是最小性证明。
自检:所有无路到终态的可达状态可否直接删除?
完整 DFA 要求每个状态与字符组合都有后继。
展开推理与答案
这些状态的未来接受语言都为空,可以合并成一个拒绝陷阱;若有输入会到它,直接删掉会破坏完整转移定义。真正可以无影响删除的是从初态不可达的状态。
本讲核心考点
- 不可达状态与可达拒绝陷阱不同(p.203;C 级)。
- 等价需对所有后缀一致,可区分只需一个反例后缀(p.204;C 级)。
- 原例最小化为四个状态块(p.205–206;C 级)。
附录
本部分没有需要另列的推导;定义与算例在相应页段内。
A1 作业/往年题演练(非讲义内容):以ba结尾的最小DFA
题面块(期末-2022T1-资料包.pdf(本地课件) · Q1 · p.2,扫描件视觉读取;公式重排):
p.2 Give a minimal DFA for the language .
p.2 Prove that your DFA is minimal by giving, for every pair of distinct states, a string to distinguish the pair.
三态q0(没有匹配后缀)、q1(末尾b)、q2(末尾ba)。q0初态、q2唯一终态。完整转移:q0读a→q0、b→q1;q1读a→q2、b→q1;q2读a→q0、b→q1。例如bba路径q0→q1→q1→q2接受,baa末尾再a回q0拒绝。
可达性:λ、b、ba分别到三态。q2与q0、q1均用空后缀λ区分,因为q2本身终态而另两态不是;q0与q1用后缀a区分,前者到q0拒绝,后者到q2接受。每对可达状态都可区分,因此不能合并,三态最小。
来源与证据
历史版本考试证据(本次未重新读取全部试卷):读了 HW01-2025T1-题目.pdf、HW01-2026T1-题目.pdf、HW02-2025T1-题目-更新.pdf、HW03-2025T1-题目.pdf、HW04-2025T1-题目.pdf、HW05-2025T1-题目.pdf、期中练习-含解答-学期待核.pdf、期末-2022T1-资料包.pdf、Final-Exam-2023T1-题目.pdf、Final-Exam-2024T1-题目.pdf、Final-Exam-2025T1-题目.pdf、期末-2023T1-资料包.pdf、期末-2024未核-资料包.pdf;未识别用途的 PDF:无
-
原件:lec2.pdf(本地课件),PDF p.202–207。
-
本次复核:2026-10-13;逐页读取 lec2.pdf 文字,核对主要机器图与图片题例,补全转移表及主线证明。p.53 原图在 PDF 渲染中缺失部分图元,正文已提供明确标为补充的完整构造。