1a: (10 points) Consider a first-order logic knowledge base that contains the following statements (and no other statements) about the block world:
on(a,b)Suppose that we know that c is not on the table. Does the knowledge base already contain this information, or do we need to add a statement? If so, what statement do we need to add?
on(b,c)
clear(a)
1b: (10 points) Suppose that the knowledge base contains the exact same statements as above:
on(a,b)However, suppose that (in contrast to question 1a), this knowledge base is a STRIPS knowledge base, i.e., it follows the rules and assumptions of the STRIPS language. As in 1a, suppose that we know that c is not on the table. Does the knowledge base already contain this information, or do we need to add a statement? If so, what statement do we need to add?
on(b,c)
clear(a)
If you gave a different answer than in question 1a, what aspect of STRIPS caused the difference?
We have state descriptions and action definitions written following the conventions used in the graphplan software of programming assignment 4. One of the actions is defined as follows:
(operatorSuppose we are at a state S1 described as follows (again, using graphplan syntax):
aaa
(params
(<b> ttt1) (<c> ttt1))
(preconds
(ppp1 <b> <c>) (ppp2 <b>) (ppp3 <c>))
(effects
(eee1 <b> <c>) (eee2 <b>) (del eee2 <c>) (del eee3 <c>)))
(A ttt1)What is the state resulting from applying action aaa(B,C) to S1? Give a complete specification.
(B ttt1)
(C ttt1)
(ppp1 B C)
(ppp2 A)
(ppp2 B)
(ppp3 C)
(eee1 A C)
(eee2 C)
(eee3 C)
(eee3 A)
In some planning domain, at every state we can perform a number X of different actions (no more than X, no fewer than X). Given an initial state S1 and a goal G, the shortest plan (i.e., the plan with the smallest number of actions) contains Y actions (Y is obviously a non-zero positive integer). In the following questions, remember that time complexity and space complexity for an algorithm are always worst-case estimates. Also, remember that, in big-O notation, constant factors do not matter: if a certain algorithm A is 10 times slower than another algorithm B, regardless of the values for X and Y, then algorithms A and B are considered to have equal big-O time complexity. Finally, remember that basic search algorithms like breadth-first search and depth-first search can be used to solve planning problems.
3a: (10 points) Name an algorithm that gives us the best time complexity (in terms of big-O notation) for finding the shortest plan?. What is that best time complexity? Time complexity should be expressed in terms of X and Y. Use big-O notation.
3b: (10 points) Name an algorithm that (in terms of big-O notation) gives us the best space complexity for finding the shortest plan? What is that best space complexity? Space complexity should be expressed in terms of X and Y. Use big-O notation.
3c: (10 points) Is there a single algorithm that, in terms of big-O notation, gives us both the best time complexity and the best space complexity?
4a: (15 points) Suppose that we have implemented a planning system where states, goals, action preconditions and action effects are expressed using the STRIPS language. Given a state S1 and an action A1, and given specific parameters for A1 (as opposed to variables), is there a polynomial-time algorithm (in terms of the size of the knowledge base and the size of the preconditions for A1) that can compute whether the preconditions of A1 are all true in state S1? If so, what is that algorithm? If not, why not?
4b: (15 points) Suppose that we have implemented a planning system where states, goals, action preconditions and action effects are expressed using unrestricted first order logic. Given a state S1 and an action A1, and given specific parameters for A1 (as opposed to variables), is there a polynomial-time algorithm (in terms of the size of the knowledge base and the size of the preconditions for A1) that can compute whether the preconditions of A1 are all true in state S1? If so, what is that algorithm? If not, why not?