懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

有一個棋力很好的朋友,總是下不贏怎麼辦?英國程序員小哥詹姆斯想出奇招:電腦連在鞋墊上。比賽現場,詹姆斯(左)看起來像是聚精會神地在思考下一步動作,他的對手也沒發現哪裡不對勁。但在桌面之下,他正努力用腳底板和樹莓派電腦溝通

懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

在沒有顯示器也不能發出聲音的情況下,輸入要靠鞋裡安裝的壓力傳感器,輸出則靠振動馬達。成功贏下一盤后,詹姆斯坦白自己其實是“用腳”贏的。

他的朋友歐文一開始還不信,直到他把身上的設備都掏出來,歐文才露出一副見了鬼的表情。

懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

如何用腳戰勝對手

詹姆斯作弊的方法並不複雜:對手怎麼走自己就在電腦上怎麼走,輪到自己時再把電腦的走法在桌面上重複一遍。只不過沒有鼠標鍵盤的情況下,輸入和反饋都要靠摩斯電碼。

國際象棋 8×8 的格子一般橫向編為小寫的 a-h、縱向編為 1-8,棋子則根據英文單詞首字母命名,如后(Queen)就是大寫 Q,象(Bishop)就是大寫 B,另外小寫 x 代表吃子。

懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

這樣一來,每一步棋都可以寫成類似“Bxg2”(把象移動到 g2 格子並吃子)的簡短編碼形式,這也是一種通用的國際象棋記譜方法。

將記譜碼轉換成摩斯電碼的長短脈衝組合后,就能像發電報一樣的節奏用腳踩踏板了。

懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

雖然原理很簡單,但操作起來還是很困難。程序員小哥詹姆斯遇到的實際問題就是腳踩編碼和感受振動都不能出錯,一旦失誤桌面上的棋盤局勢就和電腦里的不一樣了。

雖然電腦有悔棋返回上一步這個操作,但關鍵不一定能及時意識到錯誤,等好幾步過後再想撤銷那就“無從下腳”了。

在第一盤棋中詹姆斯就把電腦的反饋給翻譯錯了,他意識到後半盤沒有幫手只能靠自己了,最終輸給水平更高的歐文。第二盤棋詹姆斯其實也犯了同樣的錯誤,但因為當時局面優勢已經很大,幾步之後歐文只能認輸。

懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

△ 詹姆斯出錯時的局面

贏下一盤比賽后,詹姆斯向歐文坦白,並介紹了設備的具體細節。一台樹莓派 Zero 只有信用卡大小,詹姆斯額外加裝了三個組件后也能裝進褲兜里。

需要添加的有:讀取力敏電阻的數模轉換電路,控制震動馬達的晶體管,以及減少震動噪聲的可變電阻。

懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

軟件方面他安裝了國際象棋程序 Stockfish,並自己寫了 Python 腳本和 Perl 腳本,用於翻譯摩斯電碼。為了贏下一盤棋,詹姆斯甚至還在褲兜里打了個洞,好讓信號線可以順着褲腿連到鞋上,也是很拼了。

而鞋墊則是他自己 3D 打印的,使用了有彈性的 TPU 塑料,甚至不會妨礙走路。

懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

會有人在正經比賽中用鞋作弊么?

雖然已經贏了一次,但詹姆斯表示還沒玩過癮。下一步他打算把設備做得再隱蔽一些,到當地的酒吧里去整蠱更多朋友。他計劃把所有設備都集成到一個電路板並配上電池和藍牙模塊,粘在鞋的內底,這樣即使被搜身都不會露餡了。

詹姆斯還開玩笑說想招募一個水平還不錯的人,讓他用這雙鞋看能不能真的贏一個世界冠軍回來。

雖然詹姆斯並不打算真的這樣做,但還是在網友之中掀起一番討論。正式比賽,真的可以這樣作弊么?有人指出,用電子設備作弊在棋牌比賽和賭場中已有多年歷史,甚至上世紀七十年代就有人在鞋裡安裝過輪盤賭預測裝置。

懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

不過對於國際象棋來說,用電腦作弊還有一個額外問題。電腦的思維方式畢竟和人類不一樣,沒準就下出一手人類根本想不到的棋,在事後很容易被分析發現。

懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

剛好最近就有這麼一個例子。世界冠軍 Magnus Carlsen 在錦標賽中輸給一位積分遠不如他的對手,這名對手還有線上比賽的作弊史。雖然這次有沒有作弊行為還沒出調查結果,不過冠軍老哥直接宣布退賽了。

懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

雖然吃瓜群眾對這場比賽中可能的作弊方式有諸多猜測,某種振動裝置的可能性最大,流傳比較廣的一個說法是…… 放在肛門裡。

懂技術真的可以為所欲為:樹莓派連鞋墊上作弊 程序員用腳戰勝棋友

參考鏈接:

  • [1]https://incoherency.co.uk/blog/stories/sockfish.html

  • [2]https://news.ycombinator.com/item?id=32729105

  • [3]https://twitter.com/MagnusCarlsen/status/1566848734616555523

  • [4]https://twitter.com/Babble____/status/1567437910361751552

(0)
上一篇 2022-09-10 16:31
下一篇 2022-09-10 16:31

相关推荐