作者:
JKLee (J.K.Lee)
2017-10-18 17:28:28Master Theorem 假設
T(n) = a*T(n/b) + f(n)
其中a>=1,b>1
我自己在推導M.T.的過程中只用到 a>0,
但是我看到的資料都是假設 a >= 1,Why?
目前看到的理由是: a是代表子問題的個數,所以a為正整數。
有什麼數學上的理由使得我們要假設 a >= 1 ?
作者: fatezero5262 (白羽音人) 2017-10-18 18:35:00
logb a 如果a小於一算出來就是負的 變成n^-xx,也就是n的倒數,只要n越大複雜度反而變低了不合理,不知道是不是因為這樣
作者:
kyuudonut (善良è€ç™¾å§“)
2017-10-18 22:50:00a > 0 不就是跟 a >= 1 等價嗎? 你質疑的點是?
作者:
FRAXIS (喔喔)
2017-10-19 08:43:00a 可以是實數 我想 a > 0 應該也是可以證明的畢竟 Akra–Bazzi method 沒有這個限制
作者: awesomeXD 2017-10-20 20:33:00
遞迴樹權重會越來越小,就沒討論的必要了吧?
作者:
FRAXIS (喔喔)
2017-10-21 08:03:00要看 b 的大小吧 所以要確認 regularity condition
有哦...master theorem 有限制a是integer greater thanor equal to 1k大其實是正解
a的個數是指子問題(subfunction)的個數,可以想像為一棵子樹,應該沒有非整數的個數吧,會有非整數的東西應該是data個數而不是subfunction的個數詳細概念看一下演算法楓葉本對MT的證明就會清楚了