User Tools

Site Tools


teaching:is:main_is_old

This is an old revision of the document!


Artificial Intelligence (AI)

Watch the page

You can “subscribe” to any page on the wiki and you’ll be sent an email message whenever it’s changed. To do that, click the Manage Subscriptions button at the bottom of the page.

Official course presentation form

Open Learning Environment (OLE) web page

Timetable

The official week-by-week Faculty timetable can be found on the RIS of the course. Note that sometimes a LAB may be transformed into a LECTURE and vice-versa.

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.

Lectures are offered now via distance learning using Microsoft Teams with Teams' code 2o00uee. There is a video on how to start with Teams.

Language used in the course

  • Exclusively English.

Textbooks

  • Main book: David Poole and Alan Mackworth. Artificial Intelligence: Foundations of Computational Agents. Cambridge University Press, 2010, 2nd edition 2017.
  • Auxiliary book: Stuart Jonathan Russell and Peter Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall, 3rd edition 2016.
  • Reading list from the UniBZ Library: 76212_19-20-2_CS Artificial Intelligence

You can read below which chapters of the above books are used in the various parts of the course.

Slides & Reference Material

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

Lab

Start date: XXX

  • LAB 2: Graph Searching with uninformed techniques (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.
    • Exercise: practicing different search strategies with the graph in this slides
    • Do the Practice Exercise 3.B.
    • 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.
  • LAB 3: 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.
  • LAB 4: Constraints - Consistency
  • LAB 5: Propositions and Inference
    • Getting started with AILog2, a representation and reasoning system for definite clauses, with declarative debugging tools.
    • To start AILog just load the prolog file ailog2.pl into SWI Prolog:
      • Install SWI Prolog first; in the Windows installer, select “Add swipl to the system PATH”.
      • Launch the prolog file ailog2.pl either by double clicking it (in Windows only), or from the command line within a terminal with the command: <html><tt>swipl -f ailog2.pl</tt></html>
      • Go through the manual, from Section 1 to Section 6.
    • Play with the elect_prop.ail electrical wiring example 5.7 from Section 5.3 of the book and the slides; note that in Windows the path to load a knowledge base file from AILog is specified with double backslash, e.g., <html><tt>load 'C:\\Users\\john\\Desktop\\file.ail'.</tt></html>
    • Find other AILog knowledge base examples here
  • LAB 6: Debug, Diagnosis, Abduction
  • LAB 7: Individuals and Relations

Additional optional lab material:

  • LAB: Natural Language Processing
    • Exercises: 12.17 - Natural Language Processing
    • cfg_simple.ail a simple context free grammar and associated dictionary from Figures 12.6 and 12.7 in Section 12.5 (also in Prolog)
    • trans.ail generates canned English; from Figure 12.8 in Section 12.6.4 (also in Prolog)
    • nl_numbera.ail a simple grammar that enforces number agreement and builds a parse tree; from Figure 12.9 in Section 12.6.5 (also in Prolog)
    • nl_interface.ail a simple natural language interface to a database; from Figures 12.10 and 12.11 in Section 12.6.6 (also in Prolog)
  • LAB: Decision Trees
    • Answer the following questions:
      • What does an arc represent in a decision tree?
      • What does a non-leaf node represent in a decision tree?
      • What does a leaf node represent in a decision tree?
    • Do exercises from (slides)
    • If-time: do Exercise 7.3
  • More KBs:
    • AILog exercises (use extensively How?, Why not?, Why? questions and Depth Bound):
    • elect_relational.ail electrical wiring example from Section 12.3.2
    • west.ail a knowledge base about rooms from Figure 12.2 in Section 12.3.3
    • before.ail the before relation of Example 12.26 in Section 12.5
    • trees.ail the tree code of Example 12.27 in Section 12.5
    • elect_cbd.ail electrical wiring example for consistency-based diagnosis; Example 5.20 in Section 5.4.3
    • elect_naf.ail electrical wiring example with negation as failure; Example 5.26 in Section 5.5
    • beach.ail default reasoning about swimming at beaches; Example 5.27 in Section 5.5.1
    • bronchitis.ail diagnosis Example 5.30 in Section 5.6
    • elect_abd.ail electrical wiring example with abduction; Example 5.31 in Section 5.6
  • LAB: Recap of Prolog. Material here.
  • LAB: More on Graph Searching (III), and Programming Search in Prolog

Final Exam

Final Written Exam in English: 100%

teaching/is/main_is_old.1591710513.txt.gz · Last modified: by Franconi Enrico

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki