Logo ÉTS
Session
Cours
Responsable(s) Sylvie Ratté

Se connecter
 

Sauvegarde réussie
La notification a été envoyée
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Sylvie Ratté


PLAN DE COURS

Automne 2025
LOG635 : Systèmes intelligents et algorithmes (3 crédits)





Préalables
Programme(s) : 7065, 7365
             
  Profils(s) : T  
             
    LOG320 ET MAT350    
             
Programme(s) : 7070, 7610
             
  Profils(s) : T  
             
    MAT350 ET LOG320    
             
Unités d'agrément




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours
Ce cours vise la compréhension pour un ingénieur logiciel et un ingénieur TI de trois domaines d’application de l’intelligence artificielle étroitement liés : la représentation des connaissances, le traitement automatique des langues naturelles et les algorithmes de recherche de solutions optimales.

À la fin de ce cours, l’étudiante ou l'étudiant sera en mesure de:
• discuter des avantages et inconvénients des approches symboliques et non symboliques en explicitant les points communs entre les trois domaines explorés;
• construire un système expert et appliquer des techniques de chaînage avant et arrière;
• construire un analyseur pour un langage spécifique;
• comparer différents algorithmes de recherche pour résoudre un problème d’optimisation.

Approches symboliques et non symboliques en IA, intelligence machine vs intelligence humaine, agents intelligents: représentation des connaissances, raisonnement, planification, action, communication. Représentation des connaissances: systèmes experts, systèmes à base de règles, moteur d’inférence, chaînage avant et arrière, forme normale conjonctive, patrons de raisonnement, langages de représentation et de raisonnement, dictionnaires, ontologies, réseaux sémantiques, cadres. Traitement automatique de la langue naturelle: niveaux d’analyse, types d’ambigüités, techniques d’analyse probabilistes, règles de réécriture, formalisme Backus-Naur (BNF), analyseurs descendant et ascendant. Algorithme de recherche: algorithmes génétiques, réseaux de neurones, algorithmes de colonies de fourmis.

Séances de laboratoire couvrant les domaines de la réalisation de trois composantes d’un système : construction d'un système expert dont le moteur d'inférence applique les techniques de chaînage avant et arrière pour poser un diagnostic ; construction d'un système capable d’interpréter, pour le système expert, un texte en langue naturelle; construction d'une composante de recherche d’une solution optimale pour un agent virtuel fonctionnant dans l’environnement utilisé par le système expert et décrit dans le texte.

Note sur les préalables :
LOG320 Structures de données et algorithmes (4 cr.) et MAT350 Probabilités et statistiques (4 cr.) pour les programmes de baccalauréat en génie logiciel, baccalauréat en génie des technologies de l’information et baccalauréat en informatique distribuée et
MAT380 Algèbre linéaire (4 cr.) pour le programme de baccalauréat en informatique distribuée



Objectifs du cours

À la fin de ce cours, l’étudiant sera en mesure de:

  • discuter des avantages et inconvénients des approches symboliques et non symboliques en explicitant les points communs entre les domaines explorés;
  • construire un système expert et appliquer des techniques de chaînage avant;
  • construire un analyseur pour un langage simple;
  • comprendre et appliquer des techniques d'apprentissage machine de base;
  • comparer différents algorithmes de recherche pour résoudre un problème d’optimisation.



