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ụ. Chương 1 Khái Niệm Cơ Bản Về Trò Chơi Cờ Máy Tính → Chương 6 Xiangqi Cyclone và Yitian Xiangqi: Cuộ…

☰ Mục lục

Chương 1 Khái Niệm Cơ Bản Về Trò Chơi Cờ Máy Tính

1.1 Trò Chơi Cờ Máy Tính Là Gì

Trò chơi cờ máy tính (Computer Game Playing) là một lĩnh vực cốt lõi của nghiên cứu trí tuệ nhân tạo. Vấn đề cơ bản có thể được phát biểu như sau: làm thế nào để máy tính đưa ra quyết định tối ưu trong một trò chơi hai người, theo lượt, với thông tin đầy đủ?

Cờ Tướng (Xiangqi) là một trò chơi thông tin đầy đủ — cả hai bên đều có thể thấy tất cả quân cờ trên bàn, không có thông tin ẩn. Điều này về cơ bản khác với các trò chơi thông tin không đầy đủ như Mạt Chược hay Poker. Bản chất của trò chơi thông tin đầy đủ cho phép áp dụng trực tiếp thuật toán tìm kiếm Minimax.

1.2 Tìm Kiếm Minimax và Tỉa Alpha-Beta

Tìm kiếm Minimax là nền tảng lý thuyết của trò chơi cờ máy tính. Ý tưởng cơ bản là: trong một cây trò chơi, mỗi tầng đại diện cho một quyết định đi của một người chơi, giả định cả hai bên đều chọn nước đi có lợi nhất cho mình:

  • Bên được đi (MAX) chọn nước đi có giá trị đánh giá cao nhất
  • Đối thủ (MIN) chọn nước đi có giá trị đánh giá thấp nhất (điều có lợi nhất cho đối thủ làm cho giá trị đánh giá có vẻ thấp hơn đối với bên được đi)

Điều này có thể được biểu diễn bằng toán học:

Minimax(vị trí) = max qua tất cả các nước đi của đối thủ của Minimax(kết quả nước đi của đối thủ)

Tìm kiếm Minimax là tối ưu về mặt lý thuyết, nhưng trong thực tế, kích thước của cây trò chơi tăng theo cấp số nhân với độ sâu tìm kiếm. Hệ số phân nhánh trung bình của Cờ Tướng là khoảng 40–60 nước đi hợp lệ — nghĩa là tìm kiếm đến độ sâu 10 đòi hỏi đánh giá 40^10 ≈ 10^16 nút, điều không khả thi trên bất kỳ máy tính nào.

Sự ra đời của Tỉa Alpha-Beta đã giải quyết vấn đề này. Ý tưởng cốt lõi của tỉa Alpha-Beta là: khi đang tìm kiếm một nhánh, nếu phát hiện nhánh này không còn có thể ảnh hưởng đến quyết định cuối cùng, hãy dừng khám phá nhánh đó ngay lập tức.

Cơ chế:

  • Giá trị Alpha đại diện cho giá trị đảm bảo tốt nhất hiện tại của người chơi MAX (cận dưới)
  • Giá trị Beta đại diện cho giá trị đảm bảo tốt nhất hiện tại của người chơi MIN (cận trên)
  • Khi một nhánh trả về giá trị nằm ngoài cửa sổ [Alpha, Beta], việc tỉa có thể xảy ra

Trong điều kiện lý tưởng, tỉa Alpha-Beta giảm độ phức tạp tìm kiếm từ O(b^d) xuống O(b^(d/2)) — tăng gấp đôi độ sâu tìm kiếm trong cùng thời gian. Đối với một trò chơi có hệ số phân nhánh cao như Cờ Tướng, hiệu quả của tỉa Alpha-Beta là cực kỳ đáng kể.

1.3 Nghiên Cứu Tiên Phong Về Engine Cờ

Sự phát triển của engine Cờ Tướng đã được hưởng lợi rất nhiều từ nghiên cứu tiên phong về engine cờ quốc tế.

Công Trình Nền Tảng Của Claude Shannon (1950):

Năm 1950, Claude Shannon của Bell Labs đã công bố bài báo mang tính bước ngoặt “Programming a Computer for Playing Chess.” Trong bài báo này, Shannon lần đầu tiên đề xuất một phương pháp có hệ thống để máy tính chơi cờ:

  1. Chiến lược Loại A (tìm kiếm vét cạn): Tìm kiếm tất cả các nước đi khả thi đến một độ sâu nhất định, sau đó đánh giá vị trí kết quả bằng hàm đánh giá.
  2. Chiến lược Loại B (tìm kiếm chọn lọc): Chỉ tìm kiếm sâu các nước đi hứa hẹn, bỏ qua các nước đi rõ ràng là xấu.

Shannon cũng đề xuất khung lý thuyết cơ bản cho tìm kiếm cây trò chơi và các nguyên tắc thiết kế hàm đánh giá vị trí. Bài báo này được coi là công trình nền tảng của lĩnh vực trò chơi cờ máy tính.

Triển Khai Sớm Của Alan Turing (1951):

Alan Turing đã thiết kế một chương trình cờ (Turochamp) trong thời gian làm việc tại Đại học Manchester. Vì không có máy tính đủ mạnh vào thời điểm đó để chạy nó, Turing chỉ có thể “mô phỏng thủ công” việc thực thi thuật toán — mỗi nước đi của ông mất khoảng 30 phút tính toán. Dù vậy, Turochamp đã chứng minh rằng cờ máy tính là khả thi về mặt nguyên lý.

Ý Nghĩa Lịch Sử Của Deep Blue (1997):

Năm 1997, Deep Blue của IBM đã đánh bại nhà vô địch thế giới Garry Kasparov trong môn cờ vua, cột mốc quan trọng nhất trong lịch sử trò chơi cờ máy tính. Deep Blue sử dụng chip VLSI tùy chỉnh có khả năng đánh giá 200 triệu vị trí mỗi giây. Kiến trúc cơ bản của nó vẫn tuân theo khuôn khổ tìm kiếm Minimax + tỉa Alpha-Beta, nhưng thông qua tối ưu hóa kỹ thuật đã đạt được tốc độ tìm kiếm chưa từng có (trong một số vị trí, độ sâu tìm kiếm có thể vượt quá 20 nửa nước đi).

Các kỹ thuật được phát triển bởi những chương trình này — Tỉa Alpha-Beta, Làm Sâu Lặp (Iterative Deepening), Bảng Chuyển Vị (Transposition Table), Heuristic Lịch Sử (History Heuristic), Nước Đi Sát Thủ (Killer Move), Tỉa Nước Đi Rỗng (Null Move Pruning) — sau đó đã được các nhà phát triển Cờ Tướng áp dụng và thích nghi.

1.4 Tại Sao Chương Trình Cờ Tướng Bắt Đầu Muộn Hơn

Không phải ngẫu nhiên mà các chương trình Cờ Tướng bắt đầu muộn hơn các chương trình cờ vua quốc tế:

  • Điều kiện phần cứng. Vào những năm 1980, tỷ lệ máy tính cá nhân ở Trung Quốc đại lục và Đài Loan thấp hơn nhiều so với phương Tây, và sức mạnh tính toán của bộ xử lý 286/386 cực kỳ hạn chế.
  • Ngôn ngữ và công cụ. Các chương trình cờ thời kỳ đầu chủ yếu được phát triển bằng C và hợp ngữ, những ngôn ngữ này lan truyền chậm hơn trong cộng đồng nói tiếng Trung.
  • Thiếu dữ liệu chuẩn hóa. Cờ vua quốc tế có định dạng chuẩn PGN, cơ sở dữ liệu ván đấu khổng lồ và hệ thống thi đấu quốc tế thống nhất. Cờ Tướng thiếu một tiêu chuẩn ký hiệu điện tử thống nhất vào những năm 1990.
  • Hỗ trợ học thuật yếu. Cờ vua quốc tế có sự hỗ trợ lâu dài từ ICGA (Hiệp hội Trò Chơi Cờ Máy Tính Quốc Tế) và một khối lượng lớn các bài báo học thuật, trong khi Cờ Tướng nhận được ít sự quan tâm hơn từ giới học thuật.
  • Hệ thống thi đấu chưa hoàn chỉnh. Cờ vua quốc tế có các giải vô địch cờ máy tính quốc tế thường xuyên và luật thi đấu chuẩn hóa. Hệ thống thi đấu máy tính Cờ Tướng thiếu một tổ chức thống nhất trong một thời gian dài.
  • Yếu tố văn hóa. Những năm 1980 trùng với Mùa đông AI, và thái độ của công chúng đối với “trí thông minh máy móc” còn bảo thủ. Trong cộng đồng Cờ Tướng, sự chấp nhận “cờ máy tính” như một hoạt động khám phá công nghệ cao cũng là một quá trình dần dần.

