A Simple Algorithm for Worst-Case Optimal Join and Sampling
<|reference_start|>A Simple Algorithm for Worst-Case Optimal Join and Sampling: We present an elementary branch and bound algorithm with a simple analysis of why it achieves worstcase optimality for join queries on classes of databases defined respectively by cardinality or acyclic degree constraints. We then show that if one is given a reasonable way for recursively estimating upper bounds on the number of answers of the join queries, our algorithm can be turned into algorithm for uniformly sampling answers with expected running time $O(UP/OUT)$ where $UP$ is the upper bound, $OUT$ is the actual number of answers and $O(\cdot)$ ignores polylogarithmic factors. Our approach recovers recent results on worstcase optimal join algorithm and sampling in a modular, clean and elementary way.<|reference_end|>
@article{capelli2024a,
    title={A Simple Algorithm for Worst-Case Optimal Join and Sampling},
    author={Florent Capelli, Oliver Irwin and Sylvain Salvati},
    journal={arXiv preprint arXiv:2409.14094},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.14094},
    primaryClass={cs.DB}
}