arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1612.08097cs.DS
收藏

反演自适应近似计数的新结果

New Results for Adaptive and Approximate Counting of Inversions

Saladi Rahul

摘要:

逆序计数是数据库中一个经典而重要的问题。列表$L=(L(1),L(2),\ldots,L(n))$中的反转数$K^*$被定义为$i < j$与$L(i) > L(j)$的配对数。(1)在I/O模型中,提出了计算$K^{*}$的自适应算法。该算法执行$O(\frac{N}{B}+ \frac{N}{B}\log_{M/B}(\frac{K^*}{NB}))$ I/O。当$K^{*}=O(NM)$时,该算法仅采用$O(\frac{N}{B})$ I/O。该算法可以修改以匹配基于比较的模型和RAM模型的最新技术水平。(2)在RAM模型中,提出了一种线性时间算法来获得$K^*$的紧估计;具体地说,是一个具有高概率在$[(1-\frac{\log N}{N^{1/4}})K^*,(1+\frac{\log N}{N^{1/4}})K^*]$范围内的值。现有技术的线性时间算法适用于$L$是置换的特殊情况,即,每个$L(i)$是$[1,N]$范围内的不同整数。在本文中,我们处理的一般情况下,每个$L(i)$是一个实数。

英文摘要:

Counting inversions is a classic and important problem in databases. The number of inversions, $K^*$, in a list $L=(L(1),L(2),\ldots,L(n))$ is defined as the number of pairs $i < j$ with $L(i) > L(j)$. In this paper, new results for this problem are presented: (1) In the I/O-model, an adaptive algorithm is presented for calculating $K^{*}$. The algorithm performs $O(\frac{N}{B}+ \frac{N}{B}\log_{M/B}(\frac{K^*}{NB}))$ I/Os. When $K^{*}=O(NM)$, then the algorithm takes only $O(\frac{N}{B})$ I/Os. This algorithm can be modified to match the state of the art for the comparison based model and the RAM model. (2) In the RAM model, a linear-time algorithm is presented to obtain a tight estimate of $K^*$; specifically, a value which lies with high probability in the range $[(1-\frac{\log N}{N^{1/4}})K^*,(1+\frac{\log N}{N^{1/4}})K^*]$. The state of the art linear-time algorithm works for the special case where $L$ is a permutation, i.e., each $L(i)$ is a distinct integer in the range $[1,N]$. In this paper, we handle a general case where each $L(i)$ is a real number.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