λ 運算︰概念導引《二》

150px-Greek_lc_lamda_thin.svg

λ 何謂也?

λ 表達式的『核心』理念是︰將『函數』應用於其『引數』;藉『抽象』形成『函數』。用著『簡潔』的『語法』,專注於『表徵』函數;視『函數』為計算的『規則』,深得『計算』之『內蘊』。其『語詞』表達『疏落』大方,概念『表現力』與『柔軔性』十足。故為『邏輯』、『數學』和『程式』理念聚寶盆』!!

辨明『異同』與分解『差別』是學習的功夫

真積力,久則入。

讓我們再次『觀止』λ 表達式的『定義』︰

變元集合 V = \{ v_1, v_2, v_3, \dots, v_n, \dots \}
抽象符號 『 λ  』與『 . 』,符號本身不是λ 表達項
結構括號 『 ( 』與『 ) 』,括號本身不是λ 表達項

λ 表達式的論域集合 \Lambda,由下面三條語法歸納定義︰

一、如果 x \in V ,那麼 x \in \Lambda

二、如果 x \in V 而且 M \in \Lambda ,那麼 ( \lambda x. M ) \in \Lambda

三、如果 M, N \in \Lambda ,那麼 ( M \  N) \in \Lambda

假使觀察一個合乎語法的 λ 表達式 (\lambda f.  (\lambda x. (f x))),然後問著『 f 』變元是指『什麼』?這個表達式最內層的 (f x) 是函式的應用,明寫 f 是某個函式,然而如何計算卻隻字未提。如此看來,所謂的『變元』也可以是『函式』。那要怎麼『詮釋』那個『 λ表達式』呢?由於我們不知道 f, x 指的是什麼?也可以說它們『未被定義』,假使『給與定義』,我們或許可以講『在這個解釋下』,該個『 λ表達式』的『語意』是『□□□』。比方談著『用量角器量角度』一事,假使︰

f =_{df} 用量角器量角度
x =_{df} 東西的角度

,那麼 (\lambda f.  (\lambda x. (f x))) 是說︰拿某種『待指定』的量角器來量『尚未說』之物的角度。

要是講到『計算某種三角函數的數值』時,設想︰

f =_{df} 某種三角函數的計算
x =_{df} 角度

,那麼 (\lambda f.  (\lambda x. (f x))) 是說︰用某個『待指定』的三角函數來計算『未輸入』的角度。
……

由於每個『變元』的『論域』未被定義,所以各種『詮釋』都是『可能的』,因此說『函式建構』是『抽象』的,『應用化約』是廣義的『計算結構』之『同等性』。這也使得『應用化約』成為『 λ 運算』的『核心原則』,也就是說『 \beta 化約』是最重要的『轉換規則』。

如果從『輸入 Input \Rightarrow 處理 Process \Rightarrow 輸出 Output』的 IPO 觀點來看『計算系統』,『 λ 運算』是一個以『計算規則』為『中心』的『演算法』之語法。利用『應用化約』將『輸入變元』盡可能的化約成為也許『存在』之『最簡表達式』,而這個『最簡表達式』就是此『 λ 運算』的最終『輸出結果』。用著『不同』的『計算方法』或者說『計算結構』是可以得到『相同』的『計算結果』也許講『最簡結構』。然而『應用化約』卻有可能遭遇到變元的『命名衝突』之問題,就讓我們看看這個問題的原因以及將要如何去解決的吧。

考慮三個 λ 表達式 x(\lambda x. M)((\lambda x. M) x),我們要如何看待這些『 x 變元』呢?對於第一個式子 x,人們說它是『自由的』Free,因為它與其它表達式都無關,變元 x 就是指它自己。對於第二個式子 (\lambda x. M),由於變元 x 是『運算規則M 的『輸入變元』,人們說它是『受約束的』Bound。況且它還是『虛名』的,假使將『運算規則』如果想像成一個『黑箱系統』,那麼內部『運算方法』早已經是『設定好』的『圖靈機』── 比方輸入處系統內叫做 M_i ──,如此那個變元 x 就是 x =_{df} M_i 了,也就是說『被束縛』了。對於第三個式子 ((\lambda x. M) x) 來講,第一個 x 變元的出現是受約束的,然而第二個 x 變元的出現卻又是自由的,所以可能引發『混淆』,於是在『應用化約』時也許會產生『錯誤』或『歧異』。因此就必須要『辨明』一個 λ 表達式中的每一個變元『自由與否』的屬性。這兩個性質可以如下歸納的定義︰

