Software Projects

Most of our code is consolidated in these software projects.

Juice/LogicCircuits.jl
Juice/LogicCircuits.jl

A Julia package that offers researchers and practitioners efficient routines to construct, compile, and reason with Logic Circuits. It provides a wide range of functionality that enable tractable logical reasoning.

Code
Juice/ProbabilisticCircuits.jl
Juice/ProbabilisticCircuits.jl

A Julia package that offers researchers and practitioners efficient routines to construct, compile, learn and reason with Probabilistic Circuits. It provides a wide range of functionality that enable tractable probabilistic reasoning.

Code
Dice
Dice

The Dice probabilistic programming language, a probabilistic programming language for scalable exact probabilistic inference in discrete programs.

Code

Recent Papers with Code

Experiments and prototypes associated with specific research papers can be found by clicking on the code icon.

2022

[171], and . Lossless Compression with Probabilistic Circuits, In Proceedings of the International Conference on Learning Representations (ICLR), . Oral spotlight presentation, acceptance rate 176/3391 = 5.2%
[170], and . Solving Marginal MAP Exactly by Probabilistic Circuit Transformations, In Proceedings of the 25th International Conference on Artificial Intelligence and Statistics (AISTATS), .
[169], , , , , , , and . PYLON: A PyTorch Framework for Learning with Constraints, In Proceedings of the 36th AAAI Conference on Artificial Intelligence (Demo Track), .

2021

[168] and . Tractable Regularization of Probabilistic Circuits, In Advances in Neural Information Processing Systems 35 (NeurIPS), . Oral spotlight presentation, acceptance rate 340/9122 = 3.7%
[167], , , and . A Compositional Atlas of Tractable Circuit Operations for Probabilistic Inference, In Advances in Neural Information Processing Systems 35 (NeurIPS), . Oral full presentation, acceptance rate 55/9122 = 0.6%
[166], , and . Tractable Computation of Expected Kernels, In Proceedings of the 37th Conference on Uncertainty in Aritifical Intelligence (UAI), .
[165], and . Probabilistic Generating Circuits, In Proceedings of the 38th International Conference on Machine Learning (ICML), . Long presentation, acceptance rate 166/5513 = 3%
[164], and . Group Fairness by Probabilistic Modeling with Latent Fair Decisions, In Proceedings of the 35th AAAI Conference on Artificial Intelligence, .
[163], , , and . Juice: A Julia Package for Logic and Probabilistic Circuits, In Proceedings of the 35th AAAI Conference on Artificial Intelligence (Demo Track), .
[162], , , and . Logical Abstractions for Noisy Variational Quantum Algorithm Simulation, In Architectural Support for Programming Languages and Operating Systems (ASPLOS), . IEEE Micro top picks 2022 honorable mention

2020

[161], , and . Counterexample-Guided Learning of Monotonic Neural Networks, In Advances in Neural Information Processing Systems 33 (NeurIPS), .
[160], , , and . Probabilistic Inference with Algebraic Constraints: Theoretical Limits and Practical Approximations, In Advances in Neural Information Processing Systems 33 (NeurIPS), .   Oral spotlight presentation, acceptance rate 385/9454 = 4.1%
[159], and . Scaling Exact Inference for Discrete Probabilistic Programs, In Proc. ACM Program. Lang. (OOPSLA), ACM, .  [doi] ACM SIGPLAN distinguished paper award
[158], , , and . Relax, compensate and then integrate, In Proceedings of the ECML-PKDD Workshop on Deep Continuous-Discrete Machine Learning (DeCoDeML), .  
[157], , , and . Scaling up Hybrid Probabilistic Inference with Logical and Arithmetic Constraints via Message Passing, In Proceedings of the 37th International Conference on Machine Learning (ICML), .  

Other Relevant Code

OpenWorldPDB
OpenWorldPDB

A Postgres-based implementation of query evaluation for open-world probabilistic databases

Code
Forclift
Forclift

Forclift is a prototype implementation of algorithms for first-order knowledge compilation, lifted probabilistic inference (exact and approximate), and lifted parameter and structure learning. It supports various input formals, including Markov logic and weighted model counting problems.

Code
ProbLog
ProbLog

ProbLog is a probabilistic logic programming language. It extends Prolog with probabilistic constructs. The inference and learning algorithms for ProbLog use state-of-the-art knowledge compilation techniques. DTProbLog is a decision-theoretic extension of ProbLog.

Code
PokerDemo
PokerDemo

PokerDemo is a classroom demo (in Dutch) to teach programming, expert, and multi-agent systems to high school students . It contains a visual programming tool that lets students create a rule-based poker player. Student can compete on the server with their friends and an artificial agent. (code)

Code
DaisyDiff
DaisyDiff

Daisy Diff is a Java library that diffs (compares) HTML files. It highlights added and removed words and annotates changes to the styling. This project was a Google Summer of Code 2007 project for DaisyCMS. A PHP version of the algorithm was developed for MediaWiki/Wikipedia in the Google Summer of Code 2008. Various content management systems use DaisyDiff for comparing HTML changes.

Code
JSDD
JSDD

A Java wrapper for the SDD library

Code

Data

Please consider using the following datasets.

Density Estimation Datasets
Density Estimation Datasets

A repository of standard datasets for discrete density estimation.

Code