五子棋先下的一定贏嗎?如何證明?


通常大家玩的五子棋分為帶禁手和不帶禁手兩個版本(前者稱之為連珠Renju,後者一般稱之為五子棋Gomoku),無論哪一個版本,先手黑棋均必勝後面還會講到,26種職業開局一多半都是先手必勝。
所謂黑必勝的意思是,只要黑棋按照一定的方式下,白棋選擇棋盤上的任何一個點都不可能贏棋。

——第一次嚴格的證明——

其實在電腦出現之前,五子棋的玩家就發現黑棋採取某些開局贏面極大,實踐中白棋幾種很強的防守都無法阻擋黑棋最終贏,也懷疑有先手「絕對」必勝的方法。但這不能保證可能遺漏了某種白棋能贏的方式,所以二十世紀初五子棋的普遍的觀點是黑棋應該是必勝,但近百年年都沒有人能夠真正「證明」出來白棋無論怎麼下都是必敗的——這個結論最終還是通過電腦來嚴格證明的。

其中1992年Victor Allis通過編程證明不帶禁手的五子棋,黑必勝的,文章地址在這裡:https://project.dke.maastrichtuniversity.nl/games/files/phd/SearchingForSolutions.pdf

——然後說說帶禁手的五子棋——

禁手規則是只針對黑棋的,簡而言之是黑棋只允許使用沖四活三這一種贏法(當然不排除白棋故意沖四不擋這種方法)。設計的目的也是為了限制黑棋的巨大優勢,白棋也多了逼禁手這兒一種贏法。但後來人們也逐步發現帶禁手後,黑棋依然似乎能不敗。直到後來,也有人證明,帶禁手執黑也可以必勝。
2001年Janos Wagner第一次證明的帶禁手的五子棋,也是黑必勝的,文章地址在這裡:http://www.sze.hu/~gtakacs/download/wagnervirag_2001.pdf

這個後面的證明比前面的證明要強很多,因為按照帶禁手的走法,不帶禁手也一定必勝,但倒過來未必。
黑棋的優勢到底有多大呢?在26個職業開局裡,已經發現有19個是黑棋必勝的(一打必勝)。

——然後說說五手兩打——

這還不說,為了進一步削弱黑棋的優勢,國際上推出五手兩打(就是黑棋的第三步需要下兩個點,但由白棋挑選讓其下較弱的哪一個)的規則。可是人們發現黑棋帶禁手依然是必勝。也就是說,黑棋必勝不僅僅有一種方法,而是至少有兩種以上(來回應各種變種的第四步),像浦月、花月這種黑棋超級優勢開局都有三種以上的必勝法。

從實踐的角度來講,網上是可以搜索「地毯譜」( 更新:目前花月、浦月、雲月、雨月、峽月、溪月、金星、水月、寒星、明星、嵐月、新月、名月,山月,殘月都是五手兩打必勝),一般在幾百兆左右,可以用renlib軟體打開,所謂地毯譜的意思就是黑棋會指定下法,但白棋每一步都可以選擇棋盤任意位置,最後黑棋必勝。也就是說,只要按照此棋譜下棋,五子棋世界冠軍都一定會輸給你。

——正式比賽怎麼玩——

所以正式的比賽才會有三手交換五手兩打,山口規則(五手n打)這些複雜的規則來平衡比賽。另外業餘的平台有時候還會下一手交換(第一步黑棋不下棋盤中間的天元)。但這些規則的各個分支也是逐漸被人破解,五子棋的比賽已經很大程度不是在考驗自己的臨場發揮,而是考驗選手對於少量黑白平衡 分支的記憶情況。

另外針對有人質疑既然五子棋必勝,為什麼還要玩:

必勝並不代表去網上黑先開浦月、花月就一定人擋殺人,佛擋殺佛。必勝的各種分支套路也不是那麼容易記住的,諸位可以和tito2014或者弈心執黑體驗一下(高手繞道)。所以雖然理論上如果黑棋必勝那麼各種對戰平台上的勝率應該是50%,但實際情況是,非禁手區/禁手區均有不少勝率超過80%甚至90%的高手。

