六子棋介紹

國立交通大學資訊工程系吳毅成教授發展出一系列K子棋,其中最有趣的是六子棋,正式名稱訂為連六棋(英文名字是Connect6)。由於這遊戲的規則簡單、公平、及玩法複雜,對五子棋的玩家來說,可以是另外一種好的選擇。本文的大綱如下:

相關的網頁如下:

我們歡迎任何意見,請寄至connect6@java.csie.nctu.edu.tw

感謝您!

國立交通大學資訊工程系 網際網路應用實驗室 六子棋研究小組


遊戲規則:

六子棋的規則非常簡單,與傳統的五子棋非常類似:

連珠棋規則或國際五子棋規則,有其他額外的禁手及開局規則。六子棋完全不需要!

註:目前許多六子棋高手均以十九路棋盤為主,這些高手相信六子棋可能是和局的遊戲。因此在一兩年後,六子棋棋規很可能有必要擴充或調整。目前的方案有:

歡迎到討論區討論。


公平性:

我們首先先來回顧五子棋的公平性問題,再來看六子棋的公平性。

五子棋的公平性問題

五子棋一般規則的不公平理由很簡單:每當黑方下出一步後,比白方盤面多一顆子;然而每當白方下出一步後,盤面子數卻只能與黑方打平。最近幾年,有電腦專家已經證明出先下必勝的結論 。遠在1903年日本棋院就限制雙三、雙四、長連等禁著,並稱之為連珠棋(Renju),專業棋士仍然認為對黑有利,電腦專家後來也又證明連珠棋仍然是先下必勝。

1998年國際五子棋協會(Renju International Federation: RIF)發展了新的五子棋國際規則,限制許多開局的下法,來更進一步限制黑方的 優勢。但對頂尖專業棋士或程式而言,公平性的要求是相當高的。若某些棋型被證明出必勝或必敗,對頂尖專業棋士或程式就少了一些變化。國際連珠棋專家也了解這問題,也對這問題有一些 相關的討論。 最近2003年RIF又繼續提出要徵求新的五子棋國際規則。至於,對未來的國際連珠棋,相信會有不錯的改良,但目前我們無法評論。

過去五子棋的公平性問題,也產生了一個副作用:那就是讓棋盤變小。Sakata及Ikawa兩位提到愈大的棋盤,愈增加黑方獲勝的機會,因此需要縮小棋盤大小,這就是現有五子棋15x15的棋盤。然而很矛盾的是小棋盤反而讓電腦更容易算出五子棋的勝負。

公平的定義

Van den Herik、Uiterwijk、Van Rijswijck等人於2002年,給了"公平"一個適當的定義如下:若該遊戲是平手的遊戲,且雙方犯錯機率是相等的話,則可稱此遊戲是公平的。然而,"雙方犯錯機率是相等"的數學模式很難建立;這是因為若有新的下棋策略被發明後,則犯錯機率算法就會不同,就會影響公平性。因此,很難用建立數學模式來證明公平。

反過來,要證明不公平則比較容易且可行的。以下是我們的定義(參見connect6.pdf):

從以上定義,我們定義潛在公平性如下:

依據此定義,一個目前為潛在公平的遊戲,不見得能持續在未來仍為潛在公平;一個遊戲能持續為潛在公平愈久,則成為公平的機會就愈高。

脫離戰場

脫離戰場是下棋的戰略之一,是指將棋下在遠離戰場的一端。初始脫離戰場是指白的第一手棋(黑的第一手之後)遠離黑的第一子。

若初始脫離戰場沒有對白棋造成不利的後果,則當黑去擋這些白棋後,會成為類似Connect(6,2,2);很明顯,這會形成為單調不公平

六子棋的公平性問題

對六子棋來說,每當一方下出一步(兩子)時,該方一定比對方多出一顆子。直觀上,這很自然地使得六子棋具有相當的公平性;當然如上所言,我們仍然不能依此論證六子棋是絕對公平的。 但是,我們至少可以依據以下論點,來論證六子棋目前仍是潛在公平的:

