Automated Expected Amortised Cost Analysis of Probabilistic Data Structures
Lorenz Leutgeb, Georg Moser, Florian Zuleger
TL;DR
This work presents the first fully-automated framework for computing expected amortised costs of probabilistic self-adjusting data structures via a specialized type-and-effect system. It introduces a probabilistic functional language with sampling, non-determinism, and ticking cost annotations, and proves two soundness theorems corresponding to different ticking strategies. The ATLAS prototype automatically infers tight logarithmic bounds for randomised Meldable Heaps, Splay Trees, and a probabilistic BST, outperforming or matching known manual analyses and enabling exploration of parameter knobs like rotation probability and tick costs. The results demonstrate practical impact by enabling automated cost analyses for sophisticated data structures, with potential extensions to additional probabilistic data structures and connections to established cost-calculus frameworks.
Abstract
In this paper, we present the first fully-automated expected amortised cost analysis of self-adjusting data structures, that is, of randomised splay trees, randomised splay heaps and randomised meldable heaps, which so far have only (semi-) manually been analysed in the literature. Our analysis is stated as a type-and-effect system for a first-order functional programming language with support for sampling over discrete distributions, non-deterministic choice and a ticking operator. The latter allows for the specification of fine-grained cost models. We state two soundness theorems based on two different -- but strongly related -- typing rules of ticking, which account differently for the cost of non-terminating computations. Finally we provide a prototype implementation able to fully automatically analyse the aforementioned case studies.
