iT邦幫忙

2024 iThome 鐵人賽

DAY 28
2
AI/ ML & Data

猴子也能懂的電腦對局 : 30天打造自己的對局AI系列 第 28

Day28 從象棋比賽作弊事件探討資料傳輸與資料結構

  • 分享至 

  • xImage
  •  

最後三天了就來分享些有趣的吧,畢竟要寫單人對局或多人對局都會沒頭沒尾的。
hackMD原稿

今天來做個嚴肅的學術探討,看標題就知道,今天肯定是個非常嚴肅的主題,我們要用學術角度來探討去年知名的象棋比賽作弊事件,讓我們通過電腦對局所學到的知識,充分的應用到生活之中。

image

去年底的時候一篇標題為『 陸「民間棋王」賽後浴缸排泄!遭質疑塞肛珠作弊 』的新聞引爆了ptt的C_Chat版,對此新聞的討論超過了20篇,接著我們就來深入探討一下這個事件。

我會按照研究背景、可行性評估、研究目的、文獻探討、研究方法與步驟、實驗結果,依序分享。

研究背景

浴缸門

2023年12月17日大陸河南棋手顏成龍參加2023年全國象棋民間棋王爭霸賽,戰勝吉林棋手張偉,拿到總決賽冠軍並獲得獎金10萬元(人民幣)。
但是賽後,顏成龍從飯店退房後,工作人員發現浴缸非常渾濁,疑似有排泄物
這件事本來也沒什麼,大家可能就只是覺得這名棋手有點沒道德,為什麼要在浴缸裡拉屎,但有自媒體猜測顏成龍在比賽時使用了「肛珠」作弊,需要在浴缸裡把「肛珠」排出並清洗。
這一下就在網路上流傳開了,各種陰謀言論四起,雖然無從證實是否有作弊,但中國象棋協會還是將顏成龍的獎項、獎金取消,並且禁賽一年。

棋手通過在肛門裡藏入可收發訊號的智慧型肛珠作弊,通過括約肌有節奏張弛收縮來傳遞資訊。

這麼誇張的事情真的有可能做到嗎?

起源

我查了一下最早有這種所謂肛珠作弊的新聞應該是從西洋棋開始的,新聞來源

世界棋王卡爾森(Magnus Carlsen) 在一次比賽中爆冷輸給了美國新秀 尼曼(Hans Niemann),終止了卡爾森的53連勝紀錄,隨後卡爾森也直接退賽。

下圖左邊為卡爾森,右邊為尼曼。
image
圖片來源

