可计算性与计算复杂性

发布时间 : 星期一 文章可计算性与计算复杂性更新完毕开始阅读

第6页

(2)yf(x,y)=[x] y设[x]=t,则ty≤x<(t+1)y ∴[x]=min(t+1)y>x

t?xy∵xy是原始递归函数,x>y是原始递归谓词,∴(t+1)y>x是原始递归谓词,∴f(x,y)是原始递归函数。 (3)

f(x)?[log2x]

设[log2x]=t,则2t≤x<2t+1 ∴ [log2x]=min2t+1>x

t?x∴f(x)是原始递归函数。

(4)f(x)表示x各位数字之和 设x为n位数,n=[log2x]+1

f(x)??[R(x,10i?1)?R(x,10i)]?10?i

i?0n?1∴f(x)是原始递归函数。

(5)设an=f(n), bn=g(n)都是递增的原始递归函数,将an,bn(n=0,1,2,……)混合在一起,再从小到大排列得到函数cn=φ(n),证明φ(n)是原始递归函数。 φ(n)递归定义如下: φ(0)=min{a0,b0} φ(n+1)=

t?max{an,bn}min{((?i)?n(t?ai)?(?j)?n(t?bj))?(t??(n))}

∵min{a0,b0}= a0??(sub(a0,b0)) + b0??(sub(b0,a0))?d(a0,b0)

max{an,bn}= bn??(sub(an,bn)) + an??(sub(bn,an))?d(an,bn)

∴min{a0,b0},max{an,bn}是原始递归函数,∴φ(n)是原始递归函数。

(6)将任意两个素数乘积按从小到大排成一个序列,令这个序列通项即第n项为f(n),证明f(n)是原始递归函数。

f(n)可递归定义如下:

f(1)=4 ;2*2

?i)?n(?j)?n(t?Pi?Pj)?t?f(n)} f(n+1)= min{(2t?Pn∴f(n)是原始递归函数。

(7)称三边均为整数的直角三角形的斜边为勾股数,将它们从小到大排列,第n个勾股数记作R(n),证明R(n)是原始递归函数。

word文档可自由复制编辑

第7页

R(n)可递归定义如下: R(1)=5

R(n+1)=min{(?i)?R2(n)(?j)?R2(n)(i?j?t)?(t?R(n))} 2t?R(n)222∴R(n)是原始递归函数。

2、计算3*2=?

3=20×31=[0,1],2=21=[1],3*2=[0,1,1]=20×31×51=15

3、用原语言程序(限用五条基本指令)计算谓词“x1=x2”的特征函数。 0 ,x1=x2 δ(x1,x2)= 1 ,x1≠x2

[C] TO A IF X1≠0 TO D IF X2≠0 TO E [D] Y=Y+1 TO E [A] TO B IF X2≠0 TO D [B] X1=X1-1 X2=X2-1 TO C 4、用原语言程序证明每个原始递归函数都是可计算函数。

A、证明初始函数是可计算的 S(X)=X+1

X=X+1

n(X)=0

X=X+1 Y=X Y=0

…… …… word文档可自由复制编辑

联系合同范文客服:xxxxx#qq.com(#替换为@)