Analysis of Branch Misses in Quicksort
算法的分析主要依赖于计算经典的基本运算,如加法,乘法,比较,交换等,这种方法通常足以量化算法的效率。然而,在某些情况下,现代处理器架构的特性(如流水线执行和存储层次结构)对运行时间有显著影响,需要考虑到这些特性才能得到可靠的结果。一个例子是Quicksort:实验证明,在硬件上的某些条件下,将枢轴作为样本的中值的经典最优平衡选择变得有害。原因在于错误预测的分支,其回滚成本成为主导。在本文中,我们给出了第一个精确的分析调查的影响,流水线和由此产生的分支预测失误的效率(经典)快速排序和雅罗斯拉夫斯基的双支点快速排序在Oracle的Java 7库中实现。对于后者,人们仍然没有完全理解为什么实验证明它比经典单枢轴版本的高度工程化实现快10%。对于不同的分支预测策略,我们给出了精确的渐近的预期数量的分支失误所造成的上述快速排序变种时,他们的枢轴是从输入的样本中选择。我们的结论是,分支未命中的差异太小,无法解释双枢轴算法的优越性。
2014-11-07 cs.DS math.PR
NeatSort - A practical adaptive algorithm
我们提出了一种新的自适应排序算法,这是最佳的大多数混乱的度量,更重要的是,有一个简单而快速的实现。对于输入$X$,我们的算法具有理论$Ω(|X|)$下限和$\mathcal{O}(|X|\log|X|)$上限,表现出惊人的自适应特性,随着无序(根据不同指标计算)的减少,使其更接近其下限。从实践的角度来看,\textit{NeatSort}已经证明了它与\textit{qsort}和任何\textit{Random Quicksort}实现(甚至在随机阵列上)相比具有竞争力(并且往往更好)。
2014-07-23 cs.DS
QuickXsort - A Fast Sorting Scheme in Theory and Practice
QuickXsort是一种高效的就地顺序排序方案,它将Hoare的Quicksort算法与X混合在一起,其中X可以从更广泛的其他已知排序算法中选择,如Heapsort,Insertionsort和Mergesort。它的主要优点是QuickXsort可以在X没有的情况下就位。在这项工作中,我们提供了一般的转移定理表示的比较的QuickXsort的X的数量的比较。更具体地说,如果选择枢轴作为(不太快)增长大小样本的中位数,则QuickXsort和X的平均比较次数仅相差$o(n)$项。对于某些常数$k$的$k$的中值主元选择,差是一个线性项,我们精确计算其系数。例如,三个QuickMergesort的中位数最多使用$n \lg n - 0.8358n + O(\log n)$比较。此外,我们还研究了使用更少比较的其他算法对基本情况进行排序的可能性。通过这样做,比较的平均情况数量可以减少到$n \lg n- 1.4106n + o(n)$,剩余的间隙仅为$0.0321n$与已知下限的比较(同时总体上仅使用$O(\log n)$额外空间和$O(n \log n)$时间)。这些排序策略的实现表明,这些算法挑战了成熟的库实现,如Musser的Introsort。
2018-11-03 cs.DS
Average Cost of QuickXsort with Pivot Sampling
QuickXsort是一种将Quicksort与另一种排序方法X相结合的策略,因此结果与隔离的X具有基本相同的比较成本,但即使X需要线性大小的缓冲区,也会进行排序。我们精确地解决了QuickXsort的递归问题,直到线性项,包括从k个元素的样本中选择枢轴的优化。这允许仅使用排序方法X的平均成本立即获得总平均成本(就像孤立运行一样)。因此,我们扩展并大大简化了QuickHeapsort和QuickMergesort的分析,实际上有效的枢轴选择,并给出了第一个紧的上界,包括线性项,这样的方法。
2018-05-17 cs.DS
An improved approximation algorithm for k-median problem using a new factor-revealing LP
k-中位数问题是一个著名的强NP-难组合优化问题,具有重要的理论和实际意义。基于经典设施选址问题(FLP)的(1,1.95238219)双因子近似算法,该问题的先前最佳近似比为2.611+ε(Bryka等人,2014)。本文在一种新的(1,1.93910094)双因子近似算法的基础上,提出了一种近似比为2.592 +ε的改进算法。
2015-09-22 cs.DS
Cole's Parametric Search Technique Made Practical
参数搜索在几何算法中有着广泛的应用。Cole的改进提供了一种在运行时间中节省对数因子的方法,而不是使用标准方法。不幸的是,这种改进的代价是使已经复杂的算法变得更加复杂;因此,这种技术主要是理论上的兴趣。在本文中,我们提供了一个算法工程框架,该框架允许以简单和实用的方式概率地实现相同的渐近复杂度(即,适合实际应用)。我们的方法的主要思想是表明,快速排序的一个变体,称为boxsort,可以用来驱动比较,而不是使用排序网络,如复杂的AKS网络,或EREW并行排序算法,如相当复杂的并行归并排序算法。这导致随机优化算法的运行时间与使用Cole方法的运行时间匹配,具有高概率,同时也是实用的。我们将展示如何在实际实现中的一些几何算法,利用参数搜索的结果,并提供实验结果,证明该方法的实用性。
2013-06-13 cs.CG cs.DS
Fast Deterministic Selection
中位数的中位数(也称为BFPRT)算法,虽然是一个里程碑式的理论成就,但很少在实践中使用,因为它及其变体比基于采样的简单方法慢。本文的主要贡献是一个快速的线性时间确定性选择算法QuickselectAdaptive的MedianOfMedians的定义的基础上。该算法的性能带来了确定性的选择-随着其理想的属性,可重复的运行,可预测的运行时间,免疫病理输入-在实用性的范围内。我们展示了独立和同分布的随机输入和正态分布的输入的结果。测量结果表明,QuickselectAdaptive比最先进的基线更快。
2016-08-04 cs.DS
FPT Approximation for Constrained Metric $k$-Median/Means
度量$k$-度量空间$(\mathcal{X}, d)$上的中值问题定义如下:给定设施位置的集合$L \subseteq \mathcal{X}$和客户端的集合$C \subseteq \mathcal{X}$,打开$k$设施的集合$F \subseteq L$,使得定义为$Φ(F, C) \equiv \sum_{x \in C} \min_{f \in F} d(x, f)$的总服务成本最小化。度量$k$-均值问题的定义类似于使用平方距离。在许多应用中,存在任何解决方案需要满足的附加约束。这就产生了不同的约束版本的问题,如$r$-收集,容错,离群$k$-手段/$k$-中位数问题。令人惊讶的是,对于许多这些约束问题,没有常数近似算法是已知的。我们给FPT算法与常数近似保证一系列约束$k$-中位数/均值问题。对于某些约束问题,我们是第一个常数因子近似算法,而对于其他人,我们改进或匹配以前的作品的近似保证。我们工作的统一框架内丁和徐,使我们能够同时获得算法的一系列约束问题。特别地,我们分别得到了FPT时间下约束形式的$k$-中值和$k$-均值问题的$(3+\varepsilon)$-近似和$(9+\varepsilon)$-近似.在$k$-中位数/均值问题的许多实际设置中,允许在任何客户端位置打开设施,即,PDMATHAMV。对于这种特殊情况,我们的算法在FPT时间内分别给出了约束形…
2020-07-23 cs.DS
Dualheap Selection Algorithm: Efficient, Inherently Parallel and Somewhat Mysterious
提出了一种固有的并行算法,有效地执行选择:找到一组N个成员的第K个最大的成员。选择是许多更复杂算法的共同组成部分,因此是一个广泛研究的问题。在提出的双堆选择算法中没有太多新的东西:堆数据结构来自J.W.J.Williams,自底向上的堆构造来自R.W. Floyd提出,而两堆数据结构的概念来自J.W.J. Williams和D.E.高德纳该算法的新颖性仅限于一些相对较小的实现扭曲:1)这两个堆被定向为它们的根在分区值处而不是在最小值和最大值处,(较小值的堆)采用负索引,以及3)算法的交换阶段类似于自底向上的堆构造,而是用后序树遍历来导航堆。当在单处理器上运行时,双堆选择算法的性能与具有中值估计的快速选择(C.A.R.的常见变体)具有竞争力。霍尔快速排序算法。当运行在并行处理器上时,dualheap选择算法是优越的,因为它的子任务很容易分区和天生的平衡。
2007-06-14 cs.CC cs.DC cs.DS
Fast Isotropic Median Filtering
Google Research(谷歌研究)
针对中值滤波受限于位深、核大小及核形状且方核易产生伪影的问题,首次提出一种高效处理任意位深、任意核大小及任意凸核形状(含圆形)的方法。
2025-05-28 cs.CV cs.DS
Oblivious Median Slope Selection
研究了不经意RAM模型中的中值斜率选择问题。在这种模型中,存储器访问必须独立于所处理的数据,即,对手不能使用观察到的访问模式来导出关于输入的附加信息。我们展示了如何修改Matoušek(1991)的随机算法以获得$\mathbb{R}^2$中$n$点的具有$\mathcal{O}(n \log^2 n)$期望时间的不经意版本。这种复杂性与理论上的上限相匹配,该上限可以通过一般的不经意变换获得。此外,从概念验证的实施结果表明,我们的算法也是实际有效的。
2023-02-24 cs.CG cs.CR cs.DS
Average Sensitivity of Hierarchical $k$-Median Clustering
University of Science and Technology of China(中国科学技术大学)
本文研究了层次$k$-median聚类问题的平均敏感度,提出了一种高效且低敏感度、高质量的聚类算法,并从理论和实验上证明了其相比单链接和CLNSS算法的优越鲁棒性。
2025-07-14 cs.DS cs.LG
Scalable Fair Clustering
TTIC(丰田工业大学芝加哥分校);CSAIL, MIT(麻省理工学院计算机科学与人工智能实验室);MIT-IBM Watson AI Lab, IBM Research(IBM研究院麻省理工学院-IBM沃森人工智能实验室);New Jersey Institute of Technology(新泽西理工学院)
我们研究了Chierichetti等人[2017]引入的经典$k$ -中位数问题的公平变体。在标准的$k$ -中值问题中,给定输入点集$P$,目标是找到$k$中心$C$,并将每个输入点分配给$C$中的一个中心,使得点到其聚类中心的平均距离最小化。在$k$ -median的公平变体中,点被着色,目标是最小化相同的平均距离目标,同时确保所有聚类具有“近似相等”的每种颜色的点的数量。Chierichetti等人提出了一种用于公平$k$聚类的两阶段算法。在第一步中,点集被划分成满足公平性要求并近似保持$k$ -中值目标的称为fairlets的子集。在第二步中,通过现有的$k$ -中值算法之一来将fairlets合并到$k$簇中。该算法的运行时间主要由第一步决定,其运行时间为超二次型。在本文中,我们提出了一种实用的近似Fairlet分解算法,该算法在近线性时间内运行。我们的算法还允许更精细的控制所产生的集群的平衡比原来的工作。我们补充我们的理论界限与经验评估。
2019-06-10 cs.DS cs.LG
Theory meets Practice at the Median: a worst case comparison of relative error quantile algorithms
估计数据的分布和分位数是数据采掘和数据科学中的一项基本任务。我们研究的算法,提供准确的结果,极端分位数查询使用少量的空间,从而有助于了解输入分布的尾部。也就是说,我们专注于两个最新的国家的最先进的解决方案:$t$ -digest和ReqSketch。虽然$t$ -digest是一种流行的紧凑摘要,在各种设置中都能很好地工作,但ReqSketch具有形式上的准确性保证,其代价是随着新观察的插入而增加。在这项工作中,我们提供了洞察哪些条件使一个比另一个更可取。也就是说,我们将展示如何构建输入$t$摘要,引起几乎任意大的错误,并证明它无法提供准确的结果,即使在i.i.d.。来自高度非均匀分布的样本。我们对ReqSketch提出了实际的改进,使其比$t$ -digest更快,而其错误在任何实例上都保持有界。尽管如此,我们的研究结果证实,$t$ -digest在实践中遇到的“非对抗性”数据上仍然更准确。
2021-06-10 cs.DS stat.CO
Fast Exact k-Means, k-Medians and Bregman Divergence Clustering in 1D
Aarhus University(奥胡斯大学);University of California, San Diego(加利福尼亚大学圣地亚哥分校);New Mexico State University(新墨西哥州立大学)
$n$点上的$k$ -均值聚类问题对于任何维数$d\ge 2$都是NP难的,然而,对于1D情况存在精确的多项式时间算法。以前的文献报道了使用$O(kn)$空间的$O(kn^2)$时间动态规划算法。事实证明,这个问题在20多年前就已经以不同的名称被考虑过了。我们提出了所有被忽视的现有工作,并从理论上比较各种解决方案。此外,我们展示了如何减少其中一些的空间使用,以及将它们推广到可以快速报告任何$k$的最佳$k$均值聚类的数据结构。最后,我们还推广了所有的算法工作的绝对距离和工作的任何布雷格曼分歧。我们补充我们的理论贡献的实验,比较各种算法的实际性能。
2018-04-25 cs.AI cs.DS cs.LG
A Practical Algorithm for Distributed Clustering and Outlier Detection
Indiana University Bloomington(印第安纳大学伯明顿分校)
我们研究了经典的$k$ -均值/中值聚类,这是无监督学习中的基本问题,在数据被划分为多个站点的设置中,并且允许我们通过将其标记为离群值来丢弃一小部分数据。我们提出了一个简单的方法,基于构建小摘要的原始数据集。该方法具有时间和通信效率高、逼近性好、能有效识别全局离群点等优点。据我们所知,这是第一个实用的算法与理论保证分布式聚类离群值。我们在真实数据和合成数据上的实验表明,我们的算法在几乎所有指标上都明显优于所有基线算法。
2018-10-11 cs.AI cs.DC cs.DS