r个桶数量的DGIM算法的错误率上限
当允许具有相同大小的桶的数目是1或者2时,错误率上限为50%
故对相同大小的桶的数目,令其为 r-1 或者 r ,对于最大桶和最小桶则数目可以为1~r间的任意一个数。
桶合并规则为:如果大小为
2j 的桶的数目为r+1,则将最左边的两个桶合并为一个
2j+1大小的桶,如果可以继续合并则继续合并直至不能合并。
故当最左边的桶中仅有一个1在查询范围内时,错误率相对来说是最大的,此时查询结果被高估。假设最左边的桶大小为
2j ,则真实的查询结果至少 (这里用"至少"是指这里假设大小为
2j的桶仅有一个,且右边的桶数量都是r-1,实际上可以有更多,这样真实查询结果会更大,错误率将更低,为了计算上限在此取最少) 应该是:
1+(r−1)(2j−1+2j−2+...+1)=1+(r−1)(2j−1)
由于在此处高估了
2j−1−1 个,
错误率为:
1+(r−1)(2j−1)2j−1−1<=(r−1)(2j−1)2j−1−1=r−11
故错误率上界为
r−11 ,因此只要令r足够大,便可以将错误率降至够低,复杂度会增大。