當代數恆等式遇上魔術(二)

  • 2019 年 10 月 8 日
  • 筆記

在今天的文章中,我們將繼續探討「代數恆等式」這一數學話題和在魔術中的應用,並把它和前面介紹的數學原理聯繫起來理解,拓展出一些更一般性的數學原理和魔術演繹方法,分享給大家。即希望我們的學習,要理解「道」,而不是學習「術」,能做到君子不器。

數學部分:再談恆成立

這裡我們首先就數學上「恆等式」的產生方式作一些分析。

什麼事情會「恆成立」,我認為大體分為兩類:

一類是從來沒有變過的客觀規律,或短期內不會改變的人類認知。

比如亞里士多德的更重的小球下落更快,到牛頓力學定律,到愛因斯坦相對論,在相當長的時間內這些東西被人們視作真理,而確實隨著一代人一代人的努力,這些人類的認知像積分一樣不斷累加而越來越接近真理。

又比如平面幾何上美麗的蝴蝶定理,九點圓,賽瓦定理和梅捏勞斯定理等等,這些線段,角度的相等,位置的約束等,都可以有著嚴格的數學推導證明。只要我們認定諸如兩點之間直線最短等一些基本公理,這些就一定正確,前提成立 + 邏輯沒毛病 = 結論成立。

還有我們常見的機器學習任務中的工作模式,往往是把一件事情不變的規律通過某個網路形式和參數固定下來,於是在不同的樣本,時間,空間上,都可以用同樣的這套記下來的規律去進行生成或者判別了。

對於純魔術師來說,很遺憾,這些資訊要麼基本為人所熟知,再怎麼包裝,其現象也難逃司空見慣;要麼則太艱深晦澀,難以轉化為魔術表演。大家就不要在這樣面下功夫了,前輩指明走不通的路,趟了也白趟。

另一類則是人為構造的恆成立關係,這些則是幾乎所有self-working流程的核心原理了,他們都是眼見為實的。(而非self-working則可以粗淺理解成「障眼法」,眼見不為實)

如果我們把魔術表演拋開藝術包裝成分,單單研究其物理效果,便可簡化而視作一個FST(有限狀態轉移機),給觀眾的選牌,說數字,拿起一疊,以及魔術是自己的洗牌,切牌等,都是這個狀態機上的狀態轉移,而觀眾輸入部分是隨機輸入,魔術師的則可以是固定輸入,甚至是根據觀眾輸入資訊處理得到的必要輸入。總之最終目的都是為了最後在某個輸入下得到某個幾乎確定的狀態結果,進而展示成魔術效果。

圖1 狀態轉移圖

最後魔術好不好看,驚不精彩,那就是藝術設計了,數學家可以構造出簡明神奇的數學結論,而魔術師可以找到素材去包裝成舞台上的瑰寶!

當然,如果兩者的思路都會一點點,是一個數學魔術師的話,嗯嗯,他們總能發現最合適用來表演魔術的數學。因為數學的魔術價值,和數學價值,魔術價值都不一樣。就比如物理上非常重要的牛頓定律的正比關係,在數學上無甚出彩;而數學上極難證明的收斂性,測度理論等實際工程中卻只是當作近似成立使用而已。

本篇討論的是代數恆等式,所以我們先繼續這一話題,其實還有很多魔術上精妙的恆等關係,在我們後面介紹其他主題提到他們的時候,會再勾起你的回憶的。

魔術部分:作品欣賞

這個作品也是來自英國女王學院的原始idea,除了名字,並未作太大改動,請大家欣賞:

影片1 神奇的配對

數學魔術分析

這個作品原理不難,相信有了前面文章的基礎大家看幾遍應該能明白其中原理,為什麼還來單獨講這個魔術呢?因為它麻雀雖小,五臟俱全,其中用到了很多數學和魔術的性質,而且非常漂亮的融合在了一起。且看其流程里暗含的幾個基本的數學規律:

1. 二切撲克牌任意次,均不改變一疊撲克的循環隊列結構(這一性質的具體應用後面有專門文章講);

2. 周期函數的周期起點是任意的;

3. 無論集合怎麼劃分,其並集大小不變(廢話,可是對魔術很重要啊);

4. 任意序列上的元素從頭和尾開始計數的索引和是:從1開始索引:(序列長度 + 1);從0開始索引:序列長度 – 1);

