Giải phẫu các engine cờ: Stockfish, Fairy-Stockfish, Pikafish và KataGo mạnh đến đâu?
Giải phẫu các engine cờ: Stockfish, Fairy-Stockfish, Pikafish và KataGo mạnh đến đâu?
Mỗi ván cờ bạn chơi với máy trên điện thoại đều có một "bộ não" đứng sau. Bốn cái tên xuất hiện nhiều nhất trong thế giới engine hiện nay là Stockfish, Fairy-Stockfish, Pikafish và KataGo — ba trong số đó đang chạy ngay trong các trò chơi của SynerWorlds. Chúng khác nhau ở đâu, mạnh đến mức nào, và vì sao cùng một "họ" mà sức mạnh lại chênh nhau? Bài này mổ xẻ từng engine một.
Hai trường phái kiến trúc
Trước khi đi vào từng cái tên, cần biết các engine hiện đại thuộc hai trường phái lớn:
- Tìm kiếm alpha-beta + mạng NNUE — trường phái của họ Stockfish. Engine duyệt cây nước đi cực nhanh (hàng chục triệu thế mỗi giây), cắt tỉa mạnh tay, và chấm điểm thế cờ bằng một mạng nơ-ron nhỏ tên NNUE — nhỏ đến mức chạy hiệu quả ngay trên CPU, nhưng đủ thông minh để thay thế hoàn toàn hàm lượng giá thủ công ngày xưa.
- Tìm kiếm cây Monte Carlo (MCTS) + mạng nơ-ron sâu tự học — trường phái AlphaZero/KataGo. Engine không duyệt thô bạo mà "học" trực giác từ hàng triệu ván tự đấu, rồi dùng trực giác đó dẫn đường cho tìm kiếm. Cách này đặc biệt hợp với Cờ Vây, nơi cây nước đi quá khổng lồ để duyệt kiểu alpha-beta.
Cả bốn engine trong bài đều mã nguồn mở — ai cũng tải về được. Điểm khác nhau nằm ở môn chúng chơi, mức độ chuyên biệt, và phần cứng chúng được phép dùng.
Stockfish — ông vua của Cờ Vua
Stockfish là engine cờ vua mạnh nhất thế giới trong nhiều năm liền: vô địch gần như mọi mùa giải TCEC và CCC từ 2020 đến nay, và đứng đầu bảng xếp hạng máy CCRL với khoảng 3.640–3.650 Elo theo thang máy — tức cao hơn kỷ lục 2882 của Magnus Carlsen chừng 750 điểm trên giấy tờ của thang máy. Cần nhớ bài học từ bài Elo: thang máy và thang FIDE là hai "ao" khác nhau, không quy đổi cứng được; nhưng kết luận thực tế thì không ai tranh cãi — con người không còn cửa thắng Stockfish ở sức mạnh đầy đủ.
Bí quyết của Stockfish là sự kết hợp giữa tìm kiếm alpha-beta được tối ưu đến mức cực đoan và đánh giá NNUE: mạng nơ-ron của nó được huấn luyện liên tục từ dữ liệu tự đấu của cộng đồng, và hàng trăm lập trình viên tình nguyện kiểm chứng từng thay đổi nhỏ bằng hàng triệu ván thử nghiệm. Đây cũng là engine đang chạy trong trò Cờ Vua của SynerWorlds.
Fairy-Stockfish — kẻ đa năng của mọi biến thể
Fairy-Stockfish là một nhánh rẽ của Stockfish do Fabian Fichter phát triển, với tham vọng ngược lại: thay vì chỉ giỏi một môn, nó chơi được hàng chục biến thể cờ — Cờ Tướng, Shogi, Janggi, Makruk, Crazyhouse và nhiều biến thể tự chế — và là engine đứng sau các nền tảng biến thể lớn như Lichess và Pychess.
Cái giá của sự đa năng là tốc độ: ở Cờ Vua tiêu chuẩn, Fairy-Stockfish yếu hơn Stockfish gốc hơn 100 Elo vì phải gánh mã nguồn tổng quát cho mọi loại quân lạ. Ở Cờ Tướng, theo chính tài liệu của dự án, bản NNUE của nó đạt trình siêu nhân nhưng vẫn thấp hơn các engine chuyên biệt hàng đầu vài trăm Elo. Đổi lại, nó cực kỳ linh hoạt, giấy phép sạch (GPL), và có bản chạy ngay trong trình duyệt — đó là lý do Cờ Tướng của SynerWorlds dùng Fairy-Stockfish cho cả 12 cấp độ: ở sức mạnh đầy đủ trong trình duyệt, nó vẫn vượt xa bất kỳ cao thủ con người nào mà người chơi có thể gặp.
Pikafish — chuyên gia thuần Cờ Tướng
Nếu Fairy-Stockfish là vận động viên thập toàn thì Pikafish là vận động viên cử tạ chuyên một nội dung. Pikafish cũng rẽ nhánh từ Stockfish, nhưng cắt bỏ mọi biến thể khác để chỉ chơi Cờ Tướng, và huấn luyện mạng NNUE của nó trên hàng tỉ thế cờ tướng. Kết quả: Pikafish được cộng đồng công nhận là engine cờ tướng mã nguồn mở mạnh nhất hiện nay — chính tài liệu của Fairy-Stockfish cũng chỉ vào Pikafish khi nói về "các engine chuyên biệt hàng đầu" mà nó thua vài trăm Elo.
Hai chi tiết thực tế ít người biết. Thứ nhất, ở đỉnh cao cờ tướng máy, tỉ lệ hòa cực kỳ cao — chênh lệch vài trăm Elo giữa hai engine mạnh thường chỉ thể hiện qua một tỉ số thắng rất mỏng sau hàng nghìn ván, vì cả hai bên đều gần như không mắc sai lầm. Thứ hai, mã nguồn của Pikafish theo GPL nhưng tệp trọng số mạng nơ-ron của nó có điều khoản riêng, giới hạn dùng thương mại — một chi tiết pháp lý mà bất kỳ sản phẩm nào muốn nhúng Pikafish cũng phải đọc kỹ. Trên SynerWorlds, Pikafish hiện là mốc tham chiếu để biết "trần" của cờ tướng máy đang ở đâu, chứ chưa phải engine đang chạy trực tiếp.
KataGo — chuẩn mực của Cờ Vây
KataGo, do David Wu phát triển và ra mắt năm 2019, là hậu duệ mã nguồn mở của làn sóng AlphaGo — nhưng hiệu quả hơn tổ tiên của nó rất nhiều: nhờ một loạt cải tiến thuật toán, KataGo đạt sức mạnh vượt các chương trình dòng AlphaGo đời đầu với chi phí tính toán thấp hơn hẳn, và là engine cờ vây công khai mạnh nhất hiện nay. Các kỳ thủ chuyên nghiệp không còn "đấu" với nó nữa; họ dùng nó làm thầy — phân tích khai cuộc, kiểm tra nước đi, học các ý tưởng mới.
KataGo thuộc trường phái thứ hai: mạng nơ-ron sâu kết hợp tìm kiếm Monte Carlo, sức mạnh tăng rất mạnh theo thời gian nghĩ và sức mạnh GPU. Đây cũng là điểm cần trung thực khi nói về Cờ Vây của SynerWorlds: bản KataGo chạy trong trình duyệt phải tính trong vài giây trên máy của chính bạn, nên cấp cao nhất của chúng tôi vào khoảng 3 dan nghiệp dư — mạnh với người chơi câu lạc bộ, nhưng không phải KataGo "bản đầy đủ" trên GPU máy chủ. Cùng một cái tên, khác phần cứng và thời gian nghĩ, là khác hẳn một đẳng cấp.
Đọc sức mạnh engine sao cho đúng?
Ba nguyên tắc để không bị các con số đánh lừa:
Elo của máy là thang riêng. CCRL cho cờ vua, các danh sách riêng cho cờ tướng và cờ vây — mỗi bảng một mặt bằng, và tất cả đều không phải điểm FIDE.
Sức mạnh phụ thuộc điều kiện thi đấu. Cùng một engine, cho nó 4 nhân CPU và 15 phút mỗi ván sẽ khác hẳn cho nó 1 nhân và 1 giây mỗi nước. Mọi con số đều phải đọc kèm phần cứng và thời gian nghĩ.
Chuyên biệt thắng đa năng — trong đúng môn của nó. Pikafish thắng Fairy-Stockfish ở Cờ Tướng, nhưng không chơi được Shogi; Stockfish là vua Cờ Vua nhưng không biết Cờ Tướng. Chọn engine là chọn đánh đổi.
Và điểm chung quan trọng nhất: cả bốn engine đều đã vượt con người ở môn của chúng khi chạy ở sức mạnh đầy đủ. Cuộc đua ngày nay không còn là "máy đấu người" nữa — mà là máy đấu máy, và người hưởng lợi là người chơi: ai cũng có một "huấn luyện viên" mạnh hơn mọi nhà vô địch trong lịch sử, ngồi sẵn trong trình duyệt của mình. Việc của các trò chơi như SynerWorlds là "ghìm" sức mạnh đó thành 12 nấc thang vừa sức — phần còn lại là của bạn.
Bình luận
Chưa có bình luận nào. Hãy là người đầu tiên chia sẻ cảm nghĩ!