6 research outputs found

    Improved Pattern-Avoidance Bounds for Greedy BSTs via Matrix Decomposition

    Full text link
    Greedy BST (or simply Greedy) is an online self-adjusting binary search tree defined in the geometric view ([Lucas, 1988; Munro, 2000; Demaine, Harmon, Iacono, Kane, Patrascu, SODA 2009). Along with Splay trees (Sleator, Tarjan 1985), Greedy is considered the most promising candidate for being dynamically optimal, i.e., starting with any initial tree, their access costs on any sequence is conjectured to be within O(1)O(1) factor of the offline optimal. However, in the past four decades, the question has remained elusive even for highly restricted input. In this paper, we prove new bounds on the cost of Greedy in the ''pattern avoidance'' regime. Our new results include: The (preorder) traversal conjecture for Greedy holds up to a factor of O(2α(n))O(2^{\alpha(n)}), improving upon the bound of 2α(n)O(1)2^{\alpha(n)^{O(1)}} in (Chalermsook et al., FOCS 2015). This is the best known bound obtained by any online BSTs. We settle the postorder traversal conjecture for Greedy. The deque conjecture for Greedy holds up to a factor of O(α(n))O(\alpha(n)), improving upon the bound 2O(α(n))2^{O(\alpha(n))} in (Chalermsook, et al., WADS 2015). The split conjecture holds for Greedy up to a factor of O(2α(n))O(2^{\alpha(n)}). Key to all these results is to partition (based on the input structures) the execution log of Greedy into several simpler-to-analyze subsets for which classical forbidden submatrix bounds can be leveraged. Finally, we show the applicability of this technique to handle a class of increasingly complex pattern-avoiding input sequences, called kk-increasing sequences. As a bonus, we discover a new class of permutation matrices whose extremal bounds are polynomially bounded. This gives a partial progress on an open question by Jacob Fox (2013).Comment: Accepted to SODA 202

    Sandpile Prediction on Structured Undirected Graphs

    Full text link
    We present algorithms that compute the terminal configurations for sandpile instances in O(nlogn)O(n \log n) time on trees and O(n)O(n) time on paths, where nn is the number of vertices. The Abelian Sandpile model is a well-known model used in exploring self-organized criticality. Despite a large amount of work on other aspects of sandpiles, there have been limited results in efficiently computing the terminal state, known as the sandpile prediction problem. Our algorithm improves the previous best runtime of O(nlog5n)O(n \log^5 n) on trees [Ramachandran-Schild SODA '17] and O(nlogn)O(n \log n) on paths [Moore-Nilsson '99]. To do so, we move beyond the simulation of individual events by directly computing the number of firings for each vertex. The computation is accelerated using splittable binary search trees. We also generalize our algorithm to adapt at most three sink vertices, which is the first prediction algorithm faster than mere simulation on a sandpile model with sinks. We provide a general reduction that transforms the prediction problem on an arbitrary graph into problems on its subgraphs separated by any vertex set PP. The reduction gives a time complexity of O(logPnT)O(\log^{|P|} n \cdot T) where TT denotes the total time for solving on each subgraph. In addition, we give algorithms in O(n)O(n) time on cliques and O(nlog2n)O(n \log^2 n) time on pseudotrees.Comment: 66 pages, submitted to SODA2
    corecore