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

Slides:



Advertisements
Présentations similaires
L-System et modélisation de plantes…
Advertisements

Résolution de problèmes et logiciel de calcul symbolique
Piles, files et listes: notions théoriques
PROLOG 1 Prolog - Initiation
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
Cours 7 Problèmes d’ordre 2 en temps : Analyse modale
Le langage Prolog Structures de données
Un langage de programmation logique
La Programmation Logique: PROLOG
Bases de l’intelligence artificielle
Bases de l’intelligence artificielle
Exposé de Système - Informatique et Réseau
UE 102 (IUP.M1) Communication d’entreprise
Séminaire Biblio LISC - 3/04/02 Complexité, information Daprès JP Delahaye (1999)
Mise en œuvre d’un programme
Analyse et Programmation Déclarative / Prolog
Joueur virtuel (Lot 2) Modélisation des cartes
Calculs numériques en Prolog
Licence Informatique Module Théories et Modèles pour l'Informatique II Option Programmation logique en Prolog Philippe Collard
Systèmes Experts implémentation en Prolog
Fonctionnement du moteur Prolog
Les systèmes experts L3 MI.
1 TICE 2000 / Troyes / octobre 2000 Des moteurs de recherche efficaces pour des systèmes hypertextes grâce aux contextes des nœuds Des moteurs de.
Projet 4info.
On parle darbre de recherche dune question *Racine de larbre : question *Nœuds : points de choix (formule à démontrer) *Passage dun nœud vers son fils.
Sherlock II Sherlock II : Environnement de développement dapplications Sherlock II : Editeur dontologies Sherlock II : Aide à la découverte de connaissances.
Les Systèmes Experts I.A. Session 2009/2010
Quest-ce quun blog? « Un blog ou blogue (aphérèse de web log) est un site Web constitué par la réunion d'un ensemble de billets triés par ordre chronologique.
Démarche de résolution de problèmes
Inférence en logique du premier ordre
Programmation logique Logique des prédicats du premier ordre
B2i Lycée Circulaire BO n°31 du 29/08/2013.
Introduction à la conception de Bases de Données Relationnelles
Programmation logique Démonstrateur automatique
Rappels de logique des prédicats du 1er ordre
CSI2520, Hiver 2007 Paradigmes de Programmation CSI 2520.
CSI 4506: Introduction à l’intelligence artificielle
CSI 4506: Introduction à l’intelligence artificielle
La résolution de la référence et son évaluation: un Atelier de Traitement de la Référence mettant en œuvre les « représentations mentales » Andrei Popescu-BelisISSCO,
Révisions - IA Généralité: problèmes de lIA Recherche Logique Traitement de lincertitude Apprentissage Langue naturelle.
1. HISTORIQUE Origine PROLOG : PROgrammation LOGique : SIMULA 67
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Initiation aux bases de données et à la programmation événementielle
Programmation logique Le Langage PROLOG
Programmation non procédurale Le projet ECOLE 2000
Les feuilles de style CSS
Jacques Nicolas INRIA /IRISA Rennes
PHP & My SQL.
Guillaume TORRENTE Marc BOUISSOU Recherche & Développement
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
La Logique du premier ordre LPO
Jeu de Librairies Virtuelles
Cours n°2UE102e(S. Sidhom) UE 102e. M1.IST-IE cours n°2 Systèmes à base de règles Par : Sahbi SIDHOM MCF. Université Nancy 2 Équipe de recherche SITE –
Présentation Session RPSI
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Approches Formelles en Systèmes d'information
1 A llier R elations et O bjets pour M odéliser Projet Sherpa INRIA Rhône-Alpes Visite Schneider 15/09/99.
MEMOIRE INDUSTRIEL ESIEA
Outils pour la programmation logique par contraintes
C++ L’HERITAGE Fayçal BRAÏKI DUT INFORMATIQUE.
Nexeto.  Entreprise ◦ ADINFO ◦ Nexeto  Besoins ◦ Objectifs ◦ Outils/Moyens ◦ ATS ◦ Planning  Projet de stage ◦ Conception ◦ Réalisation  Bilan  Résultats.
RAISONNEMENT À PARTIR DE CAS R à PC. PLAN DU TRAVAIL Introduction Introduction Raisonnement analogique Raisonnement analogique Principe et étapes de R.
Intelligence artificielle
CSI 4506: Introduction à l’Intelligence Artificielle
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Nicolas TassaraAnnée 2006 Université de la Méditerranée Aix-Marseille II École Supérieure d’Ingénieurs de Luminy Département informatique Luminy case 925.
LOGIQUE ET PROGRAMMATION LOGIQUE
Apéro Techno Romain Maragou - Aliou Sow Web sémantique.
Introduction Module 1.
Transcription de la présentation:

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

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) http://prolog-heritage.org/fr/

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)

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

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 http://prolog-heritage.org/

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 http://en.wikipedia.org/wiki/Q-systems

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 http://en.wikipedia.org/wiki/Q-systems

Bibliographie (4) Standards et IDE Standard Prolog ISO http://www.iso.org/iso/iso_catalogue http://fsl.cs.uiuc.edu/images/9/9c/PrologStandard.pdf SWI Prolog (Open source) http://en.wikipedia.org/wiki/SWI-Prolog Visual Prolog http://en.wikipedia.org/wiki/Visual_Prolog

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 …

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 !’).

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 …

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 !!

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)

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

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)

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 http://fr.wikipedia.org/wiki/Unification

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

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

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 13211-1) Langage interprété Interpréteur multi threads Chargement dynamique et modulaire

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