- 46
- 0
- 约1.93万字
- 约 73页
- 2020-07-28 发布于天津
- 举报
32 定义 9-5 图灵可计算的 (Turing computable) ? 设有 k 元函数 f ( n 1 , n 2 ,…, n k )= m , TM M =( Q , ∑ , Γ , ? , q 0 , B , F ) M 接受输入串 0 n 1 1 0 n 2 1…10 n k ,输出符号串 0 m ; f ( n 1 , n 2 ,…, n k ) 无定义时, TM M 没有恰当的输出给出。 ? 称 TM M 计算 k 元函数 f ( n 1 , n 2 ,…, n k ); ? 也称 f(n 1 , n 2 ,…, n k ) 为 TM M 计算的函数 ; ? 也称 f 是图灵可计算的。 TM 作为非负整函数的计算模型 33 ? 定义 9-6 完全递归函数 (total recursive function) ? 设有 k 元函数 f ( n 1 , n 2 ,…, n k ) ,如果对于任意的 n 1 , n 2 ,…, n k , f 均有定义,也就是计算 f 的 TM 总能给出确定的 输出,则称 f 为 完全递归函数。 ? 部分递归函数 (partial recursive function) ? 一般地, TM 计算的函数称为 部分递归函数。 ? 说明 ? 常用算术函数 (+-*/) 是完全递归函数,均有确定的值。 ? 从停机角度: ? 部分递归函数对应递归可枚举语言 ? 完全递归函数对应递归语言 TM 作为非负整函数的计算模型 34 例 构造 TM M 4 ,计算 m + n , n 和 m 是非 负整数 ? 分析:输入为 0 n 10 m B ,输出 0 n + m B ? 方法:中间 1 变 0 , B 前 0 变 B ? ( q 0 , 0)= ( q 2 , 0, R) ? ( q 2 , 0)= ( q 2 , 0, R) ? ( q 2 , 1)= ( q 2 , 0, R) ? ( q 2 , B)= ( q 3 , B, L) ? ( q 3 , 0)= ( q 1 , B, R) TM 作为非负整函数的计算模型 ? 当 n 为 0 时, q 0 状态下 直接遇到 1 ,将 1 变成 B 就可以立即结束 : ? ( q 0 , 1)= ( q 1 , B, R) ? 当 m 为 0 时,将最后 的由 1 转变的 0 改为 B 有: M 4 = ({ q 0 , q 1 , q 2 , q 3 }, {0, 1}, {0,1, B}, ? , q 0 , B,{ q 1 }) 35 状态的有穷存储功能的利用 ? TM 用有穷的状态控制器实现状态的有穷存储 . ? 例 构造 TM M 6 ,使得 L ( M 6 )={ x | x ∈ {0,1} * 且 x 中至多含 3 个 1} 。 分析: M 6 只用记录已经读到的 1 的个数。 ? q [0] 表示当前已经读到 0 个 1 ; ? q [1] 表示当前已经读到 1 个 1 ; ? q [2] 表示当前已经读到 2 个 1 ; ? q [3] 表示当前已经读到 3 个 1 。 ? 到达 q [3] 后继续读入字符,考察是否有更多的 1 ,而遇 B 之前 再无 1 ,则可以进入终态 q [ f ] ? 如 q [0], q [1], q [2] 后遇到了 B ,也进入 q [ f ] 36 L ( M 6 )={ x | x ∈ {0,1} * 且 x 中至多含 3 个 1} 。 ? M 6 =({ q [0], q [1], q [2], q [3], q [ f ]}, {0,1}, {0,1,B}, ? , q [0], B, { q [ f ]}) 状态的有穷存储功能的利用 ? ( q [0], 0 )=( q [0], 0, R) ? ( q [0], 1 )=( q [1], 1, R) ? ( q [0], B )=( q [ f ], B, R) ? ( q [1], 0 )=( q [1], 0, R) ? ( q [1], 1 )=( q [2], 1, R) ? ( q [1], B )=( q [ f ], B, R) ? ( q [2], 0 )=( q [2], 0, R) ? ( q [2], 1 )=( q [3], 1, R) ? ( q [2], B )=( q [ f ], B, R) ?
原创力文档

文档评论(0)