Giải thích
Giảm độ sâu nước đi muộn, viết tắt là LMR, khai thác thứ tự nước đi. Một dùng các heuristic, tức quy tắc thực dụng và thống kê tìm kiếm tích lũy, để xem trước những lựa chọn có vẻ hứa hẹn.
Trình tự cơ bản
- Máy cờ tìm các nước được xếp tốt hơn trước và thiết lập một mốc tham chiếu tạm thời.
- Một nước yên, thường là nước không bắt quân cũng không chiếu, nằm muộn hơn nhiều trong danh sách, ban đầu được thử ở độ sâu giảm.
- Nếu phép thử trả về kết quả mạnh bất ngờ và vượt giới hạn điểm mà tìm kiếm đang dùng, nhánh được tìm lại ở độ sâu lớn hơn.
Giảm không có nghĩa là xóa. Việc kiểm tra sâu hơn rất quan trọng vì một nước thật sự mạnh có thể bị xếp sai. Mức giảm có thể phụ thuộc vào độ sâu còn lại, vị trí của nước trong danh sách, nước có chiếu hay bắt quân không, có thuộc biến chính, tức biến hiện được xem là tốt nhất, và lịch sử đã ghi của những nước tương tự hay không.
Các cách triển khai hiện đại tinh chỉnh nhiều điều kiện này. Giảm quá mạnh tiết kiệm thời gian nhưng có thể bỏ lỡ một nước yên mạnh hoặc làm trầm trọng sai số liên quan đến .
Cách dùng và ngữ cảnh
LMR là tìm kiếm chọn lọc: nó phân bổ công sức không đều thay vì áp dụng chính xác cùng một độ sâu cho mọi nhánh.
Những nhầm lẫn thường gặp
Giảm độ sâu và cắt tỉa
LMR tìm một nhánh ở độ sâu thấp hơn và có thể tìm lại. Cắt tỉa bỏ hẳn một nhánh khi điều kiện được đáp ứng.
Nước đi muộn và giai đoạn muộn của ván
Muộn chỉ vị trí của nước trong thứ tự tìm kiếm tại một nút, không phải nước được chơi gần cuối ván.
Nguồn
- 1.Late Move Reductions, Chess Programming Wiki
- 2.search.cpp, Stockfish
