ARTIFICIAL INTELLIGENCE
cod. 1007315

Anno accademico 2019/20
2° anno di corso - Primo semestre
Docente
MORDONINI Monica
Settore scientifico disciplinare
Sistemi di elaborazione delle informazioni (ING-INF/05)
Campo
Ingegneria informatica
Tipologia attività formativa
Caratterizzante
48 ore
di attività frontali
6 crediti
sede: PARMA
insegnamento
in INGLESE

Obiettivi formativi

The course aims to introduce students to the techniques and technologies designed to reproduce on the computer smart behaviours, typical of living beings, with particular attention to the knowledge engineering and machine learning techniques.

Knowledge and understanding

Specifically the course aims to illustrate
- the main techniques of knowledge representation used in Artificial Intelligence,
- the methodologies to formulate well-defined problems and solutions
- the management of (certain or uncertain) knowledge through logic and reasoning
- some of the most important of Machine Learning methods

Applying knowledge and understanding

The main goal of course is to provide students with the ability to
- formulate a problem that can be solved by a logic agent
- describe and represent knowledge through the use of logic
- analyze the knowledge present into a domain and choose the method that is considered more appropriate for its management
- solve a real world problem using machine learning methods

Making judgements

To carry out the final project the student will need to analyze the state of the art in the literature to motivate the choices that are made in the development of the task.

Communication skills

Lab exercises and the project can be carried out in small groups, promoting the exchange of views. In addition, the drafting of the report requires a good logical organization and clarity in reporting data and results.

Learning skills

The student's ability to look at things from different perspectives is stimulated by the integration of theory lessons and laboratory activities.

Prerequisiti

No propedeutic courses. However, students are expected to possess good basic abilities in computer programming and analytical skills.

Contenuti dell'insegnamento

1 Introduction (2 hours)
1.1 Definitions and basic approaches

2 Problem Formalization and Solving Problems by Searching (6 hours)
2.1 Well-defined problems and solutions
2.2 Blind Search Techniques
2.3 Partially Informed Search Techniques
2.4 Informed (Heuristic) Search Strategies

3 Artificial Intelligence and Games (6 hours)
3.1 Games
3.2 Adversarial Search
3.3 Optimal decisions in multiplayer games
3.4 Imperfect Real-Time Decisions

4 Deploying AI Applications (10 hours)
4.1 Software Engineering and AI
4.2 Data analysis
4.3 Certain and uncertain knowledge
4.4 Elements of probability theory

5 Knowledge representation (16 hours)
5.1 Logical Agents
5.2 First-Order Logic
5.2.1 Inference in first-order logic
5.3 Knowledge engineering in first order logic
5.4 Description logic
5.5 Inference in description logic
5.6 Ontological Engineering
5.7 Uncertain Knowledge and Reasoning
5.8 Bayesian networks
5.9 Fuzzy logic

6 Machine Learning (8 hours)
6.1 Learning from examples
6.2 Decsion Tree
6.3 Neural network model
6.4 Autoencoder

Programma esteso

1 Introduction (2 hours)
1.1 Definitions and first approach
1.2 Foundations of Artificial Intelligence
1.3 History of Artificial Intelligence
1.3.1 Birth of artificial intelligence
1.3.2 AI becomes an industry
1.3.3 AI adopts the scientific method

2 Problem Formalization and Solving Problems by Searching (6 hours)
2.1 Well-defined problems and solutions
2.1.1 Formulating problems
2.1.2 Toy problems
2.2 Blind Search Techniques
2.3 Partial Informed Search Techniques
2.3.1 Problems of contingency
2.4 Informed (Heuristic) Search Strategies
2.4.1 Heuristic Functions

3 Artificial Intelligence and Games (6 hours)
3.1 Games
3.2 Adversarial Search
3.2 Optimal decisions in multiplayer games
3.2.1 The minimax algorithm
3.3 Imperfect Real-Time Decisions
3.3.1 Cutting off search
3.3.2 Alpha--Beta Pruning
3.4 Examples
3.4.1 Chess game and Deep Blue
3.4.2 The game of GO and DeepMind's AlphaGo

4 Deploying AI Applications (10 hours)
4.1 Software Engineering and AI
4.1.1 Deploying an Expert System and the software Engineering Workflow
4.2 Data analysis
4.3 Data Science Process
4.4 Certain and uncertain knowledge
4.4.1 Real problem of uncertain information
4.4.2 When is there uncertainty?
4.4 Elements of probability theory
4.4.1 Unconditional probability or a_priori
4.4.2 Conditional probability or a_posteriori
4.4.3 Bayes Rule
4.5 Labs

5 Knowledge representation (16 hours)
5.1 Logical Agents
5.1.1 logic and reasoning
5.2 First-Order Logic
5.2.1 Syntax and Semantics of First-Order Logic
5.2.2 Inference in first-order logic
5.2.3 Forward and BackwardChaining
5.2.4 Clause Normal Form and Horn Clause
5.3 Knowledge engineering in first order logic
5.4 Description logic
5.4.1 Categories and Objects
5.4.2 Inference in description logic
5.4.3 Reasoning Systems for Categories
5.5 Ontological Engineering
5.6 Uncertain Knowledge and Reasoning
5.6.1 Bayesian networks
5.7.2 Fuzzy logic
5.7.2.1 Fuzzy set operations
5.7.2.2 Inference in fuzzy logic

6 Machine Learning (8 hours)
6.1.1 Design of a learning element
6.1.2 Types of Learning
6.2 Learning from examples (Inductive Learning)
6.2 Decision Tree learning
6.2.1 Information Gain
6.3 Neural network model
6.4 Autoencoder
6.5 Labs

Bibliografia

Russell & Novirg, Artificial Intelligence: A Modern Approach, 3rd Edition. Prentice Hall, 2010

Metodi didattici

Lectures and laboratory exercises.
Lectures will cover the theoretical aspects of the course subjects.
Practical exercises on real problems will be carried out in laboratory.

Modalità verifica apprendimento

There are no mid-term tests.
The exam consist of two parts:
i) a written exam consisting of four open questions on the theoretical topics of the course covered in class with the aim of evaluating the knowledge gained on these matters.

ii) a written report (and its oral presentation) on a project work that explores one of topics covered in class or in the labs, so as to assess the ability to apply the knowledge gained during the course. However, the value of its evaluation will also depend on the quality of the developed system and the attached documentation.

The exam is passed if, in each of the two parts, the student reaches at least the sufficiency.
The final mark is a weighted average trail score obtained in the written test (40%) and the one obtained in the project work (60%).
Praise is given in case of achieving the highest score on all partials.

Altre informazioni

Course notes and teaching materials will be distributed during the course in electronic form.