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

正文內(nèi)容

人工智能程序設(shè)計語言150-文庫吧在線文庫

2025-03-14 16:15上一頁面

下一頁面
  

【正文】 (A(B 數(shù)字原子由數(shù)字串組成 。 (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─表達式 。 第 2章 人工智能程序設(shè)計語言 2. 函數(shù)型與面向?qū)ο笙嘟Y(jié)合的語言 在 LISP語言的基礎(chǔ)上再擴充面向?qū)ο髾C制而產(chǎn)生的語言 , 稱為函數(shù)型的面向?qū)ο蟪绦蛟O(shè)計語言 (亦稱為面向?qū)ο蟮?LISP)。 另一方面 , 由于面向?qū)ο蟪绦蛟O(shè)計的類 、 對象 、繼承等概念 , 與人工智能特別是知識表示和知識庫產(chǎn)生了天然的聯(lián)系 。 PROLOG語言首先由法國馬塞大學的 Colmerauer和它的研究小組于1972年研制成功,后來在歐洲得到進一步發(fā)展。 LISP程序由一組函數(shù)組成 , 程序的執(zhí)行過程就是一系列的函數(shù)調(diào)用和求值過程 。 早期 PROLOG版本都是解釋型的 , 1986年美國的Borland公司推出了編譯型 PROLOGTurboPROLOG,并很快成為 PC機上流行的 PROLOG。 其中最純正 、 最具面向?qū)ο箫L格的語言當推 Smalltalk, 而最流行的 OOP語言是 C++, Java則是適于網(wǎng)絡(luò) (Inter)環(huán)境的一種面向?qū)ο笳Z言 。 (3) 遞歸是 LISP語言的主要控制結(jié)構(gòu) 。 原子又可分為文字原子 、 串原子和數(shù)字原子三種 。 第 2章 人工智能程序設(shè)計語言 S─表達式可以遞歸定義如下: (1) 原子是 S─表達式 。 表的一般形式為: (S─表達式 S─表達式 …S─ 表達式 ) 第 2章 人工智能程序設(shè)計語言 例如: (X Y Z),(+12),(A (B C)) 左括號后面的第一個元素稱為表頭 , 其余的元素組成的表稱為表尾 。NIL)) (ABC) (ANIL))) 可以看出,表的 S─表達式的結(jié)構(gòu)實際是一棵二叉樹。 例如: (CDR′(LISP Language Program)) 返回值為: (Language Program) 3) CONS函數(shù) 格式 (CONSS─表達式 表 ) 功能將 S─表達式作為一個元素加到表中去 , 并作為所構(gòu)成新表中的第一個元素 。 為什么要禁止求值呢 ? 原來 , LISP總是試圖對一切 S─表達式求值 。 Z 得到值 (b c) 另外,賦值函數(shù)還有 SETQ、 SETF(COMMON LISP),其功能是類似的。返回 NIL 第 2章 人工智能程序設(shè)計語言 (2) 相等謂詞 EQUAL 格式 (EQUAL參數(shù) 參數(shù) ) 功能判斷兩個參數(shù)是否邏輯相等 。 第 2章 人工智能程序設(shè)計語言 功能如果 P1為真 , 則 COND函數(shù)的值為 e1(當 e1為多個 S─表達式時 , 取最后一個 S─表達式的值 , 下同 )。 自定義函數(shù)的格式為: (DEFUN函數(shù)名 (形參表 ) 函數(shù)體 ) 第 2章 人工智能程序設(shè)計語言 其中函數(shù)體 , 又可能是用戶自定義的函數(shù)或 LISP基本函數(shù)的某種組合 。 第 2章 人工智能程序設(shè)計語言 程序舉例 例 符號微分程序 。v)/dx= v 經(jīng)過 30多年的發(fā)展 , LISP的方言和版本也很多 。 例如上面的兩個事實就分別表示 “ 約翰是學生 ”和 “ 瑪麗喜歡音樂 ” 。 例如: run:start,step1(X),step2(X),end. 也是一個合法規(guī)則。 規(guī)則和事實可連續(xù)排列在一起 , 其順序可隨意安排 , 但同一謂詞名的事實或規(guī)則必須集中排列在一起 。 PROLOG程序的運行是從目標出發(fā) , 并不斷進行匹配 、 合一 、 歸結(jié) , 有時還要回溯 , 直到目標被完全滿足或不能滿足時為止 。 第 2章 人工智能程序設(shè)計語言 例如:下面的兩個謂詞 pre1(ob1,ob2,Z) pre1(ob1,X,Y) 只有當變量 X被約束為 ob2, 且 Y、 Z的約束值相同或者至少有一個是自由變量時 , 它們才是匹配合一的 。 顯然 , 程序中前面的四條事實均不能與目標匹配 , 而第五個語句的左端即規(guī)則 第 2章 人工智能程序設(shè)計語言 friend(john,X):likes(X,reading),likes(X,music). 的頭部可與目標謂詞匹配合一 。 但由于這個語句又是一個規(guī)則 , 于是 , 這時對原目標的求解 , 就又轉(zhuǎn)化為依次對子目標 likes(X,sports)和 likes(X,music) 第 2章 人工智能程序設(shè)計語言 的求解 。 這次很快成功 。其特點是:推理方式為反向推理,控制策略是深度優(yōu)先,且有回溯機制。在大多數(shù)情形中 , 還需要一個 domains段 , 以說明表 、復(fù)合結(jié)構(gòu)及用戶自定義的域名 。 子句段該段是 Turbo PROLOG程序的核心 , 程序中的所有事實和規(guī)則就放在這里 , 系統(tǒng)在試圖滿足程序的目標時就對它們進行操作 。 注意 , 這意味著結(jié)構(gòu)中還可包含結(jié)構(gòu) 。 第 2章 人工智能程序設(shè)計語言 [ 1,2,3] [ apple,orange,banana,grape,cane] [ PROLOG,MAENS,PROGRAMMING,in logic] [[ a,b] ,[ c,d] ,[ e]] [ ] 表的最大特點是其元素個數(shù)可在程序運行期間動態(tài)變化 。 第 2章 人工智能程序設(shè)計語言 下面就是一些這樣的結(jié)構(gòu) 及它們的表表示形式: 結(jié)構(gòu)形式 表形式 第 2章 人工智能程序設(shè)計語言 對于由結(jié)構(gòu)組成的表 , 至少得分三步說明 。 同級從左到右按順序運算 , 括號優(yōu)先 。當然 , 這種關(guān)系式為 Turbo PROLOG中的異體原子 。 而對于 Goal:p(3,5,7). 機器回答: no。 (2) readint (X)。 第 2章 人工智能程序設(shè)計語言 (6) nl換行謂詞 。 例如 , 將 IF x0THENx:=1 ELSE x:=0 第 2章 人工智能程序設(shè)計語言 用 PROLOG實現(xiàn)則是 Br :x0,x=1. Br :x=0. 類似地 , 對于多分支 , 可以用多條規(guī)則實現(xiàn) 。 增加這個語句的目的是為程序設(shè)置一個出口 。又如語句 retract(student(20,,)). 將從內(nèi)存的動態(tài)數(shù)據(jù)庫中的刪除事實 student(20,,) 第 2章 人工智能程序設(shè)計語言 它可解釋為學號為 20的一個學生的記錄 。它由事實組成 , 程序可以對它操作 , 所以在程序運行期間它可以動態(tài)變化 。 當然 , 也可以通過設(shè)置計數(shù)器而實現(xiàn)真正的計數(shù)循環(huán) 。 第 2章 人工智能程序設(shè)計語言 例 成績數(shù)據(jù)庫查詢程序 。 第 2章 人工智能程序設(shè)計語言 (4) readchar(X)。 第 2章 人工智能程序設(shè)計語言 輸入與輸出 雖然 PROLOG能自動輸出目標子句中的變量的值 ,但這種輸出功能必定有限 , 往往不能滿足實際需要;另一方面 , 對通常大多數(shù)的程序來說 , 運行時從鍵盤上輸入有關(guān)數(shù)據(jù)或信息也是必不可少的 。 這六個關(guān)系運算符可用來比較兩個算術(shù)表達式的大小 。 第 2章 人工智能程序設(shè)計語言 在 Turbo PROLOG程序中 , 如果一個算術(shù)表達式中的變元全部被實例化 ( 即被約束 ) 的話 , 則這個算術(shù)表達式的值就會被求出 。另外 , 變量名要求必須是以大寫字母或下劃線開頭的字母 、 數(shù)字和下劃線序列 , 或者只有一個下劃線 。(a, 實際上 , 表是一種特殊的結(jié)構(gòu) 。 第 2章 人工智能程序設(shè)計語言 復(fù)合對象在程序中的說明 , 需分層進行 。 另外 , 一般稱程序目標段中的目標為內(nèi)部目標 ,而稱在程序運行時臨時給出的目標為外部目標 。 第 2章 人工智能程序設(shè)計語言 例 如果把上節(jié)中的程序要作為 TurboPROLOG程序 , 則應(yīng)改寫為: /*例子程序 1*/ DOMAINS name=symbol PREDICATES likes(name,name). friend(name,name) GOAL friend(john,Y),write(″Y=″,Y). 第 2章 人工智能程序設(shè)計語言 CLAUSES likes(bell,sports). likes(mary,music). likes(mary,sports). likes(jane,smith). friend(john,X):likes(X,sports),likes(X,music). friend(john,X):likes(X,reading),likes(X,music). 第 2章 人工智能程序設(shè)計語言 結(jié)合上例 , 我們再對上述程序結(jié)構(gòu)中的幾個主要段的內(nèi)容和作用加以說明 (其余段在后面用到時再作說明 ): 領(lǐng)域段該段說明程序謂詞中所有參量項所屬的領(lǐng)域 。 第 2章 人工智能程序設(shè)計語言 Turbo PROLOG程序設(shè)計 Turbo PROLOG的程序結(jié)構(gòu) 一個完整的 Turbo PROLOG( )程序一般包括常量段 、 領(lǐng)域段 、 數(shù)據(jù)庫段 、 謂詞段 、 目標段和子句段等六個部分 。 如果需要和可能的話 ,系統(tǒng)還可把 john的所有朋友都找出來 。 于是 , 系統(tǒng)就放棄這個子目標 , 并使變量 X恢復(fù)為自由變量 , 然后回溯到第一個子目標 , 重新對它進行求解 。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1