Artificial Intelligence
MINES Saint-Etienne

General description

Context and motivation

The digital world opens many challenges that concern, automated reasoning on the accessible sources of heterogeneous data, and the management of the complexity, heterogeneity and dynamics of the systems operating in this world by increasing their decision autonomy. Currently, Artificial Intelligence (AI) is one of the pillars of computer science that offers models, methods and generic technologies to tackle these challenges.

AI ​​is a domain in which sources of inspiration from different fields (biology, economics, computer science, etc.) are put in synergy. Beyond this multidisciplinary approach, this area is a source of open-mindedness for every generalist engineer. Moreover, AI ​​is a producer of field techniques and technologies that are increasingly used in the industrial world in multiple applications (banking, logistics, games, medicine, education, robotics, defense, etc.).

Educational objectives

This AI course follows a pragmatic approach which faces the problem solving and the design of intelligent systems, and is many based on the renown AIMA book from Russell & Norvig1.

The AI course aims at making accessible the ideas that have emerged over the last 50 years of application of AI techniques (few formalism, pseudo-code) and show how these ideas are disseminated in current computer systems. It also expose the multi-disciplinary nature of the disciplines at the intersection of many disciplines and techniques which are applicable in many areas.

The students will understand and master the theories and technologies to develop intelligent agents, i.e. systems with (i) problem solving, (ii) reasoning and (iii) learning capabilities to perceive and act in an open and complex world. They will also learn what are the application and impact of such techniques in different domains. They will master tools and methodologies to integrate different approaches and develop intelligent systems.


The AI course (GP) is 160h-long and is divided in 9 units (UP) over 2 semesters:

  • Semester 1:
    • UP1 – AI Society I (Overview and visions) [9h]
    • UP2 – AI Basics I (Problem Solving) [18h]
    • UP3 – AI Basics II (Knowledge Representation and Reasoning) [21h]
    • UP4 – AI Practice and Technos I (Simulation and Artificial Life) [15h]
    • UP5 – AI Practice and Technos II (Advanced Reasoning) [15h]
  • Semester 2:
    • UP6 – AI Society II (Issues, Impacts and Applications) [9h]
    • UP7 – AI Basics III (Machine Learning) [30h]
    • UP8 – AI Practice and Technos III (Interacting with humans and real world) [15h]
    • UP9 – AI Practice and Technos IV (Integrating and Engineering Intelligent Systems) [24h]

Sorry, your browser does not support SVG.

Figure 1: Grain organization

Each unit consists in several atomic grains (AG) which correspond to one or two chapters of AIMA or other text book/lecture notes. Every AG (except some introductory or integration grains) is implemented using the following scheme (cf. Figure above) : reading → lecture → tutorial → reading/homework → tutorial → pratical work → etc.


Students should have prior skills in algorithmics, procedural programming, object-oriented programming and logics. Python and Java programming languages will be used.


Students will be evaluated using 2 terms:

  • Continuous evaluation using homework or exercises developed during/between tutorials
  • review of reports about chosen topics

UP1 (Overview)

The introduction presents an historical overview, sharing a will to make systems that are recognized as "intelligent agents" by their ability to provide adequate responses to complex situation decisions. This area is decomposed into multiple sub-disciplines of computer science, as we shall see throughout the module. These areas relate to various aspects of "intelligence": solve, reason, learn, decide and cooperate. We also identify societal, industrial and human perspectives related to the development of these technologies. We will discuss and highlight ethical issues related to the growing presence of AI in everyday life. Finally, key applications of the IA will be discussed and presented at seminars by specialized speakers, from the industrial or academic world.

Introduction (3h)

This introduction shows a historical overview where we share a will to make systems that are recognized as "intelligent agents" by their ability to make an adequate response to complex situation decisions. This area is decomposed into multiple sub-disciplines of computer science, as we shall see throughout the module. These areas relate to various aspects of "intelligence": solve, reason, learn, decide and cooperate.

  • Slides Slides
  • References: Chapters 1-2 of AIMA
  • Duration: 3h
  • Mode: Lecture (3h)

Seminars (6h)

These collection of seminars will focus on AI history, AI in society and Ethics

  • Duration: 4 x 1h30
  • Mode: Seminar (1h + 30 min discussion)
  • Evaluation : Report on a chosen AI-related topics

UP2 (Solving)

This modules focuses on automatic decision methods for deciding which actions to carry out when it is necessary to think of several moves in advance, since a single action is not enough to achieve the objective, as in a game of chess. The module is divided into 3 sections :

  • Solving Problems by Searching (DFS, BFS, A*, Optimization)
  • Adversarial Search (minimax, alpha-beta)
  • Constraint Satisfaction Problems (CSP, COP, backtrack , propagation, arc-consistency)

