Le prolog

Présentation

Le Prolog est un langage de programmation. Sa particularité est d'être un langage de programmation logique, d'où son nom : PROgrammation LOGique. Ce type de programmation se démarque des autres par son absence de notions tels que les fonctions (qu'on retrouve bien entendu, mais c'est pas aussi explicite qu'en impératif ou même en fonctionnel) ou boucles, ...
Par contre on y trouve des idées intéressantes. En effet un programme développé en prolog repose sur un ensembles de clauses, des faits ou des règles.
Il faut savoir que le prolog est très utilisé pour établir des intelligences artificielles, en effet grâce on clauses on va très facilement définir le comportement de notre IA.

Un code en exemple : factoriel

Oui, je sais, j'ai dit que les fonctions n'éxistaient pas. Mais ça ne veut pas dire qu'on ne peut pas en créer, ça veut dire qu'elles sont moins apparentes que d'habitude.
Comment ça je suis tordu ?
Bref voici le code :
fact(0,1). % ceci est un fait
fact(X, Y) :- N is X-1, fact(N, M), Y is X * M. % et ça une règle
Comme vous pouvez le voir la première clause est un fait, c-a-d que pour tout X fact(0, X) renverra X = 1. Ce qui est marrant avec les faits c'est que leur réciproque marche de la même manière, ainsi fact(X, 1) renverra toujours X = 0. Donc avec un unique fait on a déclaré deux clauses.
Un autre truc marrant c'est que si jamais vous demandez à l'interpreteur si la relation fact(0,2) est vrai il va gentillement vous répondre : «No.»
L'autre truc fun c'est que si après on avait écrit fact(0, 2). lorsqu'on aurait demandé fact(0, X). l'interpreteur nous aurait fait la liste de toutes les réponses possibles.

Conclusion

Il est vrai que je n'ai pas fini de vous détailler le code précédent mais je suis pas là pour vour apprendre à coder, juste pour vous faire découvrir.
J'essayerai de vous montrer une belle IA un de ces jours histoire que vous vous rendiez bien compte de l'interet du prolog. En attendant j'espère vous avoir suffisament intéressé pour que vous vous documentiez un peu sur le prolog.
Au revoir.

Liens externes :

:: Le prolog sur wikipedia. (fr)
:: Une bonne introduction pour débuter en prolog. (fr)
:: Un bon tuto. (en)