如何构建这个图灵机?
Posted
技术标签:
【中文标题】如何构建这个图灵机?【英文标题】:How to construct this turing machine? 【发布时间】:2018-01-28 11:30:57 【问题描述】:我们如何构造 TM 使其接受(仅给出描述):
a + b = c
一个。 b = c
输入的格式为 a#b#c。
a,b 和 c 属于 0,1* 并且是正二进制无符号整数。
我知道如果输入是一元表示我们可以构造 TM,但是如果它是二元表示怎么解决呢?
【问题讨论】:
此类问题适合cs.stackexchange.com 【参考方案1】:嗯,二进制加法和乘法比一元情况要复杂一些,但并不难。补充:
-
将两个最低位相加。如果和为零或一,这是结果的最低位。如果和为 2,则最低位为零,并且有进位。
转到下一个最低位。将两者和可能的进位相加。如果和为零或一,这是结果的当前位。如果和为 2,则当前位为零并且您有进位。如果和为 3,则当前位为 1,并且您有进位。
重复 2 直到处理完所有位。
对于乘法,您可以使用this one 之类的方法。如果您真的需要详细进行,这将是一些在 TM 上编程的工作。
【讨论】:
以上是关于如何构建这个图灵机?的主要内容,如果未能解决你的问题,请参考以下文章