是否建立了带有实数的复杂度类?


14

一个学生最近要求我为他们检查NP硬度证明。他们根据以下方面进行了减少:

我减少这个问题,是已知的NP完全以我的问题P(用聚当时许多一还原),所以P是NP难。PPP

我的回答基本上是:

由于实例具有R的值,因此它不具有图灵运算能力,因此可以跳过归约。PR

尽管从形式上说是正确的,但我认为这种方法不是有见地的:我们当然希望能够捕获实际价值决策(或优化)问题的“内在复杂性”,而忽略了我们在处理实际价值时面临的局限性数字; 调查这些问题还有一天。

当然,这并不总是那么容易地说,“子集总和的离散版本是NP完全的,因此连续版本也是'NP困难的”。在这种情况下,简化很容易,但是有一些著名的案例是连续版本更容易,例如线性编程还是整数编程。

在我看来,RAM模型自然可以扩展为实数。让每个寄存器存储一个实数并相应地扩展基本操作。统一成本模型仍然有意义-无论如何与离散情况一样-而对数模型则没有意义。

因此,我的问题可以归结为:是否存在确定的实值问题复杂性概念?它们与“标准”离散类有何关系?

Google搜索会产生一些结果,例如this,但是我无法告诉您已建立的和/或有用的,没有的是什么。


1
您可能会发现有趣的“复杂性和真实计算” amazon.com/Complexity-Real-Computation-Lenore-Blum/dp/…–
Kurt Mueller

在我看来,您对学生的回答毫无根据,原因很简单:无论我们用来查看基于实数的任何计算,都可以使用可计算的实数进行。我不知道这是否对您的学生有用,但是至少应该消除缺乏图灵可计算性的论点。不幸的是,我在这些问题上不够专业,无法进一步发展。
2014年

@babou就可计算性而言,这可能是一个合理的限制(尽管如此,他们仍然必须指出!)。但是,复杂性会怎样?
拉斐尔

@Raphael我的意思是实际上它甚至没有限制,无需说明。这是不可避免的。您可以在计算中考虑的唯一实数是可计算实数(Church-Turing论文)。好的方面显然是,在适当注意的情况下,它不会改变任何相关的数学。超越可计算的实数,就像使用更高级别的图灵层次结构一样,令人着迷的猜测,对任何实数的影响可能很小(双关不可避免)。
babou 2014年

Answers:


8

是。有。

在另一个答案中提到了real-RAM / BSS模型。该模型存在一些问题,并且AFAIK对此没有太多研究活动。可以说,这不是一个现实的计算模型

真正的可计算性更活跃的概念是更高类型的计算模型。基本思想是为更高类型的函数定义复杂度,然后使用更高类型的函数表示实数。

对高类型函数的复杂性的研究至少可以追溯到[1]。对于最近的工作,请查阅Akitoshi Kawamura关于真实算子的复杂性的论文。

关于实函数复杂性的经典参考是Ker-I Ko的书[2]。Klause Weihrauch [3]的最新著作第六章也讨论了实际竞争的复杂性(但更着重于可计算性而不是复杂性)。

  • [1] Stephen Cook和Bruce Kapron,“有限类型基本可行泛函的特征”,1990年。

  • [2] Ker-I Ko,“实函数的计算复杂性”,1991年。

  • [3]克劳斯·威劳赫(Klaus Weihrauch)的“可计算分析”,2000年。


是什么使高类型的函数模型比真实的RAM模型更现实?
拉斐尔

1
@Raphael,我想我在链接的问题中对此做了解释。如果您想要更多的通透治疗方法,则有几种,其中之一就是《维拉赫》的第9章。IIRC的另一项好是Tucker和Stolenberg-Hansen的文章。
卡夫2014年

1
在我看来,real-RAM模型存在两个主要问题:一方面,它缺乏实数的任意精度有理逼近的概念,这可以说是它们的主要特性;另一方面,它允许比较AFAIK所不知道的实数在实践中该怎么做。结果,我们认为在实践中可以有效计算的某些实函数在模型中是不可计算的,而模型中的一些有效可计算的实函数在实践中根本不可计算。
卡夫2014年

@Kaveh我对整个讨论的不精确性,问题和答案感到不安。我们是在谈论传统的不可数实数,还是可计算的实数。从您的最后一条评论中,您正在谈论“我们认为在实践中可以有效计算的实函数”,因此我倾向于认为这与可计算实数有关。你到底是什么意思
babou 2015年

8

您描述的模型称为Blum-Shub-Smale(BSS)模型(也称为Real RAM模型),并且确实用于定义复杂性类。

在这个领域中,一些有趣的问题是N P R类,当然还有P R = N P R的问题。由P - [R ,我们是指该问题是多项式可判定的,Ñ P ř变量,p 1p Ñ- [R [ X 1x n ]PRNPRPRNPRPRNPR是该问题是多项式可验证的。关于等级存在硬度/完整性问题。N P R完全问题的一个例子是二次多项式系统Q P S的问题,其中输入是实多项式NPRNPRQPSmp1,...,pn R[x1,...,xn]的度数最多为2,每个多项式最多具有3个变量。的问题是否有一个共同的实际的解决方案 ,使得p 1p 2p na = 0Rnp1(a),p2(a),...pn(a)=0。这是一个完全问题。NPR

但是,更有趣的是,关于实数(即类P C P R)上的((概率检验证明))之间的关系以及它与代数计算模型的关系,已有一些工作。BSS模型平移了所有N P实数。这是文献中的标准,今天我们知道的是N P R具有“透明的长证明”和“透明的短证明”。“透明的长证明”暗示以下含义:N P R包含在P C P Rp o l yPCPPCPRNPNPRNPR。还有一个扩展,它说“几乎(近似)简短版本”也是正确的。我们是否可以通过检查比 n少得多的(实际)分量来稳定证明并检测故障?这引起了关于由直线程序给出的单变量多项式(系统)零的存在的问题。另外,“透明长样”是指PCPR(poly,O(1))n

  1. “透明”-仅读取O(1)

  2. long-实分量的超多项式数。

3SATFPNPRNPR = co-NPR

NPR#Pf{0,1} NMpnNx{0,1}nf(x)y{0,1}p(n)that the Turing Machine M accepts {x,y}. For reals we extend this idea there are additive BSS machines - BSS machines that do only addition, and multiplications (no divisions, no subtractions). With additive BSS machines(nodes in computation only allow addition, and multiplication) the model for #P becomes one in which the count is over the vectors that the additive BSS machines accepts. So, the counting class is #Padd this class is useful in the study of Betti numbers, and also the Euler characteristic.


The real-RAM(Random Access Machine), or BSS(Blum-Shub-Smale) machine is the model, mentioned earlier is widely accepted as norm for reasoning about these classes.
user3483902

No, that claim is absolutely false. E.g. have a look at CCA-Net and see how many researchers are using that model.
Kaveh

Well, the models used for the complexity classes in the post use the BSS model, and as time progresses there may be other models, do those other models work with the complexity classes in the post? BTW, the comment was a clarification about the models used in the classes in concern, which the post addressed, so there was no clarification as to whether there other models. Again, the clarification was about the models used in the classes, there was no claim.
user3483902
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.