论文标题
对大小O(n log n)的电路中的短键排序
Sorting Short Keys in Circuits of Size o(n log n)
论文作者
论文摘要
我们考虑了对包含$ n $元素的输入阵列进行排序的经典问题,其中每个元素都用$ k $ -bit的比较键和$ w $ bit的有效载荷描述。一个长期的开放问题是,是否存在$(k + w)\ cdot o(n \ log n)$ - 大小的布尔电路用于排序。我们表明,当要排序的键很短时,可以克服$ n \ log n $屏障。具体来说,我们证明有一个带有$(k + w)\ cdot o(n k)\ cdot \ poly(\ log^* n - \ log^*(w + k))的电路$ boolean门,能够对包含$ n $ emlements的任何输入阵列进行排序,每个输入阵列都用$ k $ - bit键和$ w $ w $ -bit付费。因此,如果要排序的密钥很短,例如,$ k <o(\ log n)$,我们的结果在渐近上比经典的AKS排序网络好(忽略$ \ poly \ log^*$ enter);在这种情况下,我们还克服了$ n \ log n $障碍。最初,这种结果可能令人惊讶,因为早就知道,即使要排序的密钥仅为$ 1 $ -bit Long(例如,参见Knuth的“编程艺术”教科书),基于比较器的技术也必须产生$ω(n \ log n)$比较门。据我们所知,我们是第一个使用基于非相比的技术来分类电路的非平凡结果的人。我们还表明,如果Li-Li网络编码猜想是正确的,那么我们的上限是最佳的,禁止$ \ poly \ log^*$项,只要$ k = o(\ log n)$。
We consider the classical problem of sorting an input array containing $n$ elements, where each element is described with a $k$-bit comparison-key and a $w$-bit payload. A long-standing open problem is whether there exist $(k + w) \cdot o(n \log n)$-sized boolean circuits for sorting. We show that one can overcome the $n\log n$ barrier when the keys to be sorted are short. Specifically, we prove that there is a circuit with $(k + w) \cdot O(n k) \cdot \poly(\log^*n - \log^* (w + k))$ boolean gates capable of sorting any input array containing $n$ elements, each described with a $k$-bit key and a $w$-bit payload. Therefore, if the keys to be sorted are short, say, $k < o(\log n)$, our result is asymptotically better than the classical AKS sorting network (ignoring $\poly\log^*$ terms); and we also overcome the $n \log n$ barrier in such cases. Such a result might be surprising initially because it is long known that comparator-based techniques must incur $Ω(n \log n)$ comparator gates even when the keys to be sorted are only $1$-bit long (e.g., see Knuth's "Art of Programming" textbook). To the best of our knowledge, we are the first to achieve non-trivial results for sorting circuits using non-comparison-based techniques. We also show that if the Li-Li network coding conjecture is true, our upper bound is optimal, barring $\poly\log^*$ terms, for every $k$ as long as $k = O(\log n)$.