假使 FV, BV 表示『自由變元』與『受約束變元』的『語法函數』syntactic functions︰

FV(x) =_{df} 的值是『自由變元』的集合,
BV(x) =_{df} 的值是『受約束變元』的集合。
x 是所指 λ 表達式的任意變元
M, N 是所指  λ 表達式的任意構成項── 該式在建構過程中的各個合乎語法的 λ 表達式 ──。

\forall x, \ FV(x) = \{ x \}
\forall M, N \ FV((M \ N)) = FV(M) \cup FV(N)
\forall x, \forall M, \ FV((\lambda x. M)) = FV(M) \setminus \{ x \}

\forall x, \ BV(x) = \Phi
\forall M, N \ BV((M \ N)) = BV(M) \cup BV(N)
\forall x, \forall M, \ BV((\lambda x. M)) = BV(M) \cup \{ x \}

通常『直覺知道』是一件事﹐『清晰定義』卻是另一件事,有時越是『精確』定義越難『把握』重點,『取捨之道』總落在『清楚思考』。

假使說有一個 λ 表達式 M 沒有自由變元,也就是說 FV(M) = \Phi,這時 M 稱作一種『組合子』combinator ── 它與『組合邏輯』Combinatory logic 有關 ──。如果從計算機器 的角度來看,組合子是『自足的』,它已經『完整封裝』不再需要任何其他輸入。某些組合子在『 λ 運算』的發展歷史上有著顯著的地位,簡短的講它們深化了人們對一些『基本概念』的『理解』。舉個例說,你會怎麼『詮釋』下面這兩個 T, F 組合子的呢?

T =_{df} (\lambda x.  ( \lambda y. x))

F =_{df} (\lambda x.  ( \lambda y. y))

既然已經知道了『命名』的變元之『自由』、『約束』和『此自由彼約束』性質,就可以談及在某一個『 λ 表達式』中,該式所構成的『表達項』如何『替換』Substitution 的作法,此處 A[x := M] 是指︰

A表達式』中所有『自由出現』的『 x 變元』,都使用 M表達項』來取代。

我們可以歸納的定義如下!

x, y 是所指 λ 表達式的任意變元
A, B. M, 是所指  λ 表達式的任意構成項── 該式在建構過程中的各個合乎語法的 λ 表達式 ──。

一、 x[x := M] \equiv M

二、 y[x := M] \equiv y,只要 y 變元不是 x 變元

三、 (A B)[x := M] \equiv (A[x := M] B[x := M])

四、 (\lambda x. A) [x := M] \equiv (\lambda x. A)

五、 (\lambda y. A) [x := M] \equiv (\lambda y. A[x := M] ),只要 y 變元不是 x 變元

第一條替換規則』就是說我們要將 M 取代 x 變元之此同一件事。『第二條替換規則』是講 y 變元和 x 變元無關,無法談替換的事情。『第三條替換規則』說︰對於『應用化約』來講,替換是『分配』於『前後』表達項的。『第四條替換規則』類似『第二條替換規則』,因為『抽象函式』之變元『名字』是『虛名』的,所以該替換沒有作用。『第五條替換規則』就像『第一條替換規則』裡所說的一樣。 至於說『定義符號=_{df} 並不在『  λ 表達式』的構成裡,它是一種『縮寫』,目的是為了『清晰易讀』屬於表達『約定』的『改寫方法』,基本上與『替換』根本無關。

 

─── 待續…… ───

λ 運算︰概念導引《一》

甲骨文名

金文名

論語‧子路篇

子路曰:『衛君待子而為政,子將奚先?』子曰:『必也正名乎!』子路曰:『有是哉,子之迂也!奚其正?』子曰:『野哉由也!君子於其所不知,蓋闕如也。名不正,則言不順;言不順,則事不成;事不成,則禮樂不興;禮樂不興,則刑罰不中;刑罰不中,則民無所措手足。故君子名之必可言也,言之必可行也。君子於其言,無所苟而已矣。』

説文解字》:

名,自命也。从口,从夕。夕者,冥也。冥不相見,故以口自名。

古來『名字』的傳統,幼時口呼『命名』,成年書寫『取字』。

