【发布时间】:2010-12-20 19:45:34
【问题描述】:
图灵机如何实现队列?
【问题讨论】:
-
还有其他作业问题要问我们吗?
-
你有一台真正的图灵机?
标签: computer-science turing-machines automata
图灵机如何实现队列?
【问题讨论】:
标签: computer-science turing-machines automata
万一其他学生来寻找这个问题的答案,这里有一个想法......
我们将使用多磁带 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
^ ^ ^ ^ ^
【讨论】: