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

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Sylvie Ratté


PLAN DE COURS

Été 2022
LOG635 : Systèmes intelligents et algorithmes (3 crédits)


Modalités de la session d’été 2022


Vous trouverez ci-dessous les modalités de la session d’été 2022. Vous devez les lire attentivement.


Pour assurer la tenue de la session d’été 2022, les modalités suivantes seront appliquées :


  • Les activités d’enseignement de la session d’été 2022 comprendront des activités en présence et à distance, lesquelles seront ajustées en fonction de l’évolution de la situation socio-sanitaire.
  • Pour les cours (ou séances de cours) donnés à distance, l’étudiant doit avoir accès à un ordinateur, un micro, une caméra et un accès à internet, idéalement de 10Mb/s ou plus. L’étudiant doit ouvrir sa caméra et/ou son micro lorsque requis, notamment pour des fins d’identification ou d’évaluation.
  • Les cours (ou séances de cours) donnés à distance pourraient être enregistrés, afin de les rendre disponibles aux étudiants inscrits au cours.
  • La notation des cours sera la notation régulière prévue aux règlements des études de l’ÉTS.
  • Les examens (intra, finaux) se feront en présence, tant que la situation socio-sanitaire le permet.
  • Le contexte actuel oblige bien sûr l’ÉTS à suivre de près l’évolution de la pandémie de COVID-19, laquelle pourrait entraîner, avant ou après le début de la session d’été 2022, un resserrement des directives et recommandations gouvernementales. Nous vous assurons que l’ÉTS se conformera aux règles en vigueur afin de préserver la santé publique et que, si requis, elle pourrait aller jusqu’à interdire l’accès physique au campus universitaire et ordonner que toutes les activités d’enseignement et d’évaluation soient exclusivement données à distance pour tout ou partie de la session d’été 2022. Ainsi, si les examens (intra, finaux) devaient se faire à distance, leur surveillance se fera à l’aide de la caméra et du micro de l’ordinateur et pourrait être enregistrée. Ceci est nécessaire pour se conformer aux exigences du Bureau canadien d’agrément des programmes de génie (BCAPG) afin d’assurer la validité des évaluations.
  • Des exigences additionnelles pourraient être spécifiées par l’ÉTS ou votre département, suivant les particularités propres à votre programme.

En vous inscrivant ou en demeurant inscrit à la session d’été 2022, vous acceptez les modalités particulières de la session d’été 2022.


Nous vous rappelons que vous avez jusqu’au 17 mai 2022 pour vous désinscrire de vos cours et être remboursé.


Pour les nouveaux étudiants inscrits au programme de baccalauréat uniquement, vous avez jusqu’au 31 mai 2022 pour vous désinscrire de vos cours et être remboursé.




Préalables
Programme(s) : 7065, 7365
             
  Profils(s) : Tous profils  
             
    LOG320 ET MAT350    
             
Programme(s) : 7070, 7610
             
  Profils(s) : Tous profils  
             
    MAT350 ET LOG320    
             
Unités d'agrément
Total d'unités d'agrément : 58,8 50,0 % 50,0 %




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 18:00 - 21:30 Activité de cours
Mercredi 18:00 - 20:00 Laboratoire
02 Lundi 18:00 - 20:00 Laboratoire
Mercredi 18:00 - 21:30 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Mathieu Dupuis Activité de cours Mathieu.Dupuis@etsmtl.ca A-4526
01 Simon Colpron Laboratoire scolpron@live.ca



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.
  • 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 ».
  • (optionnel) Interprétation sémantique : « curryfication », expressions lambda, ?-réduction.
  • (optionnel) Techniques d’analyse probabiliste.
  • 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, cadres.
  • 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



Évaluation
Examen intra 35 %
Examen final 35 %
Laboratoires 30 %

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




Double seuil
Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 20 juin 2022



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/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.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par 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 à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen 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 étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-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 les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



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. 3e édition, Pearson Éducation, 2010.
  • RUSSELL, S. J. & P. NORVIG. Artificial intelligence: a modern approach. Pearson Education, 2016.
  • 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.