Présentation
Prolog est un langage de programmation logique, qui joue un rôle important dans l'intelligence artificielle. Il a été créé en 1972 par deux docteurs en informatique français. Contrairement à de nombreux autres langages de programmation impératifs, Prolog est principalement conçu comme un langage de programmation déclaratif dont la logique est exprimée sous forme de relations appelées Facts and Rules (en français : faits et règles). Le raisonnement du Prolog réside dans la logique appliquée, où la formulation et le calcul sont effectués en exécutant une requête sur ces relations.
Il s’agit d’un langage de programmation simple mais très puissant, basé sur les principes de la logique des prédicats de premier ordre. Son nom est un acronyme signifiant « PROgrammation en LOGique ». Avant le développement d’un interpréteur et d’un compilateur Prolog efficaces, ce langage était destiné uniquement à des fins académiques.
Actuellement, il est principalement utilisé par les chercheurs, même s'il permet le développement de programmes sérieux et étendus en une fraction de temps, nécessaire pour développer un programme C ou Java avec des fonctionnalités similaires. La seule explication qui reste est que les gens aiment renoncer à leur temps précieux !
Prolog est particulièrement efficace pour résoudre des problèmes caractérisés par la nécessité de calculs symboliques complexes. Le langage permet en principe à un programmeur de donner une spécification formelle d'un programme, le résultat est alors presque directement adapté à l'exécution sur l'ordinateur. De plus, Prolog soutient le raffinement progressif dans le développement de programmes en raison de sa nature. Ces caractéristiques font de lui un langage approprié pour le développement des systèmes prototypes.
Plusieurs syntaxes de Prolog sont utilisées, comme par exemple C-Pprolog, SWIProlog, Sicstus-Prolog, LPA-Pprolog. C-Prolog, également appelé Edinburgh Prolog, a servi de base à la norme ISO et n'est désormais plus utilisé. La plupart des syntaxes n'ont qu'une syntaxe mineure et des différences sémantiques avec la langue standard. Cependant, il existe un petit nombre des syntaxes qui modifient le caractère de la langue de manière significative, par exemple dans la nécessité d'ajouter des informations de type données à un programme. Un exemple typique est offert par la version du langage Prolog prise en charge par Visual Prolog. Dans les versions récentes de Prolog, plusieurs fonctionnalités ont été ajoutées à la norme ISO. Les versions Prolog modernes fournissent un concept de module et des interfaces étendues au système d'exploitation, ainsi que des outils pour le développement d'interfaces utilisateur graphiques.
Plusieurs implémentations de Prolog existent, aussi bien sous Windows que sous Linux, y compris le SWI-Prolog qui est un interpréteur Prolog gratuit et disponible pour Windows et pour Linux. Les différentes versions de Prolog sont disponibles en détails sur le site officiel swi-prolog.org.
Objectifs
L’objectif principal des cours proposés dans cette section vont s’articuler autour des sujets suivants :
- Comment écrire un programme sans avoir une profonde connaissance du langage Prolog.
- Comment structurer un programme Prolog.
- La syntaxe du programme Prolog.
- Le symbole particulier « ! », et à quoi il sert.
- Et bien d’autres choses magiques que ce puissant programme peut faire.
Exemples d’application
Il existe un grand nombre de domaines dans lesquels le langage Prolog a été appliqué avec succès. Ses principales applications se trouvent dans le domaine de l'intelligence artificielle. Or, il est aussi bien utilisé dans d'autres domaines où la manipulation des symboles est d’une importance primordiale. En voici quelques domaines d’application du langage Prolog :
- • Traitement en langage naturel.
- • Construction du compilateur.
- • Développement de systèmes experts.
- • Travaux dans le domaine de l'algèbre informatique.
- • Développement d'architectures informatiques (parallèles).
- • Systèmes de bases de données.
Prérequis
Les cours de cette sous-rubrique sont particulièrement adressés aux développeurs et ne nécessitent pas de connaissances mathématiques approfondies, malgré l’usage des notions de l’intelligence artificielle. Les tutoriels et exercices de cette section sont assez détaillés pour vous permettre un apprentissage ascendant du langage Prolog et de son usage. Des notions de base sur l’intelligence artificielle et la programmation seront un atout, mais non obligatoires. La durée d’apprentissage dépendra surtout de votre motivation et votre engagement vis-à-vis des cours proposés.
Nos supports gratuits pour débutants sont destinés aux personnes voulant apprendre de zéro certaines techniques de programmation en Prolog jusqu’à l’atteinte d’un certain niveau de maitrise. De même, les programmeurs plus expérimentés qui souhaitent découvrir une nouvelle approche et acquérir de nouvelles méthodes et astuces de programmation en Prolog y trouveront également leur bonheur.