Mặc dù bắt đầu muộn hơn, tốc độ phát triển của engine Cờ Tướng thật đáng chú ý — từ chức vô địch đầu tiên của Jiangzu (Acer Chinese Chess) vào năm 1989 đến khi Pikafish giới thiệu NNUE vào năm 2022, chỉ trong 33 năm, engine Cờ Tướng đã tiến hóa từ trình độ nghiệp dư mới bắt đầu đến vượt qua các Đại kiện tướng (Grandmaster) con người, một tốc độ thậm chí còn nhanh hơn sự tiến hóa của các chương trình cờ vua. Sự bắt kịp nhanh chóng này có thể được quy cho hai yếu tố: thứ nhất, engine Cờ Tướng có thể trực tiếp kế thừa khuôn khổ kỹ thuật trưởng thành của engine cờ vua; thứ hai, sự phát triển nhanh chóng của phần cứng máy tính vào cuối những năm 1980 đã cung cấp cho các nhà phát triển engine Cờ Tướng một môi trường phát triển tốt hơn so với những người tiên phong về cờ vua từng đối mặt.


Chương 2 Các Chương Trình Cờ Tướng Đầu Tiên: Olympic Máy Tính 1989 và Jiangzu

2.1 Cúp Acer và Điểm Khởi Đầu Của Cờ Tướng Máy Tính (1985–1988)

Cuộc thi Cờ Tướng máy tính sớm nhất là “Cúp Acer” do Acer tổ chức tại Đài Loan, được tổ chức hàng năm từ 1985 đến 1990. Đây là nền tảng thi đấu sớm nhất cho Cờ Tướng máy tính.

Giải Cờ Tướng máy tính Cúp Acer đầu tiên năm 1985 được coi là cuộc thi chương trình Cờ Tướng có tổ chức đầu tiên trên thế giới. Theo các ghi chép lịch sử hạn chế, số lượng chương trình tham gia rất ít và sức mạnh chơi rất hạn chế, nhưng điều này đánh dấu một giai đoạn mới của Cờ Tướng máy tính — từ thử nghiệm cá nhân đến thi đấu có tổ chức. Cúp Acer được tài trợ bởi công ty máy tính Acer của Đài Loan với mục tiêu thúc đẩy các ứng dụng máy tính cá nhân và phát triển phần mềm. Loại hình tài trợ doanh nghiệp này đã đóng vai trò then chốt trong việc thúc đẩy sự phát triển phần mềm Cờ Tướng thời kỳ đầu.

Theo ghi chép của ICGA, chương trình Cờ Tướng hoạt động đầu tiên xuất hiện vào khoảng năm 1982. Bài báo học thuật đầu tiên về Cờ Tướng máy tính được công bố vào năm 1981. Nhưng những chương trình thời kỳ đầu này vẫn còn ở giai đoạn thử nghiệm và còn xa mới có thể cạnh tranh với người chơi. Các chương trình thử nghiệm sớm nhất chủ yếu là các hệ thống đơn giản dựa trên luật, với độ sâu tìm kiếm thường chỉ 2–3 nửa nước đi và hàm đánh giá rất thô sơ.

2.2 Jiangzu (Acer Chinese Chess / Xiangqi Master 3)

Jiangzu (tên tiếng Anh Acer Chinese Chess, còn gọi là CChess hoặc Xiangqi Master 3) được phát triển bởi lập trình viên Đài Loan Yu Xishun (虞希舜) trong thời gian học đại học. Chương trình đã giành huy chương vàng nội dung Cờ Tướng tại Kỳ Olympic Máy Tính lần thứ 1 (1st Computer Olympiad) tổ chức tại London năm 1989.

Giao diện chạy của Jiangzu (Acer Chinese Chess)
Giao diện chạy của Jiangzu (Acer Chinese Chess) — được phát triển bởi Yu Xishun trong thời gian học đại học, huy chương vàng tại Kỳ Olympic Máy Tính ICGA lần thứ 1 năm 1989, người tiên phong trong trò chơi Cờ Tướng máy tính

Theo hồ sơ chính thức của ICGA, nội dung Cờ Tướng tại Kỳ Olympic Máy Tính lần thứ 1 có 5 chương trình tham gia:

Hạng Chương trình Quốc gia/Vùng Điểm Tổng số ván
1 Acer Chinese Chess (Jiangzu) Đài Loan 4.0 4
2 CChess Expert Acme Đài Loan 3.0 4
3 Elephant Đài Loan 1.5 4
4 Xian Hoa Kỳ 1.5 4
5 Ogre Vương quốc Anh 0.0 4

Sản phẩm thương mại “Xiangqi Master 3” của Jiangzu được phát hành trên nền tảng DOS vào năm 1992. Sức mạnh chơi của nó được báo cáo là trên cấp độ nghiệp dư 2-đẳng (amateur 2-dan), và hiệu suất của nó trên nền tảng DOS vào thời điểm đó rất xuất sắc.

Đặc Điểm Kỹ Thuật:

Jiangzu sử dụng kiến trúc trò chơi cờ máy tính tiêu chuẩn thời bấy giờ:

  • Biểu diễn bàn cờ: Một mảng hai chiều 10×9 đại diện cho bàn cờ, mỗi ô mã hóa loại quân và màu sắc.
  • Thuật toán tìm kiếm: Tìm kiếm tỉa Alpha-Beta theo chiều sâu với Làm Sâu Lặp (Iterative Deepening). Độ sâu tìm kiếm thường từ 4 đến 7 nửa nước đi.
  • Hàm đánh giá: Chủ yếu dựa trên giá trị quân (Xe > Mã > Pháo > Tốt), kết hợp với bảng trọng số vị trí đơn giản và đánh giá tấn công/phòng thủ cơ bản.
  • Sách khai cuộc: Bao gồm một thư viện biến thể khai cuộc tương đối toàn diện, cho phép engine tránh tiêu tốn thời gian tìm kiếm trong giai đoạn khai cuộc.
  • Đặc điểm kỹ thuật: Giao diện và engine được liên kết chặt chẽ, chạy như một chương trình DOS nguyên khối. Đây là thực tiễn tiêu chuẩn vào thời điểm đó, nhưng cũng có nghĩa là engine không thể được sử dụng độc lập khỏi giao diện.

Tác Động Lịch Sử và Hạn Chế:

Jiangzu giữ một vị trí tiên phong trong lịch sử engine Cờ Tướng, nhưng có một số quan niệm sai lầm cần được điều chỉnh:

  1. Nó không phải là engine Cờ Tướng “đầu tiên” — các chương trình thử nghiệm (như Xian, Elephant) đã xuất hiện trước nó.
  2. Nó cũng không phải là engine “mạnh nhất” vào thời điểm đó — tại Kỳ Olympic Máy Tính lần thứ 2 năm 1990, Elephant (do Xu Shunqin phát triển) đã giành huy chương vàng, trong khi Jiangzu không tham gia.
  3. Đóng góp cốt lõi của nó là “khả năng phổ biến” — với tư cách là phần mềm được phát hành thương mại, “Xiangqi Master 3” đã được lưu hành rộng rãi trong cộng đồng nói tiếng Trung trong thời kỳ DOS, cho phép một số lượng lớn người dùng phổ thông lần đầu tiên trải nghiệm “cờ máy tính”.
  4. Engine-GUI kết hợp chặt chẽ — engine không thể được gọi độc lập, hạn chế sự phát triển tiếp theo của nó.

