電腦象棋
電腦象棋
一般來說,象棋劃分成開局、中盤、殘局三個階段,在製作電腦象棋時,這三個階段的演演演算法也會不同,開局階段大多以資料庫儲存開局棋譜,下棋時就由資料庫查詢得知下一手,當然啦,棋局不可能儲存無限多,當局勢發展超出資料庫範圍,就進入了中盤。如果不要求棋力很高,或是初次製作電腦象棋,中盤和殘局可以不用細分,用同樣的演演算法就行了,一般來說程序中一定會有個審局函數和一個對局樹,這也是這篇文章的重點,當進入殘局階段,因為象棋的殘局有許多特例,通常電腦象棋會特別為這些特例建立一個殘局資料庫和特殊的演演算法,這裡先不討論。
審局函數是作用在於評估盤面的敵我形勢,玩過象棋大師2的人就會知道,在對奕中畫面會有個數字隨盤勢而變化,那就是審局函數算出來的值,電腦透過這個值可以判斷目前的局勢。審局函數判斷棋力的依據,主要根據下列三項:
圖表
圖表
在象棋里,每一種棋子都有它自己的限制,如果在下棋的過程中,讓棋子限制變很多,將會使棋子的能力降低,所以在評估局勢時,棋子的靈活度也是考慮的重點。
圖表
因為象棋的變化很多,如果所有可能著手都要建立對局樹,那麼對局樹將會非常龐大,所以又有各種演演算法被發展出來,用來對對局樹進行剪枝,將不必要的著手先剪枝,目前最常用的當屬Alpha-Beta剪枝法。
1988,宏碁電腦與象棋協會舉辦第一屆電子計算機象棋大賽,《象棋大師》程序獲得冠軍
1989,《象棋大師MS2》參加新秀杯升段賽,升為二段棋士
1990,第一屆計算機奧林匹克大賽
1991,《將族》電腦象棋遊戲公開發行
1998,《ELP》參加昭榮杯升段賽,晉陞為五段棋士
1999,開始舉辦人腦對電腦象棋大賽
2001,《ELP》參加新莊市長杯全國比賽,晉陞為六段棋士
2004,第一屆世界電腦象棋爭霸賽
2004,《棋海無涯》參加啟泰杯八段賽,獲得冠軍。
2006,首屆中國象棋計算機博弈錦標賽暨2006中國機器博弈學術研討會
2006,《棋天大聖》兩和象棋等級分第一的許銀川
2007,第二屆中國計算機博弈錦標賽,《象棋旋風》獲得冠軍
2008,The 13th International Computer Games Championship,《倚天》獲得冠軍
2009,2009年中國計算機博弈錦標賽,《象棋名手》獲得冠軍
2010,2010年中國計算機博弈錦標賽,《新象棋旋風》獲得冠軍
2011,2011年中國計算機博弈錦標賽,《象棋名手》獲得冠軍
2012,2012年中國計算機博弈錦標賽,《象棋名手》獲得冠軍
2013,2013年中國計算機博弈錦標賽,《象棋名手》獲得冠軍
2014,2014年中國計算機博弈錦標賽,《象棋名手》獲得冠軍
2015,2015年中國計算機博弈錦標賽,《象棋名手》獲得冠軍
2016,2016年中國計算機博弈錦標賽,《象棋名手》獲得冠軍
2017,2017年中國計算機博弈錦標賽,《象棋名手》獲得冠軍
2017,2017年第二屆楚河漢界杯亞洲象棋人工智慧對決邀請賽,《象棋旋風》獲得冠軍
2018,2018年中國計算機博弈錦標賽,《象棋名手》獲得冠軍