Artificial Intelligence
MINES Saint-Etienne

General description

Context and motivation

The digital world opens many challenges that concern, automated reasoning on theaccessible 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 incrementally build intelligent agents with (i) problem solving, (ii) reasoning and (iii) learning capabilities through a thread case study.


The AI course (GP) is 80h-long and is divided in 4 units (UP):

  • Generalities and Case Study (UP1)
  • Problem Solving (UP2)
  • Knowledge and Reasoning (UP3)
  • Learning (UP4)

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.

At the end of each UP, a 3h-grain (IG) is devoted to integrate to concepts of the different AG into a student semester case study.


Students should have prior skills in algorithmics, procedural programming, object-oriented programming (e.g. Java) and logics. Functional programming skills are optional.


Students will be evaluated using 3 terms:

  • Continuous evaluation using homework or exercises developed during/between tutorials
  • Review of the report on the case study
  • Defense of the approach/solution to resolve the case study


Generalities and Technologies

This UP introduces the basics concepts for the other UPs.

AG1.1– 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
  • References: Chapters 1-2 of AIMA
  • Duration: 3h
  • Mode: Lecture (3h)

AG1.2– Case Study (3h)

This AG consists in the defense of the chosen approach to attack the case study, at the end of the GP.

Problem solving

This UP focuses on methods for deciding what action to take when needing to think several steps ahead such as playing a game of chess.

AG2.1– 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.

AG2.2– 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.

AG2.3– 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.

IG2– Problem Solving in Case Study (3h)

This grain is devoted to equip an agent with problem solving capabilities, in the project context.

  • Language/Technology: Prolog/Java

Knowledge and Reasoning

Discusses ways to represent knowledge about the intelligent agents' environment and how to reason logically with that knowledge.

AG3.1– Logical Agents (6h)

Previous chapter introduced the idea of representing states as assignments of values to variables. In this chapter and those that follow, we take this step to its logical conclusion, so to speak–we develop logic as a general class of representations to support knowledge-based agents.

AG3.2– First-Order Logic and Inference (6h)

In this chapter, we examine first-order logic which is sufficiently expressive to represent a good deal of our commonsense knowledge. It also either subsumes or forms the foundation of many other representation languages and has been studied intensively for many decades.

AG3.3– Planning (6h)

In this chapter we introduce a representation for planning problems that scales up to problems that could not be handled by those earlier approaches.

AG3.4– Knowledge Representation (6h)

In this chapter we address the question of what content to put into such an agent's knowledge base–how to represent facts about the world.

  • References: Chapter 12 of AIMA
  • Language/Technology: Prolog, Java, Protégé

AG3.5– Expert Systems (6h)

This chapter will introduce a way of programming, in which you specify rules of behavior, rather than algorithms. This is an especially powerful approach for problems that change often or where solutions involve application of human knowledge and/or uncertain knowledge, rather than intricate calculations.

Today, they are used in business, science, engineering, manufacturing, etc. Topics to be covered include architectures, knowledge representation structures, matching algorithms.

  • Slides
  • Lab
  • References: 2
  • Language/Technology: Drools, Java

IG3– Knowledge and Reasoning in Case Study (3h)

This grain is devoted to equip an agent with knowledge representation and reasoning capabilities, in the project context.

  • Language/Technology: Java


Describes ways for generating knowledge required by the decision-making components and introduces a new component the neural network.

AG4.1– Learning from Examples (6h)

This chapter first gives an overview of the various forms of learning, then describes one popular approach, decision­tree learning, followed by a theoretical analysis of learning. We look at various learning systems used in practice: linear models, nonlinear models (in particular, neural networks), non parametric models, and support vector machines. Finally we show how ensembles of models can outperform a single model.

AG4.2– Reinforcement Learning (6h)

In this chapter, we will study how agents can learn what to do in the absence of labeled examples of what to do.

IG4– Learning in Case Study (3h)

This grain is devoted to equip an agent with learning capabilities, in the project context.

  • Language/Technology: Java


S.J. Russell and P. Norvig. Artificial Intelligence - A Modern Approach. Pearson Education, 2012.
Antoni Ligeza. Basic Structure of Rule-Based Systems, volume 11 of Studies in Computational Intelligence. Springer Berlin Heidelberg, 2006.

Author: Gauthier Picard


Created: 2018-05-23 Mer 09:40