Prolog語言基礎(chǔ)知識.pdf

Prolog語言基礎(chǔ)知識.pdf

ID:56979468

大小:134.25 KB

頁數(shù):12頁

時(shí)間:2020-07-30

Prolog語言基礎(chǔ)知識.pdf_第1頁
Prolog語言基礎(chǔ)知識.pdf_第2頁
Prolog語言基礎(chǔ)知識.pdf_第3頁
Prolog語言基礎(chǔ)知識.pdf_第4頁
Prolog語言基礎(chǔ)知識.pdf_第5頁
資源描述:

《Prolog語言基礎(chǔ)知識.pdf》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、Prolog語言基礎(chǔ)知識一.數(shù)據(jù)結(jié)構(gòu)PROLOG語言與其他任何一種計(jì)算機(jī)高級語言一樣,有其定義的數(shù)據(jù)結(jié)構(gòu)。下面將介紹PROLOG語言的基本數(shù)據(jù)結(jié)構(gòu)。1.常量常量是數(shù)據(jù)結(jié)構(gòu)的基本組成部分,用來對特定對象及關(guān)系的命名。在PROLOG語言中,合法的常量有:(1)整數(shù),一個純數(shù)字串,例182000,581202。(2)原子,分為兩種:1)標(biāo)識符:以小寫字母開頭的,包含字母、數(shù)字、下劃線的串,例aBC12,is_。2)符號:PROLOG語言規(guī)定的符號集的非空序列,例?、-、=。若原子用單引號廠(‘’)括住,則可含有任何字符。(3)字符集a

2、b...z2.變量變量是用來表示還無法知道且需要PROLOG程序來確定的客體。變量用變量名表示,變量名與標(biāo)識符相似,所不同的是以大寫字母或下劃線開頭。例Variable,_ansure。PROLOG語言中有一個特殊的變量,不需要知道它是什么以及具體名字,只是表示留出一位置,稱為匿名變量。用單一的下劃線(_)來表示。比如只想知道是否有人喜歡跳舞,但不需知道這個人的名字,這時(shí)就可以用匿名變量。3.結(jié)構(gòu)結(jié)構(gòu)是PROLOG語言中的第三類數(shù)據(jù)結(jié)構(gòu);用于構(gòu)造PROLOG數(shù)據(jù)對象。一個結(jié)構(gòu)是一個單一的客體,它由一個函子和一個或多個稱為分量的項(xiàng)

3、的序列組成。其書寫形式為函子(分量1,分量2,…,分量n)其中的分量也可以是結(jié)構(gòu)。例如可用結(jié)構(gòu)描述事實(shí)"Mary住zhongshan路120號":person(mary,address(zhongshan,120)).此例中address是一個具有兩個分量即路名和門牌號的結(jié)構(gòu)。該結(jié)構(gòu)是作為事實(shí)的一個分量出現(xiàn),它將作為關(guān)系中的一個客體來對待。當(dāng)然,結(jié)構(gòu)中的分量也可以是結(jié)構(gòu),如上例可寫成:person(name(mary),address(street(zhongshan),number(120))).其中name,address,

4、street,number均為結(jié)構(gòu)。這樣,該事實(shí)的表示更一目了然了。在PROLOG語言中,常用的結(jié)構(gòu)形式有:(1)函子(分量1,分量2,...,分量n)。如上例Mary的住所。(2)表。表是PROLOG語言中最常用的數(shù)據(jù)結(jié)構(gòu),它由一些有序分量組成,其長度可任意。有序即表示表中的分量次序是有意義的。同樣,表的分量可以是原子、結(jié)構(gòu)等,當(dāng)然也可以是表。例如含有3個分量a,b,c的表可寫成[a,b,c]。如用函數(shù)的方式可寫成.(a.(b.(c[])))。其中符號"."是表的函子,也就是說,表是以"."為函子的特殊結(jié)構(gòu)。(3)表達(dá)式。PR

5、OLOG語言提供了各種運(yùn)算,如算術(shù)運(yùn)算、比較運(yùn)算等。PROLOG語言中的運(yùn)算可以是中綴形式,簡明直觀,符合人們的習(xí)慣。算術(shù)表達(dá)式X+Y&Z中,"+"、"&"便是運(yùn)算符,該表達(dá)式如用函數(shù)結(jié)構(gòu)形式來表示就是+(X&(YZ))。所以,表達(dá)式也是一種結(jié)構(gòu)。PROLOG語言提供了統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)--項(xiàng)(term)。在PROLOG中,無論是程序還是數(shù)據(jù),都是由項(xiàng)構(gòu)成。項(xiàng)的定義為<項(xiàng)>::=<常量>

6、<變量>

7、<結(jié)構(gòu)>

8、“(”<項(xiàng)>“)”每一個項(xiàng)書寫為一個字符串。二.程序結(jié)構(gòu)PROLOG語言的程序結(jié)構(gòu)非常簡單,由三部分組成,即事實(shí)、規(guī)則和詢問。

9、1.事實(shí)事實(shí)用來說明有關(guān)客體及客體之間的相互關(guān)系。事實(shí)和規(guī)則都是邏輯推理的前提。例如John喜歡Mary(JohnLike。Mary)。這是一個事實(shí),它包含了兩個客體John和Mary及一個關(guān)系likes。用PROLOG語言的標(biāo)準(zhǔn)形式描寫即為likes(john,mary).事實(shí)中的關(guān)系(如likes)稱為謂詞,客體稱為自變量。事實(shí)的語義是表示該語句恒為真。在PROLOG語言的標(biāo)準(zhǔn)形式中,謂詞和確定的客體(常量)必須以小寫字母開頭,而變量客體用大寫字母開頭,客體間用逗號","分開,用一對圓括號括住,最后用“.”終結(jié)。下面是一些事

10、實(shí)的例子:female(jane).ane是女性。play(jane,mary,chess).ane和mary下棋。關(guān)系中自變量的個數(shù)是任意的,而語句意義的解釋由程序員所確定。如likes(john,mary),可解釋成John喜歡Mary,也可解釋成Mary喜歡John。因此解釋一個謂詞含義是完全由程序設(shè)計(jì)者決定的,但一經(jīng)確定,就必須在整個程序中遵守。事實(shí)的語法與結(jié)構(gòu)相似。事實(shí)中的謂詞對應(yīng)于結(jié)構(gòu)的函子,而事實(shí)中的自變量則對應(yīng)于結(jié)構(gòu)的分量。2.規(guī)則規(guī)則是關(guān)于客體及其關(guān)系的一般陳述,表明某些關(guān)系的成立要依賴于其他一些關(guān)系的成立。規(guī)

11、則可以是事實(shí)的一種緊湊的表現(xiàn)形式。自然語言中,用"如果"一詞來說明規(guī)則。在PROLOG語言中,規(guī)則由規(guī)則頭和規(guī)則體組成,其間用符號":-"連接。符號":-"表示"如果"。規(guī)則用"."結(jié)尾。例如"如果某人是學(xué)生,則john就喜歡該人"。用PROLOG語言書寫應(yīng)為l

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。