Основные понятия
本文提出了一個簡單的分支定界算法,並證明了它在某些類別的資料庫實例上達到最壞情況最優性。此外,我們還展示了如何將這個算法轉化為一個能夠在預期時間內均勻抽樣查詢答案的算法。
Аннотация
本文提出了一個簡單的分支定界算法來計算連接查詢。這個算法的核心思想是按照變量的順序逐步賦值,並在發現不一致時回溯。作者證明,對於某些類別的資料庫實例,如基於基數約束和無環度約束的類別,這個簡單的算法可以達到最壞情況最優性。
具體來說:
- 作者定義了"前綴封閉"這一概念,並證明基數約束和無環度約束定義的類別都是前綴封閉的。這使得可以用一個簡單的分析來證明算法的最壞情況最優性,而不需要依賴對最壞情況界限的深入理解。
- 為了消除算法中的額外對數因子,作者提出了一種"二進制化"技術,將原始查詢轉換為一個新的查詢,其答案與原查詢一一對應,但在二進制域上進行計算。這使得算法的複雜度僅與最壞情況界限成正比。
- 作者還展示了如何將這個分支定界算法轉化為一個能夠在預期時間內均勻抽樣查詢答案的算法。這是通過利用一個來自Rosenbaum的算法,該算法能夠在不完全探索樹的情況下,均勻地抽取樹的葉子。
總的來說,本文提出了一種簡單而有效的方法來處理最壞情況最優連接查詢及其抽樣問題,並以簡單的分析證明了其正確性。這種方法相比之前的工作更加模塊化和易於理解。