Solving Problems by Searching (6h)

This chapter describes one kind of goal-based agent called a problem-solving agent. Problem-solving agents use atomic representations –that is, states of the world are considered as wholes, with no internal structure visible to the problem­solving algorithms.

Adversarial Search (6h)

In this chapter we cover competitive environments, in which the agents' goals are in conflict, giving rise to adversarial search problems-often known as games.

Constraint Satisfaction Problems (6h)

This chapter describes a way to solve a wide variety of problems more efficiently. We use a factored representation for each state: a set of variables, each of which has a value. A problem is solved when each variable has a value that satisfies all the constraints on the variable. A problem described this way is called a constraint satisfaction problem, or CSP.

UP3 (Reasoning)

This module deals with ways of representing knowledge concerning the environments of intelligent agents and how to reason with this knowledge. It reviews:

  • Logics-based models (propositional, first-order)
  • Reasoning schemes (resolution, inference)
  • Extensions (fuzzy logics, modal logics)
  • Logic Programming (Prolog)

UP4 (Simulation)

Digital twin refers to a digital replica of a physical system, processes, people, places, systems and devices that can be used for various purposes. The digital representation allows to monitor and simulate the behaviour of the original system. Two important features characterize a digital twin: (i) a connection between the physical model and the corresponding virtual model or virtual counterpart and (ii) this connection is established by generating real time data using sensors or another type of technology. This module deals with a general overview of the numerical simulation domain and focuses on event-based simulation and on the multi-agent based simulation domain. The issues and challenges in modeling, running and evaluating simulations are discussed and different solutions are studied. Use cases will be developed using multi-agent simulation platforms for simulating digital twins in the context of Industry 4.0, Health or Intelligent transportation domains.

UP5 (Adv. Reasoning)

This module deals with the presentation of advanced knowledge-based reasoning techniques that can be used to make intelligent agents able to evolve in a complex and dynamic world:

  • Knowledge-based reasoning
  • Diagnosis
  • Planning and acting

For more information and content description:

UP6 (Applications)

The goal of this module is to put into perspective the problems of machine learning, the implementation of fundamental techniques of AI in specialized sub-domains, and finally the integration of these different technologies to build intelligent single- or multi-agent systems. Students will get an overview of the issues, societal impacts of the use of AI technologies in different application areas relating to, for example, health, the environment, industry, education. The contents includes lectures, interventions by professionals in the field (eg ORANGE LABS, RENAULT, ENGIE, QWANT), study of prospective studies from various governmental, associative, or industrial agencies (eg France IA report, Villani report, OPECST report, EU report).

UP7 (Learning)

The module gives a theoretical overview of the various forms of machine learning. First, we have a glance at unsupervised techniques that help us understand the data. Then, we focus on various supervised learning systems used in practice such as linear models, non linear models (in particular, neural networks), non parametric models, and support vector machines. We show how ensembles of models can outperform a single model, and we detail the particular case of deep neural networks and deep learning. Finally, we study how agents can learn what to do in the absence of labeled examples of what to do. We see how agents can learn from past experience to change their behavior using reinforcement learning techniques (Q-learning). Labs will be performed using python libraries like scikit-learn, pandas or numpy.

UP8 (Interacting)

This module introduces important tools related to human-computer interactions. Human perception is a complex phenomenon that rely on non-linear biological sensors, working in cooperation with the brain. The complexity of the human senses allows us to deal with bad environmental conditions such as crowd noise or illumination variations. In order to interact with humans with efficiency, computers have to mimic these abilities, which implies that they have to take into account the mechanisms involved in the environnement of the interlocutor (ambient noise and light), and the perception mechanisms of humans (sensors and brain parts). Topics covered in this course are composed of generalities on modelization of human perception and different tools developed in the last decades:

  • environment of the interlocutor
  • principles of human perception
  • natural language processing
  • speech recognition
  • artificial vision
  • voice synthesis

At the end of the course, students will have a better understanding of the main challenges of human-computer interactions.

UP9 (Engineering)

The aim of this module is to provide methods and tools to integrate several technologies presented in the AI Courses in order to develop intelligent systems able to perceive, reason and act in the physical world, or interact with other systems or humans. The courses will be based on diverse technologies such a multi-agent oriented programming platforms, Personal Assistant - Chatbot (e.g. Alexa, SIRI), robot (e.g. Poppy) as well as the other technologies already presented in the other course units. At the end of this course unit, the students will have methodological and practical skills to develop intelligent systems. They will moreover have knowledge and understanding of the challenges raised by the development of intelligent systems.

For more information and content description:


S.J. Russell and P. Norvig. Artificial Intelligence - A Modern Approach. Pearson Education, 2012.

Author: Gauthier Picard


Created: 2019-09-13 Fri 14:22