Uniform generation of large traces
Samy Abbes, Vincent Jugé
TL;DR
The paper advances uniform generation of large traces in trace monoids by introducing a pyramidal-decomposition framework that turns infinite-trace sampling into an i.i.d. stacking problem of pyramidal fragments, enabling on-the-fly approximations distributed according to the uniform measure at infinity. It develops two algorithmic families—one without rejection that is fast but memory-intensive, and one with rejection that uses less computation but can have slower production—plus streaming variants (Algorithms 3 and 4) that generate infinite traces with provable linear-time growth and distributional guarantees. It provides rigorous law derivations for pyramidal blocks, analyzes complexity and performance, and identifies graph classes (e.g., chordal, bounded tree-width) where the approach is notably efficient. The work yields practical, scalable methods for simulating long-running executions in concurrent systems and for validating finite-horizon properties without requiring pre-specified sample sizes.
Abstract
We introduce an algorithm for the uniform generation of infinite traces, i.e., infinite words up to commutation of some letters. The algorithm outputs on-the-fly approximations of a theoretical infinite trace, the latter being distributed according to the exact uniform probability measure. The average size of the approximation grows linearly with the time of execution of the algorithm, hence its output can be effectively used while running. Two versions of the algorithm are given. A version without rejection has a good production speed, provided that some precomputations have been done, but these may be costly. A version with rejection requires much fewer computations, at the expense of a production speed that can be small. We also show that, for some particular trace monoids, one or the other version of the algorithm can actually be very good: few computations for a good production speed.