Đóng Góp Tiên Phong Của Yu Xishun:

Đóng góp quan trọng nhất của Yu Xishun với Jiangzu là ông đã tạo ra một chương trình Cờ Tướng có tính cạnh tranh trong điều kiện tài nguyên hạn chế của cuối những năm 1980. Theo thông tin công khai hạn chế, Jiangzu đã sử dụng chiến lược tìm kiếm tốt nhất có thể đạt được trên máy tính cá nhân vào thời điểm đó, với mã lõi hợp ngữ chất lượng cao. Yu Xishun sau đó đã chuyển sang các lĩnh vực khác (hồ sơ cho thấy ông đã làm việc tại Microsoft) và không tiếp tục phát triển engine Cờ Tướng. Nhưng di sản của ông — Jiangzu / Xiangqi Master 3 — giữ một vị trí không thể phai mờ trong lịch sử phần mềm Cờ Tướng.

Hộp sản phẩm phần mềm Jiangzu
Hộp sản phẩm phần mềm Jiangzu (Acer Chinese Chess) phiên bản DOS — được xuất bản bởi Acer, một trong những tựa phần mềm thương mại sớm nhất trong lịch sử Cờ Tướng máy tính

2.3 Engine Thương Mại Thời Kỳ Đầu Sau Jiangzu

Sau thành công của Jiangzu, một số tựa phần mềm Cờ Tướng thương mại thời kỳ đầu đã xuất hiện ở Đài Loan và Trung Quốc đại lục:

  • Xiangqi Shijia: Một chương trình thương mại kế thừa nền tảng của Jiangzu, được duy trì bởi Acer/Eten
  • Xiangqi Wulin: Một trong những chương trình Cờ Tướng sớm nhất ở Trung Quốc đại lục
  • Nhiều phiên bản của dòng Xiangqi Master

Đặc điểm của các chương trình thương mại thời kỳ đầu này:

  • Giao diện và engine kết hợp chặt chẽ, không thể tách rời
  • Sức mạnh chơi khoảng từ trình độ nghiệp dư mới bắt đầu đến trung cấp
  • Chủ yếu nhắm vào thị trường người tiêu dùng cá nhân
  • Chi tiết kỹ thuật thường không được công bố công khai

2.4 Quy Tắc Kỹ Thuật ICGA và Môi Trường Thi Đấu Học Thuật

Hiệp hội Trò Chơi Cờ Máy Tính Quốc Tế (ICGA) đã cung cấp một khuôn khổ tổ chức quan trọng cho các cuộc thi Cờ Tướng máy tính. Trong các cuộc thi của ICGA:

  • Sử dụng luật thi đấu Cờ Tướng chính thức (luật châu Á)
  • Thời gian thi đấu thường hào phóng (ví dụ: 1 giờ mỗi bên)
  • Cả hai bên phải sử dụng các chương trình được phát triển độc lập
  • Thể thức là vòng tròn một lượt hoặc hệ Thụy Sĩ nhiều vòng

Môi trường thi đấu ICGA đã đóng một vai trò quan trọng trong việc thúc đẩy sự phát triển học thuật của engine Cờ Tướng. Các học giả có thể so sánh hiệu quả của các thuật toán và triển khai khác nhau trong các điều kiện chuẩn hóa — cơ chế kiểm tra-xác minh này đã thúc đẩy quá trình lặp và tối ưu hóa kỹ thuật. Tuy nhiên, ngưỡng tham gia các cuộc thi ICGA tương đối cao (yêu cầu đi lại để thi đấu tại các địa điểm được chỉ định), hạn chế sự tham gia của các nhà phát triển độc lập và những người đam mê nghiệp dư.


Chương 3 Giao Thức UCCI và UCI: Bước Tiến Quan Trọng Trong Chuẩn Hóa Engine Cờ Tướng

3.1 Sự Ra Đời Của Giao Thức UCCI

Sự ra đời của giao thức UCCI (Universal Chinese Chess Interface) là một bước ngoặt quan trọng trong lịch sử engine Cờ Tướng. Trước khi UCCI tồn tại, mọi engine Cờ Tướng đều là một “hộp đen” — engine và giao diện người dùng (GUI) được kết hợp chặt chẽ với nhau, và người dùng không thể tự do hoán đổi engine hoặc giao diện.

Người Thiết Kế và Dòng Thời Gian:

Giao thức UCCI được thiết kế bởi Huang Chen (黄晨) và được công bố chính thức trên xqbase.com vào năm 2006. Huang Chen cũng là tác giả của engine ElephantEye và người duy trì trang xqbase.com. Ý định ban đầu của ông khi thiết kế giao thức UCCI là cho phép các engine Cờ Tướng khác nhau giao tiếp với bất kỳ GUI nào thông qua một giao thức văn bản chuẩn hóa, giống như các engine cờ vua đã làm.

Thiết kế của giao thức UCCI đã bị ảnh hưởng sâu sắc bởi giao thức UCI của cờ vua (Universal Chess Interface, được thiết kế bởi Stefan Meyer-Kahlen và Shane Hudson). Có thể nói, UCCI về cơ bản là UCI được thích nghi cho luật chơi Cờ Tướng.

Các Ý Tưởng Cốt Lõi Của UCCI:

UCCI sử dụng một giao thức văn bản dòng đơn giản làm định dạng giao tiếp. GUI gửi lệnh đến engine, và engine trả về kết quả. Thiết kế này có những ưu điểm sau:

  1. Độc lập giao thức: Giao tiếp dựa trên đầu vào/đầu ra tiêu chuẩn (stdin/stdout), độc lập với hệ điều hành và ngôn ngữ lập trình. Dù trên Windows, Linux hay macOS, và dù engine được triển khai bằng C++, Java hay Python, chúng đều có thể giao tiếp thông qua UCCI.

  2. Đơn giản: Mỗi lệnh và phản hồi là một dòng văn bản dễ đọc, dễ dàng gỡ lỗi và hiểu.

  3. Bất đồng bộ: Trong quá trình tìm kiếm, engine có thể gửi kết quả tìm kiếm trung gian (như nước đi tốt nhất hiện tại, độ sâu tìm kiếm, giá trị đánh giá, v.v.) đến GUI bất kỳ lúc nào.

  4. Khả năng mở rộng: Engine có thể khai báo hỗ trợ các phần mở rộng giao thức cụ thể thông qua lệnh “feature”.

Chi Tiết Các Lệnh Chuẩn UCCI:

Giao thức UCCI định nghĩa các lệnh cốt lõi sau:

  • ucci: Lệnh khởi tạo engine. GUI gửi “ucci”, engine trả lời “id name <tên engine>” và “id author <tên tác giả>”, sau đó gửi “ucciok” để cho biết quá trình khởi tạo đã hoàn tất.

  • isready / readyok: Lệnh kiểm tra đồng bộ. GUI sử dụng “isready” để xác nhận engine có đang hoạt động không, engine trả lời “readyok”.

  • setoption <tên> <giá trị>: Đặt tùy chọn engine. Ví dụ: đặt kích thước bảng băm, số luồng, tham số đánh giá và các tùy chọn tùy chỉnh khác.

  • position [[fen](/vi/xiangqi-fen/) <chuỗi FEN>] startpos moves <danh sách nước đi>: Thiết lập vị trí bàn cờ. Có thể chỉ định một chuỗi FEN (vị trí bắt đầu không xác định) hoặc sử dụng vị trí bắt đầu tiêu chuẩn. Sau đó liệt kê chuỗi các nước đi đã thực hiện.

  • go <tham số>: Bắt đầu tìm kiếm. Các tham số có thể bao gồm độ sâu tìm kiếm (depth), thời gian tìm kiếm (time/movetime), số nút (nodes), tìm kiếm vô hạn (infinite), v.v.

  • stop: Dừng tìm kiếm.

  • ponderhit: Trong chế độ suy tính trước (pondering), GUI thông báo cho engine rằng đối thủ đã đi nước mà engine đã dự đoán.

  • quit: Kết thúc tiến trình engine.

