View
42
Download
6
Category
Preview:
Citation preview
Introduction :
Les langages de programmation sont divisés en plusieurs familles, Dans ce petit rapport, nous
étudierons PROLOG, qui est le premier langage déclaratif. On oppose langage déclaratif et langage
procédural. Mais que recouvre cette distinction?
Dans un langage procédural tel que le C++, le Java … etc., un programme est une série d'instructions
qui indiquent à la machine COMMENT elle doit procéder pour résoudre un problème. Quel que soit le
niveau d'abstraction définie par le langage de programmation, c'est toujours en termes d'opérations à
effectuer que le programmeur raisonne.
Dans un langage déclaratif, le programmeur ne se préoccupe plus, de la marche à suivre pour résoudre
le problème. Il se préoccupe surtout de définir les objets manipulés par son programme, et les relations qui
existent entre ces objets, ou dont il veut prouver l'existence, et c’est à la machine de faire le reste. Le
mécanisme d'exécution d'un langage déclaratif évalue toutes les solutions du problème, c'est-à-dire toutes les
configurations d'objets qui satisfont la ou les relations recherchées.
PROLOG est un langage qui, comme son nom l’indique (PROgrammation LOGique) utilise un mode de
programmation logique. Ce langage nous permet aussi de découvrir les notions fondamentales de
l’informatique, par exemple : la récursivité, La déclarativité, l’unification, le backtracking … etc.
Nous avons vu que le principe de la programmation logique est de décrire le problème à résoudre.
Dans le cas de PROLOG, cela est formalisé grâce à un langage dérivé du calcul des prédicats (ou calcul du
premier ordre). Les prédicats servent à qualifier (donner les caractéristiques de) les objets du problème et à
décrire les relations dans lesquelles ils sont impliqués.
Programmer en Prolog signifie donc ‘identifier des objets et leurs relations’.
On doit déduire objets et relations entre objets d’un monde connu, comme par exemple des phrases comme «
Ahmed est le père de Amira » ou « Mohamed est riche » ou encore « Les objets rares sont chers ». Mais
attention les objets Prolog ne correspondent pas aux objets des langages de programmation par objets !
Et donc on doit :
- Spécifier des faits (vérifiés) sur les objets et leurs relations : Les faits sont des données élémentaires qu’on
considère vraies. Ce sont des formules atomiques constituées du nom d’un prédicat (c’est à dire d’une
relation (au sens mathématique du terme)) suivi entre parenthèse d’une liste ordonnée d’arguments qui
sont les objets du problème principal ou d’un sous-problème, exemple : animal(chat).
- Définir des règles sur les objets et leurs relations : Un programme PROLOG contient presque toujours des
règles, cependant ce n’est pas une obligation. Si les faits sont les hypothèses de travail de PROLOG, les
règles sont des relations qui permettent à partir de ces hypothèses d’établir de nouveaux faits par déduction
(si on a démontré F1 et F1⇒F2 alors on a démontré F2), exemple : père(X,Y) :-fils(Y,X).
- Poser des questions sur les objets et leurs relations, et donc interroger et donner des requêtes a notre base
de connaissance constituées de faits et de règles, exemple : animal(chien).
Et si, à première vue, la réponse se limite à un Oui ou Non, Prolog peut faire plus, nous allons voir tout sa
par la suite.
Prolog est utilisé dans de nombreux programmes d’intelligence artificielle et dans le traitement de la
linguistique par ordinateur (surtout ceux concernant les langages naturels). Sa syntaxe et sa sémantique
sont considérées comme très simples et claires (le but original était de procurer un outil pour les linguistes
ignorant l’informatique).
Ce langage est né d'un projet, dont le but n'était pas de faire un langage de programmation mais de
traiter les langages naturels, en l'occurrence le Français, et d’automatiser le raisonnement humain.
On va alors découvrir dans ce qui suit l’origine de ce langage.
Recommended