freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

人工智能程序設(shè)計(jì)語(yǔ)言150(文件)

 

【正文】 所以 , 復(fù)合對(duì)象可表達(dá)樹(shù)形數(shù)據(jù)結(jié)構(gòu) 。 例如 ,對(duì)于上面的謂詞 likes(Tom,sports(football,basketball,tabletennis)). 在程序中可說(shuō)明如下: domains name=symbol sy=symbol sp=sports(sy,sy,sy) predicates likes(name,sp) 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 3) 表 表的一般形式是 [ x1,x2,… ,xn] 其中 xi(i=1,2,… ,n)為 PROLOG的項(xiàng) , 一般要求同一個(gè)表的元素必須屬于同一領(lǐng)域 。 表的元素也可以是結(jié)構(gòu)或表 , 且這時(shí)其元素可以屬于不同領(lǐng)域 。 它是遞歸結(jié)構(gòu)的另一種表達(dá)形式 。(a,[ ] ) [ a] (b, 例如對(duì)于下面謂詞 p中的表 p([ name(Liming),age(20)] ) 則需這樣說(shuō)明 : domains rec=seg* seg=name(string)。 這后一種變量稱(chēng)為無(wú)名變量 。 算術(shù)表達(dá)式的形式與數(shù)學(xué)中的形式基本一樣 。 求出的值可用來(lái)實(shí)例化某變量 , 也可用來(lái)同其他數(shù)量進(jìn)行比較 , 用一個(gè)算術(shù)表達(dá)式的值實(shí)例化一個(gè)變量的方法是用謂詞 “ is” 或 “ =”來(lái)實(shí)現(xiàn) 。 若按 Turbo PROLOG中的原子形式來(lái)表示 , 則上面的兩個(gè)例子為 =(X+1,Y)和 (X,Y) 所以上述六種關(guān)系運(yùn)算符 , 實(shí)際上也就是 Turbo PROLOG內(nèi)部定義好了的六個(gè)謂詞 。 例如: brother(Name1,Name2):person(Name1,man,Age1), person(Name2,man,Age2), mother(Z,Name1),mother(Z,Name2), Age1Age2. 需要說(shuō)明的是 , “ =” 的用法比較特殊 , 它既可以表示比較 , 也可以表示約束值 , 即使在同一個(gè)規(guī)則中的同一個(gè) “ =” 也是如此 。 即這時(shí)機(jī)器把 X+Y的值,與 Z的值進(jìn)行比較。 為此每種具體 PROLOG一般都提供專(zhuān)門(mén)的輸入和輸出謂詞 , 供用戶直接調(diào)用 。 這個(gè)謂詞的功能是從鍵盤(pán)上讀取一個(gè)整數(shù) , 然后約束給變量 X, 如果鍵盤(pán)上打入的不是整數(shù)則該謂詞失敗 。 這個(gè)謂詞的功能是從鍵盤(pán)上讀取一個(gè)字符 , 然后約束給變量 X, 如果鍵盤(pán)上打入的不是單個(gè)字符 , 則該謂詞失敗 。 它使后面的輸出 (如果有的話 )另起一行 。 PREDICATES student(integer,string,real) grade GOAL grade. CLAUSES 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 student(1,張三 ,). student(2,李四 ,). student(3,王五 ,). grade:write(請(qǐng)輸入姓名 :),readln(Name), student(,Name,Score), nl,write(Name,的成績(jī)是 ,Score). grade:write(“對(duì)不起,找不到這個(gè)學(xué)生 !” ). grade:write(對(duì)不起 , 找不到這個(gè)學(xué)生 !). 下面是程序運(yùn)行時(shí)的屏幕顯示 : 請(qǐng)輸入姓名: 王五的成績(jī)是 。 例如: Br :x0,x=1. Br :x=0,x=0. Br :x0,x=1. 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 PROLOG可以實(shí)現(xiàn)計(jì)循環(huán)次數(shù)的 FOR循環(huán) , 也可以實(shí)現(xiàn)不計(jì)循環(huán)次數(shù)的 DO循環(huán) 。 下面的程序段實(shí)現(xiàn)的則是不計(jì)數(shù)的 DO循環(huán) 。 因?yàn)?fail是恒失敗 ,下面若無(wú)出口的話 , 將引起 print本身的失敗 。 Turbo PROLOG提供了三個(gè)動(dòng)態(tài)數(shù)據(jù)庫(kù)操作謂詞 : asserta (fact). assertz (fact). retract (fact). 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 其中 fact表示事實(shí) 。 注意 , 這里用了無(wú)名變量 。 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 例如語(yǔ)句 asserta(student(20,李明 ,)). 將在內(nèi)存的謂詞名為 student的事實(shí)前插入一個(gè)新事實(shí): student(20,李明 ,) 如果內(nèi)存中還沒(méi)有這樣的事實(shí) , 則它就是第一個(gè) 。 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 動(dòng)態(tài)數(shù)據(jù)庫(kù) 動(dòng)態(tài)數(shù)據(jù)庫(kù)就是在內(nèi)存中實(shí)現(xiàn)的動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu) 。 這個(gè)程序段與上面的程序段的差別僅在于把原來(lái)用計(jì)數(shù)器 ( 或標(biāo)記數(shù) ) 循環(huán)控制語(yǔ)句變成了恒失敗謂詞 fail, 另外再增加了一個(gè) print語(yǔ)句 。 student(1,張三 ,). student(2,李四 ,). student(3,王五 ,). print:student(Number,Name,Score), write(Number,Name,Score),n l , Number=3. 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 這個(gè)例子可以看作是計(jì)數(shù)循環(huán) 。 對(duì)于通常的 IFTHENELSE分支結(jié)構(gòu) , PROLOG可用兩條同頭的并列規(guī)則實(shí)現(xiàn) 。 例如: write(name), n l ,write(age) 與 write(name,\n,age) 的效果完全一樣 。 這個(gè)謂詞的功能是把項(xiàng) Xi(i=1,2,… n)的值顯示在屏幕上或者打印在紙上 , 當(dāng)有某個(gè) Xi未實(shí)例化時(shí) , 該謂詞失敗 , 其中的 Xi可以是變量 , 也可以是字符串或數(shù)字 。 這個(gè)謂詞的功能是從鍵盤(pán)上讀取一個(gè)實(shí)數(shù) , 然后約束給變量 X, 如果鍵盤(pán)上打入的不是實(shí)數(shù)則該謂詞失敗 。 這個(gè)謂詞的功能是從鍵盤(pán)上讀取一個(gè)字符串 , 然后約束給變量 X。 如: Goal:p(3,5,Z). 機(jī)器回答: Z=8 這時(shí) , 機(jī)器使 Z實(shí)例化為 X+Y的結(jié)果 。 如:對(duì)于問(wèn)題 Goal:p(3,5,8). 機(jī)器回答: yes。 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 所以上述六種關(guān)系運(yùn)算符 , 實(shí)際上也就是 Turbo PROLOG內(nèi)部定義好了的六個(gè)謂詞 。 例如 , 在 PROLOG中下面的式子是錯(cuò)誤的 : X=X+1 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 4. 關(guān)系表達(dá)式 Turbo PROLOG提供了六種常用的關(guān)系運(yùn)算,即小于、小于或等于、等于、大于、大于或等于和不等于,其運(yùn)算符依次為 ,=,=,=, Turbo PROLOG的關(guān)系表達(dá)式的形式和數(shù)學(xué)中的也基本一樣 , 例如: 數(shù)學(xué)中的關(guān)系式 Turbo PROLOG中的關(guān)系式 X+1≥Y X+1=Y X≠Y XY 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 即是說(shuō) , Turbo PROLOG中的關(guān)系式也用中綴形式 。 這種算術(shù)表達(dá)式為 PROLOG的一種異體結(jié)構(gòu) , 若以 PROLOG的結(jié)構(gòu)形式來(lái)表示 ,則它們應(yīng)為 +(X,*(Y,Z)) (*(A,B),/(C,D)) mod(U,V) 所以 , 運(yùn)算符 +、 、 *、 /和 m o d實(shí)際也就是PROLOG內(nèi)部定義好了的函數(shù)符 。這五種運(yùn)算的順序?yàn)椋?*、 /、 mod優(yōu)先于 +、 。 同理 , Turbo PROLOG的變量也就有這八種取值 。 如: domains lists=string* predicates pl(lists) 就說(shuō)明謂詞 pl中的項(xiàng) lists是一個(gè)由串 string組成的表。(b,[ ] )) [ a,b] 這里我們就用一個(gè)圓點(diǎn)來(lái)表示 。 后一個(gè)例子說(shuō)明 , 表也可以嵌套 。例如下面就是一些合法的表。 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 又如: person(張華 ,student(西安石油學(xué)院 ),address(中國(guó) ,陜西 ,西安 )). reading(王宏 ,book(人工智能技術(shù)基礎(chǔ)教程 ,西安電子科技大學(xué)出版社 )). friend(father(Li),father(Zhao)). 這幾個(gè)謂詞中都有復(fù)合對(duì)象。 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 結(jié)構(gòu)的一般形式為 函子 (參量表 ) 其中函子及參量的標(biāo)識(shí)符與謂詞相同 。 這種目標(biāo)稱(chēng)為復(fù)合目標(biāo) 。 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 表 Turbo PROLOG的標(biāo)準(zhǔn)領(lǐng)域 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 謂詞段該段說(shuō)明程序中用到的謂詞的名和參量項(xiàng)的名 (但 Turbo PROLOG的內(nèi)部謂詞無(wú)須說(shuō)明 )。 另一方面 , 一個(gè)程序也只能有一個(gè) goal段 。總之,一個(gè)完整的 TurboPROLOG( )程序的結(jié)構(gòu)如下 /*注釋 */ 編譯指令 constants 常量說(shuō)明 domains 域說(shuō)明 database 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 數(shù)據(jù)庫(kù)說(shuō)明 predicates 謂詞說(shuō)明 goal 目標(biāo)語(yǔ)句 clauses 子句集 第 2章 人工智能程序設(shè)計(jì)語(yǔ)言 當(dāng)然 , 一個(gè)程序不一定要包括上述所有段 , 但一個(gè)程序至少要有一個(gè) predicates段 、 clauses段和 goal段 。 SLD歸結(jié)就是 PROLOG程序的運(yùn)行機(jī)理,它也就是所謂的 PROLOG語(yǔ)言的過(guò)程性語(yǔ)義。 例如 , 把上述程序中的詢問(wèn)改為
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1