我对决定论和非决定论的含义有点挣扎。当涉及到自动机时,我得到了不同,但我似乎无法找到以下答案:NFA到DFA转换是否具有确定性?
如果可以为同一种常规语言构建多个DFA,这是否意味着NFA到DFA转换的结果不是唯一的?因而是一个不确定的算法?
我很高兴你们可能提供的任何信息。
提前致谢!
答案 0 :(得分:2)
这里有两个不同的概念。首先,你是正确的,可以有许多不同的DFA相当于相同的NFA,正如可能有许多NFA都相同。
独立地,有几种算法可以将NFA转换为DFA。大多数关于形式语言的入门课程中教授的标准算法是子集构造(也称为powerset构造)。该算法具有确定性 - 将NFA转换为DFA时需要遵循一系列特定步骤,因此,只要您输入相同的NFA,就会始终返回相同的DFA。你可以想象有一个非确定性的算法,用于将NFA转换为DFA,其中算法可能会产生许多不同的DFA之一作为输出,但据我所知,没有任何着名的算法。
希望这有帮助!