Faculdade de Ciências e Tecnologia

Artificial Intelligence

Code

1712

Academic unit

Faculdade de Ciências e Tecnologia

Department

Departamento de Informática

Credits

6.0

Teacher in charge

Carlos Augusto Isaac Piló Viegas Damásio

Weekly hours

5

Total hours

69

Teaching language

Português

Objectives

Knowledge
  • Paradigms, areas and applications of Artificial Intelligence.
  • Blind, informed and local search algorithms. Heuristics and evaluation functions. Complexity.
  • Inference in propositional logic, first order logic and Bayesian networks. Limitations.
  • Planning languages and algorithms for plan generation.
  • Learning approaches and its essential algorithms.
Application
  • Model search problems, specify heurisitics and assess its behaviour in practice.
  • Implement search algorithms. Parameterise and experiment with the algorithms.
  • Model and solve problems with Logic Programming.
  • Model knowledge with Bayesian networks. Perform predictive and diagnosis tasks.
Soft-Skills
  • Choose appropriately instruments weighing the solution quality against the time/space necessary to obtain it.
  • Justify or choose solutions.
  • Do team work with report writing and deadline fulfillment.
  • Abstract modelling capabilities.

Prerequisites

A good knowledge of the Java language is asssumed as well as hands-on experience with Eclipse framework.

Subject matter

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: Search project, Logic programming project, Bayesian Networks.

Bibliography

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 to Prolog language.
The remaining books are optional readings.

Adopted

  • Stuart Russel and Peter Norvig. Artificial Intelligence. A Modern Approach, 3rd edition. Prentice-Hall, Inc., 2010.
  • E. Costa e A. Simões. Inteligência Artificial. Fundamentos e Aplicações. 2nd Edition, FCA, 2008.
  • L. Sterling and E. Shapiro. The Art of Prolog (2nd Ed.). MIT Press, 1994.

Complementary

  • Matt Ginsberg. Essentials of Artificial Intelligence. Morgan Kaufmann, 1994
  • Nils J. Nilson. Artificial Intelligence: A new synthesis. Morgan Kaufmann, 1998
  • I. Bratko. Prolog Programming for Artificial Intelligence, 3rd Edition, Pearson-Education, 2001.
  • P. Blackburn, J. Bos, e K. Striegnitz. Learn prolog Now! College Publications, 2006.

Evaluation method

This course has two forms of assessment: by midterms and by final exam. Both forms include a practical component consisting of 2 small programming projects. Any doubts should be timely posed to the responsible lecturer.

EVALUATION BY MIDTERMS

All students can adopt this form of assessment consisting of two midterms and two programming projects. In order to get approved to the course it is required to have an average of at least 9.5 in the midterms. If the minimum grade is not obtained, the student can do the final exam.

Computation of the final grade:

-       2 minitests (each 35% of the final grade)

-       2 programming projects (each 15% of the final grade)

 

EVALUATION BY FINAL EXAM

All students are admitted to exam. Students should have a minimum of 9.5 in the written exam in order to succeed in the course.

Computation of the final grade:

-       exam (70% of the final grade)

-       2 programming projects (each 15% of the final grade)

 GRADE IMPROVEMENT

Students that wish to improve their grade components are subject to the previous rules, and theory or lab grade can be improved. The final grade is computed taking always into account both components, according to the previous formulas. 

Programming projects

The students in the 2 programming projects, made in teams of exactly 3 students, solve problems either by implementing small prototypes or by modelling the given problems in existing AI systems. It will be assigned to each project a unique grade from 0 to 20. 

In principle, the programming projects will be mostly developed in the practical classes, each having a strict deadline to be delivered plus the corresponding report. The team students must all attend to the same practical class. In order to submit a project, a student must attend to 2/3 of the lab classes assigned to the development of the project.

Students that have attended the course in school years 2012/2013 or 2013/2014 will keep the team practical grade of the latest edition. THESE STUDENTS CANNOT ATTEND LAB CLASSES EXCEPT IF THEY INTEND TO OBTAIN A NEW TEAM PRACTICAL GRADE.  

Courses