Stockfish và bảng cơ sở làm việc cùng nhau hoặc độc lập?


9

Tôi sử dụng Arena GUI cùng với stockfish trong các trò chơi động cơ. Tôi muốn tải xuống một bảng cơ sở 6 mảnh nhưng đó chỉ là rất nhiều công việc (và có lẽ không cần thiết). Nếu tôi tải xuống bảng cơ sở (syzygy), liệu stockfish có hoạt động với nó không hay chỉ chờ bảng có 6 miếng và sau đó bảng cơ sở thực hiện các bước di chuyển của nó?

Dưới đây là những gì tôi muốn nói chi tiết hơn

Stockfish làm việc với cơ sở

Tôi giả sử tôi có vị trí sau:

(Lưu ý: hiện tại tôi không nói về những động thái tốt nhất, chỉ là một ví dụ)

Stockfish 8 - Wais Kamal, Trò chơi cờ vua máy tính, 1-0
1. Qxd4 Rxd4 1-0

Stockfish hỏi ý kiến ​​cơ sở về những gì xảy ra sau Qxd4 Rxd4 (mà không tiếp tục đánh giá phần còn lại của dòng). Nếu dòng này là chiến thắng, nó đi cho nó.

Stockfish làm việc một mình

Stockfish tiếp tục chơi trò chơi cho đến khi sáu mảnh còn lại trên bảng, sau đó cơ sở bàn thực hiện các bước di chuyển.

Mà một trong những thực sự diễn ra?


Vị trí ban đầu là giành được cho màu trắng, nhưng bắt được nữ hoàng đen là một sai lầm nghiêm trọng. Không biết tại sao màu đen lại đầu hàng ...
Ded repeatator

Hiện tại tôi không nói về những động thái tốt nhất, chỉ là một ví dụ.
Wais Kamal

Câu trả lời:


15

chơi trò chơi cho đến khi sáu mảnh

Stockfish không làm điều đó, đó không phải là cơ sở để làm gì. Tóm lại, bảng cơ sở tăng cường tìm kiếm động cơ tốt trước khi đạt được vị trí sáu người trên bảng.

Hãy làm một bài tập, thêm bảng 5 miếng. Bây giờ bạn có 10 mảnh trên bảng, và đó không phải là thứ bạn có thể tìm thấy trong bất kỳ bảng cơ sở nào. Tuy nhiên, trong quá trình tìm kiếm động cơ bất cứ khi nào Stockfish giao dịch xuống còn 6 mảnh , nó có thể sử dụng ngay thông tin cơ sở bảng. Thông tin cơ sở bảng cho Stockfish xem vị trí đó là thắng / thua / được rút ra mà không bao giờ đi xuống bất cứ thứ gì như 5 mảnh. Do đó, việc tìm kiếm nhanh hơn và hiệu quả hơn.

BIÊN TẬP:

Mã có liên quan là https://github.com/official-stockfish/Stockfish/blob/master/src/search.cpp :

// Step 4a. Tablebase probe
if (!rootNode && TB::Cardinality)
{
    int piecesCount = pos.count<ALL_PIECES>();

    if (    piecesCount <= TB::Cardinality
        && (piecesCount <  TB::Cardinality || depth >= TB::ProbeDepth)
        &&  pos.rule50_count() == 0
        && !pos.can_castle(ANY_CASTLING))
    {

TB::Cardinalitytheo mặc định 6. Stockfish kiểm tra có bao nhiêu mảnh, nếu nó không quá 6 thì nó hỏi thông tin cơ sở bảng. Nếu không, tìm kiếm thường xuyên.


Vì vậy, stockfish có tham khảo bảng cơ sở trước khi đạt được một vị trí với 6 miếng trên bảng không?
Wais Kamal

@WaisKamal Tôi cập nhật với mã liên quan. SF kiểm tra.
SmallChess
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.