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

Hiver 2024
LOG635 : Systèmes intelligents et algorithmes (3 crédits)





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 08:30 - 12:00 Activité de cours
Jeudi 13:30 - 15:30 Laboratoire (Groupe A)
Jeudi 15:30 - 17:30 Laboratoire (Groupe B)



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Jose Dolz Activité de cours Jose.Dolz@etsmtl.ca A-3417
01 Aida Meftah Laboratoire (Groupe A) aida.meftah.1@ens.etsmtl.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 ».
  • 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 30 %
Examen final 30 %
Laboratoires 40 %

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.

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 19 février 2024



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
À 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/Etudes/citer-pas-plagier). Les clauses du règlement sur les infractions de nature académique de l’ÉTS (« Règlement ») 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 qui constituent des infractions de nature académique au sens du Règlement ainsi que prendre connaissance des sanctions prévues à cet effet.

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’enseignant(e) 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. 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.