考虑一组长度,每个长度与概率相关联。即
X={a1=(100,1/4),a2=(500,1/4),a3=(200,1/2)}
显然,所有概率的总和= 1。
从起点一个接一个地将长度排列在一条线上。
例如:从开始到结束的顺序为{a2,a1,a3}
。
将元素a_i
的成本定义为从该元素的起始行到结尾的总长度乘以其概率。
从以前的安排来看:
cost(a2) = (500)*(1/4)
cost(a1) = (500+100)*(1/4)
cost(a3) = (500+100+200)*(1/2)
将总费用定义为所有费用的总和。例如cost(X) = cost(a2) + cost(a1) + cost(a3)
。给出一种算法,找到最小化cost(X)
我的想法:
这看起来像一个贪婪的算法,因为排列中的最后一个元素总是具有相同的总和乘以其概率,但是我不能想到实现这一点的启发式算法。不用说,按概率或长度排序是行不通的。