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
No propedeutic courses. However, students are expected to possess good basic abilities in computer programming and analytical skills.
Course unit content
1 Introduction (2 hours)
1.1 Definitions and basic approaches
2 Solving Problems by Searching (12 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
2.4 Adversarial Search
2.5 Games
2.6 Optimal decisions in multiplayer games
2.7 Imperfect Real-Time Decisions
3 Knowledge representation (18 hours)
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 (2 hours)
5. Semantic Web (2 hours)
5.1 The basic elements of Semantic Web.
5.2 Taxonomies and Ontologies
5.3 Examples of applications
6 Machine Learning (14 hours)
6.1 Automatic learning and biological learning
6.2 Automatic learning in AI
7 Soft Computing (14 hours)
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 (2 hours)
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 (12 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.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 (18 hours)
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 (2 hours)
5. Semantic Web (2 hours)
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 (14 hours)
6.1 Automatic learning and biological learning
6.2 Automatic learning in AI
7 Soft Computing (14 hours)
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 four open questions on the theoretical topics of the course covered in class with the aim of evaluating the knowledge gained on these matters.
The test is evaluated from 0 to 8. The test is exceeded if the result is greater than or equal to 5.
ii) a report on the exercises carried on in the lab with the aim of assessing the knowledge gained in the use of machine learning techniques.
The test is evaluated from 0 to 8. The test is exceeded if the result is greater than or equal to 5.
iii) 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 test is evaluated from 0 to 16. The test is exceeded if the result is greater than or equal to 9.
The exam is passed if the result of all the tests is at least sufficient.
Praise is given in case of achieving the highest score on all trials.
Other information
Course notes and teaching materials will be distributed during the course in electronic form.
2030 agenda goals for sustainable development
- - -