Sự Thích Nghi Của UCCI Cho Cờ Tướng:

So với UCI, UCCI thực hiện các thích nghi sau cho đặc điểm của Cờ Tướng:

  1. Định dạng nước đi: Nước đi Cờ Tướng được biểu diễn bằng định dạng tọa độ bắt đầu đến tọa độ đích (ví dụ: “a0a1”), thay vì ký hiệu đại số của cờ vua (ví dụ: “e2e4”).

  2. Định dạng FEN: Được thích nghi cho kích thước bàn cờ Cờ Tướng (9×10 thay vì 8×8) và các loại quân cờ.

  3. Xử lý luật: Lớp giao thức hỗ trợ các yêu cầu xử lý luật đặc thù của Cờ Tướng, chẳng hạn như nước đi tuần hoàn và mặt tướng đối diện.

3.2 Tác Động Thực Tế Của Giao Thức UCCI

Sự xuất hiện của giao thức UCCI đã có tác động sâu sắc đến hệ sinh thái engine Cờ Tướng:

  1. Tách biệt engine và giao diện: Từ đó, engine có thể hoạt động như một mô-đun độc lập và người dùng có thể chuyển đổi giữa các engine khác nhau trong cùng một GUI. Điều này đã tạo ra các công cụ quản lý đa engine như Binghe 54.

  2. Đơn giản hóa kiểm thử so sánh: Với một giao thức thống nhất, các nhà phát triển có thể dễ dàng so sánh sức mạnh chơi và hiệu suất của các engine khác nhau trên cùng một nền tảng, trong cùng một vị trí.

  3. Xuất hiện các công cụ mã nguồn mở: Dựa trên giao thức UCCI, cộng đồng đã phát triển một số lượng lớn các công cụ hỗ trợ và GUI, bao gồm Binghe 54, giao diện Xiangqi Cyclone, giao diện Yitian, Bộ Sưu Tập Phần Mềm Cờ (Chess Software Collector), và các công cụ khác.

  4. Cho phép tính toán phân tán: Bản chất dựa trên văn bản của giao thức UCCI làm cho nó rất phù hợp để sử dụng trong môi trường phân tán, chạy engine và GUI trên các máy khác nhau thông qua TCP/IP.

3.3 So Sánh Chuyên Sâu Giữa UCCI và UCI

Mặc dù UCCI dựa trên UCI, có một số khác biệt đáng chú ý trong kịch bản sử dụng của chúng cho việc phát triển engine Cờ Tướng và cờ vua:

Tính năng UCI (Cờ vua) UCCI (Cờ Tướng)
Kích thước bàn cờ 8×8 9×10
Loại quân 6 mỗi bên 7 mỗi bên
Ký hiệu nước đi Định dạng e2e4 Định dạng a0a1
Mô tả FEN FEN cờ vua FEN thích nghi cho Cờ Tướng
Xử lý nước đi tuần hoàn Lặp lại ba lần = hòa Phức tạp (chiếu dài / đuổi dài / chiếu một-đuổi một-tránh, v.v.)
Độ trưởng thành giao thức Phát hành 1999, cực kỳ trưởng thành Phát hành 2006, với các sửa đổi sau đó

Sự khác biệt cơ bản nhất giữa UCCI và UCI nằm ở việc xử lý phát hiện lặp lại vị trí. Trong cờ vua, lặp lại vị trí ba lần tự động là hòa; trong Cờ Tướng, các loại nước đi tuần hoàn khác nhau (“chiếu dài,” “đuổi dài,” “chiếu một lần, đuổi một lần,” v.v.) phải được phân biệt và xét xử khác nhau. Điều này có nghĩa là engine giao thức UCCI cần logic phát hiện lặp lại phức tạp hơn engine UCI.

3.4 Việc Duy Trì UCCI Của Huang Chen

Huang Chen đã duy trì đặc tả chính thức của giao thức UCCI trên xqbase.com và cung cấp một triển khai tham chiếu (ElephantEye). Ông cũng đã thiết kế và triển khai một công cụ gỡ lỗi UCCIcông cụ kiểm tra tuân thủ giao thức để giúp các nhà phát triển đảm bảo engine của họ triển khai đúng giao thức UCCI.

xqbase.com, với tư cách là trang web trung tâm cho lập trình Cờ Tướng, đã cung cấp:

  • Tài liệu hoàn chỉnh bằng tiếng Trung về giao thức UCCI
  • Mã nguồn đầy đủ của engine ElephantEye (giấy phép LGPL)
  • Hướng dẫn lập trình Cờ Tướng (bao gồm hàm đánh giá, thuật toán tìm kiếm, triển khai bảng chuyển vị và các chủ đề khác)
  • Bộ công cụ cho định dạng ký hiệu XQF

Sự đầu tư đáng kể về thời gian và công sức của Huang Chen vào UCCI và ElephantEye đã mang lại cho ông danh hiệu “Cha đẻ của Engine Cờ Tướng Mã Nguồn Mở.”

3.5 Tiêu Chuẩn Định Dạng FEN Trong Cờ Tướng

Trong giao thức UCCI, FEN (Forsyth-Edwards Notation) chính thức được giới thiệu vào lĩnh vực Cờ Tướng như một biểu diễn văn bản tiêu chuẩn của các vị trí. Định dạng FEN thích nghi cho Cờ Tướng như sau:

  • Biểu diễn bàn cờ: Từ hàng 1 (hàng hậu của quân Đen) đến hàng 10 (hàng hậu của quân Đỏ), được phân cách bằng “/”
  • Chữ in hoa (Bên Đỏ): K=Tướng (King), A=Sĩ (Advisor), B=Tượng (Bishop), N=Mã (Knight), R=Xe (Rook), C=Pháo (Cannon), P=Tốt (Pawn)
  • Chữ in thường (Bên Đen): k=Tướng, a=Sĩ, b=Tượng, n=Mã, r=Xe, c=Pháo, p=Tốt
  • Chữ số: Đại diện cho các ô trống liên tiếp
  • Các trường bổ sung: Bên được đi (w/b), khả năng nhập thành (không áp dụng trong Cờ Tướng, thường là “-”), ô bắt tốt qua đường (không áp dụng trong Cờ Tướng, thường là “-”), đồng hồ nửa nước đi, số nước đi đầy đủ

FEN của vị trí bắt đầu tiêu chuẩn:

rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNR w - - 0 1

Tập II Thời Hoàng Kim Của Engine Cờ Tướng

Chương 4 Qiyin: Cột Mốc Đầu Tiên Của Engine Cờ Tướng (1997–2000)

4.1 Sự Ra Đời Của Qiyin (Chess1)

Qiyin (tên tiếng Anh Chess1) được phát triển bởi Lin Shunze (林顺泽). Trong giai đoạn 1997–2000, nó được gọi là “Qiyin” hoặc “Chess1” trên các diễn đàn Trung Quốc. Thông tin công khai về tác giả của nó tương đối thưa thớt, nhưng chắc chắn rằng Qiyin đã thống trị thị trường phần mềm cờ tướng Trung Quốc vào cuối những năm 1990.

Sự xuất hiện của Qiyin trùng với thời kỳ máy tính cá nhân bắt đầu phổ biến ở Trung Quốc. Hệ điều hành Windows 95/98 đã cung cấp một môi trường chạy tốt hơn DOS cho Qiyin. Qiyin là một trong những tựa phần mềm cờ tướng Trung Quốc chính thống đầu tiên chạy trong môi trường Windows.

