资源预览内容
第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
第9页 / 共54页
第10页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
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 Backward 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(Richard) 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 new 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) 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 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 entailed 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 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(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 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 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) Knows(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/Jane Knows(John,x) Knows(y,OJ) x/OJ,y/John Knows(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/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),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(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
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号