當然,我們希望且歡迎更多的人加入這方面的研究,來獲得更多的證據。此遊戲的公平性,確實需要長時間的驗證。

註:公平不必然等同於好玩。例如:井字遊戲或 Connect(8,1,1),雙方必和;但因為只要依據必和的下法,專業上的可玩度不高。


複雜度:

如上所述公平不必然等同於好玩。好玩有相當成份的主觀因素在裡面。但通常,複雜度是一項依據。

對六子棋而言,因為公平性不是問題,所以棋盤是可以任意地大,甚至是無限大亦可。以上述的十九路棋盤為例,所謂的state-space複雜度可達10172,與圍棋相當。對所謂的game-tree複雜度 (若以30手計算),亦可達(300*300/2)30 ~ 10140,遠大於五子棋。state-space複雜度及game-tree複雜度的定義,請參閱(Herik, Huntjens, and Rijswijck, 2002)。另外有關此說法的疑義,請參考這裡


歷史:


命名緣由:

英文名稱部份,原先訂為Ren6,但由於Ren6與Renju近似,容易讓人以為有禁手限制。因此,後來改訂為Connect6(發音為Connect-Six)。

中文名稱部份,從英文直接翻過來的正式名稱為連六棋然而,很明顯地六子棋更為通俗易懂 且順口,很容易從五子棋聯想過來,因此稱為六子棋,對一般大眾而言更為恰當。

註:據說,在中國大陸的民間有流傳一種3x3方格的小版圖遊戲(臺灣常玩的西瓜棋也是這一類遊戲),也叫做六子棋。我們的遊戲,由於六子棋實在 是比較易懂又順口,且一般也比較不會聯想到是那個版圖遊戲, 因此一般大眾稱連六棋為六子棋,也應該是合理的。無論如何,有關中文名稱部份,也歡迎大家提供意見給我們


遊戲策略:

迫著(Threats)的定義如下:若一方需要下t顆子來避免另一方連成k顆子,則稱該方有t個迫著(Threats)。我們這裡以六子棋為例,下圖的(a) 單迫著(one threat), (b)  雙迫著(two threats), (c) 三迫著(three threats)。而對六子棋來說,贏的策略就是阻擋所有對方的迫著,並同時產生三個或以上的迫著。
 


我們在(Wu and Huang, 2005)有提出如何算出迫著的演算法,此處省略。另外,我們也證明每次下一顆子,最多可產生兩個迫著如下理論。

這理論衍生出活三、死三、活二、死二定義:若僅再下(4-t)顆子,就可以產生一個迫著,則為死-t迫著;若僅再下(4-t)顆子,就可以產生兩個迫著,則為活-t迫著。我們可以從以下的圖看出。



對六子棋而言,活三、死三、活二、死二都很重要,這是因為每次可下兩顆子,所以下一手棋就有機會形成真正的迫著(threats)。

註:對五子棋民間常用的說法如死四活三,表示四三,比較貼近我們的定義。然而對五子棋正式的定義,這裡死三、死二應該比較接近眠三、眠二;但其實也不盡然相同。對六子棋而言,單迫著發展與雙迫著發展才是重點,例如上圖(a)中有三子、四子、五子,都稱之為活三。因此我們的定義,以死活表達單迫著發展及雙迫著發展。


詰棋

沒錯,六子棋也有詰棋。但有些六子棋的詰棋並非只有唯一的一解,對這樣的情形,答案儘量選擇較簡易的解法。

詰棋一:

 

詰棋二:

詰棋解答在最後!另外,還有些詰棋在比賽的詰棋題目,或六子棋論壇。 (未來將提供更多詰棋)


參考棋局

以下兩盤是由兩台電腦(早期的程式)下出的。下一個是白方贏。

下一個是黑方贏。

以下兩盤是由電腦與黃德彥下出的。下一個是電腦(黑方)贏。

下一個是電腦(白方)贏。

更多棋局請參看奧林匹亞比賽網頁。 


詰棋解答

詰棋一:(已由電腦程式驗證過)

詰棋二:(已由電腦程式驗證過)

李士文的解答:

另外變化有: