Research school: An Overview of Knowledge Compilation

Introduction

The complexity of many queries that have to be performed on data is highly dependent on the way it is represented. An easy way to observe this phenomenon is to look at the satisfiability problem: while it is well known that it is hard to decide if a boolean formula is satisfiable in general, it is completely trivial if the input is a truth table. In this example however, it is not hard to realise that the encoding of a boolean function by its truth table is usually much bigger than with a circuit.

The goal of knowledge compilation is to study how the representation of the data may be changed to make many interesting queries such as counting or conditionning easy without blowing up the size of the representation. This has lead both to the introduction of many representation languages having different trade-offs in terms of succinctness and complexity of several interesting queries and to the design of efficient algorithms that can change the representation of the input into a more tractable language.

In this research school, we propose to give an introduction to knowledge compilation by first presenting the different representations people are interested in together with the queries they support. We will then present different preprocessings originating from SAT Solvers that can be used on the data to enhance its compilability. Finally, we will present different compilation algorithms: some of them being very theoretical with guarantees on the size of the produced representation, others having been implemented in real-world tools and using interesting heuristics that we will explain. Some tools will be presented in details during the exercise sessions.

Teachers

Tentative schedule

There will be a 30mn break every morning and a 15mn break every afternoon. All lectures will take place at Amphi B but the one on Friday morning that will take place in Amphi Schrödinger.

Content

Monday: What is knowledge compilation? (F. Capelli)

Morning (8:30-12:00):

Afternoon (13:30-15:45):

Material:

To learn more on this:

Tuesday: SAT solvers and top down compilation (JM. Lagniez, P. Marquis)

Morning (8:30-12:00):

Afternoon (13:30-15:45):

Material:

Wednesday: NP-preprocessing (JM. Lagniez, P. Marquis)

Morning (8:30-12:00):

Afternoon (13:30-15:45):

Material:

Thursday: Compilation of structured CNF formulas (F. Capelli)

Morning (8:30-12:00):

Afternoon: free!

Material:

To learn more on this:

Friday: Advanced KC (JM. Lagniez, F. Capelli).

Morning (8:30-12:00):

Afternoon (13:30-14:30):

Material: