Descriptif
L'avenir de l'Intelligence Artificielle se situe au-delà de l'exploitation massive des données. L'IA du futur demande la maîtrise des structures et des représentations symboliques. Le module IA206 commence par la programmation en Prolog, et plusieurs concepts fondamentaux de l'IA, relatifs à la résolution de problèmes, à la logique formelle, à l'apprentissage automatique symbolique, à la représentation des connaissances, et au traitement du langage naturel.
Prolog est un langage unique. Contrairement à la plupart des langages de programmation, il s'agit d'un langage déclaratif. Prolog permet de penser les problèmes en termes de contraintes plutôt qu'en termes de procédure. Idéalement, le programmeur se contente de donner des connaissances à la machine, et celle-ci fait le reste. Prolog a été imaginé pour attaquer les problèmes de l'IA symbolique : gestion des connaissances, traitement du langage naturel, raisonnement. Suite aux succès des modèles d'IA statistiques, Prolog a été étendu avec ProbLog et DeepProbLog, qui permettent de calculer des probabilités et d'inclure des réseaux de neurones. Avec ProbLog, il est possible de spécifier des connaissances et des contraintes comme avec Prolog, en plus de la possibilité de les connecter à des calculs probabilistes. Ceci permet de créer des IA moins gourmandes en données, plus cohérentes, interprétables et corrigeables.
Les thèmes suivants seront abordés :
- Le langage Prolog (Récursivité, backtracking, unification) et DeepProbLog
- Logique formelle (propositions et prédicats, démonstration, preuves par réfutation)
- Traitement du langage naturel (DCG, parsage par unification)
- Apprentissage automatique symbolique (induction symbolique, minimum de complexité)
- Représentation des connaissances (logiques de description, ontologies, Web sémantique)
- Langages de programmation probabilistes, diagrammes de décision binaire et sententielle
Objectifs pédagogiques
Acquis d'apprentissageÀ l'issue de l'UE, l'élève sera capable de:
- Concevoir un logiciel en Prolog
- Résoudre un problème à l'aide de la programmation en logique
- Expliquer le fonctionnement d'un programme en Prolog
Compétences de rattachement (et justification)
- BC5.1 – Modéliser mathématiquement une situation, des données, des phénomènes physiques dans le contexte du numérique; Justification : La programmation en logique nécessite de se poser la question de la représentation des connaissances, point qui est abordé dans le cours (en particulier dans le chapitre 2). Les TP contiennent de nombreux problèmes concret traduits dans le langage de la programmation en logique.
- BC8.3 – Concevoir et développer des solutions technologiques en s’appuyant sur un paradigme de programmation spécifique ou en concevant des architectures matérielles et logicielles spécifiques; Justification : L'objet de cette UE est de résoudre des problèmes en Prolog.
effectifs minimal / maximal:
10/200Diplôme(s) concerné(s)
- Programme de mobilité des établissements français partenaires
- M2 DATAAI - Data and Artificial Intelligence
- M1 DATAAI - Data and Artificial Intelligence
- Diplôme d'ingénieur
Parcours de rattachement
Format des notes
Numérique sur 20Littérale/grade européenPour les étudiants du diplôme Diplôme d'ingénieur
Vos modalités d'acquisition :
- TP notés
- Examen
- Crédits ECTS acquis : 2.5 ECTS
- Crédit d'UE partagées acquis : 2.5
La note obtenue rentre dans le calcul de votre GPA.
Pour les étudiants du diplôme M2 DATAAI - Data and Artificial Intelligence
Vos modalités d'acquisition :
- TP notés
- Examen
- Crédits ECTS acquis : 2.5 ECTS
Pour les étudiants du diplôme Programme de mobilité des établissements français partenaires
Vos modalités d'acquisition :
- TP notés
- Examen
- Crédits ECTS acquis : 2.5 ECTS
La note obtenue rentre dans le calcul de votre GPA.
Pour les étudiants du diplôme M1 DATAAI - Data and Artificial Intelligence
Vos modalités d'acquisition :
- TP notés
- Examen
- Crédits ECTS acquis : 2.5 ECTS
Programme détaillé