计算几何学研究人员偏爱BSS / real-RAM模型的原因是什么?


40

背景

由于实数是无限的对象并且存在无数的实数,因此实数的计算比自然数的计算更为复杂,因此实数不能由有限字母在有限字母上忠实地表示。

不同于经典的关于有限字符串的可计算性,在这里,不同的计算模型,例如:lambda演算,图灵机,递归函数,……证明是等效的(至少对于字符串上的函数具有可计算性),有多种提议的模型可用于不兼容的实数。例如,在最接近经典Turing机器模型的TTE模型(另请参见[Wei00])中,实数使用无限输入带(如Turing的预言片)表示,因此无法确定比较和两个给定实数之间的相等关系(在有限的时间内)。另一方面,在BBS / real-RAM模型中,类似于RAM机器模型,我们有可以存储任意实数的变量,并且比较和相等性属于模型的原子操作。由于类似的原因,许多专家表示BSS / real-RAM模型不切实际(无法实现,至少在当前的数字计算机上无法实现),并且他们更喜欢TTE或其他等效模型,而不是TTE,例如有效域理论模型,柯·弗里德曼模型等

如果我理解正确,则“ 计算几何”中使用的默认计算模型是BSS(又称real-RAM,请参见[BCSS98])模型。

另一方面,在我看来,在计算几何中的算法(例如LEDA)的实现中,我们仅处理代数数,并且不涉及更高类型的无限对象或计算(这对吗?)。因此,在我看来(可能是幼稚的)人们也可以使用有限字符串上的经典计算模型来处理这些数字,并使用通常的计算模型(也用于算法的实现)来讨论正确性和复杂性算法。


问题:

计算几何研究人员偏爱使用BSS / real-RAM模型的原因是什么?(使用BSS / real-RAM模型的特定计算几何)

我在上一段中提到的(可能是幼稚的)想法有什么问题?(使用经典的计算模型并将输入限制为“计算几何”中的代数数)


附录:

算法问题也很复杂,在BSS / real-RAM模型中很容易确定以下问题:

由于两套牛逼正整数, 是Σ 小号小号ST
sSs>tTt

虽然尚无有效的整数RAM算法可解决该问题。感谢JeffE的示例。


参考文献:

  1. Lenore Blum,Felipe Cucker,Michael Shub和Stephen Smale,“复杂性与真实计算”,1998年
  2. Klaus Weihrauch,“ 可计算分析,简介 ”,2000年

3
顺便说一句,如果不是很明显,则平方根总和问题具有非常自然的几何解释:如果要比较两个具有整数坐标顶点的多边形路径的长度,这是您需要解决的问题。
David Eppstein 2010年

Answers:


42

首先,计算几何学家不将其视为BSS模型。真正的RAM模型是由Michael Shamos在1978年的博士论文(计算几何)中定义的,可以说是推动了该领域的发展。佛朗哥Preparata修订和扩充Shamos'论文进入第一计算几何教科书,发表在1985年真正的RAM也相当于(除均匀;看帕斯卡的回答!)的代数运算树由Ben-还是在1983年百隆定义的模型,Shub和Smale的研究成果于1989年发布,当时已经建立了real-RAM,并且几乎被计算几何学界完全忽略了。

计算几何中的大多数(经典)结果都与组合几何中的问题紧密相关,对于组合几何而言,关于坐标是整数还是代数的假设(至多)是无关紧要的。以原生语言来讲,在证明事物时将任意点,线,圆等视为一流的对象似乎是完全自然的,因此在设计和分析用于计算它们的算法时也同样自然。

pqqrq,r,sqrst?这些基元中的每一个都是通过评估输入坐标中低阶多项式的符号来实现的。(因此,这些算法可以在弱代数来说明决策树模型。)如果输入坐标正好是整数,这些原语可以准确地用在精密唯一不变的因素增加,对实际RAM和使运行时间进行评估整数RAM相同。

出于同样的原因,当大多数人想到的排序算法,他们不关心什么作为数据来自一个完全有序的宇宙,任何两个值可以在固定的时间进行比较,他们的排序,只要。

因此,社区将“真实”几何算法的设计与其实际实现之间的关注点分离开了。因此开发了LEDA和CGAL之类的软件包。即使是从事精确计算的人员,在使用真正的算术作为基础模型的一部分的真实算法与实现之间也存在区别,实现是由于物理计算设备的其他无关紧要的限制而不得不使用离散计算。

×

确实有一些几何算法确实严重依赖代数计算树模型,因此无法在物理计算机上准确有效地实现。一个很好的例子是简单多边形中的最小链接路径,该路径可以在实际RAM上以线性时间计算,但在最坏情况下需要二次位数才能准确表示。另一个很好的例子是Chazelle的层次切割,用于已知单形范围搜索的最有效算法中。这些切割使用一组三角形集合的层次结构,其中每个级别的三角形的顶点是通过先前级别的三角形边缘的线的交点。因此,即使输入坐标是整数,这些三角形的顶点坐标也是无界度的代数。但是,用于构建和使用切割的算法假定可以在恒定时间内精确地操纵坐标。

因此,我的简短的,个人偏见的答案是:TTE,领域理论,Ko-Friedman和其他“现实”实数计算模型都解决了整个计算几何学社区根本不在乎的问题。


9
也许应该补充一点,尽管总体上成功了,但这种观点已经导致了一些怪异的失真,例如,多多边形(n)参数搜索算法比简单得多的对数(数值精度)二进制搜索算法更受青睐。
David Eppstein 2010年

Ω(nlogn)

4
约书亚:是的,例如参见arxiv.org/abs/1010.1948
David Eppstein 2010年

1
@David Eppstein:非常有趣!你想将它张贴作为一个答案,我的其他问题:cstheory.stackexchange.com/questions/608/...
约书亚Grochow

15

真正的RAM / BSS模型是否等同于代数计算树模型,这不是很正确。后者更强大,因为多项式深度树的大小可以是指数的。这为编码非均匀信息提供了很大的空间。例如,迈耶·奥德·海德(Meyer auf der Heide)已证明代数(甚至线性)决策树可以有效解决诸如子集和之类的难题,但是(在推测上)这在实际RAM / BSS模型中是不可能的。



4

这是对杰夫出色答案的评论:

提出了条件,近似和舍入的概念,以解决线性规划算法的复杂性差距(组合与连续)。问题实例的情况估计了输入的小扰动对输出精度的影响。条件的概念最早由Alan Turing提出。Jim Renegar引入了线性程序条件的概念。

L. BLUM,计算在实数:凡图灵符合牛顿 告示AMS,第51卷,第9号,(2004年),1024年至1034年的

A. TURING,矩阵处理中的四舍五入误差,Quart。J.机甲 应用 数学。1(1948),287–308

J. RENEGAR,将条件数纳入线性规划的复杂性理论中,SIAM。5(1995),506–524

F. CUCKER和J.PEÑA,使用有限精度机器求解多面圆锥系统的原始对偶算法,SIAM优化杂志12(2002),522–554。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.