k=0
repeat
k=k+1
使代价最小化计算Ek
B'=null
for each ej属于Ek do
if ej=1 then
B'=B-{bj}
end if
end for
B=B-B'
until |B'|=1
return {E1,..., Ek}
算法的输入为一个数组,所做的操作就是从这个数组里边取若干个元素,把他们按照一定规则组合起来通过一个代价函数计算代价,最后找到代价从高到低的若干个数组的子集,也就是算法中的E1到Ek。不经任何优化的做法是对这个数组的元素进行组合,对每一个组合求解代码,然后排序。但是这个基本上是不可能完成的,因为现在得到的数组的大小将近500,那么找出其中所有组合是一项非常费时的任务(从500中取1个,取2个,... , 取500个)。
这个算法是文章《Parameter Free Bursty Events Detectionin Text Streams》最后的算法。目前还没有想到可行的算法,希望达人帮忙。联系过作者,没有理我,呵呵