許多讀過『λ 運算』的人,多半覺得它既『難懂』又『難解』。這是有原因的,如果用『抽象辦法』談論著『抽象事物』,又不知道為何如此表述當然『難懂』;假使不能『困思勉行』多次的『深思熟慮』,以至於能夠一旦了悟那就自然『難解』。通常越是『基本』的概念,由於太過『直覺』了,反而容易『誤解』。就像化學元素『週期表』上的元素不過一一八個,它所構成的世界卻是千嬌萬媚繁多複雜,要講『』的『性質』與『作用』,也許一大本書都不能窮盡,但換個方向說鐵不就是日用之物的嗎?

邱奇發展『λ 運算』Lambda calculus,這裡的『calculus』不是指『微積分』,是用著『函式』Function 和『變元』Variable 的概念,來談論『計算』一事是什麼?複雜的『函式』是如何清晰明白無歧異的『結構』而成?『變元』的『替換』Substitution 規則,要如何系統化的處理變元替換時『異物同名』衝突之問題?如果從『函式求值』上講,一個『λ 表達式』用著怎樣的『規則』可以『轉換』成為『同等』equivalent 的另一個 λ 表達式呢?……種種。假使給定了兩個『λ 表達式』是否會有一個普適的『演算法』能夠判定彼此間的『同等性』呢?……等等。

『λ 表達式』可以用『數學歸納法』定義如下︰

變元集合 V = \{ v_1, v_2, v_3, \dots, v_n, \dots \}
抽象符號 『 λ  』與『 . 』,符號本身不是λ 表達項
結構括號 『 ( 』與『 ) 』,括號本身不是λ 表達項

λ 表達式的集合 \Lambda,由下面三條規則歸納界定︰

一、如果 x \in V ,那麼 x \in \Lambda

二、如果 x \in V 而且 M \in \Lambda ,那麼 ( \lambda x. M ) \in \Lambda

三、如果 M, N \in \Lambda ,那麼 ( M \  N) \in \Lambda

假如使用數學上函數的觀點來解釋,『第一條』規則是說︰『變數』是一個『λ 表達式』。『第二條』規則用以抽象建構單一變數的『函數』,變數 x 是『函數』的『輸入之數』,M 是『函數』的『計算表達式』,結構括號表示『函數』的在表達式裡的範圍。『第三條』規則是應用『函數求值規則』,假使該應用合理的話,計算表達式 MN 表達式下的值。舉個例子說︰

假設 x, a 是變數,所以 x, a 是 λ 表達式,因此
(\lambda x. \ x) 是一個函數的 λ 表達式,因是
( ( \lambda x.  \ x) \ a) 是一個應用求值的 λ 表達式。

如果參造著一般數學上的描述,首先得將『匿名的(\lambda x. \ x) 給個『命名』,假使叫做 I, 寫作 I(x) = x,這樣 ((\lambda x. \ x) a) ,假如依據函數求值就是 I(a) = a。雖然我們還沒有定義 λ 表達式之改寫『化約』 的三個『同等\equiv 轉換規則,於此比擬的講它會依據『\beta 化約』的規則而得到 ((\lambda x. \ x) a) \equiv_{\beta} a。那麼為什麼 λ 中的函數表達式並不需要『名字』的呢?因為『第二條』規則已經把函數的『計算規則』── 那個叫做 M 的表達式 ──『抽象之封裝』了起來,而『第三條』規則又將『輸入變數N 給打包『封裝其應用』了。因此『計算規則』與『輸入物項』兩者都『內在』且『俱全』,所以無需『外部』其它的指稱,當然也可以自足的作計算了。反觀通常數學上的函數記號法,寫作 y = M(x),是用著『對應域』或者說用著『值域』來表達『計算結果』的,也就是說用著 (x,y) \in M 的集合論述,因此才用著不同的『命名』變數,來區分『計算過程』中的『函數』、『函數之輸入值』或是『函數之輸出值』。然而假使將 \lambda x. \ M 想像成函數上的 \lambda(x) = M(x),雖說是『不恰當的』── 每個封裝函數都叫做 \lambda(\dots) ──,但是對於了解那個 λ 表達式到底在說什麼還是很『有幫助的』。現在我們再看一個比較複雜的例子,式中 x, y, z 都是變數︰

