Re: [理工] Ackermann的计算法

楼主: MIKEmike07 (加油!)   2014-04-19 02:46:14
※ 引述《oklp1415 (天生我材)》之铭言:
: 询问 Ackermann 计算的问题
: 关于 Ackermann(2,2) 的计算值为何??
: 有人肯指引一下他的计算过程吗? 没有完全弄清楚这复杂的定义运算~"~
原则上是这样
A(m,n) = {
n+1 when m=0
A(m-1,1) when n=0
A(m-1,A(m,n-1))
}
A(2,2) = A(1,A(2,1)) 看条件A(2,1),不符合m=0 or n=0所以继续做
|
|__
A(1,A(2,0)) 看条件A(2,0)符合n=0,所以做A(m-1,1)
|
|__
A(1,1) 看条件皆不符合,继续做
|
|__
A(0,A(1,0)) 看条件A(1,0)符合n=0
|
|__
A(0,1) 看条件符合m=0 得值=2
接着开始往回推,A(0,A(1,0)=2) = 3,所以A(1,1) = 3
A(1,A(2,0)) = A(1,3) (又要继续算)
|
|__
A(0,A(1,2))
|
|__
A(0,A(1,1)) 这边已经知道A(1,1)=3所以不用再继续
所以再往回推,A(1,3) = 5
回到源头 A(2,2) = A(1,5) (又要继续算)
|
|__
A(0,A(1,4))
|
|__
A(0,A(1,3)) 已知A(1,3) = 5
所以再往回推得 A(2,2) = A(1,5) = 7
基本上他不复杂,主要就是看清楚题目慢慢来,一步步算就好囉
从这之中应该可以发现m,n之间的关系吧
只有当n=0,才能让m减少,要得到值则是要让m=0才能得到
考试不会出太大拉,不然会算到很累呵呵
作者: oklp1415 (天生我材)   2014-04-19 21:29:00
感谢大大的用心详解,受益了!!
作者: storm654321 (P助)   2014-04-24 11:04:00
ackermann(2,n)的closed form 为3+2n 建议写程式我一开始不懂 后来写完C之后就 顿悟了XDACKERMANN跟费是数列比较来 的确难理解...
作者: beabetterman (Robbie Williams)   2014-06-16 15:06:00
常出的值结果背起来就好了 考试没时间慢慢推

Links booklink

Contact Us: admin [ a t ] ucptt.com