Skip to content

Tractables/Alea.jl

Repository files navigation

Alea.jl

Unit Tests codecov

Alea is a probabilistic programming system built in Julia, based on the discrete probabilistic programming language Dice.

Installation | Quick Start | Papers

Installation

Install Julia 1.8.5 or higher using these instructions.

Then, install SymPy using the following command:

pip3 install sympy

Then, to install Alea and update dependencies:

julia --project -e "import Pkg;Pkg.update()"

One can now run a program from the Julia REPL (which can be opened with julia --project).

Quick Start

Once the setup is complete, see tutorial/tour_1_core.jl for a quick start to Alea. Then, see tutorial/tour_2_learning.jl for an introduction to learning probabilities.

Finally, see the following:

  • examples/ contains simple examples to get started with using Alea Julia package to write probabilistic programs.
  • test/ contains unit test cases for all the functions and data types implemented.

Papers

This repository currently consists of code for the following papers:

Tuning Random Generators: Property-Based Testing as Probabilistic Programming. Ryan Tjoa, Poorva Garg, Harrison Goldstein, Todd Millstein, Benjamin Pierce, Guy Van den Broeck. OOPSLA 2025.

  • Alea incorporates Loaded Dice, a discrete probabilistic programming system that supports differentiaton and parameter learning. The tutorials, linked in Quick Start, cover parameter learning, and pbt/ contains examples in tuning generators for property-based testing.

Bit Blasting Probabilistic Programs. Poorva Garg, Steven Holtzen, Guy Van den Broeck, Todd Millstein. PLDI 2024.

  • Alea incorporates HyBit, a bit blasting-based probabilistic programming system for discrete-continuous probabilistic programs. See hybrid/ for more.

Scaling Integer Arithmetic in Probabilistic Programs. William X. Cao, Poorva Garg, Ryan Tjoa, Steven Holtzen, Todd Millstein, Guy Van den Broeck. UAI 2023.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5