图灵机:采用两个数字模型?

时间:2017-12-03 09:34:15

标签: automata turing-machines turing

设计图灵机,输入两个非负数并对它们执行mod操作,例如,mod(3,7)= 3和mod(7,3)= 1。显然,请指定有关TM输入和输出的任何假设和格式。

2 个答案:

答案 0 :(得分:3)

输入是由分隔符号分隔的一元中的两个正整数X和Y.输出是一元中的单个数字Z. TM是单面单带确定性的。

首先,向右移动以找到分隔符。然后,在X的结尾和Y的开头之间来回反弹,标记符号对。如果在用完Y之前用完了X,那么X< Y和X mod Y = X;擦除分隔符及其后的所有内容,然后将所有磁带符号更改为一元数字并停止接受。如果在X之前用完Y,则将X中的标记符号更改为擦除/分隔符,将Y的标记符号恢复为一元数字,然后重复(X> = Y,因此X mod Y =(X - Y)mod Y)。

这里是你的2 mod 3的处理方式:

#110111#
#1a0b11#
#aa0bb1#
#aa#####
#11#####

以下是3 mod 2的处理方式:

#111011#
#11a0b1#
#1aa0bb#
#100011#
#a000b1#
#a######
#1######

答案 1 :(得分:0)

下面是一些基本信息

![在此处输入图片描述 enter image description here

完整的数字如下。这里的#是空的或空的。想法与上面给出的相同。 这是您的2 mod 3的处理方式:

#110111#
#1a0b11#
#aa0bb1#
#aa#####
#11#####

以下是3 mod 2的处理方式:

#111011#  
#11a0b1#
#1aa0bb#
#100011#
#a000b1#
#a######
#1######

enter image description here