((\lambda z. (( \lambda y. y + 1) (( \lambda x.  x^2)z)))3)
\equiv_{\beta}(( \lambda y. y + 1) (( \lambda x. x^2)3))
\equiv_{\beta}(( \lambda y. y + 1) 3^2)
\equiv_{\beta} 3^2 + 1

。此處特別停於『3^2 + 1』是想指出 ︰假使在函數求值計算過程中,如果不知道『如何平方』?也不知道『 + 』是『什麼意意』?那就可能會『止於』某個 λ 表達式無法繼續計算。其次如果按造定義的方式『建構』的 λ 表達式將會有很多的括號,這使得『閱讀』以及『化約』都十分『麻煩』,必須小心警慎的平衡括號。雖然通常有著一些『簡化括號』的『約定』,然而此時還是『辛苦』點的好,因為『表達式』的『結構』就在『括號的結構』之中,假使遭遇到了『化約結果』不如預期,這也許正是『反思』與『除錯』之重要的『關鍵處』。

假使再看一個例子 (\lambda s. (s s)),它到底在說什麼的呢?如果用著前面的 \lambda(s)= s(s) 的想法來看,這是講有某個 λ 表達式『 s 』應用於『自身』Self 之上的函數。如果 a 是一個『變數』數值之輸入,那麼 ((\lambda s. (s s))a) 化約成了 (a a),也許應用『數值對數值』之求值,是一件『不知說的是什麼』的事吧!那如果 f 是一個『函數』之輸入的呢?那麼 ((\lambda s. (s s))a) 化約成了(f f) 彷彿是種『回歸求值』。
比方說︰
I =_{df} (\lambda x. x)

((\lambda s. (s s)) I)
\equiv_{\beta}(I I)
\equiv_{\beta}((\lambda x. x) (\lambda x. x))
\equiv_{\beta} (\lambda x. x)
\equiv_{\beta} I

((\lambda s. (s s)) (\lambda s. (s s)))
\equiv_{\beta}((\lambda s. (s s)) (\lambda s. (s s)))
\equiv_{\beta} \dots
\equiv_{\beta}((\lambda s. (s s)) (\lambda s. (s s)))

這時如果思考什麼是函數之『定點概念』是否會似曾相識呢?由於並非是所有的函數都有定點,也就像不是所有的 λ 表達式之化約都能在『有限』的步驟裡被完成,它有可能會陷入『無窮』的循環。

那麼什麼是『異物同名』呢?如果考慮下面的 λ 表達式︰

(((\lambda f. (\lambda a. (f a)))  a ) b )

,式子裡有兩種『 a 』的出現,一種是在函數抽象中的虛名變數 M =_{df} (\lambda a. (f a)),另一種是在函數應用中的輸入變數 ((\lambda f. M) a ),這樣就發生了變數的『同名衝突』。所以需要將 (\lambda a. (f a)) 裡的虛名變數『重新命名』── 比方說改成 t ──,於是該函數就變成了 M^{'} =_{df} (\lambda t. (f t)) ,雖然虛名變數改變了名字,但是還是表達著一個同等的函數。此類『異名同物』的變數替換規則,一般稱作『 \alpha 變換』,也就是說 M[a := t] \equiv_{\alpha} M^{'},此處 [a := t] 表示 at 所替換,而 M[a := t] 是講,M 表達式中所有的 a 都被 t 所替換。在此作個表達式計算化約的比較︰

同名衝突

(((\lambda f. (\lambda a. (f a)))  a ) b )

\equiv_{\beta} ((\lambda a. (a a))  b )

\equiv_{\beta} b b

重新命名

(((\lambda f. (\lambda t. (f t)))  a ) b )

\equiv_{\beta} ((\lambda t. (a t))  b )

\equiv_{\beta} a b

 

─── 待續…… ───

λ 運算︰淵源介紹

美國數學家阿隆佐‧邱奇 Alonzo Church 對『符號邏輯』symbolic logic 的熱情與對基礎算術『形式系統』的研究持續一生。當他發現這類系統容易受到『羅素悖論』影響時,轉將所設想的『λ 運算』lambda calculus 單獨用於研究『可計算性』問題, 同樣否定的回答了『判定性問題』 Decision-problem ──

