可判定問題和不可判定問題解釋


在瞭解計算理論 (TOC) 中的可判定問題和不可判定問題之前,我們必須先了解可判定語言和不可判定語言。因此,讓我們首先看看可判定語言是什麼意思。

可判定語言

如果存在一個判定器 M 使得 L(M) = L,則語言 L 稱為可判定的。

  • 給定一個判定器 M,您可以瞭解字串 w 是否屬於 L(M)。

    • 在 w 上執行 M。

    • 儘管可能需要很長時間,但 M 最終會接受或拒絕 w。

  • 集合 R 是所有可判定語言的集合。

    • 如果 L 可判定,則 L ∈ R。

不可判定語言

如果所有“是”例項到問題 P 的語言 L 不可判定,則決策問題 P 不可判定。

不可判定語言可能是部分可判定的,但不是可判定的。假設,如果一種語言甚至不是部分可判定的,那麼對於該語言不存在圖靈機。

問題

確定下面給出的問題是可判定的還是不可判定的。

“假設給定的輸入是一些圖靈機 M 和一些字串 w。問題是要確定機器 M 在輸入字串 w 上執行時,其讀寫頭是否會連續三次連續向左移動。”

解決方案

定義 M' 是一個圖靈機,它以 (M,w) 為輸入,其中 M 是 M' 識別的圖靈機,w 是 M 的輸入。

每當模擬的機器 M 在處理輸入 w 時將讀寫頭向左移動時,M' 停止並接受 (M,w)。

對於 M' 的特定輸入 (M,w),構造圖靈機 P 為 -

  • P 在 (M,w) 上執行 M'

  • 如果 M' 接受 (M,w),則 P 停止並接受任何輸入。

我們試圖將通用圖靈機 U 歸約到 P,因為我們知道 L(U) 不可判定,並且我們也得出結論 L(P) 不可判定。因此,M' 不可判定。

證明是透過反證法。

假設這個問題是可判定的,然後我們必須證明改變圖靈機 (ATM) 也是可判定的 -

ATM = {M 是一個 TM,並且 M 接受 w}。

設 R 是一個判定左端問題的圖靈機。

也就是說,R 決定語言

leftmost = {M 在輸入 w 上嘗試將讀寫頭移到最左側磁帶單元格時,其讀寫頭位於最左側磁帶單元格}。

現在,想法是構造一個圖靈機 S,它以這樣一種方式決定 ATM,即它使用 R。

在輸入時,S 首先將機器 M 修改為 M',以便僅當 M 接受其輸入時,M' 才將其讀寫頭從最左側單元格向左移動。

為了確保在計算過程中,M' 不會從最左側位置向左移動讀寫頭,

首先,機器 M' 將輸入 w 向右移動一個位置,並在最左側磁帶單元格上放置一個特殊符號。M' 的計算從讀寫頭位於第二個磁帶單元格開始。

在計算過程中,M' 嘗試將其讀寫頭移動到最左側磁帶單元格時,M' 透過讀取特殊符號來發現這一點,並將讀寫頭放回第二個單元格,並繼續執行。如果 M 進入接受狀態,則 M' 進入一個迴圈,迫使讀寫頭始終向左移動。

在 S 構造完 M' 後,它在輸入 <M'; w> 上執行判定器 R。

如果 R 接受,則 S 接受,否則如果 R 拒絕,則 S 拒絕。

因此,ATM 是可判定的,這是一個矛盾。

更新於: 2021年6月14日

10K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告