《人工智能的幻灯片ch9-inference-in-fol》由会员分享,可在线阅读,更多相关《人工智能的幻灯片ch9-inference-in-fol(54页珍藏版)》请在金锄头文库上搜索。
1、IX. Inference in First-order logic,Autumn 2012 Instructor: Wang Xiaolong Harbin Institute of Technology, Shenzhen Graduate School Intelligent Computation Research Center (HITSGS),Outline,Reducing first-order inference to propositional inference Unification Generalized Modus Ponens Forward chaining B
2、ackward chaining Resolution,Universal instantiation (UI),Every instantiation of a universally quantified sentence is entailed by it: v Subst(v/g, ) for any variable v and ground term g E.g., x King(x) Greedy(x) Evil(x) yields: King(John) Greedy(John) Evil(John) King(Richard) Greedy(Richard) Evil(Ric
3、hard) King(Father(John) Greedy(Father(John) Evil(Father(John),Existential instantiation (EI),For any sentence , variable v, and constant symbol k that does not appear elsewhere in the knowledge base: v Subst(v/k, ) E.g., x Crown(x) OnHead(x,John) yields: Crown(C1) OnHead(C1,John) provided C1 is a ne
4、w constant symbol, called a Skolem constant,Reduction to propositional inference,Suppose the KB contains just the following: x King(x) Greedy(x) Evil(x) King(John) Greedy(John) Brother(Richard,John) Instantiating the universal sentence in all possible ways, we have: King(John) Greedy(John) Evil(John
5、) King(Richard) Greedy(Richard) Evil(Richard) King(John) Greedy(John) Brother(Richard,John) The new KB is propositionalized: proposition symbols are King(John), Greedy(John), Evil(John), King(Richard), etc.,Reduction contd.,Every FOL KB can be propositionalized so as to preserve entailment (A ground
6、 sentence is entailed by new KB iff entailed by original KB) Idea: propositionalize KB and query, apply resolution, return result Problem: with function symbols, there are infinitely many ground terms, e.g., Father(Father(Father(John),Reduction contd.,Theorem: Herbrand (1930). If a sentence is entai
7、led by an FOL KB, it is entailed by a finite subset of the propositionalized KB Idea: For n = 0 to do create a propositional KB by instantiating with depth (n) terms see if is entailed by this KB Problem: works if is entailed, loops if is not entailed Theorem: Turing (1936), Church (1936) Entailment
8、 for FOL is semidecidable (algorithms exist that say yes to every entailed sentence, but no algorithm exists that also says no to every nonentailed sentence.),Problems with propositionalization,Propositionalization seems to generate lots of irrelevant sentences. E.g., from: x King(x) Greedy(x) Evil(
9、x) King(John) y Greedy(y) Brother(Richard,John) it seems obvious that Evil(John), but propositionalization produces lots of facts such as Greedy(Richard) that are irrelevant With p k-ary predicates and n constants, there are pnk instantiations.,Unification,We can get the inference immediately if we
10、can find a substitution such that King(x) and Greedy(x) match King(John) and Greedy(y) = x/John,y/John works Unify(p , q) = if Subst (, p) = Subst (, q) p q Knows(John,x) Knows(John,Jane) Knows(John,x) Knows(y,OJ) Knows(John,x) Knows(y,Mother(y) Knows(John,x) Knows(x,OJ),Unification,We can get the i
11、nference immediately if we can find a substitution such that King(x) and Greedy(x) match King(John) and Greedy(y) = x/John,y/John works Unify(p , q) = if Subst (, p) = Subst (, q) p q Knows(John,x) Knows(John,Jane) x/Jane Knows(John,x) Knows(y,OJ) Knows(John,x) Knows(y,Mother(y) Knows(John,x) Knows(
12、x,OJ),Unification,We can get the inference immediately if we can find a substitution such that King(x) and Greedy(x) match King(John) and Greedy(y) = x/John,y/John works Unify(p , q) = if Subst (, p) = Subst (, q) p q Knows(John,x) Knows(John,Jane) x/Jane Knows(John,x) Knows(y,OJ) x/OJ,y/John Knows(
13、John,x) Knows(y,Mother(y) Knows(John,x) Knows(x,OJ),Unification,We can get the inference immediately if we can find a substitution such that King(x) and Greedy(x) match King(John) and Greedy(y) = x/John,y/John works Unify(p , q) = if Subst (, p) = Subst (, q) p q Knows(John,x) Knows(John,Jane) x/Jan
14、e Knows(John,x) Knows(y,OJ) x/OJ,y/John Knows(John,x) Knows(y,Mother(y) y/John,x/Mother(John) Knows(John,x) Knows(x,OJ),Unification,We can get the inference immediately if we can find a substitution such that King(x) and Greedy(x) match King(John) and Greedy(y) = x/John,y/John works Unify(p , q) = i
15、f Subst (, p) = Subst (, q) p q Knows(John,x) Knows(John,Jane) x/Jane Knows(John,x) Knows(y,OJ) x/OJ,y/John Knows(John,x) Knows(y,Mother(y) y/John,x/Mother(John) Knows(John,x) Knows(x,OJ) fail Standardizing apart eliminates overlap of variables, e.g., Knows(z17,OJ),Unification,To unify Knows(John,x) and Knows(y,z), = y/John, x/z or = y/John, x/John, z/John The first unifier is more general than the second. There is a single most general unifier (MGU) that is unique up to renaming of variables. MGU = y/John, x/z ,The un