我在想,如果你可能有一些洞察到一個問題,我們考慮的優化問題:動態規劃方法
最大Σ從j = 1到FJ(XJ)正使得Σj = 1至XJ正< = B
XJ> = 0,整數
其中B是正整數和fj是真實實際
我試圖使用動態編程配製的溶液,並找出這種方法的時間複雜度。
林有點困惑的動態規劃方法,你將如何實現它的功能,例如F1(X)=開方如果n = 5,B = 10
親切的問候
我在想,如果你可能有一些洞察到一個問題,我們考慮的優化問題:動態規劃方法
最大Σ從j = 1到FJ(XJ)正使得Σj = 1至XJ正< = B
XJ> = 0,整數
其中B是正整數和fj是真實實際
我試圖使用動態編程配製的溶液,並找出這種方法的時間複雜度。
林有點困惑的動態規劃方法,你將如何實現它的功能,例如F1(X)=開方如果n = 5,B = 10
親切的問候
您的問題是解決
max(g(n,s) for s=0 to B)
其中s
是sum(x[i] for i = 1 to j)
其中g可以遞歸表示爲
g(0,s) = 0
g(j,s) = max(g(j-1,s-x[j])) + f[j](x[j]) for x[j]=0 to s)
這可以有效地通過計算g
作爲表來解決:
g(0,s) = 0
g(1,s) = max(g(0,s-x1) + f1(x1) for x1=0 to s)
g(2,s) = max(g(1,s-x2) + f2(x2) for x2=0 to s)
etc.
謝謝,我確定你是對,雖然......可以理解,但是......這是什麼狀態和遞歸表達呢?是時間複雜度O(nB)? – user87545 2013-04-07 17:58:22
在閱讀了這個更接近我相信我們正從功能選擇中最大化的時候,它們有n個,但是之後給出了5個,f1(x)= squrt(x),f2(x)= log x + 1),f3(x)= x(20-x)/ 25,f4(x)= x/2和f5(x)= 4(1-e ^( - x/5)你提供的仍然是正確的還是我需要重新配置它? – user87545 2013-04-07 18:09:13
@ user87545:好的,你原來的問題被說成好像每個x [j]都有一個不同的f [j],但是好像你試圖找到最好的f,所以我就這樣設置它。 – 2013-04-07 18:15:25
什麼是你發現的最大結束了嗎? X [j]的? – 2013-04-07 16:11:58
可能是http://math.stackexchange.com/問題 – 2013-04-07 16:16:11
我找到Σf(x)的最大值,其中j從1到n – user87545 2013-04-07 16:20:49