160 likes | 329 Views
Logic: Review. Propositional logic: atomic statements are facts Inference via resolution is sound and complete (though likely computationally intractable ) Linear-time inference via forward and backward chaining possible for knowledge bases consisting of definite clauses.
E N D
Logic: Review • Propositional logic: atomic statements are facts • Inference via resolution is sound and complete(though likely computationally intractable) • Linear-time inference via forward and backward chaining possible for knowledge bases consisting of definite clauses
Logic: Review • First-order logic: adds variables, relations, and quantification • Inference is essentially a generalization of propositional inference • Propositionalization • “Lifted” inference rules like generalized Modus Ponens • Resolution is still sound and complete, but semidecidable:not guaranteed to terminate on non-entailed sentences • Forward and backward chaining still available for definite clauses, but complexity is no longer linear
Logic programming: Prolog • FOL: King(x) Greedy(x) Evil(x) Greedy(y) King(John) • Prolog: evil(X) :- king(X), greedy(X). greedy(Y). king(john). • Closed-world assumption: • Every constant refers to a unique object • Atomic sentences not in the database are assumed to be false • Inference by backward chaining, clauses are tried in the order in which they are listed in the program, and literals (predicates) are tried from left to right
Prolog example parent(abraham,ishmael). parent(abraham,isaac). parent(isaac,esau). parent(isaac,jacob). grandparent(X,Y) :- parent(X,Z), parent(Z,Y). descendant(X,Y) :- parent(Y,X). descendant(X,Y) :- parent(Z,X), descendant(Z,Y). ? parent(david,solomon). ? parent(abraham,X). ? grandparent(X,Y). ? descendant(X,abraham).
Prolog example parent(abraham,ishmael). parent(abraham,isaac). parent(isaac,esau). parent(isaac,jacob). • What if we wrote the definition of descendant like this: descendant(X,Y) :- descendant(Z,Y), parent(Z,X). descendant(X,Y) :- parent(Y,X). ? descendant(W,abraham). • Backward chaining would go into an infinite loop! • Prolog inference is not complete, so the ordering of the clauses and the literals is really important
Prolog lists • Appending two lists to produce a third: append([],Y,Y). append([X|L],Y,[X|Z]) :- append(L,Y,Z). • query: append(A,B,[1,2]) • answers: A=[] B=[1,2] A=[1] B=[2] A=[1,2] B=[]
Graph coloring • Any finite-domain CSP can be written as a single definite clause together with some ground facts • What does this imply about complexity of FOL inference for definite clauses? colorable(Wa,Nt,Sa,Q,Nsw,V) :- diff(Wa,Nt), diff(Wa,Sa), diff(Nt,Q), diff(Nt,Sa), diff(Q,Nsw), diff(Q,Sa), diff(Nsw,V), diff(Nsw,Sa), diff(V,Sa). diff(red,blue). diff(red,green). diff(green,red). diff(green,blue). diff(blue,red). diff(blue,green).
Logic: The Big Picture • The original goal of formal logic was to axiomatize mathematics • Hilbert’s program(1920’s): find a formalization of mathematics that is complete, consistent, and decidable • Completeness theorem(Gödel, 1929): • Deduction in FOL is consistent and complete • Unfortunately, FOL is not strong enough to describe infinite structures such as natural or real numbers • Incompleteness theorem(Gödel, 1931): • Any consistent logic system strong enough to capture natural numbers and arithmetic will contain true sentences that cannot be proved • Halting problem(Turing, 1936): • There cannot be a general algorithm for deciding whether a given statement about natural numbers is true
Applications of logic • Automated theorem proving in mathematics • Robbins conjecture proved in 1996 • Software verification • Software synthesis • VLSI verification • VLSI design • Planning http://www.cs.miami.edu/~tptp/OverviewOfATP.html
Planning • What is planning? • Finding a sequence of actions to achieve one’s goals • How is planning different from regular search? • States and action sequences typically have complex internal structure • State space and branching factor are huge • Multiple objectives, resource constraints • Examples of planning applications • Scheduling of tasks in space missions • Logistics planning for the army • Assembly lines, industrial processes • Robotics
Classical planning • Start state, goal state are specified as conjunctions of predicates • Start state: At(P1, RDU) Plane(P1) Airport(RDU) Airport(ORD) • Goal state: At(P1, ORD) • Actions are described in terms of their preconditions and effects: • Fly(p, source, destination) • Precond: At(p, source) Plane(p) Airport(source) Airport(destination) • Effect:¬At(p, source) At(p, destination) • Search problem: starting with the start state, find all applicable actions (actions for which preconditions are satisfied), compute the successor state based on the effects, etc.
Complexity of planning • Planning is PSPACE-complete • Plans can be exponential in length! • Example: tower of Hanoi
Application of planning: Automated storytelling https://research.cc.gatech.edu/inc/mark-riedl
Application of planning: Automated storytelling • Applications • Personalized experience in games • Automatically generating training scenarios (e.g., for the army) • Therapy for kids with autism • Computational study of creativity https://research.cc.gatech.edu/inc/mark-riedl
From classical planning to real-world planning • Incorporating the time dimension • Resource constraints • Contingencies: actions failing • “Qualification problem” • Hierarchical planning • Uncertainty • Incorporating sensing and feedback • Multiagent planning