Knowledge Compilation techniques for reducing complexity of algorithms
when solving problems with uncertainty and preferences


 The complexity of many of the problems issued from AI models is high (beyond NP), and this is particularly so for those involving preferences and uncertain knowledge. Hence the difficulty to handle these problems on line. A solution is to “compile” the original description of the problem in such a way that on line requests can be handled in polynomial time w.r.t. the compiled form. There is no free lunch: in the worst case, the size of the compiled form can be exponential with respect to the size of the original description. Nevertheless, for most real world cases, this combinatorial explosion stays theoretical; the compiled form is tractable and sometimes more compact than the original form. Our first results have confirmed the pertinence of this hypothesis when applied to the domain of car configuration. At the international level, several teams have successfully applied this idea to domains like planning, constraint satisfaction and diagnosis.

The aim of this project is to develop compilation models and algorithms for the on line optimization of problems dealing with preferences and/or uncertainties, be the uncertainty/preference model quantitative (e.g. GAI nets, Bayesian nets, Temporal CSPs) or qualitative (e.g. CP nets, logical approaches, point and interval algebra). The project articulates two main research lines:

The first research line is algorithmic: the idea is to take advantage of the preferences to reduce the size of the compiled form. One approach is to discard less preferred models (in car configuration, the cars which are seldom bought by the users). An alternative is to slightly modify the preference in order to factorize them more easily: e.g., consider similar utility functions as identical and merge them. One can also decide to restrict the target representation language (e.g. to capture preferences by a lextree representing rather than a Bayesian net – the former language being less expressive but more compact than the second one). Finally, we will study on line compilation of data acquired on the fly, be these data coming from a dynamical learning sets or be they issued from (local) search algorithm. The main question of the idea of an “approximate compilation” that we will explore, is to decide to what extend it is possible to lose precision in order to gain space.

The second research line is theoretical: we will build a formal framework that allows the comparison of target compilation languages, and this even when the original and target languages are not standard logical languages (a “classical” compilation map is an analysis of the space and temporal complexity of target languages, fragments of propositional logic). But consider temporal reasoning frameworks: point algebra, Allen's algebra, TCSP and difference decision diagrams are heterogeneous and cannot easily be considered as sublanguages of a common temporal logic. Our compilation maps will include, beyond the complexity analysis in terms of time and space, the study of the relative expressiveness of the languages along with the complexity of the elicitation and learning of instances of these languages (VC dimension and “sample complexity”)

We add  third an experimental axis:  the validation of the approaches on real-world case studies (product configuration, temporal planning problems, industrial design)

Research lines:
  • Approximate compilation
  • Target languages for the efficient handling of preferences and uncertainties,
  • Hererogenous compilation maps,
  • ML compilation maps,
  • On-the-Fly compilation


On going Ph. D and post-doctoral positions:



Related projects:
  • Compile !
  • BR4CP
  • Ping-Ack
  • CAASC
  • PER4MANCE