Thành viên:No-ADN-G/Stockfish (cờ vua)
Phát triển bởi | Marco Costalba Joona Kiiski Gary Linscott Tord Romstad Stéphane Nicolet Stefan Geschwentner Joost VandeVondele |
---|---|
Phát hành lần đầu | 2 tháng 11 năm 2008 |
Phiên bản ổn định | 12
/ 2 tháng 9 năm 2020 |
Viết bằng | C++ |
Hệ điều hành | Microsoft Windows macOS Linux iOS Android |
Thể loại | Chess engine |
Giấy phép | GPLv3[1] |
Stockfish là một engine cờ vua miễn phí và mã nguồn mở, có sẵn cho các nền tảng máy tính để bàn và di động khác nhau. Nó được phát triển bởi Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad, Stéphane Nicolet, Stefan Geschwentner và Joost VandeVondele, với nhiều đóng góp từ cộng đồng các nhà phát triển mã nguồn mở.[2]
Stockfish liên tục xếp hạng ở vị trí đầu của hầu hết các danh sách đánh giá engine cờ vua và là engine cờ vua truyền thống mạnh nhất trên thế giới. Engine này đã giành chức vô địch của giải engine cờ vua thế giới (không chính thức) trong các mùa 6 (2014), 9 (2016), 11 (2018), 12 (2018), 13 (2018), 14 (2019), 16 (2019) và 18 (2020). Nó về nhì ở mùa 5 (2013), 7 (2014), 8 (2015), 15 (2019) và 17 (2020).
Stockfish có nguồn gốc từ Glaurung, một engine mã nguồn mở của Tord Romstad được phát hành vào năm 2004.
Đặc trưng
[sửa | sửa mã nguồn]Stockfish có thể sử dụng tối đa 512 unit CPU trong các hệ thống đa xử lý. Kích thước tối đa của bảng chuyển vị của nó là 32 TB. Stockfish sử dụng tìm kiếm alpha – beta nâng cao và sử dụng bảng bit . So với các công cụ khác, nó đặc trưng bởi độ sâu tìm kiếm lớn, một phần là do cắt tỉa tích cực hơn và giảm di chuyển muộn.[3]
Stockfish đấu với AlphaZero
[sửa | sửa mã nguồn]Trong tháng 12 năm 2017, Stockfish 8 được sử dụng như một mốc chuẩn để thử nghiệm Google phân chia Deepmind 's AlphaZero, với mỗi engine được hỗ trợ bởi phần cứng khác nhau. AlphaZero đã được đào tạo thông qua việc tự học trong tổng cộng chín giờ và đạt đến cấp độ của Stockfish chỉ sau bốn giờ.[4][5][6] Trong 100 trận từ vị trí xuất phát bình thường, AlphaZero thắng 25 trận khi cầm quân Trắng, thắng 3 khi chơi quân Đen và hòa 72 trận còn lại với 0 trận thua [7] AlphaZero cũng đã chơi 12 lần với mỗi lần là 100 trận với Stockfish bắt đầu từ 12 trận mở màn phổ biến với tổng số điểm chung cuộc là 290 trận thắng, 886 trận hòa và 24 trận thua, với số điểm là 733 - 467.[8][note 1]
Chiến thắng của AlphaZero trước Stockfish đã thúc đẩy một loạt các hoạt động trong cộng đồng cờ vua máy tính, dẫn đến một công cụ mã nguồn mở mới nhằm tái tạo AlphaZero, được gọi là Leela Chess Zero . Đến tháng 1 năm 2019, Leela đã có thể đánh bại phiên bản Stockfish đã đấu với AlphaZero (Stockfish 8) trong một trận đấu kéo dài 100 ván. Một phiên bản cập nhật của Stockfish đã đánh bại Leela Chess Zero một cách sát nút trong trận siêu chung kết mùa giải TCEC thứ 14, 50,5–49,5 (+10 = 81 −9), [10] nhưng thua trận siêu chung kết mùa tiếp theo trước Leela 53,5-46,5 (+14 = 79 -7).[11] Hai engine vẫn có khả năng chơi cờ tương tự nhau ngay cả khi chúng tiếp tục cải thiện: Leela đánh bại Stockfish trong trận siêu chung kết của TCEC Mùa 17, nhưng Stockfish đã thắng trong TCEC Mùa 18 .
Nền tảng
[sửa | sửa mã nguồn]Phiên bản phát hành và phiên bản phát triển có sẵn dưới dạng mã nguồn C ++ và dưới dạng phiên bản biên dịch trước cho Microsoft Windows, macOS, Linux 32-bit / 64-bit và Android.
Stockfish đã là một engine rất phổ biến cho các nền tảng khác nhau. Trên máy tính để bàn, nó là engine cờ vua mặc định đi kèm với các chương trình giao diện Internet Chess Club BlitzIn và Dasher. Trên nền tảng di động, engine đã được đóng gói với ứng dụng Stockfish, SmallFish và Droidfish. Các giao diện đồ họa người dùng tương thích với Stockfish (GUI) khác bao gồm Fritz, Arena, Stockfish cho Mac và PyChess.[12][13] Kể từ tháng 3 năm 2014, Stockfish là engine cờ vua được sử dụng bởi Lichess,[14] trang web cờ vua trực tuyến phổ biến thứ 2 trên thế giới .
Các tác giả
[sửa | sửa mã nguồn]Tên tác giả | Vai trò | ID GitHub |
---|---|---|
Marco Costalba | Người sáng lập dự án | mcostalba |
Joona Kiiski | Người sáng lập dự án | zamar |
Gary Linscott | Người sáng lập và nhà phát triển Fishtest | glinscott |
Tord Romstad | Tác giả của Glaurung | romstad |
Stéphane Nicolet | Người bảo trì từ năm 2016 [15] | súng bắn tỉa |
Stefan Geschwentner | Người bảo trì kể từ tháng 9 năm 2018 [16] | locutus2 |
Joost VandeVondele | Người bảo trì kể từ tháng 1 năm 2020 [17] | vondele |
Tên tác giả | GitHub ID |
---|---|
Aditya | absimaldata |
Adrian Petrescu | apetresc |
Ajith Chandy Jose | ajithcj |
Alain Savard | Rocky640 |
Alayan Feh | Alayan-stk-2 |
Alexander Kure | |
Alexander Pagel | Lolligerhans |
Ali AlZhrani | Cooffe |
Andrew Grant | AndyGrant |
Andrey Neporada | nepal |
Andy Duplain | |
Aram Tumanian | atumanian |
Arjun Temurnikar | |
Auguste Pop | |
Balint Pfliegel | |
Ben Koshy | BKSpurgeon |
Bill Henry | VoyagerOne |
Bojun Guo | noobpwnftw, Nooby |
Unknown | braich |
Brian Sheppard | SapphireBrand, briansheppard-toast |
Bryan Cross | crossbr |
Unknown | candirufish |
Unknown | Chess13234 |
Chris Cain | ceebo |
Dan Schmidt | dfannius |
Daniel Axtens | daxtens |
Daniel Dugovic | ddugovic |
Dariusz Orzechowski | |
David Zar | |
Daylen Yang | daylen |
Unknown | DiscanX |
Unknown | double-beep |
Eduardo Cáceres | eduherminio |
Eelco de Groot | KingDefender |
Elvin Liu | solarlight2 |
Unknown | erbsenzaehler |
Ernesto Gatti | |
Linmiao Xu | linrock |
Fabian Beuke | madnight |
Fabian Fichter | ianfab |
Unknown | fanon |
Fauzi Akram Dabat | FauziAkram |
Felix Wittmann | |
Unknown | gamander |
Gary Heckman | gheckman |
Unknown | gguliash |
Gian-Carlo Pascutto | gcp |
Gontran Lemaire | gonlem |
Goodkov Vasiliy Aleksandrovich | goodkov |
Gregor Cramer | |
Unknown | GuardianRM |
Günther Demetz | pb00067, pb00068 |
Guy Vreuls | gvreuls |
Henri Wiechers | |
Hiraoka Takuya | HiraokaTakuya |
Unknown | homoSapiensSapiens |
Hongzhi Cheng | |
Ivan Ivec | IIvec |
Jacques B. | Timshel |
Jan Ondruš | hxim |
Jared Kish | Kurtbusch |
Jarrod Torriero | DU-jdto |
Jean Gauthier | OuaisBla |
Jean-Francois Romang | jromang |
Unknown | Jekaa |
Jerry Donald Watson | jerrydonaldwatson |
Jonathan Calovski | Mysseno |
Jonathan Dumale | SFisGOD |
Jörg Oster | joergoster |
Joseph Ellis | jhellis3 |
Joseph R. Prostko | |
Unknown | jundery |
Justin Blanchard | UncombedCoconut |
Kelly Wilson | |
Ken Takusagawa | |
Unknown | kinderchocolate |
Kiran Panditrao | Krgp |
Unknown | Kojirion |
Leonardo Ljubičić | |
Leonid Pechenik | lp-- |
Linus Arver | listx |
Unknown | loco-loco |
Lub van den Berg | ElbertoOne |
Luca Brivio | lucabrivio |
Lucas Braesch | lucasart |
Lyudmil Antonov | lantonov |
Maciej Żenczykowski | zenczykowski |
Malcolm Campbell | xoto10 |
Mark Tenzer | 31m059 |
Unknown | marotear |
Matthew Lai | matthewlai |
Matthew Sullivan | Matt14916 |
Michael An | man |
Michael Byrne | MichaelB7 |
Michael Chaly | Vizvezdenec |
Michael Stembera | mstembera |
Michael Whiteley | protonspring |
Michel Van den Bergh | vdbergh |
Miguel Lahoz | miguel-l |
Mikael Bäckman | mbootsector |
Unknown | Mira |
Miroslav Fontán | Hexik |
Moez Jellouli | MJZ1977 |
Mohammed Li | tthsqe12 |
Nathan Rugg | nmrugg |
Nick Pelling | nickpelling |
Nicklas Persson | NicklasPersson |
Niklas Fiekas | niklasf |
Nikolay Kostov | NikolayIT |
Nguyen Pham | |
Ondrej Mosnáček | WOnder93 |
Oskar Werkelin Ahlin | |
Pablo Vazquez | |
Unknown | Panthee |
Pascal Romaret | |
Pasquale Pigazzini | ppigazzini |
Patrick Jansen | mibere |
Unknown | pellanda |
Peter Zsifkovits | CoffeeOne |
Praveen Kumar Tummala | praveentml |
Rahul Dsilva | silversolver1 |
Ralph Stößer (Ralph Stoesser) | |
Raminder Singh | |
Unknown | renouve |
Reuven Peleg | |
Richard Lloyd | |
Rodrigo Exterckötter Tjäder | |
Ron Britvich | Britvich |
Ronald de Man | syzygy1, syzygy |
Ryan Schmitt | |
Ryan Takker | |
Sami Kiminki | skiminki |
Sebastian Buchwald | UniQP |
Sergei Antonov | saproj |
Sergei Ivanov | svivanov72 |
Unknown | sf-x |
Shane Booth | shane31 |
Stefano Cardanobile | Stefano80 |
Steinar Gunderson | sesse |
Unknown | Thanar2 |
Unknown | thaspel |
Unknown | theo77186 |
Tom Truscott | |
Tom Vijlbrief | tomtor |
Tomasz Sobczyk | Sopel97 |
Torsten Franz | torfranz, tfranzer |
Tracey Emery | basepr1me |
Unai Corzo | unaiic |
Uri Blass | uriblass |
Vince Negri | cuddlestmonkey |
Xem thêm
[sửa | sửa mã nguồn]Chú thích
[sửa | sửa mã nguồn]Tham khảo
[sửa | sửa mã nguồn]- ^ “Stockfish GPLv3 license”. github.com/official-stockfish/Stockfish. Truy cập ngày 20 tháng 7 năm 2020.
- ^ a b “List of Authors disclosed on Github”. GitHub (bằng tiếng Anh). Truy cập ngày 29 tháng 6 năm 2020.
- ^ Kaufman, Larry (24 tháng 11 năm 2013). “Stockfish depth vs. others; challenge”. talkchess.com. Truy cập ngày 8 tháng 3 năm 2014.
- ^ DeepMind (6 tháng 12 năm 2018). “AlphaZero: Shedding new light on chess, shogi, and Go”. deepmind.com. Truy cập ngày 20 tháng 7 năm 2020.
- ^ Knapton, Sarah; Watson, Leon (6 tháng 12 năm 2017). “Entire human chess knowledge learned and surpassed by DeepMind's AlphaZero in four hours” (bằng tiếng Anh). Telegraph.co.uk. Truy cập ngày 6 tháng 12 năm 2017.
- ^ Vincent, James (6 tháng 12 năm 2017). “DeepMind's AI became a superhuman chess player in a few hours, just for fun”. The Verge. Truy cập ngày 6 tháng 12 năm 2017.
- ^ “'Superhuman' Google AI claims chess crown”. BBC News. 6 tháng 12 năm 2017. Truy cập ngày 7 tháng 12 năm 2017.
- ^ “DeepMind's AlphaZero crushes chess”. chess.com. 6 tháng 12 năm 2017. Truy cập ngày 13 tháng 12 năm 2017.
- ^ Silver, David; Hubert, Thomas; Schrittwieser, Julian; Antonoglou, Ioannis; Lai, Matthew; Guez, Arthur; Lanctot, Marc; Sifre, Laurent; Kumaran, Dharshan (5 December 2017). "Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm". arΧiv:1712.01815 [cs.AI].
- ^ “TCEC Season Archive”. tcec-chess.com. Truy cập ngày 9 tháng 1 năm 2015.
- ^ crem. “Lc0 won TCEC 15” (bằng tiếng Anh). Truy cập ngày 20 tháng 6 năm 2019.
- ^ Using the Stockfish Engine, Stockfish Support.
- ^ ChessEngines, PyChess Github.
- ^ [1] Lichess uses Stockfish announcement.
- ^ [2], Stéphane commits to master.
- ^ https://groups.google.com/forum/#!msg/fishcooking/gxAS3isl4pU/GGsVYtdFBQAJ, Stéphane announces a new maintainer
- ^ [3], Commit showing Vondele directly pushing to master.
[[Thể loại:Thể loại:Phần mềm tự do lập trình bằng C++]] [[Thể loại:Thể loại:Phần mềm năm 2008]]