1.4 知识表示
当我们考虑人工智能相关的问题时,恰当地表示问题很重要。为了处理知识并产生智能结果,人工智能系统需要获取和存储知识,也需要识别和表示知识的能力。选择何种表示形式是理解和解决问题的本质。
正如数学家George Pólya所言,选择一个好的表示几乎和为特定问题设计算法或解决方案一样重要。使用良好和自然的表示形式有助于快速得到可理解的解决方案。
作为体现表示选择重要性的一个例子,让我们考虑著名的“传教士和野人过河”问题。假设我们的目标是用一艘船将3名传教士和3个野人从一条河的西岸转移到东岸。在从西向东渡河过程中的任何时刻,通过选择适当的表示,你都可以找到解决问题的路径。这个问题有两个限制:船在任何时候最多只能容纳两个人,而且河的任何一边岸上的野人人数永远不能超过传教士人数,否则传教士会被野人吃掉。
你可以在维基百科的missionaries and cannibals problem词条页面找到这个问题[以及相关的“嫉妒的丈夫”(jealous husbands)问题]的解决方案。
1.4.1 基于逻辑的解决方案
人工智能研究人员将基于逻辑的方法用于知识表示和问题求解。Terry Winograd的积木世界(1972年)是一个将逻辑用于此用途的开创性例子,在这个例子中,一个机器人手臂与桌面上的积木进行交互。这个项目涵盖了语言理解、场景分析,以及人工智能领域的其他问题。
此外,许多成功的专家系统是用产生式规则和产生式系统构建的。产生式规则和专家系统的吸引力在于能够清晰、简洁地表示启发式方法的可行性。数以千计的专家系统已经采用这种方法完成了构建。
1.4.2 语义网络
语义网络是知识的另一种图形表示(尽管很复杂)。语义网络先于使用继承的面向对象语言(其中来自特定类的对象继承了超类的许多属性)。
使用语义网络的大部分工作集中在知识表示和语言结构上,如Stuart Shapiro 的语义网络处理系统和Roger Schank在自然语言处理方面的工作。
对于知识表示,还存在其他替代方法。图形化方法对视觉、空间、运动等感官具有更大的吸引力。最早的图形化方法可能是状态空间表示法,它显示了系统所有可能的状态。