gpt4 book ai didi

regex - 具有多个起始状态的 NFA 到 DFA 的转换

转载 作者:行者123 更新时间:2023-12-05 01:47:36 25 4
gpt4 key购买 nike

因此,我可以采用具有单一起始状态的给定 NFA 并将其很容易地转换为等效的 DFA,但是当涉及具有多个起始状态的 NFA 时,我感到很困惑。

由于 DFA 只能有一个开始状态(如果我是正确的),我怎么知道 NFA 中两个开始状态中的哪一个成为 DFA 中的唯一开始状态。

作为引用,这是我要转换的 NFA:

   N|   a   |   b   |   c   |
____________________________
->0| {0,2} | {0,3} | --- |
*->0| {0} | {0} | {3} |
0| {2} | --- | {2,3} |
* 0| {2} | --- | {3} |

地点:-> = 初始状态,* = 接受状态,--- = 空集,

最佳答案

具有多个起始状态的 NFA 等同于具有附加状态(成为新的单一起始状态)和 ϵ-edges 的 NFA从那个到“实际”开始状态:

   N|   a   |   b   |   c   |   ϵ   |
----+-------+-------+-------+-------+
0| {0,2} | {0,3} | {} | {} |
* 1| {0} | {0} | {3} | {} |
2| {2} | {} | {2,3} | {} |
* 3| {2} | {} | {3} | {} |
->4| {} | {} | {} | {0,1} |

关于regex - 具有多个起始状态的 NFA 到 DFA 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23999233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com