Paper(s) with impact (J.-F. Puget)

For some reason, I have been asked to follow up on the great articles by Patrick Prosser and Gilles Pesant on articles with impact. Maybe this has to do with the fact that I started working in that field quite a long time ago, in 1989. As Patrick said, it was before lots of things taken for granted now (world wide web, mobile phones for everyone, Java, laptops, Google, etc) existed. Note that we were no longer using punch card either, we even had Apple Macintoshes in my lab, and we were connected to Internet! Still, can you imagine an Internet without the web? For me, the main things was email.

Anyway, I was finishing my PhD, which was on Machine Learning. You could say I was a visionary given how important this field is now. Well, it wasn't so important at that time, and I was looking for something that could impact the world around us. Machine learning, and Artificial Intelligence in general seemed appealing, but quite long term. So, I was doing what PhD students do, publish, go to conferences, meet people, build a resume, and look for other research topics.

I was using Prolog to implement my machine learning algorithms. This maybe why, after giving a presentation at ECAI 1988 (European Conference on AI) I went to a presentation by a young researcher on some extensions of Prolog that seemed useful for solving industrial problems. That young researcher was extremely convincing. He presented a new way of solving some combinatorial problems with a very elegant declarative language. I was hooked after the talk, and I started looking at other papers on related topics. I quickly found many interesting papers, either on Prolog extensions, or CSPs, and I decided I would work on something similar once my PhD was done.

I'll spare you details, and fast forward 2 years. During these two years I finished my PhD, and started working at ILOG, a French startup, as part of my military service. Around May 1990, the first assignment I had at ILOG was completed but I had still 5 months to do there as part of my military service. My manager asked me what I would like to do after my military service, and I said I wanted to work on constraint programming in academia. Note that the field wasn't called constraint programming yet, but that was the idea still. My manager asked me if I would not do it for ILOG instead, and I liked the idea. This is how I started working on a LISP implementation of a constraint programming tool, then on a C++ implementation that became ILOG Solver. ILOG Solver in turn influenced quite a bit the field, as it was much easier to get C++ code used for industry applications than the Prolog based systems available at that time.

In retrospect, the one ECAI paper I started with may not have been the most influential paper in constraint programming, but it made me work in CP. More important, the presenter, this very convincing young research, is certainly one of the most influential person in our field. You may have guessed by now who he is: Pascal Van Hentenryck. The paper is:

 author    = {Mehmet Dincbas and
              Helmut Simonis and
              Pascal Van Hentenryck},
 title     = {Solving the Car-Sequencing Problem in Constraint Logic Programming},
 booktitle = {{ECAI}},
 pages     = {290--295},
 year      = {1988},

In my learning about Constraint Logic Programming and CSPs, I noticed and read the same papers as Pat Prosser. But I was also influenced tremendously by Pascal's book on CHIP (Constraint Handling In Prolog, 1989), and the thesis of Jean-Louis Laurière on ALICE (1976);, Both ALICE and CHIP already contained many features that people are discovering again and again. I would recommend reading both to any student interested in designing a constraint programming system.

Best regards/Cordialement,