2015-06-22 60 views
-3

我想編程我的第一個國際象棋引擎,我正在使用chessprogramming.wikispaces.com作爲資源。我的第一個嘗試是考慮到他們的性能特點以及深藍等流行引擎使用位板的事實,然而,我發現實施非常困難,並得出結論,我應該從我的第一臺發動機開始做小。我反而喜歡用8乘8陣列,但我想知道我的引擎與陣列相比使用位置板的強度。如果可能的話,請使用8乘8陣列爲發動機的最大強度提供大致的國際象棋評級。使用8乘8陣列的棋盤表示棋盤引擎的最大強度是多少?

+0

嘗試詢問http://programmers.stackexchange.com/ – Evert

回答

2

8乘8可能會慢一點,但作爲一個初學者,如果你使用8乘8,你的程序會更強大,因爲你犯的錯誤要少得多,而且反正它不會太高性能至少我的不是)。

所以,即使你完全實現了,一個位板程序在Brute-Force樹中的深度可能比8x8深一層。但是真正有效的東西是使用Alpha Beta算法和移動排序等。

一個8乘8引擎具有良好的阿爾法測試版總是會擊敗一個bitboard與執行不力的alpha測試版。所以沒有理由在你的第一個程序中使用位板;)

+1

絕對正確。由於計算時間以O(m^d)(移動,深度)的速率增加,因此更改棋盤表示只會使深度增加1。評估和修剪功能是給予國際象棋引擎的力量。 – bcdan