图灵机上的荷兰国旗

Posted

技术标签:

【中文标题】图灵机上的荷兰国旗【英文标题】:Dutch national flag on a Turing Machine 【发布时间】:2011-05-04 02:32:10 【问题描述】:

我有一个字符序列 xxxxxx(x^k 和 k > 0) 我的目标是把这句话变成荷兰国旗,也就是说:

xxxxx -> RRWWBB xxxx -> RWBB

R

我发现的所有解决方案都具有非常高的复杂性。 您是否有任何提示/线索可以帮助我仅使用一个磁带和一个磁头/光标来构建图灵机?

【问题讨论】:

为什么 xxxxx(5 个 x)变成 RRWWBB(6 个字母)? en.wikipedia.org/wiki/Dutch_national_flag_problem 我已经阅读了很多算法,但他们认为初始磁带已经有字母(顺序错误),这不是我的情况。 【参考方案1】:

如何将任务划分为子任务,例如:

    将最后一个 X 更改为 B。 将最后一个 X 更改为 W。 将第一个 X 更改为 R。 将 BW 更改为 WB。

编辑:

这是另一种方法:您说您已经看到从呈现颜色开始的算法(无序)。所以你真正需要的只是一种将颜色放入(乱序)的方法......

【讨论】:

不明白怎么用:xxxx xxxB xxWB RxWB ? @user32617:到目前为止,一切都很好。下一步是什么? (你说你想要一个提示。)

以上是关于图灵机上的荷兰国旗的主要内容,如果未能解决你的问题,请参考以下文章

荷兰国旗延伸至快速排序

荷兰国旗划分

荷兰国旗问题

NTU 课程笔记: P&NP

算法荷兰国旗问题

荷兰国旗问题