École Privée d’Ingénierie du Niger — L’école du nouveau monde

✉ elearning@epiniger.edu.ne    🌐 epiniger.edu.ne

Unité d’enseignement : CYB · S3 · UE2 — Science fondamentale

  • Recherche opérationnelle 1

    La recherche opérationnelle (RO) regroupe les méthodes mathématiques qui aident à prendre la meilleure décision possible sous contraintes : combien produire, comment mélanger des matières premières, comment répartir un budget ou des heures de travail. Pour un futur administrateur systèmes et réseaux orienté sécurité, ces méthodes servent aussi à dimensionner des infrastructures, à répartir un budget de sécurité ou à planifier des équipes de supervision (SOC). Ce premier cours (semestre 3) est consacré à la programmation linéaire : modélisation, résolution graphique, algorithme du simplexe, dualité et analyse de sensibilité, avec une initiation au logiciel LINDO. La suite (semestre 4) traitera la programmation en nombres entiers, les problèmes de réseaux et de flots.

    Objectifs d’apprentissage

    • Reconnaître les structures courantes de problèmes de décision (production, mélange, choix de médias, placements financiers).
    • Formuler un programme linéaire : variables de décision, fonction objectif, contraintes, conditions de non-négativité.
    • Résoudre graphiquement un programme linéaire à deux variables et identifier les cas particuliers (solution multiple, non bornée, impossible).
    • Appliquer l’algorithme du simplexe sous forme de tableaux et en interpréter chaque itération.
    • Écrire le dual d’un programme linéaire, interpréter les prix duaux (prix fantômes) et les intervalles de sensibilité, en connaître les limites.
    • Saisir un modèle dans LINDO et lire son rapport de résolution.

    Prérequis

    Mathématiques de première année : équations et inéquations linéaires, représentation graphique de droites, systèmes d’équations, notions de matrices. Pratique élémentaire d’un tableur.

    Plan du cours

    1. Leçon 1 — Modélisation et formulation de programmes linéaires
    2. Leçon 2 — Résolution graphique et cas particuliers
    3. Leçon 3 — L’algorithme du simplexe
    4. Leçon 4 — Dualité, analyse de sensibilité et initiation à LINDO

    Modalités d’évaluation

    Volume horaire : 13 h de cours magistral (CM), 7 h de travaux dirigés (TD), 0 h de travaux pratiques, 20 h de travail personnel de l’étudiant (TPE) ; 2 crédits. Évaluation : contrôle continu (40 % : interrogations écrites en TD, un devoir de modélisation à rendre) et examen terminal écrit de 2 heures (60 %) comportant une formulation de problème, une résolution par le simplexe et une question d’interprétation de sensibilité.

    Bibliographie

    • F. S. Hillier, G. J. Lieberman, Introduction to Operations Research, McGraw-Hill.
    • W. L. Winston, Operations Research: Applications and Algorithms, Duxbury Press.
    • H. A. Taha, Operations Research: An Introduction, Pearson Prentice Hall.
    • V. Chvátal, Linear Programming, W. H. Freeman, 1983.
    • D. de Werra, T. M. Liebling, J.-F. Hêche, Recherche opérationnelle pour ingénieurs, tome I, Presses polytechniques et universitaires romandes.
  • Théorie des langages 1

    La théorie des langages est le socle formel de l’analyse lexicale et syntaxique, de la compilation, de la recherche de motifs et de la validation des données. Ce cours de deuxième année (S3) de la Licence Professionnelle en Informatique, option Cybersécurité, en présente la première partie : notions fondamentales (mots, langages, opérations, grammaires, hiérarchie de Chomsky, propriétés de fermeture) puis langages réguliers et automates à états finis. Les exemples sont reliés aux usages professionnels : analyseurs lexicaux, signatures d’IDS, validation d’entrées par liste blanche, politiques de mots de passe. La suite (S4) traitera des langages algébriques, des automates à pile et des machines de Turing.

    Objectifs d’apprentissage

    • Manipuler les notions de mot, de langage et les opérations sur les langages.
    • Définir une grammaire syntagmatique, effectuer des dérivations et classer une grammaire dans la hiérarchie de Chomsky.
    • Utiliser les propriétés de fermeture des langages réguliers et algébriques.
    • Construire des automates finis (AFD, AFN, ε-AFN), les transformer et les déterminiser.
    • Passer d’une expression régulière à un automate et inversement, minimiser un AFD.
    • Démontrer qu’un langage n’est pas régulier avec le lemme de l’étoile.

    Prérequis

    Notions de base de logique et de théorie des ensembles (union, intersection, relations, récurrence), algorithmique de première année.

    Plan du cours

    1. Alphabets, mots, langages et opérations
    2. Grammaires syntagmatiques, hiérarchie de Chomsky et propriétés de fermeture
    3. Automates à états finis : définitions, variantes et déterminisation
    4. Expressions régulières, minimisation et langages réguliers

    Modalités d’évaluation

    Volume horaire : 13 h de cours magistral, 7 h de travaux dirigés, 20 h de travail personnel (2 crédits). Évaluation : contrôle continu (quiz en ligne, exercices de TD rendus) et examen terminal écrit (constructions d’automates, dérivations, preuves courtes).

    Bibliographie

    • John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, Pearson (Addison-Wesley).
    • Michael Sipser, Introduction to the Theory of Computation, Cengage Learning.
    • Olivier Carton, Langages formels, calculabilité et complexité, Vuibert, 2008.
    • Pierre Wolper, Introduction à la calculabilité, Dunod.
    • Alfred Aho, Monica Lam, Ravi Sethi, Jeffrey Ullman, Compilateurs : principes, techniques et outils, Pearson Education.