——廣義的「五子棋」——

另外不帶禁手的五子棋是屬於一類更為普遍的m,n,k遊戲(m,n,k-game)的一種特例,既15,15,5。m,n,k遊戲是指m行n列,輪流下子,連成k個算贏。這個在數學中專門的研究如果在最理想下法(Perfect Play)的情況下有什麼樣不同的結果,比如標準的三連棋(Tic-tac-toe)是3,3,3是一個平局,同樣只有六路棋盤的五子棋也是平局,當然上面我們已經說明了15,15,5是先手必勝,還有研究發現11,11,5也是先手必勝。m,n,k遊戲只有先手必勝和平局兩種結果。由於每下一個子都一定會對下子一方那一方有優勢,所以可以通過反證法證明m,n,k遊戲里不可能有後手勝利的情況。如果後手有勝利的方法,那麼先手可以提前「借鑒」過來實現必勝(Strategy stealing)。

——如果不加複雜的開局規則,怎麼辦——

另外除了規定複雜的開局和禁手規則,其實還有一個出路:

除了採取對先手採取各種限制的方法,2003年被吳毅成教授發明的連六棋(Connect6)也非常類似五子棋,難度很高,但六子棋沒有先手優勢——因為每一步都下兩個子,除了第一步下一個子,這樣保證雙方每次下棋時,都可以比對方多一個子。AI目前計算的結果也是,沒有發現先手比後手有更大的優勢。

既然雙方都沒有優勢,六子棋下滿整個(圍棋19x19棋盤)都沒有分出高低都是有可能的。(這個遊戲已經不再是m,n,k遊戲了)
不得不說的是,雖然有個別比賽(gomocup說你呢)還是在用限定規則的五子棋做ai比賽,但是正經的編程奧賽是沒有五子棋的比賽(93年就沒了好不好),而被connect6這種簡約的規則所取代。Connect6的解決難度幾乎與圍棋相當。

——有關五子棋AI——

感興趣傳統五子棋和連珠的AI演算法的可以參考這個問題:

  • 現在的五子棋AI在職業比賽規則下與人對決是什麼水平? - 人工智慧
  • 想寫一個機器學習類的五子棋,可能么?可能的話需要看什麼書,參考什麼,求指點(英文)
  • AI EXP

Renju Library program (freeware) 這個小軟體。。。 裡面自帶3個棋譜,你們可以忽略掉那個VCF.lib,另外2個D4和 i 7就是上面說的花月和蒲月的開局的簡單必勝方法。 我覺得這就是一個比較直接的證明吧。嚴密的證明方式就是先手方有一定的走法,後手的所有防禦方式都被證明是失敗的,那麼就證明必勝了。


無禁手黑棋必勝,經過比賽和各種研究,人們逐漸知道了這個事實就開始想辦法來限制黑棋先手優勢。於是出現了有禁手規則,規定黑棋不能下三三,四四和長連。但隨著比賽的結果的研究的繼續進行,發現其實即使是對黑棋有禁手限制,還是不能阻止黑棋開局必勝的事實,像直指開局中花月,山月,雲月,溪月,寒星等,斜指開局中的名月,浦月,恆星,峽月,嵐月都是黑棋必勝。於是日本人繼續提出了交換和換打的思想,到了後來發展成了國際比賽中三手交換和五手二打規則,防止執黑者下出必勝開局或者在第五手下出必勝打。所以結論是,在不正規的比賽規則或者無禁手情況下,黑棋必勝是存在的。


無禁手、有禁手,甚至有禁手加上五手兩打都是先手必勝的。公認的必勝開局有花月、浦月,都能兩打必勝。寒恆星也已經有了一打必勝地毯鋪。其他大多數開局都是黑大優或黑優。
但要問這其中有什麼演算法原理,只能說這是長久以來眾多高手積累下的實戰經驗。除此以外就只有窮舉了。無禁手的就找五子棋終結者,有禁的就去跟黑石下,下那麼幾個星期就大概能理解並掌握了。


五子棋已被L.V.Allis 證明是具有先手必勝策略的棋類,在他的論文Gomoku and Threat-Space Search中提出了黑棋尋找Threat-Space 的方法,利用pn-search的博弈樹加上db-search的落子搜索方法的Victor在黑棋全勝白棋半數勝利的情況下拿下了92年的五子棋AI世界冠軍,至此之後似乎研究五子棋的進展就停滯了。

以上摘自某篇人人日誌,我覺得題主想要的應該是這個


先說結論 黑棋(先手)會玩的是必勝的

我最早是在初中開始的五子棋之路,那時的五子棋是連禁手都不需要的,當時我先下 用一種固定的模式打遍班裡無敵手,自己回家反覆研究都不知道怎麼破,覺得好厲害(後來知道是花月。。必勝開之一)於是下棋只用黑棋 體驗無敵的感覺

後來有了禁手的概念,三三 四四都不許下,感覺黑棋沒那麼厲害甚至下不過會玩的白棋了

但後來進入大學,代表學校參加市級比賽(當時純白送)有市裡的各種職業大神,發現有禁手的存在黑棋仍是無解 於是出現了三手交換五手兩打的規則來克制黑棋

因為在某些開局 黑棋下出必勝點 甚至優勢點的時候 無論有沒有禁手 白棋會不會玩 只要黑棋知道怎麼下 白棋沒有翻盤的機會

現在的比賽貌似用了新的規則取代了三手交換五手兩打,但因為學業的原因,關注不多也就不太了解了,但目的都是一樣,平衡黑棋優勢,使之更具有遊戲性

總之 在只說禁手 無禁 而不加某些規則限制的話 先手必勝 具體下法請參見各種開局 在這就不一一介紹了


著名五子棋神,愛沙尼亞人安度曾經吹過的牛逼,

給我一個先手,我必勝。

黑子先行,只要不走黑必敗(因為抓禁),黑的確是一定贏。

我不清楚是不是演算法原理中會有白方主動抓禁這中設置,如果沒有,黑一定會贏。


五子棋在無禁規則下 先下的黑棋方 存在巨大的開局優勢,如果開出強局 比如花月,浦月,寒星。。。甚至是 小妖刀布局 應該都是很容易獲勝的,不過如果黑棋方不了解必勝開局的定式著法,也可能下出緩著被對手防住,所以自身的棋力水平高低是很重要的決定因素。如果是實力有懸殊的2個人下棋,那實力高的一方就是必勝的(實力差的人記住了必勝開局定式除外,因為只要開必勝局並牢記了必勝定式那麼對手就算是世界冠軍也是無法防禦的。) 在有禁手規則下 花月,浦月,寒星 ,雲月。。。。開局也同樣是必勝開局,仍然是需要記住必勝定式才能做到必勝,不會定式是可能被對手防住的。所以不代表開出必勝開局就一定能必勝。而且也有平衡的開局比如說疏星局,這樣的平衡開局黑棋沒有必勝譜,是需要進行中盤角逐的,實力高低才是定勝負的關鍵,而且在有禁規則下 遊星開局和彗星開局是黑棋必敗開局,就是說黑方開出這兩種開局後,白棋方只要掌握了白棋必勝定式,那麼黑棋方是無法防禦的。


我記得高中的時候,跟好哥們一起推導過這個問題,當時就設計出一套無論白棋怎麼走,黑棋按照套路下一定就會贏的模式。

···············
藉此祭奠一下他。


當年迷戀五子棋一陣子,在網上和別人下棋,有贏有輸,毫無章法。後來跑到圖書館借了幾本五子棋的書,才知道先手黑棋的優勢太大了。
三三連,四四連,長連以往用以取勝的都是必殺技啊,都是黑棋的禁手,被白棋逼出禁手也算黑棋失敗(白棋無禁手,能堵住就不錯了),先手棋只能三四連取勝。還有多少種先手開局也是必勝法,全是禁手;再有就是三手互換五手兩打的規矩更奇葩。大家都是入門的時候感覺不出黑棋優勢,大家誰先手都行,稍稍進階之後不是先手我都不想下了,後手真憋屈啊,而且大多數人也不知道先手有必勝優勢,更不知道禁手,但隨意的下,稍有點悟性,也就沒人願意玩白棋了。規矩多得普及很困難,懂規矩的和不懂規矩的下棋是自找沒趣。當然,你可以背兩套必勝開局(絕逼必勝套路,白棋不得不走的無力感),虐菜秀優越,俺被虐得放棄五子棋了。
故此,會玩五子棋的都不玩了。