一九零零年德國大數學家大衛‧希爾伯特 David Hilbert 在巴黎的國際數學家大會上作了場名為《數學問題》的演講,提出了二十三道待解決之最重要的數學問題,這就是著名的希爾伯特之二十三個問題的由來。這裡的『判定性問題』 就是二十三個問題的第二題『算術公理之相容性』,一九三零年已為庫爾特‧哥德爾否證 ──。美國 UCLA 大學 Enderton, Herbert B. 教授寫了一篇名為
INTRODUCTION
Alonzo Church: Life and Work》的 Alonzo Church 小傳︰

In 1936 a pair of papers by Church changed the course of logic. An Unsolvable Problem of Elementary Number Theory presents a definition and a theorem:
“The purpose of the present paper is to propose a definition of effective calculability which is thought to correspond satisfactorily to the somewhat vague intuitive notion . . . , and to show, by means of an example, that not every problem of this class is solvable.” The “definition” now goes by the name Church’s Thesis: “We now define the notion . . . of an effectively calculable function of positive integers by identifying it with the notion of a recursive function of positive integers (or of a λ-definable function of positive integers).” (The name, “Church’s Thesis,” was introduced by Kleene.)
The theorem in the paper is that there is a set that can be defined in the language of elementary number theory (viz. the set of G ̈odel numbers of formulas of the λ-calculus having a normal form) that is not recursive—although it is recursively enumerable. Thus truth in elementary number theory is an effectively unsolvable problem.

A sentence at the end of the paper adds the consequence that if the system of Principia Mathematica is ω-consistent, then its decision problem is unsolvable. It also follows that the system (if  ω-consistent) is incomplete, but of course G ̈odel had shown that in 1931.

220px-Euclid_flowchart_1

λ演算是一套用來研究『函式』Function 的『抽象』Abstraction 、函式的『應用』Apply 、『變元』Variable 的『替換』Substitution 以及『函式』之『化約』reduction 的形式語言。λ演算對於泛函式程式語言的興起有著巨大的推動力,比方說人工智慧領域著名的 Lisp 語言,以及後來的 ML 語言和 Haskell 語言。更令人驚訝的是它自身就是一個『世界上最小的通用性程式語言』。由於『函式』與『變元』兩者是任何人不管想用哪種『□□程式語言』來寫『演算法Algorithm 都需要清楚理解的概念。就讓我們踏上前人走過的足跡,回顧旅途上周遭景緻,說不定會有意外的收穫!!

首先請讀者參考在《Thue 之改寫系統《一》》一文中的『符號定義』,於此我們引用該文中談到數學裡『函數定義』的一小段︰

如此當數學家說『函數f 的定義時︰

假使有兩個集合 ST,將之稱作『定義域』domain 與『對應域』codomain,函數 fS \times T 的子集,並且滿足

\forall x \ x \in S \  \exists ! \ y \ y \in T \ \wedge \ (x,y) \in f

,記作 x \mapsto y = f (x),『 \exists \  !  』是指『恰有一個』,就一點都不奇怪了吧。同樣『二元運算』假使『簡記』成 X \times Y \mapsto_{\bigoplus} \  Z  ,X=Y=Z=S,是講︰

z = \bigoplus ( x, y) = x \bigoplus y,也是很清晰明白的呀!!

200px-Injection_keine_Injektion_2a.svg

200px-Injection_keine_Injektion_1.svg

220px-Function_color_example_3.svg

220px-Function_machine2.svg

350px-Function_machine5.svg

如果仔細考察 y = f(x) ── 比方說 y = x^2 ──,那麼『函數 f』是什麼呢?『變數 x, y』又是什麼呢?如果從函數定義可以知道『變數』並不是什麼『會變的數』,而是規定在『定義域』或者『對應域』中的『某數』的概念,也就是講在該定義的『集合元素中』談到『每一個』、『有一個』和『恰有一個』…的那樣之『指稱』觀念。這能有什麼困難的嗎?假使設想另一個函數 z = w^2,它的定義域與對應域都和函數 y = x^2 一樣,那麼這兩個函數是一樣還是不一樣的呢?如果說它們是相同的函數,那麼這個所說的『函數』就該是『\Box^2』,其中 y,  z變數』只是『命名的』── 函數的輸出之數 ──,而且 w, x變數』是『虛名的』── 函數的輸入之數 ──。如果從函數 f 將『輸入的數』轉換成『輸出的數』的觀點來看,這個『輸入與輸出』本就是 f 所『固有的』,所以和『輸入與輸出』到底是怎麼『命名』無關的啊!更何況『定義域或對應域』任一也都不必是『數的集合』,這時所講的『函數』或許稱作『函式』比較好,『變數』或該叫做『變元』。其次假使將多個函數『合成』composition,好比『輸出入』的串接,舉例來講,一般數學上表達成 g(f(x)) = x^2 + 1,此時假使不補足,g(x) = x + 1f(x) = x^2,怕是不能知道這個函數的『結構』是什麼的吧?進一步講『函數』難道不能看成『計算操作子』operator 的概念,定義著什麼是f + gf - gf * gf / g 的嗎?就像將之這樣定義成︰
(f \otimes g) (x) \ =_{df} \  f(x) \otimes g(x)

