我按照tutorial来学习有限状态机的一些知识。
它说: 不久就会意识到有限状态机无法识别回文序列。 (在语法和机器部分)。
我用google搜索了一下表达式是真的。但我不知道为什么。我认为下图可以接受回文序列,例如ABA,(S1-a-> S2-b-> S1-a-> S2)
AABAA,(S1-a-S2-a-> S2-b-> S1-a-> S2-a-> S2)...
我哪里错了?
答案 0 :(得分:0)
我认为其原因可能是这样的
所以FA不太可能识别回文症
现在来看您的例子,
FA仅在最后一个字母达到可接受的状态时才接受语言。让我们以AABAA为例。与S1或S2一起工作的四个图应处于接受状态。假设S2是接受状态,S1是初始状态。
然后是S1 --a-- S2(1)--a-- S2(2)--b-- S1 --a-- S2(3)--a--S2(4)
由于S2为接受状态,FA将接受以下字符串
如您所见,即使它接受回文,它也接受其他字符串。原因是,FA无法区分特定字母的前后。需要额外的堆栈内存来处理这些事情(PA具有此功能)