Prolog

✍ dations ◷ 2025-08-29 05:08:58 #Prolog
Prolog(Programming in Logic的缩写)是一种逻辑编程语言。它创建在逻辑学的理论基础之上, 最初被运用于自然语言等研究领域。现在它已广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。Prolog语言最早由Aix-Marseille大学的Alain Colmerauer与Phillipe Roussel等人于60年代末研究开发。1972年被公认为是Prolog语言正式诞生的年份,自1972年以后,分支出多种Prolog的方言。最主要的两种方言为Edinburgh和Aix-Marseille。最早的Prolog解释器由Roussel建造,而第一个Prolog编译器则是David Warren编写的。Prolog一直在北美和欧洲被广泛使用。日本政府曾经为了建造智能计算机而用Prolog来开发ICOT第五代计算机系统。在早期的机器智能研究领域,Prolog曾经是主要的开发工具。80年代Borland开发的Turbo Prolog,进一步普及了Prolog的使用。1995年确定了ISO Prolog标准。有别于一般的函数式语言,prolog的程序是基于谓词逻辑的理论。最基本的写法是定义对象与对象之间的关系,之后可以用询问目标的方式来查询各种对象之间的关系。系统会自动进行匹配及回溯,找出所询问的答案。Prolog代码中以大写字母开头的元素是变量,字符串、数字或以小写字母开头的元素是常量。下划线(_)被称为匿名变量。表示事实:表示kate和bill是人(human),kate喜欢bill,而表示规则:表示对于两个对象XY,如果X喜欢Y,且Y喜欢X,那么他们是朋友。示例如下:快速排序示例(对list作排序):下面简洁的排序示例可以体会到为什么AI领域喜用Prolog:示范罗素悖论在Prolog下会导致Stack Overflow:

相关

  • 抗心律不整药抗心律失常药(英语:Antiarrhythmic agents)是一类用于抑制心脏非正常节律(心律失常)的药物,这些情况例如心房颤动、心房扑动、心室性心搏过速以及心室颤动。很多人试图将此类药物
  • 环张力在有机化学中,环张力是当分子内的键结形成不正常角度时存在的不稳定类型。张力大多在小的环上,像是环丙烷和环丁烷这种其碳-碳-碳角度与近乎109°的理想值大大偏离的类型。.
  • 幽浮学幽浮学(Ufology)或飞碟学或UFO研究是指对不明飞行物体(UFO)报告、目击事件、物理现象与相关奇异现象的各种研究。尽管多年来,幽浮出没的报告都一直受到政府、独立团队及科学家等
  • 泌乳素1n9d, 3d48, 1rw5· STAT protein nuclear translocation · regulation of JAK-STAT cascade · female pregnancy · regulation of multicellular organism growth
  • 花梗花梗(Pedicel)是连接花与花序主茎之间的短柄。一个花梗上可具有多朵花。若干花梗组合成的一段茎干称之为总花梗。
  • 数量级数量级是指数量的尺度或大小的级别,每个级别之间保持固定的比例。通常采用的比例有 10、2、1000、1024、e (欧拉数,大约等于 2.71828182846 的超越数,即自然对数的底)。通常情况
  • 反刍反刍是指动物将胃内的食物倒流回口腔内再次咀嚼的行为,需要分为多个胃室的胃。在休息时将半消化的食浆重新咀嚼,然后将这样再次磨碎的食物咽下,通过微生物消化其他只有一个胃的
  • 托尔伯特县塔尔博特县(Talbot County, Georgia)是美国乔治亚州西部的一个县。面积1,022平方公里。根据美国2000年人口普查,共有人口6,498人。县治托尔伯顿(Talbotton)。成立于1827年12月14
  • 莫卧儿王朝莫卧儿帝国,又称莫卧儿王朝、蒙兀儿王朝(波斯语:شاهان گورکانی‬‎ Shāhān-e Gūrkānī;乌尔都语:مغلیہ سلطنت‬‎‎;英语:Mughal Empire,1526年-1858年),是
  • 阿蒙霍特普一世阿蒙霍特普一世 (英语文献中一般写作:Amenhotep I;?—约前1506年)古埃及第十八王朝法老(约前1525年—约前1506年在位)。阿蒙霍特普一世是雅赫摩斯一世与雅赫摩斯-纳菲尔泰丽的第三