遞迴可列舉集合

遞迴可列舉集合(英語:Recursively enumerable set)是可計算性理論或更狹義的遞迴論中的一個概念。可數集合S被稱為是遞迴可列舉、計算可列舉的、半可判定的或可證明的,如果

  • 存在一個演算法,只有當輸入是S中的元素時,演算法才會中止。

或者等價的說,

  • 存在一個演算法,可以將S中的成員列舉出來。也就是說該演算法的輸出就是 S 的成員列表: s1, s2, s3, ... 如果需要它可以永遠執行下去。

包含所有可遞迴列舉集合的複雜性類別RE

共同的編程意義會暗示出如何轉換一種演算法到等價的另一種演算法。第一種情況說明了為什麼有時說半可判定的,而第二種情況說明了為什麼叫計算可列舉的

定義

可數集合   是遞迴可列舉的,如果存在一個可計算函數   使得

 

換句話說,  :

 

(注意這是偏函數的域的兩種可能意義之一,是在遞迴論中所偏好的定義域。參見在偏函數中的討論。)

集合   被稱為 co-遞迴可列舉的co-r.e.,如果  補集是遞迴可列舉的。

等價定義

可數集合   被叫做遞迴可列舉的,如果存在著一個可計算函數  ,使得   值域:

 

  被稱為列舉函數,因為它關聯上一個列舉上的次序(rank)到   的每個元素。

註解

因為邱奇-圖靈論題聲稱可計算函數被圖靈機和其他計算模型等價的定義,我們陳述定義為

可數集合   被稱為遞迴可列舉的,如果有一個圖靈機,在給定   的一個元素作為輸入的時候,總是停機,並在給定的輸入不屬於   的時候永不停機。

這也是遞迴可列舉集合的常見定義。

例子

  • 所有遞迴集合都是遞迴可列舉的,但不是所有遞迴可列舉集合都是遞迴的。
  • 遞迴可列舉語言是在形式語言字母表上所有可能詞的集合中的遞迴可列舉集合。
  • Matiyasevich 定理聲稱所有的遞迴可列舉集合都是丟番圖集合
  • 簡單集合是遞迴可列舉的但不是遞迴的。
  • 創造集合是遞迴可列舉的但不是遞迴的。
  • 生產集合不是遞迴可列舉的。
  • 對於偏可計算函數  的哥德爾數 ,則集合   (帶有   康拖爾配對函數) 是遞迴可列舉的。這個集合編碼了停機問題,因為它描述了每個圖靈機停機的輸入參數。
  • 給定一個偏可計算函數 的哥德爾數 ,則集合   是遞迴可列舉的。這個集合編碼判定一個函數值的問題。

性質

如果 AB 是遞迴可列舉集合,則 ABABA × B 是遞迴可列舉集合。集合 A遞迴集合,若且唯若 AA 補集二者是遞迴可列舉集合。遞迴可列舉集合一個可計算函數下的原像是遞迴可列舉集合。

參照