SlideShare une entreprise Scribd logo
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.

Contenu connexe

Similaire à 3 intro

Word Embedding
Word EmbeddingWord Embedding
Word Embedding
CHOUAIB EL HACHIMI
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
Joubi Aaziz
 
Ontologie concept applications
Ontologie concept applicationsOntologie concept applications
Ontologie concept applications
benouini rachid
 

Similaire à 3 intro (6)

Word Embedding
Word EmbeddingWord Embedding
Word Embedding
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
 
5 installation de prolog
5 installation de prolog5 installation de prolog
5 installation de prolog
 
Ontologie concept applications
Ontologie concept applicationsOntologie concept applications
Ontologie concept applications
 
13 conclusion
13  conclusion13  conclusion
13 conclusion
 
Apprentissage du java
Apprentissage du javaApprentissage du java
Apprentissage du java
 

Plus de Siham Rim Boudaoud

12 quelques prédicats prédéfinis de swi
12  quelques prédicats prédéfinis de swi12  quelques prédicats prédéfinis de swi
12 quelques prédicats prédéfinis de swiSiham Rim Boudaoud
 
11 library
11 library11 library
11 library
Siham Rim Boudaoud
 
10 chapitre 4 listes et récursivité
10 chapitre 4 listes et récursivité10 chapitre 4 listes et récursivité
10 chapitre 4 listes et récursivitéSiham Rim Boudaoud
 
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Siham Rim Boudaoud
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Siham Rim Boudaoud
 

Plus de Siham Rim Boudaoud (13)

12 quelques prédicats prédéfinis de swi
12  quelques prédicats prédéfinis de swi12  quelques prédicats prédéfinis de swi
12 quelques prédicats prédéfinis de swi
 
11 library
11 library11 library
11 library
 
10 chapitre 4 listes et récursivité
10 chapitre 4 listes et récursivité10 chapitre 4 listes et récursivité
10 chapitre 4 listes et récursivité
 
9 gl2
9 gl29 gl2
9 gl2
 
8 arbre généalogique
8 arbre généalogique8 arbre généalogique
8 arbre généalogique
 
7
77
7
 
6 unification
6 unification6 unification
6 unification
 
4 histoir
4 histoir4 histoir
4 histoir
 
2
2 2
2
 
2 sommaire
2  sommaire2  sommaire
2 sommaire
 
1 page de garde
1 page de garde1 page de garde
1 page de garde
 
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
 

3 intro

  • 1. 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.
  • 2. 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.