所以我正在研究一种将dfa转换为它的补充方法。补码拒绝dfa接受的所有字符串,并接受dfa拒绝的所有字符串。要做到这一点,我应该遵循这个算法: “首先添加一个明确的死亡状态并明确所有转换到它。第二个将所有最终状态更改为非最终状态,并将所有非最终状态更改为最终状态。”
我开了一枪,没有成功。我不认为我理解正确。首先,我将所有最终状态更改为非最终状态,将非最终状态更改为最终状态。
然后对于每个状态,如果它没有带字母表的转换,我使用这些字母表添加了从该状态到显式死状态的转换
这是对的吗?
答案 0 :(得分:0)
不,你应该首先转换到所有状态和符号的新创建的死状态,以便没有特定符号从特定状态转换,之后你应该使所有状态和符号表示非最终结果,反之亦然。当我们按此顺序执行时,死亡状态变为最终状态,这正是应该发生的事情(如果我们达到死亡状态,原始自动机不接受给定的字符串。因此,它应该被其补充接受)。 / p>