邏輯程序設(shè)計(jì)語言PROLOG

邏輯程序設(shè)計(jì)語言PROLOG

ID:38477692

大?。?79.05 KB

頁數(shù):42頁

時間:2019-06-13

邏輯程序設(shè)計(jì)語言PROLOG_第1頁
邏輯程序設(shè)計(jì)語言PROLOG_第2頁
邏輯程序設(shè)計(jì)語言PROLOG_第3頁
邏輯程序設(shè)計(jì)語言PROLOG_第4頁
邏輯程序設(shè)計(jì)語言PROLOG_第5頁
資源描述:

《邏輯程序設(shè)計(jì)語言PROLOG》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第2章邏輯程序設(shè)計(jì)語言PROLOG2.1基本PROLOG2.2TurboPROLOG程序設(shè)計(jì)2.1基本PROLOG2.1.1PROLOG的語句1.事實(shí)(fact)格式〈謂詞名〉(〈項(xiàng)表〉).student(john).like(mary,music).abc.repeat.功能一般表示對象的性質(zhì)或關(guān)系。2.規(guī)則(rule)格式〈謂詞名〉(〈項(xiàng)表〉):-〈謂詞名〉(〈項(xiàng)表〉){,〈謂詞名〉(〈項(xiàng)表〉)}.bird(X):-animal(X),has(X,feather).grandfather(X,Y):-father(X,Z),fath

2、er(Z,Y).run:-start,step1(X),step2(X),end.功能一般表示對象間的因果關(guān)系、蘊(yùn)含關(guān)系或?qū)?yīng)關(guān)系。3.問題(question)格式?-〈謂詞名〉(〈項(xiàng)表〉){,〈謂詞名〉(〈項(xiàng)表〉)}.?-student(john).?-like(mary,X).功能問題表示用戶的詢問,它就是程序運(yùn)行的目標(biāo)。2.1.2PROLOG的程序PROLOG程序一般由一組事實(shí)、規(guī)則和問題組成。問題是程序執(zhí)行的起點(diǎn),稱為程序的目標(biāo)。likes(bell,sports).likes(mary,music).likes(mary,spor

3、ts).likes(jane,smith).friend(john,X):-likes(X,reading),likes(X,music).friend(john,X):-likes(X,sports),likes(X,music).?-friend(john,Y).?-likes(mary,X).或?-likes(mary,music).或?-friend(X,Y).或?-likes(bell,sports),likes(mary,music),friend(john,X).2.1.3PROLOG程序的運(yùn)行機(jī)理1.自由變量與約束變

4、量2.匹配合一兩個謂詞可匹配合一,是指兩個謂詞的名相同,參量項(xiàng)的個數(shù)相同,參量類型對應(yīng)相同,并且對應(yīng)參量項(xiàng)還滿足下列條件之一:(1)如果兩個都是常量,則必須完全相同。(2)如果兩個都是約束變量,則兩個約束值必須相同。(3)如果其中一個是常量,一個是約束變量,則約束值與常量必須相同。(4)至少有一個是自由變量??紤]下面的各組謂詞是否可匹配合一?pre1(″ob1″,″ob2″,Z)pre1(″ob1″,″ob3″,Y)pre1(″ob1″,″ob2″,Z)pre1(″ob1″,X,″ob3″)pre1(″ob1″,″ob2″,Z)pre1(

5、″ob1″,X,Y)3.回溯所謂回溯,就是在程序運(yùn)行期間,當(dāng)某一個子目標(biāo)不能滿足(即謂詞匹配失敗)時,控制就返回到前一個已經(jīng)滿足的子目標(biāo)(如果存在的話),并撤消其有關(guān)變量的約束值,然后再使其重新滿足。成功后,再繼續(xù)滿足原子目標(biāo)。如果失敗的子目標(biāo)前再無子目標(biāo),則控制就返回到該子目標(biāo)的上一級目標(biāo)(即該子目標(biāo)謂詞所在規(guī)則的頭部)使它重新匹配?;厮菀彩荘ROLOG的一個重要機(jī)制。likes(bell,sports).likes(mary,music).likes(mary,sports).likes(jane,smith).friend(john,X)

6、:-likes(X,reading),likes(X,music).friend(john,X):-likes(X,sports),likes(X,music).?-friend(john,Y).則求解目標(biāo)為friend(john,Y).新目標(biāo)likes(X,reading),likes(X,music).2.2TurboPROLOG程序設(shè)計(jì)2.2.1程序結(jié)構(gòu)/*〈注釋〉*/〈編譯指令〉constants〈常量說明〉domains〈域說明〉database〈數(shù)據(jù)庫說明〉predicates〈謂詞說明〉goal〈目標(biāo)語句〉cla

7、uses〈子句集〉例如果把上節(jié)的例子程序作為TurboPROLOG程序,則應(yīng)改寫為:DOMAINSname=symbolPREDICATESlikes(name,name).friend(name,name)GOALfriend(john,Y),write(″Y=″,Y).CLAUSESlikes(bell,sports).likes(mary,music).likes(mary,sports).likes(jane,smith).friend(john,X):-likes(X,sports),likes(X,music).fr

8、iend(john,X):-likes(X,reading),likes(X,m

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

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

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