130 likes | 224 Views
Logic: The Big Picture. Propositional logic: atomic statements are facts Inference via resolution is sound and complete (though likely computationally intractable) First-order logic: adds variables, relations, and quantification
E N D
Logic: The Big Picture • Propositional logic: atomic statements are facts • Inference via resolution is sound and complete (though likely computationally intractable) • First-order logic: adds variables, relations, and quantification • Inference is essentially a generalization of propositional inference • Resolution is still sound and complete, but not guaranteed to terminate on non-entailed sentences (semidecidable) • Simple inference procedures (forward chaining and backward chanining) available for knowledge bases consisting of definite clauses
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
Graph coloring 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).
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=[]
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 consistent, complete, 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 • Profound implications for foundations of mathematics • What about implications for AI?
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
Propositional 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
From propositional planning to real-world planning • Incorporating the time dimension • Resource constraints • Contingencies: actions failing • “Qualification problem” • Hierarchical planning • Uncertainty • Observations • Multiagent planning