,而將函數合成這麼定義為︰
(f (g) ) (x) \ =_{df} \  f(g(x))

。如此將使『函數』或者『二元運算』的定義域或對應域可以含括『函數』的物項,所以說它是『泛函式』functional 的了。

再者將函式的定義域由一數一物推廣到『有序元組』turple 也是很自然的事,就像講房間裡的『溫度函數』是 T (x, y, z) 一樣,然而這也產生了另一種表達的問題。假想 f(x) = x^2 - y^2g(y) = x^2 - y^2h(x, y) = x^2 - y^2,這 f, g 兩個函數都是 h 函數的『部份』partial 函數,構成了兩個不同的『函數族』。於是在一個運算過程中,這個表達式『 x^2 - y^2』究竟是指什麼?是指『f』還是指『g』呢?也許說不定是指『h』的呢?難道說『兩平方數之差』本身就沒有意義的嗎??因是之故,邱奇所發展的『λ 記號法』是想要『清晰明白』的『表述』一個『表達式』所說之內容到底是指的什麼。如果使用這個記號法,f, g, h 記作︰

f \ =_{df} \ \lambda x. \ x^2 - y^2

g \ =_{df} \ \lambda y. \ x^2 - y^2

h \ =_{df} \ \lambda x. \lambda y. \ x^2 - y^2

。那麼之前的 g(f(x)) 也可以寫成了︰

\lambda z.  \ ( \lambda y.  \ y + 1) (( \lambda x. \ x^2)\  z)

 

── 說是清晰明白的事理,表達起來卻未必是清楚易懂 ──

 

箱內電子!!

燕

玄鳥

燕子

燕子賦

説文解字》:燕,玄鳥也。籋口,布翄,枝尾。象形。凡燕之屬皆从燕。

 

玄鳥生商

春分玄鳥降,湯之先祖有娀氏女簡狄配高辛氏帝,帝率與之祈于郊而生契。

詩經‧商頌‧玄鳥

天命玄鳥,降而生商,宅殷土芒芒。古帝命武湯,正域彼四方。方命厥後,奄有九有。商之先後,受命不殆,在武丁孫子。武丁孫子,武王靡不勝。龍旂十乘,大糦是承。邦畿千里,維民所止,肇域彼四海。四海來假,來假祁祁。景員維河。殷受命鹹宜,百祿是何。

敦煌變文集‧燕子賦

燕子曰︰人急燒香,狗急驀牆。

300px-TunnelEffektKling1

300px-Quantum_Tunnelling_animation

200px-Finitepot

EffetTunnel

如果說狗急跳牆,那狗也可能會遇到『跳不過的』牆,可是這個『電子』說來是更玄的啊!它跳得過那個跳不過的牆!!

一九二七年丹麥的大物理學家尼爾斯‧波耳 Niels Bohr 在量子力學中,提出了『互補性原理』complementarity principle ︰

微觀物體可能具有波動性或粒子性,有時會表現出波動性,有時會表現出粒子性。當描述微觀物體的量子行為時,必須同時思考其波動性與粒子性。

也就是說『電子』要當作『粒子』講或當作『波動』講,得看具體情況而定,像在『陰陽互補』的未定之天。因為『量子系統』滿足的『波動方程式』是個『機率波』,所以那個『箱內電子』就有機會在『』被發現,並將此效應命名為『量子穿隧效應』Quantum tunnelling effect 。

400px-ScanningTunnelingMicroscope_schematic

200px-Selfassembly_Organic_Semiconductor_Trixler_LMU

200px-STM_image_of_single_Co_atom

