假设我们要在谓词上加入两个关系。这是在NC吗?
我意识到,证明它不在NC中就等于证明,因此我将接受它是一个开放性问题的证据作为答案。
我对一般情况和特定情况都感兴趣(例如,可能具有某些特定的数据结构,可以将其并行化)。
编辑:将评论中的一些澄清带入这篇文章:
- 我们可以考虑等值。在单个处理器上,基于哈希的算法在,这是我们能做的最好的事情,因为我们必须读取每个集合
- 如果谓词是一个“黑匣子”,我们必须检查每对,则配对,而每个配对都可能存在或不存在,因此有可能性。检查每一对将可能性减半,所以我们能做的最好的就是。
是否可以将其中的一个(或某些第三种类型的连接)改进为在多个处理器上?
如果此问题是由实际问题引起的,请记住NC可能不是“可并行化”的最合适概念。
—
拉斐尔
@Raphael:不是,但是您可以链接到为什么吗?我可以将其作为一个单独的问题提出,是否更合适。
—
Xodarap 2012年
我不清楚你在问什么。您要向其添加联接运算符的基本关系数据库查询语言是什么?还是您在询问仅包含联接运算符的查询的复杂性?还是您真正的问题是,是否可以“并行”运行联接运算符以实现更好的时间复杂性?(类似于说“与”可以并行完成的方式)。另外请注意,(安全)SQL查询对应于FOL(Count)。
—
卡夫
或者,您是在给定两个关系数据库作为输入的情况下,在计算联接的复杂度时问什么是最著名的上限和下限(复杂度类)。
—
卡韦
—
拉斐尔