ARTIFICIAL INTELLIGENCE
cod. 06149

Academic year 2015/16
2° year of course - First semester
Professor
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Type of training activity
Characterising
63 hours
of face-to-face activities
9 credits
hub: PARMA
course unit
in - - -

Learning objectives

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
- some aspects of the Semantic Web

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 used in a domain and choose the method that is considered more appropriate for its management
- solve a real world problem using machine learning methods
- design a Semantic Web application

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.

Prerequisites

None

Course unit content

1 Introduction
1.1 Definitions and basic approaches

2 Solving Problems by Searching
2.1 Well-defined problems and solutions
2.2 Blind Search Techniques
2.3 Partially Informed Search Techniques
2.4 Informed (Heuristic) Search Strategies
2.4 Adversarial Search
2.5 Games
2.6 Optimal decisions in multiplayer games
2.7 Imperfect Real-Time Decisions

3 Knowledge representation
3.1 Logical Agents
3.2 First-Order Logic
3.2.1 Inference in first-order logic
3.3 Knowledge engineering in first order logic
3.4 Description logic
3.5 Inference in description logic
3.6 Ontological Engineering
3.7 Uncertain Knowledge and Reasoning
3.8 Bayesian networks
3.9 Fuzzy logic

4. Outline of Classical Planning

5. Semantic Web
5.1 The basic elements of Semantic Web.
5.2 Taxonomies and Ontologies
5.3 Examples of applications

6 Machine Learning
6.1 Automatic learning and biological learning
6.2 Automatic learning in AI

7 Soft Computing
7.1 Introduction to the Soft Computing Techniques
7.2 Neural Networks
7.3 Evolutionary Computation
7.3.1 Genetic Algorithms
7.3.2 Genetic Programming
7.4 Swarm Intelligence
7.5 Hybrid Systems
7.6 Examples of applications

Full programme

1 Introduction
1.1 Definitions and first approach
1.2 The Foundations of Artificial Intelligence
1.3 The History of Artificial Intelligence
1.3.1 The birth of artificial intelligence
1.3.2 AI becomes an industry
1.3.3 AI adopts the scientific method

2 Solving Problems by Searching
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.1Heuristic Functions
2.4 Adversarial Search
2.5 Games
2.6 Optimal decisions in multiplayer games
2.6.1 The minimax algorithm
2.7 Imperfect Real-Time Decisions
2.7.1 Cutting off search
2.7.2 Alpha--Beta Pruning .

3 Knowledge representation
3.1 Logical Agents
3.1.1 logic and reasoning
3.2 First-Order Logic
3.2.1 Syntax and Semantics of First-Order Logic
3.2.2 Inference in first-order logic
3.2.3 Forward and BackwardChaining
3.2.4 Clause Normal Form and Horn Clause
3.3 Knowledge engineering in first order logic
3.4 Description logic
3.4.1 Categories and Objects
3.4.2 Inference in description logic
3.4.3 Reasoning Systems for Categories
3.5 Ontological Engineering
3.6 Uncertain Knowledge and Reasoning
3.6.1 Bayesian networks
3.7.2 Fuzzy logic
3.7.2.1 Fuzzy set operations
3.7.2.2 Inference in fuzzy logic

4. Outline of Classical Planning

5. Semantic Web
5.1 The basic elements of Semantic Web
5.1.1 Metadata, XML, RDF
5.2 Taxonomies and Ontologies
5.2.1 OWL
5.3 Examples of applications

6 Machine Learning
6.1 Automatic learning and biological learning
6.2 Automatic learning in AI

7 Soft Computing
7.1 Soft Computing Techniques
7.1.1 Exact and uncertain knowledge
7.1.2 Emergent Behaviours
7.2 Neural Networks
7.2.1 Biological model
7.2.2 Learning rules
7.3 Evolutionary Computation
7.3.1 Genetic Algorithms
7.3.2 Genetic Programming
7.4 Swarm Intelligence
7.5 Hybrid Systems
7.6 Examples of applications

Bibliography

Course notes.
Russell, Norvig - Intelligenza Artificiale: un approccio moderno 2/Ed, Prentice Hall, 2005
Haykin - Neural networks. US Imports & PHIPEs, 1999
Engelbrecht - Computational Intelligence: an introduction, 2a edizione, Wiley, 2007
Eiben, Smith - Introduction to Evolutionary Computing, Springer, 2003
Blum, Merkle - Swarm Intelligence, Springer, 2008
Tettamanzi, Tomassini - Soft Computing:Integrating evolutionary, neural and fuzzy systems,
Springer, 2001
Della Valle,Celino, Cerizza - Semantic web:dai fondamenti alla realizzazione di un'applicazione,Pearson Education Italia (collana Addison Wesley ), 2009

Teaching methods

Lectures and laboratory exercises.
Lectures will cover the theoretical aspects of the course subjects along with the description of some case studies of the main issues.
Practical exercises on real problems will be carried out in laboratory.

Assessment methods and criteria

There are no mid-term tests.
The exam consist of three parts:
i) a written exam consisting of three open questions on the topics of knowledge engineering
ii) a report on the machine learning exercises carried on in the lab
iii) a written report (and its oral presentation) on a project work that explores one of topics covered in class or in the labs.

Other information

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