Retour accueil UPMCPhoto1 UPMCPhoto2 UPMC
Anneaux UPMC
UE: Logique pour l'intelligence artificielle, les bases de données et la recherche opérationnelle [liber, MI007]

L'unité d'enseignement « Logique pour l'intelligence artificielle, les bases de données et la recherche opérationnelle » est une UE de niveau (400) relevant de la spécialité IAD du master d'informatique. Elle possède un volume de 6 ECTS et s'étend sur 10 semaines. Elle est normalement offerte au semestre 1.

Description

Ce module donnera aux étudiants de master informatique les fondements logiques nécessaires pour aborder la modélisation du raisonnement, la représentation des connaissance, la formalisation de problèmes et la spécification de programmes, toutes connaissances indispensables en intelligence artificielle, en bases de données, en recherche opérationnelle et en algorithmique. De plus, il initiera les étudiants à la programmation logique et au langage PROLOG.

Le programme comprend quatre parties plus ou moins équilibrées: 1- Le calcul propositionnel: on enseignera d'abord les fondements de la représentation des connaissances en logique, puis la syntaxe et la sémantique. 2- PROLOG: Une fois les notions de base de logique introduite, on donnera une première introduction pratique à PROLOG ; cela devrait illustrer l'intérêt de la logique tout en familiarisant les étudiants à ce langage. 3- Le calcul des prédicats: outre les notions classiques de syntaxe et de sémantique étendues à la logique du premier ordre, on abordera l'unification et la règle de résolution qui servent de fondement au langage PROLOG. 4- La démonstration automatique et la programmation logique: cette troisième partie montrera en quoi PROLOG est un démonstrateur automatique de théorème. Elle en exposera les fondements théoriques. Elle en enseignera ensuite l'utilité pratique en précisant les principes de programmation logique et du langage PROLOG et en montrant cela facilité la programmation.

Bibliographie

  • Systèmes formels, Introduction à la logique et à la théorie des langages, Benzaken, Masson , 1991.

  • Outils logiques pour l'intelligence artificielle , J-P Delahaye, Eyrolles, 1986.

  • The Art of Prolog, Shapiro & Sterling, MIT Press, 1986.

Contenu indicatif par semaine

  • cours • petite introduction à la logique, à la logique mathématique et à leur histoire. • langage des propositions, • table de vérité, conséquence logique, • théorème de déduction TD • exercice sur la représentation de connaissances en logique des propositions • manipulation de tables de vérité • exercices de démonstration de validité, applications du théorème de déduction

  • • syntaxe, démonstration, théorème. • notion de schéma d'axiome, • démonstration de cohérence et de complétude du calcul des propostions. TD • manipulation du système axiomatique vu en cours • présentation du système de la déduction naturelle • démontrations de théorèmes avec plusieurs systèmes d'axiomes

  • • formes normales, • méthode des arbres sémantiques • règle de résolution (en logique des propositions), TD • exercices de mise sous forme normale • application de la méthode des arbres sémantiques • preuve par réfutation en logique des propositions

  • • Èléments de base de la syntaxe PROLOG (termes, littéraux, clauses...). • Déclarativité. • Non-déterminisme, interprétation procédurale avec des arbres et/ou et avec des arbres de dérivation. • Différences et analogies avec la programmation impérative et procédurale: notions de récursion, d' accumulateur, de variable, ...) TD • Dérécursion de programmes logiques • Programmes simples en PROLOG avec différentes structures de données (sur liste, sur arbres, ...)

  • • notion de variable, de prédicat et de quantificateur, • occurrences libres, liées, substitution, etc.; • extension des schémas d'axiomes déjà vu à la logique du premier ordre • représentation des connaissances en logique du premier ordre. TD • Portée des quantificateurs • Démonstration de théorèmes en logique du premier ordre

  • • satisfiabilité, validité, conséquence logique revisitée; • Extension des arbres sémantiques à la logique du premier ordre TD • Application de la méthode des arbres • Théorème de Herbrand

  • • forme normale conjonctive et disjonctive, skolémisation • mise sous forme clausale, TD • Exercices de mise sous forme de clause

  • • filtrage, unification, • résolution, • démonstration automatique de théorème TD • Exercices sur le filtrage et l'unification • Manipulation de la résolution • Stratégies d'application de la résolution

  • • Clauses de Horn, • Stratégie de résolution linéaires, ordonnées, ... TD • Exemples de stratégies d'application de la résolution, • Exemples de programmes logiques simples (addition, ...)

  • • Les trois coupures de PROLOG, négation, nombres, prédicats dynamiques... • Applications de PROLOG pour la programmation de quelques algorithmes classiques: parcours de graphes, tris, analyseurs syntaxiques... TD • Programmes sur les nombres • Exemples de programmes sur les graphes (programmes d'IA: parcours du graphe des états) • Programmation d'analyseurs syntaxiques • Systèmes de trace

coin