Title: Aucun titre de diapositive
1PROLOG PROgrammation en LOGique
Programmer c'est Démontrer
2BIBLIOGRAPHIE
Programmation 1. Programming in Prolog ,
Springer Verlag, 1981, W.F.Clocksin
al. Traduction Francaise Programmer en
Prolog Editions Eyrolles, 1985. 2. Prolog,
InterEditions, 1985, F. Giannesini, H. Kanoui, R.
Pasero, M. Van Caneguem. 3. Prolog Programming
for artificial intelligence, Addisson Wesley
Pub. Comp., 1986, I. Bratko
Théorie et implémentation 1. Logic for
Problem Solving , Elsevier North Holland, 1979,
R.A. Kowalsky 2. Anatomie de Prolog,
InterEditions, 1986, M. Van Caneguem. 3.
Introduction to Logic Programming , Academic
Press, 1985, C.J. Hogger.
Ouvrages de Synthèses 1. Prolog fondements
et Applications , AFCET, 1985, Dunod,
Condillac. 2. The Art of Prolog, Advanced
Programming Techniques, M.I.T. Press, 1986, L.
Sterling, E. Shapiro.
3 HISTORIQUE 1972 Prolog I Alain
COLMERAUER (Université Aix-Marseille)
(découverte de la programmation logique et
premier interpréteur) et Robert A. KOWALSKY
(Edinburgh University) (cadre théorique et
premier compilateur) 1982 Prolog
II M. Van Caneguem, et al. (base du programme
japonais de 5ème génération, version améliorée
commercialisée par Prolog IA)
EXPLOSION Plusieurs Prolog, Plusieurs Machines
(Avec peu de nouveautes) -
Prolog/CENT -gt Prolog-P - Foll-Prolog - Prolog-
CRISS - Xlog ou XILog - Hybrides LisLog,
POPLog, ?-Prolog, etc.. 1990 Prolog
III Jacky LEGRAND Le langage PROLOG TECHNIP,
etc... 1996 Prolog IV -gt SWI-Prolog Jan
Wielemaker, University of Amsterdam, The
Netherlands (Version 3.1, 1998,
jan_at_swi.psy.uva.nl)
4APPLICATIONS - Prolog Vendors Group (Boeing,
Dassault, IBM, Siemens, ...) - Compulog Net
(ESPRIT Network of Excellence in Compu. Logic) -
Conférences Practical Applications of Prolog
PRODUITS standard ISO Turbo Prolog
(Borland) IF-Prolog (Siemens Nixdorf) Delphia
Prolog (Siglos) Prolog III (PrologIA) Visual
Prolog (Prolog Development Center A/S) BIM
Prolog (Integral Solutions Limited) Win-Prolog
(Logic Programming Associates) PDC Prolog (Prolog
Development Center) Quintus Prolog (AI
International Limited) SWI-Prolog (Dept.of
Social Science Informatics)
5- LES DIFFERENTS MODES DE PROGRAMMATION
- L'exécution d'une tâche par une machine nécessite
sa programmation, quelques soient les techniques
utilisées et les surenchères de - vocabulaire associées.
- La programmation logique constitue une révolution
dans le domaine - difficile d'en faire la description en se
référant à des structures usuelles - LA PROGRAMMATION IMPERATIVE
- Nécessite l'expression, par le détail, du
"comment . - Traduction d'une démarche algorithmique où le
passage des données vers les résultats est décrit
comme une suite d'actions. - LA PROGRAMMATION FONCTIONNELLE
- Description du résultat comme une composition de
fonctions, agissant sur les objets. Relève aussi
d'un mode de pensée algorithmique.
6- LA PROGRAMMATION LOGIQUE
- Délégation de la charge du "comment" au langage
lui-même - Description du problème à résoudre à partir de
l'inventaire des objets concernés et des
propriétés et relations qu'ils vérifient. - Rapprochement usuel de Prolog avec la logique du
premier ordre. - Expression formelle de la connaissance qui porte
à la fois des - éléments implicites et le moyen de les rendre
explicites. - Mécanisme général et universel, moteur intégré
au langage qui - simule une partie de nos facultés de
raisonnement. - Facteur de non déterminisme qui conduit à
entreprendre des actions - qui ne conduisent pas forcément au résultat ou
peuvent conduire à - plusieurs résultats
7- LA PROGRAMMATION ORIENTEE-OBJET
- Plus qu'une simple technique d'implantation,
représente la - synthèse idéale de tous les progrès en matière de
programmation. - Structure démarche de conception qui donne la
priorité à la - description des invariants des processus
- Traitement décentralisation du déclenchement
des actions, - modules communiquants et faiblement couplés
- Langage mélange de techniques déclaratives et
procédurales
8- PROLOG UN LANGAGE
- SURPRENANT
- CAR
- Pas de séparation programme/données.
- Pas de mots-clés.
- Peu de symboles spéciaux ceux de la langue
française . , ! ? ( ) . - Pas de variables (au sens allocation d une
case). - Pas de structure de Contrôle.
- Pas de tableaux.
- Pas de pointeurs.
- Pas de fonctions (paramètres entrants ou
sortant, résultats). - Longueur des programmes diminue
- BREF
-
- C'est une opportunité de programmer pour
non informaticiens
9APPLICATION
- TRAITEMENTS SYMBOLIQUES
- intégration, système de calcul formel
- développement de compilateurs
- BASE DE DONNEES
- description, interrogation
- LANGAGES NATURELS
- SYSTEMES DE DEDUCTION
- systèmes experts
- génération de plans
- génération de gammes d outillages
- CAO
- EAO
- GENIE LOGICIEL
10 REPRESENTATION DES
CONNAISSANCES LES OBJETS (Termes) ce dont on a
quelque chose à dire. Les identifier et en
faire la description pour aboutir à une
représentation abstraite, purement syntaxique.
LES PREDICATS ce que l'on dit des objets
Qualifient ou décrivent les relations dans
lesquelles les objets sont impliqués. LES FAITS
L'affirmation d'une qualité ou d'une relation à
l'aide d'une formule atomique est une assertion
ou un fait. LES REGLES les règles sont les
germes du raisonnement elles portent la
connaissance implicite et leur utilisation permet
de la restituer Une règle utilise la forme
si..alors
11 LOGIQUE DU 1er ORDRE
ET PROLOG LES OBJETS
objets simples représentés par un symbole
constant (commencés par une minuscule)
unix, Espagne, jaune, géranium, tennis, 1922
objets complexes, description à l'aide d'un
terme composé (symbole fonctionnel suivi de la
liste parenthèsée des arguments)
jugement(Jo,meurtre,1871,travaux_forcés)
vin(bordeaux,rouge,saint_émilion,1985)
arguments sont des termes correspondant à des
objets simples ou complexes
ordinateur(nom(start,st386_25),unix,intel_80386,4,
dk_5_25_1200,dd(control_data,180,18))
Un symbole variable est un terme qui figure
l'emplacement d'un ou plusieurs individus
arbitraires non désignés (commencés par une
lettre capitale) X, Y, Fleur, Femme,
Couleur.
12- LES FAITS
- Formules atomiques avec un symbole de prédicat
suivi de la liste - ordonnée et parenthèsée des arguments
- riche(paul), criminel(jo), offre(don_juan,
fuchsia, ada) - les arguments sont des objets simples ou
complexes - occasion(ordinateur(start_386_25,unix,intel_803
86, ..)) -
- LES REGLES
- Formules composées construites avec les formules
atomiques - en utilisant
- NB (toutes les formules ne sont pas des règles)
13 EXEMPLE En Français Si un
médecin soigne une personne et qu'il est
compétent pour l'affection dont elle souffre
alors cette personne va guérir. En Logique des
Predicats (quelque soit X Y Z)((personne(X) et
affection(Y) et médecin(Z) et compétent(Z,Y) et
soigne(Z,X)) implique guérir(X,Y)).