The following are the exam questions. Each question gives a maximum of three points unless otherwise noted. At least eleven points will be required to pass the exam. 1. A Lisp implementation of a multi-player computer game represents the attributes of participating players with a list such as ((PETER HAS-KEY HAS-AXE) (JOHN HAS-FLOWER KNOWS-CODE HAS-FLASHLIGHT) ...) The global variable *ATTRIBUTES* has this list as its value. In general, the value of *ATTRIBUTES* is a list of sublists, where the first element of each sublist is a symbol representing a player, and all following elements are symbols each of which represents an attribute that the player in question has. Define a lisp function owners of one argument which shall be a symbol representing an attribute, for example KNOWS-CODE, and where the value is a list of the symbols for all players having that attribute according to the list in *ATTRIBUTES*. 2. A user types the following sequence of S-expressions into the Lisp interpreter: (setq ff 'f0) (defun f0 (x) x) (defun nextfun (f) (eval (list 'defun f '(x) (list '+ 2 (list ff 'x)))) (setq ff f) ) (nextfun 'f1) (nextfun 'f2) (f2 10) What value is returned by the last expression? (Motivate the answer!). 3. The symbols that are used to form a sentence in first-order predicate logic can be of the following kinds: variable symbols, constant symbols, function symbols, predicate symbols (= relation symbols), logical connectives, and quantifiers, besides the interpunction characters such as parentheses and commas. Indicate the kind of each symbol in each of the following sentences: Brother(John,x) v Sister(John,x) x y [ Sibling(x,y) -> Father(x) = Father(y) ] 4. The following axiom expresses a particular property of actions in a logic of actions and change. Which one? D(s,t,a) D(s',t',a) -> t < s' v t' < s 5. Answer at least one of the following two questions. (The first one is based on the old version of the textbook, the second question is based on the new version of the textbook. Both questions have been addressed in the lectures). a) Explain the concepts 'situation space' and 'plan space' b) Explain the use of the Answer predicate when resolution theorem proving is used for planning the situation calculus? (Three points for solving one of the questions correctly, four points for solving both of them correctly). 6. Define partial-order planning and discuss its advantages and disadvantages. 7. The chart parser method for parsing sentences in natural language uses a few distinct operations for adding edges to a chart. Three of these are called the predictor, the scanner, and the completer (sometimes also called the extender). Explain what each one of these does. 8. The concept of configuration space is important for robotics. a) Explain what is meant by the configuration space for a robot that moves in a given, unchanging environment. b) Discuss how the use of configuration space becomes more complicated when there are also other objects in the environment that the robot can pick up and place in new positions. c) Describe some approach to dealing with the difficulty mentioned in (b). R1 och roboten kan gripa och förflytta detta, eller