过程知识和声明式知识的区别
我们可以以各种形式将知识表达给计算机系统中的推理引擎来解决问题。知识有两种重要的表示形式,即过程知识和声明式知识。过程知识和声明式知识之间的基本区别在于,过程知识除了提供知识之外,还提供控制信息,而声明式知识只提供知识,而不提供实施知识的控制信息。
通读本文,进一步了解过程知识和声明式知识,以及它们之间的区别。
什么是过程知识?
过程或命令式知识阐明了如何执行特定任务。它规定了执行的步骤。因此,过程知识提供了实施知识所需的必要控制信息。
示例
以下示例演示了如何以过程方式使用 JavaScript 复制数组:
var a = [1, 2, 3, 4, 5]; var b = []; for(var i=0; i < a.length; i++) { b.push(a[i]); } console.log(b);
输出
[ 1, 2, 3, 4, 5 ]
什么是声明式知识?
声明式或函数式知识阐明了要执行特定任务的内容。它规定了要执行的函数。因此,在声明式知识中,只提供了知识,而没有提供实施知识的控制信息。因此,为了使用声明式知识,我们必须将声明式知识与提供控制信息的程序结合起来。
示例
以下示例演示了如何以声明方式使用 JavaScript 复制数组:
var a = [1, 2, 3, 4, 5]; var b = a.map(function(number){ return number*1 }); console.log(b);
输出
它将产生以下输出[1, 2, 3, 4, 5]
过程知识和声明式知识的区别
下表重点介绍了过程知识和声明式知识之间的重要区别:
关键 | 过程知识 | 声明式知识 |
---|---|---|
含义 | 过程知识提供了如何完成特定任务的知识。 | 声明式知识提供了关于某事物的基本知识。 |
替代名称 | 过程知识也称为命令式知识。 | 声明式知识也称为函数式知识 |
基础 | 过程知识围绕着概念的“如何”。 | 声明式知识围绕着概念的“什么”。 |
沟通 | 过程知识难以沟通。 | 声明式知识易于沟通。 |
方向 | 过程知识是面向过程的。 | 声明式知识是面向数据的。 |
验证 | 过程知识的验证并不容易。 | 声明式知识的验证非常容易。 |
调试 | 过程知识的调试并不容易。 | 声明式知识的调试非常容易。 |
用途 | 过程知识的使用频率较低。 | 声明式知识更通用。 |
表示 | 过程知识由一组规则表示。 | 声明式知识由产生式系统表示。 |
来源 | 过程知识来源于行动、经验、主观见解等。 | 声明式知识来源于原则、程序、概念、过程等。 |
结论
从以上讨论中,我们可以得出结论:过程知识涉及知识中的意识感知和意识计划,而声明式知识不包括意识感知和计划。
广告