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ân Tích Hiệu Năng → Điều Kiện cho Định Lý Zermelo trong Cờ Tướng
Phân Tích Hiệu Năng
Sử dụng các công cụ phân tích hiệu năng để xác định các nút thắt cổ chai hiệu năng của engine:
Phân tích lấy mẫu: Lấy mẫu ngăn xếp cuộc gọi của chương trình ở tần số cố định để đếm thời gian thực thi của mỗi hàm.
Phân tích đo lường: Chèn các điểm phân tích trong mã nguồn để đo chính xác thời gian thực thi của mỗi hàm.
Xác định nút thắt cổ chai hiệu năng:
- Khối lượng tính toán của hàm đánh giá
- Chi phí của sinh nước đi
- Chi phí truy cập bảng băm
- Chi phí đồng bộ hóa luồng
Mức độ ưu tiên tối ưu hóa hiệu năng:
- Hàm đánh giá (thường chiếm 50-80% thời gian tính toán)
- Sinh nước đi (khoảng 10-20% thời gian tính toán)
- Logic tìm kiếm (khoảng 10-20% thời gian tính toán)
- Bảng băm (khoảng 5-10% thời gian tính toán)
Tập XVII: Nguyên Lý Toán Học của Engine Cờ Tướng
Tìm Kiếm Khả Năng (Possibility Search)
Trong tìm kiếm Alpha-Beta, khi hàm đánh giá có độ bất định, các phương pháp xác suất được sử dụng để xử lý những bất định này.
Hình thức hóa bài toán: Với một thế cờ s, có một sai số giữa đánh giá thực V(s) và đánh giá E(s) của engine. Bằng cách thiết lập một mô hình xác suất của sai số, các quyết định tỉa cành có thể được xử lý linh hoạt hơn trong quá trình tìm kiếm.
Các tình huống ứng dụng:
- Xem xét độ bất định của đánh giá trong các quyết định tỉa cành
- Lựa chọn biến tối ưu dựa trên xác suất giữa nhiều biến
- Tập trung tìm kiếm vào các vùng có xác suất cao trong quản lý thời gian
Cận Dưới của Độ Phức Tạp Cây Trò Chơi
Cận dưới lý thuyết của độ phức tạp cây trò chơi cờ tướng:
Độ phức tạp không gian trạng thái: Độ phức tạp không gian trạng thái của cờ tướng được ước tính khoảng 10^40 đến 10^50. Ước tính này xem xét tất cả các vị trí và nước đi có thể có của các quân cờ.
Độ phức tạp cây trò chơi: Độ phức tạp cây trò chơi của cờ tướng (ước tính độ dài ván đấu) khoảng 10^150. Ước tính này dựa trên hệ số phân nhánh trung bình khoảng 40 và độ dài ván đấu trung bình khoảng 60 nước đi.
Những con số này cho thấy: Phân tích hoàn toàn cờ tướng là bất khả thi trong tương lai gần. Tất cả các engine đều là “gần tối ưu”; không engine nào có thể tuyên bố đã “giải hoàn toàn” cờ tướng.
Hình Thức Hóa Bài Toán Tối Ưu Cờ Tướng
Tìm kiếm engine cờ tướng có thể được hình thức hóa như một bài toán tối ưu:
Với trạng thái bàn cờ s, tìm một nước đi m* từ tập nước đi hợp lệ M(s) để tối đa hóa giá trị đánh giá kỳ vọng trong tương lai: m* = argmax_{m in M(s)} V(s’)
trong đó s’ là vị trí sau khi đi nước m, và V là hàm đánh giá.
Do độ thiếu chính xác của hàm đánh giá V và giới hạn của độ sâu tìm kiếm, engine thực tế giải một nghiệm gần đúng: m*approx = argmax{m in M(s)} V_search(s’, depth)
trong đó V_search là hàm đánh giá gần đúng của tìm kiếm giới hạn độ sâu.
Tập XVIII: Engine Cờ Tướng và Lý Thuyết Trò Chơi
Điều Kiện cho Định Lý Zermelo trong Cờ Tướng
Định lý Zermelo phát biểu: Trong một trò chơi thông tin hoàn hảo, vị trí hữu hạn, tổng bằng không hai người chơi, hoặc người chơi thứ nhất có chiến lược thắng, hoặc người chơi thứ hai có chiến lược thắng, hoặc cả hai người chơi có chiến lược hòa.
Cờ tướng rõ ràng thỏa mãn các điều kiện của Định lý Zermelo: thông tin hoàn hảo (cả hai bên đều có thể nhìn thấy bàn cờ), vị trí hữu hạn (bàn cờ và loại quân cờ có giới hạn), hai người chơi tổng bằng không (một bên thắng và bên kia thua, hoặc cả hai hòa).
Giá trị trò chơi của cờ tướng: Theo Định lý Zermelo, giá trị trò chơi của cờ tướng hoặc là “Đỏ thắng”, “Đen thắng”, hoặc “Hòa”. Tuy nhiên, về mặt lý thuyết, cờ tướng chưa được phân tích hoàn toàn, và giá trị trò chơi thực tế chưa được biết.
Các engine cờ tướng tiếp cận giá trị trò chơi lý thuyết này thông qua tìm kiếm trong độ sâu hữu hạn.