簡體   English   中英

圖靈機MOD功能

[英]Turing machine mod function

誰能解釋一下以下圖靈機的制作方法:

Y = X mod 3,其中(X,Y)個二進制數的最小時間復雜度為10

在此處輸入圖片說明

好了,您了解算法了,現在我們必須構建機器。

我們將從數字111010(58)開始,從左到右讀取,並且機頭從左側開始。 有兩種模式:向右掃描以查看其中的內容,以及在重寫時向左移動。

|
v
x111010m
abcdefgh

(我已經標記了位置ah,以便我們進行對話。)機器應該做什么?

在圖靈機中,一個狀態具有多個規則,以便該機可以根據所看到的符號來決定要做什么。 狀態A的規則如下所示:
“如果看到符號x,我將其刪除並寫上符號v,向左移動一步,然后進入狀態B。”
“如果看到符號y,我將使其不受干擾,向右移動一步,並進入狀態D。”
“如果看到符號w,則將其刪除並寫上符號z,向左移動一步,進入狀態A(保持此狀態)。”

通常,它向右掃描,以發現數字是以11、100還是101開頭。這涉及兩種不同的狀態。 然后它向左移動,重寫11-> xx,100-> xx1、101-> x10。 這涉及幾個狀態。

在111010的情況下,前幾步將如下所示:
(a)在狀態1中,讀取x,使其不受干擾,向右移動,保持在狀態1中。(查找1.)
(b)在狀態1中,讀取1,使其不受干擾,向右移動,進入狀態2。(接下來是什么?)
(c)在狀態2中,讀1, 寫x ,向左移動,進入狀態3。(必須將此符號重寫為x,將前一個符號重寫為x。)
(b)在狀態3中,讀1, 寫x ,向右移動,進入狀態1。(再次尋找1。)

(如果您很聰明,可以不使用狀態3,但是首先讓機器開始工作。)

所以我可以寫一些這樣的規則:

1 x x right 1
1 1 1 right 2
2 1 x left  3
3 1 x right 1

您必須編寫足夠的規則以使計算機始終知道該怎么做,並且如果您希望計算機停止(是!),則必須有一個規則或許多規則,例如:

5 m m right halt

這足以使您入門嗎?

我做到了。

這是工作機)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM