用于将二进制数转换为一元的单磁带图灵机?

时间:2017-02-15 00:21:26

标签: turing-machines

我遇到了一个我一直试图解决的问题,即将没有前导零的二进制数转换为同一磁带上的一元表示。

E.g。 110 - > XXXXXX

我发现马尔可夫的算法是一种潜在的解决方案,但我无法实现它。会欣赏一些方向!

编辑:我自己想出来了。写一台二进制减法机器,然后为每次减法写一个x。

1 个答案:

答案 0 :(得分:0)

1 q0:q1 0 R
1 q1:q1 1 R
0 q1:q1 0 R
  q1:qRev | L
| q1:q1 | R
0 q0:qCon # R
0 qCon:q00 0 R
1 qCon:q00 1 R
| qCon:! | S
0 q00:q00 0 R
1 q00:q00 1 R
| q00:q00 | R
  q00:qMul   L
|* qMul:qMul |* L
| qMul:qMul1 |* R
|* qMul1:qMul1 |* R
  qMul1:qMul |* L
1 qMul:qBea 1 R
0 qMul:qBea 0 R
|* qBea:qBea | R
  qBea:qRev   L
| qRev:qRev | L
1 qRev:qRev 1 L
0 qRev:qRev 0 L
# qRev:q0 # R
  qRev:q0   R