掃描式隧道顯微鏡』 STM scanning tunneling microscope 是一種利用『量子穿隧效應』探測物質表面結構的儀器。這個儀器在一九八一年於瑞士 IBM 蘇黎世實驗室,由德國物理學家格爾德‧賓寧 Gerd Binnig 和瑞士德裔物理學家海因里希‧羅雷爾 Heinrich Rohrer 所發明,兩人因此於一九八六年獲得諾貝爾物理學獎的殊榮。這個厲害的設備,可以讓科學家『觀察』與『定位』『單個原子』,是同等級的『原子顯微鏡』中之『分辨率』的『極高等級』。假使在『四度 K』的低溫下,可以利用『探針尖端』精確的『操縱原子』,故為『奈米科技』中的重要『量測儀器』和『加工工具』。

左圖是單獨鈷原子在 Cu(111) 表面上的形貌影像。

那就看個 STM 的演示影片吧!!

 

 

D-Wave one

D-Wave Two

Figure1

Figure2Figure3

sn-photonsR

二零一一年五月十一日加拿大D-Wave System Inc. 發布了一款號稱 『全球第一台商用型量子計算機』 D-Wave One。二零一三年五月宣稱 NASA 和 Google 共同預定了一台採用 512 量子位元的 D-Wave Two 量子計算機。二零一四年一月二十日 Google Quantum A.I. Lab Team 發表了一份 D-Wave Two 的評效 benchmarking 測試報告
The hardware outperforms off-the-shelf solvers by a large margin

In an early test we dialed up random instances and pitted the machine against popular of-the-shelf solvers — Tabu Search, Akmaxsat and CPLEX. At 509 qubits, the machine is about 35,500 times (!) faster than the best of these solvers. (You may have heard about a 3,600-fold speedup earlier, but that was on an older chip with only 439 qubits. We got both numbers using the same protocol.)

While this is an interesting baseline, these competitors are general-purpose solvers. You can create much tougher classical competition by writing highly optimized code that accounts for the sparse connectivity structure of the current D-Wave chip.

簡單說令人驚異的是在許多一般性問題計算上,它比傳統的『電子解算機』快上了『三萬五千五百倍』!!

之前我們談過了『量子糾纏』,現今科學家發現『糾纏』不只可以『移轉』,還可以在『不同時存在』的光子間建立︰

In standard entanglement swapping (top), entanglement (blue shading) is transferred to photons 1 and 4 by making a measurement on photons 2 and 3. The new experiment (bottom) shows that the scheme still works even if photon 1 is destroyed before photon 4 is created.

既然已經有了『量子電腦』,又已經有了『量子圖靈機』,於是有人想藉著『量子糾纏』發展一種稱為『量子隱形傳態』 quantum teleportation ,又稱『量子隱形傳輸』或又叫『量子隱形傳送』,之技術傳送系統的『量子狀態』至『任意遠近之位置』。雖然人們對『量子糾纏』的『機制』尚不了解,僅以今日所知道的考慮這個『糾纏』、『糾纏的移轉糾纏』和『存在與不存在的糾纏』,果真是『糾纏啊糾纏』!那這個『糾纏之糾纏』難到不會使那個『桶中之腦』擺脫不了『桶外』早已經建立的『糾纏』── 比方說他曾經救了一隻玄鳥,那玄鳥又生了一些小燕子 ──,要是如此他能夠不知道『它在桶中』的嗎?假使說『眾生皆有佛性』,如果為『覺悟糾纏』,那他真的又能夠永遠『執迷』於『虛幻』的嗎??

時間是什麼??

 

300px-GeraniumFlowerUnfurl2

古柏高士

唐‧杜甫古柏行

孔明廟前有老柏,柯如青銅根如石。
霜皮溜雨四十圍,黛色参天二千尺。
君臣已與時際會,樹木猶為人愛惜。
雲来氣接巫峽長,月出寒通雪山白。
憶昨路繞錦亭東,先主武侯同閟宫。
崔嵬枝干郊原古,窈窕丹青户牖空。
落落盤踞雖得地,冥冥孤高多烈風。
扶持自是神明力,正直原因造化功。
大厦如傾要梁棟,萬牛回首丘山重。
不露文章世已惊,未辭翦伐誰能送。
苦心豈免容螻蟻,香葉終經宿鸞鳳。
志士幽人莫怨嗟,古來材大難為用。

時光流影是能夠回頭的嗎?

如果透過『縮時攝影』 Time-lapse photography 來觀看花開日落的世界,是否會覺得時間『如夢似幻』的呢?