Stratégies pédagogiques
  • Trois heures et demie (3 h ½) heures de cours et deux (2) heures de laboratoire par semaine. Certains documents pertinents au cours (mémos, exercices, solutionnaires, énoncés de travaux, fichiers d'exemples, etc.) seront placés régulièrement sur le site Moodle du cours. Il est de la responsabilité de l'étudiant(e) de consulter régulièrement ce site.
  • Les séances de cours sont interactives. La matière de la semaine, disponible sous forme de capsules sur YouTube, est présentée rapidement; les sections qui demandent plus d'explications sont priorisées. Cette présentation succincte est suivi d'une séance de questions sous la forme de "tests de connaissances". Ces tests ne comptent pas dans la note finale.
  • Les laboratoires visent l'assimilation des notions vues au cours et la mise au point des travaux. Nous espérons pouvoir enfin retravailler avec les robots Cozmo!



Utilisation d’appareils électroniques

Les cours sont de toute façon enregistrés ou pré-enregistrés. Il n'est donc pas nécessaire de les enregistrer vous-même.




Horaire
Groupe Jour Heure Activité
01 Lundi 13:30 - 17:00 Activité de cours
Jeudi 08:30 - 10:30 Laboratoire (Groupe A)
Jeudi 10:30 - 12:30 Laboratoire (Groupe B)



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Sylvie Ratté Activité de cours sylvie.ratte@etsmtl.ca A-4482



Cours

Introduction 

  • Introduction à l’intelligence artificielle.
  • Quelques rappels de LOG320.
  • Quelques rappels de MAT210.
  • Qu’est-ce qu’un agent intelligent? Communication, apprentissage, raisonnement.

 Apprentissage et métaheuristiques 

  • Apprentissage supervisé et non supervisé.
  • Extraction de caractéristiques simples à partir d'images.
  • Classification.
  • Méthodes de validation (hold-out, croisé)
  • (optionnel) Apprentissage de conjonctions et de disjonctions.
  • K plus proche voisin, arbre de décision, méthode bayésienne naïve.
  • Régression logistique, réseaux de neurones.
  • (optionnel) Recuit simulé, recherche taboue, algorithme glouton, algorithme génétique, algorithme de colonies de fourmis.
  • (optionnel) Optimisation par essaim de particules.

 Traitement automatique des langues naturelles

  • Niveaux d’analyse : morphologie, lexique, syntaxe et sémantique.
  • Grammaire symbolique (grammaires de type 0, 1 et 2); automates, règles de réécriture et BNF.
  • Étapes de l’analyse et ambiguïtés : segmentation, étiquetage (dictionnaire et n-grammes), analyse syntaxique et sémantique.
  • Technique d’analyse syntaxique : Automates, « chart », « top-down » et « bottom-up ».
  • Interprétation sémantique : « curryfication », expressions lambda, ?-réduction.
  • (optionnel) Techniques d’analyse probabiliste.
  • (optionnel) Introduction à la reconnaissance et la synthèse vocale.

 Représentation des connaissances et raisonnement

  • Logique propositionnelle, logique du 1er ordre, ontologies, réseaux sémantiques.
  • Patrons de raisonnement, formes normales disjonctives et conjonctives.
  • Algorithmes de résolution.
  • Systèmes experts et clauses de Horn.

 




Laboratoires et travaux pratiques

Les laboratoires sont essentiels. Ils consistent en la conception, l’analyse, l’évaluation de performance d’algorithmes ainsi que l’étude comparative d’environnements, dans les trois domaines ciblés.

  • Apprentissage machine
  • Représentation des connaissances et raisonnement
  • Traitement des langues naturelles

Chacun des thèmes couvre les outils disponibles, les techniques algorithmiques et d’évaluation des performances. Un discours critique et constructif est encouragé pendant toutes les séances.

NOTE : Si vous éprouvez des difficultés techniques avec le matériel des laboratoires du département, s.v.p. communiquez le  problème à support-logti@etsmtl.ca.




Utilisation d'outils d'ingénierie
  • Langage de programmation: Python 3.x
  • Environnements de développement : Linux (Ubuntu), Windows, Mac OS
  • Utilisation du robot Cozmo pour créer un système intelligent



Évaluation
Examen intra 25 %
Examen final 25 %
Quizzs rapides 10%
Laboratoires 40 %

L'étudiant(e) doit avoir une moyenne d'au moins 50% dans les travaux individuels (intra, final et quiz) afin de réussir le cours. Cette condition est nécessaire mais non suffisante pour réussir ce cours.

Le système intelligent que vous allez construire durant le semestre comprend 3 laboratoires (5 %, 15%, 20 %). Le projet dans son ensemble vous permettra d’implémenter des versions simples d’algorithmes et de les comparer avec les dernières librairies disponibles pour Python. Cette construction expérimentale a pour objectif de vous donner les connaissances de base sous-jacentes aux algorithmes de l’IA et l’expertise nécessaire à l’intégration de composants intelligents. Pour ce faire, nous poursuivons trois objectifs spécifiques qui correspondent aux trois laboratoires:

Objectif 1. Parcourir un espace, conceptualiser le monde et communiquer 
Ce laboratoire a pour but de vous initier aux capacités du robot: reconnaissance faciale, déplacement, communication, expressivité. L’objectif de Cozmo est de patrouiller son espace et d’interagir simplement avec celui-ci et avec vous.

Objectif 2. Interagir et voir le monde
Ce laboratoire a pour but de rendre Cozmo capable de reconnaître des objets simples et de les associer à sa conception du monde. L’objectif de Cozmo est de récolter des indices.

Objectif 3. Raisonner et donner des explications
Ce laboratoire a pour but d’apprendre à Cozmo comment raisonner par inférence. Son objectif est de déduire, à partir des indices qu’il a découvert et de votre aide, de nouveaux faits qui viendront augmenter sa connaissance du monde. Vous apprendrez également comment communiquer avec Cozmo grâce à un langage simple que vous serez en mesure d’analyser pour le robot.




Double seuil
Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 20 octobre 2025



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : https://www.etsmtl.ca/programmes-et-formations/horaire-des-examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.5/ cycles supérieurs, article 6.5.2) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignante ou l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Veuillez respecter la procédure de remise, de même que les échéances fixées :

Retard de moins de 24 heures : perte de 20 %;
Retard de plus de 24 heures, mais moins 48 heures (inclus) : perte de 40 %;
Retard de plus de 48 heures, perte de 100 %.




Absence à une évaluation

Afin de faire valider une absence à une évaluation en vue d’obtenir un examen de compensation, l’étudiante ou l’étudiant doit utiliser le formulaire prévu à cet effet dans son portail MonÉTS pour un examen final qui se déroule durant la période des examens finaux ou pour tout autre élément d’évaluation surveillé de 15% et plus durant la session. Si l’absence concerne un élément d’évaluation de moins de 15% durant la session, l’étudiant ou l’étudiante doit soumettre une demande par écrit à son enseignante ou enseignant.

Toute demande de validation d’absence doit se faire dans les cinq (5) jours ouvrables suivant la tenue de l’évaluation, sauf dans les cas d’une absence pour participation à une activité prévue aux règlements des études où la demande doit être soumise dans les cinq (5) jours ouvrables avant le jour de départ de l’ÉTS pour se rendre à l’activité.

Toute absence non justifiée par un motif majeur (voir articles 7.2.6.1 du RÉPC et 6.5.2 du RÉCS) entraînera l’attribution de la note zéro (0).




Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiantes et les étudiants doivent consulter le Règlement sur les infractions de nature académique (www.etsmtl.ca/a-propos/gouvernance/secretariat-general/cadre-reglementaire/reglement-sur-les-infractions-de-nature-academique) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet. À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et tous les membres de la communauté étudiante sont invités à consulter la page Citer, pas plagier ! (www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par l’enseignante ou l’enseignant du cours.



Documentation obligatoire

Aucune documentation obligatoire.




Ouvrages de références

Optionnelles:

  • JOSHI, P. Artificial Intelligence with Python: A Comprehensive Guide to Building Intelligent Apps for Python Beginners and Developers, 2017.
  • RUSSELL, S.J. & P. NORVIG, Intelligence artificielle: une approche modeerne. 4e édition, Pearson Éducation, 2021.
  • RUSSELL, S. J. & P. NORVIG. Artificial intelligence: a modern approach. Pearson Education, 2021.
  • ALPAYDIN, Ethem. Introduction to machine learning. MIT press, 2020.

Des références complémentaires sont disponibles sur le site du cours.




Adresse internet du site de cours et autres liens utiles

Les documents pertinents au cours (mémos, exercices, solutionnaires, énoncés de laboratoires, fichiers d'exemples, etc.) seront placés régulièrement sur le site Moodle du cours. Il est de la responsabilité de l'étudiant de le consulter.