【问题标题】:Implementing a queue by Turing machine [closed]通过图灵机实现队列[关闭]
【发布时间】:2010-12-20 19:45:34
【问题描述】:

图灵机如何实现队列?

【问题讨论】:

  • 还有其他作业问题要问我们吗?
  • 你有一台真正的图灵机?

标签: computer-science turing-machines automata


【解决方案1】:

万一其他学生来寻找这个问题的答案,这里有一个想法......

我们将使用多磁带 TM 来尽可能轻松地完成此操作。让您的额外磁带之一成为您要实施的队列。要将某些东西添加到队列中,请向右移动直到遇到空白方块,然后将您的符号添加到队列中。要从队列中删除某些内容,请向左移动直到遇到空白(假设此磁带以单个空白方块开头),向右移动,然后删除磁带上的内容并在其位置放置一个空白。因此,从一个空白队列开始,其中 D 为空白,磁带字母表为 abc,以下是以下事务序列的外观:

  enqueue(a) ( 1- 3)
  enqueue(b) ( 4- 5)
  enqueue(c) ( 6- 7)
  dequeue(-) ( 7-11)
  enqueue(c) (12-15)
  dequeue(-) (16-20)
  enqueue(b) (21-24)

这是队列磁带上 TM 的踪迹:

    1. DD          2. DDD         3. DaD         4. DaDD        5. DabD
       ^               ^              ^               ^              ^

    6. DabDD       6. DabcD       7. DabcD       8. DabcD       9. DabcD
          ^              ^             ^             ^             ^

   10. DabcD      11. DDbcD      12. DDbcD      13. DDbcD      14. DDbcDD
        ^              ^               ^               ^               ^

   15. DDbccD     16. DDbccD     17. DDbccD     18. DDbccD     19. DDbccD
           ^             ^             ^             ^               ^

   20. DDDccD     21. DDDccD     22. DDDccD     23. DDDccDD    24. DDDccbD
         ^               ^               ^               ^              ^

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-27
    • 2013-12-08
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    相关资源
    最近更新 更多