Ảnh chụp màn hình Qiyin phiên bản 4.35
Qiyin (Chess1) phiên bản 4.35 — một trong những phần mềm cờ tướng Trung Quốc phổ biến nhất vào cuối những năm 1990, giao diện Windows tiêu chuẩn, bàn cờ 3D đặc

4.2 Vị Thế Thị Trường Của Qiyin

Vị thế của Qiyin trên thị trường phần mềm cờ tướng Trung Quốc tương tự như WinBoard/ChessBase trên thị trường phần mềm cờ vua quốc tế — không nhất thiết là mạnh nhất về mặt kỹ thuật, nhưng là chương trình cờ nổi tiếng nhất và được sử dụng rộng rãi nhất vào thời điểm đó.

Các tính năng chính của Qiyin bao gồm:

  • Giao diện người dùng đồ họa Windows thân thiện
  • Sức mạnh chơi khoảng cấp độ nghiệp dư 1–2 vào cuối những năm 1990
  • Hỗ trợ ghi âm, lưu và xem lại các ván đấu
  • Một sách khai cuộc cơ bản

4.3 Tính Năng Giao Diện và Trải Nghiệm Tương Tác Người Dùng Của Qiyin

Giao diện người dùng của Qiyin áp dụng phong cách thiết kế phần mềm Windows tiêu chuẩn thời bấy giờ:

  • Thanh menu bao gồm các mục menu tiêu chuẩn như “Tệp” (File), “Sửa” (Edit), “Ván cờ” (Game), “Cài đặt” (Settings), “Trợ giúp” (Help)
  • Bàn cờ sử dụng phong cách trực quan 3D đặc (mới lạ vào thời điểm đó)
  • Quân cờ có kết cấu vân gỗ
  • Hỗ trợ hoàn tác, xem lại và chỉnh sửa ký hiệu ván đấu
  • Có engine luật tích hợp có thể phân biệt nước đi hợp lệ và không hợp lệ
  • Hỗ trợ in ký hiệu ván đấu

Những tính năng giao diện này ngày nay có vẻ bình thường, nhưng vào cuối những năm 1990, trải nghiệm người dùng của Qiyin đã vượt xa các đối thủ cùng thời.

4.4 Kiến Trúc Kỹ Thuật

Kiến trúc kỹ thuật của Qiyin phản ánh trình độ điển hình của engine cờ tướng Trung Quốc vào cuối những năm 1990:

  • Thuật toán tìm kiếm: Tỉa Alpha-Beta, làm sâu lặp, độ sâu tìm kiếm khoảng 5–8 nửa nước đi.
  • Hàm đánh giá: Dựa trên giá trị quân (Xe 10 điểm, Mã 4 điểm, Pháo 4 điểm, Sĩ 2 điểm, Tượng 2 điểm, Tốt 1 điểm), bổ sung bằng trọng số vị trí đơn giản và đánh giá cơ động của quân.
  • Sách khai cuộc: Bao gồm hàng trăm biến thể khai cuộc phổ biến.
  • Biểu diễn bàn cờ: Sử dụng mảng hai chiều 10×9, với băm vị trí quân đơn giản.
  • Đặc điểm kỹ thuật: Engine kết hợp với GUI (nhưng mô-đun hơn so với thời đại Jiangzu), vẫn được phân phối dưới dạng chương trình nguyên khối.

Mặc dù hàm đánh giá của Qiyin rất đơn giản, nhưng nó đủ để thách thức người chơi nghiệp dư vào thời điểm đó. Các hạn chế kỹ thuật của Qiyin bao gồm:

  • Không có bảng chuyển vị để tăng tốc tìm kiếm
  • Không có tỉa nước đi rỗng
  • Độ chính xác đánh giá hạn chế, đánh giá không chính xác các vị trí phức tạp

Những hạn chế này có nghĩa là sức mạnh chơi của Qiyin nhanh chóng bị vượt qua bởi thế hệ engine mới sau khi bước sang thế kỷ mới.

4.5 Sự Suy Thoái và Ảnh Hưởng Của Qiyin

Sự suy thoái của Qiyin đánh dấu sự chia tay của thế hệ phần mềm cờ tướng Trung Quốc đầu tiên. Với sự cải thiện nhanh chóng của phần cứng máy tính và thuật toán tìm kiếm, Qiyin dần được thay thế bởi các engine (như Xiangqi Qibing, Qitian Dasheng, v.v.) sau giữa những năm 2000. Nhưng tầm quan trọng lịch sử của Qiyin không thể bị bỏ qua — nó là chương trình cờ tướng đầu tiên thực sự đến được với công chúng, thúc đẩy rất nhiều việc phổ biến nghiên cứu trò chơi cờ tướng máy tính.

Tác động của Qiyin đối với hệ sinh thái phần mềm cờ tướng Trung Quốc được thể hiện ở các khía cạnh sau:

  1. Hình thành thói quen người dùng: Qiyin đã tạo dựng một cơ sở người dùng phần mềm cờ tướng rộng lớn, những người lần đầu tiên biết đến khả năng và hạn chế của “cờ máy tính” thông qua Qiyin.
  2. Hoàn thành giáo dục thị trường: Qiyin đã chứng minh giá trị thương mại của phần mềm cờ tướng, mở đường thị trường cho các engine thương mại sau này.
  3. Mầm mống văn hóa cộng đồng: Các cuộc thảo luận và chia sẻ kinh nghiệm sử dụng về Qiyin đã đặt nền móng cho các cộng đồng phần mềm cờ tướng sau này như Qizhong Forum.

Chương 5 Qitian Dasheng: Giao Điểm Giữa Học Thuật và Kỹ Thuật (2004–2006)

5.1 Bối Cảnh Phát Triển Của Qitian Dasheng

Qitian Dasheng (NEUChess) được phát triển bởi Wang Jiao (王骄) và nhóm của ông tại Đại học Đông Bắc (Trung Quốc). Qitian Dasheng là một trong những thành tựu học thuật quan trọng nhất trong lịch sử nghiên cứu trò chơi cờ tướng máy tính.

Qitian Dasheng — engine vô địch do Đại học Đông Bắc phát triển
Qitian Dasheng (NEUChess) — engine cờ tướng do nhóm của Wang Jiao tại Đại học Đông Bắc phát triển

Đại học Đông Bắc đã có một quá trình nghiên cứu tích lũy tương đối lâu dài trong lĩnh vực trí tuệ nhân tạo và trò chơi máy tính. Wang Jiao bắt đầu phát triển Qitian Dasheng vào khoảng năm 2004 như một dự án nghiên cứu của ông tại Đại học Đông Bắc. Quá trình phát triển của Qitian Dasheng thể hiện sự kết hợp giữa “nghiên cứu học thuật” và “triển khai kỹ thuật,” đóng vai trò là hình mẫu cho sự tham gia của giới học thuật vào phát triển engine cờ tướng.

5.2 Thành Tích Của Qitian Dasheng Tại ICGA và CCMC

Qitian Dasheng đã đạt được những kết quả xuất sắc trong các cuộc thi engine cờ tướng:

  1. Huy chương Vàng ICGA 2006: Tại Kỳ Olympic Máy Tính lần thứ 11 tổ chức ở Turin, Ý năm 2006, Qitian Dasheng đã đánh bại các đối thủ mạnh bao gồm Zongma Benliu với tỷ số sít sao để giành huy chương vàng. Đây là lần đầu tiên một engine cờ tướng do học thuật Trung Quốc đại lục phát triển giành chiến thắng tại một sự kiện ICGA — một cột mốc quan trọng.

  2. Vô địch CCMC 2006–2007: Giải Vô địch Trò Chơi Máy Tính Trung Quốc (CCMC) bắt đầu vào năm 2006, và nhà vô địch đầu tiên là Qitian Dasheng, engine này đã bảo vệ thành công danh hiệu vào năm 2007.