那麼『植物的發芽』與『生命的誕生』又該是用著怎麼樣的心情去看待的呢??

論語‧子罕

子在川上曰:逝者如斯夫!不舍晝夜。

 古希臘的哲學家赫拉克利特 Ἡράκλειτος 認為︰

萬物流變
人不能兩次走進同一條河流。

所謂的古典力學是以牛頓三大運動定律為基礎︰

第一定律:假使沒有外力作用,靜者恆靜,動者作等速直線運動。又稱作慣性定律,定義了『慣性座標系』是什麼,以及慣性座標系裡的觀察者

第二定律:在慣性座標系中,物體的加速度,與所受的淨外力成正比。即是 \vec{F} = m \cdot \vec{a} 運動定律,式中的 m 是物體的慣性質量。

第三定律:當兩個物體有交互作用時,彼此間的作用力與反作用力同時發生,大小相等方向相反。\vec{F_{12}} = - \vec{F_{21}}

從古典力學的『時空觀』來看,是物體在時空中產生運動,所以『時間』是運動的『第一義』。曾經有人以為『第一運動定律』是多餘的,它可以從『第二運動定律』中給定 \vec{F} = 0 就推導出來。其實這是錯誤的觀點,『第一運動定律』的主旨在於定義一類稱作『慣性座標系』中的『觀察者』,而『第二運動定律』是這種『觀察者』實驗中發現的『自然律』,當然彼此符合。事實上這個觀察者的時空觀,就是古典力學的『時空觀』,一個對所有的『慣性座標系』中的『觀察者』恆定恆速的『時間之流』。由此一個物體的運動軌跡所描述的『事件之流』E_{t_1},E_{t_2},E_{t_3}, \dots, E_{t_n}, \dots, \ t_i < t_j,可由三大運動定律所確定,如果從『相空間』──  位置與動量構成的狀態空間 ──的描述來看,這個物體是擁有當下『狀態記憶』的,所以不論是過去、現在與未來的狀態,才能被『初始狀態』所決定。因為古典力學的運動方程式中時間之流並沒有『方向性』,所以如果讓時間『逆流』── 從當下往過去回朔 ──,就相空間的操作講,就是將 t \mapsto -t。此時彷彿『倒退播放』的影片,那個『打碎的杯子』回到『完好如初』的過去。然而『熱力學』的『』Entropy 卻打破了這個可能的『逆流之夢』,給時間帶來了明確的『方向』── 向前走,永不回頭── 。那麼『』不會和三大運動定律『矛盾』的嗎?由於『』是什麼的研究,以及想解釋『溫度』和『壓力』又是什麼?科學家發現對於一個有大量粒子的系統,那張『相圖』將不但會是密密麻麻的分不清之軌跡,而且那些粒子也將『狀態失憶』,無法記得來時軌跡,此時只能用著『統計』的辦法計算那些平均值。並且假設所有符合『巨觀條件』的『微觀可能狀態』的『機率』是如何如何的,來符合已知的實驗觀測數據。在『理想氣體』的力學研究中,波茲曼 Boltzmann 給出了著名的『假設』︰

S = k (\ln \Omega)

,此處 k 是波茲曼常數,而 \Omega 是『巨觀狀態』下所有可能的『微觀狀態』總數。這將一八六五年德國物理學家克勞修斯 Rudolf Julius Emanuel Clausius 提出的熵的概念︰

在一個可逆性程序裡: \Delta S = \int_L \frac{\delta Q}{T},此處 L 是程序之熱力過程。

解釋的更明白了,『』就是一個系統『混亂程度』的『度量』,它是一個『有增無減』的狀態函數,也開啟了今天的『統計熱力學』之大門。

到了愛因斯坦的『相對論』,又以時空的『量測』立論,『光速』的恆定性,打破了那個對所有的『慣性座標系』中的『觀察者』恆定恆速的『時間之流』,不同運動的『觀察者』之『時空』度量不同!!

在《混沌理論》一文中,我們談到因為『非線性』的緣故,事物之『事件之流』可能會喪失了『確定性』。如果加上『量子力學』的《測不準原理》,那麼就當前所知,『機率』果然是主導著我們的『宇宙』。也許『上帝』之所以『擲骰子』是想把『自由』賦予世界『萬物』,設使如此千萬小心︰

禍福無門,唯人自招。