Report of the 16th Prolog Programming Contest

Tom Schrijvers, K.U. Leuven, Belgium

Most of you already know what the Prolog programming contest is about. To the
others I have to say, shame on you! The contest is of course about locking up
several teams of Prolog programmers in a room for two hours with 5 challenges.
Each team has at most 3 members and one laptop. The team that solves most
challenges in the least amount of time is the winner.

You should know that the first rule of the contest is:

The contest is for fun and there are no losers.

Of course, there are losers outside of the contest, with silly excuses for
not participating, like:

  • I have to go sight-seeing in Hollywood tonight, or
  • My talk for the Commercial Users workshop is not written yet.

The silliest of all is:

  • I don’t know Prolog.

How low can you go.

Fortunately, we had many eager and willing participants. Very few of them had
to be pressed into it. They readily agreed, even before their first coffee of
the morning! No less than 10 teams showed up.
So we had

  • 2 all-American teams,
  • 3 Leuven teams,
  • 1 team from Italy and 1 from Spain,
  • a bunch of Danish rookies, and
  • 2 mixed teams
    • an Austrian, Scottish, and commercial New-Zealander team
    • a French-Dutch-Italian team with Marco Gavanelli.

In fact, Marco is the only of of last year’s winners here to defend the
title. Shame on the other two.

Now, I must say it is at least as much fun running the contest as it is
participating. You get to watch all the teams in action, doing all kinds of
things to get ahead. Like swapping around the keyboard. The Italians were
really smart, reading the challenge pages on both sides simultaneously.

You learn a lot of things running the contest. For instance, reading the
problem statement is actually useful: minimizing the maximal distance is not
the same as computing the average. Another one: Did you know that Danes read
from left to right, but write from right to left. Finally, a revelation:
base cases do seem to be essential.

Before we move on to the ranking, there are a number of people I have to
thank. Firstly, there is Bart Demoen, the creator of this contest who has
helped me with the problem statements and given practical advice on running
the contest. He enjoys a well-deserved sabbatical from the contest this
year. Thank you, Bart!

Secondly, I would like to thank the local organizers, Hai-Feng Guo and Gopal
Gupta, who have provided us with an excellent venue and sponsoring the prizes.
Thanks to Brian DeVries, Stanley Jointer and their colleagues, who have helped
get everything ready and put the room back to order after the herd of Logic
Programmers. Thanks guys!

Also thanks to the program chairs, Pat and David, for making the Programming
Contest an integral part of the program. Thank you!

Last but not least, I would like to thank my wife, Annemie, who has
created the prizes. Thank you.

Now, on to the ranking. This year’s challenges were too easy. All teams had
at least one solution, and most teams had more than one. We got 38
submissions, of which 25 were correct. Bart Demoen would be ashamed of
passing so many. With the challenges being so easy having 3 correct
solutions was not enough to make the top 3.

The team that came in third, with four submission and four correct answers, is
the team of Alessandro Dal Palu, Agostino Dovier and Enrico Pontelli!

Then, there are two teams left: the team of Leslie De Coninck and the team
of Jan Wielemaker. Both know they have four correct submissions, but Jan’s
team has also submitted a solution for the 5th challenge. Sorry guys, but
Jan’s team forgot a base case there, and the other team was more than 100
minutes ahead. So I’d like to call forward this year’s winners:
Leslie De Koninck, Hanne Vlaeminck and Peter Van Weert!

I hope you enjoyed it.

Tom