Logic: The Big Picture • Propositional logic: atomic statements are facts – Inference via resolution is sound and complete 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 i f inference – Resolution is still sound and complete, but not guaranteed to terminate on non-entailed sentences guaranteed to terminate on non entailed sentences (semidecidable) – Simple inference procedures (forward chaining and b backward chanining) available for knowledge bases k d h i i ) il bl f k l d b consisting of definite clauses
Logic programming: Prolog • FOL: King(x) ∧ Greedy(x) ⇒ Evil(x) Greedy(y) King(John) • Prolog: g evil(X) :- king(X), greedy(X). greedy(Y). king(john). g(j ) • Closed-world assumption: – Every constant refers to a unique object 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 Prolog example parent(abraham,ishmael). parent(abraham,isaac). parent(isaac,esau). parent(isaac,jacob) parent(isaac,jacob). grandparent(X,Y) :- parent(X,Z), parent(Z,Y). descendant(X,Y) :- parent(Y,X). descendant(X Y) : parent(Y X) descendant(X,Y) :- parent(Z,X), descendant(Z,Y). ? parent(david,solomon). ? parent(abraham,X). ? grandparent(X,Y). g p ? descendant(X,abraham).
Prolog example Prolog example parent(abraham,ishmael). parent(abraham,isaac). parent(isaac,esau). parent(isaac,jacob) 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) : descendant(Z Y) parent(Z X) descendant(X,Y) :- parent(Y,X). ? descendant(W,abraham). • Backward chaining would go into an infinite loop! g g p – Prolog inference is not complete , so the ordering of the clauses and the literals is really important
Backward chaining algorithm Backward chaining algorithm
Graph coloring 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 Prolog lists • Appending two lists to produce a third: append([],Y,Y). append([X|L],Y,[X|Z]) :- append(L,Y,Z). append(A,B,[1,2]) • query: A=[] B=[1,2] [] [1 2] • answers: 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 i is consistent , complete , and decidable i t t l t d d id bl • 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): p ( ) – Any consistent logic system strong enough to capture natural numbers and arithmetic will contain true sentences that cannot be proved p • Halting problem (Turing, 1936): – There cannot be a general algorithm for deciding whether a given statement about natural numbers is true statement about natural numbers is true • Profound implications for foundations of mathematics – What about implications for AI?
Applications of logic Applications of logic • Automated theorem proving in mathematics Automated theorem proving in mathematics – Robbins conjecture proved in 1996 • Software verification Software verification • Software synthesis • VLSI verification VLSI verification • VLSI design • Planning • Planning http://www.cs.miami.edu/~tptp/OverviewOfATP.html
Planning Planning • What is planning? p g – 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 Scheduling of tasks in space missions – Logistics planning for the army – Assembly lines, industrial processes 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) ∧ Start state: At(P1 RDU) ∧ Plane(P1) ∧ Airport(RDU) ∧ Airport(ORD) – Goal state: At(P1, ORD) • Actions are described in terms of their preconditions A ti d ib d i t f th i diti and effects: – Fly(p, source, destination) y(p, , ) • Precond: At(p, source) ∧ Plane(p) ∧ Airport(source) ∧ Airport(destination) • Effect: ¬At(p source) ∧ At(p destination) At(p, source) ∧ At(p, destination) Effect: • Search problem: starting with the start state, find all applicable actions (actions for which preconditions are satisfied), compute the successor state based on the ti fi d) t th t t b d th effects, etc.
Complexity of planning Complexity of planning • Planning is PSPACE-complete Planning is PSPACE complete – Plans can be exponential in length! – Example: tower of Hanoi Example: tower of Hanoi
From propositional planning to real-world planning • Incorporating the time dimension Incorporating the time dimension • Resource constraints • Contingencies: actions failing Contingencies: actions failing • “Qualification problem” • Hierarchical planning • Hierarchical planning • Uncertainty • Observations • Observations • Multiagent planning
Recommend
More recommend