Automatic compile-time synthesis of entropy-optimal Boltzmann samplers
Maciej Bendkowski

TL;DR
This paper introduces an automated framework in Haskell for synthesizing entropy-optimal Boltzmann samplers for algebraic data types, enabling efficient and customizable random data generation at large scales.
Contribution
It presents a novel method using Template Haskell to automatically compile multi-parametric Boltzmann samplers with fine-grained control over distributions.
Findings
Synthesizes samplers for millions of objects efficiently.
Controls thousands of parameters in large systems.
Generates random objects of sizes in the millions.
Abstract
We present a famework for the automatic compilation of multi-parametric Boltzmann samplers for algebraic data types in Haskell. Our framework uses Template Haskell to synthesise efficient, entropy-optimal samplers generating random instances of user-declared algebraic data types. Users can control the outcome distribution through a pure, declarative interface. For instance, users can control the mean size and constructor frequencies of generated objects. We illustrate the effectiveness of our framework through a prototype generic-boltzmann-brain library showing that it is possible to control thousands of different parameters in systems of tens of thousands of ADTs. Our prototype framework synthesises Boltzmann samplers capable of rapidly generating random objects of sizes in the millions.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGenerative Adversarial Networks and Image Synthesis · Time Series Analysis and Forecasting · Parallel Computing and Optimization Techniques
