PROLOG語言
[拼音]:PROLOG yuyan
[外文]:PROLOG language
一種邏輯程序設(shè)計語言。1972年法國科莫勞埃小組為了提高歸結(jié)法的執(zhí)行效率,研制出一個定理證明程序的程序執(zhí)行器,取名為PROLOG(Programming In Logic),標志著第一個邏輯程序設(shè)計語言PROLOG的誕生。1974年及以后,R.科瓦爾斯基進一步從謂詞邏輯的HORN子句的角度闡明PROLOG的理論基礎(chǔ),系統(tǒng)地提出邏輯程序設(shè)計的思想。
PROLOG語言的基本語句有三類,分別代表事實、規(guī)則和詢問,并同有頭(無體、有體)和無頭的HORN子句相對應(yīng)。例如:
因而用PROLOG語言進行的程序設(shè)計可歸結(jié)為宣布事實,定義規(guī)則和提出詢問。
PROLOG程序的解釋執(zhí)行過程采用特定的輸入歸結(jié),即從目標語句出發(fā)求出它和原來子句集的一個子句的歸結(jié)式(尾部和頭部匹配),新的子句再與原來子句集的一個子句求歸結(jié)式,以此類推。任一時刻都不在兩個導出子句或原來子句集的兩子句間求歸結(jié)式。上例中
(6):-human(u),greek(u)(④和⑤的歸結(jié)式,mgu=u/x)
(7):-greek(socarates)(②和 ⑥的歸結(jié)式,mgu=socarates/u)
(8):- ?。á酆廷叩臍w結(jié)式,得空子句)問題答案是u=socarates。由此可見,PROLOG解釋系統(tǒng)實際上就是一個以歸結(jié)原理為基礎(chǔ)的定理證明程序或問題求解程序。
時空效率較低是影響PROLOG語言應(yīng)用的重要問題,提高效率的途徑是:改進PROLOG解釋系統(tǒng),采用PROLOG編譯系統(tǒng),研制PROLOG機,引入用于控制的元規(guī)則,采用啟發(fā)式搜索方式,啟用智能回溯,采用協(xié)同、并發(fā)求解技術(shù),開發(fā)并行處理機制。
由于PROLOG解釋程序能根據(jù)推理規(guī)則自動尋求問題的解,程序設(shè)計者就可把主要精力放在揭示對象間的邏輯關(guān)系上而不必過多地考慮過程的細節(jié),這是向自動程序設(shè)計方向邁進了一步。但是PROLOG語言還具有一些非邏輯特征。例如為了控制回溯,采用CUT技術(shù)(切斷技術(shù),意即程序人員用CUT符!通知系統(tǒng)不再考慮過去已進行過但無用的搜索通路而且也無須記錄回溯點的技術(shù)),引入謂詞assert(在數(shù)據(jù)庫中增添子句)ret ract(從數(shù)據(jù)庫中刪除子句)。這就使得系統(tǒng)的公理集合在推理過程中發(fā)生變化,這些都同一階邏輯的基本思想不符。因此PROLOG還不是嚴格意義下的邏輯程序設(shè)計語言。為了使其更加邏輯化,需要將語言的非邏輯成分限制到最低程度,這方面的研究正在進行中。
- 參考書目
-
- W.F.Clocksin and C.S.Mellish, Programming in Prolog, Springer-Verlag, Berlin, 1981.
建筑資質(zhì)代辦咨詢熱線:13198516101
標簽:PROLOG語言
版權(quán)聲明:本文采用知識共享 署名4.0國際許可協(xié)議 [BY-NC-SA] 進行授權(quán)
文章名稱:《PROLOG語言》
文章鏈接:http://www.fjemb.com/13917.html
該作品系作者結(jié)合建筑標準規(guī)范、政府官網(wǎng)及互聯(lián)網(wǎng)相關(guān)知識整合。如若侵權(quán)請通過投訴通道提交信息,我們將按照規(guī)定及時處理。