版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-P?

科學百科
原創(chuàng)
科學百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

**P#**是一款以Common Language Infrastructure撰寫的Prolog語言直譯器。

簡介**P#**是一款以Common Language Infrastructure撰寫的Prolog語言直譯器。

特色:

擴展Prolog語言,使其支持并發(fā)機制。

Prolog可以生成任何的.NET對象。

能與微軟.NET Framework和Mono相容。1

PrologPrologProgramming inLogic的縮寫)是一種邏輯編程語言。它創(chuàng)建在邏輯學的理論基礎(chǔ)之上, 最初被運用于自然語言等研究領(lǐng)域?,F(xiàn)在它已廣泛的應(yīng)用在人工智能的研究中,它可以用來建造專家系統(tǒng)、自然語言理解、智能知識庫等。

歷史Prolog語言最早由Aix-Marseille大學的Alain Colmerauer與Phillipe Roussel等人于60年代末研究開發(fā)。1972年被公認為是Prolog語言正式誕生的年份,自1972年以后,分支出多種Prolog的方言。最主要的兩種方言為Edinburgh和Aix-Marseille。最早的Prolog解釋器由Roussel建造,而第一個Prolog編譯器則是David Warren編寫的。

Prolog一直在北美和歐洲被廣泛使用。日本政府曾經(jīng)為了建造智能計算機而用Prolog來開發(fā)ICOT第五代計算機系統(tǒng)。在早期的機器智能研究領(lǐng)域,Prolog曾經(jīng)是主要的開發(fā)工具。

80年代Borland開發(fā)的Turbo Prolog,進一步普及了Prolog的使用。1995年確定了ISO Prolog標準。

特點有別于一般的函數(shù)式語言,prolog的程序是基于謂詞邏輯的理論。最基本的寫法是定立對象與對象之間的關(guān)系,之后可以用詢問目標的方式來查詢各種對象之間的關(guān)系。系統(tǒng)會自動進行匹配及回溯,找出所詢問的答案。

Prolog代碼中以大寫字母開頭的元素是變量,字符串、數(shù)字或以小寫字母開頭的元素是常量。下劃線(_)被稱為匿名變量。

語法示例表示事實:

human(kate).human(bill).likes(kate,bill).表示kate和bill是人(human),kate喜歡bill,而表示規(guī)則:

friend(X,Y):-likes(X,Y),likes(Y,X).表示對于兩個對象XY,如果X喜歡Y,且Y喜歡X,那么他們是朋友。2

參見Visual Prolog

LISP

non-Monotonic Logic

本詞條內(nèi)容貢獻者為:

王慧維 - 副研究員 - 西南大學