原始递归
目录
1,函数依赖
函数依赖简单点说就是:某个属性集决定另一个属性集时,称另一属性集依赖于该属性集。
设X,Y是关系R的两个属性集合,当任何时刻R中的任意两个元组中的X属性值相同时,则它们的Y属性值也相同,则称X函数决定Y,或Y函数依赖于X。
2,部分函数依赖、完全函数依赖
设X,Y是关系R的两个属性集合,且存在X→Y,
若存在X’是X的真子集,使得X’→Y,则称Y部分函数依赖于X,
反之,如果不存在这样的X’,则称Y完全函数依赖于X。
3,合成
设 f 是 k 元部分函数,g1、g2、...、gk是 k 个n 元部分函数,令h(x1,...,xn)=f(g1(x1,...,xn),...,gk(x1,...,xn))
称函数h是由 f 和g1,...,gk 合成得到的。
4,原始递归
(1)设 g 是2元全函数,k 是一个常数,函数 h 由下述等式给出
h(0)=k,
h(t+1)=g(t,h(t))
称 h 是由 g 经过原始递归运算得到的。
(2)设 f 和 g 分别是 n 元和 n+2 元全函数, n+1 元函数 h 由下述等式给出
h(x1,...,xn,0)=f(x1,...,xn),
h(x1,...,xn,t+1)=g(t,h(x1,...,xn,t),x1,...,xn)
称 h 是由 f 和 g 经过原始递归运算得到的。
(3)加法、除法、阶乘、指数,找到第 n个素数等等是原始递归的,实际上,很难设计不是原始递归的函数。
5,非原始递归——阿克曼函数
Ackermann function:
unsigned int A(unsigned int m,unsigned int n) { if (m==0) { return n+1; } else if (n==0) { return A(m-1,1); } else { return A(m-1,A(m,n-1)); } }
6,递归
递归包括原始递归和非原始递归。
原始递归函数可以用总是停机的图灵机计算,而非原始递归函数需要图灵完全系统。
文章来源: blog.csdn.net,作者:csuzhucong,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/nameofcsdn/article/details/111658725
- 点赞
- 收藏
- 关注作者
评论(0)