我该如何模拟图灵机?

时间:2009-10-07 08:36:17

标签: java turing-machines turing-complete

我不太了解图灵机的整个想法。

我目前的任务是制作一台繁忙的海狸图灵机。但我真正得到的是模拟输入。那么我要模拟什么样的输入?例如,它问我3个州忙着海狸机在磁带上写了多少1?我确定我需要写一台图灵机,但是一旦我拥有它,我该怎么办呢?

我应该用什么字符串模拟它?

2 个答案:

答案 0 :(得分:7)

你的第一步是更好地理解'图灵机器的整个想法'。您可以尝试阅读它:

答案 1 :(得分:2)

对于busy beaver场景,通常假设没有特殊输入,即图灵机的磁带最初是空的。当然,在运行时,忙碌的海狸可以写入磁带,然后读取它写的内容。

所以你必须模拟磁带。由于它应该在两端都是无限的,我建议通过继承ArrayList并覆盖get()set()方法来实现它,以将正指数映射到偶数元素和负指数奇数元素(当有权访问列表当前大小之外的索引时,也可以通过重复调用add(null)来自动增加大小。)

相关问题