This course provides a comprehensive view of Artificial Intelligence, by selecting for study some of the main topics of the discipline: search, knowledge representation and resoning, planning and learning. The several approaches and paradigms are illustrated in the several course projects.
These subjects are treated in sufficient detail that allows students to solve toy problems as well as understand the difficulties of real problem instances. In the lab classes students will develop selected programming projects where the learnt techniques can be applied to solve some problems, both by implementing small prototypes and by modeling the problems in existing tools.
In this way, it is expected to get the interest of students to these subjects and to more advanced techniques, to be explored in later Master courses.
Theory:
1.Overview of Artificial Intelligence and its applications
2.Problem-solving
2.1.Search agents and search problems.
2.2.Blind search.
2.3.Heuristic search in state-space graphs. A* algorithm.
2.4.Local search and optimisation problems.
2.5.Adaptative agents.
2.6.Constraint Satisfaction Problems.
2.7.Adversarial search.
3.Knowledge Representation and Reasoning
3.1.Propositional logic.
3.2.First-order logic.
3.3.Logic programming
4.Planning
4.1.Logical representation of classical planning problems.
4.2.Planning languages and algorithms. Partial order planning.
4.3.GRAPHPLAN
5.Uncertainty and probabilistic reasoning
5.1.Probability theory and Bayes'''''''''''''''''''''''''''''''' rule.
5.2.Bayesian networks.
6.Machine Learning
6.1.Learning agents. Approaches to the learning problem.
6.2.Conceptual and inductive learning.
6.3.Neuronal networks.
7.Conclusion
Labs:
Informed Search
Local Search
Adverserial Search
Logic Programming
Planning
Uncertainty and Proabilistic Reasoning
Automated Learning
The adopted book is [Stuart Russell & Peter Norvig, 2010].
Some topics are covered only in [Costa & Simões, 2008].
[Sterling & Shapiro, 1994]is the reference toProlog language.
The remaining books are optional readings.
Adopted
Complementary
A good knowledge of the Java language is asssumed as well as hands-on experience with Eclipse framework.
Hours per credit | 28 | ||
Hours per week | Weeks | Hours | |
Aulas práticas e laboratoriais | 26.0 | ||
Aulas teóricas | 42.0 | ||
Avaliação | 4.0 | ||
Self study | 62.0 | ||
Orientação tutorial | 1.0 | ||
Project | 33.0 | ||
Total hours | 168 | ||
ECTS | 6.0 |