This tutorial will present Scallop, a general-purpose language and framework for neurosymbolic programming, which is an emerging paradigm that combines the benefits of data-driven machine learning and logical reasoning. Scallop enables users to write a wide range of neurosymbolic applications and train them in a data and compute efficient manner.
The tutorial will introduce various fundamentals of neurosymbolic programming, such as algorithmic supervision, symbolic reasoning, and differentiable programming. It will demonstrate through a series of programming exercises how Scallop is capable of expressing algorithmic reasoning in diverse AI tasks, provides a succinct interface to integrate logical domain knowledge into machine learning applications, and yields solutions that are comparable or superior to state-of-the-art machine learning models in terms of accuracy, efficiency, interpretability, and generalizability.