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

正文內(nèi)容

人工智能程序設(shè)計語言150-wenkub

2023-03-11 16:15:11 本頁面
 

【正文】 CONS函數(shù) 格式 (CONSS─表達式 表 ) 功能將 S─表達式作為一個元素加到表中去 , 并作為所構(gòu)成新表中的第一個元素 。 1. 表處理函數(shù) 表處理是 LISP的主要特色 , 表處理的函數(shù)也很多 ,下面僅給出最常用的幾個 。NIL))) 可以看出,表的 S─表達式的結(jié)構(gòu)實際是一棵二叉樹。(BNIL)) (ABC) (A 二者的關(guān)系由下面的例子說明 。 表的一般形式為: (S─表達式 S─表達式 …S─ 表達式 ) 第 2章 人工智能程序設(shè)計語言 例如: (X Y Z),(+12),(A (B C)) 左括號后面的第一個元素稱為表頭 , 其余的元素組成的表稱為表尾 。B) (A 第 2章 人工智能程序設(shè)計語言 S─表達式可以遞歸定義如下: (1) 原子是 S─表達式 。如 LISP Program。 原子又可分為文字原子 、 串原子和數(shù)字原子三種 。 例如下面就是一個 LISP程序 。 (3) 遞歸是 LISP語言的主要控制結(jié)構(gòu) 。 統(tǒng)一型又可分為具有歸結(jié)語義的函數(shù)型語言和集成式語言兩個子類 。 其中最純正 、 最具面向?qū)ο箫L格的語言當推 Smalltalk, 而最流行的 OOP語言是 C++, Java則是適于網(wǎng)絡(luò) (Inter)環(huán)境的一種面向?qū)ο笳Z言 。 面向?qū)ο蟪绦蛞云湫畔㈦[蔽 、 封裝 、 繼承 、 多態(tài) 、 消息傳遞等一系列優(yōu)良機制 , 大大改善了軟件的復(fù)雜性 、 模塊性 、 重用性和可維護性 , 有望從根本上解決軟件的生產(chǎn)效率問題 。 早期 PROLOG版本都是解釋型的 , 1986年美國的Borland公司推出了編譯型 PROLOGTurboPROLOG,并很快成為 PC機上流行的 PROLOG。 第 2章 人工智能程序設(shè)計語言 邏輯型語言 邏輯型程序設(shè)計語言起源于PROLOG(PROgramminginLOGic的縮寫 )。 LISP程序由一組函數(shù)組成 , 程序的執(zhí)行過程就是一系列的函數(shù)調(diào)用和求值過程 。 但 LISP還不是純函數(shù)型語言 , 準確地講 , 它是基于 λ函數(shù)的語言 。 PROLOG語言首先由法國馬塞大學(xué)的 Colmerauer和它的研究小組于1972年研制成功,后來在歐洲得到進一步發(fā)展。 現(xiàn)在運行在Windows環(huán)境下的可視化編程語言 VisualPROLOG也已面世 。 另一方面 , 由于面向?qū)ο蟪绦蛟O(shè)計的類 、 對象 、繼承等概念 , 與人工智能特別是知識表示和知識庫產(chǎn)生了天然的聯(lián)系 。 第 2章 人工智能程序設(shè)計語言 混合型語言 以上三種語言都各有所長 , 但也都有其不足之處 。 第 2章 人工智能程序設(shè)計語言 2. 函數(shù)型與面向?qū)ο笙嘟Y(jié)合的語言 在 LISP語言的基礎(chǔ)上再擴充面向?qū)ο髾C制而產(chǎn)生的語言 , 稱為函數(shù)型的面向?qū)ο蟪绦蛟O(shè)計語言 (亦稱為面向?qū)ο蟮?LISP)。 (4) 程序以交互方式運行 。 (DEFUNHANOI(a b c n) (COND((=n1)(MOVEDISK a c)) (T(HANOI a c b(n1)) (MOVEDISK a c) (HANOI b a c(n1)))) 第 2章 人工智能程序設(shè)計語言 (DEFUNMOVEDISK(from to) (TERPRI) (PRINC″Move Disk From″) (PRINC from) (PRINCTo) (PRINC to)) (HANOI′a′b′c3) 第 2章 人工智能程序設(shè)計語言 S─表達式 從語法上看 , LISP程序的基本單位是 S─表達式 。 文字原子又稱符號 ( symbol) , 是以字母開頭的字母數(shù)字串 , 用來表示常量 、 變量和函數(shù)的名字等 。 數(shù)字原子由數(shù)字串組成 。 (2) 若 S1和 S2是 S─表達式 , 則 (S1(B 例如 , 對于表 (+12)的頭為 +, 尾為 (12)。 第 2章 人工智能程序設(shè)計語言 表 ← ———————————— →S 表達式 (A) (A(BNIL)) 第 2章 人工智能程序設(shè)計語言 基本函數(shù) LISP的函數(shù)都以表的形式出現(xiàn) , 并一律使用前綴表示方式 , 即表頭為函數(shù)名 , 并且每個函數(shù)都有一個返回值 。 第 2章 人工智能程序設(shè)計語言 1) CAR函數(shù) 格式 (CAR表 ) 其中 CAR為函數(shù)名 , 它是一個保留字 ( 下同 ) 。 例如: (CONS′My′(LISP Language Program)) 返回值為: (My LISP Language Program) 第 2章 人工智能程序設(shè)計語言 4) APPEND函數(shù) 格式 (APPEND表 1表 2… 表 n) 功能 將 n個表中的元素合并成一個新表 。 (+25) 表示 2+5, 返回值為 7。 表的值是通過函數(shù)運算而得到的 ,原子的值則是通過賦值函數(shù)實現(xiàn)的 。 例如: (SET′X′8)。 第 2章 人工智能程序設(shè)計語言 4. 謂詞函數(shù) 返回值為邏輯值真或假的函數(shù)稱為謂詞函數(shù) , 簡稱謂詞 。 第 2章 人工智能程序設(shè)計語言 (1) 原子謂詞 ATOM 格式 (ATOM參數(shù) ) 功能檢測其參數(shù)是否為原子 , 是則返回 T, 否則返回 NIL。 例如: (EQUAL′a′a)。例如:(EQ′a′a),則返回 T 第 2章 人工智能程序設(shè)計語言 (3)判空表函數(shù) NULL 格式 (NULL參數(shù) ) 功能判斷參數(shù)是否為空表,是則返回 T,否則返回NIL。否則 , 判斷 P2, …… 直到某個 Pi真為止 , 然后將對應(yīng)的ei作為函數(shù)值 。若 x為原子 , 則 COND的返回值為 1。 所以 , 一般來講 , LISP自定義函數(shù)就是由其基本函數(shù)組合而成的 。 階乘的公式是 n!= n (n1)! 1!= 1 0!= 1 由此我們給出其 LISP函數(shù)如下: (DEFUNN!(n) (COND((=n 0)1) ((=n 1)1) (T(* n(N!( n 1)))))) 第 2章 人工智能程序設(shè)計語言 可以看出 , 該函數(shù)的最后一行中又調(diào)用了它自己 。 這里是指數(shù)學(xué)上的一元函數(shù)求導(dǎo) 。 DRULE的定義為 (DEFUN DRULE(operator) (GET operator′d)) 其中操作符 d的特性值需事先用 SETF函數(shù)建立好 。du/dx+ u 第 2章 人工智能程序設(shè)計語言 由于篇幅所限 , 上面我們對 LISP語言僅做了簡要介紹 。 目前比較流行的有 INTERLISP、 MACLISP、 COMMONLISP。 第 2章 人工智能程序設(shè)計語言 PROLOG中的項包括由常量或變量表示的簡單對象以及函數(shù) 、 結(jié)構(gòu)和表等 ,即事實的形式是一個原子謂詞公式 。 作為特殊情形 , 一個事實也可以只有謂詞名而無參量 。 第 2章 人工智能程序設(shè)計語言 功能一般表示對象間的因果關(guān)系 、 蘊含關(guān)系或?qū)?yīng)關(guān)系 。 第 2章 人工智能程序設(shè)計語言 (question) 格式 ?謂詞名 (項表 ){,謂詞名 (項表 )}. 例如: ?student(john). ?like(mary,X). 就是兩個合法的問題 。 例如下面就是一個 PROLOG程序 。 問題不能與規(guī)則及事實排在一起 , 它作為程序的目標要么單獨列出 , 要么在程序運行時臨時給出 。 當然 , 對于不同的問題 , 程序運行的結(jié)果一般是不一樣的 。 那么 , 什么是匹配 、 合一和回溯呢 ? 下面我們就先介紹這幾個概念 。 (2)如果兩個都是約束變量 , 則兩個約束值必須相同 。 第 2章 人工智能程序設(shè)計語言 3. 回溯 所謂回溯 , 就是在程序運行期間 , 當某一個子目標不能滿足 ( 即謂詞匹配失敗 ) 時 , 控制就返回到前一個已經(jīng)滿足的子目標 ( 如果存在的話 ) , 并撤消其有關(guān)變量的約束值 , 然后再使其重新滿足 。 第 2章 人工智能程序設(shè)計語言 下面 , 我們介紹 PROLOG程序的運行過程 。 但由于這個語句又是一個規(guī)則 , 所以其結(jié)論要成立則必須其前提全部成立 。 可以看出 , 對第一個子目標 like(X,reading)的求解因無可匹配的事實和規(guī)則而立即失敗 , 進而導(dǎo)致規(guī)則 friend(john,X):likes(X,reading),likes(X,music). 的整體失敗 。 這次子目標 likes(X,sports)與程序中的事實立即匹配成功 , 且變量 X被約束為 bell。 由于系統(tǒng)已經(jīng)記住了剛才已同第一子目標謂詞匹配過的事實的位置 , 所以重新求解時 ,便從下一個事實開始測試 。 由于兩個子目標都求解成功,所以,原目標friend(john,Y)也成功,且變量 Y被約束為 mary(由 Y與 X的合一關(guān)系 )。 我們把上述程序的運行過程再用示意圖 ( 圖 2─1) 描述如下: 第 2章 人工智能程序設(shè)計語言 圖 2─1 PROLOG程序運行機理示例 第 2章 人工智能程序設(shè)計語言 上述程序的運行是一個通過推理實現(xiàn)的求值過程 。其具體實現(xiàn)方法是:匹配子句的順序是自上而下;子目標選擇順序是從左向右;(歸結(jié)后)產(chǎn)生的新子目標總是插入被消去的目標處(即目標隊列的左部)。 各段以其相應(yīng)的關(guān)鍵字 c onstant s、domains、 database、 predicates、 goal和 clauses開頭加以標識 。 如若省略 goal段 , 則可在程序運行時臨時給出 , 但這僅當在開發(fā)環(huán)境中運行程序時方可給出 。 領(lǐng)域的說明可能會出現(xiàn)多層說明 , 直到最終說明到 Turbo PROLOG的標準領(lǐng)域為止 (如上例所示 )。 第 2章 人工智能程序設(shè)計語言 目標段 該段是放置程序目標的地方 。 第 2章 人工智能程序設(shè)計語言 Turbo PROLOG的數(shù)據(jù)與表達式 1)標準領(lǐng)域 Turbo PROLOG中不定義變量的類型 , 只說明謂詞中各個項的取值域 。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1