连接可以并行化吗?


9

假设我们要在谓词上加入两个关系。这是在NC吗?

我意识到,证明它不在NC中就等于证明,因此我将接受它是一个开放性问题的证据作为答案。PñC

我对一般情况和特定情况都感兴趣(例如,可能具有某些特定的数据结构,可以将其并行化)。

编辑:将评论中的一些澄清带入这篇文章:

  • 我们可以考虑等值。在单个处理器上,基于哈希的算法在,这是我们能做的最好的事情,因为我们必须读取每个集合一个X=ÿØ|一个|+||
  • 如果谓词是一个“黑匣子”,我们必须检查每对,则配对,而每个配对都可能存在或不存在,因此有可能性。检查每一对将可能性减半,所以我们能做的最好的就是。|一个|||2一个bØ一个b

是否可以将其中的一个(或某些第三种类型的连接)改进为在多个处理器上?日志ķñ


如果此问题是由实际问题引起的,请记住NC可能不是“可并行化”的最合适概念。
拉斐尔

@Raphael:不是,但是您可以链接到为什么吗?我可以将其作为一个单独的问题提出,是否更合适。
Xodarap 2012年

我不清楚你在问什么。您要向其添加联接运算符的基本关系数据库查询语言是什么?还是您在询问仅包含联接运算符的查询的复杂性?还是您真正的问题是,是否可以“并行”运行联接运算符以实现更好的时间复杂性?(类似于说“与”可以并行完成的方式)。另外请注意,(安全)SQL查询对应于FOL(Count)。
卡夫

或者,您是在给定两个关系数据库作为输入的情况下,在计算联接的复杂度时问什么是最著名的上限和下限(复杂度类)。
卡韦

2
@Xodarap:您可能会在这个有启发性的问题上找到答案和评论;我知道我做到了 Kruskal等。(1990)也很好读。
拉斐尔

Answers:


1

处理器可以以恒定的深度比较所有可能性,所以是的,它在NC中。ñ2ñ2


如果要进行“或”运算,则深度将为对数。
sdcvvc 2012年

@sdcvvc:足够公平。在极端情况下,您可以在关系演算中对3SAT进行编码,因此,只有在选择简单(即恒定时间)的情况下,此结果才真正成立。
Xodarap
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.