TopQuestion 3 [25 marks]Question 4 [20 marks]

Question 4 [20 marks]

In this question, we are considering using abduction for robot localization.

Suppose, we have 8 locations (numbered 0 to 7) in a circle, and some locations have doors that the robot can sense:

circlelocs8

There are two actions the robot can do: go right (e.g., from location 0 to location 1) and go left.

This can be axiomatized using the following CILog axioms:

observe(door,T) <- at(L,T) & doorat(L).
observe(nodoor,T) <- at(L,T) & nodoorat(L).

at(L1,T1) <- T1>0 & T is T1-1 & do(right,T) & at(L,T) & right(L,L1).
at(L1,T1) <- T1>0 & T is T1-1 & do(left,T) & at(L,T) & right(L1,L).

right(0,1).     right(1,2).
right(2,3).     right(3,4).
right(4,5).     right(5,6).
right(6,7).     right(7,0).

nodoorat(0).
nodoorat(1).
doorat(2).
nodoorat(3).
doorat(4).
nodoorat(5).
doorat(6).
doorat(7).

false <- at(L1,0) & at(L2,0) & L1 \= L2.
false <- do(right,T) & do(left,T).

assumable do(right,T).
assumable do(left,T).
assumable at(L,0).
  1. [5 marks] What are the minimal explanations of observe(door,0)?
  2. [5 marks] What are the minimal explanations of
    observe(door,0) & do(right,0) & observe(nodoor,1) 
       & do(right,1) & observe(door,2)
      
  3. [5 marks] Suppose the robot observed a door at time 0, then went right, observed no door, then went right, observing a door, and then went right again. (It is now at time 3). Assume that you can ask a query using observe(Q,E) that is true if E is a minimal explanation of query Q. Give a query that can be asked to determine where the robot is at time 3.

TopQuestion 3 [25 marks]Question 4 [20 marks]