首先你有一个函数f(k)f(k),表示选kk个物品时的代价。

如果f(k)f(k)是个整数,那么附加代价可以只在整数内二分。
如果出现了附加代价为tt时选了k+1k+1个物品,而附加代价为t+1t+1时选了k1k-1个物品,(DP时代价相同取物品数较多的方案)那么一定有f(k)+kt=f(k+1)+(k+1)tf(k)+kt=f(k+1)+(k+1)t

因为如果是这种情况:
f(k1)+(k1)tf(k)+kt>f(k+1)+(k+1)tf(k1)+(k1)(t+1)<f(k)+k(t+1)f(k+1)+(k+1)(t+1)f(k-1)+(k-1)t\ge f(k)+kt>f(k+1)+(k+1)t\\ f(k-1)+(k-1)(t+1)<f(k)+k(t+1)\le f(k+1)+(k+1)(t+1)
而上下的三者之差只有1的区别,就会得到:
f(k1)+(k1)t=f(k)+kt=f(k+1)+(k+1)t+1f(k-1)+(k-1)t=f(k)+kt=f(k+1)+(k+1)t+1
做差就会有:
f(k1)f(k)=tf(k)f(k+1)=t+1f(k-1)-f(k)=t\\ f(k)-f(k+1)=t+1

这个函数凹了!

于是前面提到的结论成立。

而函数的凸性怎么证?即证f(k1)f(k)f(k)f(k+1)f(k-1)-f(k)\ge f(k)-f(k+1)
首先要求决策具有单调性,即设p(i)p(i)ii的最优决策点中最靠右的点,则对于 j<ij<i 要求 p(j)p(i)p(j)\le p(i)
决策的单调性可以通过代价函数的凸性得知。比如说平方函数,越大增速越快。
然后是论文里提到的证明:
关于WQS二分
关于WQS二分
论文中提到的"仅在最后一段大小不唯一处不可导"的意思是左导数不等于右导数(p(i,x)p'(i,x)变化)。
我模拟了一下2 1 3 x2~1~3~x分两段算最小平方和的情况:
关于WQS二分
第一项为分两段的最小平方和,第二项为p(2,x)p'(2,x),第三项为xx,在p=2p=2时导数为x+3x+3,在p=3p=3时导数为xx,可以明显地看出这一点,在45.00000附近变化率缩小了两倍。

因此,记Δ1=limΔx0ans(i,x+Δx)ans(i,x)\Delta_1=\lim\limits_{\Delta x\to 0}ans(i,x+\Delta x)-ans(i,x)Δ2=limΔx0ans(i+1,x+Δx)ans(i+1,x)\Delta_2=\lim\limits_{\Delta x\to 0}ans(i+1,x+\Delta x)-ans(i+1,x)
可以得到Δ1Δ2\Delta_1\ge \Delta_2,即ans(i,x)ans(i+1,x)ans(i,x)-ans(i+1,x)xx增大单调不降。令x0x\to 0xx\to \infty即可得到最终的结论。

相关文章:

  • 2022-03-02
  • 2021-05-16
  • 2021-08-29
  • 2021-11-18
  • 2022-01-28
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-14
  • 2022-12-23
  • 2021-10-06
  • 2021-07-30
  • 2021-04-21
相关资源
相似解决方案