GoPiGo 小汽車︰格點圖像算術《投影幾何》【五‧線性代數】《前言》

想起過去曾經介紹過『邏輯編程』─ 勇闖新世界︰《邏輯編程》─ ,這條通向爭議頗多之

人工智慧!!』的道路︰

美國哲學家約翰‧羅傑斯‧希爾勒 John Rogers Searle 早年提出人類一般的『 Speech acts 』言語行為,除了『字面意義』外,通常還有『言外之意』。比方不同的『句型』的整體意義不同,即使其中的文字相同︰

李四真是好人。
李四真是好人?
李四,真是好人!

當然更無需要說『聲調』之『抑揚頓挫』的作用了。因為人們的『言談』一般是擁有『目的性』的,於是『用字遣詞』常具有言外之『意圖性』,就像有時禮貌上『不方便』講的,所以也就只能『假借』的說了。

一九八零年希爾勒寫了一篇論文《心靈、大腦、與程式》Minds, Brains, and Programs,講到一個稱作『中文房間』Chinese room 的思想實驗︰

220px-Salachinesa2

一 位中文一竅不通,以英文為母語的人,關閉在一間只有一個開口的密閉房間中。房間裡有一本英文手冊以及伴隨著的電腦程式,還有充足的紙、筆、橡皮擦與檔案 櫃。門外的人從那個開口向房間內輸入中文之字詞,門裡的人便按照程式指令處理,再由那個開口輸出中文字詞。假使該程式已然通過中文的圖零測試,當然那人自 可以作剛才所說的這件事情。他只需簡單『用手』manually 來跑程式就好了。

希爾勒認為,儘管門裡的人很能夠以假亂真,讓門外的人以為他本就是華語使用者,然而他卻是壓根不懂中文的啊!假使門裡的人是『不可能』透過英文手冊來『理解』中文的話,那麼電腦也是不可能借著程式來獲得這個『理解力』的吧!!

有 批評者這麼說︰人們都認為人是擁有智慧的,然而人的智慧卻是來自於腦細胞的物理訊息轉換作用,單一個腦細胞並不能理解字詞的意義,難道不是大量的腦細胞造 就了人 類的認知與理解能力的嗎?這跟有眾多指令組成的整體程式又能有什麼實質的差異呢?所以為什麼電腦就不可能會有『理解力』的呢??

──── 自古儒墨之爭︰是其所非,非其所是 ───

 

也曾以

勇闖新世界︰ 《 pyDatalog 》…□○

系列文本,嘗試引領讀者深入這個『程式典範』︰

Simply Logical
Intelligent Reasoning by Example

之第一部份起頭處, Peter Flach 開宗明義的講︰

Logic and Logic Programming

Logic Programming is the name of a programming paradigm which was developed in the 70s. Rather than viewing a computer program as a step-by-step description of an algorithm, the program is conceived as a logical theory, and a procedure call is viewed as a theorem of which the truth needs to be established. Thus, executing a program means searching for a proof. In traditional (imperative) programming languages, the program is a procedural specification of how a problem needs to be solved. In contrast, a logic program concentrates on a declarative specification of what the problem is. Readers familiar with imperative programming will find that Logic Programming requires quite a different way of thinking. Indeed, their knowledge of the imperative paradigm will be partly incompatible with the logic paradigm.

This is certainly true with regard to the concept of a program variable. In imperative languages, a variable is a name for a memory location which can store data of certain types. While the contents of the location may vary over time, the variable always points to the
same location. In fact, the term ‘variable’ is a bit of a misnomer here, since it refers to a value that is well-defined at every moment. In contrast, a variable in a logic program is a variable in the mathematical sense, i.e. a placeholder that can take on any value. In this respect, Logic Programming is therefore much closer to mathematical intuition than imperative programming.