Ảnh chụp màn hình giao diện Qitian Dasheng
Giao diện engine Qitian Dasheng (NEUChess) — engine cờ tướng đại lục đầu tiên giành chiến thắng tại ICGA, do Đại học Đông Bắc phát triển
Giao diện thi đấu của Qitian Dasheng
Giao diện thi đấu của Qitian Dasheng tại sự kiện ICGA Turin 2006 — giành huy chương vàng với tỷ số sít sao trước các đối thủ mạnh như Zongma Benliu
Phân tích kỹ thuật Qitian Dasheng
Giao diện phân tích kỹ thuật của Qitian Dasheng — hàm đánh giá của nó có khả năng phán đoán xuất sắc đối với các vị trí phức tạp

Phân Tích Chiến Thuật Tại Cuộc Thi ICGA 2006:

Theo phân tích biên bản ván đấu, những lợi thế chính của Qitian Dasheng trong cuộc thi ICGA 2006 là:

  • Phán đoán trung cuộc xuất sắc — hàm đánh giá đánh giá các vị trí phức tạp tương đối chính xác
  • Chiến lược tìm kiếm hợp lý — không bỏ lỡ các đòn chiến thuật quan trọng do tỉa quá mạnh
  • Độ sâu tìm kiếm trung cuộc tương đối lớn — có thể nắm bắt cơ hội khi đối thủ mắc sai lầm

5.3 Đóng Góp Học Thuật Của Wang Jiao

Thông qua công trình nghiên cứu tại Đại học Đông Bắc, Wang Jiao không chỉ phát triển Qitian Dasheng mà còn công bố nhiều bài báo học thuật về nghiên cứu trò chơi cờ tướng máy tính, bao gồm:

  • Nghiên cứu về tối ưu hóa hiệu quả tìm kiếm trong engine cờ tướng
  • Nghiên cứu về thiết kế hàm đánh giá trong engine cờ tướng
  • Nghiên cứu về tìm kiếm song song trong engine cờ tướng

Những bài báo học thuật này đã cung cấp các tài liệu tham khảo lý thuyết quan trọng cho sự phát triển engine cờ tướng sau này. Nghiên cứu của Wang Jiao bao gồm nhiều lĩnh vực cốt lõi của engine cờ tướng, từ cải tiến thuật toán tìm kiếm đến tối ưu hóa hàm đánh giá, từ nâng cao hiệu quả máy đơn đến triển khai tìm kiếm song song. Công trình của ông đã chứng minh tính khả thi của việc phát triển engine cờ tướng như một chủ đề nghiên cứu học thuật.

5.4 Chi Tiết Kỹ Thuật Của Qitian Dasheng

Theo các bài báo học thuật công khai và thảo luận trên diễn đàn, các đặc điểm kỹ thuật của Qitian Dasheng bao gồm:

Tìm Kiếm PVS Tiên Tiến: Qitian Dasheng sử dụng PVS (Principal Variation Search), một biến thể hiệu quả của tìm kiếm Alpha-Beta. PVS hoạt động bằng cách giả định rằng biến thể đầu tiên (biến thể chính) là nước đi tốt nhất, sau đó xác minh giả định này bằng cách tìm kiếm các nhánh khác với một cửa sổ hẹp (cửa sổ rỗng).

Hàm Đánh Giá Lai: Hàm đánh giá của Qitian Dasheng kết hợp các đặc điểm tĩnh được điều chỉnh thủ công với phân tích thống kê đơn giản. Các yếu tố đánh giá bao gồm:

  • Giá trị quân (điểm cơ sở)
  • Giá trị vị trí (bảng điểm cho mỗi quân tại mỗi vị trí)
  • Tính cơ động của quân (số nước đi khả dụng)
  • Sự phối hợp quân (mối quan hệ hợp tác giữa các quân)
  • An toàn của Tướng (trạng thái bảo vệ của Tướng)
  • Cấu trúc vị trí (cấu trúc loại quân, tính toàn vẹn của Sĩ/Tượng, v.v.)

Tối Ưu Hóa Bảng Chuyển Vị: Qitian Dasheng triển khai một bảng chuyển vị, lưu vào bộ nhớ đệm các vị trí đã được tìm kiếm trước đó thông qua một bảng băm. Sự ra đời của bảng chuyển vị đã giảm đáng kể các tìm kiếm trùng lặp và cải thiện hiệu quả tìm kiếm.

Tìm Kiếm Song Song Thử Nghiệm: Qitian Dasheng đã thử nghiệm chiến lược tìm kiếm song song Young Brothers Wait, cho thấy một số khả năng mở rộng trên các máy lõi kép. Mặc dù hiệu quả song song không cao, nỗ lực này mang tính tiên phong vào thời điểm đó.

5.5 Ý Nghĩa Lịch Sử Của Qitian Dasheng

Ý nghĩa đặc biệt của Qitian Dasheng trong lịch sử phát triển engine cờ tướng nằm ở:

  1. Công nhận học thuật: Qitian Dasheng đã chứng minh rằng engine cờ tướng là một chủ đề xứng đáng được giới học thuật quan tâm, đặt nền móng cho nhiều trường đại học hơn tham gia vào nghiên cứu engine cờ tướng.
  2. Cầu nối giữa Trung Quốc đại lục và ICGA: Là engine đại lục đầu tiên giành chiến thắng tại ICGA, Qitian Dasheng đã giới thiệu sức mạnh của nghiên cứu engine cờ tướng Trung Quốc đến cộng đồng trò chơi máy tính quốc tế.
  3. Hình mẫu kế thừa kỹ thuật: Wang Jiao đã thúc đẩy việc phổ biến và kế thừa kiến thức kỹ thuật thông qua việc công bố bài báo và chia sẻ kinh nghiệm.
  4. Trình diễn cách tiếp cận kỹ thuật: Qitian Dasheng cho thấy cách kết hợp tính nghiêm ngặt của học thuật với chất lượng kỹ thuật để tạo ra một engine cờ tướng hạng nhất.

Chương 6 Xiangqi Cyclone và Yitian Xiangqi: Cuộc Đua Song Mã (2005–2008)

6.1 Sự Ra Đời Của Xiangqi Cyclone (2005)

Xiangqi Cyclone (Tornado) được phát triển bởi lập trình viên Trung Quốc Chen Chaoying (陈朝营). Xiangqi Cyclone là một trong những engine thương mại có ảnh hưởng nhất trong lịch sử engine cờ tướng.

Trang web chính thức của Xiangqi Cyclone
Trang web chính thức của Xiangqi Cyclone — engine thương mại có ảnh hưởng nhất do Chen Chaoying phát triển, sau này phát hành phiên bản NNUE Cyclone-nn

Bối Cảnh Phát Triển:

Chen Chaoying bắt đầu phát triển Xiangqi Cyclone vào khoảng năm 2005. Ông không phải là một học giả mà là một nhà phát triển cá nhân với kỹ năng lập trình mạnh mẽ và kiến thức lý thuyết cờ tướng. Các phiên bản sớm nhất của Cyclone đã sử dụng một phần mã nguồn của engine mã nguồn mở ElephantEye, nhưng Chen Chaoying nhanh chóng viết lại hoàn toàn mã lõi.

Các phiên bản đầu của Xiangqi Cyclone bắt đầu được lưu hành trong các cộng đồng như Qizhong Forum trong giai đoạn 2005–2006. Nhờ hiệu suất mạnh mẽ (đạt được độ sâu tìm kiếm tương đối lớn trên phần cứng thời đó), nó nhanh chóng thu hút sự chú ý của những người đam mê phần mềm cờ tướng.

Lịch Sử Phiên Bản:

