Presentation on theme: "Logic: The Big Picture Propositional logic: atomic statements are facts –Inference via resolution is sound and complete (though likely computationally."— Presentation transcript:
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). 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= B= A=[1,2] B=
Logic: The Big Picture The original goal of formal logic was to axiomatize mathematics –Hilberts program (1920s): find a formalization of mathematics that is consistent, complete, and decidableHilberts program Completeness theorem (Gödel, 1929):Completeness theorem –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):Incompleteness theorem –Any consistent logic system strong enough to capture natural numbers and arithmetic will contain true sentences that cannot be proved Halting problem (Turing, 1936):Halting problem –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 1996Robbins conjecture proved in 1996 Software verification Software synthesis VLSI verification VLSI design Planning
Planning What is planning? –Finding a sequence of actions to achieve ones 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 Hanoitower 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