[论文解读] Query Containment for Highly Expressive Datalog Fragments
本文為高度表達性 Datalog 片段中的查詢包含問題確立了精確的複雜度界限,引入了前綴守護查詢(GQs)作為單射定義查詢(MQs)的推廣。研究證明,一般 Datalog 的包含問題為 3ExpTime-完全,線性 Datalog 則為 2ExpSpace-完全,嵌套導致複雜度呈現指數層次結構,解決了該領域的開放問題。
The containment problem of Datalog queries is well known to be undecidable. There are, however, several Datalog fragments for which containment is known to be decidable, most notably monadic Datalog and several "regular" query languages on graphs. Monadically Defined Queries (MQs) have been introduced recently as a joint generalization of these query languages. In this paper, we study a wide range of Datalog fragments with decidable query containment and determine exact complexity results for this problem. We generalize MQs to (Frontier-)Guarded Queries (GQs), and show that the containment problem is 3ExpTime-complete in either case, even if we allow arbitrary Datalog in the sub-query. If we focus on graph query languages, i.e., fragments of linear Datalog, then this complexity is reduced to 2ExpSpace. We also consider nested queries, which gain further expressivity by using predicates that are defined by inner queries. We show that nesting leads to an exponentially increasing hierarchy for the complexity of query containment, both in the linear and in the general case. Our results settle open problems for (nested) MQs, and they paint a comprehensive picture of the state of the art in Datalog query containment.
研究动机与目标
- 確定已知具有可判定性的高度表達性 Datalog 片段中,查詢包含問題的精確計算複雜度。
- 將單射定義查詢(MQs)推廣為前綴守護查詢(GQs),在提升表達能力的同時維持可判定性。
- 解決關於嵌套 MQs、LinMDlog 與 GDlog 中 Datalog 的包含問題複雜度之開放問題。
- 分析嵌套深度與線性性對包含複雜度的影響,建立指數複雜度層次的分層結構。
- 探討常數在難度證明中的角色,並提出推測:若移除常數,複雜度將降低一個指數層級。
提出的方法
- 作者引入前綴守護查詢(GQs)作為 MQs 的推廣,確保頭部變數僅在規則體中出現在單一 EDB 原子中。
- 採用受 MQs 啟發的「旗幟與檢查」編碼技術,模擬圖靈機的狀態與轉移,進而實現對包含問題的歸約。
- 透過從交替圖靈機接受問題的歸約,建立難度結果,使用守護規則編碼狀態與轉移。
- 利用自動機理論技術推導上界,特別是針對一般 Datalog 使用樹自動機,針對線性 Datalog 使用字串自動機。
- 透過遞迴編碼查詢嵌套層次,分析嵌套查詢包含問題,顯示每層嵌套會導致複雜度指數級增加。
- 透過區分一般 Datalog、線性 Datalog、單射 Datalog 及其守護或嵌套變體,進一步精煉複雜度界限。
实验结果
研究问题
- RQ1對於已知具有可判定性的一般 Datalog 片段,查詢包含問題的精確複雜度為何?
- RQ2將 MQs 推廣至 GQs 對查詢包含複雜度有何影響?是否維持可判定性?
- RQ3嵌套對 Datalog 中查詢包含複雜度層次的影響為何?
- RQ4Guarded Datalog(GDlog)中 Datalog 的包含問題是否可判定?其精確複雜度為何?
- RQ5常數如何影響包含證明的複雜度?若移除常數,結果會如何?
主要发现
- 一般 Datalog 片段(包括 GQs 和 MQs)的查詢包含問題為 3ExpTime-完全,即使子查詢為任意 Datalog 程式亦成立。
- 線性 Datalog 片段的包含複雜度降低至 2ExpSpace,其中線性單射 Datalog(LinMDlog)為 PSpace-完全。
- 查詢嵌套會導致指數層次複雜度:LinMQk 對 LinMQk+1 的包含問題難度為 (k+1)ExpSpace-完全,MQk 同樣成立。
- GDlog 中 Datalog 的包含問題為 2ExpTime-完全,解決了一個開放問題。
- 本文識別出線性單射 Datalog(LinMDlog)的情境下存在緊緻界限的缺口,儘管相關片段已有緊緻界限,但此處複雜度仍未明確。
- 常數在難度證明中扮演關鍵角色;移除常數可能使複雜度降低一個指數層級,提示未來研究的推測。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。