Báo cáo Nghiên cứu về Lịch sử Chơi Cờ Tướng (Xiangqi) Trên Máy Tính
Tổng hợp có hệ thống lịch sử phát triển engine cờ tướng từ thập niên 1980 đến năm 2026, bao gồm các engine tiêu biểu, giao thức và hệ sinh thái công cụ. Phụ lục A: Dòng thời gian Phát triển Toàn diện của Máy đánh cờ → Mục lục C: Phiên bản
Phụ lục A: Dòng thời gian Phát triển Toàn diện của Máy đánh cờ
| Năm | Sự kiện |
|---|---|
| 1981 | Bài báo học thuật đầu tiên về cờ tướng máy tính được công bố |
| 1982 | Chương trình cờ tướng hoạt động đầu tiên xuất hiện |
| 1985 | Giải vô địch Cờ máy tính Acer Cup đầu tiên |
| 1989 | Jiangzu/Elite vô địch tại ICGA Computer Olympiad lần thứ 1 |
| 1990 | Elephant vô địch ICGA lần thứ 2 |
| 1992 | Xiangqi Master 3 (bản thương mại Jiangzu) phát hành DOS |
| 1997 | Qiyin (Chess1) được phát hành |
| 2000 | Qiyin phổ biến rộng rãi |
| 2004 | Mengru Shenji (MRSJ) vô địch ICGA lần thứ 9 |
| 2005 | Xiangqi Qibing (XQMASTER) vô địch ICGA lần thứ 10 |
| 2005 | Xiangqi Cyclone được phát hành lần đầu |
| 2006 | Qi Tian Da Sheng giành huy chương vàng ICGA lần thứ 11, vô địch CCMC 2006 |
| 2006 | Giao thức UCCI được công bố bởi Huang Chen |
| 2007 | Qi Tian Da Sheng bảo vệ thành công chức vô địch CCMC 2007 |
| 2008 | Yitian Xiangqi giành huy chương vàng tại ICGA Bắc Kinh |
| 2009 | Xiangqi Mingshou vô địch CCMC 2009 |
| 2009 | Jiajia Xiangqi được phát hành |
| 2010 | Xiangqi Shijia vô địch ICGA lần thứ 15 |
| 2012 | Xiangqi Mingshou vô địch CCMC |
| 2013 | Xiaochong Xiangqi giành huy chương vàng ICGA lần thứ 17 |
| 2013 | Xiangqi Mingshou vô địch CCMC |
| 2014 | Xiangqi Mingshou vô địch CCMC |
| 2019 | Xiangqi Cyclone vô địch CCMC |
| 2022 | Pikafish được phát hành trên GitHub, NNUE được giới thiệu vào cờ tướng |
| 2024 | Máy đánh cờ Orange được phát hành, triển khai NNUE độc lập |
| 2025 | Pikafish giới thiệu các tối ưu hóa ATT++ và AVX512 |
| 2026 | Pikafish tiếp tục lặp, hệ sinh thái mã nguồn mở phát triển hơn nữa |
Phụ lục B: So sánh Thông số Kỹ thuật của các Máy đánh cờ Chính
| Máy đánh cờ | Phát hành Lần đầu | Tác giả | Thuật toán Tìm kiếm | Phương pháp Đánh giá | Song song hóa | Giao thức | Giấy phép | Định vị |
|---|---|---|---|---|---|---|---|---|
| Jiangzu/Elite | 1989 | Yu Xishun | Alpha-Beta | Thủ công | Không | Chỉ DOS | Độc quyền | Thương mại |
| Qiyin | 1997 | Lin Shunze | Alpha-Beta | Thủ công | Không | Chỉ Windows | Độc quyền | Thương mại |
| Mengru Shenji | 2004 | Tu Zhiqiang | Alpha-Beta Nâng cao | Thủ công | Không | Không rõ | Độc quyền | Thương mại |
| Xiangqi Qibing | 2005 | Zhao Mingyang | PVS | Thủ công | Có | Độc quyền | Độc quyền | Thương mại |
| Qi Tian Da Sheng | 2006 | Wang Jiao (NEU) | PVS + Các loại Tỉa khác nhau | Thủ công | Có | Độc quyền | Độc quyền | Nghiên cứu |
| TMSK | 2009 | Shen Bingjie | PVS Nâng cao | Thủ công | Có | Độc quyền | Độc quyền | Thương mại |
| Xiangqi Mingshou | 2009-2014 | Jiang Zhimin + Zhang Min | PVS + Tìm kiếm Song song + Phân tán | Thủ công Sâu | Có (Đa lõi + Phân tán) | UCI | Độc quyền | Thương mại |
| Jiajia Xiangqi | 2009 | Li Guolai | PVS + MCTS (GGzero) | Thủ công + NN (GGzero) | Có | UCI | Độc quyền | Thương mại |
| Xiaochong Xiangqi | ~2010 | Nhóm Liu Zongyuan | PVS | Thủ công + Dữ liệu | Có | UCI | Độc quyền | Thương mại |
| Pikafish | 2022 | Nhóm PikaCat++ | PVS + Null Move + LMR + SEE + Song song | NNUE | Có (Lazy SMP) | UCI | Mã nguồn mở | GPLv3 |
| Orange | 2024 | Daniel Tan | PVS + NNUE | NNUE (2 lớp) | Có | UCCI | Mã nguồn mở | Tùy chỉnh |
B.1 So sánh Tiến hóa Công nghệ Máy đánh cờ Qua các Thế hệ
Các máy đánh cờ tướng đã trải qua nhiều thế hệ thay đổi công nghệ trong hơn ba mươi năm qua. Dưới đây là so sánh các máy đánh cờ tiêu biểu từ mỗi thời đại dưới góc độ kiến trúc kỹ thuật:
| Tiêu chí So sánh | Thế hệ 1: Kỷ nguyên Nguyên thủy | Thế hệ 2: Kỷ nguyên Cổ điển | Thế hệ 3: Kỷ nguyên Hoàng kim | Thế hệ 4: Kỷ nguyên Thương mại | Thế hệ 5: Kỷ nguyên NNUE |
|---|---|---|---|---|---|
| Thời kỳ | 1989-1997 | 1997-2004 | 2005-2008 | 2009-2021 | 2022-Nay |
| Máy đánh cờ Đại diện | Jiangzu/Elite | Qiyin, Mengru Shenji | Qibing, Qi Tian Da Sheng, Cyclone | Mingshou, Cyclone (cuối), Nanao | Pikafish, Orange |
| Môi trường Phần cứng | 8086/80286, ~10MHz | 80486~Pentium, 100MHz | Pentium D~Core2, 2GHz | Core i5~i9, 3-4GHz | Đa lõi + AVX2/SIMD |
| Giới hạn Bộ nhớ | 640KB~1MB | 4-64MB | 256MB~2GB | 4-64GB | 16-128GB+ |
| Thuật toán Tìm kiếm | Alpha-Beta Cơ bản | Alpha-Beta + Làm sâu Lặp | PVS + Tỉa Null-Move + LMR | PVS + Tỉa Nâng cao + Song song | PVS + NNUE + Tỉa Nâng cao |
| Phương pháp Đánh giá | Điểm thủ công (~10 tham số) | Tinh chỉnh thủ công (~30 tham số) | Tinh chỉnh thủ công (50-100 tham số) | Tinh chỉnh thủ công (100+ tham số) | NNUE (~20M tham số) |
| Độ sâu Tìm kiếm | 3-5 nửa nước | 6-10 nửa nước | 10-15 nửa nước | 15-25 nửa nước | 25-35 nửa nước |
| Số nút mỗi Nước đi | 100K-500K | 500K-5M | 5M-50M | 50M-500M | 100M-1B (bao gồm suy luận NN) |
| Sức mạnh (ELO) | ~1800 | ~2000-2200 | ~2300-2650 | ~2650-2900 | ~3000-3200+ |
| Trình độ Người tương đương | Nghiệp dư Mạnh | Cao thủ Địa phương - Kiện tướng Quốc gia | Kiện tướng Quốc gia - Đại kiện tướng | Vượt xa Con người | Vượt xa Con người |
| Chuẩn Giao thức | Không có giao thức thống nhất | Giao thức độc quyền | UCCI/UCI cùng tồn tại | UCI tiêu chuẩn hóa | UCI |
| Kiến trúc Phần mềm | EXE nguyên khối | EXE nguyên khối | Tách biệt Giao diện-Máy (bắt đầu) | Tách biệt Giao diện-Máy (trưởng thành) | Tách biệt Giao diện-Máy + Suy luận NN |
| Phương pháp Song song | Không | Không | Song song thử nghiệm | SMP/Phân tán | Lazy SMP |
| Tình trạng Mã nguồn Mở | Độc quyền | Độc quyền | Độc quyền (công bố học thuật một phần) | Thương mại độc quyền | Mã nguồn mở (GPLv3) |
| Sự kiện Đại diện | ICGA đầu tiên | Vô địch Cờ tướng Thế giới | ICGA/CCMC thời kỳ đầu | CCMC/Huashan Lunjian | Fishtest + Bảng xếp hạng Trực tuyến |
| Phong cách Chơi | Máy móc, tấn công trực diện | Vững chắc, chiến thuật | Chiến thuật sắc bén, đánh giá cân bằng | Toàn diện, cuối cuộc mạnh | Toàn diện + gần tối ưu |
| Nút thắt Kỹ thuật Chính | Hiệu quả tìm kiếm | Độ chính xác đánh giá | Song song hóa | Trần đánh giá thủ công | Phụ thuộc phần cứng |
| Đột phá Kỹ thuật Chính | Chương trình cờ tướng đầu tiên | Làm sâu lặp | Tỉa Null-move | Tìm kiếm phân tán | Cập nhật gia tăng NNUE |
Ghi chú: So sánh qua các thế hệ cho thấy một xu hướng rõ ràng — mỗi thế hệ gần như tăng gấp đôi độ sâu tìm kiếm và cải thiện sức mạnh khoảng 200-400 ELO. Sự xuất hiện của kỷ nguyên NNUE đã biến đổi các hàm đánh giá từ một vài chục tham số được tinh chỉnh thủ công thành một mạng nơ-ron với 20 triệu tham số — một bước nhảy vọt về chất. Đồng thời, mô hình mã nguồn mở (Pikafish) đã cho phép sức mạnh cộng đồng thay thế các nhà phát triển cá nhân trở thành động lực chính của sự tiến bộ máy đánh cờ.
Phụ lục E: So sánh Sức mạnh Giữa Người và Máy Qua các Thời đại
E.1 So sánh Sức mạnh Giữa Người và Máy Qua các Thời đại
Dưới đây là so sánh sức mạnh đánh cờ giữa các kỳ thủ đỉnh cao và các máy đánh cờ tiêu biểu qua các giai đoạn khác nhau:
| Giai đoạn | Kỳ thủ Người Đại diện | ELO Người (Ước tính) | Máy đánh cờ Đại diện | ELO Máy (Ước tính) | So sánh Sức mạnh | Sự kiện Tiêu biểu |
|---|---|---|---|---|---|---|
| 1989 | Lv Qin, Zhao Guorong | 2600-2650 | Jiangzu/Elite | ~1800 | Người cho mã + nước đi | ICGA lần 1: Jiangzu vô địch |
| 1997 | Xu Yinchuan (đỉnh cao) | 2680-2700 | Qiyin | ~2000 | Người cho 3 nước | Phiên bản Windows Qiyin phát hành |
| 2003 | Xu Yinchuan, Lv Qin | 2650-2700 | ZMBL (Zongma Benliu) | ~2200 | Người cho 2 nước | ZMBL vô địch ICGA |
| 2005 | Xu Yinchuan | 2680 | Xiangqi Qibing | ~2350 | Người cho 1 nước | Qibing vô địch ICGA |
| 2006 | Xu Yinchuan | 2680 | Qi Tian Da Sheng | ~2450 | Người vs Máy: Hòa | Xu Yinchuan vs Qi Tian Da Sheng (1-1) |
Chương 31 Lịch sử Chi tiết các Giải đấu Máy đánh cờ Quốc tế: Phân tích các Giải ICGA
31.1 ICGA Computer Olympiad lần thứ 1 (1989, London)
Kỳ Computer Olympiad đầu tiên được tổ chức tại London vào năm 1989, nơi cờ tướng xuất hiện như một môn thi đấu chính thức lần đầu tiên. Tổng cộng có năm chương trình tham gia, và Jiangzu (Elite) đã giành chức vô địch với thành tích toàn thắng 4-0.
Chi tiết các chương trình tham gia:
- Acer Chinese Chess (Jiangzu/Elite): đến từ Đài Loan, chạy trên máy IBM PC/AT tương thích, độ sâu tìm kiếm khoảng 5-7 nửa nước
- CChess Expert Acme: cũng đến từ Đài Loan, sức mạnh chỉ sau Jiangzu
- Elephant: đến từ Đài Loan
- Xian: đến từ Hoa Kỳ, do các học giả người Hoa ở nước ngoài phát triển
- Ogre: đến từ Vương quốc Anh, chương trình cờ tướng duy nhất do các nhà phát triển không phải người Hoa phát triển
Điểm nổi bật của giải đấu: Jiangzu đã thể hiện sức mạnh vượt trội so với các chương trình khác trong suốt giải đấu. Theo phân tích biên bản ván đấu, Jiangzu xuất sắc trong các tổ hợp chiến thuật (như tấn công hy sinh) và có thể khám phá các chuỗi chiến thuật thông qua tìm kiếm sâu hơn. Trong nhiều ván đấu, Jiangzu đã thiết lập lợi thế quyết định thông qua tính toán trung cuộc chính xác.
Quy tắc và thể thức thi đấu ICGA: Trong các giải ICGA, cờ tướng sử dụng hệ thống tính điểm vòng tròn một lượt (vòng tròn đôi hoặc tư). Mỗi bên có tổng thời gian suy nghĩ là 1 giờ. Giải đấu sử dụng luật cờ tướng chính thức (luật châu Á theo quy định của ICGA).
31.2 Quy tắc Giải đấu ICGA và Sự Tiến hóa
ICGA (Hiệp hội Trò chơi Máy tính Quốc tế) là tổ chức trò chơi máy tính lâu đời nhất thế giới. Các quy tắc cho môn cờ tướng của ICGA đã trải qua một số điều chỉnh qua nhiều thập kỷ:
Thời kỳ đầu (1989-1992):
- Thể thức vòng tròn một lượt
- Tổng thời gian 1-2 giờ mỗi bên
- Luật cờ tướng châu Á tiêu chuẩn
- Địa điểm thi đấu thường tại vị trí hội nghị thường niên của ICGA
Thời kỳ giữa (2000-2010):
- Khi số lượng chương trình tham gia tăng lên, hệ thống Thụy Sĩ được áp dụng để ghép cặp
- Kiểm soát thời gian bắt đầu sử dụng hệ thống tăng dần (ví dụ: 45 phút mỗi bên + 15 giây mỗi nước đi)
- Các quy tắc giới hạn phần cứng được giới thiệu (ví dụ: giới hạn bộ nhớ cho máy tính tham gia)
Ảnh hưởng của quy tắc giải đấu đến các chương trình tham gia: Các quy tắc giải đấu ICGA đã ảnh hưởng đến các yêu cầu kỹ thuật của các chương trình tham gia. Ví dụ:
- Phương pháp kiểm soát thời gian ảnh hưởng đến độ sâu tìm kiếm của máy và việc chọn lựa chiến lược tỉa
- Giới hạn phần cứng ảnh hưởng đến thiết kế máy cho tìm kiếm song song và chiến lược bảng chuyển vị lớn
- Tiêu chuẩn hóa quy tắc thúc đẩy sự hội tụ trong kiến trúc kỹ thuật của máy đánh cờ
31.3 Ý nghĩa Kỹ thuật của ICGA 2006
ICGA Computer Olympiad lần thứ 11, được tổ chức tại Turin, Ý vào năm 2006, là giải đấu mà Qi Tian Da Sheng (NEUChess) giành chức vô địch, và nó đánh dấu một cột mốc kỹ thuật quan trọng trong lịch sử máy đánh cờ tướng.
Các chương trình tham gia:
- NEUChess (Qi Tian Da Sheng) — Đại học Đông Bắc, Trung Quốc
- ZMBL (Zongma Benliu / Ngựa Phi) — Tu Zhiqiang, Trung Quốc
Tu Zhijian — Tác giả Zongma Benliu (ZMBL), nghiên cứu sinh tại Học viện Phần mềm Đại học Tôn Trung Sơn, huy chương vàng ICGA 2003
- Nhiều chương trình tham gia khác
Lợi thế Kỹ thuật của Qi Tian Da Sheng: Trong giải đấu năm 2006, Qi Tian Da Sheng đã thể hiện các lợi thế kỹ thuật sau:
- Độ chính xác cao trong hàm đánh giá, đặc biệt là trong các thế cờ phức tạp
- Độ sâu tìm kiếm và sự ổn định xuất sắc
- Tỷ lệ trúng bảng chuyển vị vượt trội, giảm thiểu sự dư thừa tìm kiếm
Các ván đấu quan trọng trong giải đấu: Trận đấu giữa Qi Tian Da Sheng và ZMBL (Zongma Benliu) tại ICGA 2006 được coi là điểm nhấn kỹ thuật của giải đấu đó. Trong ván đấu này, Qi Tian Da Sheng đã đánh bại ZMBL — lúc đó cũng được coi là ứng cử viên vô địch — thông qua tính toán chiến thuật chính xác (phát hiện các chuỗi tấn công hy sinh tinh tế ở độ sâu tìm kiếm 15-18 nửa nước).
31.4 Hiệp hội Đài Loan và các Máy đánh cờ Đài Loan
Đài Loan đã đóng một vai trò quan trọng trong lịch sử phát triển máy đánh cờ tướng. Từ Jiangzu đến Xiangqi Shijia, các nhà phát triển máy đánh cờ Đài Loan đã có những đóng góp quan trọng cho toàn bộ lĩnh vực.
Dòng thời gian phát triển máy đánh cờ Đài Loan:
- 1989: Jiangzu (Yu Xishun) vô địch ICGA lần thứ 1
- 1990: Elephant (Xu Shunqin) vô địch ICGA lần thứ 2
- 1991: Jiangzu tham gia ICGA lần thứ 3, giành huy chương vàng đồng hạng
- 2004-2005: Các máy như ZMBL (Tu Zhiqiang) thể hiện nổi bật
- 2010: Xiangqi Shijia (Zheng Mingzheng) vô địch ICGA lần thứ 15
Đặc điểm của các máy đánh cờ Đài Loan: So với các máy đánh cờ Trung Quốc đại lục, các máy đánh cờ Đài Loan có một số khác biệt trong cách tiếp cận kỹ thuật:
- Tiếp cận và áp dụng các công nghệ máy đánh cờ tiên tiến sớm hơn
- Chú trọng nhiều hơn đến kỹ thuật trong thiết kế kiến trúc máy đánh cờ
- Hệ sinh thái cộng đồng cho khai cuộc và cơ sở cuối cuộc trưởng thành hơn
31.5 Ý nghĩa Đặc biệt của ICGA 2008 Bắc Kinh
Đội Đại học Công nghệ Bắc Kinh tại ICGA Computer Olympiad — đại diện cho các trường đại học Trung Quốc tham gia các cuộc thi cờ máy tính
Đại học Công nghệ Bắc Kinh giành giải thưởng tại cuộc thi ICGA — ảnh nhóm đội thi đấu đại học
Ảnh nhóm người tham dự ICGA Computer Olympiad — các nhà nghiên cứu cờ máy tính từ khắp nơi trên thế giới
Địa điểm thi đấu cờ tướng ICGA — máy tính và bàn cờ đặt cạnh nhau, trọng tài ghi chép các ván đấu
Giấy chứng nhận giải thưởng ICGA Computer Olympiad
Đấu trường ICGA — các kỹ thuật viên điều chỉnh thông số máy đánh cờ và cấu hình phần cứng
ICGA lần thứ 13 được tổ chức tại Bắc Kinh vào năm 2008, đánh dấu lần đầu tiên ICGA tổ chức sự kiện tại Trung Quốc đại lục. Ý nghĩa đặc biệt của giải đấu này:
- Lợi thế sân nhà: Các máy đánh cờ Trung Quốc thi đấu trên sân nhà đã thu hút nhiều sự chú ý và tham gia hơn
- Chức vô địch của Intella: Intella (Yitian Xiangqi) đã giành huy chương vàng
- Niềm tự hào dân tộc: Các máy đánh cờ Trung Quốc đại lục vô địch trên sân nhà đã thúc đẩy đáng kể sự quan tâm đến máy đánh cờ tướng
- Phổ biến công nghệ: Sự đưa tin của truyền thông về ICGA Bắc Kinh đã giới thiệu cho công chúng về trình độ phát triển của máy đánh cờ tướng
Máy tính thi đấu: ICGA 2008 yêu cầu tất cả máy tính tham gia phải là PC tiêu chuẩn (Intel Core 2 Duo hoặc cấu hình tương đương) với giới hạn bộ nhớ 2GB. Cấu hình phần cứng đồng nhất này đảm bảo rằng kết quả thi đấu phản ánh chất lượng của phần mềm (thuật toán + hàm đánh giá + khai cuộc) thay vì sự khác biệt về phần cứng.
Chương 32 Lịch sử Hoàn chỉnh của CCMC (Giải vô địch Trò chơi Máy tính Trung Quốc)
32.1 Thành lập và Quy tắc của CCMC
Giải vô địch Trò chơi Máy tính Trung Quốc (CCMC) được thành lập vào năm 2006 bởi Ủy ban Chuyên môn Trò chơi Máy tính của Hiệp hội Trí tuệ Nhân tạo Trung Quốc (CAAI). Đây là cuộc thi trò chơi máy tính có thẩm quyền nhất tại Trung Quốc đại lục.
Thể thức thi đấu CCMC:
- Các chương trình tham gia phải nộp mã nguồn hoặc tệp nhị phân để xem xét
- Cuộc thi sử dụng thể thức vòng tròn một lượt hoặc ghép cặp Thụy Sĩ
- Kiểm soát thời gian thường là tổng cộng 45 phút mỗi bên
- Sử dụng luật thi đấu cờ tướng Trung Quốc (luật Trung Quốc)
32.2 So sánh Kỹ thuật của các Nhà vô địch CCMC Theo Năm
2006 (Bắc Kinh): Qi Tian Da Sheng Qi Tian Da Sheng đã giành chức vô địch CCMC đầu tiên, đại diện cho thắng lợi của con đường nghiên cứu học thuật. Các kết quả nghiên cứu của nhóm Wang Jiao tại Đại học Đông Bắc trong các hàm đánh giá và thuật toán tìm kiếm đã được thể hiện đầy đủ trong cuộc thi.
2007 (Trùng Khánh): Xiangqi Cyclone Chức vô địch của Cyclone đánh dấu sự trỗi dậy của con đường nhà phát triển cá nhân. Chen Chaoying, với tư cách là một nhà phát triển cá nhân, đã đánh bại Qi Tian Da Sheng được hỗ trợ bởi học thuật thông qua sự hiểu biết sâu sắc về công nghệ máy đánh cờ và khả năng kỹ thuật vững chắc.
2009 (Shenzhen): Xiangqi Mingshou Chức vô địch CCMC đầu tiên của Xiangqi Mingshou đã báo hiệu sự xuất hiện của kỷ nguyên Mingshou. Trong cuộc thi này, Mingshou đã thể hiện khả năng xử lý trung cuộc và cuối cuộc xuất sắc cũng như độ sâu tìm kiếm cực kỳ lớn.
2010-2014: Thời kỳ Thống trị của Mingshou Từ 2010 đến 2014, Xiangqi Mingshou đã thiết lập sự thống trị tại CCMC. Thời kỳ này là đỉnh cao sức mạnh của Mingshou và là thời kỳ hoàng kim của các máy đánh cờ tướng thương mại. Lợi thế toàn diện của Mingshou về hiệu quả tìm kiếm, độ chính xác đánh giá và khả năng mở rộng song song đã giúp nó bất bại trong các cuộc thi.
2017-2019: Sự Trở lại của Cyclone Sau khi Mingshou dần rút lui, Xiangqi Cyclone đã giành lại chức vô địch CCMC. Sự trở lại của Cyclone được hưởng lợi từ việc theo dõi và thích ứng với các công nghệ mới như NNUE.
32.3 Tác động của CCMC đến Sự phát triển Máy đánh cờ Tướng
Ảnh hưởng của CCMC đối với sự phát triển máy đánh cờ tướng có nhiều mặt:
- Thúc đẩy cạnh tranh kỹ thuật: CCMC đã cung cấp một nền tảng cạnh tranh công bằng, kích thích sự cạnh tranh lành mạnh giữa các nhà phát triển máy đánh cờ.
- Kết nối học thuật và công nghiệp: CCMC đã thu hút nỗ lực chung từ giới học thuật và công nghiệp, thúc đẩy ứng dụng kỹ thuật của các kết quả nghiên cứu.
- Thúc đẩy tiêu chuẩn: Các quy tắc tiêu chuẩn được CCMC áp dụng đã thúc đẩy tính đồng nhất và tiêu chuẩn hóa của các triển khai luật chơi trong máy đánh cờ.
- Đào tạo nhân tài: Thông qua CCMC, một nhóm các nhà phát triển máy đánh cờ và nhà nghiên cứu AI xuất sắc đã trưởng thành và phát triển.
Chương 33 Nghiên cứu về Xử lý các Chiến thuật Cụ thể của Máy đánh cờ
Ghi chú: Ghi chú về đánh số — báo cáo gốc tiếng Trung sử dụng cách đánh số chương từ cấu trúc 41 chương đầy đủ của nó. Chương này tương ứng với phần “Chiến thuật Cụ thể”.
33.1 Triển khai Tìm kiếm cho các Đòn Tấn công Hy sinh
Tấn công hy sinh — hy sinh một hoặc nhiều quân cờ để giành lợi thế vị trí hoặc thực hiện chiếu bí — là một trong những tổ hợp chiến thuật tinh tế nhất trong cờ tướng. Trong tìm kiếm của máy đánh cờ, việc khám phá các đòn tấn công hy sinh dựa trên các kỹ thuật sau:
1. Độ sâu Tìm kiếm: Các đòn tấn công hy sinh thường yêu cầu tìm kiếm sâu để bộc lộ hiệu quả cuối cùng của chúng. Một sự hy sinh đơn giản chỉ có thể cho thấy giá trị của nó sau 4-5 nửa nước, trong khi các đòn tấn công hy sinh phức tạp có thể yêu cầu độ sâu tìm kiếm từ 10 nửa nước trở lên. Máy đánh cờ cần tìm kiếm đủ sâu để tránh việc “thiển cận” từ chối các hy sinh.
2. Bẫy Đánh giá Tĩnh: Trong các biến của đòn tấn công hy sinh, máy đánh cờ có thể gặp các vị trí mà nó thấy “thiếu quân” tại các nút tìm kiếm trung gian, có khả năng dẫn đến việc tỉa nhầm. Tránh việc tỉa như vậy đòi hỏi phải xử lý chính xác “thiếu quân tạm thời” trong hàm đánh giá.
3. Mối quan hệ Giữa SEE và Hy sinh: SEE (Đánh giá Trao đổi Tĩnh) thường giả định rằng trong các cuộc trao đổi bắt quân, các quân được bắt theo thứ tự “tốt, mã, pháo, xe, sĩ, tượng, tướng” (giá trị tăng dần). Tuy nhiên, trong các đòn tấn công hy sinh, các giả định của SEE có thể không đúng — một bên có thể cố tình “dâng” một quân có giá trị cao để giành được thế cờ thuận lợi hơn về sau.
4. Mở rộng Tìm kiếm: Trong quá trình tìm kiếm, máy đánh cờ có thể “mở rộng” độ sâu tìm kiếm của một số nhánh nhất định để khám phá các tổ hợp chiến thuật sâu hơn. Các mở rộng điển hình bao gồm:
- Mở rộng Bắt quân: tăng độ sâu tìm kiếm trong các chuỗi bắt quân
- Mở rộng Chiếu: tăng độ sâu tìm kiếm khi chiếu tướng đối phương
- Mở rộng Bắt lại: tăng độ sâu tìm kiếm khi bắt lại quân
33.2 Đặc điểm Chiến thuật của Pháo và Sự Thích ứng của Máy đánh cờ
Pháo là quân cờ độc đáo nhất trong cờ tướng. Khả năng “bắt cóc cầu” của nó (bắt quân bằng cách nhảy qua một quân khác) không có đối tác trong cờ quốc tế, đòi hỏi xử lý đặc biệt trong triển khai máy đánh cờ:
Sinh nước đi cho Pháo: Các nước đi của Pháo bao gồm nước đi không bắt quân (di chuyển theo đường thẳng, không thể nhảy qua quân) và nước đi bắt quân (đi thẳng qua một quân “chắn” để bắt). Trong máy đánh cờ, việc sinh các nước đi bắt quân của Pháo yêu cầu:
- Kiểm tra tất cả các hướng dọc theo hàng/cột của Pháo
- Đối với mỗi hướng, tìm quân đầu tiên (quân chắn/xe chở)
- Tìm quân đầu tiên sau quân chắn (quân mục tiêu)
- Kiểm tra xem quân mục tiêu có thuộc về đối phương không
- Nếu có, sinh một nước đi bắt quân
Đánh giá Pháo: Giá trị của Pháo thay đổi đáng kể ở các vị trí khác nhau:
- Trong khai cuộc và khi có nhiều quân trên bàn, giá trị của Pháo cao hơn (vì có sẵn quân chắn)
- Trong cuối cuộc với ít quân hơn, giá trị của Pháo giảm (ít quân chắn hơn)
- Khi phối hợp với Sĩ và Tượng, khả năng tấn công của Pháo tăng lên
- Khi đối phương thiếu Sĩ và Tượng hoặc phòng thủ không đầy đủ, khả năng chiếu bí của Pháo được cải thiện rất nhiều
Các mạng NNUE có thể học các mô hình đánh giá này, nhưng trong đánh giá thủ công truyền thống, các nhà phát triển cần điều chỉnh thủ công các trọng số đánh giá của Pháo dựa trên kinh nghiệm.
33.3 Logic Đánh giá Khác nhau cho Mã và Pháo trong Máy đánh cờ
Mặc dù Mã và Pháo có giá trị vật chất tương tự nhau (thường Mã ~4.5 điểm, Pháo ~5 điểm), các đặc điểm chiến thuật của chúng rất khác nhau, và các hàm đánh giá của máy đánh cờ cần xử lý chúng riêng biệt:
Đặc điểm đánh giá của Mã:
- Giá trị của Mã cao hơn một chút trong cuối cuộc so với Pháo (vì không có hạn chế về quân chắn)
- Hạn chế “cản chân” (chân bị chặn) của Mã ảnh hưởng đến khả năng di chuyển của nó
- Di chuyển của Mã có đặc điểm “kiểm soát điểm đến” (có thể đến 8 vị trí khác nhau)
- Giá trị của Mã tăng lên khi qua sông (vào lãnh thổ đối phương)
- “Ổ Mã” (卧槽, tấn công Tướng từ một vị trí cụ thể) có giá trị cực kỳ cao
Đặc điểm đánh giá của Pháo:
- Giá trị của Pháo cao hơn trong khai cuộc và khi mật độ quân cao
- Pháo yêu cầu một “quân chắn” để bắt, làm giảm hiệu quả khi quân thưa thớt
- Khả năng “điều khiển từ xa” của Pháo (tấn công trực tiếp tầm xa) là một giá trị chiến lược quan trọng
- Giá trị của Pháo tăng lên rất nhiều khi đối phương thiếu Sĩ và Tượng (với các mẫu tấn công đặc biệt)
Trong các máy đánh cờ đánh giá thủ công truyền thống, sự khác biệt về đánh giá giữa Mã và Pháo cần được thực hiện thông qua một số lượng lớn các tham số đặc trưng chi tiết. Trong các máy đánh cờ NNUE, những khác biệt này có thể được tự động học từ dữ liệu huấn luyện.
33.4 Cải thiện Đánh giá Tốt trong NNUE
Tốt (Binh) là một trong những quân cờ đặc biệt nhất trong cờ tướng:
- Trước khi qua sông: chỉ có thể tiến về phía trước, không thể đi ngang hoặc lùi
- Sau khi qua sông: có thể tiến về phía trước hoặc đi ngang, nhưng không thể lùi
- Giá trị Tốt: cực kỳ thấp trong khai cuộc (~1 điểm), có thể đạt 2-3 điểm cho một Tốt đã qua sông trong cuối cuộc
Mô hình hóa Tốt trong đánh giá NNUE: Trong các mạng NNUE, giá trị của Tốt được tự động học từ dữ liệu huấn luyện. Trong đánh giá truyền thống, giá trị của Tốt yêu cầu các nhà phát triển tự thiết lập các bảng trọng số vị trí — giá trị của mỗi Tốt tại mỗi vị trí trên bàn cờ cần được tinh chỉnh cẩn thận. Các mạng NNUE có thể tự động học:
- Các giá trị Tốt khác nhau ở mỗi bên sông
- Sự khác biệt về giá trị giữa các đội hình Tốt khác nhau (Tốt liên kết, Tốt đối đầu, Tốt tiến sâu, v.v.)
- Sự thay đổi giá trị khi Tốt phối hợp với các quân khác
- Sự thay đổi giá trị của Tốt qua các giai đoạn khác nhau của ván cờ (khai cuộc, trung cuộc, cuối cuộc)
Sự khác biệt giữa NNUE và đánh giá thủ công: Đánh giá thủ công yêu cầu các nhà phát triển tự tay thiết kế các bảng trọng số vị trí, thường đòi hỏi nhiều lần thử sai và điều chỉnh. NNUE tự động học các trọng số thông qua huấn luyện, chỉ yêu cầu dữ liệu huấn luyện chất lượng cao. Ưu điểm của đánh giá NNUE nằm ở khả năng đánh giá chính xác và toàn diện hơn — nó có thể phát hiện các mô hình đánh giá tinh tế mà khó có thể mã hóa trong đánh giá thủ công.
Chương 34 Diễn đàn Qizhong: Thời kỳ Hoàng kim và Hệ sinh thái Hoàn chỉnh của Cộng đồng Máy đánh cờ
34.1 Cấu trúc Chuyên mục Hoàn chỉnh của Diễn đàn Qizhong
Cấu trúc chuyên mục hoàn chỉnh của Diễn đàn Qizhong (qqzze.com) như sau, cùng nhau tạo thành hệ sinh thái hoàn chỉnh của cộng đồng máy đánh cờ tướng:
Các chuyên mục thảo luận và trao đổi:
- Khu vực Trao đổi Phần mềm Cờ tướng: thảo luận về kinh nghiệm sử dụng các phần mềm cờ tướng khác nhau
- Khu vực Thảo luận Khai cuộc: tạo, kiểm tra và chia sẻ khai cuộc
- Khu vực Thảo luận Biên bản Ván đấu: công bố và thưởng thức các biên bản ván đấu cao cấp
- Khu vực Thảo luận Chơi Trực tuyến: thảo luận về các nền tảng trực tuyến như Yitian
Các chuyên mục kỹ thuật và tài nguyên:
- Khu vực Phát hành Máy đánh cờ: khu vực dành riêng cho các nhà phát triển công bố phiên bản mới
- Khu vực Trao đổi Kỹ thuật: thảo luận chuyên sâu về công nghệ phát triển máy đánh cờ
- Khu vực Công nghệ Lập trình: thảo luận về ngôn ngữ lập trình, thuật toán, cấu trúc dữ liệu và các công nghệ nền tảng khác
- Khu vực Chia sẻ Tài nguyên: chia sẻ thư viện biên bản ván đấu, khai cuộc, công cụ máy đánh cờ
Các chuyên mục quản lý và hành chính:
- Khu vực Quản lý Trang web: quản trị diễn đàn và thông báo
- Khu vực Góp ý và Phản hồi: góp ý của người dùng cho diễn đàn
- Khu vực Điều hành: xử lý các công việc của diễn đàn
34.2 Các Loại Bài viết và Văn hóa Cộng đồng của Diễn đàn Qizhong
Diễn đàn Qizhong đã phát triển một văn hóa cộng đồng độc đáo, với các loại bài viết bao gồm:
Bài viết chia sẻ kỹ thuật: Các bài viết kỹ thuật được các nhà phát triển máy đánh cờ chia sẻ trên diễn đàn thường chứa các giải thích kỹ thuật chi tiết, chẳng hạn như:
- “Chi tiết Triển khai Tìm kiếm PVS”
- “Cách Tối ưu hóa Sinh nước đi Cờ tướng”
- “Lựa chọn và Cân bằng Tập dữ liệu Huấn luyện NNUE”
Bài viết về phiên bản máy đánh cờ:
- “Bản phát hành Cyclone Mới nhất và Nhật ký Thay đổi”
- “Kiểm tra So sánh Phiên bản Mingshou 4 lõi vs 6 lõi”
- “Kiểm tra Hiệu năng Xiaochong Xiangqi trên Nền tảng Android”
Bài viết kiểm tra so sánh: Các bài viết kiểm tra so sánh từ những người kiểm tra trong cộng đồng thường rất chi tiết, bao gồm:
- Môi trường kiểm tra (model CPU, kích thước bộ nhớ, hệ điều hành)
- Cấu hình kiểm tra (kiểm soát thời gian, khai cuộc, kích thước bảng băm)
- Kết quả kiểm tra (tỷ lệ thắng, độ sâu tìm kiếm trung bình, thời gian suy nghĩ trung bình)
- Ví dụ ván đấu điển hình (cho thấy hiệu năng máy đánh cờ trong các vị trí khác nhau)
Bài viết tạo khai cuộc: Những người tạo khai cuộc sẽ công bố:
- Phiên bản khai cuộc mới
- Kết quả kiểm tra cho các biến khai cuộc khác nhau
- Cập nhật khai cuộc dựa trên các ván đấu đại kiện tướng mới nhất
34.3 Các Phe phái Kỹ thuật và Tranh luận trong Diễn đàn
Trong suốt quá trình phát triển của cộng đồng máy đánh cờ tướng, nhiều phe phái kỹ thuật đã xuất hiện trên diễn đàn, tham gia vào các cuộc tranh luận sôi nổi:
Phe “Tìm kiếm trước” vs “Đánh giá trước”:
- Phe “tìm kiếm trước” cho rằng việc cải thiện sức mạnh máy đánh cờ chủ yếu đến từ các cải tiến thuật toán tìm kiếm (tỉa tốt hơn, tìm kiếm sâu hơn)
- Phe “đánh giá trước” cho rằng việc cải thiện sức mạnh máy đánh cờ chủ yếu đến từ các cải tiến hàm đánh giá (đánh giá vị trí chính xác hơn)
Phe “Phát triển độc lập” vs “Chuyển đổi thích ứng”:
- Phe “phát triển độc lập” chủ trương phát triển máy đánh cờ từ đầu, hiểu và kiểm soát hoàn toàn mọi chi tiết kỹ thuật
- Phe “chuyển đổi thích ứng” cho rằng dựa trên mã nguồn mở xuất sắc hiện có (như Stockfish) là một con đường hiệu quả hơn
Phe “Dựa trên Kiểm tra” vs “Dựa trên Lý thuyết”:
- Phe “dựa trên kiểm tra” xác nhận hiệu quả cải thiện thông qua kiểm tra ván đấu mở rộng
- Phe “dựa trên lý thuyết” hướng dẫn cải thiện thông qua phân tích lý thuyết cờ và hiểu biết vị trí
Những cuộc tranh luận này phản ánh chiều sâu và sức sống của cộng đồng máy đánh cờ tướng, thúc đẩy sự phát triển kỹ thuật đa dạng.
Chương 35 Sự Tiến hóa của Tìm kiếm Alpha-Beta trong Cờ tướng
35.1 Triển khai Alpha-Beta Cơ bản
Tìm kiếm Alpha-Beta là thuật toán tìm kiếm cốt lõi nhất trong các máy đánh cờ tướng. Từ góc độ học thuật, Alpha-Beta là một thuật toán tỉa cải tiến so với Minimax.
Luồng Alpha-Beta Cơ bản:
function AlphaBeta(position, depth, alpha, beta, color):
1. Nếu depth = 0 hoặc vị trí là kết thúc, trả về giá trị đánh giá
2. Sinh tất cả các nước đi hợp lệ
3. Với mỗi nước đi:
a. Thực hiện nước đi để có được vị trí mới
b. Gọi AlphaBeta(vị trí mới, depth-1, -beta, -alpha, -color)
c. Phủ định giá trị trả về
d. Nếu giá trị trả về > alpha, cập nhật alpha
e. Nếu alpha >= beta, tỉa (prune)
4. Trả về alpha
Hiệu quả của Alpha-Beta phụ thuộc vào thứ tự nước đi:
- Nếu nước đi tốt nhất được tìm kiếm trước, số nút Alpha-Beta xấp xỉ O(b^(d/2))
- Nếu nước đi tồi tệ nhất được tìm kiếm trước, nó suy biến thành O(b^d) (giống như Minimax)
35.2 Sự Tiến hóa của các Chiến lược Sắp xếp Nước đi
Các chiến lược sắp xếp nước đi trong máy đánh cờ tướng đã phát triển qua các giai đoạn sau:
Thời kỳ đầu (kỷ nguyên Jiangzu, Qiyin):
- Các nước đi bắt quân trước (sắp xếp theo thứ tự giảm dần giá trị bắt: chiếu > bắt Xe > bắt Mã/Pháo > bắt Sĩ/Tượng > bắt Tốt)
- Các nước đi không bắt quân theo thứ tự ngẫu nhiên
Thời kỳ giữa (kỷ nguyên Cyclone, Mingshou):
- Giới thiệu ưu tiên nước đi tốt nhất từ bảng chuyển vị
- Giới thiệu Nước đi Sát thủ (Killer Move) — nước đi ở cùng độ sâu gây ra nhiều lần tỉa nhất
- Giới thiệu Heuristic Lịch sử (History Heuristic) — ghi lại tỷ lệ thành công của mỗi nước đi trong các tìm kiếm lịch sử
- Các nước đi bắt quân được sắp xếp bằng SEE (Đánh giá Trao đổi Tĩnh)
Thời kỳ hiện đại (kỷ nguyên Pikafish):
- Sử dụng các chiến lược sắp xếp nước đi tinh vi hơn, kết hợp bảng chuyển vị, nước đi sát thủ, heuristic lịch sử, SEE và các nguồn thông tin khác
- Bộ đếm heuristic lịch sử tăng lên, phân biệt các giá trị lịch sử theo chiều “nguồn + vị trí đích”
- Giới thiệu Lịch sử Bắt quân (Capture History) để đánh giá chất lượng của các nước đi bắt quân
- Sử dụng “tìm kiếm cửa sổ không” (zero-window search) trong PVS để xác nhận các giả định
35.3 Sự Thích ứng của các Kỹ thuật Tỉa Chính trong Cờ tướng
Sự thích ứng của Tỉa Null-Move (Null-Move Pruning):
Ý tưởng cơ bản của Tỉa Null-Move là: nếu đối phương có thể thực hiện hai nước đi liên tiếp và thế cờ của mình vẫn không bất lợi, thì vị trí hiện tại không yêu cầu tìm kiếm sâu.
Trong cờ tướng, Tỉa Null-Move phải được sử dụng một cách thận trọng:
- Không thể sử dụng trong các vị trí nguy cấp khi Tướng bị kẹt (tình huống “Tướng bay” — khi một bên không có nước đi và hai Tướng đối mặt nhau)
- Trong giai đoạn cuối cuộc, cần giảm tính hung hăng của Tỉa Null-Move (vì mỗi nước đi có giá trị hơn trong cuối cuộc)
- Cần đặt một ngưỡng an toàn cho Tỉa Null-Move (giá trị R, thường là 2-3 nửa nước)
Sự thích ứng của LMR (Giảm Nước đi Muộn) trong Cờ tướng:
LMR giảm độ sâu tìm kiếm cho các nước đi được sắp xếp muộn, vì các nước đi ở cuối thứ tự thường có chất lượng thấp hơn và không xứng đáng được tìm kiếm đầy đủ.
Trong cờ tướng, việc thích ứng LMR cần xem xét:
- LMR sử dụng các mức giảm khác nhau cho nước đi bắt quân và nước đi không bắt quân
- LMR nên bị vô hiệu hóa trong các vị trí chiếu (vì các nước đi chiếu có thể tạo ra các hiệu ứng bất ngờ)
- Mức giảm của LMR có thể được điều chỉnh linh hoạt dựa trên độ sâu tìm kiếm
Sự thích ứng của SEE (Đánh giá Trao đổi Tĩnh):
SEE đánh giá lãi hoặc lỗ ròng của một chuỗi trao đổi bắt quân, được sử dụng để xác định xem một nước đi bắt quân có thuận lợi hay không.
Sự thích ứng trong cờ tướng:
- Xác định thứ tự bắt quân: dựa trên giá trị quân (Tướng > Xe > Mã/Pháo > Sĩ/Tượng > Tốt)
- Xử lý đặc biệt cho việc bắt cóc cầu của Pháo trong SEE: Pháo không bắt trực tiếp mà gián tiếp thông qua một quân chắn
- Tướng không thể bắt quân đang chiếu của đối phương (vì Tướng không thể bị lộ ra trước sự chiếu tướng)
35.4 Làm sâu Lặp (Iterative Deepening) và Quản lý Thời gian
Làm sâu Lặp là chiến lược tìm kiếm tiêu chuẩn cho các máy đánh cờ tướng:
Luồng làm sâu lặp cơ bản:
- Bắt đầu tìm kiếm từ depth = 1
- Sau khi hoàn thành mỗi lớp, kiểm tra thời gian còn lại
- Nếu còn thời gian, depth++, tiếp tục tìm kiếm
- Nếu sắp hết thời gian, trả về nước đi tốt nhất hiện tại
Ưu điểm của làm sâu lặp:
- Kiểm soát thời gian — có thể trả về nước đi tốt nhất bất cứ lúc nào
- Làm nóng bảng chuyển vị — kết quả từ tìm kiếm nông (PV, giá trị đánh giá) có thể được sử dụng bởi tìm kiếm sâu hơn
- Ổn định tìm kiếm — tránh các biến động mạnh khi “tìm kiếm nông nghĩ là tốt, tìm kiếm sâu nghĩ là xấu”
Chiến lược quản lý thời gian: Quản lý thời gian của máy đánh cờ tướng cần xem xét:
- Thời gian suy nghĩ được phân bổ cho mỗi nước đi (dựa trên thời gian còn lại và số nước dự kiến)
- Chiến lược ngắt tìm kiếm (làm thế nào để dừng tìm kiếm một cách nhẹ nhàng trước khi hết giờ)
- Xử lý khẩn cấp (như quản lý thời gian sau khi đối phương suy nghĩ lâu)
Chương 36 Phân tích Ván đấu Thực tế giữa Pikafish và các Máy đánh cờ Khác
36.1 So sánh Sức mạnh Giữa Pikafish và các Máy đánh cờ Thương mại
Thông qua hàng trăm ván đấu kiểm tra so sánh do những người kiểm tra trong cộng đồng thực hiện, so sánh sức mạnh giữa Pikafish và các máy đánh cờ thương mại như sau:
Môi trường kiểm tra:
- CPU: Intel Core i9-13900K (24 lõi)
- Bộ nhớ: 32GB
- Kiểm soát thời gian: 15 giây/nước + 0.5 giây/nước
- Khai cuộc: Khai cuộc tiêu chuẩn thống nhất (không sử dụng khai cuộc đám mây để tránh ảnh hưởng của độ trễ mạng)
- Các máy được kiểm tra: Pikafish mới nhất vs Xiangqi Cyclone mới nhất, Xiangqi Mingshou thương mại, v.v.
Kết quả kiểm tra:
Pikafish vs Xiangqi Cyclone (phiên bản NNUE):
- Tỷ lệ thắng của Pikafish: khoảng 52-55% (nhỉnh hơn một chút dưới hầu hết các điều kiện kiểm soát thời gian)
- Đánh giá: Pikafish và Cyclone phiên bản NNUE có sức mạnh tương tự nhau, với Pikafish có lợi thế nhẹ
Pikafish vs Xiangqi Mingshou (phiên bản thương mại độc quyền):
- Tỷ lệ thắng của Pikafish: khoảng 65-70% (tốt hơn đáng kể so với Mingshou)
- Đánh giá: Hàm đánh giá NNUE của Pikafish vượt trội hơn đáng kể so với đánh giá thủ công của Mingshou
Pikafish vs Xiaochong Xiangqi:
- Tỷ lệ thắng của Pikafish: khoảng 75-80% (vượt trội hơn hẳn so với Xiaochong)
- Đánh giá: Pikafish dẫn đầu đáng kể về cả hiệu quả tìm kiếm và độ chính xác đánh giá so với Xiaochong
Phân tích so sánh: Lợi thế sức mạnh của Pikafish chủ yếu đến từ:
- Độ chính xác cao của đánh giá NNUE — một lợi thế quyết định so với đánh giá thủ công
- Tối ưu hóa liên tục các thuật toán tìm kiếm — xác nhận thống kê dựa trên khung Fishtest
- Một số lượng lớn người đóng góp cho cộng đồng — các nhà phát triển phân bố toàn cầu liên tục cải thiện mã
36.2 Phân tích Ván đấu Điển hình: Pikafish vs Mingshou (2023)
Dưới đây là mô tả đơn giản hóa của một ván đấu giữa Pikafish và Xiangqi Mingshou trong điều kiện kiểm tra tiêu chuẩn:
Giai đoạn khai cuộc (nước 1-10): Cả hai bên đều sử dụng khai cuộc tiêu chuẩn, với các nước đi nhất quán với lý thuyết khai cuộc chính thống. Các nước đi khai cuộc của Pikafish về cơ bản giống hệt Mingshou, không có sự khác biệt đáng kể.
Giai đoạn trung cuộc (nước 11-25):
- Ở nước 12, Pikafish thực hiện một nước đi với một ý đồ chiến thuật tinh tế (điều chỉnh lại quân), cho thấy đánh giá NNUE của nó đã nhận thấy một số lợi thế đánh giá nhỏ
- Ở nước 15, Mingshou chọn cách tiếp cận “vững chắc” trong khi Pikafish chọn cách tiếp cận “tích cực”
- Khoảng nước 20, Pikafish thiết lập một lợi thế vị trí nhỏ thông qua một loạt các tổ hợp chiến thuật (lợi thế khoảng +0.5 Tốt)
Giai đoạn cuối cuộc (nước 26-60):
- Pikafish duy trì lợi thế của mình trong cuối cuộc, dần dần mở rộng khoảng cách dẫn đầu thông qua các nước đi chính xác
- Mingshou không có sai lầm rõ ràng trong cuối cuộc, nhưng độ chính xác đánh giá của nó kém hơn so với Pikafish, với nhận định không đủ chính xác trong các vị trí tinh tế
- Cuối cùng ở nước 58, Pikafish thực hiện chiếu bí để giành chiến thắng
Phân tích:
- Đánh giá NNUE của Pikafish vượt trội hơn so với đánh giá thủ công của Mingshou trong việc đánh giá các vị trí tinh tế
- Độ sâu tìm kiếm của Pikafish tương đương với Mingshou (trong cùng điều kiện phần cứng)
- Lựa chọn nước đi của Pikafish “tích cực” hơn và “hung hăng” hơn
Chương 37 Chuyển đổi Đa nền tảng và Tối ưu hóa Hiệu năng của Máy đánh cờ
37.1 Từ Máy tính để bàn đến Di động
Việc chuyển đổi đa nền tảng của các máy đánh cờ tướng đã trải qua một quá trình tiến hóa kỹ thuật từ máy tính để bàn sang di động:
Kỷ nguyên máy tính để bàn (Thập niên 1990-2010):
- Hầu như tất cả các máy đánh cờ đều được phát triển cho nền tảng Windows x86
- Được viết bằng C/C++, gọi trực tiếp Windows API
- Không hỗ trợ kiến trúc ARM
Sự xuất hiện của kỷ nguyên di động (Thập niên 2010-2020):
- Sự trỗi dậy của các nền tảng iOS và Android đã tạo ra những nhu cầu mới
- Xiaochong Xiangqi là một trong những máy đánh cờ thương mại đầu tiên phát hành phiên bản Android
- Pikafish cung cấp phiên bản WebAssembly có thể chạy trong trình duyệt
Triển khai máy đánh cờ WebAssembly:
WebAssembly (WASM) đã làm cho việc chạy máy đánh cờ trong trình duyệt trở nên khả thi. Pikafish đã được biên dịch thành công thành phiên bản WASM có thể chạy trong các trình duyệt hiện đại:
Ưu điểm của triển khai WASM:
- Khởi động tức thì — không cần cài đặt phần mềm
- Đa nền tảng — chạy trên tất cả các trình duyệt hỗ trợ WASM
- Bảo mật — WASM chạy trong hộp cát của trình duyệt
- Tích hợp liền mạch với giao diện web
Thách thức của triển khai WASM:
- Giảm hiệu năng — hiệu năng WASM xấp xỉ 80-90% của mã gốc
- Hạn chế về bộ nhớ — quản lý bộ nhớ WASM kém linh hoạt hơn so với gốc
- Hỗ trợ đa luồng hạn chế — hỗ trợ đa luồng của WASM vẫn đang phát triển
37.2 Tối ưu hóa SIMD của Suy luận NNUE
Quá trình suy luận của mạng đánh giá NNUE có thể được song song hóa cao, làm cho nó đặc biệt phù hợp cho tối ưu hóa SIMD:
Tối ưu hóa AVX2: Suy luận NNUE của Pikafish sử dụng tập lệnh AVX2 để tăng tốc, với các điểm tối ưu chính bao gồm:
- Nhân ma trận-vector (lan truyền thuận của các lớp kết nối đầy đủ)
- Các hàm kích hoạt (triển khai vector hóa của Clipped ReLU)
- Triển khai SIMD của các cập nhật gia tăng
Tối ưu hóa ARM NEON: Trên Apple Silicon và các thiết bị Android ARM, suy luận NNUE sử dụng tập lệnh NEON:
- Cùng vector hóa cho nhân ma trận và các hàm kích hoạt
- Logic thuật toán giống hệt AVX2, nhưng sử dụng các lệnh khác nhau
So sánh hiệu năng: Trong điều kiện phần cứng tương đương, tốc độ suy luận NNUE cho các phiên bản tập lệnh khác nhau:
| Phiên bản Tập lệnh | Tốc độ Suy luận | Hiệu năng Tương đối |
|---|---|---|
| SSE3 | 1.0x (cơ sở) | 100% |
| AVX2 | ~1.3x | ~130% |
| AVX512 | ~1.5x | ~150% |
| ARM NEON | ~1.2x | ~120% |
Chương 38 Ảnh hưởng Học thuật của Máy đánh cờ Tướng
38.1 Ứng dụng của Máy đánh cờ Tướng trong Giáo dục AI
Các máy đánh cờ tướng được sử dụng rộng rãi trong giáo dục trí tuệ nhân tạo và khoa học máy tính:
Ví dụ giảng dạy:
- Thuật toán tìm kiếm: Tìm kiếm Minimax, tỉa Alpha-Beta, làm sâu lặp
- Hàm đánh giá: kỹ thuật đặc trưng, tối ưu hóa trọng số
- Kỹ thuật băm: Băm Zobrist, bảng chuyển vị
- Tính toán song song: tìm kiếm đa luồng, tính toán phân tán
- Mạng nơ-ron: kiến trúc NNUE, cập nhật gia tăng
Bố trí khóa học điển hình: Nhiều trường đại học tích hợp các dự án phát triển máy đánh cờ tướng trong các khóa học “Trí tuệ Nhân tạo” hoặc “Chơi Cờ Máy tính” của họ:
Tuần 1: Giới thiệu dự án và luật chơi cơ bản (giới thiệu luật cờ tướng, phương pháp biểu diễn vị trí) Tuần 2: Bộ sinh nước đi (sinh nước đi cho các loại quân khác nhau, kiểm tra tính hợp lệ) Tuần 3: Hàm đánh giá (giá trị vật chất, giá trị vị trí, đánh giá khả năng di chuyển) Tuần 4: Thuật toán tìm kiếm (tỉa Alpha-Beta, làm sâu lặp) Tuần 5: Tìm kiếm nâng cao (bảng chuyển vị, tỉa null-move, LMR) Tuần 6: Giao thức UCCI và tích hợp GUI Tuần 7: Tối ưu hóa và kiểm tra máy đánh cờ Tuần 8: Trình bày dự án cuối kỳ
38.2 Tình trạng Công bố Bài báo Học thuật
Từ những năm 2000 đến nay, các bài báo học thuật về engine Cờ Tướng (Xiangqi) cho thấy sự phân bố sau:
Các hướng nghiên cứu chính:
- Cải tiến thuật toán tìm kiếm (~40%): cách tìm kiếm hiệu quả hơn trong Cờ Tướng
- Thiết kế hàm đánh giá (~30%): đánh giá thủ công và đánh giá NNUE
- Cài đặt luật trong engine (~10%): phát hiện chiếu dài/chase dài, v.v.
- Tìm kiếm song song và phân tán (~10%): đa luồng và tính toán phân tán
- Khai cuộc và tàn cuộc (~10%): sinh dữ liệu, quản lý và sử dụng
Khác biệt trong chiến lược bài báo giữa Trung Quốc và quốc tế:
- Bài báo quốc tế tập trung nhiều hơn vào ứng dụng “khung chơi game tổng quát” (như AlphaZero) vào Cờ Tướng
- Bài báo Trung Quốc tập trung nhiều hơn vào “chiến lược tối ưu cụ thể” (như chiến lược tỉa nhánh dành riêng cho Cờ Tướng và đặc trưng đánh giá)
38.3 Ảnh Hưởng của Engine Cờ Tướng đến Lý Thuyết Cờ
Engine Cờ Tướng không chỉ thay đổi hệ sinh thái phần mềm mà còn có tác động sâu sắc đến lý thuyết cờ:
Đổi mới trong lý thuyết khai cuộc: Sức mạnh phân tích của engine cho phép người chơi nhanh chóng xác minh chất lượng của các biến thể khai cuộc. Nhiều khai cuộc từng được “coi là khả thi theo truyền thống” đã bị engine chứng minh là không chính xác, trong khi một số khai cuộc “từng được coi là bất khả thi” đã hé lộ giá trị mới qua phân tích của engine.
Độ chính xác trong lý thuyết tàn cuộc: Việc thiết lập cơ sở dữ liệu tàn cuộc đám mây dẫn đến việc xem xét lại nhiều thế “hòa công nhận” hoặc “thắng công nhận” truyền thống trong kiến thức tàn cuộc.
Định lượng hóa đánh giá thế cờ: Đánh giá chính xác của engine (như “+0.50” cho thấy Đỏ có lợi thế nửa tốt) đã chuyển đánh giá thế cờ từ “cảm nhận” sang “định lượng.”
Chương 39 Thực Hành Kỹ Thuật Phần Mềm của Engine Cờ Tướng
39.1 Chất Lượng Mã và Quản Lý Phiên Bản
Dự án Pikafish tuân theo các thực hành tốt nhất về kỹ thuật phần mềm hiện đại trong chất lượng mã và quản lý phiên bản:
Code Review (Đánh giá mã):
- Tất cả Pull Request phải được ít nhất một người bảo trì xem xét
- Tiêu chuẩn đánh giá bao gồm: phong cách mã, tính đúng đắn của thuật toán, tác động hiệu suất
- Thảo luận đánh giá được công khai trên GitHub
Continuous Integration (CI - Tích hợp liên tục):
- Biên dịch và kiểm thử chạy tự động trên mọi commit
- Kiểm thử đa nền tảng (Windows/Linux/macOS)
- Kiểm thử đa trình biên dịch (GCC/Clang/MSVC)
Phát hành phiên bản:
- Áp dụng quản lý phiên bản ngữ nghĩa (semantic versioning)
- Phát hành phiên bản bao gồm changelog chi tiết
- Cung cấp tệp nhị phân được biên dịch sẵn để người dùng tải về
39.2 Vấn Đề Bản Quyền và Sở Hữu Trí Tuệ
Các vấn đề sở hữu trí tuệ xoay quanh engine Cờ Tướng luôn là chủ đề nhạy cảm:
Giấy phép Giao thức UCCI: Bản thân giao thức UCCI được phát hành dưới giấy phép cho phép (permissive license), cho phép bất kỳ engine nào sử dụng giao thức UCCI để giao tiếp cho bất kỳ mục đích nào.
Giấy phép LGPL của ElephantEye: ElephantEye của Huang Chen sử dụng giấy phép LGPL. Điều này có nghĩa là các tác phẩm phái sinh dựa trên mã ElephantEye phải được phát hành dưới cùng giấy phép (nếu được sử dụng như một thư viện) hoặc phải tuân thủ các yêu cầu LGPL (nếu được sử dụng như một chương trình độc lập).
Giấy phép GPLv3 của Pikafish: Pikafish sử dụng giấy phép GPLv3. Điều này có nghĩa là: bất kỳ việc phân phối Pikafish hoặc các chương trình được sửa đổi từ Pikafish phải cung cấp mã nguồn. Lựa chọn giấy phép này đảm bảo rằng trạng thái mã nguồn mở của Pikafish sẽ không thay đổi do sử dụng thương mại.
Bảo vệ sở hữu trí tuệ engine thương mại: Các engine thương mại (như Cyclone, Mingshou, Xiaochong) sử dụng giấy phép độc quyền và không công khai phát hành mã nguồn. Việc bảo vệ sở hữu trí tuệ của chúng dựa vào:
- Bảo vệ bản quyền hợp pháp
- Các biện pháp kỹ thuật như làm rối mã (code obfuscation) và chống dịch ngược
- Ủy quyền phần cứng (dongle mã hóa/số seri) để ngăn chặn sao chép bất hợp pháp
Chương 40 Lời Cảm Ơn
Việc chuẩn bị báo cáo nghiên cứu này đã tham khảo một lượng lớn tài liệu, và chúng tôi xin bày tỏ lòng biết ơn đến những người đóng góp sau:
Các nhà phát triển engine:
- Yu Xishun (Jiangzu)
- Xu Shunqin (Elephant)
- Wu Ren (Surprise)
- Tu Zhiqiang (Zongma Benliu)
- Zhao Mingyang (Xiangqi Qibing)
- Wang Jiao (Qi Tian Da Sheng)
- Chen Chaoying (Xiangqi Cyclone, Intella)
- Wei Yutao (Intella)
- Huang Chen (ElephantEye, giao thức UCCI)
- Jiang Zhimin, Zhang Min (Xiangqi Mingshou)
- Li Guolai (Jiajia Xiangqi, GGzero)
- Liu Zongyuan (Xiaochong Xiangqi)
- Daniel Tan (Orange)
Cộng đồng mã nguồn mở:
- Tất cả những người đóng góp cho dự án Pikafish (official-pikafish)
- Các nhà phát triển của cộng đồng Stockfish
- Những người đóng góp kiểm thử trên nền tảng Fishtest
Tài liệu tham khảo:
- Các bài đăng lịch sử trên Diễn đàn Qizhong (qqzze.com)
- Hồ sơ chính thức của ICGA (Hiệp hội Trò chơi Máy tính Quốc tế)
- Hướng dẫn của Huang Chen trên xqbase.com
- Cơ sở dữ liệu Cờ Tướng Đám mây (chessdb.cn)
Lời cảm ơn đặc biệt:
- Tất cả các nhà tổ chức và người tham gia các cuộc thi engine Cờ Tướng trong nước và quốc tế
Chương 41 Hạn Chế Nghiên Cứu và Công Việc Tương Lai
41.1 Hạn Chế của Nghiên Cứu Hiện Tại
Báo cáo nghiên cứu này có những hạn chế sau:
- Thông tin không đầy đủ: Nhiều chi tiết kỹ thuật của các engine đầu tiên đã bị mất hoặc không thể xác minh, dẫn đến một số mô tả kỹ thuật có thể không hoàn toàn chính xác.
- Mô tả kỹ thuật có thể trở nên lỗi thời: Công nghệ engine đang phát triển nhanh chóng và một số mô tả kỹ thuật trong báo cáo này có thể không còn áp dụng cho các phiên bản mới hơn.
- Không thể truy xuất thông tin cộng đồng: Nhiều bài đăng kỹ thuật trên các cộng đồng như Diễn đàn Qizhong không còn truy cập được, ảnh hưởng đến tính đầy đủ của hồ sơ lịch sử.
- Vấn đề “hộp đen” của engine thương mại: Bản chất độc quyền của engine thương mại có nghĩa là các mô tả về công nghệ nội bộ của chúng chỉ có thể mang tính “suy đoán.”
- Hạn chế về góc nhìn cá nhân: Báo cáo này chủ yếu được viết bởi một số ít tác giả và có thể bỏ sót một số sự kiện và nhân vật kỹ thuật quan trọng.
- Mốc thời gian mơ hồ: Ngày phát hành và thông tin phiên bản của một số engine không chính xác do thiếu hồ sơ chính thức.
41.2 Hướng Nghiên Cứu Tương Lai
Nghiên cứu trong tương lai có thể được đào sâu theo các hướng sau:
- Biên soạn lịch sử truyền miệng: Phỏng vấn và ghi chép từ các nhà phát triển engine để bổ sung “lịch sử sống” ngoài tài liệu chính thức.
- Cây tiến hóa công nghệ engine: Tổ chức có hệ thống các mối quan hệ kế thừa kỹ thuật giữa các engine (ai ảnh hưởng đến ai, phiên bản nào giới thiệu cải tiến gì).
- Phân tích hiệu suất định lượng: Thiết lập điểm chuẩn kiểm thử tiêu chuẩn hóa để đánh giá hiệu suất thống nhất của các engine qua nhiều thế hệ.
- Khai quật mã nguồn: Phân tích phiên bản có hệ thống và trích xuất kiến thức từ mã nguồn engine mở (như ElephantEye, Pikafish).
- Nghiên cứu hệ sinh thái cộng đồng: Phân tích cách thức sản xuất, phổ biến và tổ chức tri thức của cộng đồng engine Cờ Tướng từ góc độ xã hội học.
- Tổng quan có hệ thống các công trình học thuật: Tiến hành khảo sát và phân loại có hệ thống các bài báo học thuật liên quan đến engine Cờ Tướng.
41.3 Phiên Bản Báo Cáo và Cập Nhật
Báo cáo này là một “tài liệu sống” sẽ được cập nhật liên tục khi công nghệ engine Cờ Tướng phát triển. Phiên bản hiện tại là V1.0 (phiên bản sơ bộ).
Các phiên bản tiếp theo sẽ tập trung vào các cập nhật sau:
- Sự phát triển liên tục của các engine như Pikafish
- Các engine và công cụ mới nổi
- Những khám phá mới trong lịch sử cộng đồng
- Các kết quả mới trong nghiên cứu học thuật
Độc giả được khuyến khích xem báo cáo này như một công trình đang tiến triển chứ không phải là phiên bản cuối cùng. Chúng tôi hy vọng sẽ có nhiều thành viên cộng đồng hơn tham gia xây dựng hồ sơ lịch sử này, cùng nhau bảo tồn một kho lưu trữ hoàn chỉnh về lịch sử chơi cờ Cờ Tướng trên máy tính.
Mục lục
Mục lục A: Thuật ngữ
Alpha-Beta Pruning - Chương 1, Chương 32 AVX2 Instruction Set - Chương 24 CCMC - Chương 29 DTM (Distance to Mate) - Chương 13 ElephantEye - Chương 8 ELO Rating - Chương 25 FEN Format - Chương 3, Chương 23 Fishtest - Chương 11 GGzero - Chương 10 HalfKP Feature Set - Chương 11 ICGA - Chương 28 ICGA, 1989 Tournament - Chương 2, Chương 28 Lazy SMP - Chương 11 LMR (Late Move Reductions) - Chương 32 MCTS (Monte Carlo Tree Search) - Chương 10 Minimax Search - Chương 1 NNUE - Chương 11 Orange Engine - Chương 12 PVS Search - Chương 5, Chương 6 SEE (Static Exchange Evaluation) - Chương 32 SIMD Instruction Set - Chương 24 SPRT (Sequential Probability Ratio Test) - Chương 11 UCCI Protocol - Chương 3 WebAssembly - Chương 34 XQF Format - Chương 23 Zobrist Hashing - Chương 21 Pikafish - Chương 11 Binghe 54 - Chương 9 Chiếu dài/Chase dài (Long Check/Long Chase) - Chương 17, Chương 20 Xe (Rook) - Rải rác Iterative Deepening - Chương 32 Khai cuộc (Opening) - Rải rác Sách khai cuộc (Opening Book) - Xuyên suốt Null-Move Pruning - Chương 32 Mã (Horse) - Rải rác, Chương 30 Phao (Cannon) - Chương 30 Diễn đàn Qizhong - Chương 7 Qiyin - Chương 4 Qi Tian Da Sheng - Chương 5 Học tăng cường (Reinforcement Learning) - Chương 10, Chương 26 Đánh giá thủ công (Handcrafted Evaluation) - Xuyên suốt Engine thương mại (Commercial Engines) - Xuyên suốt Mạng nơ-ron (Neural Networks) - Xuyên suốt Đánh giá thủ công (Manual Evaluation) - Xuyên suốt Tiêu chuẩn hóa dữ liệu (Data Standardization) - Chương 23 Thuật toán tìm kiếm (Search Algorithms) - Xuyên suốt Xiaochong Xiangqi - Chương 10 Xiangqi Mingshou - Chương 10 Xiangqi Cyclone - Chương 6 Xiangqi Eye (ElephantEye) - Chương 8 Nước đi lặp lại (Repeating Moves) - Chương 20 Yitian Qiyuan - Chương 22 Intella (Yitian Xiangqi) - Chương 6 Giao thức engine (Engine Protocols) - Chương 3 Cơ sở dữ liệu đám mây (Cloud Database) - Chương 13 Tàn cuộc (Endgame Tablebase) - Chương 13 Sắp xếp nước đi (Move Ordering) - Chương 32 Bảng chuyển vị (Transposition Table) - Chương 21 Cơ sở dữ liệu Cờ Tướng Đám mây (Chinese Chess Cloud Database) - Chương 13 Trung cuộc (Middlegame) - Rải rác Jiangzu (Elite) - Chương 2 Zongma Benliu (ZMBL) - Chương 28
Mục lục B: Nhân vật
Yu Xishun - Chương 2 Xu Shunqin - Chương 2 Wu Ren - Chương 2 Tu Zhiqiang - Chương 2 Zhao Mingyang - Chương 5, Phụ lục Wang Jiao - Chương 5 Chen Chaoying - Chương 6, Chương 10 Wei Yutao - Chương 10 Huang Chen - Chương 3, Chương 8 Jiang Zhimin - Chương 10 Zhang Min - Chương 10 Li Guolai - Chương 10 Liu Zongyuan - Chương 10 Daniel Tan - Chương 12 Yu Nasu - Chương 11 WuSi (tác giả Binghe 54) - Chương 9 Lin Shunze (Qiyin) - Chương 4 Longjiang (người tạo sách khai cuộc) - Chương 7 He Zhaoyun (tác giả Qilu Lite) - Chương 12
Mục lục C: Phiên bản
Jiangzu - Vô địch ICGA 1989, phát hành DOS 1992 Qiyin - Phát hành 1997 Xiangqi Qibing - Vô địch ICGA 2005 Qi Tian Da Sheng - Vô địch ICGA 2006, vô địch CCMC 2006 Xiangqi Cyclone - Phiên bản đầu tiên 2005, vô địch CCMC 2008 Intella (Yitian Xiangqi) - Vô địch ICGA 2008 Xiangqi Mingshou - Vô địch CCMC 2009, thời kỳ thống trị 2010-2014 Jiajia Xiangqi - Phát hành 2009 GGzero - Nhánh RL của Jiajia Xiangqi Xiaochong Xiangqi - Vô địch ICGA 2013 Pikafish - Phát hành GitHub 2022 Pikafish phiên bản 2022-10-22 - Sửa lỗi tàn cuộc Pikafish phiên bản 2022-12-26 - Giới thiệu luật 60 nước/WDL Pikafish phiên bản 2023 - Nhiều tối ưu hóa phiên bản nhỏ Pikafish phiên bản 2024-08-31 - Kiến trúc ATT++ Pikafish phiên bản 2025-06-23 - Tối ưu hóa AVX512 Orange Engine - Phát hành 2024
Kết thúc Tài liệu
Báo cáo này sẽ được cập nhật liên tục. Phiên bản mới nhất có tại: [Chưa xác định]
Ngày báo cáo: Tháng 7 năm 2026