IS CS-2019S2-03
题目来源:Problem 3 日期:2024-08-02 题目主题:CS-计算理论-可计算性
解题思路
这道题目涉及可计算性理论的核心概念。我们需要理解计算实数的定义,并运用递归函数的性质来解答各个小问。关键点包括:
- 构造递归函数来逼近特定实数(如 )
- 使用对角线论证法证明不可计算实数的存在
- 利用已知的可计算实数来构造新的可计算实数
- 理解 -递归函数的定义和性质,并使用反证法
Solution
1. Show that is computable
To prove is computable, we need to construct a recursive function such that .
Let’s define as follows:
- Initialize ,
- For from 1 to :
- Return
This is the Newton-Raphson method for approximating . We can prove that:
- is recursive as it only involves basic arithmetic operations and a bounded loop.
- for all .
Therefore, for all , satisfying the definition of .
2. Show that there exists a non-negative real number that is not computable
We can prove this using a diagonalization argument:
- Let be an enumeration of all recursive functions.
- Define a real number as follows:
- The -th bit of is 1 if , and 0 otherwise.
- is not computable because it differs from every in at least the -th bit.
- If were computable, there would be some such that , but this leads to a contradiction.
Therefore, is a non-negative real number that is not computable.
3. Show that if there exists a recursive function that satisfies , then there exists a recursive function that satisfies
Given , we can construct as follows:
Now, we need to prove that :
- is recursive because is recursive and it only involves basic arithmetic operations.
- (given)
- (by squaring the inequality)
- (for sufficiently large )
Therefore, .
4. Show that there exists no -recursive function that satisfies the given condition
We will prove this by contradiction. Assume such an exists.
-
Define a -recursive function as follows:
0 & \text{if } h(\varphi, n) = 0 \\ \text{undefined} & \text{otherwise} \end{cases}$$ -
Now, consider the function . This is a well-defined recursive function.
-
If , then by the condition, . This means is always 0, so .
-
If , then is not total, so . By the condition, , which means is always 0, so .
-
We have reached a contradiction: .
Therefore, our assumption must be false, and no such -recursive function can exist.
知识点
可计算性理论递归对角线论证Newton-Raphson方法反证法
难点思路
第 4 小问是这道题的难点。关键在于构造一个巧妙的 -递归函数,使其导致矛盾。这种构造方法在可计算性理论中经常使用,类似于停机问题的证明。
解题技巧和信息
- 对于可计算实数的问题,通常可以通过构造一个逼近序列来证明。
- 证明不可计算对象存在时,对角线论证是一个强大的工具。
- 在处理递归函数时,要注意函数的定义域和值域,特别是在处理部分函数时。
- 反证法在计算理论中是一个常用的证明技巧,尤其是在证明某些性质不存在时。
重点词汇
- computable number 可计算数
- recursive function 递归函数
- diagonalization argument 对角线论证
- primitive recursion 原始递归
- minimization 极小化
- contradiction 矛盾
参考资料
- Computability: An Introduction to Recursive Function Theory by Nigel Cutland, Chapter 3-4
- Theory of Computation by Michael Sipser, Chapter 3
- Computability and Logic by George S. Boolos, John P. Burgess, Richard C. Jeffrey, Chapter 5-6