程序性知识和陈述性知识之间的区别

程序性知识和陈述性知识之间的区别

我们可以将知识以各种形式表达给计算机系统中的推理引擎,以解决这些问题。有两种重要的知识表现形式,即程序性知识和陈述性知识。程序性知识和陈述性知识的基本区别在于,程序性知识在提供知识的同时也提供了控制信息,而陈述性知识只提供了知识,但没有提供实现知识的控制信息。

阅读本文,了解更多关于程序性知识和陈述性知识以及它们之间的区别。

什么是程序性知识?

程序上的 阐明了如何执行某项任务。它规定了执行的步骤。因此,程序性知识提供了实施知识所需的基本控制信息。

示例

下面的例子显示了如何用程序化的方式用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 ]

什么是陈述性知识

声明性 阐明了为执行某项任务应该做什么。它规定了要执行的功能。因此,在陈述性知识中,只提供了知识,但没有提供实现知识的控制信息。因此,为了使用陈述性知识,我们必须在陈述性知识中加入一个提供控制信息的程序。

示例

var a = [1, 2, 3, 4, 5];
var b = a.map(function(number){
   return number*1
});
console.log(b);

输出

它将产生以下输出

[1, 2, 3, 4, 5]

程序性知识与陈述性知识的区别

下表突出了程序性知识和陈述性知识之间的重要区别 −

Key 程序性知识 陈述性知识
Meaning 程序性知识提供了如何完成特定任务的知识。 陈述性知识提供了关于某事的基本知识。
Alternate name 程序性知识也称为命令性知识。 陈述性知识也称为功能性知识
Basis 程序性知识围绕着概念的“如何”展开。 陈述性知识围绕着概念的“什么”展开。
Communication 程序性知识很难沟通。 陈述性知识很容易传播。
Orientation 程序性知识是以过程为导向的。 陈述性知识是面向数据的。
Validation 程序知识的验证不是很容易。 在陈述性知识中,验证是非常容易的。
Debugging 在过程知识中,调试不是很容易。 在声明性知识中,调试是非常容易的。
Use 程序性知识不太常用。 陈述性知识更一般。
Representation 程序性知识由一组规则表示。 陈述性知识用产生式系统表示。
Source 程序性知识是从行动、经验、主观见解等中获得的。 陈述性知识是从原则、过程、概念、过程等方面获得的。

总结

由上述讨论,我们可以得出结论,程序性知识中包含有意识的知觉和有意识的规划,而陈述性知识不包含有意识的知觉和规划。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程