2.6 归结法与Prolog 语言 逻辑程序设计始于70年代,由Kowalski 和Colmerauer 引入的。逻辑对人工智能来说是一种重要的知识表示方法和推理方法,而且还可对逻辑给予一种过程解释,从而形成一种程序设计语言,如prolog。这种逻辑语言是一种描述性(表示问题)语言,其控制(如何求解)过程由逻辑程序设计系统本身实现,无需程序设计人员给出问题算法。Roussel于1972年在马赛大学实现了一种逻辑程序设计的解释程序prolog。这个系统的控制过程是基于归结原理的,当然作为一种逻辑程序设计系统来说不是必须基于归结方法的。 2.6.1 Prolog 语句 Prolog 有三种形式语句 语句 B← ![]() ![]() 含义是 ![]() ![]() ![]() ![]() ![]() ![]() 语句 ← ![]() ![]() 含义是 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 语句 B← 含义是公式B无条件地为真。可视作已知事实,是过程体为空过程。 另外空语句□表矛盾语句,相当于空子句,表停机语句。 Prolog 解释过程是归结反演过程,归结的描述是若有语句 ← ![]() ![]() ![]() B← ![]() 其中B与 ![]() ←( ![]() ![]() ![]() ![]() ![]() 如将← ![]() ![]() ![]() |