Prolog是一种基于逻辑的计算机编程语言。大多数计算机语言都基于解决问题所需的步骤。另一方面,Prolog语言是一种“声明性”语言,它表示实体之间的逻辑关系。解决这个问题的办法留给了计算机。Prolog这个名字来自法语programation en LOGique,即编程逻辑。
以下是一个简单的Prolog程序:
祖先(F,C):-父亲(F,C)和#13;祖先(P,Q):-父亲(P,R),祖先(R,Q)和#13;父亲(约翰、吉姆) 父亲(吉姆,杰瑞) 父亲(杰瑞,杰森) 父亲(杰瑞,杰夫) 父亲(杰森,约书亚)。
上面的程序表明了真理。如果F是C的父亲,那么F是C的祖先。如果P是某个人R的父亲,R是Q的祖先,那么P是Q的祖先。然后给出了一些真实的事实,例如约翰是吉姆的父亲。如果有人问约翰是否是杰夫的祖先,我们得到的回答是“是”,如下所示:
?- 祖先(约翰,杰夫) 对
如果对约书亚的祖先感兴趣,那么程序将显示所有祖先,如下所示:
?- 祖先(A,约书亚)和#13;A=jason
;A=jerry
;A=吉姆
;约翰
请注意,在上述两种情况下,程序都没有说明如何进行评估。例如,它没有说明是从老年人开始,然后以自己的方式工作到年轻人,还是反之亦然。也可按如下方式互换部件:
祖先(P,Q):-祖先(R,Q),父亲(P,R)
这对程序没有任何影响,因为右侧的这两个部分都需要为真才能使左侧为真。
因此,Prolog语言关注的是关系,而不是如何解决问题。在程序执行过程中,Prolog建立了许多true语句,创建了一个知识库。在上面的示例中,知识库没有特定的顺序,将有祖先(john,jim)、祖先(jim,jerry)、祖先(john,jerry)、祖先(jim,jason)、祖先(john,jason)等等。该知识库可以在程序执行时继续建立,并可以高效地搜索以获得解决方案。执行可以使用并行处理,由多台计算机同时执行。
Prolog语言用于许多领域。它开始于面向自然语言的系统,如英语;自然语言是人工智能的一个领域。Prolog语言也用于符号数学,包括代数。它用于证明定理、专家系统和控制系统,以及许多其他应用。
...语言和第二语言的表格形式 5. 摘要 什么是第一语言(first language)? 母语是一个人首先学会的语言。我们也把这种第一语言称为母语和母语。它实际上是你在家里学习和说的语言。因此,孩子们从父母、祖父母或监护人那里学习...
...二语言与外语的表格形式 6. 摘要 什么是第二语言(a second language)? 第二语言(L2)不是说话人的母语,而是一种用于公共交流的语言,尤其是在贸易、高等教育和行政管理方面。第二语言也指在多语种国家正式承认和接受的非母...
...言与表格形式的汇编语言 6. 摘要 什么是机器语言(machine language)? 人类可以理解高级编程语言。没有必要对CPU内部有深入的了解,使用高级语言编程。它们遵循与英语相似的语法。java、C++、C++、Python是一些高级编程语言。计算...
高级语言(high level language)和低级语言(low level language)的区别 计算机根据用户提供的指令工作。为执行某项任务而编写的一组指令是一个计算机程序。计算机程序的集合称为软件。计算机程序或软件是用计算机编程语言编写的...
...第一语言和第二语言的区别。 什么是第一语言(a first language)? 第一语言是婴儿从出生到大约7或8岁所习得的语言。即使过了这些年,他们仍然可以继续学习这门语言,掌握所有的惯用表达方式、句子结构以及更多的领域。孩...
...程语言之间有什么区别? 什么是脚本语言(a scripting language)? 脚本语言,顾名思义,是一种支持脚本的编程语言。脚本语言绑定了一组协作解决特定问题的软件组件。脚本假定存在强大的组件,并提供将它们连接在一起的方...
...单词和句子表达思想的能力。 什么是接受性语言(receptive language)? 接受性语言是理解语言的能力。接受性语言技能包括对口语和书面语的理解和反应。尽管如此,接受性语言不仅涉及词汇技能,还涉及理解手势、解释问题、陈...
主要差异语言(main difference language) vs. 文学(literature) 语言和文学是两个相互关联的概念。语言可以简单地定义为对声音、单词和句子的研究,而文学是对书面作品的研究。文学的存在完全是以语言为基础的。语言和文学...
主要差异语言(main difference language) vs. 方言(dialect) Language is the method of human communication, either spoken or written, c***isting of the use of words in a structured and conventional way. Dialect is a variety of language distinguished by grammar, pronunciation, or vocab...
... 口语的主要区别(main difference spoken) vs. 书面语言(written language) Language can be mainly divided into two main aspects: spoken language and written language. There are many differences between spoken and written language. Spoken language involves speaking and listening skills wher...