User Tools

Site Tools


teaching:is:main_is

Foundations of Artificial Intelligence

Watch the page

You can “subscribe” to any page on the wiki and you’ll get an email message whenever the page has changed. To do that, click the Manage Subscriptions link.

Official course presentation form

Timetable

The official week-by-week Faculty timetable: lectures and labs of the course. Note that a LAB slot may be transformed into a LECTURE slot and vice-versa, and this will be decided week by week; lectures and labs have equal importance.

Office hours: anytime, by previous appointment by email to the lecturer (Enrico Franconi). In any case the lecturer is always available for the period after any lecture.

Some lectures and labs may be available on Microsoft Teams.

Language used in the course

  • Exclusively English.

Textbook

Slides & Reference Material

The following is the standard material, it may be adjusted during the course.

Lab

  • LAB 1: Graph Searching with uninformed techniques (Java applet)
    • Manuals:
    • Explore with the search applet the Delivery Robot (Acyclic), the Delivery Robot (cyclic), the Vancouver Neighbourood, the Module 4 sample problem graphs: with Depth First, Breadth First, Lowest Cost First search strategies using different Neighbour Ordering Strategies; practice also with the quiz facility.
    • Do the Practice Exercise 3.B.
    • Exercise: practicing different search strategies with the graph in this slides (solution as a XML file for the applet)
    • Create your own problem graph for a delivery robot starting from a map with edge costs.
    • Create a problem graph for a simple problem chosen by you.
    • IMPORTANT: learn how to write on paper the frontier evolution for each search.
      • describe a search on a graph by writing the frontier (i.e., a set of paths) at each step of the search, and by specifying the selected path from the frontier in one step leading to the next step.

* LAB 2: Graph Searching with Heuristics

  • Explore the Delivery Robot (Acyclic), the Delivery Robot (cyclic), the Vancouver Neighbourood, the Module 4 sample problem graphs: with Best First, Heuristic Depth First, A*, Branch and Bound search strategies, with or without Multiple-Path Pruning or Loop Detection, using different Neighbour Ordering Strategies. Explore also the behaviour with the abovementioned search graphs with potentially non terminating depth first strategies (e.g., Depth First or Heuristic Depth First) without cycle checking, and with loop detection or multiple path pruning.
  • Do the Practice Exercises 3.C, 3.D, 3.E.
  • Exercise: 3.4(solution).
  • IMPORTANT:
    • learn how to write on paper the frontier evolution for each search;
    • check whether the heuristics are admissible and monotone.

* LAB 3: Constraints - Consistency

  • Explore with the CSP applet the sample problems: Simple Problem 1, Simple Problem 2, Scheduling Problem 1, Crossword Problem 1, Crossword Problem 2. These sample problems have been seen already in the course lectures; for the crossword problems, try to reconstruct the crossword graphical structure.
  • Do the Practice Exercises 4.A, 4.B.
  • Exercises: 4.2, 4.3 (only a,b), 4.5 - CSP and arc consistency (solutions).

* LAB 5: Propositions and Inference

  • Getting started with AILog2, a representation and reasoning system for definite clauses, with declarative debugging tools.
    • Download the file ailog2.pl, install and launch SWI Prolog, and load (consult) AILog2 in Prolog:
      • Windows: ?- consult("C:\\path-to-file\\ailog2.pl").
      • Mac: ?- consult('/path-to-file/ailog2.pl').
    • Go through the AiLog2 manual, from Section 1 to Section 6.
      • To load a knowledge base file from AILog2:
        • Windows: ailog: load 'C:\\path-to-kbfile\\kbfile.ail'.
        • Mac: ailog: load '/path-to-kbfile/kbfile.ail'.
  • Play with the elect_prop.ail electrical wiring example 5.7 from Section 5.3 of the book and the slides.
  • Do Exercises 5.1, 5.2, 5.3, 5.4
  • Find other AILog knowledge base exampleshere (play with askable and debugging)

* LAB 6: Assumables and Consistency-based Diagnosis

  • Excercises 5.9 and 5.13 and 5.17.
    Use AILog2 to verify the correctness of your answers; AILog2 can assert assumables (see manual), and can ask for the derivation of the false atom.

* LAB 7: Debug, Diagnosis, Abduction

* LAB 8: Planning with Certainty

  • Using the STRIPS-to-CSP applet exercise with the coffee delivery problems (simple and complete) pre-loaded on the applet - tutorial
    • NOTE: the translator from STRIPS to CSP is buggy: use this file as an example of a STRIPS definition for the simple delivery problem with its corresponding CSP version; use the CSP applet
      • understand the role of of all the variables and constraints
      • find the original STRIPS definition from the CSP version of it
      • find all the plans giving a (partial) starting state, or giving a (partial) end state, or both, with an horizon of 3.

* LAB 9: Individuals and Relations

Final Exam

The exam paper will contain problem solving, verification, and transfer of knowledge questions, where you have to apply the techniques, the theory, and the basic principles of the technologies studied during the course to concrete examples. There will be no pure theory question.

The exam is evaluated based on correctness of answers, clarity of answers, ability to summarise, evaluate, and establish relationships between topics, skills in critical thinking, quality of argumentation, problem solving ability.

The questions will be mirroring the exercises done in the lab and the exercises from the main course book. Answers to questions should be formulated precisely and completely, of course. Regarding the topic that have been done during the lab using simulation software, the written answer in the exam paper should contain the information relevant to the question as it would be provided by the simulation, and as it is discussed in the book and during the lectures and labs. You can bring your own written notes to the exam, and nothing else.

No “mock” exam paper is provided, given the quite simplifying specifications given above.

teaching/is/main_is.txt · Last modified: 2025/04/30 10:27 by Franconi Enrico