====== Programmation logique et par contraintes ====== ===== Description ===== Ce cours est séparé en deux parties de durée égale. La première partie introduit la programmation logique (Prolog). La deuxième partie introduit la programmation par contraintes en utilisant la programmation logique. Le cours est accompagné de TPs et quelques TDs ===== Syllabus ===== ==== Sujets centraux ==== - Programmation logique * Prolog: Syntaxe et sémantique opérationnelle * Fondements logiques et sémantique déclarative * Modélisation de problèmes * Récursion et listes * Applications - Programmation par contraintes * Définition des contraintes * Contraintes sur les réels/rationnels/entiers * Algorithmes de résolution de contraintes (Gauss, Fourier-Motzkin,...) * Combinaison avec Prolog * Contraintes sur un domaine fini * Mise en oeuvre en Prolog * Optimisation (algorithme simplex) * Applications ===== Pré-requis ===== Un cours de logique de base comme [[..:..:..:licence:2024-2025:ue:l3:lo5|Logique]] en L3 dans notre licence.