Imperative programming and Logic Programming also differ with respect to the machine model they assume. A machine model is an abstraction of the computer on which programs are executed. The imperative paradigm assumes a dynamic, state-based machine model, where the state of the computer is given by the contents of its memory. The effect of a program statement is a transition from one state to another. Logic Programming does not assume such a dynamic machine model. Computer plus program represent a certain amount
of knowledge about the world, which is used to answer queries.

,指出『邏輯編程』和『 Von Neumann 程式語言』──

摘自《 CPU 機器語言的『解譯器』》︰

事實上 Von Neumann 的計算機架構,對於電腦程式語言的發展,有著極為深遠的影響,產生了現在叫做 Von Neumann 程式語言,與Von Neumann 的計算機架構,同形 isomorphism 同構

program variables ↔ computer storage cells
程式變數 對映  計算機的儲存單元

control statements ↔ computer test-and-jump instructions
控制陳述 對映 計算機的『測試.跳至』指令

assignment statements ↔ fetching, storing instructions
賦值陳述 對映 計算機的取得、儲存指令

expressions ↔ memory reference and arithmetic instructions.
表達式 對映 記憶體參照和算術指令

── 之『觀點』有極大的不同。通常這造成了學過一般程式語言的人『理解』上的困難。也可以說『邏輯編程』之『推導歸結』得到『證明』的想法遠離『圖靈機』的『狀態轉移』到達『接受』狀態 。反倒是比較接近『 λ運算』與『 Thue 字串改寫系統』抽象建構。讀者可以試著參考讀讀那些文章, 看看能否將『思考』方式的

Logic Programming requires quite a different way of thinking. Indeed, their knowledge of the imperative paradigm will be partly incompatible with the logic paradigm.

『不相容性』鎔鑄成整體思維之『結晶』,嫻熟用於解決各式各樣的『問題』!

也 許『學習』到了一定的時候,或早或遲人們需要想想『學習方法 』,經由對自己的了解,找到『事半功倍』的有效作法。雖說人人都是獨特的,然而在『學習』上確實有很多類似的『難處』。比方說一般寫程式的思維,有所謂 『從上往下』 Top-Down 以及『由底向頂』 Button-Up 思路取向不同。一者類似『歐式幾何』,從公理公設出發,逐步推演定理定律,邏輯清楚明白。然而一旦要自己去證明 □□ 定理時,有時總覺的無處下手。這是因為由『公理』通往『定理』的『推導歸結』之道路遙遠,常常看不出 ○□ 兩個『概念 』間竟然有如此的『聯繫』。另一彷彿『學會做菜』,由觀察親朋做菜開始,知道什麼菜要怎麼洗?怎麼切?用什麼方法調理?久而久之,學會了一道二道三道很多 很多的菜的作法。也可以講,這樣的『學法』知道了許多『如何作』 Know-How ,很少思考『為什麼 』 Know-Why 這麼作,也很少形成一般『這一類』 Know-What 的菜,多半這樣作的『通則』。我們將要如何回答別人,自己『想都沒想過』,這菜『卻得這麼作』的『問題』?或許異地嫁娶之人,更能體會,這種『不同』就是 『不同』的意思。

既然打算『勇闖』,並非『暴虎馮河』,而是『有勇有謀』,想那『新世界』的『智能機器』,難到不會『自我學習』?何不就假 借此時『野人獻曝』,用著談『學習之法』來學此法!體會『遞迴』之『遞迴』也許正是『邏輯』的『原點』??『方法』的『方法』或者恰是『智慧』之『菩 提』!!

─── 摘自《勇闖新世界︰ 《 pyDatalog 》 導引《一》

 

為何這裡猶豫選用『幾何推理法』呢?當處『神經網絡與深度學習計算網』突破此際果真恰當嘛!!更別說,還掛心『小汽車』蛻變存亡時效性哩??

為免讀者向隅,特別介紹 Timothy Peil 教授之大著

Survey of Geometry》。

Chapter Four

Plane Projective Geometry
Mathematics may be defined as the subject in which we never know what we are talking about,
nor whether what we are saying is true.
Exit book to another website.Bertrand Russell (1872–1970)

 

自習也可乎◎