User Tools

Site Tools


teaching:is:main_is

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teaching:is:main_is [2024/04/08 18:03]
Franconi Enrico [Lab]
teaching:is:main_is [2025/06/22 18:12] (current)
Franconi Enrico [Final Exam]
Line 6: Line 6:
 To do that, click the [[https://www.inf.unibz.it/~franconi/space/doku.php?id=teaching:is:main_is&do=subscribe|Manage Subscriptions]] link. To do that, click the [[https://www.inf.unibz.it/~franconi/space/doku.php?id=teaching:is:main_is&do=subscribe|Manage Subscriptions]] link.
 ===== Official course presentation form ===== ===== Official course presentation form =====
-  * The course [[https://webservices.scientificnet.org/rest/uisdata/api/v1/coursedescriptions/82219|presentation form]].+  * The course {{ :teaching:is:foundations_of_artificial_intelligence_24-25.pdf |presentation form}}.
    
 ===== Timetable ===== ===== Timetable =====
  
-The official week-by-week Faculty timetable: [[https://www.unibz.it/en/timetable/?searchByKeywords=Artificial+Intelligence&sourceId=unibz&department=224&degree=13618%2C13778&studyPlan=18364%2C18928&toDate=2024-07-31&page=1|lectures and labs]] of the course. +The official week-by-week Faculty timetable: [[https://www.unibz.it/en/timetable/?searchByKeywords=Foundation+of+Artificial+Intelligence&sourceId=unibz&department=224&degree=13778%2C13995&studyPlan=18928%2C19687&fromDate=2025-03-04&toDate=2025-07-31|lectures and labs]] of the course. 
-Note that a LAB may be transformed into a LECTURE and vice-versa.+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 ([[mailto:franconi@inf.unibz.it|Enrico Franconi]]). Office hours: anytime, by previous appointment by email to the lecturer ([[mailto:franconi@inf.unibz.it|Enrico Franconi]]).
Line 35: Line 35:
 /* The striked-through text (i.e., <del>text</del>) corresponds to parts not done this year. */ /* The striked-through text (i.e., <del>text</del>) corresponds to parts not done this year. */
  
-  * Slides: {{ :teaching:is:lect_01_0_h.pdf |Welcome Aboard}} +  * Slides: {{ :teaching:is:lect.1.0.pdf |Welcome Aboard}} 
-  * Slides: Artificial Intelligence and Agents {{ :teaching:is:lect_01_1.pdf |parts 1 & 2}}, {{ :teaching:is:lect_01_3_h.pdf |part 3}}, {{ :teaching:is:lect_01_4_h.pdf |part 4}} +  * Slides: Artificial Intelligence and Agents {{ :teaching:is:ai-new-lect.1.0.pdf |parts 1 & 2}}, {{ :teaching:is:lect_01_3_h.pdf |part 3}}, {{ :teaching:is:lect_01_4_h.pdf |part 4}}, {{ :teaching:is:lect.2.1.pdf |part 5}} 
-    * Material: chapter 1 of //Poole and Mackworth//+    * Material: {{https://artint.info/3e/html/ArtInt3e.Ch1.html|chapter 1}} and {{https://artint.info/3e/html/ArtInt3e.Ch2.html|chapter 2}} of //Poole and Mackworth//
   * Slides: States and Searching {{:teaching:is:lect.3.1.pdf|part 1}}, {{:teaching:is:lect.3.2.pdf|part 2}}, {{:teaching:is:lect.3.3.pdf|part 3}}, {{:teaching:is:lect.3.4.pdf|part 4}}    * Slides: States and Searching {{:teaching:is:lect.3.1.pdf|part 1}}, {{:teaching:is:lect.3.2.pdf|part 2}}, {{:teaching:is:lect.3.3.pdf|part 3}}, {{:teaching:is:lect.3.4.pdf|part 4}} 
-    * Material: chapter 3 of //Poole and Mackworth// +    * Material: {{https://artint.info/3e/html/ArtInt3e.Ch3.html|chapter 3}} of //Poole and Mackworth// 
-  * Slides: Features and Constraints /* {{:teaching:is:lect.4.1.pdf|part 1}}, {{:teaching:is:lect.4.2.pdf|part 2}} */+  * Slides: Features and Constraints {{:teaching:is:lect.4.1.pdf|part 1}}, <del>{{:teaching:is:lect.4.2.pdf|part 2}}</del>
     * Material: chapter 4 of //Poole and Mackworth//     * Material: chapter 4 of //Poole and Mackworth//
-  * Slides: Propositions and Inference /* {{:teaching:is:lect.5.1.pdf|part 1}}, {{:teaching:is:lect.5.2.pdf|part 2}}, {{:teaching:is:lect.5.3.pdf|part 3}}, {{:teaching:is:lect.5.4.pdf|part 4}} */ \\ Slides: Diagnosis /* {{:teaching:is:lect.5.5.pdf|part 1}}, {{:teaching:is:lect.5.6.pdf|part 2}}, {{:teaching:is:lect.5.7.pdf|part 3}}, {{:teaching:is:lect.5.8.pdf|part 4}}, {{:teaching:is:lect.5.9.pdf|part 5}} */+  * Slides: Propositions and Inference {{:teaching:is:lect.5.1.pdf|part 1}}, {{:teaching:is:lect.5.2.pdf|part 2}}, {{:teaching:is:lect.5.3.pdf|part 3}}, {{:teaching:is:lect.5.4.pdf|part 4}} \\ Slides: Diagnosis {{:teaching:is:lect.5.5.pdf|part 1}}, <del>{{:teaching:is:lect.5.6.pdf|part 2}}</del>, {{:teaching:is:lect.5.7.pdf|part 3}}, <del>{{:teaching:is:lect.5.8.pdf|part 4}}, {{:teaching:is:lect.5.9.pdf|part 5}}</del> 
     * Material: chapter 5 of //Poole and Mackworth//     * Material: chapter 5 of //Poole and Mackworth//
-  * Slides: Deterministic Planning /* {{ :teaching:is:lect.8.1 v4.pdf |part 1}}, {{ :teaching:is:lect.8.2 v4.pdf |part 2}}, {{ :teaching:is:lect.8.3 v4.pdf |part 3}}, {{ :teaching:is:lect.8.4 v4.pdf |part 4}} *+  * <del>Slides: Deterministic Planning {{ :teaching:is:lect.8.1 v4.pdf |part 1}}, {{ :teaching:is:lect.8.2 v4.pdf |part 2}}, {{ :teaching:is:lect.8.3 v4.pdf |part 3}}, {{ :teaching:is:lect.8.4 v4.pdf |part 4}} </del> 
-    * Material: chapter 6 of //Poole and Mackworth//+    * <del>Material: chapter 6 of //Poole and Mackworth// </del>
 /*  * Slides: Multiagent Systems and Games {{ :teaching:is:lect.10.1_v4.pdf |part 1}} /*  * Slides: Multiagent Systems and Games {{ :teaching:is:lect.10.1_v4.pdf |part 1}}
     * Material: chapter 10 of //Poole and Mackworth// */     * Material: chapter 10 of //Poole and Mackworth// */
 +  * Slides: Individuals and Relations {{:teaching:is:lect.12.1.pdf|part 1}}, {{:teaching:is:lect.12.2.pdf|part 2}}, {{:teaching:is:lect.12.3.pdf|part 3}}, {{:teaching:is:lect.12.4.pdf|part 4}} 
 +    * Material {{http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_276.html|chapter 12}} of //Poole and Mackworth// 
 +  * Slides: {{:teaching:is:lect.12.nl.pdf| Natural Language Understanding}} 
 +    * Material {{http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_276.html|chapter 12}} of //Poole and Mackworth// 
 +  * <del>Slides: Supervised learning and Decision Trees: {{ :teaching:is:lect1.pdf |part 1}}, {{ :teaching:is:lect2_ef.pdf |part 2}}, {{ :teaching:is:lect3_ef.pdf |part 3}}</del>
 +    * <del>Material {{http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_169.html|chapter 7}} of //Poole and Mackworth// </del> 
 +  * <del>Slides: {{:teaching:is:lezione_machine_learning_bz_7_6_2019.pdf |Introduction to Machine Learning}}</del>
  
 ===== Lab ===== ===== Lab =====
Line 62: Line 68:
     * 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.     * 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 [[http://www.aispace.org/exercises.shtml|Practice Exercise]] 3.B.         * Do the [[http://www.aispace.org/exercises.shtml|Practice Exercise]] 3.B.    
-    * Exercise: practicing different search strategies with the graph in this {{teaching:is:search_bf_df_lcf.pdf|slides}} /* ({{ :teaching:is:search-problem.xml.zip |solution}} as a XML file for the applet) */+    * Exercise: practicing different search strategies with the graph in this {{teaching:is:search_bf_df_lcf.pdf|slides}} ({{ :teaching:is:search-problem.xml.zip |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 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.     * Create a problem graph for a simple problem chosen by you.
     * IMPORTANT: learn how to write on paper the frontier evolution for each search.     * 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.
 +* <color #22b14c>LAB 2</color>: 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 [[http://www.aispace.org/exercises.shtml|Practice Exercises]] 3.C, 3.D, 3.E. 
 +    * Exercise: [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_71.html|3.4]]([[teaching:is:heuristics-solution|solution]]). 
 +    * IMPORTANT: 
 +      * learn how to write on paper the frontier evolution for each search;
 +      * check whether the heuristics are admissible and monotone.
 +* <color #22b14c>LAB 3</color>: Constraints - Consistency
 +    * [[http://aispace.org/constraint/|Consistency Based CSP Solver]] ({{:teaching:is:constraint.jar.zip|applet}}):
 +     * 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 [[http://www.aispace.org/exercises.shtml|Practice Exercises]] 4.A, 4.B. 
 +    * Exercises: [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_99.html|4.2, 4.3 (only a,b), 4.5]] - CSP and arc consistency ([[teaching:is:csp-solutions|solutions]]).
 +* <color #22b14c>LAB 5</color>: Propositions and Inference
 +    * Getting started with [[https://artint.info/code/ailog/ailog_man.html|AILog2]], a representation and reasoning system for definite clauses, with declarative debugging tools.
 +      * Download the file [[https://artint.info/code/ailog/ailog2.pl|ailog2.pl]], install and launch [[https://www.swi-prolog.org/download/stable|SWI Prolog]], and load (consult) AILog2 in Prolog:
 +        * Windows: <html><tt>?- consult("C:\\path-to-file\\ailog2.pl").</tt></html>
 +        * Mac: <html><tt>?- consult('/path-to-file/ailog2.pl').</tt></html>
 +      * Go through the [[https://artint.info/code/ailog/ailog_man.html|AiLog2 manual]], from Section 1 to Section 6.
 +        * To load a knowledge base file from AILog2:
 +          * Windows: <html><tt>ailog: load 'C:\\path-to-kbfile\\kbfile.ail'.</tt></html>
 +          * Mac: <html><tt>ailog: load '/path-to-kbfile/kbfile.ail'.</tt></html>
 +    * Play with the [[https://artint.info/code/ailog/ailog_code/ch05/elect_prop.ail|elect_prop.ail]] electrical wiring example 5.7 from Section 5.3 of the book and the slides.
 +    * Do Exercises [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_137.html|5.1, 5.2, 5.3, 5.4]] ([[teaching:is:prop-rules-solutions|solutions]]) 
 +    * Find other AILog knowledge base examples[[https://www.cs.ubc.ca/~poole/aibook/code/ailog/ailog_code/ailog_code.html|here]]  (play with askable and debugging)
 +
 +* <color #22b14c>LAB 6</color>: Assumables and Consistency-based Diagnosis
 +    * Excercises {{ :teaching:is:exercise_5.9_5.13.pdf |5.9 and 5.13}} and {{ :teaching:is:exercise_5.17.pdf |5.17}}.  \\ Use [[https://artint.info/code/ailog/ailog_man.html|AILog2]] to verify the correctness of your answers; AILog2 can assert assumables (see [[https://www.inf.unibz.it/~franconi/teaching/artint.info/code/ailog/ailog_man_14.html|manual]]), and can ask for the derivation of the false atom. \\ ([[teaching:is:assumables-solutions|solutions]])
 +
 +* <color #22b14c>LAB 7</color>: Debug, Diagnosis /*, Abduction */
 +     * Keep using [[https://artint.info/code/ailog/ailog_man.html|AILog2]]
 +     * Go through Sections 6, 7, 9 of the [[http://www.inf.unibz.it/~franconi/teaching/artint.info/code/ailog/ailog_man.html|manual]]
 +     * Play with the following knowledge bases:
 +       * [[http://www.inf.unibz.it/~franconi/teaching/artint.info/code/ailog/ailog_code/ch05/elect_ask.ail|elect_ask.ail]] electrical wiring example with askables; Example 5.10 from [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_113.html|Section 5.3.2]]
 +       * [[http://www.inf.unibz.it/~franconi/teaching/artint.info/code/ailog/ailog_code/ch05/elect_bug.ail|elect_bug.ail]] the buggy electrical wiring knowledge base from Example 5.14 in [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_118.html|Section 5.3.4.1]]
 +       * [[http://www.inf.unibz.it/~franconi/teaching/artint.info/code/ailog/ailog_code/ch05/elect_bug2.ail|elect_bug2.ail]] the buggy electrical wiring example from Exercise 5.6 
 +       * [[http://www.inf.unibz.it/~franconi/teaching/artint.info/code/ailog/ailog_code/ch05/elect_bug3.ail|elect_bug3.ail]] a buggy electrical wiring example, which fails to prove lit_l2, but should succeed 
 +       * [[http://www.inf.unibz.it/~franconi/teaching/artint.info/code/ailog/ailog_code/ch05/elect_cbd.ail|elect_cbd.ail]] electrical wiring example for consistency-based diagnosis; Example 5.20 in [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_124.html|Section 5.4.3]] /*
 +       * [[http://www.inf.unibz.it/~franconi/teaching/artint.info/code/ailog/ailog_code/ch05/elect_abd.ail|elect_abd.ail]] electrical wiring example with abduction; Example 5.31 in [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_133.html|Section 5.6]] */
 +       * Exercises: [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_137.html|5.5, 5.6, 5.7]]  ([[teaching:is:diag-rules-solutions|solutions]])
 +* <del><color #22b14c>LAB 8</color>: Planning with Certainty</del>
 +  * Do {{ :teaching:is:ex_strips.pdf |Practice Exercise 8.A}} and {{ :teaching:is:ex_csp_planning.pdf |Practice Exercise 8.B}} /* ({{ :teaching:is:ex_strips_sol.pdf |Practice Exercise 8.A solution}} and {{ :teaching:is:ex_csp_planning_sol.pdf |Practice Exercise 8.B solution}}). */
 +  * Using the {{ :teaching:is:stripstocsp.jar.zip |STRIPS-to-CSP applet}} exercise with the coffee delivery problems (simple and complete) pre-loaded on the applet - [[https://aispace.org/strips_to_csp/|tutorial]]
 +    * NOTE: the translator from STRIPS to CSP is buggy: use {{:teaching:is:delivery-simple-csp_fixed.zip|this file}} as an example of a STRIPS definition for the simple delivery problem with its corresponding CSP version; use the {{:teaching:is:constraint.jar.zip|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.
 +* <color #22b14c>LAB 9</color>: Individuals and Relations
 +    * Keep using [[https://artint.info/code/ailog/ailog_man.html|AILog2]]
 +    * Go through Section 8 of the [[http://www.inf.unibz.it/~franconi/teaching/artint.info/code/ailog/ailog_man.html|manual]]
 +    * Understand the bottom-up and top-down derivations with the relational representation of the [[https://artint.info/code/ailog/ailog_code/ch12/elect_relational.ail|electrical environment]] and with the [[https://artint.info/code/ailog/ailog_code/ch12/before.ail|AM and PM time representations]]
 +    * Do the following  exercises (you may use the AILog2 KBs listed in the [[https://artint.info/online.html|resources for Chapter 12]]): 
 +/*       * [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_308.html|12.1,12.2]] (model theory) */
 +       * [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_308.html|12.3]] (bottom-up derivation)
 +       * [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_308.html|12.4,12.5,12.6]] (top-down derivation) with the [[https://artint.info/code/ailog/ailog_code/ch12/west.ail|knowledge base about rooms]] 
 +       * [[http://www.inf.unibz.it/~franconi/teaching/artint.info/html/ArtInt_308.html|12.8,12.9,12.14]] (SLD-resolution with functions) /*do also 12.15*/ 
 +       * ([[teaching:is:ind-solutions|solutions]] to all exercises) 
 +       
 +=====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.
 +
 +**Modular Course**
 +
 +This course, //Foundations of Artificial Intelligence//, is the module 1 within the //Artificial Intelligence// course, which includes also the module 2 //Machine Learning in Practice//.
  
 +There is formally a unique final exam for the //Artificial Intelligence// course: the exam covers the topics addressed in //module 1// and //module 2// and consists of two parts, one for each module, and each one counting 50% of the final grade. In order pass the exam, the students should get at least 18/30 in each part. A student may take the two parts of the exam in different sessions; a positive evaluation of one part remains valid for all three regular exam 
 +sessions of the academic year.
teaching/is/main_is.1712592191.txt.gz · Last modified: 2024/04/08 18:03 by Franconi Enrico