Programmation Logique et Intelligence Artificielle

Objectifs

Partie PLC:

  • Connaître les bases d'un langage de programmation logique.
  • Savoir programmer des algorithmes de base (avec listes, arithmétique, coupure) en programmation logique.
  • Connaître les bases de la programmation par contrainte, et savoir résoudre un problème à l'aide de la programmation par contrainte.

 Partie IA:

  • Comprendre et appliquer un système déductif. Modéliser un problème par des contraintes déductives (SAT). Résoudre un problème par un logiciel de résolution SAT.
  • Connaître certains aspects de l'intelligence artificielle: exploration (algorithme minimax, A*...), joueurs automatiques.

Descriptif

Ce cours est commun avec "Programmation logique et intelligence artificielle"  (parcours IFA), sauf le TP qui est spécifique et en anglais.

Ce cours comprend 5 parties, chacune de 4 h CM, 4 h TD et 4 h TP, sur différents points de l'intelligence artificielle et la programmation logique avec contraintes :

  • Résolution de problème par modélisation SAT : logique propositionnelle, rappels sur la complexité des problèmes, modélisation SAT, algorithmes de résolution (DPLL). Application sur un problème en TD et TP.
  • Programmation logique : représentation de données, systèmes experts, notions de chaînage avant et arrière.
  • Programmation par contrainte : modélisation et résolution de problèmes.
  • Résolution de problèmes avec algorithme A*, heuristiques.
  • Introduction théorique sur les jeux de stratégie impartiaux (jeux de Nim, théorème de Sprague-Grundy). Constructions de joueur pour un jeu de stratégie à deux joueurs : algorithme minimax, élagage alpha-bêta.