Stockfish

Stockfish，是一個自由及開放原始碼軟體，可用於各種桌面和移動平臺。可透過在國際象棋軟體中使用。Stockfish持續在大多數國際象棋引擎排名中排在首位或接近首位。截至2022年10月，Stockfish是世界上最強大的CPU象棋引擎。它共計贏得了13次以及Chess.com計算機象棋錦標賽19次。Stockfish由Marco Costalba、Joona Kiiski、Gary Linscott、Tord Romstad、Stéphane Nicolet、Stefan Geschwentner和Joost VandeVondele開發，此外開源社群開發者也作出了許多貢獻。它從2004年釋出的Tord Romstad開發的開源象棋引擎Glaurung派生而來。特性.在多處理器系統中，Stockfish可以使用至多1024個執行緒。它的的大小可達32TB。Stockfish透過實現了高階的Alpha-beta剪枝。部分上由於進行了更激進的剪枝以及，與其它象棋引擎相比，Stockfish可以進行更深的搜尋。截至2022年 (2022)[ [update]]，Stockfish 15 (4執行緒)在CCRL 40/15評測中達到了3540的等級分。由於其從Glaurung派生而來，Stockfish支援Chess960。曾在羅納德·德曼維護的分叉中實現的Syzygy於2014年被併入Stockfish中。在7個棋子的Syzygy殘局資料庫釋出之後不久，Stockfish於2018年增加了對其的支援。Stockfish在很多平臺上受歡迎。在桌面端，它是介面程式BlitzIn和Dasher預設的象棋引擎。在移動端，它是Stockfish、SmallFish和DroidFish等APP內建的象棋引擎。其它相容Stockfish的圖形使用者介面包括、Arena、Stockfish for Mac以及PyChess。Stockfish可以被編譯為WebAssembly或JavaScript，從而在瀏覽器中執行。在伺服器端程式以外，Chess.com和都以這種形式支援Stockfish。Stockfish的正式版本和開發版本均以在Windows、macOS、Linux32位/64位和Android上的編譯版本和C++原始碼的形式釋出。歷史.Stockfish起源於Romstad編寫並於2004年首次釋出的開源國際象棋引擎Glaurung。四年之後，Costalba受這一強大的開源引擎啟發，決定分叉此專案。他將其命名為Stockfish的原因是它“於挪威生產而於義大利被烹飪”於2008年12月釋出。約於2011年，Romstad決定不再參與Stockfish的開發以專注於開發他的新的iOS國際象棋應用。2014年6月18日，Marco Costalba宣佈他已經“決定不再維護Stockfish”並讓開源社群建立其當前版本的分叉並繼續開發它。不久之後，一個由Stockfish的核心開發者組成的志願者團隊建立了一個官方程式碼庫並管理此專案至今。Fishtest.自2013年以來，Stockfish的開發運用了名為“Fishtest”的分散式測試框架，志願者可以捐贈CPU時間以測試對程式的改進。對博弈演算法的修改會應用分析在Fishtest框架上與該程式的“對照”版本對弈數萬局的結果而被接受或拒絕。在框架上的測試會以卡方檢驗驗證，僅當結果在統計意義上顯著時才會被認為是可靠的並用於修改軟體程式碼。Fishtest出現後，Stockfish的等級分在僅僅12個月內增加了120，使其在所有主流象棋引擎排名中上升到頂部。在Stockfish 7中，作為對Fishtest的作者Gary Linscott對Stockfish的棋力的貢獻的承認，他的名字被加入到正式的作者名單中。截至2022年 (2022-)[ [update]]，Fishtest框架總共用9850多年的CPU時間下了57億多局象棋。可高效更新神經網路.2020年6月，Stockfish的開發者討論了一個由程式設計師編寫的名為Stockfish NNUE的可高效更新神經網路分叉。2020年7月，國際象棋新聞報導說“Stockfish NNUE透過將神經網路加入本就十分強大的Stockfish象棋引擎裡，在計算機象棋中開闢了新天地”。之後，開發者宣佈將會把NNUE合併入Stockfish中併發布了開發版。“由@nodchip維護的可高效更新神經網路分支展現了很好的效果並有極大的潛力，我們接下來會合並……這一合併會將機器學習引入到引擎中，從而擴大開發者的範圍並吸引更多有能力的人。我們渴望所有人——包括所有的開發者和各種硬體的使用者——的支援並旨在成為一個包容的社群……所需的具體措施在未來會逐漸明朗，我期待與社群合作以實現這一目標！”2020年9月2日，實現了前述神經網路的Stockfish第12版釋出。根據發行公告，這一新版本“棋力明顯比它之前的任何一個版本更強”，與第11版對弈時平均每贏10個回合才會輸掉1個回合。比賽結果.最強象棋引擎錦標賽.主條目：Stockfish曾多次獲得最強象棋引擎錦標賽冠軍，目前是獲得冠軍次數最多的。自TCEC於2013年重啟以來，Stockfish僅在一個賽季中未能取得前兩名。在TCEC第4和第5賽季，Stockfish均獲得第二名，其在總決賽中均以23–25的成績先後負於和。值得注意的是，在第5賽季中，Komodo的原作者在賽事的最後階段因病去世，因此獲勝的Komodo開發團隊是在他死後代他領獎的。為了紀念他，在賽季結束後不久釋出的Stockfish版本以“Stockfish DD”命名。2014年5月30日，Stockfish 170514在總決賽中以35.5–28.5的比分擊敗了Komodo 7x，從而決定性地贏得了TCEC第6季。Stockfish 5的正式版於次日釋出。在TCEC第7季中，Stockfish又一次晉級總決賽，但以30.5–33.5的比分輸給了Komodo。在TCEC第8季中，儘管程式碼缺陷使其損失了比賽時間，Stockfish也再一次晉級總決賽，但在100個回合的總決賽中以46.5–53.5的比分輸給了Komodo。在第9季中，Stockfish以54.5–45.5的比分擊敗了Houdini 5。在TCEC第10季中，Stockfish獲得第三名，是2013年以來其未能晉級總決賽的唯一賽季。Stockfish沒有輸掉任何比賽，但仍然因為未能擊敗評級更低的引擎足夠多次而被淘汰。Stockfish在這一程式性淘汰後的很長一段時間不斷獲勝，其贏得了第11季。Stockfish也參加了TCEC杯的比賽。它贏得了第一次盃賽，但在第二次盃賽的半決賽出人意料地被Houdini擊敗。在三四名決賽中，Stockfish棋力有所恢復，擊敗了Komodo。在第三次盃賽中，Stockfish晉級了決賽，但在7枚棋子的和局中失誤後被擊敗。在第四次盃賽中，Stockfish逆轉了這一結局，在決賽中以4.5–3.5的比分擊敗了Leela。Chess.com計算機國際象棋錦標賽.自從Chess.com於2018年首次舉辦以來，Stockfish是該比賽中最成功的引擎。它在早期比賽中佔有優勢，在前六次錦標賽中均取得勝利，而在第七次錦標賽中獲得第二名。自此以來，它的支配地位受到了基於神經網路的象棋引擎Leelenstein和的挑戰，但它仍然表現良好，在CCC11之前的每次比賽都能晉級總決賽。CCC12改用了淘汰賽制，抽籤時Stockfish和Leela被分到了半決賽的同一組。Leela在半決賽中將Stockfish淘汰。然而，在賽後相同形式的比賽中，Stockfish戰勝了決賽的輸家Leelenstein。已隱藏部分未翻譯內容，歡迎參與[ 翻譯]。Stockfish 5 versus Nakamura.Stockfish's strength relative to the best human chess players was most apparent in a handicap match with grandmaster Hikaru Nakamura (2798-rated) in August 2014. In the first two games of the match, Nakamura had the assistance of an older version of Rybka, and in the next two games, he received White with pawn odds but no assistance. Nakamura was the world's fifth-best human chess player at the time of the match, while Stockfish 5 was denied use of its opening book and endgame tablebase. Stockfish won each half of the match 1.5–0.5. Both of Stockfish's wins arose from positions in which Nakamura, as is typical for his playing style, pressed for a win instead of acquiescing to a draw.Stockfish 8 versus AlphaZero.In December 2017, Stockfish 8 was used as a benchmark to test Google division DeepMind's AlphaZero, with each engine supported by different hardware. AlphaZero was trained through self-play for a total of nine hours, and reached Stockfish's level after just four. In 100 games from the normal starting position, AlphaZero won 25 games as White, won 3 as Black, and drew the remaining 72, with 0 losses. AlphaZero also played twelve 100-game matches against Stockfish starting from twelve popular openings for a final score of 290 wins, 886 draws and 24 losses, for a point score of 733:467.#重定向AlphaZero's victory over Stockfish sparked a flurry of activity in the computer chess community, leading to a new open-source engine aimed at replicating AlphaZero, known as Leela Chess Zero. By January 2019, Leela was able to defeat the version of Stockfish that played AlphaZero (Stockfish 8) in a 100-game match. An updated version of Stockfish narrowly defeated Leela Chess Zero in the superfinal of the 14th TCEC season, 50.5–49.5 (+10 =81 −9), but lost the superfinal of the next season to Leela 53.5–46.5 (+14 =79 -7). The two engines remain very close in strength to each other even as they continue to improve: Leela defeated Stockfish in the superfinal of TCEC Season 17, but Stockfish won TCEC Season 18, TCEC Season 19, TCEC Season 20, and TCEC Season 21, each time defeating Leela in the superfinal.