有限状态机 确定性有限状态机是一种简单的计算模型,在基础CS课程中被广泛用作自动机理论的介绍。 它是一个简单的模型,相当于正则expression式,它决定了某个inputstring是Accepted还是Rejected 。 抛开一些手续 ,一个有限状态机的运行包括: 字母表 ,一组字符。 状态 ,通常可视化为圆形。 其中一个州必须是开始状态 。 一些州可能会接受 ,通常可视化为双圈。 过渡 ,通常可视化为国家之间的定向拱,指向与字母表相关联的状态之间的链接。 inputstring , 字母字符列表。 机器上的运行从起始状态开始。 inputstring的每个字母都被读取; 如果在当前状态和对应于该字母的另一个状态之间存在转换,则当前状态改变为新状态。 读完最后一个字母后,如果当前状态为接受状态,则接受inputstring。 如果最后一个状态不是接受状态,或者一个字母在运行过程中没有相应的状态,则inputstring将被拒绝。 注:这个短暂的破坏远非FSM的全面正式定义; 维基百科的精美文章是对这个主题的一个很好的介绍。 例 例如,下面的机器会告诉从二进制数字中,从左到右读取的偶数是否为0 : 字母表是集{0,1} 。 状态是S1和S2。 (S1, 0) -> S2 , (S1, 1) -> S1 , (S2, 0) -> S1 , (S2, 1) -> S2 。 inputstring是任何二进制数字,包括一个空string。 规则: 以您select的语言实施FSM。 […]
在阅读关于经常性neural network的图灵完备性的一些论文时(例如:用neural network的图灵计算能力,Hava T. Siegelmann和Eduardo D. Sontag,1991),我感觉到那里给出的证据并不是真的实际的。 例如,参考论文需要一个neural network,其神经元活动必须具有无限的精确性(以可靠地表示任何有理数)。 其他certificate需要无限大小的neural network。 显然,这不是那么实际。 但是现在我开始想知道是否完全有理由要求图灵的完整性。 严格的定义是,目前没有计算机系统是图灵完备的,因为它们都不能模拟无限大的磁带。 有趣的是,如果编程语言规范完成或者没有完成,那么编程语言规范就会将其最常开放。 这一切都归结为是否能够分配更多的内存以及函数调用堆栈大小是否无限。 大多数规范没有真正指定这个。 当然,这里所有可用的实现都是有限的,所以编程语言的所有实际实现都不是图灵完整的。 所以,你可以说,所有的计算机系统和有限状态机一样强大,而不是更多。 这就引出了一个问题: 图灵完全可以说有多有用? 回到neural network:对于neural network(包括我们自己的大脑)的任何实际实现,它们将不能表示无限数量的状态,即通过对图灵完备性的严格定义,它们不是图灵完备的。 那么问题是否neural network是图灵完全有意义呢? 问题是否像有限状态机一样强大已经早得多了(1954年由明斯基回答,当然答案是肯定的),似乎也更容易回答。 也就是说,至less在理论上,这已经certificate它们和任何一台计算机一样强大。 其他一些问题更多的是我真正想知道的: 有什么理论术语可以对计算机的计算能力做更具体的说明吗? (由于其有限的内存空间) 如何比较neural network的实际实现与计算机的计算能力? (图灵完备性如上所述是没有用的。)
有限状态机是一个马尔可夫链的实现吗? 两者有什么区别?