卡爾森退賽後在推特上影射對手作弊,於是網路上開始有人思考各種作弊方式,其中討論最熱烈的就是所謂的「肛珠」了,連馬斯克(Elon Musk) 都在自己的推特轉發此新聞,並且引用了一段名言並加上了自己的見解(cause it's in ur butt):

image

真的是嘲諷至極,從此「肛珠」作弊就在西洋棋界中傳開來了。

圍棋作弊事件

其實早在2018年圍棋比賽中就有出現一些作弊的事件了,比如中國知名業餘棋王胡煜清事件,新聞來源

業餘棋王胡煜清在某次比賽中突然爆冷輸給了一位叫劉超(此為報名比賽的假名,真名為劉哲)的無名棋手,胡煜清當時在自己的朋友圈發出棋譜,感嘆自己老了,居然被沒有聽過的棋手,整盤棋被輾壓一點機會都沒有,但是經過使用AI輔助覆盤,發現對手的招法與AI吻合度將近百分之百,以當前2024排名世界第一的申真諝來看,吻合度最高大概也就70%左右,這自然引起了大家的懷疑。

從下圖可以看到這位棋手下棋時都將手機放在胸前的口袋,並且鏡頭朝向棋盤。
image
圖片來源

注意他的坐姿,後面有彩蛋。
image

後來主辦單位請劉超將手機收起來,結果之後劉超的表現判若兩人,很快就輸掉了下一場比賽,最後還直接棄權了。

德州撲克J4o事件

這應該也是前幾年德州撲克圈最有名的一手牌了,簡單說就是Robbi在一手不可思議的牌中用J4o(J跟4不同花)去抓了Garrett的炸唬,被Garrett指控作弊。
這件事至今仍是眾說紛紜,畢竟他只有一手牌,沒有像是Mike Postle事件之類的讓大家這麼篤定,這邊提出來只是覺得艾倫哥哥在影片中提到的震動非常有趣,大家可以去看看影片。

image
圖片擷取自賭場作弊詐賭嫌疑新發現! 震動的級數對應不同的暗號!?

免責聲明:我沒有要評論上述的所有人有沒有作弊,只是要探討關於傳輸訊號的方式,畢竟我們這是很嚴肅的學術探討。

可行性評估

接著我們就來評估一下是否真的有可能通過所謂「肛珠」來作弊呢?
這看著匪夷所思的事情還真的有國外youtuber實際示範了。

image
圖片擷取自We Used An Adult Toy To Beat A Chess Grandmaster

影片中是使用情趣用品,通過振動來表達棋盤座標,藉此方式來傳遞訊號。
比如移動d2的小兵到d4,就是先震動4次停一拍再震動2次,表示要移動的棋子,接著震動4次停一拍再震動4次,表示要移動到的位置,以下將此方式稱為座標法

image
圖片擷取自維基百科

彩蛋:影片中的主角面色凝重並且坐姿似乎與前面的某人的坐姿有點相似,看到這裡我好像懂了點什麼
image

看完西洋棋我們再回頭看看象棋,西洋棋是8x8的棋盤,象棋則為9x10:
image

從影片中看起來這種作弊方式似乎是可行,但是得優化傳遞訊號的方式!
假設每個棋子移動的機會相等,那平均每走一手棋就需要震動20次,而且象棋一盤棋的平均手數也比西洋棋要更多一些,所以如果象棋想用跟西洋棋一樣的座標法,估計棋手本人會先肛裂體力不支。

研究目的

我們需要更為有效的方式來傳遞訊息,減少震動次數,防止肛之棋士的括約肌受傷

文獻探討

這裡實在是找不到相關的論文,所以我參考了ptt上各位鄉民大神的發文,以下提出幾個作為探討。

方法1 老祖宗的智慧

Re: [新聞] 陸「民間棋王」賽後浴缸排泄!遭質疑塞肛
這名網友提出了使用中式記譜法來表達棋子的移動,如下圖我幫大家圈出重點了。

image

通過中式記譜法,將座標法平均20次的震動縮減到了13次。
這個方式其實有很多的空間浪費,在中式記譜法中的四個字的可能性有:
7 x 11 x 3 x 9 = 2079種
但是卻使用13碼來編碼,用了 來表達2079種走法,顯然還有很大的改進空間。

方法2 情趣用品大師?

Re: [新聞] 陸「民間棋王」賽後浴缸排泄!遭質疑塞肛
這是我在ptt上看到震動次數最少的做法了,但是...
這名網友說要捨棄棋盤式的絕對位置思考,改用相對位置思考。
提出了5種震法?!
image

最後4~6震就可以表示走法。
image

簡單分析一下 ,這比方法1還離譜,而且括約肌真的有辦法感受出這五種不同的震法嗎?
如果有親身實驗過的人一定要留言告訴我。

方法3 摩斯密碼

有位網友在很多篇文章底下都有推文,分享他的摩斯密碼法,所以這邊也來探討一下。
image

我只能說這名網友對摩斯密碼可能有點誤解或是諜報影片看太多了。
我們先來看一段摩斯密碼
image

但是根據不同的停頓方式會表達出不同的意思。
image

參考下圖,字元內部的停頓是1拍,字元之間的停頓是3拍,單詞之間的停頓是7拍。
image
圖片來源Morse code

所以要正確區分出傳遞的暗號,你的括約肌還得要打節拍,而且比座標法更難,不是停一拍而已,而且舉例的是兵四平五,兵只有兩碼,如果改成馬那就是四碼,如果改成什麼馬三進四就會得到摩斯密碼法中的worst case 16碼,還多此一舉將棋子與走步轉換成其他暗號。

方式4 走步轉換法

Re: [新聞] 陸「民間棋王」賽後浴缸排泄!遭質疑塞肛

這是我從ptt看到最佳的做法,通過對所有走法編號,這樣就只需要震7次,只使用了7個bit, 比中式記譜法還要好。
image

image

那為什麼可以做到比中式記譜法還好呢?
這邊就跟前幾天殘局庫的壓縮原理相同了,他的index就代表了哪個棋子要走什麼走步,假設算出來index是79,就查表發現79是砲往前2格,這邊的查表等於是查你的記憶,所以原po才會說有點難背,因為你需要將119種走法的編號都背下來

其他方法

我覺得很多網友都還蠻有創意的,大家可以去看看。

總結

這篇真的是學術探討。
今天分享了各種作弊事件與編碼方式,明天再來繼續分享研究方法跟實驗結果,我參考了很多網友的想法提出了一個新的編碼方式,大家也可以想一想該怎麼編碼比較好。

這張圖不能只有我看到...
image

龍王的工作


上一篇
Day27 Bitwise Operation
下一篇
Day29 什麼?肛門也能下棋!
系列文
猴子也能懂的電腦對局 : 30天打造自己的對局AI30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言