Prolog

✍ dations ◷ 2025-02-23 16:55:05 #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:

相关

  • 耐药性耐药性(drug resistance)是指药物的治疗疾病或改善病人征状的效力降低。当投入药物浓度不足,不能杀死或抑制病原时,残留的细菌可能具有抵抗此种药物的能力。例如细菌可能因抗生
  • 线粒体线粒体(mitochondrion)是一种存在于大多数真核细胞中的由两层膜包被的细胞器,直径在0.5到10微米左右。除了溶组织内阿米巴、蓝氏贾第鞭毛虫以及几种微孢子虫外,大多数真核细胞或
  • 全身麻醉药全身麻醉剂(英语:general anesthetics)是麻醉药中的一类。麻醉药根据作用部位的不同,可分为全身麻醉药(general anesthetics)和局部麻醉药(local anesthetics)。全身麻醉药作用于中
  • 两性霉素两性霉素B(英语:Amphotericin B,商品名:Fungizone),一种具有抑菌或杀菌作用的抗霉菌剂。对新生隐球菌、白色念珠菌、组织胞浆菌、球孢子菌、酿母菌均具抑制作用。其所产生的药效端
  • 系统发育系统发生树(英语:phylogenetic tree)又称演化树或进化树(evolutionary tree),是表明被认为具有共同祖先的各物种间演化关系的树状图。是一种亲缘分支分类方法(cladogram)。在图中,每
  • 头疼头痛,又叫头疼(英语:headache),是一种在头部、颈部或肩膊以上位置发生的局部疼痛。许多头部和颈部问题的症状都是头痛。头痛表现种类繁多,可能是偏头痛、紧缩型头痛(英语:tension-ty
  • 王冠王冠,可以是:
  • 拟车轮虫属拟车轮虫属的齿体由齿钩、齿锥和齿棘组成,齿钩嵌合疏松,口围绕度180-270度。
  • 香颂香颂(法语:chanson,法语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gentium","Gen
  • 2010年海地地震2010年海地地震于UTC2010年1月12日21时53分9秒(海地当地时间12日下午16时53分9秒)左右发生,地震震级为里氏震级7.0级。震中位于海地首都太子港以西南方25千米,震源距离地表13千