Target level
Baccalaureate +5
ECTS
60 credits
Duration
1 year
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées), Grenoble INP - Ensimag (Informatique, mathématiques appliquées et télécommunications), UGA
Language(s) of instruction
English
Presentation
Semester 9 corresponds to the specialization training, semester 10 consists of a practicum in a company or laboratory of 5 to 7 months, which represents 30 European credit transfer and accumulation system credits.
The scientific objectives are to train students in the foundations and methods of operational research (mathematical programming, graph theory, complexity, stochastic programming, heuristics, approximation algorithms etc) and to prepare students to use and develop these methods to solve complex industrial applications (supply chain, scheduling, transport, revenue management etc) and implement the corresponding software solutions.
Students departing from this course intend to, depending on their preferences :
- Orient themselves towards the research professions (academic or industrial thesis)
- Enter, as a specialist engineer, major research and development services in optimization (SNCF, IBM, Air France, Amadeus etc) or enter consulting firms in optimization (Eurodécision, Artelys etc)
They will also be able to enter less specialized companies by highlighting their ability to methodologically analyse operational problems and thus displaying themselves as potential key elements in the improvement of the company's performance (by linking up with specialized firms or developing in-house methods). In the longer term, students who are oriented towards the industrial world should be able, with their experience in improving company performance and good "business" knowledge, to naturally access decision-making positions at high levels of responsibility.
The course is labelled "Core AI" by MIAI.
Skills
Some teaching units of the program, of common core or labelled research, allow students to acquire organizational skills and skills related to research work :
- Formulate a research problem and propose a solution
- Position a research problem in the scientific literature
- Evaluate and validate a solution to a research problem
- Write a scientific publication
- Communicating the results of research work
- Develop and use mathematical and computer tools
- Communicate in English and French
International education
Internationally-oriented programmes
International dimension
Possibility of doing a double degree with the University of Swansea
Organisation
Program
Specifics of the program
Program under constrcution - awaiting CFVU vote
Select a program
Master 2nd year
UE Advanced models and methods in operations research
6 creditsUE Combinatorial optimization and graph theory
6 creditsUE Optimization under uncertainty
6 creditsUE Constraint Programming, applications in scheduling
3 creditsUE Graphs and discrete structures
3 creditsUE Advanced heuristic and approximation algorithms
3 creditsUE Advanced mathematical programming methods
3 creditsUE Academic and industrial challenges
3 creditsUE Transport Logistics and Operations Research
6 creditsUE Advanced parallel system
6 creditsUE Multi-agent systems
3 creditsUE Fundamentals of Data Processing and Distributed Knowledge
6 creditsUE Scientific Methodology, Regulatory and ethical data usage
6 creditsUE Large scale Data Management and Distributed Systems
6 creditsUE Cryptographic engineering, protocols and security models, data privacy, coding and applications
6 creditsUE From Basic Machine Learning models to Advanced Kernel Learning
6 creditsUE Mathematical Foundations of Machine Learning
3 creditsUE Learning, Probabilities and Causality
6 creditsUE Statistical learning: from parametric to nonparametric models
6 creditsUE Mathematical optimization
6 creditsUE Safety Critical Systems: from design to verification
6 creditsUE Information visualization
3 creditsUE GPU Computing
6 creditsUE Robotics
6 creditsUE Cloud Computing, from infrastructure to applications
6 creditsUE Advanced Machine Learning: Applications to Vision, Audio and Text
6 creditsUE Natural Language Processing & Information Retrieval
6 creditsUE Information Security
6 creditsUE Human Computer Interaction
6 creditsUE Next Generation Software Development
6 credits
UE Practicum
30 credits
Master 2nd Graduate School program
UE GS_MSTIC_Research ethics
6 creditsUE Advanced models and methods in operations research
6 creditsUE Combinatorial optimization and graph theory
6 creditsUE Optimization under uncertainty
6 creditsUE Constraint Programming, applications in scheduling
3 creditsUE Graphs and discrete structures
3 creditsUE Advanced heuristic and approximation algorithms
3 creditsUE Advanced mathematical programming methods
3 creditsUE Academic and industrial challenges
3 creditsUE Transport Logistics and Operations Research
6 credits
UE Practicum
30 credits
UE Advanced models and methods in operations research
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
This course presents advanced methods and technics for Operations Research.
Reminder :
Linear Programming, Dynamic Programming, MIP modelling and BB
Complexity (P, NP, Co-NP)
Advanced MIP :
formulation, cuts, bounds
applications
lagragian relaxation
column generation
Benders decomposition
Solvers
Constraint Programming
Heuristics
local search
approximation algorithms
UE Combinatorial optimization and graph theory
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
The aim of this course is to provide a broad knowledge of fundamental problems in Combinatorial Optimization to show their algorithmic solutions and to derive min-max results on them. In order to achieve this goal a new object called a polyhedron is introduced. This polyhedral approach helps to shed new light on some classic results of Combinatorial Optimization.
Syllabus: Study of polyhedra associated to problems of Combinatorial Optimization ; Theory of blocking polyhedra ; Connectivity: shortest paths, spanning trees and spanning arborescences of minimum weight ; Flows: Edmonds-Karp Algorithm, Goldberg-Tarjan Algorithm, minimum cost flows ; Matchings: Hungarian method, Edmonds' Algorithm, Chinese postman problem; Matroids: greedy algorithm, intersection of two matroids ; Graph coloring ; Applications coming from various areas of Operations Research.
UE Optimization under uncertainty
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
The objective of this course is to present different techniques to handle uncertainty in decision problems. These techniques will be illustrated on several applications e.g. inventory control, scheduling, energy, machine learning.
Syllabus : Introduction to uncertainty in optimization problems; Reminders (probability, dynamic programming, ...); Markov chains; Markov decision processes; Stochastic programming; Robust optimization
UE Constraint Programming, applications in scheduling
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
UE Graphs and discrete structures
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
The aim of this course is to learn how to use the structure of graphs and other discrete objects to obtain general results on them, and in particular efficient algorithms solving important problems.
We will cover the following topics:
- Structural Graph Theory: we will study the structure of important graph classes with nice algorithmic properties (planar graphs, interval graphs, comparability graphs, ...) and show several concrete problems that can be solved thanks to their structural properties.
- Graph Drawing: with the rise of Big Data, representing huge data sets is a fundamental challenge. Efficient ways to represent large graphs will be presented.
- Codes: we will see various codes (dominating, locating, identifying, ...) in graphs and their applications.
- Extremal combinatorics: the typical question in this field is "what global condition do we need to impose in some graph in order to make sure that some nice structure appears locally?" We will introduce a powerful tool called "the probabilistic method", an show how it can be applied to solve problems in this important area of research.
UE Advanced heuristic and approximation algorithms
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
UE Advanced mathematical programming methods
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
UE Academic and industrial challenges
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
This course offers the possibility for the students to gain some experience by facing open/difficult combinatorial problems.
The goal is to model and solve a combinatorial problem with direct industrial applications. We expect the students to take a variety of approaches (local search, compact/extended linear programming formulations, constraint programming, ...) and establish useful results (lower bounds, cuts, complexity,...).
The experimental results will be compared to the litterature (a known academic open benchmark will be available in this case) or will be validated by the industrial partner.
UE Transport Logistics and Operations Research
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
UE Advanced parallel system
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
Today, parallel computing is omnipresent across a large spectrum of computing platforms, from processor cores or GPUs up to Supercomputers and Cloud platforms. The largest Supercomputers gather millions of processing units and are heading towards Exascale (a quintillion or 10^18 flops - http://top500.org). If parallel processing was initially targeting scientific computing, it is now part of many domains like Big Data analytics and Deep Learning. But making an efficient use of these parallel resources requires a deep understanding of architectures, systems, parallel programming models, and parallel algorithms.
Overview:
The class is organized around weekly lectures, discussions and help time. The presented materials that will be available each week on the class web page. To get practical experience and good understanding of the main concepts the students are expected to develop short programs and experiments. Students will also have to prepare a presentation or a written report on research articles. Students will have access to Grid'5000 parallel machines and the SimGrid simulator for experiments.
This class is organized around 2 main blocks:
Overview of parallel systems:
-
- Introduction to parallelism from GPU to supercomputers.
- Hardware and system considerations for parallel processing (multi-core architectures, process and thread handling, cache efficiency, remote data access, atomic instructions)
- Parallel programming: message passing, one-sided communications, task-based programming, work stealing based runtimes (MPI, Cilk, TBB, OpenMP).
- Modeling of parallel programs and platforms. Locality, granularity, memory space, communications.
- Parallel algorithms, collective communications, topology aware algorithms.
- Scheduling: list algorithms; partitioning techniques. Application to resource management (PBS, LSF, SGE, OAR).
- Large scale scientific computing: parallelization of Lagrangian and Eulerian solvers, parallel data analytics and scientific visualization.
- AI and HPC: how parallelism is used at different levels to accelerate machine learning and deep learning using supercomputers.
Functional parallel programming:
We propose to study a clean and modern approach to the design of parallel algorithms: functional programming. Functional languages are known to provide a different and cleaner programming experience by allowing a shift of focus from "how to do" on "what to do".
If you take for example a simple dot product between two vectors. In c language you might end up with:
unsigned int n = length(v1); double s = 0.0; for (unsigned int i = 0 ; i < n ; i++) { s += v1[i] * v2[i]; }
In python however you could write:
return sum(e1*e2 for e1, e2 in zip(v1, v2))
You can easily notice that the c language code displayed here is highly sequential with a data-flow dependence on the i variable. It intrinsically contains an ordering of operations because it tells you how to do things to obtain the final sum. On the other end the python code exhibits no dependencies at all. It does not tell you how to compute the sum but just what to compute: the sum of all products.
In this course we will study how to express parallel operations in a safe and performant way. The main point is to study parallel iterators and their uses but we will also consider classical parallel programming schemes like divide and conquer. We will both study the theoretical complexity of different parallel algorithms and practice programming and performance analysis on real machines.
All applications will be developed in the RUST programming language around the Rayon parallel programming library.
No previous knowledge of the rust language is required as we will introduce it gradually during the course. You need however to be proficient in at least one low level language (typically C or C++)
UE Multi-agent systems
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
Multi-agent systems (MAS) is a very active field of AI research, with multiple industrial and societal applications. The 2 main fields of application concern Distributed Problem Solving (DPS) and Agent-Based Modelling and Simulation (ABMS). The goal of this course is to understand the concepts of agents, multi-agent systems, models and simulations, and to learn how to design such models.
This course introduces the field of MAS, various theoretical aspects (agent architectures, reasoning, interactions, game theory, social choice, etc), as well as practical applications from recent research. The focus is mostly on agent-based social simulation, and how to integrate psychological aspects in agents (so-called “human factors”: emotions, biases…) to make them more human-like and realistic. Applications discussed include epidemics modelling, computational economy, crisis management, urban planning, serious games, etc. The practical part of the course comprises several tutorials with various agent-based modelling platforms (in particular GAMA and Netlogo), scientific papers discussions, and analysis and/or extension of existing models.
UE Fundamentals of Data Processing and Distributed Knowledge
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
Modern computing increasingly takes advantage of large amounts of distributed data and knowledge. This is grounded on theoretical principles borrowing to several fields of computer science such as programming languages, data bases, structured documentation, logic and artificial intelligence. The goal of this course is to present some of them, the problems that they solve and those that they uncover. The course considers two perspectives on data and knowledge: interpretation (what they mean), analysis (what they reveal) and processing (how can they be traversed efficiently and transformed safely).
The course offers a semantic perspective on distributed knowledge. Distributed knowledge may come from data sources using different ontologies on the semantic web, autonomous software agents learning knowledge or social robots interacting with different interlocutors. The course adopts a synthetic view on these. It first presents principles of the semantics of knowledge representation (RDF, OWL). Ontology alignments are then introduced to reduce the heterogeneity between distributed knowledge and their exploitation for answering federated queries is presented. A practical way for cooperating agents to evolve their knowledge is cultural knowledge evolution that is then illustrated. Finally, the course defines dynamic epistemic logics as a way to model the communication of knowledge and beliefs.
The course also introduces a perspective on programming language foundations, algorithms and tools for processing structured information, and in particular tree-shaped data. It consists in an introduction to relevant theoretical tools with an application to NoSQL (not only SQL) and XML technologies in particular. Theories and algorithmic toolboxes such as fundamentals of tree automata and tree logics are introduced, with applications to practical problems found for extracting information. Applications include efficient query evaluation, memory-efficient validation of document streams, robust type-safe processing of documents, static analysis of expressive queries, and static type-checking of programs manipulating structured information. The course also aims at presenting challenges, important results, and open issues in the area.
UE Scientific Methodology, Regulatory and ethical data usage
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
The course aims to provide the fundamental basis for a sound scientific methodology of experimental evaluation in computer science. This lecture emphasizes on methodological aspects of measurement and on the statistics needed to analyze computer systems, human-computer interaction systems, and machine learning systems. We first sensibilize the audience to reproducibility issues related to empirical research in computer science as well as to ethical and scientific integrity aspects. Then we present tools that help address the aforementioned issues and we give the audience the basis of probabilities and statistics required to develop sound experiment designs. The content of the lecture is therefore both theoretical and practical, illustrated by a lot of case studies and practical sessions. The goal is not to provide analysis recipes or techniques that researchers can blindly apply but to make students develop critical thinking and understand some simple (and possibly not-so-simple) tools so that they can both readily use and explore later on.
UE Large scale Data Management and Distributed Systems
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
The course is divided in two complementary parts: distributed systems and data management.
Part 1: Distributed systems
Summary
Distributed systems are omnipresent. They are formed by a set of computing devices, interconnected by a network, that collaborate to perform a task. Distributed systems execute on a wide range of infrastructures: from Cloud datacenters to wireless sensor networks.
The goal of this course is to study the main algorithms used at the core of Distributed systems. These algorithms must be efficient and robust. An algorithm is efficient when it sustains a high level of performance. Performance can be measured using various metrics such as throughput, latency, response time. An algorithm is robust when it is able to operate despite the occurrence of various types of (network and/or machine) and attacks.
Content
During the course, we will cover several topics that are listed below:
- Event-driven formalisms for distributed algorithms
- Basic abstractions: processes, links
- Failure detector algorithms
- Leader election algorithms
- Broadcasting algorithms
- Distributed shared memory algorithms
- Consensus algorithms
- Epidemic algorithms
- Performance models for distributed systems
Part 2: Data management
Summary
The ability to process large amounts of data is key to both industry and research today. As computing systems are getting larger, they generate more data that need to be analyzed to extract knowledge.
Data management infrastructures are growing fast, leading to the creation of large data centers and federations of data centers. Suitable software infrastructures should be used to store and process data in this context. Big Data software systems are built to take advantage of a large set of distributed resources to efficiently process massive amounts of data while being able to cope with failures that are frequent at such a scale.
In addition to the amount of data to be processed, the other main challenge that such Big Data systems need to deal with is time. For some use cases, the earlier the results of a data analysis is obtained, the more valuable the result is. Some Big Data systems especially target stream processing where data are processed in real time.
Through lectures and practical sessions, this course provides an overview of the software systems that are used to store and process data at large scale. The following topics will be covered:
- Map-Reduce programming model
- In-memory data processing
- Stream processing (data movement and processing)
- Large scale distributed data storage (distributed file systems, NoSQL databases)
Throughout the lectures, the challenges associated with performance and fault tolerance will also be discussed.
UE Cryptographic engineering, protocols and security models, data privacy, coding and applications
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
The course present the main cryptographic primitives and security protocols, focusing on security parameters and properties.
Pedagogical goals:
- generic cryptographic primitives: one-way, trap-door and hash functions; random generators; symmetric and assymertic cipher; interactive protocols;
- security properties : complexity and reduction proofs; undistinguidhability; non-malleability; soundness, completeness and zero-knowledge; confidentiality; authentication; privacy; non-repudiation
- use, deployment and integration of protocols in standard crypro lib (eg open-ssl)
- security proofs : fundations and verufucation based on tools (eg avispa)
UE From Basic Machine Learning models to Advanced Kernel Learning
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
Statistical learning is about the construction and study of systems that can automatically learn from data. With the emergence of massive datasets commonly encountered today, the need for powerful machine learning is of acute importance. Examples of successful applications include effective web search, anti-spam software, computer vision, robotics, practical speech recognition, and a deeper understanding of the human genome. This course gives an introduction to this exciting field. In the first part, we will introduce basic techniques such as logistic regression, multilayer perceptrons, nearest neighbor approaches, both from a theoretical and methodological point of views. In the second part, we will focus on more advanced techniques such as kernel methods, which is a versatile tool to represent data, in combination with (un)supervised learning techniques that are agnostic to the type of data that is learned from. The learning techniques that will be covered include regression, classification, clustering and dimension reduction. We will cover both the theoretical underpinnings of kernels, as well as a series of kernels that are important in practical applications. Finally we will touch upon topics of active research, such as large-scale kernel methods and the use of kernel methods to develop theoretical foundations of deep learning models.
UE Mathematical Foundations of Machine Learning
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
Machine Learning is one of the key areas of Artificial Intelligence and it concerns the study and the development of quantitative models that enables a computer to perform tasks without being explicitly programmed to do them. Learning in this context is hence to recognize complex forms and to make intelligent decisions. Given all existing entries, the difficulty of this task lies in the fact that all possible decisions is usually very complex to enumerate. To get around that, machine learning algorithms are designed in order to gain knowledge on the problem to be addressed based on a limited set of observed data extracted from this problem. To illustrate this principle, consider the supervised learning task, where the prediction function, which infers a predicted output for a given input, is learned over a finite set of labeled training examples, where each instance of this set is a pair constituted of a vector characterizing an observation in a given vector space, and an associated desired response for that instance (also called desired output). After the training step, the function returned by the algorithm is sought to give predictions on new examples, which have not been used in the learning process, with the lowest probability of error. The underlying assumption in this case is that the examples are, in general, representative of the prediction problem on which the function will be applied. We expect that the learning algorithm produces a function that will have a good generalization performance and not the one that is able to perfectly reproduce the outputs associated to the training examples. Guarantees of learnability of this process were studied in the theory of machine learning largely initiated by Vladimir Vapnik. These guarantees are dependent on the size of the training set and the complexity of the class of functions where the algorithm searches for the prediction function. Emerging technologies, particularly those related to the development of Internet, reshaped the domain of machine learning with new learning frameworks that have been studied to better tackle the related problems. One of these frameworks concerns the problem of learning with partially labeled data, or semi-supervised learning, which development is motivated by the effort that has to be made to construct labeled training sets for some problems, while large amount of unlabeled data can be gathered easily for these problems. The inherent assumption, in this case, is that unlabeled data contain relevant information about the task that has to be solved, and that it is a natural idea to try to extract this information so as to provide the learning algorithm more evidence. From these facts were born a number of works that intended to use a small amount of labeled data simultaneously with a large amount of unlabeled data to learn a prediction function.
The intent of this course is to propose a broad introduction to the field of Machine Learning, including discussions of each of the major frameworks, supervised, unsupervised, semi-supervised and reinforcement learning.
UE Learning, Probabilities and Causality
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
Causality is at the core of our vision of the world and of the way we reason. It has long been recognized as an important concept and was already mentioned in the ancient Hindu scriptures: “Cause is the effect concealed, effect is the cause revealed”. Even Democritus famously proclaimed that he would rather discover a causal relation than be the king of presumably the wealthiest empire of his time. Nowadays, causality is seen as an ideal way to explain observed phenomena and to provide tools to reason on possible outcomes of interventions and what-if experiments, which are central to counterfactual reasoning, as ‘‘what if this patient had been given this particular treatment?’’
UE Statistical learning: from parametric to nonparametric models
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
This course is related to mathematical and statistical methods which are very used in supervised learning.
It contains two parts.
In the first part, we will focus on parametric modeling. Starting with the classical linear regression, we will describe several families of estimators that work when considering high-dimensional data, where the classical least square estimator does not work. Model selection and model assessment will particularly be described.
In the second part, we shall focus on nonparametric methods. We will present several tools and ingredients to predict the future value of a variable. We shall focus on methods for non parametric regression from independent to correlated training dataset. We shall also study some methods to avoid the overfitting in supervised learning.
This course will be followed by practical sessions with the R software.
UE Mathematical optimization
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
UE Safety Critical Systems: from design to verification
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées), Grenoble INP - Ensimag (Informatique, mathématiques appliquées et télécommunications), UGA
Semester
Automne
UE Information visualization
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
Interactive Information Visualization (InfoVis)
InfoVis is the study of interactive graphical representations of abstract data (e.g. graphs linking people in social networks, series of stock options values evolving over time).
Graphical representations are a powerfull way to leverage the human perceptual capabilities to allow the user to explore and make sense of abstract data, and also to expose findings and convey ideas.
But to be efficient, a visualization has to be designed using knowledge about the human visual perception, the characteristics of the data, the kind of task that will be performed on those data.
The aim of this course is to provide the keys, both theoretical and practical, to build usable and useful interactive visualizations.
program summary:
- foundations: human visual perception, graphical variables, data types, the visualization pipeline.
- linked data: tree and graph visualization
- tabular data: time series and spatial data visualization
- dealing with large data: aggregation, multiple views, interaction
- validating visualization: visualization tasks, evaluation
UE GPU Computing
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
In this course, we will introduce parallel programming paradigms to the students in the context of applied mathematics. The students will learn to identify the parallel pattern in numerical algorithm. The key components that the course will focus on are : efficiency, scalability, parallel pattern, comparison of parallel algorithms, operational intensity and emerging programming paradigm. Trough different lab assignments, the students will apply the concepts of efficient parallel programming using Graphic Processing Unit. In the final project, the students will have the possibility to parallelize one of their own numerical application developed in a previous course.
UE Robotics
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
A robot is a mechatronic system with perception, decision and action capabilities design to perform in an autonomous way different tasks in the real world. Whatever the robot (e.g. mobile robot, industrial arm, mobile manipulator) and the task that it has been assigned, the robot will have to move (move its whole body or a part of its body, e.g. arm, hand). Accordingly, motion autonomy is an essential skill for a robot. To achieve motion autonomy, it is required to solve a number of challenging problems in areas as diverse as sensor data processing, situation understanding, motion planning, obstacle avoidance and control. The purpose of the course is to present the main concepts, tools and techniques that Roboticists have developed in the past fifty years in order to address these challenges. The course has three parts that focus on different aspects: The first part is about robot state estimation and world modeling. It presents the most popular approaches to perform state estimation. The basic equations of the Bayes filter are derived first. Then, the Extended Kalman Filter is introduced. These methods are then used to explore the following fundamental estimation problems: 1) robot localization, 2) Simultaneous Localization and Mapping (SLAM), 3) cooperative localization, and 4) simultaneous localization and self-calibration. The structural properties of these problems are studied. In particular, it is shown how the computational complexity scales with the size of the state. Finally, more theoretical aspects related to estimation with special focus on state observability are discussed. The second part focuses on the decision-making aspects. Motion planning is addressed first in the seminal configuration space framework, the main configuration space-based motion planning techniques are reviewed. Then, to deal with the uncertainty of the real world and the discrepancy between the world and its model, reactive collision avoidance techniques are presented. Finally, motion safety is formally studied thanks to the Inevitable Collision State concept. The third part is an introduction to control theory for articulated robots. The objectives are to understand basic concepts about the kinematics and dynamics of articulated robots and basic control theory in order to approach classical control methods, as well as a few selected advanced topics. The kinematics of articulated robots is introduced first, covering advanced topics such as singularities, hierarchies of objectives, inequality constraints. A brief reminder about Newton, Euler and Lagrangian equations of motion as well as basic Lyapunov stability theory is also provided before discussing standard motion control schemes such as Proportional-Derivative, Computed Torque, Operational Space and Task Function approaches. Advanced topics such as space robots, biped robots, Viability theory and optimal control are also touched.
UE Cloud Computing, from infrastructure to applications
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
This course provides an overview of cloud computing principles, building blocks and applications.
Over the past 15 years, the emergence of cloud computing infrastructures has fundamentally impacted the way to design and deploy software, in most application domains. At the core of IT infrastructures, cloud computing is today the main platform for implementing and deploying robust, scalable, potentially geo-distributed, elastic applications. Together with DevOps methods, it allows IT companies to rapidly deliver reliable software.
The course studies :
- The low-level mechanisms enabling the cost-efficiency, performance, scalability and resilience of cloud infrastructures,
- The software design principles involved in the construction of (distributed) cloud applications,
- The cloud services facilitating the implementation of cloud-native applications.
Through lectures, practical sessions, and the study of recent research publications (from academia and industry), students will learn about the core principles and usage of:
- Virtualization technologies (hypervisors, kernels, and containers) enabling flexible, efficient, safe and secure hosting of code and data on a shared hardware and software infrastructure;
- The fundamental aspects of cloud infrastructures, services, and design patterns for the construction of efficient, scalable and resilient distributed applications;
- Microservice architectures, allowing organizations to design, develop and manage complex software services in an extremely modular way.
UE Advanced Machine Learning: Applications to Vision, Audio and Text
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
The course is split into two parts. During the first part, a wide range of machine learning algorithms will be discussed. The second part will focus on deep learning, and presentations more applied to the three data modalities and their combinations. The following is a non-exhaustive list of topics discussed:
- Computing dot products in high dimension & Page Rank
- Matrix completion/factorization (Stochastic Gradient Descent, SVD)
- Monte-carlo, MCMC methods: Metropolis-Hastings and Gibbs Sampling
- Unsupervised classification: Partitionning, Hierarchical, Kernel and Spectral clustering
- Alignment and matching algorithms (local/global, pairwise/multiple), dynamic programming, Hungarian algorithm,…
- Introduction to Deep Learning concepts, including CNN, RNN, Metric learning
- Attention models: Self-attention, Transformers
- Auditory data: Representation, sound source localisation and separation.
- Natural language data: Representation, Seq2Seq, Word2Vec, Machine Translation, Pre-training strategies, Benchmarks and evaluation
- Visual data: image and video representation, recap of traditional features, state-of-the-art neural architectures for feature extraction
- Object detection and recognition, action recognition.
- Multimodal learning: audio-visual data representation, multimedia retrieval.
- Generative Adversarial Networks: Image-image translation, conditional generation
UE Natural Language Processing & Information Retrieval
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
The automatic processing of languages, whether written or spoken, has always been an essential part of artificial intelligence. This domain has encouraged the emergence of new uses thanks to the arrival in the industrial field of many technologies from research (spell-checkers, speech synthesis, speech recognition, machine translation, …). In this course, we present the most recent advances and challenges for research. We will discuss discourse analysis whether written or spoken, text clarification, automatic speech transcription and automatic translation, in particular recent advances with neural models.
Information access and retrieval is now ubiquitous in everyday life through search engines, recommendation systems, or technological and commercial surveillance, in many application domains either general or specific like health for instance. In this course, we will cover Information retrieval basics, information retrieval evaluation, models for information retrieval, medical information retrieval, and deep learning for multimedia indexing and retrieval
UE Information Security
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
This lecture deals with Information Systems Security and provides several facets, ranging from modeling to deployment in real applications. Information Systems Security refers to the processes and methodologies involved to keep information confidential, available, and assure its integrity. The lecture is divided in two major parts and assisted with several practical labs, allowing the students to model and configure security policies and also to be aware about several kinds of attacks and breaches.
Course content
Part 1: Access Control, or how to prevent unauthorized people from entering or accessing a system?
This part deals with:
- Cryptology for authentication and trust;
- security needs : confidentiality, availability, integrity, non-repudiation (CAI/DICP);
- cryptology primitives : private and public key ; trusted infrastructure (PKI and ledgers).
- zero-knowledge protocols; secret sharing and multiparty computation / or Practical work with Open SSL
- Access control mechanisms (MAC, DAC, RBAC, ABAC) and their implementations
- The detection and remediation of security breaches such as intrusions and insider attacks
- The deployment of control filters in applications and proxies.
The presented approach is built on the model-driven security paradigm (MDS). It refers to the process of modeling security requirements at a high level of abstraction, and generating technical security implementations. Security models are transformed into enforceable security rules including the run-time security management (e.g. entitlements/authorisations). Three labs are planned:
- B4MSecure: we will apply a formal language with animation and model-checking facilities to identify security breaches in Access Control policies.
- Snort: in this practical session you will set a local environment to simulate two machines, the target machine and the attacker. You will learn how to create firewall rules, monitor your network and how to react when an attack is detected.
- Metasploit: you will discover technology intelligence for vulnerabilities through a practical session where you will reproduce an exploit to hack and take control over a web-based server.
Part 2: Overview of modern attacks on systems, protocols, and networks and countermeasures
This part is devoted to modern attacks carried out on the Internet scale, in particular attacks on the DNS system (Domain Name System), such as cache or zone poisoning attacks, reflection and amplification of DDoS attacks (Distributed Denial of Service), IP spoofing - the root cause of DDoS attacks, botnets (e.g., Mirai), domain generation algorithms used for command-and-control communications, modern malware (e.g., Emotet trojan, Avalanche), spam, phishing, and business email compromise (BEC) scams.
The module will discuss preventative measures and security protocols to fight modern attacks, such as DDoS protection services, IP source address validation (SAV) known as BCP 38, Sender Policy Framework, and DMARC protocols as the first line of defense against email spoofing and BEC fraud, and DNSSEC to prevent DNS manipulation attacks. It will also discuss large-scale vulnerability measurements (a case study of the zone poisoning attack) and the challenges of deploying current security technologies by the system and network operators.
This part will be concluded with a practical team assignment in which students will be divided into groups and will have to configure a secure system in a real-world environment. The goal is to secure their system against the various types of discussed attacks and exploit other groups' systems.
UE Human Computer Interaction
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées), Grenoble INP - Ensimag (Informatique, mathématiques appliquées et télécommunications), UGA
Semester
Automne
UE Next Generation Software Development
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées), Grenoble INP - Ensimag (Informatique, mathématiques appliquées et télécommunications), UGA
Semester
Automne
UE Practicum
Level
Baccalaureate +5
ECTS
30 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Printemps
UE GS_MSTIC_Research ethics
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
UE Advanced models and methods in operations research
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
This course presents advanced methods and technics for Operations Research.
Reminder :
Linear Programming, Dynamic Programming, MIP modelling and BB
Complexity (P, NP, Co-NP)
Advanced MIP :
formulation, cuts, bounds
applications
lagragian relaxation
column generation
Benders decomposition
Solvers
Constraint Programming
Heuristics
local search
approximation algorithms
UE Combinatorial optimization and graph theory
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
The aim of this course is to provide a broad knowledge of fundamental problems in Combinatorial Optimization to show their algorithmic solutions and to derive min-max results on them. In order to achieve this goal a new object called a polyhedron is introduced. This polyhedral approach helps to shed new light on some classic results of Combinatorial Optimization.
Syllabus: Study of polyhedra associated to problems of Combinatorial Optimization ; Theory of blocking polyhedra ; Connectivity: shortest paths, spanning trees and spanning arborescences of minimum weight ; Flows: Edmonds-Karp Algorithm, Goldberg-Tarjan Algorithm, minimum cost flows ; Matchings: Hungarian method, Edmonds' Algorithm, Chinese postman problem; Matroids: greedy algorithm, intersection of two matroids ; Graph coloring ; Applications coming from various areas of Operations Research.
UE Optimization under uncertainty
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
The objective of this course is to present different techniques to handle uncertainty in decision problems. These techniques will be illustrated on several applications e.g. inventory control, scheduling, energy, machine learning.
Syllabus : Introduction to uncertainty in optimization problems; Reminders (probability, dynamic programming, ...); Markov chains; Markov decision processes; Stochastic programming; Robust optimization
UE Constraint Programming, applications in scheduling
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
UE Graphs and discrete structures
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
The aim of this course is to learn how to use the structure of graphs and other discrete objects to obtain general results on them, and in particular efficient algorithms solving important problems.
We will cover the following topics:
- Structural Graph Theory: we will study the structure of important graph classes with nice algorithmic properties (planar graphs, interval graphs, comparability graphs, ...) and show several concrete problems that can be solved thanks to their structural properties.
- Graph Drawing: with the rise of Big Data, representing huge data sets is a fundamental challenge. Efficient ways to represent large graphs will be presented.
- Codes: we will see various codes (dominating, locating, identifying, ...) in graphs and their applications.
- Extremal combinatorics: the typical question in this field is "what global condition do we need to impose in some graph in order to make sure that some nice structure appears locally?" We will introduce a powerful tool called "the probabilistic method", an show how it can be applied to solve problems in this important area of research.
UE Advanced heuristic and approximation algorithms
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
UE Advanced mathematical programming methods
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
UE Academic and industrial challenges
Level
Baccalaureate +5
ECTS
3 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
This course offers the possibility for the students to gain some experience by facing open/difficult combinatorial problems.
The goal is to model and solve a combinatorial problem with direct industrial applications. We expect the students to take a variety of approaches (local search, compact/extended linear programming formulations, constraint programming, ...) and establish useful results (lower bounds, cuts, complexity,...).
The experimental results will be compared to the litterature (a known academic open benchmark will be available in this case) or will be validated by the industrial partner.
UE Transport Logistics and Operations Research
Level
Baccalaureate +5
ECTS
6 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Automne
UE Practicum
Level
Baccalaureate +5
ECTS
30 credits
Component
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Semester
Printemps
Admission
Access conditions
The second year master's is accessible to candidates according to their transcripts (and/or interview) :
- Having validated the first year of a compatible course - or by validating studies or acquired experience according to the conditions determined by the university or the training
Public continuing education : You are in charge of continuing education :
- if you resume your studies after 2 years of interruption of studies
- or if you followed a formation under the regime formation continues one of the 2 preceding years
- or if you are an employee, job seeker, self-employed
If you do not have the diploma required to integrate the training, you can undertake a validation of personal and professional achievements (VAPP)
Candidature / Application
Do you want to apply and register? Note that the procedure differs depending on the degree considered, the degree obtained, or the place of residence for foreign students.
Prerequisites
Language requirements :
-
Students are required to provide evidence of Competence in English.
English scores required for the MSIAM, programs: TOEFL IBT 78, CBT 210, Paper 547 / TOEIC 700 / Cambridge FCE / IELTS 6.0 min.
This is equivalent to CEFR level B2.If you have successfully completed a degree (or equivalent) course at a University in one of the following countries then you meet the English requirement automatically: Australia, Canada, Guyana, Ireland, New Zealand, South Africa, United Kingdom, United States of America, West Indies.
And after
Further studies
This program allows students to write a thesis. Its strong industrial basis especially allows students to find industrial theses with very good conditions (CIFRE, contract...)
Sector(s)
- Operational research engineer
- Logistics engineering engineer
- Optimization development engineer
- R&D engineer in operations research
- Teacher/researcher in operational and combinatorial research