收藏 分享(赏)

CLIPS程式技巧.doc

上传人:yjrm16270 文档编号:7416316 上传时间:2019-05-17 格式:DOC 页数:21 大小:175.50KB
下载 相关 举报
CLIPS程式技巧.doc_第1页
第1页 / 共21页
CLIPS程式技巧.doc_第2页
第2页 / 共21页
CLIPS程式技巧.doc_第3页
第3页 / 共21页
CLIPS程式技巧.doc_第4页
第4页 / 共21页
CLIPS程式技巧.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、CLIPS 程式技巧 練習一 (安裝與設定)練習二 (簡易程式)練習三 (資料定義與邏輯比較)練習四 (模組化)練習五 (讀 取資料)練習 六 資料(知識) 結構練習七 物件導向程式設計練習八 程序控制與平行處理撰寫程式經常發現的 問題實例討論專家有何特殊不同之處?和用網頁來表達有何不同?Procedure/non-procedure languages哲學思考練習一 (安裝與設定) 下載程式及安裝 (http:/ 請下載示範程式( http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex 1-3 ICstrategies.CLP ),供

2、練習一、二、三使用。 請嚐試交談式操作 視窗操作 load:載入純文字檔(.txt)的應用程式 (*.clp) reset:重置。不移除應用程式,但是所有參數均重設成原預設值。 run:先要執行 reset 後,才能執行 run。 clear:移除程式,再重新 load/reset/run 其他程式。 交談式簡易操作 CLIPS 是類似 LISP 的人工智能(AI) 語言。 所有的運算式均為函數(function),寫在 ( ) 之內,運算子(operator)位於第一位,其餘運算元(operand) 跟隨在後。運算子和各運算元之間均以空格隔開(不是逗號)。空格只要一格以上即可,多空無妨。 請

3、試 (+ 1 2) ,看會發生什麼結果 ? (+ 1 3 5) 請自行試其它的運算式。 實務上,仍須寫成應用程式。 請注意:括號要雙雙對對! 請養成良好的程式格式習慣,會減少很多程式除錯的時間和體力!練習二 (簡易程式) TXT 檔案格式;副檔名: CLP 主要包括二部份: deffacts, defrule 【此二字均是保留字 ,視為 operator】 deffacts 定義已知的事實, defrule 定義推理規則 ; 註記行 事實以串列表示。如: (Relation X Y Z) ?X 代表變數。如: (Relation ?X ?Y ?Z ) 英文字之大小寫有別! 例如:(duck)

4、和 (Duck) 是不同的 fact。 請注意雙引號 “ 之使用,不能用 Words 裡的雙引號。WordPad 或小作家的雙引號才行。 僅註記行及字串得用中文。指令及變數均須英文字母(及合法之符號)。 推理方法為型態比對(pattern matching),同位之常數要相同,變數可以對應變數或常數。元素個數要相同。=左(上) 方之所有事實均比對成功後,該規則被啟動(activate) 並置入議程 (agenda)之中。議程依一定之策略(strategy)次序執行 (fire)已被啟動之規則的=右(下)方各指令。 各規則之啟動,係因左(上)方事實成立。換言之,一旦事實有所增減,專家系統即會自動

5、找尋有那些規則可被啟動,或議程內原被啟動之規則,不再可以啟動,而自議程撤下。 以下是可執行的應用程式實例。;-; 例: 都市發展策略; 宣告基本信念;目標/策略關係 策略本身是一種次目標(deffacts goal-strategies(gs “都市發展策略“ “減少失業率 “) ; 都市發展策略: 減少失業率(gs “減少失業率“ “吸引廠商“) ; 減少失業率策略: 吸引廠商(gs “吸引廠商“ “降低通信成本 “) ; 吸引廠商策略: 降低通信成本(gs “吸引廠商“ “充足的網路建設 “) ; 吸引廠商策略: 充足的網路建設(gs “降低通信成本“ “民營化“) ;降低通信成本策略:

6、民營化);推理規則; 推出所有的 目標 -策略 關係 (策略本身也是一種次目標)(defrule t-gs (gs ?x ?y) (gs ?y ?z)=(assert (gs ?x ?z) ;已知之事實用 deffacts。後來推論所得者用 assert。(printout t “欲達成“ ?x “可採取“ ?z “之策略“ crlf);-;實例結束;-【作業】 會推導出欲達成減少失業率可採取民營化之策略 ,合理嗎? 請將城鄉發展相關文獻之知識改寫成專家系統之形式,以CLIPS推理,看結論是否合理? 並討論其問題出在何處 ?如何修正,可以使推理合理化 ?練習三 (資料定義與邏輯比較) 用 de

7、ftemplate 定義某一資料型態之綱目(schema),再用描述該資料型態之實例。如下,我們先定義 city 資料型態,再描述 Glasgow 市之各屬性值。; 定義 city 資料型態(deftemplate city(slot name)(slot area)(slot population)(slot popu-year)(slot popu-year-type)(slot rate-of-jobless)(slot rate-of-jobless-year)(slot rate-of-jobless-year-type); 描述 Glasgow 市之各屬性值(deffacts ba

8、sic-data-of-Glasgow(city (name Glasgow) (population 600000) (popu-year 1980)(popu-year-type s)(rate-of-jobless 0.168)(rate-of-jobless-year 1996)(rate-of-jobless-year-type y) 邏輯比較要放在RHS,用IF-THEN-ELSE ,如下例:(defrule determine-the-degree-of-jobless(city (name ?x) (rate-of-jobless ?y) (rate-of-jobless-ye

9、ar ?z)=(if ( ?y 0.05)then (assert (status-of-jobless ?x serious)(printout t ?x “在“ ?z “年的失業率十分嚴重“ crlf) else(assert (status-of-jobless ?x no-problem)(printout t ?x “在“ ?z “年沒有失業問題“ crlf) )【作業 新增資料及規則】(1) 自行以 deffacts 之指令,增加 1-2 個城市的資料。(2) 執行練習三之程式,看是否正確判斷城市之失業問題。(3) 加入以下的規則:若 X 在 z 年的失業率十分嚴重,則 X 應找尋

10、新的發展策略。練習四 (模組化) 可以分別寫在不同檔案 分別 load 各檔 或者寫成一批次檔(如下,副檔名 BAT),再以 load batch 指令一次載入,例如: (load “C:/Documents and Settings/ftlin/My Documents/courses/空間邏輯/資訊城市/模組化/ex4 - 變數中文意義.CLP“) (load “C:/Documents and Settings/ftlin/My Documents/courses/空間邏輯/資訊城市/模組化/ex4 - 目標策略關係.CLP“)練習五 讀取資料 用 read 讀取一個字;用 readli

11、ne 讀取一個句子 (數個字)。 用 bind 將讀取的字(句),指派給某一變數 請注意執行過程中,Facts 視窗內容的變化。 (read 或 readline 所讀入之資料會出現在 Facts 視窗) 由鍵盤讀取資料: 相關指令: read(defrule test-read(initial-fact)=(printout t “Name a primary color“ crlf); 【printout 後面的 t 代表輸出到螢幕 】(assert (color (read); 【單獨的 read代表由鍵盤輸入】) 由鍵盤讀取一行字,並存於某變數,以供後續使用。 相關指令:(readli

12、ne) 、(bind )(defrule test-readline(initial-fact)=(printout t “Enter input“ crlf) (bind ?string (readline) ; 【bind 指令: 將由鍵盤讀入之文字存於變數 ?string之中】(assert-string (str-cat “(“ ?string “)“); 【str-cat 指令:將數個字串連成一個字串】 開啟檔案,並寫入、讀取、增加一行字。 相關指令: open, close, printout, readline, read(defrule test-read(initial-fa

13、ct)=(open “test.dat“ rfile “w“); 【檔案 test.dat位於與程式相同之目錄中】; 【可以加上路徑,以存取位於其他目錄之檔案 】; 【rfile 為簡稱,爾後程式中均使用簡稱,不用( 含路徑之)檔案名稱】; 【w 表示本檔案僅能從頭寫入,會覆蓋原有文字;不能讀取】(printout t “請輸入文字 : “ crlf)(printout rfile “This is the first test line. “ crlf); 【printout 後加上檔案簡稱,將字串輸出於該檔案】(close); 【關閉檔案,檔案游標將回到檔案開頭 】(open “test.

14、dat“ rfile “r“); 【r 表示本檔案僅能被讀取,不能寫入】(printout t (readline rfile) crlf); 【readline 後加上檔案簡稱,表示由該檔案讀取一行字串】(close)(open “test.dat“ rfile “a“);【a 表示該檔案僅能由文末寫入新字 (串),不會覆蓋原有資料 】(printout rfile “This is the 2nd test line. “ crlf)(close)【完整程式範例親屬】; 本程式可以推論親屬關係; 本程式使用了以下之述詞(predicate); ( A X Y) 代表: X 是 Y 的 長輩

15、; (deffacts names(A “甲“ “乙“)(A “乙“ “丙“)(A “乙“ “丁“)(A “乙“ “戊“)(A “丁“ “己“)(defrule ancestor(A ?X ?Y)(A ?Y ?Z)=(assert (A ?X ?Z)(defrule ask=(printout t “請輸入長輩的名字:“)(bind ?x (read)(assert (person ?x)(printout t crlf)(defrule answer(person ?x)(A ?x ?y)=(printout t ?y “是 “ ?x “的晚輩“ crlf)【作業新增資料並存檔】增加上述親屬

16、程式之功能:詢問新的親屬關係,寫入資料檔案。下次執行時,先行讀取該資料檔。練習六 資料(知識) 結構一、指令練習 複選及重置 http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex6 資料結構/指令練習/複選.clp Global variables http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習 /ex6 資料結構/指令練習/globalvar.clp local variables 串列(list) http:/myweb.ncku.edu.tw/ftlin/course/

17、LOGIC/clips 基本練習 /ex6 資料結構/指令練習/事實串列.clp http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習 /ex6 資料結構/指令練習/num-arguments.clp While loop 複合條件邏輯運算 AND, OR, NOT 檢查某事實不存在: NOT http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex6 資料結構/指令練習/事實不存在的 not.clp 二、 基本資料結構 宗親(質性關係) http:/myweb.ncku.edu.tw

18、/ftlin/course/LOGIC/clips 基本練習 /ex6 資料結構/指令練習/宗親.clp 【作業兄弟姐妹】利用宗親程式,推論出“同父母之兄弟姐妹“ 的關係。 【作業同輩】改寫(增修) 宗親程式,推論出“同輩“ 的關係。(提示:記錄輩份差) 【作業親等及輩份差計算】找出任二人之間的親等及輩份差。 決策樹(質性因果推論) http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習 /ex6 資料結 構/指令練習/決策樹.doc 【作業決策樹】(1)撰寫上述決策樹之 CLIPS 程式。(2) 擴充決策樹,繼續判斷不同物種。(3) 增加

19、quit 及 回到 start的功能。 水災防治因果關聯圖 決策時經常遇到左右為難,或者長、短期效益矛盾的困境。本例模擬研訂治水政策所面對的問題。從知識結構的角度來說,本例的知識結構是比決策樹還複雜的循環圖。 http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/範例 /水災防治因果 關聯圖(教學範例).clp 聯立方程式(量化預測) http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex6 資料結構/數學/聯立方程式.clp 【作業一元二次方程式】:可以求 aX2+bX+c=0 解的專家系統 【作業汽機

20、車數量預測模型】http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex6 資料結構/數學/汽機車數量預測.doc 堆疊與佇列 利用 defclass 堆疊: http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex6 資料結構/basic data structure/stack.clp 【作業佇列】:改寫 stack.clp,使之成為具有佇列 (排隊)行為的串列 模糊推理 (Fuzzy reasoning) 模糊集合理論,請參見 http:/myweb.ncku.edu.tw/f

21、tlin/course/CAAD/CourseInformation/document/模糊集合及邏輯.doc 身高判斷(物理量心理量):輸入一身高,回報其身高的心理量:高、很高、矮、很矮、不高也不矮。 提示1.分別建立高、矮、.等概念(心理量)的 membership function。2.進一步建立很高、不算高、不高也不矮.的 membership function。3.輸入一身高值後,分別計算它的各種 degree of membership。4 .回報 degree of membership 最高值所對應的概念 (心理量)。 程式: http:/myweb.ncku.edu.tw/f

22、tlin/course/LOGIC/clips 基本練習/ex6 資料結構/數學/模糊集合(身高).clp 【作業】 請修正上列程式,加入很高、很矮、不高也不矮三個membership functions。 【作業】承上題,輸入心理量之後,估計其可能的身高。 階乘 (deffunction 之運用 ) http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex6 資料結構/數學/階乘.clp 樹狀結構 讀入一連串的數目,以左方小於等於根,右方大於根之規則,建成樹狀資料結構,並輸出成一資料檔。 程式 1: http:/myweb.ncku.e

23、du.tw/ftlin/course/LOGIC/clips 基本練習/ex6 資料結構/樹及圖/tree-example1.clp 程式 2: http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex6 資料結構/樹及圖/tree-example2.clp 三、拓樸演算法【注意:請在 CLIPS 的執行環境下,將 Execution/Options/Strategy 設定為Breadth】1. 以 CLIPS 練習拓樸學 (topology) 或稱圖論(graph)之基本表示法。http:/myweb.ncku.edu.tw/ftlin

24、/course/LOGIC/clips 基本練習/ex6 資 料結構/樹及圖/ex6-1 graph-basic.clp 2. 偵測迴圈之存在。http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基 本練習/ex6 資料結構/樹及圖/ex6-2 loop.clp 3. 延伸樹之演算。http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex6 資料結構/樹及圖/ex6-3 spanning-tree.clp 4. 樹狀結構之廣度優先搜尋法 (Breadth First Search)http:/

25、myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex6 資料結構/樹及圖/BFS-tree.clp 【學習重點: (1) defclass 指令的用法。 詳練習七! (2) 演算法 (algorithm)】5. 樹狀結構之深度優先搜尋法 (Depth First Search)http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex6 資料結構/樹及圖/DFS-tree.clp 【學習重點: stack, push, pop】【作業】(1) 修改上述程式,讓操作者可以(1)自行增加節點及連結

26、,如已經存在,應提醒已經存在,不必再加;(2)自行刪減連結(不刪節點,只刪連結),若該連結本不存在,應提醒該連結本不存在,無法刪去,(3)輸入二個節點名稱,系統告知二者之間是否存在路徑?(2) 請自行建構一個具有多個迴圈,ex6-2 loop.clp 程式能夠找到多少迴圈?【討論】圖論之各種(程序性) 演算法,以規則式來撰寫,有何其便利及困難之處?【作業中序】讀入上一題所建之樹的資料檔,依中序列印出其由小而大的順序。提示:每一個 node 要有一個編碼(ID),左右子點及父點均是指向其 ID,而不是指向資料內容本身。Node 的格式如:(node ID value left-ID right-

27、ID parent-ID)【討論divide, conquer and merge】如何將一個複雜的問題切割(divide)成小的子問題,分別解決(conquer) 之後再加以合併(merge)?在上例,排序問題被切成建樹及中序二個子問題,透過檔案加以結合。子問題的程式可以分別獨立撰寫,互不影響其所設定的 local variable 的命名。如是,子問題如同軟體零組件,可以交由不同國家/設計團隊開發,運用其低廉的人力,但他們僅知其一,不知其二,而由系統規劃分析人員加以組裝之。練習七 物件導向程式設計基本觀念http:/myweb.ncku.edu.tw/ftlin/course/GIS/物件

28、導向式資料庫.doc http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex7 物件導件基本技巧.clp 【Word 版: http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex7 物件導件基本技巧(MSword).doc 】練習八 程序控制與平行處理http:/myweb.ncku.edu.tw/ftlin/course/LOGIC/clips 基本練習/ex8 程序控制及平行作業 - OO 之現勘準備作業.clp 本練習模擬營建署審議開發案現勘籌備作業之流程【註】目前(200

29、5)CLIPS 的 OO 僅能描述 ISA 的關係,尚不能描述 HAS 或其他關係。但仍能用原來的 predicate 來描述各種關係。撰寫程式經常發現的問題: (建議 )步驟: 以查詢者之身分,設定問題情境。 【誰問什麼問題?】 以領域專家之身分,回答問題,建構知識體系(決策樹)。 繪製事件圖(決策樹) 以知識工程師之身分,撰寫程式。 找查詢者及領域專家進行測試,修正程式。 程式的正確性:只好多翻翻手冊,問問有經驗的人。 邏輯流程 問題的前後次序 重複問問題 中文語意不清、不明確 【User Interface】 出現 Y/N 殊途同歸。不須問該問題,因為 Y/N 之結果一樣。 有不可能發生

30、的路徑? 問題的本質:判斷/決策樹 診斷:汽車、電腦 分類:古蹟、動物 (terminals 為 Classes) 指認:古蹟、動物 (terminals 為 instances) 簡單的問題結構可以用 decision tree 來表達。複雜的問題便會需要graph。 知識的體系化、結構化 讓領域專家成為知識工程師(合為一人)。 領域專家與知識工程師之間的溝通十分困難,經常造成專家系統的失敗。如今,我們讓領域專家成為知識工程師(合為一人)。希望能突破此一困境。 chunk:片斷知識 有效的將片斷知識予以系統化,尤其當新的知識進來,或刪去舊知識,而仍舊保持明晰的系統(仍維持是 decision

31、 tree) 儘量避免預設的問答次序。(宜採用 switchcasedefault 指令) 可以將已知的資料(庫)建立於 deffacts/instances,讓查詢者有案例可參考。 化簡(精緻化) 邏輯已經是正確 如何縮短決策步驟? = 去除不必要之步驟 如何設定 default 值?(尤其是多選項) 【User Interface】 如何讓專家與一般使用者正確瞭解用詞之語意? 如何很快的瞭解到(感知到)使用者與專家之間的知識差距? 應請查詢者做專家系統測試,以瞭解使用者之查詢需求。 應使用查詢者可以理解或者回答之語句。 如使用術語 ,應能讓查詢者進一步查詢該術語之意義。 應確認程式設計者與

32、查詢者的語意是否相同?(是否對問答之用詞有相同之理解)。實例討論【王文君:法律專家系統】 可以納入全部法條,變成一部電子書 。 可以加入案例(判例) 及說明、參考。利用案例式推理的方法,擷取條件最近似之案件,提供查詢者參考。【分類問題】 鳥類辨識、電腦問題診斷、古蹟分級、均是分類問題 。 分類有其目的。目的不同,分類的準則(屬性)不同,其結果也不同。 分類的述詞: 需要二種述詞 IS (X, A, V): X 的 A 屬性值為 V CLASS (X, Y): X 的類別為 Y X 為待分類之物件集合 A = A1, A2, A3, 【可以有不同的屬性,如體積、重量、價格】 V = VA1, V

33、A2, VA3, 【不同屬性,分別對應不同的值域 】 Y = Y1, Y2, Y3, 例: X 為所有中國建築之集合 A = 屋群型式,屋頂型式,樓層數,建材 V 屋群型式 = 獨棟式,四合院,三合院,連棟式街屋 V 屋頂型式 = 歇山式、硬山式、懸山式、燕尾、平屋頂 V 樓層數 = 自然數系 V 建材 = power set of 木,石,磚,竹,水泥,鋼骨 【容許多種建材混用】 Y = 官式建築,民居,窯洞,吊腳樓,廟,家祠,規則 某類建築型式構成要素之規則 IS(x, 屋群型式, 四合院) IS(x, 歇山式) CLASS(x, 官式建築) 類型及次類型之間的關係規則 CLASS(x,

34、窯洞) CLASS(x, 民居) 以首階邏輯描述之分類體系,即便是樹狀的,其層級順序並非固定的。亦即,不一定要先就 A1 分類,再依 A2, A3,依序分類。 首階邏輯描述之分類體系容許網絡結構 ,讓一個子類同時(可能)屬於不同的父類。例如:歇山式的四合院建築可能是官式建築、宮殿,也可能是國家劇場(如中正紀念館之國家劇院、音樂廳) 上述首階邏輯之分類體系,其基本事實之描述是表格式的。專家有何特殊不同之處?和用網頁來表達有何不同? 語言的表述能力(expression power)。 各種(電腦) 語言的表述能力是否一樣? 某些概念或者問題,用某種語言比較容易表述。 可以用網頁來表達樹狀、網絡的

35、知識結構。 祖先問題是一個樹狀結構問題。 可否用網頁來表述祖先問題? 不能用網頁,一次全部推論出所有的祖先或子孫。 要加上以下之能力才行 推論 仍然要建立龐大的資料庫。 是否容許網頁具有搜尋 、 網頁編輯器(維基百科)的功能? 功能程式一定要用 ES 來寫嗎? Google 可以不經首頁,直接找到某頁。 網頁:必須一頁一頁去找。 也必須沿者決策樹一層一層往下走。 對使用者而言,無差別。 STRATEGY(程序控制策略):這是專家系統的特色之一。Procedure/non-procedure languages 傳統的程式語言(例如:FORTRAN, C, VB)大多是程序性語言(procedu

36、ral languages),程式指令的順利相當重要。次序不同就會得到不同的結果。 許多人工智能(AI)語言,是 非程序語言 。專家系統 CLIPS 即是。數學的聯立方程式也是。理論上(理想上),指令、規則的順序無關緊要。 程序性語言的重點是 HOW to do, 要把演算程序步驟詳細的寫出來。 非程序性語言的重點是 WHAT to do, 只要把問題要素的關係、規則講清楚即可,不必考慮解決的步驟為何。(事實上,領域專家也經常說話顚三倒四,並不按一定的次序想起規則) 聯立方程式是一種 non-procedure language 方程式的順序不重要 存在二種(以上) 的解題程序。 解題程序之控

37、制,在程式執行時,才由使用者決定。(程序性語言必須於程式撰寫時同時決定各模組之執行順序)。 概念的層級。高階概念(專業術語)是從低階概念建構上來的;例如, 容積率是由土地面積 、 建築面積 、 除法等基本概念所構成。使用高階概念,會十分便利、迅捷。但是,必要時仍然可以用低階概念來重述高階概念。程式語言亦復如此。CLIP 是一種相當高階的語言,具有許多浮現出來的能力(例如程序控制),但它仍然是可以用程序語言來表達(但就會十分繁瑣費事)。 這是一個專業化、模組(具)化的分工過程。資訊系統因為如此分工,才使系統的發展變得相當有彈性、可以多樣化的組合(重構),結果,成長相當快速。必須注意的是,分工只是

38、一個面向;另一個面向是整合。資訊系統因為有清楚定義的分工和整合界面,才能夠多而不亂、快速累積知識,產生知識的綜效力量。(知識分工反而造成零碎、片斷化,這是各知識領域之間未能有效整合之故)。 從知識論來說,我們企圖建構一種知識整合平台,讓不同的知識能夠源源不斷的新陳代謝,而不失其系統性、結構性。(如何整合不同專家的知識?) 使用某一種語言,得到了某一種便利,但也必然會受到它所帶來的限制。自然語言正如礦泉水,有許多雜質,也充滿了養分;電腦程式語言就像蒸餾水,十分純淨,可以醫療使用,避免細菌感染,但是毫無養分。所以,就單一事件而言,有所取捨。但是,交替使用,則可兼得其利。正如,太陽之下,必有陰影,有

39、白天,必有黑夜。但是,太陽會旋轉,會使每一個地方都有白天與黑夜。是故,在多元的社會、多元的認知中,經常要從不同角度去看問題,要毌意、毌必、毌固、毌我 ,不要死守一方,要多元觀照。語言也是一樣。不要限制自己只能用一種語言。 如筏喻者,法尚應捨,何況非法? ,再多高強的語言,都無需堅持只使用該種語言。 有些問題先天本質上就是網絡式,無法化成樹狀結構。哲學思考【符號系統可以表述所有的現實世界嗎?】 NO! 哥德爾(Kurt Gdel, 1906/4/28 -1978/1/14,http:/web.edp.ust.hk/math/history/3/3_157.htm )證明了具內在一致性之符號系統無

40、法對應到現實世界的所有陳述 。例如:我說的話都是謊話是一種詭論(paradox) 陳述。這種詭論便無法被具內在一致性之符號系統所處理。 不過, 具內在一致性之符號系統的確可以處理非真即假的命題邏輯及首階邏輯體系。近來,更有人引進模糊理論、歸納法、設證法、多值邏輯、等非傳統邏輯之符號系統。這些新的符號系統究竟能走多遠?值得討論。 這裡面有一個很根本的語意問題。我們知道,有些語意是蘊含在語法之內,也就是說,語句的文法結構決定了某些語意。例如:下雨天留客天天留我不留 。不同的斷句(語法結構),會有完全相反的意思。但是,哥德爾也同時告訴我們,語法(具內在一致性之符號系統)不能完全涵蓋所有的現實世界的陳

41、述。易言之,有些語意仍然是無法用語法來涵括的。究竟什麼是語意呢? 或者什麼是 意義呢?恐怕還是得傷傷腦筋吧 ! 相對於現實世界,數學是一個抽象系統。 1可以代表一個人,也可以代表一顆樹。到了二十世紀初期,更發展出了符號系統 。符號系統可以說是數學的進一步抽象化。其實,被抽象化的不只是數學而已,它也抽象化了邏輯系統。數學、邏輯是符號系統的實例。那麼,符號系統也揭示了存在著其他的(理念) 世界。在下圖,我們標示了現實世界、數學、邏輯、符號系統、其他世界的關係。圓圈的包含關係說明它們之間的不完全(替代)性。 科學哲學家卡爾波普(Karl Popper)曾劃分了三個世界:物理世界、心理世界、知識世界。

42、人類心智活動所發現的知識世界似乎是獨立於物理和心理之外。數理世界是知識世界的一部份。二十世紀初期的哲學家們(或者只是數學家們和符號邏輯學家們?)致力於建構一個 具內在一致性之符號系統 ,希望能以它來打造堅固的知識世界。不過,似乎沒那麼簡單。不單是哥德爾的不完全理論揭示了它的侷限性,現象學、詮釋學也一再挑戰它。 現象學大師胡賽爾(Edmund Husserl, 1859-1938),受過嚴謹的自然科學訓練。但是他認為瀰漫二十世紀初期的實證主義是一種不完善的理性 ,忽視了認識論的問題,沒有考慮感官認知和詮釋的問題。他希望建構一個完全的理性主義來代替殘缺不全的理性主義。所以,胡賽爾所質疑的是哲學的危機。只有正視哲學問題,才能正確的對待科學問題。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报