Artificial Intelligence and Computer Graphics (AIG710S) First Group Assignment Due on 10/05/2021 Problem 1. Mark: 40 Consider an agent, Verbal, in charge of the logistics in an organisation. Once a week, Verbal collects items from all offices and sends them to their destination. There are four offices (located next to each other): W, C1 , C2 and E (see Figure 1a). (a) Office configuration (b) Setup at startup Figure 1: Offices To complete its mission, Verbal uses four actions, defined as follows: move east: (me), to move to the next office eastward; move west: (mw), to move to the next office westward; remain: (re), to remain in the same office; collect: (co), to collect a single item from an office. Additionally, note that Verbal can only collect one item at a time and can do so only if it is in the same office where the item is situated. Furthermore, while trying to go eastward (or westward), it will remain in the same office if 1 Artificial Intelligence and Computer Graphics First Group Assignment Table 1: Action cost Action re me mw co Cost 1 3 3 5 there is no office in that direction. Finally, the cost attached to each action is defined in Table 1. Your task is to write a program in Julia that implements Verbal’s problemsolving mechanism using the A∗ algorithm as a search strategy. As a heuristic function, you will consider the total number of items left for collection. Problem 2. Mark: 35 In adversarial search, a game is a problem with an initial state, multiple players (usually two), a utility function, a goal test and the order of execution between players (succession function). You are tasked to write a program in Julia that: • captures the complete description of a game provided by a user (at runtime); • finds a solution for the game using the α − β pruning. 2 Artificial Intelligence and Computer Graphics First Group Assignment Problem 3. Mark: 25 Figure 2: Constraint Network 1 Consider the constraint network depicted in Figure 2. The domain of each variable Xı is Dı = {1, 2, 3, 4}. The arcs in the network represent the binary constraints. There is one additional unary constraint, X3 = 1. Write a Julia program that solves the constraint satisfaction problem (CSP) using the following methods: • naive inference approach; • backtracking with forward checking and propagation. Submission Instructions • This project is to be completed by groups of maximum two (2) students each. • For each group, a repository should be created on Gitlab1 . You are encouraged to communicate the URL of the repository by Monday, April 19th 2021, with all group members set up as contributors. • The submission date is Monday, May 10th 2020, midnight. • A group submission will consist of Pluto notebooks, one per problem. • A submission will be assessed based on the clone of its repository at the deadline. • Any group who fails to submit on time will be awarded the mark 0. 1 https://about.gitlab.com/ 3 Artificial Intelligence and Computer Graphics First Group Assignment • There should be no assumption about the execution environment of your code. It could be run using a specific framework or simply on the command line. • In the case of plagiarism (groups copying from each other or submissions copied from the Internet), all submissions involved will be awarded the mark 0, and each student will receive a warning. Assessment Criteria The following criteria will be followed to assess your submission: • correct and complete implementation for each problem; • clear display of the steps during the execution of a problem; • the overall quality of design and implementation for each problem as well as the Julia environment management. 4