1和2保證前面的洗牌操作不會破壞撲克牌序列的性質,中間的reverse操作(前面文章有介紹哦)使得桌上的兩疊牌恰好構成鏡像關係,於是,對兩疊牌的操作其實可以等價到同一疊牌上。觀眾對籌碼的拆分時候的恆等關係是兩側的數量和為定值(規律3),即從一疊牌的兩個方向的索引和為定值,由規律4可知,無論怎麼拆分,觀眾必然選到同一張牌,在恢復鏡像關係到兩個對象以後,那個成對的效果就出現了。

怎麼樣,從中看沒看到reverse操作的又一神奇應用,直接把f(x)和x展現出來,構造分離而合一的鏡像操作!這使得本來很明顯的現象一下變得撲朔迷離!

有沒有看到加減逆運算來構造的恆等式?以其中一疊張數為a,那麼另一疊需要數的張數b1和在牌疊上倒數的張數b2就是一樣的,因為c為相等的常數!

這個恆等式的構造過程中,用上了我們講過的幾乎全部十八般武藝,說好的樣樣俱全吧!

還有幾個魔術方面的處理也很關鍵:、

1. Reverse操作十分自然而有邏輯,絲毫沒有痕迹;

2. 不斷地減少觀眾手裡牌的張數,讓大家一直看到變化,而沒注意,這個變化是迫不得已發生去使得性質不變的,這是魔術師最划算的買賣,幹了一個dirty work反而使得觀眾更加信服!

3. 代數恆等式的數值結論可以映射成牌的點數相等的結論,這樣會更加震撼(當然也不能生搬硬套,像上期張數巧合魔術就已經很好了,不該再畫蛇添足),這裡映射成一對甚至是完全一樣的牌,效果顯然是加分的;

最後,我們來分析一下序列索引方式和在這個魔術里的巧妙應用。

很多不是搞電腦的人不理解為什麼電腦上的計數要從0開始數起,甚至專業人士也只是記住了這個結論卻不明白為什麼形成了這個約定俗成的方式。其實,這一切都是有緣由的。

所謂序列,其實是我們對一維時空內對象的一種抽象建模,其中只有一個依序變數(計量方式有定類,定序,定距,定比四類方式,有機會詳聊),僅有大小關係和排序,而每一個對象僅相當於無限空間上的一個點,大體相當於拉直高速公路上種的樹(假設等間隔種植,頭尾都有)。這時候,我們往往有兩種計數需求:

1. 某棵樹是從頭開始數第幾棵樹,也可以定義為,包括自己在內,和前面的樹一起,一共有幾顆。這時候,第一棵樹包括自己有一棵,第二棵數包括自己有兩棵等等。就像你說你第一名其實是說,我前面的只有1 – 1 = 0個人了一樣,包括自己才是1,這是對單個對象的排序意義。

2. 另一個意義是,這棵樹的位置離第一棵樹幾個單位長。那麼這時候原來的第一棵樹離自己顯然是0個單位長,原來的第二顆數離第一棵是1個單位長,由此我們程式設計師就把索引起始改為0了,而其本質含義是度量的那個假想的離第一個位置的單位距離數量。

所以,我們用正整數一般的要求其實是數量的度量,偶爾需要計數,而恰好,第一種方案兩個值相同而容易理解,而這種空間距離概念在一些日常場合壓根是沒有的,自然也就不需要了,但是向量,或者說數組,某些時候就是抽象的時間或空間里的對象,因此依據距離來度量和代表索引的方式,也就在電腦中存在了,尤其是那些如C的底層語言,因為像定址一類的操作,也都是看在記憶體上的相對距離,而這些地址本身,並不是一個計數起來有意義的樹或者蘋果一樣的實物,而是抽象的空間位置序列。

發現一個有趣的現象,NBA球隊勝場排名里竟然綜合運用了這兩個計數概念,我們常說的排名和勝場差就分別體現二者的含義。比如,第一名的勝場差是0,第二名勝場差比如1.5場之類。大家可以從中仔細體會其中的區別。

在這個魔術里,我們竟然罕見地選取了等價從0開始的計數方式,這其實是不自然而需要避免的,但是,不這樣做會造成,最後籌碼多一個,也會需要限定兩邊至少有一張牌(不然索引中沒有第0張的說法)。折中以後,選擇了數牌到下一張的展示方式來實行這種實際是0基計數的策略,那都是有設計,不是胡來的。

好了,本篇是《當代數恆等式遇上魔術系列》的最後一篇,全面而完整地闡述了此類技法的精髓,相信以上文章能夠給你對這類數學現象和魔術技巧有一個全面的理解,能夠聯想之前的作品有一個宏觀的認識,提升思維能力,激發大家的創作潛能。