Cours IA : logique et Prolog en PDF (Intermédiaire)
Support pédagogique d'initiation et de niveau intermédiaire en intelligence artificielle. Présentation des fondations formelles et pratiques : logique des propositions, logique des prédicats, méthodes de résolution et mise en œuvre en Prolog. Document produit par les enseignants Philippe Beaune, Gauthier Picard et Laurent Vercouter, affiliés à l'École Nationale Supérieure des Mines de Saint-Étienne. Les travaux pratiques (TP) et exercices Prolog permettent d'expérimenter l'unification et la résolution dans un moteur Prolog. La bibliographie s'appuie sur des références classiques, notamment Russell & Norvig, et couvre l'historique de l'IA ainsi que les systèmes experts.
Historique et fondements de l'IA symbolique
L'intelligence artificielle symbolique a émergé après-guerre à partir des travaux sur la formalisation du calcul et de la logique. Entre 1945 et 1970, les avancées en logique et en théorie des machines ont permis de concevoir des systèmes manipulant des représentations symboliques : représentation des connaissances, formalisation des règles et naissance de langages dédiés. La règle de résolution et les travaux sur l'unification ont posé des bases pour la programmation logique et les systèmes experts.
La préhistoire de l'IA : 1945 – 1955
Période fondatrice marquée par la formalisation du calcul et les premières réflexions sur la machine pensante. Les travaux sur la calculabilité et les modèles de la machine, notamment les contributions de Turing et Church, ont structuré la théorie. Les développements en théorie de l'information et en logique des commutateurs ont favorisé l'apparition d'approches symboliques pour le traitement automatique de l'information, préparant l'émergence de recherches centrées sur la représentation des connaissances et la résolution automatique de problèmes.
Objectifs généraux de l'IA
Modéliser le raisonnement formel et produire des systèmes capables d'inférence automatique. Deux approches coexistent : les modèles symboliques (systèmes experts, représentation des connaissances) et la simulation du comportement intelligent. Le support insiste sur les algorithmes de résolution et leur transposition pratique en Prolog, avec garanties théoriques et illustrations par des TP.
Compétences visées
- Logique des propositions et tables de vérité — définition des formules bien formées, connecteurs et tables de vérité ; évaluation de la satisfiabilité et transformations préparatoires à l'inférence automatique.
- Forme normale conjonctive (
FNC) et forme clausale — procédures pour éliminer⇔et⇒, appliquer les lois de De Morgan, supprimer les négations doubles et distribuer pour obtenir laFNC; préparation nécessaire à la résolution mécanique. - Résolution et règle de Robinson — principe de réfutation par construction de la clause vide et application de la règle de résolution entre clauses ; éléments de correction et de complétude de l'algorithme.
- Logique des prédicats et quantificateurs — syntaxe des termes, variables, prédicats et portée des quantificateurs
∀/∃; transformations requises pour l'inférence du premier ordre. - Skolémisation et mise en forme clausale en premier ordre — conversion en forme prénexe, application de la skolémisation et obtention de la forme clausale utilisable par la résolution.
- Unification et application à la résolution — substitutions et unificateur
σ, calcul d'unification entre atomes et construction de la resolvanteσ(F1 \ {P}) ∪ σ(F2 \ {¬P}); étapes clés pour implémenter l'inférence en Prolog. - Prolog et travaux pratiques — passage de la logique formelle aux programmes
Prolog: écriture de règles, formulation de requêtes et observation du processus de résolution unifiée.
📑 Sommaire du document
- Cours IA : logique et Prolog en PDF (Intermédiaire)
Pourquoi télécharger ce support ?
Ressource conçue pour consolider les bases formelles et proposer une mise en pratique via des exercices Prolog. Le document présente l'historique de l'IA symbolique, la transformation systématique des formules jusqu'à la forme clausale, la règle de résolution et l'unification, accompagné de TP illustrant le comportement d'un moteur Prolog. Public visé : étudiant·e·s en licence, écoles d'ingénieurs et professionnels souhaitant approfondir la programmation logique et les systèmes experts.
👤 À qui s'adresse ce cours ?
- Public cible : étudiant·e·s en licence ou écoles d'ingénieurs et professionnels souhaitant consolider les bases formelles de l'IA symbolique, notamment en représentation des connaissances et programmation logique.
- Prérequis : notions élémentaires de logique booléenne et d'algèbre relationnelle, familiarité avec les notations mathématiques (ensembles, fonctions, variables) et expérience de base en programmation pour suivre les TP en
Prolog. - Débouchés : ingénieur IA, data scientist, développeur en programmation logique /
Prolog, chercheur ou doctorant en représentation des connaissances.
Différence entre IA symbolique et Machine Learning
L'IA symbolique repose sur des représentations explicites des connaissances et des règles d'inférence manipulées de manière logique. Elle privilégie la traçabilité et la vérifiabilité des décisions à partir d'une base de faits et d'un moteur d'inférence. Le Machine Learning (approche connexionniste) apprend des modèles statistiques à partir de données massives et se concentre sur la généralisation empirique. Les deux approches sont complémentaires : l'IA symbolique facilite l'explicabilité et les garanties formelles, tandis que le Machine Learning excelle pour la reconnaissance de motifs dans des données non structurées.
Cas d'utilisation : Créer un système expert avec Prolog
Prolog s'adapte naturellement à la construction de systèmes experts grâce à sa syntaxe déclarative et son mécanisme d'unification. Un système expert combine une base de faits, une base de règles et un moteur d'inférence pour dériver des conclusions. Le support détaille les étapes pour modéliser les connaissances, formaliser les règles et mettre en place des stratégies d'interrogation et d'explication des résultats.
Les systèmes experts et la base de connaissances
La base de connaissances regroupe les faits et règles exprimés sous forme déclarative. Le moteur d'inférence exploite ces éléments pour enchaîner des substitutions et appliquer la résolution. Dans un exemple pédagogique, Prolog sert à représenter la base de faits, exécuter des requêtes et expliquer les décisions en retraçant les règles convoquées. Ces notions s'inscrivent dans l'IA symbolique et l'intelligence artificielle classique, favorisant la transparence des diagnostics et des recommandations.
Applications concrètes de Prolog et de l'IA symbolique
Les techniques présentées trouvent des applications dans des domaines où la représentation explicite des règles et la traçabilité sont essentielles. Exemples d'applications et cas d'usage :
- Parsing et analyse syntaxique en traitement du langage naturel (analyse de grammaires et extraction d'information).
- Systèmes experts de diagnostic et de maintenance, reposant sur une
base de faitset un moteur d'inférence pour proposer des diagnostics interprétables. - Démonstration automatique de théorèmes et assistance à la preuve formelle en logique du premier ordre.
❓ Foire Aux Questions (FAQ)
Quelle est la différence entre FNC et forme clausale ?
La FNC (forme normale conjonctive) désigne une conjonction de disjonctions de littéraux. La forme clausale correspond à l'ensemble des clauses extraites d'une FNC après élimination des quantificateurs universels et transformations adaptées au premier ordre. La conversion implique l'élimination de ⇔/⇒, l'application des lois de De Morgan, la distribution et, pour le premier ordre, la skolémisation lorsque nécessaire.
Rôle de l'unification dans la résolution en logique des prédicats
Pendant la résolution, on identifie des paires antagonistes P(...) et ¬P(...), puis on calcule un unificateur σ (substitution la plus générale) tel que σ(P(...)) = σ(P'(...)). La resolvante est construite comme σ(F1 \ {P}) ∪ σ(F2 \ {¬P}). L'unification rend possible l'application de la règle de résolution au premier ordre en alignant les termes impliqués.