Logique et programmation (INFO631_IDU)
Volume horaire
Présentation
Ce cours vise à acquérir les compétences afin de modéliser un problème selon une description logique et de l'implémenter dans un langage logique comme Prolog et un langage plus générique tel que Java ou Python.
The aim of this course is to introduce you to the theory and practice of logic programming. The course has two components:
- Logic programming - theory
- Logic programming - programming
Compétences acquises
Acquis apprentissage : ce cours vise à rendre l'étudiant apte à |
Niveau |
Objectifs spécifiques : à l'issue de ce cours, l'étudiant sera capable |
représenter, avec la théorie adaptée, un problème sous forme logique. |
Maîtrise |
de décrire un problème sous forme de la logique des prédicats du 1er ordre de décrire un problème sous forme d'une logique temporelle ou floue de décrire un problème sous forme d'une logique floue |
implémenter un problème dans un langage logique afin d'en extraire de l'information. |
Maîtrise |
d'implémenter dans un langage de programmation un problème décrit dans une logique des prédicats du 1er ordre, temporelle ou floue d'inférer de la connaissance à partir d'une programmation logique |
Plan du cours
Cours
- Logique propositionnelle
- Langage et Sémantique
- Aspects déductifs
- Formes Normale
- Logique des prédicats du 1er ordre
- Quantificateurs et Variables
- Modèles et Preuves
- Normalisation, Unification et Résolution
- Logiques temporelles
- Connecteurs temporels et quantificateurs de chemin
- Sémantique
- Expressivité des logiques temporelles (LTL, CTL...)
- Logique floue
Interface numérique/symbolique