Prolog a 50 ans

C'est le 50eme anniversaire de #prolog cette année! Les petits jeunes de l'IA ne connaissent probablement pas ni le nom, ni cette époque où les symbolistes régnaient sans partage sur ce domaine qui fait le buzz aujourd'hui.

TAL/ NLP sont des points forts de Prolog, mais pas que. Le refroidissement des hauts fourneaux en temps réel, l'organisation du rangement de stock d'objet de grandes dimensions sur une surface, toujours en temps réel, ou le fameux problème capilodestructeur des planning de classe, tels étaient les défis que pouvait traiter sans broncher d'un octet cet incroyable langage.

On pourra retrouver le paradigme déclaratif de Prolog (code is data) dans d'autres langages comme #caml et #haskell, voire #XSLT avec un peu de largesse d'esprit, mais force est de constater que la beauté de sa syntaxe n'a jamais été égalée. Voyez plutôt comment on définit en prolog que Socrate est un homme, Platon son ami et que tout homme est mortel:

homme(socrate).
homme(platon).
ami(platon,socrate)
mortel(X) :- homme(X).

?- mortel(H).
H=[socrate,platon]

Je n'oserai même pas vous parler du traitement du langage naturel avec Prolog et ses fameuses DCG. Non, je ne vous en parlerai pas, car ce serait bien trop d'émotion que de vous dire à quel point il est facile de décrire une grammaire avec ce formalisme diabolique.

Et aujourd'hui ? A part dans ce post dithyrambique, vous n'avez probablement jamais entendu parler de Prolog. Mais alors pourquoi (séquence burgerquiz ):

  • Avec trop de potentiel, de force et de beauté, il aurait inspiré la défiance et subi les critiques jalouses et mesquines, tels les chiens ayant pour devise "Si tu ne peux ni le manger ni le forniquer, alors urine lui dessus" ?

  • Trop fanfaron, il aurait été accusé du deuxième "Winter is coming" de l'IA et jeté dans l'oubli ?

  • Son petit handicap, trois fois rien, consistant à devoir avoir toute la base de connaissance en RAM ne fait pas bon ménage avec les gros volumes ?

  • Les modèles statistique, bien que plus laids et brutaux ont fait émergé de meilleurs résultats ?

A se demander dans ce cas pourquoi #Erlang, langage réputé pour sa résilience totale à la panne s'est servi de Prolog comme socle de programmation. Mystère, mystère.

J'ai eu la chance de suivre les cours de l'équipe de légende (Robert dit Bob Pasero, Michel Van Caneghem, Henri Garetta et Alain Colmerauer capable de griller une gitane en trois taffes, dieu ait son âme) qui a créé ce langage de fou, merci à eux pour la richesse de leur enseignement. Big Up à la Team Luminy, informaticiens du bout du monde biberonnés à l'air des calanques !

Joyeux anniversaire Prolog, et à la revoyure ;)

Retrouvez toute l'actualité sur l'intelligence artificielle en France