📅  最后修改于: 2020-12-17 06:47:26             🧑  作者: Mango
过渡表
转换表基本上是转换函数的表格表示形式。它带有两个参数(一个状态和一个符号),并返回一个状态(“下一个状态”)。
过渡表由以下内容表示:
- 列对应于输入符号。
- 行对应于状态。
- 条目对应于下一个状态。
- 起始状态由没有来源的箭头表示。
- 接受状态用星号表示。
范例1:
解:
给定DFA的转换表如下:
Present State |
Next state for Input 0 |
Next State of Input 1 |
→q0 |
q1 |
q2 |
q1 |
q0 |
q2 |
*q2 |
q2 |
q2 |
说明:
- 在上表中,第一列指示所有当前状态。在列0和1下,显示了下一个状态。
- 可以将过渡表的第一行读为:当当前状态为q0时,在输入0上,下一个状态为q1,在输入1上,下一个状态为q2。
- 在第二行中,当当前状态为q1时,在输入0上,下一个状态将为q0,在输入1时,下一个状态将为q2。
- 在第三行中,当输入0上的当前状态为q2时,下一个状态将为q2,而在输入1时,下一个状态将为q2。
- 标记为q0的箭头表示它是开始状态,标记为q2的圆圈表示它是最终状态。
范例2:
解:
给定NFA的过渡表如下:
Present State |
Next state for Input 0 |
Next State of Input 1 |
→q0 |
q0 |
q1 |
q1 |
q1, q2 |
q2 |
q2 |
q1 |
q3 |
*q3 |
q2 |
q2 |
说明:
- 可以将过渡表的第一行读取为:当当前状态为q0时,输入0的下一个状态将为q0,而在输入1时的下一个状态将为q1。
- 在第二行中,当当前状态为q1时,在输入0时,下一个状态将为q1或q2,在输入1时,下一个状态将为q2。
- 在第三行中,当输入0上的当前状态为q2时,下一个状态将为q1,而在输入1时,下一个状态将为q3。
- 在第四行中,当输入0上的当前状态为q3时,下一个状态将为q2,而在输入1时,下一个状态将为q2。