递归可枚举集合
维库,知识与思想的自由文库
在可计算性理论或更少称谓的递归论中,可数集合 S 被称为递归可枚举的、计算可枚举的、半可判定的或可证明的,如果
- 有一个算法,使得在给定一个输入,典型的是一个整数、一个整数的元组或一个字符的序列的时候,最终会停机,当且仅当输入是 S 的一个元素。
或者等价的说,
- 有"生成" S 的成员的算法。这意味着它的输出简单的是 S 成员的一个列表: s1, s2, s3, ... 如果需要它可以永远运行下去。
共同的编程意义会暗示出如何转换一种算法到等价的另一种算法。第一个条件暗示了为什么有时用术语半可判定的,而第二个条件暗示了为什么叫计算可枚举的。
目录 |
[编辑] 定义
可数集合 S 是递归可枚举的,如果存在一个偏可计算函数 f 使得
换句话说,S 是 f 的域:
- dom(f) = S
(注意这是偏函数的域的两种可能意义之一,是在递归论中所偏好的定义域。参见在偏函数中的讨论。)
集合 S 被成为 co-递归可枚举的或 co-r.e.,如果 S 的补集是递归可枚举的。
[编辑] 等价定义
可数集合 S 被叫做递归可枚举的,如果存在着一个偏可计算函数
,使得 S 是 f 的值域:
- rng(f) = S
f 被称为枚举函数,因为它关联上一个枚举上的次序(rank)到 S 的每个元素。
[编辑] 注解
因为邱奇-图灵论题声称可计算函数被图灵机和其他计算模型等价的定义,我们陈述定义为
- 可数集合 S 被称为递归可枚举的,如果有一个图灵机,在给定 S 的一个元素作为输入的时候,总是停机,并在给定的输入不属于 S 的时候永不停机。
这也是递归可枚举集合的常见定义。
[编辑] 例子
- 所有递归集合都是递归可枚举的,但不是所有递归可枚举集合都是递归的。
- 递归可枚举语言是在形式语言的字母表上所有可能词的集合中的递归可枚举集合。
- Matiyasevich 定理 声称所有 Diophantine 集合都是递归可枚举的。
- 简单集合是递归可枚举的但不是递归的。
- 创造集合是递归可枚举的但不是递归的。
- 生产集合不是递归可枚举的。
- 对于偏可计算函数 φ的哥德尔数i,则集合
(带有
康拖尔配对函数) 是递归可枚举的。这个集合编码了停机问题,因为它描述了每个图灵机停机的输入参数。 - 给定一个偏可计算函数φ的哥德尔数x,则集合
是递归可枚举的。这个集合编码判定一个函数值的问题。
[编辑] 性质
如果 A 和 B 是递归可枚举集合,则 A ∩ B、A ∪ B 和 A × B 是递归可枚举集合。集合 A 是递归可枚举集合,当且仅当 A 和 A 补集二者是递归可枚举集合。递归可枚举集合一个可计算函数下的原像是递归可枚举集合。





