加加減減的奧祕——從數學到魔術的思考(二)
愛學習,勤思考;學數學,玩魔術
在上一篇文章中(參見公眾號歷史訊息或選單欄,傳送門:加加減減的奧祕——從數學到魔術的思考(一)),我們詳細介紹了人類計數的發展史的開端:整數的出現和加減運算的誕生,他們都是生產力發展下,人類認知能力相應提高後由需求產生的抽象能力,是人類智力和思想進步的標誌之一。這其中,同數的加法和減法互為逆運算的性質正是由這個運算誕生以來的天然性質,而她也可以用來設計巧妙的魔術了。其一般模式是:給定一個開頭,在執行完兩次操作以後會回到這個原本就知道的setting起點,以做到預測或者巧合類魔術效果,即:
a + b - b = a
在上一期中分享的兩個視訊就是依據這一原理設計的。我們這一期會詳細講解設計過程,尤其是對數學原理的充分利用以及巧妙的魔術改造。
數學到魔術的模型
注意看前文的那個公式,在魔術裡,a往往是預先準備好的setting,b是觀眾的隨機選擇,而結果的a則是魔術效果,可以是預測,也可以使4Ace出現這樣的美麗展示。變一個魔術,在計算機看來,就是執行了這些加減操作,得到預先設定好的結果,一點也不奇怪。
到此,用這個原理變魔術還剩最後一個問題:加減法這種運算是怎麼對應到撲克牌的操作上的,答案也很清楚,撲克手法中有兩個最基本的操作可以和加減運算相對應:
1. Dealing:發牌,這個操作如《reverse原理的魔幻藝術》)所言,是一個可逆操作,相當於頭部reverse,但也可以理解為一個counting過程,即數有多少張牌,和數世界上任何一個集合裡的元素個數在模型意義上完全相同,而把數好的兩疊牌合在一起的張數和把兩筐棗子混在一起的總數都符合“同質化元素集合的合併”這一操作,即可用加法來建模其大小變化結果,反之則是對應減法的拆分過程,即發剩下牌的張數,對應著減法運算;
2. Cut:切牌,即對序列進行整塊連續區域的移動,增減,替換等等操作,同樣可以達到符合加減法定義的“同質化元素集合的合併和拆分”這一抽象過程,這個有點像把兩筐棗子直接倒在一起或者一次性倒出去一筐棗子,而沒有一個個數了,但是數不數卻絲毫不影響性質的成立;
當然可能還有一些變種操作也符合加減的含義,大家可以拿起撲克牌來比劃想象一下,看有沒有別的發現,但以上兩個應該囊括了主流了。
這兩個手法沒有任何瑕疵,甚至無需練習,因為所見即所得,觀眾看到的和實際發生的內容一模一樣,視線上的錯誤引導也是不需要的,不像變個鴿子出來一樣需要一點所謂障眼法,需要的是畫面和故事的引導和想象,去把無聊的數學操作過程包裝成觀眾願意聽的一個故事,願意看的一場電影。
好,接下來,只需要去在魔術中用故事和畫面去編排這些枯燥的操作,構建上面的恆等式,魔術便設計完成了。下面是幾個表演視訊和解析,本篇文章著重分析Dealing操作的應用,下一篇也是本系列最後一篇會和大家分享Cut操作的應用。
魔術部分
第一個魔術是一類魔術4Ace presentation的我自己的修繕版本,這個效果一般快速地可以由setting加簡單手法直接變出(參看劉謙《近近景近景》的相關內容)複雜一點的手法也可以看起來更炫和神祕一些,比如大衛的經典4Ace(前半部分是presentation,後面是Assembly了),而我這個版本用的卻是加減法互為逆運算這一數學原理,觀眾可直接參與和互動,也算別具一格吧。
視訊1 4Ace Presentation
按照原魔術原理,觀眾拿走的牌數量是b,我拿走的張數是精確數過的a,(觀眾卻並沒注意這件事),再數牌則相當於拿走了b,這樣即完成了a + b - b = a的全部操作,且注意被預測那一張是原第(a + 1)張,也是減去的那個集合的最後一張,而其餘各關聯位置的撲克牌也在掌控之中,居然把一張牌的預測原理通過魔術師的想象擴充套件成了4Ace加4Kings的8倍效果的畫面,真是不可思議!就像一個簡單的Elmsley count的組合就能夠製造出出現,消失,翻轉等各種效果,魔術師帶著鐐銬跳舞,總會有一種別緻的美感。
第二個表演則是同一個原理的預測效果的展現版本,印象中在《魔星高照》名人變魔術單元中劉謙曾經表演過類似的效果。這個展現方式沒有那麼多美麗畫面但是勝在心理上的不可能和震撼的感受。原理相同,不再贅述,且看編排中如何儘量讓每一個步驟的臺詞那麼合理,如何讓普通的結局看起來不可思議。
視訊2 Exact Composed prediction
“因為心裡想的數字可能會受到我的干擾,所以我們採用一種更安全的方式,請你用手隨便拿起一疊牌,大概1 / 3以內。”這一說辭使得觀眾心甘情願的幫我完成了+ b操作,而且還增強了他的信任,魔術裡太需要這種一舉兩得的設計了。
“但是你可能懷疑我數了你大概拿了多少張以後,是不是趁你不注意的時候偷換到了它,這樣好了,從表演一開始到現在這邊一直放著……”,又是一舉兩得的臺詞,不僅把觀眾可能在思考為什麼的注意裡牽扯到是不是偷換了預測牌上面,而且,馬上用一個更強大的效果打消了這個疑惑,自圓其說,自然把觀眾的解密思路帶向了一個死衚衕,嗯嗯,還是來欣賞奇蹟的美吧!
在預言展示階段,常用的物品上常常有意想不到可以利用的東西,比如牌盒上的紅心10,我想這上面的預言要比你拿出任何一個包裝完好但是奇奇怪怪的信封然後很可疑地撕開,最後裡面好幾層有張紙條的方式,要好得多吧!越是普通,越是震撼!
另外有一個細節,其實count過程太繁瑣太多(比如這裡其實需要數20張牌)往往觀眾會厭煩甚至猜出其中奧祕,所以這裡為了實現reverse,並沒有count,而是採用更加粗暴的turn over操作,神奇的是它竟然可以完成和reverse完全等價的效果,究竟為何這麼神奇,以及這種等價性又可以設計出怎樣的魔術?我們後面再寫文章專門闡述,這部分思考還真正地幫助我在研究生物資訊學的時候理解了人類基因組所謂的鹼基互補配對和雙螺旋結構,體驗科學研究之妙~
更多精彩內容歡迎掃描下方二維碼關注我們,我們下期再見!
作者簡介:magic2728,現就職於騰訊。自幼以數學和魔術為最大愛好,從參加建模比賽到培訓到一線網際網路從業者,其建模經驗遍歷金融,生物,網際網路;魔術表演從學校走向比賽和商演,又迴歸撲克牌魔術理論的研究。他通過建模來思考,參與和改造這個世界,也希望能同步把這些精彩分享給感興趣的朋友們。
————
微信公眾號“演算法數學之美”,由演算法與數學之美團隊打造的另一個公眾號,歡迎大家掃碼關注!
更多精彩:
演算法數學之美微信公眾號歡迎賜稿
稿件涉及數學、物理、演算法、計算機、程式設計等相關領域,經採用我們將奉上稿酬。
投稿郵箱:math_alg@163.com
相關文章
- 加加減減的奧祕——從數學到魔術的思考(三)
- 加加減減的奧祕——從數學到魔術的思考(一)
- 數學-錯位相減法
- 更相減損術的應用
- 排序後扣減每行的數量排序
- 遊戲設計師可以從魔術中學到什麼?遊戲設計師
- 更相減損術求解最大公約數
- 微軟讓訓練萬億引數AI模型的GPU需求從4000個減少到800個微軟AI模型GPU
- 機器之心GitHub專案:從迴圈到卷積,探索序列建模的奧祕Github卷積
- DMAIC:科學助力你的減肥之路!AI
- 超大整數的加減乘除計算方法
- Trick:處理加減等差數列的技巧
- "減時限、減材料、減跑動",浪潮軟體助力衡陽政府數字化轉型
- Withings:2020年全球人們走路的次數減少 但體重卻減輕了
- 浮點數加減法
- tensorflow學習率指數衰減ExponentialDecay的引數介紹與使用方法
- 從今天開始,學習Webpack,減少對腳手架的依賴(下)Web
- 從今天開始,學習Webpack,減少對腳手架的依賴(上)Web
- 精益生產的奧祕 -- 優思學院
- 浮點數的加減乘除運算細節
- 三個數字的加減乘除模運算
- 深入理解JVM(二)——揭開HotSpot物件建立的奧祕JVMHotSpot物件
- 從 1 秒到 10 毫秒!在 APISIX 中減少 Prometheus 請求阻塞APIPrometheus
- 讓你的程式碼量減少3倍!使用kotlin開發Android(二) –祕笈!擴充套件函式KotlinAndroid套件函式
- JavaScript加減乘數運算JavaScript
- 挪威奧斯陸大學:每日做家務可幫助減少早死風險
- 我從Typoro中學到的Clipboard妙用(二).md
- JavaScript中任意兩個數加減的解決方案JavaScript
- Android App秒開的奧祕AndroidAPP
- MyBatis和Spring整合的奧祕MyBatisSpring
- 快速冪演算法(二分思想減少連乘次數)演算法
- Vue $mount的掛載入口的奧祕Vue
- 輾轉相除法與更相減損術(求最大公約數)
- 減少Android APK的大小99.99%AndroidAPK
- CLIPPO:純影像的 CLIP,引數減半且更強大!
- 詳解 Python 的二元算術運算,為什麼說減法只是語法糖?Python
- 樹人:從《魔戒》到《魔獸世界》
- 從文學到遊戲 聊聊反烏托邦作品帶來的思考遊戲