Consider this first-order logic knowledge base:
taller(John, Bill)In this first-order logic knowledge base, taller and tall are predicates, x is a variable, and John, Bill are constants. Convert this first-order logic knowledge base into a propositional logic knowledge base, by performing the following two steps:
for-every x, taller(x, Bill) => tall(x)
A certain domain, represented in first-order logic, has:
1a: (7 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: (7 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 PDDL knowledge base, i.e., it follows the rules and assumptions of the PDDL 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)
1c: (1 point) If you gave a different answer for question 1b than in question 1a, what aspect of PDDL caused the difference? If not, why?
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?
Define
appropriate actions for this planning problem, in the PDDL language.
For each action, provide a name, arguments, preconditions, and effects.
Also, describe the initial state and the goal, using PDDL.
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)
Action(buy(person, book, store),
PRECOND: has(store, book),
EFFECT: owns(person, book))
has(Amazon, book1)
has(Amazon, book2)
has(Amazon, book3)
owns(me, book1) AND owns(me, book2) AND owns(me, book3)