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. Programmation en Logique (1) è Logique des prédicats (ordre 1) Description densembles et de relations Langage.

Présentations similaires


Présentation au sujet: "P.T. 2012/2013 Mise en œuvre de Prolog. Programmation en Logique (1) è Logique des prédicats (ordre 1) Description densembles et de relations Langage."— 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 densembles et de relations Langage de requêtes (algèbre relationnelle) Moteur dinfé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 lhistorique 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 dAlain Colmerauer (free.fr) CV en ligne dAlain 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 à lI.A. (ENSM St Etienne / pdf) P. Beaune, G. Picard et L. Vercouter

7 Bibliographie (3) è Ouvrages et sites annexes La société de lesprit (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 dune 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 loiseau !).

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

12 Description densembles 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 deffacement 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 dinconnues (variables) Algorithme dunification (A. Robinson) Propagation de contraintes dans la conjonction Usage possible de prédicats prédéfinis

17 Moteur dinférences è Raisonnement déductif (modus ponens) Recherche toutes les solutions. Algorithme de substitution (queue de règles) En profondeur dabord Algorithme chaînage arrière (backtracking) Algorithme dunification (A. Robinson) Algorithme de propagation de contraintes dans larbre deffacement des buts

18 Solveur déquations logiques è Compléments dillustration 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 darbres 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 darbres 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. Programmation en Logique (1) è Logique des prédicats (ordre 1) Description densembles et de relations Langage."

Présentations similaires


Annonces Google