Xiangqi Cyclone đã trải qua một số lần lặp phiên bản quan trọng:

  • Phiên bản đầu tiên (2005): Dựa trên mã ElephantEye, sử dụng tìm kiếm Alpha-Beta cơ bản
  • Cyclone V2 (2006): Viết lại toàn bộ mã, giới thiệu tìm kiếm PVS tiên tiến, cải thiện rất nhiều sức mạnh chơi
  • Cyclone V3 (2007): Giới thiệu đa luồng và tìm kiếm song song, bắt đầu giành giải thưởng trong các cuộc thi
  • Cyclone V4 (2008): Tiếp tục tối ưu hóa hàm đánh giá và thuật toán tỉa, đạt đến trình độ hàng đầu của ngành vào thời điểm đó

6.2 Kiến Trúc Kỹ Thuật Của Xiangqi Cyclone

Thành công của Xiangqi Cyclone chủ yếu là nhờ vào việc triển khai thuật toán tìm kiếm xuất sắc của nó. Các tính năng kỹ thuật chính bao gồm:

1. Tìm Kiếm PVS:

Cyclone triển khai một tìm kiếm PVS hoàn chỉnh. Ý tưởng cốt lõi của PVS là tìm kiếm các nhánh không phải biến thể chính dưới một cửa sổ rỗng, từ đó đạt được cùng một sự đảm bảo tìm kiếm với thời gian tìm kiếm ít hơn khoảng 10–20% so với Alpha-Beta ở cùng sức mạnh chơi.

2. Triển Khai Bảng Chuyển Vị Hiệu Quả:

Xiangqi Cyclone triển khai một bảng chuyển vị dựa trên băm với các tối ưu hóa sau:

  • Sử dụng băm Zobrist để tạo giá trị băm vị trí
  • Áp dụng chiến lược lưu trữ phân cấp (các loại nút Exact/Alpha/Beta)
  • Sử dụng chiến lược thay thế ưu tiên độ sâu (thay thế khi độ sâu tìm kiếm của mục nhập mới vượt quá mục nhập hiện tại)
  • Kích thước bảng băm có thể cấu hình (thường từ 64MB đến 256MB)

3. Tỉa Nước Đi Rỗng (Null Move Pruning):

Các mối đe dọa về quân và chiến thuật chủ yếu đến từ việc “thực hiện một nước đi có giá trị.” Giả định cơ bản của tỉa nước đi rỗng là: nếu bạn không thể đạt được lợi thế ngay cả khi giả định đối thủ đi hai nước liên tiếp, thì nhánh tìm kiếm đó không đáng để khám phá sâu.

Cyclone áp dụng tỉa nước đi rỗng rất mạnh mẽ, bỏ qua tới 50% nhánh tìm kiếm trong một số vị trí. Việc tỉa mạnh mẽ này mang lại cải thiện đáng kể về độ sâu tìm kiếm nhưng cũng dẫn đến sai sót đánh giá trong một số vị trí đặc biệt.

4. Heuristic Lịch Sử và Nước Đi Sát Thủ (History Heuristic và Killer Moves):

Cyclone triển khai cả hai kỹ thuật sắp xếp nước đi Heuristic Lịch Sử và Nước Đi Sát Thủ. Heuristic Lịch Sử hướng dẫn thứ tự tìm kiếm bằng cách ghi lại tỷ lệ thành công trong lịch sử của mỗi nước đi tại các vị trí khác nhau, trong khi Nước Đi Sát Thủ ghi lại các nước đi hiệu quả nhất đã gây ra việc tỉa ở cùng độ sâu tìm kiếm. Việc sử dụng kết hợp hai kỹ thuật này đã cải thiện đáng kể hiệu quả tỉa cây tìm kiếm.

5. Làm Sâu Lặp (Iterative Deepening):

Cyclone từ bỏ tìm kiếm độ sâu cố định và áp dụng hoàn toàn làm sâu lặp. Lợi ích của làm sâu lặp bao gồm:

  • Kiểm soát thời gian: có thể trả về nước đi tốt nhất hiện tại bất kỳ lúc nào
  • Làm nóng bảng chuyển vị: kết quả từ các tìm kiếm nông (như PV, giá trị đánh giá) có thể được sử dụng bởi các tìm kiếm sâu hơn
  • Ổn định tìm kiếm: làm sâu lặp ổn định hơn tìm kiếm độ sâu cố định, tránh các biến động mạnh như “tìm kiếm nông nghĩ là tốt, tìm kiếm sâu nghĩ là xấu”

6. Hàm Đánh Giá:

Hàm đánh giá của Cyclone tập trung vào các đặc điểm được điều chỉnh thủ công, bao gồm:

  • Lợi thế quân: tổng trọng số dựa trên giá trị vị trí
  • Tính cơ động: tổng trọng số của các ô khả dụng cho mỗi quân
  • An toàn của Tướng: phạm vi kiểm soát và mức độ bảo vệ xung quanh Tướng
  • Cấu trúc Tốt: đội hình Tốt, giá trị của Tốt qua sông
  • Kiểm soát khu vực: mức độ kiểm soát đối với trung tâm, biên giới sông và cung thành

6.3 Sự Trỗi Dậy Của Yitian Xiangqi (Intella)

Yitian Xiangqi (Intella) được phát triển chung bởi Chen Chaoying (陈朝营) và Wei Yutao (韦馀涛). Intella là đối thủ cạnh tranh quan trọng của Xiangqi Cyclone, tạo thành “cuộc đua song mã” trong lịch sử phát triển engine cờ tướng.

Đặc Điểm Kỹ Thuật Của Intella:

Intella áp dụng cách tiếp cận kỹ thuật tương tự nhưng khác biệt so với Cyclone:

  1. Thuật toán tìm kiếm: Intella cũng sử dụng tìm kiếm PVS, nhưng chiến lược tỉa của nó hơi thận trọng hơn, ưu tiên tìm kiếm đầy đủ hơn và đánh giá ổn định hơn.

  2. Hàm đánh giá: Hàm đánh giá của Intella nhấn mạnh khả năng “hiểu vị trí,” với đánh giá tinh tế hơn so với Cyclone trong các lĩnh vực như trao đổi quân, cân bằng vị trí và tổ hợp chiến thuật.

  3. Sách khai cuộc: Sách khai cuộc của Intella được nhóm biên soạn và duy trì thủ công, với chất lượng ở cấp độ hàng đầu trong số các engine cùng thời. Nhóm Intella đã hợp tác với nhiều kỳ thủ chuyên nghiệp để đảm bảo sách khai cuộc bao phủ tất cả các biến thể khai cuộc chính thống.

  4. Hỗ trợ đa luồng: Intella hỗ trợ tìm kiếm đa luồng lõi kép và lõi tứ, với khả năng mở rộng tốt trên các hệ thống SMP (đa xử lý đối xứng).

Sự Kiện Kiểm Tra Của Cục Thể Dục Thể Thao Nhà Nước Năm 2006:

Năm 2006, Trung tâm Quản lý Cờ và Bài của Tổng cục Thể dục Thể thao Trung Quốc đã tiến hành một bài kiểm tra sức mạnh nội bộ của phần mềm cờ tướng. Bài kiểm tra sử dụng các kỳ thủ chuyên nghiệp cấp cao để đấu với các engine. Intella đã thể hiện xuất sắc trong bài kiểm tra này, nhận được đánh giá “đạt trình độ Kiện tướng Quốc gia” (National Master). Sự kiện kiểm tra này đã được cộng đồng phần mềm cờ tướng Trung Quốc đưa tin rộng rãi, nâng cao đáng kể nhận diện thương hiệu và sự chấp nhận thị trường của Intella.

6.4 Sự Cạnh Tranh và Trao Đổi Kỹ Thuật Giữa Cyclone và Intella

Mối quan hệ cạnh tranh giữa Xiangqi Cyclone và Yitian Xiangqi khá độc đáo. Do mối quan hệ cá nhân thân thiết giữa các nhà phát triển chính (Chen Chaoying và Wei Yutao), mối quan hệ giữa Cyclone và Intella bao gồm cả cạnh tranh và hợp tác.

