专栏编者导语:超越“知道如是”的知识逻辑
2017-01-20王彦晶
专栏编者导语:超越“知道如是”的知识逻辑
辛提卡(J.Hintikka)1962年出版的开创性著作《知识与信念:这两个概念的逻辑导论》中为认知逻辑(Epistemic Logic)1“认知逻辑”中的“认知”在中文中易与“cognitive”的意思发生混淆,编者倾向于称谈论知识的“Epistemic Logic”为“知识逻辑”,这也更贴近英文“epistemic”的本意。奠定了理论基础。作为一种哲学逻辑,认知逻辑在其诞生之初受到了很多哲学家的批评,在上世纪七十年代一度发展较为缓慢。然而由于知识及信念的形式化概念的重要性和普遍性,认知逻辑在过去三、四十年间被广泛应用于包括理论计算机、人工智能、博弈论等领域中,并再次影响哲学界成为形式化知识论的重要工具,而由应用推动的诸多技术进展也使之成为现代模态逻辑非常活跃的重要分支之一。2感兴趣的读者可以参考[1]。
然而,现有的认知逻辑中知识推理的研究多集中于可以用知道如是(knowing that)表示的命题知识上,例如“我知道天在下雨”(Iknow thatit is raining)。事实上,在自然语言中我们还用到很多其他的方式来表达知识,例如:知道是否(knowing whether)这个定理是对的,知道什么(knowing what)是他的密码,知道如何(knowing how)去北大等等。这些表达式出现的频率并不比知道如是低,下表为谷歌搜索相应英文字段结果的统计(以百万计):
X that whether what how who why“know X”542 30.3 592 490 122 102“knows X”53.9 0.55 63.2 75.8 9.27 0.53
上述表达式(在英文里)都有同样的形式:“知道”+一个疑问词。有趣的是,把上面的“知道”换成“相信”一般来讲并不符合语法。例如你可以说我知道如何去北大但你不能说我相信如何去北大,而且此现象跨语言普遍存在。语言学家会对动词做分类,讨论哪些动词可以带疑问词。(参见[2])哲学家们更关心这些表达式所谈论的知识和命题知识之间到底什么关系。例如,我知道如何游泳的知识是否也能像其他命题知识一样一条条写下来而被人所知?(参见[4])作为逻辑学家,我们更关心这些表达式的推理模式有什么特殊的地方。
辛提卡的早期工作就已经开始讨论这些知识表达式的形式化了。例如,他认为知道谁是John可以被写成具有从物(de re)形式的一阶模态公式∃xKJohn=x(注意∃和模态词K的相对位置)。可是由于一阶模态逻辑一度受到以蒯因为代表的哲学家的强烈批评,当时技术上也确实存在很多未解决的问题,再加之一阶逻辑本身的不可判定性使之丧失了命题模态逻辑计算性上的优势,这样的处理方案似乎并没得到学界的充分重视。在认知逻辑半个世纪的发展中相关的工作并不很多。3关于辛提卡早期的贡献以及之后的晚近相关工作可见[7]中的综述。甚至在Fagin等人的重要著作《知识推理》[3]以及最近出版的《认知逻辑手册》[1]中都鲜有提及一阶认知逻辑的进路。
不过我们还是可以从过往文献中得到一些有意义的启示。比如源于哲学传统的非偶然逻辑(non-contingency logic)讨论的非偶然算子本质上就是知识推理语境下的知道是否算子,但这些相关工作之前都不被认知逻辑学家所知晓。再比如,J.Plaza发表于1989年的著名文章《公开交流的逻辑》([6])中除引入公开宣告逻辑之外,其实还引入了一个知道值算子用来表示主体知道某个参数c的取值是什么(knowing what the value of c is)。4值得一提的是,北京大学的马希文和郭维德在更早的时候就提出过这个算子(命名为∗算子)见[5,9]。事实上马希文先生在八十年代初的另一篇文章[8]中也已经讨论了公开宣告导致可能世界更新的思想,并提出一个自动推理系统。其实这也不是偶然的,Jan Plaza和马希文当时的出发点(受到J.McCarthy的影响)都是想形式化的解决Sum and Product这类逻辑谜题,而这既需要知道值算子又需要语义上的更新算法。这类工作的特点是把know-X作为整体打包成一个模态词(本质上至少包括一个存在量词和一个模态词),而不去引入自由出现的量词,以此来避免量化模态逻辑的各种问题。
通过引入各种know-X算子得到的新的知识逻辑会有很多特别的地方。例如正规模态逻辑的K公理对于知道是否并不成立:我知道是否p且我知道是否p→q并不意味着我知道是否q。再比如,知道如何开门又知道如何关门并不意味着知道如何同时开门又关门(模态词对合取的分配对知道如何不成立)。另外,显然一个命题是重言式并不意味着你知道为何它是重言式(必然化规则对知道为何不成立)。同时,这些逻辑也并非严格的弱于正规模态逻辑,比如知道是否p与知道是否¬p等价。这些需要不太一样的模态逻辑技术进行处理。
过去几年在这个领域有了很多进展(详见[7]),而这个专栏的三篇文章则是一些最新成果。范杰博士的文章讨论了知道是否反面的无知算子的逻辑在各种更新方式下的元理论性质,有趣的是有些时候宣告一些主体的无知反而会带来更多的知识。该文在技术上进行了各种相关逻辑之间的表达能力的比较,给出了群体无知逻辑的一个基于无穷规则的公理化。李延军博士讨论了知道如何算子的一种弱化语义:知道如何在给定ψ的情况下实现φ意味着你有一个计划,使得在任何ψ成立的状态下都可以通过执行这个计划最终停在一个φ的状态上。特别注意的是,这个语义并不要求计划一定可以被执行完毕,这也是该工作和前期工作的区别。这样的语义下得到的知道如何逻辑有所弱化,文章证明了弱化的逻辑系统的完全性和可判定性。丁一峰在知道值逻辑的基础上进一步讨论关于两个变量间函数依赖关系(functional dependency)的知识逻辑。知道d(函数的)依赖于c直观上意味着在你所考虑的函数域里有一个函数可以解释在你所有不可区分世界上d与c的值之间的依赖关系。根据函数域的不同,最终得到的可靠完全的逻辑也有所不同。文章最后还讨论了一个把函数域作为模型参数的统一的知识逻辑,并给出了完全性证明。
希望这三篇文章能对读者有所启发,也欢迎有兴趣的同仁加入到这类超越知道如是范式的新一代知识逻辑的研究当中。
[1]H.van Ditmarsch,J.Halpern,W.van der Hoek and B.Kooi(eds.),2015,Handbook of Epistemic Logic,College Publications.
[2]P.Egré,2008,“Question-embedding and factivity”,Grazer Philosophische Studien,77(1):85–125.
[3]R.Fagin,J.Halpern,Y.Moses and M.Vardi,1995,Reasoning About Knowledge,Cambridge,MA:MIT Press.
[4]J.Fantl,2008,“Knowing-how and knowing-that”,PhilosophyCompass,3(3):451–470.
[5]X.Ma and W.Guo,1983,“W-JS:A modal logic of knowledge”,Proceedings of the 8th International Joint Conference on Artificial Intelligence.pp.398–401.
[6]J.A.Plaza,1989,“Logics of public communications”,Proceedings of the 4th International Symposium on Methodologies for Intelligent Systems,pp.201–216.
[7]Y.Wang,2016,“Beyond knowing that:A new generation of epistemic logics”,Jaakko Hintikka on Knowledge and Game Theoretical Semantics(forthcoming),http://arxiv. org/abs/1605.01995.
[8]马希文,“有关‘知道’的逻辑问题的形式化”,哲学研究,1981年第05卷,第30–38页。
[9]马希文,郭维德,“W-JS有关‘知道’的模态逻辑”,计算机研究与发展,1982年第12卷,第1–12页。
王彦晶北京大学哲学系y.wang@pku.edu.cn
2016-11-19