The deadline for the reports for the current project is Friday this
week, in section
at 2pm. The deadline for the code is extended to Sunday at 8am,
because we are late in publishing the detailed turn-in
instructions. Sorry!
Please check your scores for the first assignment with GradeSource.
Contact Piotr Dollar in case of concern, e.g. if we may have not found
your report.
Only two more axioms are needed to describe the Yale shooting world:forall a,s,p holds(p,do(s,a)) <-> causes(a,s,p) \/
[ holds(p,s) & ~cancels(a,s,p) ]
Some notes about this solution to the frame problem:forall a,s,p causes(a,s,p) <->
[ a=load & p=loaded] \/
[ a=shoot & p=dead & holds(loaded,s)]forall a,s,p cancels(a,s,p) <->
[ a=shoot & p=alive & holds(loaded,s)] \/
[ a=shoot & p=loaded & holds(loaded,s)]
T & holds(loaded,s_0) |= cancels(shoot,s_0,alive)
Suppose the turkey is known to be alive originally, but a shot was heard and the turkey was seen dead some time later. Whodunit? This murder mystery is also solvable:T & holds(alive,s_0) |= holds(dead,do(do(do(s_0,load),wait),shoot)).
The frame axiom says that miracles never happen: if a fluent holds, then it must have just been caused by some action, or else it must have held immediately previously, and not been canceled.T & holds(alive,s_0) & ~holds(alive,do(do(s_0,shoot),wait))
|= holds(loaded,s_0) & cancels(shoot,s_0,alive)
The answer is P = do(do(do(s_0,load),wait),shoot)T & holds(alive,s_0) |= holds(dead,P).
Solving a planning problem requires a logical reasoning system (i.e. a knowledge base manager or inference engine) that can return existential witnesses in addition to saying (yes, no, or unknown) whether or not a certain sentence is entailed by a given knowledge base.
Unfortunately, doing planning by general-purpose logical reasoning is just not efficient computationally.
The most successful planners today operate by translating a
first-order knowledge base into propositional 3SAT clauses, then
running a local search algorithm like WalkSat.
In analytic philosophy and in knowledge representation, the most important choice is precisely what vocabulary to use, i.e. what ontology to adopt. This choice makes the actual statement of a theory easy or difficult. Given a vocabulary item like the predicate causes for a relationship, it is vital to understand exactly what arguments the relationship involves: what its arity is, and what semantic category each argument falls into.
Here, it is critical that we conceptualize causes as a three-way relationship between an action, a context, and an fluent. In everyday discourse we often forget that causation is not a two-way relationship between a 'cause' (i.e. an action) and an 'effect' (i.e. a fluent). In fact, a particular action can have different effects in different contexts, i.e. in different states of the world. In order to have any chance of capturing this knowledge, we must formalize causes, and also cancels, as a predicate with three arguments.