Trao Đổi Kỹ Thuật:

Chen Chaoying và Wei Yutao đã có các cuộc thảo luận kỹ thuật và tham khảo lẫn nhau. Trong một số chi tiết kỹ thuật, họ đã ảnh hưởng lẫn nhau (chẳng hạn như cách tiếp cận để xử lý một số vị trí đặc biệt). Tuy nhiên, sự trao đổi kỹ thuật này không công khai; cộng đồng chỉ có thể suy luận mối quan hệ giữa hai bên từ hiệu suất chơi thực tế của các engine.

Cạnh Tranh Thị Trường:

Ở cấp độ thị trường, đã có sự cạnh tranh gay gắt giữa Cyclone và Intella. Hai engine luân phiên giành chức vô địch tại các sự kiện ICGA và CCMC trong các năm khác nhau, tạo thành “cuộc đua song mã.” Sự cạnh tranh này không chỉ thể hiện ở kết quả thi đấu mà còn ở doanh số thương mại, danh tiếng người dùng và ảnh hưởng cộng đồng.

Tác Động Của Sự Cạnh Tranh:

Sự cạnh tranh lành mạnh giữa Cyclone và Intella đã đóng một vai trò quan trọng trong việc thúc đẩy sự phát triển của engine cờ tướng:

  • Cả hai bên liên tục tối ưu hóa thuật toán và hàm đánh giá để giành lợi thế cạnh tranh
  • Cạnh tranh thúc đẩy nghiên cứu kỹ thuật sâu hơn và nhiều đổi mới hơn
  • Sự quan tâm của người dùng và cộng đồng đối với các bài kiểm tra so sánh và phân tích ván đấu tăng lên, thúc đẩy thảo luận về công nghệ engine

6.5 Thành Tích Của Cyclone Tại ICGA và CCMC

Xiangqi Cyclone đã giành huy chương bạc tại sự kiện ICGA Bắc Kinh năm 2008. Sau đó, Chen Chaoying tiếp tục phát triển Xiangqi Cyclone, sau này được đổi tên thành Cyclone-nn khi bước vào kỷ nguyên NNUE.

Vào thời điểm đó, việc so sánh sức mạnh giữa Cyclone và Intella đã trở thành một chủ đề nóng trong cộng đồng. Nhưng đáng chú ý nhất, sự cạnh tranh giữa Cyclone và Intella đã thúc đẩy sự phát triển của toàn bộ hệ sinh thái engine cờ tướng. Nhờ sự cạnh tranh này, cả hai engine đều không ngừng cải thiện, mỗi engine đại diện cho trình độ cao nhất của engine cờ tướng vào thời điểm đó.

Cuộc thi ICGA 2008 được tổ chức tại Bắc Kinh, đánh dấu lần đầu tiên ICGA tổ chức một sự kiện ở Trung Quốc đại lục. Xiangqi Cyclone, với tư cách là một engine bản địa của Trung Quốc đại lục, đã giành huy chương bạc tại sự kiện này. Mặc dù thua Intella, nó đã thể hiện khả năng chiến thuật trung cuộc xuất sắc và độ sâu tìm kiếm tương đối cao trong suốt cuộc thi. Trong một số ván đấu quan trọng, Cyclone đã đánh bại các đối thủ mạnh thông qua các tổ hợp chiến thuật chính xác.

6.6 So Sánh Toàn Diện Các Engine Thời Hoàng Kim 2005–2008

2005 đến 2008 là giai đoạn hoàng kim trong sự phát triển của engine cờ tướng, với nhiều engine mang tính thời đại xuất hiện tập trung. Dưới đây là phân tích so sánh toàn diện về thế hệ engine này từ nhiều khía cạnh:

Khía cạnh XQMASTER (Xiangqi Qibing) MRSJ (Mengru Shenji) NEUChess (Qitian Dasheng) Cyclone (Xiangqi Cyclone) Intella (Yitian Xiangqi)
Năm phát hành đầu 2005 2004 2004–2005 2005 2007
Nhà phát triển Zhao Mingyang Tu Zhiqiang (ĐH Tôn Trung Sơn) Wang Jiao (ĐH Đông Bắc) Chen Chaoying Chen Chaoying + Wei Yutao
Bối cảnh phát triển Cá nhân/Thương mại Nghiên cứu học thuật (cao học) Nghiên cứu học thuật (giáo sư) Cá nhân/Thương mại Nhóm thương mại
Thuật toán tìm kiếm PVS (Principal Variation Search) Alpha-Beta nâng cao PVS + Tỉa đa cấp PVS + Null Move + LMR PVS + Tỉa nâng cao
Hàm đánh giá Đặc điểm chỉnh tay + bảng vị trí Chỉnh tay Đặc điểm chỉnh tay (6 loại yếu tố) Chỉnh tay sâu Chỉnh tay chính xác
Hỗ trợ song song Không (lõi đơn) Không (lõi đơn) Thử nghiệm (YBW) Có (lõi kép) Có (đa lõi)
Hỗ trợ giao thức Độc quyền Độc quyền Độc quyền UCCI UCCI
Mức độ mở Thương mại mã nguồn đóng Mã nguồn đóng Mã nguồn đóng (bài báo công khai) Thương mại mã nguồn đóng Thương mại mã nguồn đóng
Kết quả ICGA tốt nhất Vàng (2005) Đồng (2004) Vàng (2006, 2007) Bạc (2008) Vàng (2008)
Kết quả CCMC Vàng (2006, 2007) Vàng (2007)
Vị thế lịch sử HCV ICGA đầu tiên của Trung Quốc Người tiên phong mã nguồn mở đầu HCV ICGA đại lục đầu tiên Engine thương mại sống lâu nhất Mạnh nhất nhưng ngắn ngủi
Ưu điểm chính Đánh giá chính xác, nhạy chiến thuật Kiến trúc sạch, tư duy rõ ràng Nghiêm ngặt học thuật, tài liệu đầy đủ Thuật toán tiên tiến, tiến hóa liên tục Sức mạnh đỉnh cao, bất khả chiến bại trong thời gian ngắn
Nhược điểm chính Không song song, giao thức đóng Sức mạnh hạn chế, ngừng bảo trì Hiệu quả song song thấp, thương mại hóa yếu Giao diện thưa thớt, hạn chế kinh doanh Chu kỳ phát triển ngắn, ngừng sản xuất
Ảnh hưởng đến hậu thế Phá vỡ thế độc tôn Đài Loan Truyền cảm hứng cho con đường học thuật Di sản bài báo, giá trị giáo dục Thúc đẩy UCCI, cầu nối các thời đại Ví dụ về tối ưu hóa cực đoan
Sức mạnh đỉnh cao (ELO ước tính) ~2350 ~2100 ~2450 ~2600 ~2650
Trình độ người tương đương Kiện tướng Quốc gia Kiện tướng Tỉnh Kiện tướng Quốc gia Mạnh Kiện tướng–Đại kiện tướng Đại kiện tướng

Ghi chú: 2005–2008 là giai đoạn chuyển tiếp quan trọng của engine cờ tướng từ “có thể chơi” đến “vượt qua con người.” Trong số đó, XQMASTER đã tiên phong trong việc engine Trung Quốc giành huy chương vàng ICGA; Qitian Dasheng đưa phương pháp nghiên cứu học thuật vào phát triển engine; sự cạnh tranh giữa Xiangqi Cyclone và Intella đã đẩy sức mạnh engine lên đến trình độ của các Đại kiện tướng con người. Huy chương vàng của Intella tại ICGA 2008 đánh dấu đỉnh cao của thời hoàng kim này — sau đó, engine cờ tướng chính thức bước vào kỷ nguyên thương mại vượt qua hoàn toàn người chơi.


Tập III Kỷ Nguyên Thương Mại Của Engine Cờ Tướng