Suppose we use the following KB (where x,y,z are variables and r1, r2, r3, goal are constants) to determine whether a particular robot can score a) Open(x) ∧ HasBall(x) -> CanScore(x) b) Open(x) ∧ CanAssist(y,x) ∧ HasBall(y) -> CanScore(x) c) PathClear(x,y) -> CanAssist(x,y) d) PathClear(x,z) ∧ CanAssist(z,y) -> CanAssist(x,y) e) PathClear(x,goal) -> Open(x) f) PathClear(y,x) -> PathClear(x,y) g) HasBall(r3) h) PathClear(r1, goal) i) PathClear(r2, r1) j) PathClear(r3, r2) k) PathClear(r3, goal) Intuitively, CanScore(x) means x can score on goal. CanAssist(x,y) means there exists some series of passes that can get the ball from x to y. Open(x) means x can shoot on goal directly. And PathClear(x,y) means the path between x and y is clear. Provide a SLD-derivation for the query CanScore(x) in which the answer provided is r1. Provide a SLD-derivation for the query CanScore(x) in which the answer provided is r3. How many "distinct" derivations (i.e., involving different pass sequences) are there for the fact CanScore(r3)?
Suppose we use the following KB (where x,y,z are variables and r1, r2, r3, goal are constants) to determine whether a particular robot can score
a) Open(x) ∧ HasBall(x) -> CanScore(x)
b) Open(x) ∧ CanAssist(y,x) ∧ HasBall(y) -> CanScore(x)
c) PathClear(x,y) -> CanAssist(x,y)
d) PathClear(x,z) ∧ CanAssist(z,y) -> CanAssist(x,y)
e) PathClear(x,goal) -> Open(x)
f) PathClear(y,x) -> PathClear(x,y)
g) HasBall(r3)
h) PathClear(r1, goal)
i) PathClear(r2, r1)
j) PathClear(r3, r2)
k) PathClear(r3, goal)
Intuitively, CanScore(x) means x can score on goal. CanAssist(x,y) means there exists some series of passes that can get the ball from x to y. Open(x) means x can shoot on goal directly. And PathClear(x,y) means the path between x and y is clear.
- Provide a SLD-derivation for the query CanScore(x) in which the answer provided is r1.
- Provide a SLD-derivation for the query CanScore(x) in which the answer provided is r3.
- How many "distinct" derivations (i.e., involving different pass sequences) are there for the fact CanScore(r3)?
Step by step
Solved in 3 steps