La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

P.T. 2012/2013 Mise en œuvre de Prolog.

Présentations similaires


Présentation au sujet: "P.T. 2012/2013 Mise en œuvre de Prolog."— Transcription de la présentation:

1 P.T. 2012/2013 Mise en œuvre de Prolog

2 Programmation en Logique (1)
Logique des prédicats (ordre 1) Description d’ensembles et de relations Langage de requêtes (algèbre relationnelle) Moteur d’inférences Solveur d’équations logiques Langage de programmation déclarative Propagateur de contraintes (Prolog III et IV)

3 Programmation en Logique (2)
Synthèse de l’historique 1972 : Prolog I (A. Colmerauer – P. Roussel) Equipes de recherche Marseille & Edimbourg Mise en œuvre algorithme SLD Résolution 1982 : Prolog II (ajout des arbres infinis) 1989 : Prolog III (prog. par contraintes) 1996 : Prolog IV (contraintes non linéaires)

4 Programmation en Logique (3)
Fondements théoriques Théorème de Herbrand Théorème de complétude de Gödel Restrictions aux clauses de Horn

5 Bibliographie (1) Tutoriaux, cours, ouvrages et sites
Cours de P. Caboche (developpez.com) Prolog (F. Giannesini, H. Kanoui, R. Pasero, M. Van Caneghem) - InterEditions Page web d’Alain Colmerauer (free.fr) CV en ligne d’Alain Colmerauer Site

6 Bibliographie (2) Tutoriaux, cours, ouvrages et sites (suite)
Prolog : fondements et applications (M. Condillac) – Dunod informatique Cours de Prolog INF242V (R. Janvier / pdf) Dossier Prolog L3 (M. Ludovic / pdf) Initiation à l’I.A. (ENSM St Etienne / pdf) P. Beaune, G. Picard et L. Vercouter

7 Bibliographie (3) Ouvrages et sites annexes La société de l’esprit
(Marvin Minsky) - InterEditions Le livre qui rend fou (R. Smullyan) - Dunod Page wikipedia de John McCarthy Page wikipedia de Marvin Minsky

8 Bibliographie (4) Standards et IDE Standard Prolog ISO
SWI Prolog (Open source) Visual Prolog

9 Bibliographie (5) Autres cours à consulter (.pdf et .ppt)
INF242V – R. Janvier (CNRS) Prog. fonctionnelle et logique (L3) NFP120 CNAM Programmation logique EPM – M. Gagnon Le langage Prolog – INRIA Programmation logique – I. Stepan

10 Mon premier programme Prolog
Sous forme d’une question ! Peux tu résoudre le prédicat suivant ? ?- write(‘Hello world’). Hello world true write est un prédicat prédéfini Constantes chaînes entre quotes write(‘Hello l’’oiseau !’).

11 Les multiples facettes de Prolog
Enumération non exhaustive Description ensembles et relations Gestion de bases de connaissances Langage de requêtes Moteur d’inférences Langage de programmation déclarative

12 Description d’ensembles et de relations
Forte analogie avec les S.G.B.D. Modèle entités/relations Description par énumération Description en compréhension Description des propriétés de chaque élément En logique, Relation = Prédicat ! La B.D. devient Base de Connaissances !!

13 La base de connaissances (BdC)
Principe du monde clos Tout ce qui doit être connu (du raisonnement à conduire !) doit être inclus dans la BdC. BdC : textuelle et modulaire BdC : bases de faits et bases de règles BdC : syntaxe unique de description BdC : chargement dynamique à la demande Cf fichier source joint (genealogie.pl)

14 Langage de requêtes (1) Questions posées sous forme de buts
Les questions ne peuvent porter que sur le monde décrit par une BdC cible. Chargement par le prédicat prédéfini consult En logique, Question = But Conjonction possible de buts

15 Langage de requêtes (2) Système formel des clauses de Horn
Le monde est supposé clos. Algorithme d’effacement des buts Erreur si le prédicat est absent de la BdC Disjonction modélisée par règles Recherche de toutes les solutions Prédicat prédéfini ! (cut)

16 Langage de requêtes (3) Système formel des clauses de Horn
Usage d’inconnues (variables) Algorithme d’unification (A. Robinson) Propagation de contraintes dans la conjonction Usage possible de prédicats prédéfinis

17 Moteur d’inférences Raisonnement déductif (modus ponens)
Recherche toutes les solutions. Algorithme de substitution (queue de règles) En profondeur d’abord Algorithme chaînage arrière (backtracking) Algorithme d’unification (A. Robinson) Algorithme de propagation de contraintes dans l’arbre d’effacement des buts

18 Solveur d’équations logiques
Compléments d’illustration Prédicat prédéfini = (unir) Principe de réversibilité

19 Langage de programmation (1)
Programmation déclarative et symbolique Entièrement basée sur la description d’arbres Arbres de données et arbres de traitement Normalisation ISO (IEC ) Langage interprété Interpréteur multi threads Chargement dynamique et modulaire

20 Langage de programmation (2)
Entièrement basé sur la description d’arbres Possibilité de modification dynamique Prédicats prédéfinis assert et retract Gestion des exceptions (sens C++ du terme) Langage introspectif et réflexif Gestion des listes (chaînées) Prédicats prédéfinis nombreux et puissants


Télécharger ppt "P.T. 2012/2013 Mise en œuvre de Prolog."

Présentations similaires


Annonces Google