IS1819 - Course Material


Lecure slides will be published as the course progresses:

  • Course introduction [pdf]
  • Planning [pdf] 
  • Graph-based planning [pdf]
  • Swarm Intelligence [pdf]
  • Planning for robots [pdf]
  • Introduction to Machine Learning [pdf]
  • Machine Learning [pdf]
    • Decision Tree Exercises (simpler) [pdf]
    • Decision Tree Exercises (harder) [pdf]
  • Inductive Logic Programming [pdf]
  • Bayesian Learning [pdf]
  • Neural Networks [pdf]
  • Deep Learning [pdf]
  • Constraint Programing [pdf]

Lab sessions

Slides and data files will be published as the course progresses

  • Automated planning
    • Slides [pdf]
    • Cart example (graphplan) [zip]
    • Cart example (PDDL) [zip]
    • An intrdoduction to PDDL [pdf]
    • Quick PDDL reference guide [html]
    • Planner executables (for linux, oldish compiler...) [zip]
      • This is 32-bnit code: install "gcc-multilib and g++-multilib" to make them work on Ubuntu
  • Agent Based Models
  • Decision Trees
    • Slides & start-kit [zip]


Natural Language Processing and Learning (Apr 12)

Andrea Galassi, University of Bologna
Natural Language Processing (NLP) is an interdisciplinary field of study that merges different fields, such as artificial intelligence and linguistics, with the aims to analyze, represent, understand, re-create the natural language, in a similar fashion to what human beings do. Possible applications are Machine Translation, Query Answering, and Sentiment Analysis.
The seminar will provide an overview of the tasks addressed in NLP, describe some of the many features that can be extracted from textual documents (linguistical, statistical, sub-symbolic...), and examine case studies of machine learning application to NLP-related tasks.

Intelligent Systems in action: HPC and Transprecision Computing (May 3)

Andrea Borghesi, University of Bologna

Modern High Performance Computing systems are large machines that present various and unique challenges, for instance their large power consumption and multiple components that can break.
In recent years AI approaches have been proposed to cope with these issues, ranging from proactive and power-aware job schedulers to automated techniques to detect anomalous states of the computing units. These methods combine Machine Learning and optimization algorithm to inject intelligence in the management process of supercomputers.

Transprecision computing is is a computing paradigm that aims at exchanging the accuracy of the result of a computation and its associated energy cost; for example, if we consider a computation between floating-point operands, reducing the number of bits used to represent the variables can lead to smaller memory occupation and movement, thus reduced energy consumption. Recently, transprecision computing has been targeted by several AI-based efforts, at the junction of optimization techniques (i.e. Integer Linear Programming) and Deep Learning.

Reference Books

About AI in general:

  • S. J. Russel, P. Norvig: "Artificial Intelligence: A Modern Approach", Prentice Hall International, Pearson Education Italia, 2005.
  • E. Rich, K. Knight: "Intelligenza Artificiale", McGraw Hill, Seconda Edizione 1992.
  • E. Charniak, D. McDermott, "Introduzione all'Intelligenza Artificiale", Masson, 1988.
  • M.Ginsberg: "Essentials of Artificial Intelligence", Morgan Kaufman, 1993.
  • P. H. Winston: "Artificial Intelligence: Third Edition", Addison-Wesley, 1992.


  • L.Console, E.Lamma, P.Mello, M.Milano: "Programmazione Logica e Prolog", Seconda Edizione UTET, 1997 [web page for the book (in Italian)]
  • I. Bratko: "Programmare in Prolog per l'Intelligenza Artificiale", Masson e Addison-Weslay, 1988.

Additional books:

  • Ian Witten, Eibe Frank: "Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations", ISBN: 1-55860-552-5, Morgan Kaufmann Publishers, 2000.

Scientific Papers

Articoli scietifici relativi ai contenuti del corso verranno pubblicati con l'avanzare del programma.


Swarm Intelligence:

Neural Networks:

  • A paper by Hopfield about Neural Networks [paper]
  • Originale paper about back-propagation [paper]

Constraint Programming:

  • A survey by Jean-Charles Regin about global constraints [paper]
  • A book chapter by the same author (this one is longer and more detailed) [paper]
  • A tutorial about Constraint Based Scheduling [paper]