一碗酸梅湯 作品

第286章 破解壞蘋果

    江寒用python設計了一個程序,將“彈性碰撞”算法實現了出來。

    所謂“彈性碰撞”,通俗的說法就是“碰瓷兒”。

    首先準備一個種子函數,然後讓算法隨機修改函數的參數和結構,衍生出各種各樣的函數。

    在極其罕見的情況下,有的函數可能與81個核心方程中的某一個,在某些特徵上表現出足夠的相似度。

    當搜索到了這樣的函數,就將其替換到“蘋果核”上去。

    眾所周知,兩個同階微分方程,如果結構、係數等方面,並不完全相同,那麼通常來說,就是兩個完全不同的方程,理論上來說,是不能互相替換的。

    但在計算機中,有的時候這樣做卻是可行的。

    這是因為,任何計算機的精度都是有限的,只能近似地體現出方程或函數的部分特徵,而非全部。

    所以,如果兩個函數或方程,在某些方面可以重合,尤其是上下文中需要體現的那部分特徵,只要沒有出現任何出入,那麼就可以在計算機內部,將兩者等同看待。

    當然,單靠人力計算,想要進行這樣的碰瓷兒,幾乎是不可能的。

    但現在嘛……

    有了“彈性碰撞”算法,就為機器求解提供了實施的途徑。

    相比於窮舉法,“彈性碰撞”的優點是可以節省大量時間,缺點就是可能存在漏解。

    而且,這是一種碰運氣的算法,可能一秒鐘就能找到答案,也可能一輩子都找不到。

    那麼,如何提高碰瓷成功的概率,縮短等待的時間呢?

    答案很簡單,可以採用並行計算。

    好吧,說實話,這個時候,江寒就深刻地認識到量子計算機的優越性了。

    而在只有經典計算機的當下,解決這種大規模計算,只能靠人多力量大……

    江寒將“彈性碰撞”程序上傳到了自己佈置在車庫中的ibm服務器和五臺工作站中,讓它們同步運行了起來。

    隨後,他就拿出一本《密碼學算法》,看了起來。

    每隔大約1個小時,江寒就通過筆記本電腦,遠程檢查一下服務器和各個工作站,看看“彈性碰撞”的運行情況。

    事實證明,他今天的運氣還真不錯。

    僅僅在第3次例行巡查中,江寒就欣喜地發現,居然有三臺工作站,找到了可用數據。

    碰瓷成功!

    接下來,就比較簡單了。

    將這3條數據中的任意一條,替換到“蘋果核”上去,都會讓原本完美無瑕的壞蘋果,產生一條細微的裂隙。

    如果將3條數據全部換上去……

    江寒這樣做完之後,欣賞著遍體鱗傷的“蘋果核”,不禁滿意地一笑。

    隨後他就開始抽絲剝繭,手工拆解“蘋果核”。

    這個過程異常繁瑣,持續了足足10個小時。