什么是序言语言?(prolog language?)

Prolog是一种基于逻辑的计算机编程语言。大多数计算机语言都基于解决问题所需的步骤。另一方面,Prolog语言是一种“声明性”语言,它表示实体之间的逻辑关系。解决这个问题的办法留给了计算机。Prolog这个名字来自法语programation en LOGique,即编程逻辑。...

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语言也用于符号数学,包括代数。它用于证明定理、专家系统和控制系统,以及许多其他应用。

  • 发表于 2021-12-14 14:30
  • 阅读 ( 73 )
  • 分类:互联网

你可能感兴趣的文章

第一语言(first language)和第二语言(second language)的区别

...语言和第二语言的表格形式 5. 摘要 什么是第一语言(first language)? 母语是一个人首先学会的语言。我们也把这种第一语言称为母语和母语。它实际上是你在家里学习和说的语言。因此,孩子们从父母、祖父母或监护人那里学习...

  • 发布于 2020-09-29 15:31
  • 阅读 ( 316 )

第二语言(second language)和外语(foreign language)的区别

...二语言与外语的表格形式 6. 摘要 什么是第二语言(a second language)? 第二语言(L2)不是说话人的母语,而是一种用于公共交流的语言,尤其是在贸易、高等教育和行政管理方面。第二语言也指在多语种国家正式承认和接受的非母...

  • 发布于 2020-10-18 06:53
  • 阅读 ( 779 )

机器语言(machine language)和汇编语言(assembly language)的区别

...言与表格形式的汇编语言 6. 摘要 什么是机器语言(machine language)? 人类可以理解高级编程语言。没有必要对CPU内部有深入的了解,使用高级语言编程。它们遵循与英语相似的语法。java、C++、C++、Python是一些高级编程语言。计算...

  • 发布于 2020-10-20 02:53
  • 阅读 ( 645 )

高级语言(high level language)和低级语言(low level language)的区别

高级语言(high level language)和低级语言(low level language)的区别 计算机根据用户提供的指令工作。为执行某项任务而编写的一组指令是一个计算机程序。计算机程序的集合称为软件。计算机程序或软件是用计算机编程语言编写的...

  • 发布于 2020-10-23 20:12
  • 阅读 ( 661 )

第一语言(first language)和第二语言(second language)的区别

...第一语言和第二语言的区别。   什么是第一语言(a first language)? 第一语言是婴儿从出生到大约7或8岁所习得的语言。即使过了这些年,他们仍然可以继续学习这门语言,掌握所有的惯用表达方式、句子结构以及更多的领域。孩...

  • 发布于 2021-06-25 18:17
  • 阅读 ( 394 )

脚本语言(scripting language)和程序设计语言(programming language)的区别

...程语言之间有什么区别?   什么是脚本语言(a scripting language)? 脚本语言,顾名思义,是一种支持脚本的编程语言。脚本语言绑定了一组协作解决特定问题的软件组件。脚本假定存在强大的组件,并提供将它们连接在一起的方...

  • 发布于 2021-06-26 05:00
  • 阅读 ( 669 )

接受的(receptive)和表达性语言(expressive language)的区别

...单词和句子表达思想的能力。 什么是接受性语言(receptive language)? 接受性语言是理解语言的能力。接受性语言技能包括对口语和书面语的理解和反应。尽管如此,接受性语言不仅涉及词汇技能,还涉及理解手势、解释问题、陈...

  • 发布于 2021-06-27 06:55
  • 阅读 ( 516 )

语言(language)和文学(literature)的区别

主要差异语言(main difference language) vs. 文学(literature) 语言和文学是两个相互关联的概念。语言可以简单地定义为对声音、单词和句子的研究,而文学是对书面作品的研究。文学的存在完全是以语言为基础的。语言和文学...

  • 发布于 2021-06-27 13:30
  • 阅读 ( 246 )

语言(language)和方言(dialect)的区别

主要差异语言(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...

  • 发布于 2021-06-28 00:29
  • 阅读 ( 1018 )

口语(spoken)和书面语言(written language)的区别

... 口语的主要区别(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...

  • 发布于 2021-06-28 00:49
  • 阅读 ( 454 )
爱鹿lu的王源
爱鹿lu的王源

0 篇文章

相关推荐