Any-k: Ranked enumeration for Dynamic Programming
summary
Presents a concrete algorithmic framework that turns dynamic programs into DAG shortest‑path problems so ranked enumeration returns the k‑th best solution with preprocessing linear in the DP state space and per‑answer overhead polylogarithmic; relies on semirings with a selective plus operator (tropical, Viterbi, Boolean) and introduces Any‑k Part+ which lowers the log k factor to log n under strong subset monotonicity. Maps conjunctive queries to these DAGs, extends to tree‑DP, and an implementation yields the first answer ~500× faster and often beats join‑then‑sort even for full enumeration.
AI-written summary · about
chapters (9)
- 0:00Introduction to ranked enum
- 2:00Dynamic programming as a DAG
- 4:38Semirings and monotonicity
- 8:51Algorithmic strategies
- 12:39Improving performance
- 17:01History and evolution
- 19:40Application to query plans
- 24:30Experimental results
- 29:25Discussion and conclusion
related talks
44mEfficient Enumeration Algorithms via Circuits
33mLinear and sublinear algorithms for graphlet sampling
01h 09mAccessing Answers to Unions of Conjunctive Queries with Ideal Time Guarantees: I
01h 06mSampling in Query Evaluation 1
01h 03mQuery Optimization and Evaluation 3: Variable Elimination and Tensor Decomposition
39mMassively Parallel Evaluation of Relational Queries II
41mOptimizing Relational Programs I
43mResizable Sketches