演算法原理咱家不懂。但五子棋是會下的,水平不很高,跟普通人下互有勝負。

有次跟一個有業餘段位的傢伙下,每次必輸,後來他得意道:「甭不服氣,跟你下,平局也算你贏。」此言一出,他就再也沒贏過。

什麼緣故?
前幾盤我輸,是輸在我也想排成五子上了;他說平局算我贏,我就不再琢磨自己如何排出5子,而是專心破壞他的排布,任他段位和技術再好,遇上不求勝只求破壞的主兒,他還真沒法排出5子來。


很簡單的一個道理是:
在有限步內必然結束的雙人博弈(棋盤有限,每次一子,有限步會逐漸填滿),必有一方有不輸策略,必然勝利(或至少能取得和局,如果規則允許和局)。

如果先手方存在一個策略讓後手方無法取勝,那就是先手優勢,必勝或至少和局。
反之,如果先手方不存在這樣的策略,那就是後手優勢。


接下來,究竟誰有必勝策略,交給計算機去解決吧……


從數學角度上說,的確先行必勝

但遠沒有想的那麼簡單

正規比賽都是有禁手的


曾經高中的時候覺得自己玩五子棋不錯啊,就是隨便下的那種,沒有任何規則。
六年前剛進大學加了一個棋牌社團,就去過一次。去的那次旁邊坐著一個廣東腔很重的男生問我會不會下五子棋,我說會(啪啪啪打臉,估計他心裡當時就想你會毛線),然後我倆開始下。。。
然後他讓我先下,我心想我靠居然這麼自信,畢竟在沒規則限制的情況下先手肯定有明顯優勢的。
結果支撐了一會就輸了,他說了句你這水平還不錯,但是沒有專業訓練。我當時心裡話是(卧槽五子棋這種東西還有專業訓練么)。。。
然後他就說了句他是什麼什麼全國性的五子棋比賽第三名。。。
就開始給我講規則。
其實大概內容就是如果是沒有任何規則限制的情況,先手有必勝的下法;
為了削弱先手的優勢最好是抹掉先手的優勢,當時都有哪些規則:比如禁手,比如五手兩打,比如三手交換。(其實我作為一個完全業餘的人,覺得三手交換是一個超級棒的規則啊,感覺很大程度削弱了先手的優勢,不過好像聽說現在有新的規則來替代這些了)。

然後給我講了很久五子棋的規則和推薦我看一些棋譜(我當時就說五子棋他么的也有棋譜?!),我沒忍住問說那我剛剛還在你手下支撐那麼久看來差距不是很大啊。。
然後他呵呵呵呵呵,說第一次見面嘛,不想讓我太慘,做人留一線日後好相見(感謝大神的善良)

當然我不知道棋類是不是有互通,因為後來我看到在社團招新的時候他擺了三局象棋同時和三個不同的人下。。。我沒和他下過象棋,不知道他的象棋是什麼水平,但同時戰三人感覺很膩害的樣子。。。


有一種五子棋先手必勝的演算法,是用K語言寫的,結構好像非常長,網址不太記得了,在
[艾可博士和他的36個推理謎題]一書中好像有給出。


無禁手的話開局用花月浦月無敵。


無禁手,或者有禁手沒三手交換都可以必勝。


我無禁手先手基本就沒輸過,當然對方太菜是主因←_←


有禁手和無禁手如果選的黑棋,只要兩個人水平相差不大且不犯較大失誤的情況下,黑棋都是必贏的。
就算禁手加上五手連打,黑棋都有非常非常大的優勢。
所以三手交換隻要不傻都會換成黑棋


小時候一直用這個套路,黑棋無限隔空下會無限三連。


推薦閱讀:

TAG:演算法 | 數學 | 五子棋 | 連珠 |