Optimal Algorithms for Multiway Search on Partial Orders

Shangqi Lu, W. Martens, Matthias Niewerth, Yufei Tao
{"title":"Optimal Algorithms for Multiway Search on Partial Orders","authors":"Shangqi Lu, W. Martens, Matthias Niewerth, Yufei Tao","doi":"10.1145/3517804.3524150","DOIUrl":null,"url":null,"abstract":"We study partial order multiway search (POMS), which is a game between an algorithm A and an oracle, played on a directed acyclic graph G known to both parties. First, the oracle picks a vertex t in G called the target. Then, A needs to figure out which vertex is t by probing reachability. Specifically, in each probe, A selects a set Q of vertices in G whose size is bounded by a (pre-agreed) limit; the oracle reveals, for each vertex q ∈ Q, whether q can reach the target in G. The objective of A is to minimize the number of probes. This problem finds use in crowdsourcing, distributed file systems, software testing, etc. We describe an algorithm to solve POMS in O(log1+k n + d/k log1+dn) probes, where n is the number of vertices in G, k is the maximum permissible |Q|, and d is the largest out-degree of the vertices in G. We further establish the algorithm's asymptotic optimality by proving a matching lower bound. We also introduce a variant of POMS in the external memory (EM) computation model, which is the key to a black-box approach for converting a class of pointer-machine structures to their I/O-efficient counterparts. In the EM version of POMS, A is allowed to pre-compute a (disk-based) structure on G and is then required to clear its memory. The oracle (as before) picks a target t. A still needs to find t by issuing probes, except that the set Q in each probe must be read from the disk. The objective of A is now to minimize the number of I/Os. We present a structure that uses O(n/B) space and guarantees discovering the target in O(logB n + d/B log1+dn) I/Os where B is the block size, and n and d are as defined earlier. We establish the structure's asymptotic optimality by proving that any structure demands Ω(log_B n + d/B log1+d n) I/Os to find the target in the worst case regardless of the space consumption.","PeriodicalId":230606,"journal":{"name":"Proceedings of the 41st ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems","volume":"47 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 41st ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3517804.3524150","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

We study partial order multiway search (POMS), which is a game between an algorithm A and an oracle, played on a directed acyclic graph G known to both parties. First, the oracle picks a vertex t in G called the target. Then, A needs to figure out which vertex is t by probing reachability. Specifically, in each probe, A selects a set Q of vertices in G whose size is bounded by a (pre-agreed) limit; the oracle reveals, for each vertex q ∈ Q, whether q can reach the target in G. The objective of A is to minimize the number of probes. This problem finds use in crowdsourcing, distributed file systems, software testing, etc. We describe an algorithm to solve POMS in O(log1+k n + d/k log1+dn) probes, where n is the number of vertices in G, k is the maximum permissible |Q|, and d is the largest out-degree of the vertices in G. We further establish the algorithm's asymptotic optimality by proving a matching lower bound. We also introduce a variant of POMS in the external memory (EM) computation model, which is the key to a black-box approach for converting a class of pointer-machine structures to their I/O-efficient counterparts. In the EM version of POMS, A is allowed to pre-compute a (disk-based) structure on G and is then required to clear its memory. The oracle (as before) picks a target t. A still needs to find t by issuing probes, except that the set Q in each probe must be read from the disk. The objective of A is now to minimize the number of I/Os. We present a structure that uses O(n/B) space and guarantees discovering the target in O(logB n + d/B log1+dn) I/Os where B is the block size, and n and d are as defined earlier. We establish the structure's asymptotic optimality by proving that any structure demands Ω(log_B n + d/B log1+d n) I/Os to find the target in the worst case regardless of the space consumption.
偏序多路搜索的最优算法
本文研究了在有向无环图G上,算法a与神谕之间的一种博弈——偏序多路搜索。首先,oracle在G中选择一个顶点t,称为目标。然后,A需要通过探测可达性来找出哪个顶点是t。具体来说,在每个探测中,A在G中选择一个集合Q,其大小受一个(预先约定的)限制;oracle显示,对于每个顶点q∈q, q是否能到达g中的目标。A的目标是使探测次数最小化。这个问题在众包、分布式文件系统、软件测试等领域都很常见。本文描述了一种用O(log1+k n +d /k log1+dn)个探针求解POMS的算法,其中n为G中的顶点数,k为允许的最大值Q, d为G中顶点的最大出度,并通过证明一个匹配的下界进一步证明了该算法的渐近最优性。我们还在外部存储器(EM)计算模型中引入了POMS的一种变体,这是将一类指针机结构转换为I/ o高效对应体的黑盒方法的关键。在EM版本的POMS中,允许A在G上预先计算一个(基于磁盘的)结构,然后需要清除其内存。oracle(和以前一样)选择一个目标t。a仍然需要通过发出探测来找到t,只是每个探测中的集合Q必须从磁盘读取。现在,A的目标是最小化I/ o的数量。我们提出了一个使用O(n/B)空间的结构,并保证在O(logB n +d /B log1+dn) I/O中发现目标,其中B是块大小,n和d与前面定义的一样。我们通过证明任何结构都需要Ω(log_B n +d /B log1+d n) I/ o来找到最坏情况下的目标,而不管空间消耗如何,从而建立了结构的渐近最优性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信