Artificial intelligence (CK0031/CK0248)

The course overviews selected topics in artificial intelligence. The course deals with some of the central principles of AI, including search and problem-solving methods, reasoning and decision making under uncertainty:
  1. Agents and environment: Rationality, Nature of the environment, Structure of the agents;
  2. Probabilistic reasoning: Representation and inference in probabilistic models;
  3. Problem solving: Searching discrete environments and numerical optimisation.
What the course does not deal with is Logic and Machine Learning. We offer more suitable courses to study those topics.

Stuff from the past: Previous editions for 2016.2 and 2017.2 (internal links may need adjustment.)

Instructor : Francesco Corona (FC): francesco döt corona ät ufc döt br

Physical location : Monday, Wednesday and Friday 08:00-10:00. Bloco 915, Sala 1074. Internet location : Here! Or, here (CK0031/CK0248) for mambojumbo related to administration.

Evaluation : Approximately half a dozen theoretical and practical problem sets will be assigned as homework: Home assignments are for training but are not mandatory, they can be handed-in but they will not be evaluated. The actual evaluation will be based on two or three partial evaluations (APs) in class (weight 70%) and a final project (weight 30%). If needed a final evaluation (AF) will be arranged.

Go to:   Lectures and schedule | Problem sets | Supplementary material | As it pops out |


>>>>> Results: AP1 + AP2 <<<<< >>>>> AP 02 -- NOV 30 <<<<< (AP2 -- Probabilistic reasoning, Bloco 915, Sala 1074)
>>>>> AP 01 -- OCT 10 <<<<< (AP1 -- Unconstrained optimisation, Bloco 915, Sala 1074)

>>>>> Exercise 01 <<<<< (Linear algebra and coding revision: Vectors)
>>>>> Exercise 02 <<<<< (Linear algebra and coding revision: Matrices)
>>>>> Exercise 03 <<<<< (Unconstrained optimisation: Line-search methods)
>>>>> Exercise 04 <<<<< (Probabilistic reasoning: Probability tables)

Lectures and schedule

  1. About this course

    A About this course (FC)
    • About the type of artificial intelligence that we shall study and the type that we shall not study in this course

  2. Agents and environment

    A Agents and environments (FC)
    • Structure of agents, nature of environments

  3. Probabilistic reasoning (Elements of probabilistic modelling, inference in probabilistic models)

    A Probabilistic reasoning (FC)
    • Probability refresher
    • Probabilistic reasoning, prior, likelihood and posterior
    B Graph concepts (FC)
    • Definitions, numerical encoding (edge lists, adjacency matrices, clique matrices)
    C Belief networks (FC)
    • Structure (independencies and specifications)
    • Belief networks (conditional independence, collisions, path manipulations for independence, d-separation, graphical and distributional in/dependence, Markov equivalence, expressibility)
    • Causality (Simpson's paradox, do-calculus, influence diagrams)
    D Inference in trees (FC)
    • Marginal inference (Variable elimination in a Markov chain and message passing, the sum-product algorithm of factor graphs, evidence, marginal likelihood, loops)
    • Forms of inference (max-product, $N$ most probable states, most probable path and shortest path, mixed inference)

  4. Problem solving (Solving by searching, local search, numerical optimisation)

    A Unconstrained optimisation (FC)
    • Derivative-free methods (golden section and quadratic interpolation, Nelder and Mead)
    • The Newton's method
    • Line-search or descent methods (descent directions, strategies for choosing the step-length, the descent method with Newton's directions, descent methods with quasi-Newton's directions, gradient and conjugate-gradient descent methods)
    • Trust-region methods
    • The non-linear least-squares method (the Gauss-Newton method, the Levenberg-Marquardt method)
    B Constrained optimisation (FC)
    • The penalty function method
    • The augmented Lagrangian method

    A Problems, solutions and problem-solving agents (FC)
    • Problems, solutions and problem-solving agents
    • Search algorithms
    B Uninformed search strategies (FC)
    • Breadth-first search, uniform-cost search
    • Depth-first search, depth-limited search, iterative deepening depth-first search, bidirectional search
    C Informed search strategies (FC)
    • Greedy best-first search, $A^*$ search
    • Memory-bounded heuristic search
    D Heuristic functions (FC)
    • Effect of heuristics, generating heuristics, learning heuristics

    A Local search (FC)
    • Hill-climbing, simulated annealing, local beam search, genetic algorithms

Problem sets

As we use problem set questions covered by books, papers and webpages, we expect you not to copy, refer to, or look at the solutions in preparing your answers. We expect you to want to learn and not google for answers: If you do happen to use other material, it must be acknowledged clearly with a citation on the submitted solution.

The purpose of problem sets is to help you think about the material, not just give us the right answers.

Homeworks must be done individually: Each of you must hand in his/her own answers. In addition, each of you must write his/her own code when requested. It is acceptable, however, for you to collaborate in figuring out answers. We are assuming that you take the responsibility to make sure you personally understand the solution to any work arising from collaboration (though, you must indicate on each homework with whom you collaborated).

To typeset assignments, students are encouraged to use this LaTeX template: Source (PDF).

Final projects/assignments must be returned via SIGAA (you'll get notified of the opening of a new task).
Delays will be penalised (<24h, -20% of the grade; <48h, -40% of grade; ...).



Course slides will suffice. Slides are mostly based on the three following textbooks: The material can be complemented using material from the following textbooks (list not exhaustive):
  1. Probabilistic graphical models: principles and techniques, by Daphne Koller and Nir Friedman
  2. Heuristic Search: Theory and Applications, by Stefan Edelkamp and Stefan Schrödl
Copies of these books are floating around.

>>>>>> Course material is prone to a typo or two - Please inbox FC to report <<<<<<


Read me or watch me