|We discuss in this tutorial the subject of knowledge compilation from theoretical and practical viewpoints. On the theoretical side, we discuss tractable fragments of propositional logic, including their properties and algorithms for compiling propositional theories into propositional fragments. On the practical side, we discuss the applications of knowledge compilation to problems such as diagnosis, planning and probabilistic reasoning. We also discuss the latest advances in propositional satisfiability and model counting, which provide the building blocks
for knowledge compilation algorithms.