「保證隨機有解」並不是必要的,我有兩種解決辦法。
一是混亂時鐘的方法。
當混亂時鐘在一個人玩時,確認本局是「甲方必勝還是甲乙共贏」本身就是玩法和樂趣所在。
當二人玩時,乙方按鐘,甲方開始計時,由甲方開局(隨機生成局面),當甲方生成一個局面,他將按鐘,乙方開始計時。乙方將需要判斷本局是否能共贏。
(這裡說明了混亂時鐘本身並不保證一個局面的結果一定是共贏,或說一定有解。但也是可玩的。)
如果乙方判定可以共贏,則乙方開始走棋;如果乙方判定是甲方必勝,則乙方不走棋,直接按鐘,輪到甲方計時,如果甲方同意這局是甲方必勝,則打亂重新開局,如果甲方認為這局是共贏局面,則甲方將換成乙方(負責雙數棋子)並開始走棋!這時甲方只要保證單數棋子不贏即可,即便是同輸也是甲方獲勝。
這裡用了納什均衡的博弈論方法(當然我不是數論專家,這個是否真的是納什均衡和博弈論,需要你指教下),局面不保證公平或有解(不保證共贏),但每一方都有機會聲明,並對他的聲明負責。
然而「迷路的貓」似乎不能做成二人遊戲,所以我特別推薦第二種方法,是我之前創作的一款數學遊戲「質數戰爭」。
質數戰爭中,由第三方給出一個合數,由兩個四位數的質數相乘。比賽的雙方乃至多方(參賽人數不限,並且每一方可以多人組團)通過紙筆來算出這兩個質數。
我發展出了兩種算出質數的方法,其中第二種用到了密碼學以及壓縮算法,則在正式比賽中可能要禁用這種方法。不過這種方法確實證明了窮舉法再通過壓縮,是能用一百零一張紙快速找到結果的。
你可以在我的網站ejsoon.vip搜尋「質數戰爭」找到這個一百零一頁的pdf,其中一頁是密文與明文對照表。
因此,對於「迷路的貓」,如果能創造出一種棋譜和壓縮方法,把海量的有解的局面打印給玩家,那將是一種非常完美的解決方法。
同時最好能在在數學上(或用電腦程式)證明什麼局面有解,總共有多少局面有解,多少局面無解。
我為混亂時鐘做了cpp的破解器,當時我是新手,不會cpp語言,也沒有用到AI,當時是2023年初,chatgpt已經可以用了。我是邊學邊做,因為學會cpp也是我一直以來的夢想之一。