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.

2023

[198] and . Collapsed Inference for Bayesian Deep Learning, In Advances in Neural Information Processing Systems 36 (NeurIPS), .
[197], , , and . On the Paradox of Learning to Reason from Data, In Proceedings of the 32nd International Joint Conference on Artificial Intelligence (IJCAI), .
[196], and . Scaling Up Probabilistic Circuits by Latent Variable Distillation, In Proceedings of the International Conference on Learning Representations (ICLR), . Oral full presentation, acceptance rate 90/4849 = 1.8%
[195], , and . SIMPLE: A Gradient Estimator for k-subset sampling, In Proceedings of the International Conference on Learning Representations (ICLR), .
[194], and . Mixtures of All Trees, In Proceedings of the 26th International Conference on Artificial Intelligence and Statistics (AISTATS), .
[193], and . Semantic Strengthening of Neuro-Symbolic Learning, In Proceedings of the 26th International Conference on Artificial Intelligence and Statistics (AISTATS), .
[192], , and . Out-of-Distribution Generalization by Neural-Symbolic Joint Training, In Proceedings of the 37th AAAI Conference on Artificial Intelligence, .
[191], and . Certifying Fairness of Probabilistic Circuits, In Proceedings of the 37th AAAI Conference on Artificial Intelligence, .

2022

[190], and . Sparse Probabilistic Circuits via Pruning and Growing, In Advances in Neural Information Processing Systems 35 (NeurIPS), . Oral full presentation, acceptance rate 201/10411 = 1.9%
[189], , , and . Semantic Probabilistic Layers for Neuro-Symbolic Learning, In Advances in Neural Information Processing Systems 35 (NeurIPS), .
[188], , and . Neuro-Symbolic Entropy Regularization, In Proceedings of the 38th Conference on Uncertainty in Artificial Intelligence (UAI), . Oral full presentation, acceptance rate 36/712 = 5%
[187], 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%
[186], and . Solving Marginal MAP Exactly by Probabilistic Circuit Transformations, In Proceedings of the 25th International Conference on Artificial Intelligence and Statistics (AISTATS), .
[185], , , , , , , and . PYLON: A PyTorch Framework for Learning with Constraints, In Proceedings of the 36th AAAI Conference on Artificial Intelligence (Demo Track), .

2021

[184] and . Tractable Regularization of Probabilistic Circuits, In Advances in Neural Information Processing Systems 34 (NeurIPS), . Oral spotlight presentation, acceptance rate 340/9122 = 3.7%

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