![]() | ![]() | ![]() | Question 4 [20 marks] |
Suppose, we have 8 locations (numbered 0 to 7) in a circle, and some locations have doors that the robot can sense:
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).
observe(door,0)
?
observe(door,0) & do(right,0) & observe(nodoor,1) & do(right,1) & observe(door,2)
![]() | ![]() | ![]() | Question 4 [20 marks] |