Intelligent Systems 18/19

Intelligent Systems 18/19 michele.lombar… Thu, 22/02/2018 - 16:31

This web site is dedicated to the Intelligent Systems M course. The web site aims at providing the students with access to information related to the goals, contents, study material and assessment criteria of the course.

Course schedule: see the information system of the School of Engineering.

Course professor:
Prof. ssa Michela Milano, Tel. 051 20 93790, michela <dot> milano <at> unibo <dot> it
Office hourse: Thursday from 10 to 12 (ex-CSITE building, above lecture room 8.1)

Teaching Assistant:
Dott. Michele Lombardi, Tel. 051 20 93270, michele <dot> lombardi2 <at> unibo <dot> it
Office hours: Tuesday from 10 to 12, on appointment to be booked by email ("Aule Nuove" building, close to lecture room 5.7) 


  • None, at the moment


The course takes advantage of some of the topics previously discussed in the Artificial Intelligence course (year 1), such as knowledge representation, logic, informed search strategies, game theory, constraint resolution. The Intelligent System course starts from such bases and aims at presenting the main applications of Artificial Intelligent methods, with practical examples.

The main goals of the course are:

  • Applying the techniques learned in the Artificial Intelligent course (year 1) to complex problems
  • Investigating complex problems and the main formal and algorithmic tools to address them
  • Providing practical examples


  • Learning how to perform a critical readout of a scientific paper concerning the topics of the course
  • Providing a practical approach to solve real problems
  • Learning how to prepare a presentation, similar to that needed for the Master Thesis
  • Giving a chanes to the students to attend seminars from researchers actively involved in advanced AI topics


The course features both lectures and lab sessions. For each of the considered topics, a lab session will be scheduled after the lectures, so as to provide a chance to learn the software systems related to the presented topic. The techniques discussed in this course represent the state of the art of scientific research in Artificial Intelligence: for each of the consdidered topic, the students will be referred to survey paper that provide a good overview of state of the art research.

The detailed program is as follows:

  1. Planning
    1. Non linear planning
    2. Hierarchical planning
    3. Graph-based planning 
  2. Swarm Intelligence
    1. Ant-colony Optimization
    2. Particle Swarm Optimization
  3. Constraint Programming and Optimization
    1. Applucations
    2. Advanced Search and Propagation Strategies
  4. Machine Learning
    1. Decision Trees
    2. Neural Networks

Assessment methods

The final exams consts of a written test containing both exercises and questions about theoretical topics. For this reason, it will not be possible to bring notes and books to the test.

Optional Course Project

It is possible (by formally requesting it when planning the courses to take) to opt for a course project in Intelligent Systems. In such a case, the project topic should be defined together with the course teacher.

The project may involve using an existing system to solve a complex problem , or the development of a new tool to solve for an AI application. The student should provide:

  • A presentaion (i.e. slides) to summarize the main steps of the projec, which will serve as a basis to guide the discussion
  • The project code

Exam Exercises

Exam Exercises michele.lombar… Mon, 07/05/2018 - 17:29

Full exam text from the former course "Applicazioni di Intelligenza Artificiale"

WARNING: these are all in Italian!

WARNING: the constraint programming exercise has changed radically since then. Hence, don't pay attention to the CP exercises!

Some Constraint Programming exercises from the course "Sistemi Intelligenti"

WARNING: these are all in Italian!

Complete exam texts from the course "Sistemi Intelligenti"

WARNING: these are all in Italian!

Exam texts from the course "Sistemi Intelligenti", no solutions

WARNING: these are all in Italian!

Complete exam texts from the course "Intelligent Systems"

Some of the Constraint Programming exercises have been presented during the course.


IS1819 - Course Material

IS1819 - Course Material michele.lombar… Fri, 01/03/2019 - 12:51


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]
  • Constraint Programming


Exploiting Synchronized Lyrics And Vocal Features For Music Emotion Detection

Loreto Parisi, Musixmatch (Data Intelligence and Platform)

One of the key points in music recommendation is authoring engaging playlists according to sentiment and emotions. While previous works were mostly based on audio for music discovery and playlists generation, we take advantage of our synchronized lyrics dataset to combine text representations and music features in a novel way; we therefore introduce the Synchronized Lyrics Emotion Dataset. Unlike other approaches that randomly exploited the audio samples and the whole text, our data is split according to the temporal information provided by the synchronization between lyrics and audio. This work shows a comparison between text-based and audio-based deep learning classification models using different techniques from Natural Language Processing and Music Information Retrieval domains. From the experiments on audio we conclude that using vocals only, instead of the whole audio data improves the overall performances of the audio classifier. In the lyrics experiments we exploit the state-of-the-art word representations applied to the main Deep Learning architectures available in literature. In our benchmarks the results show how the Bilinear LSTM classifier with Attention based on fastText word embedding performs better than the CNN applied on audio.

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]