Làm thế nào để tìm kiếm một cơ sở dữ liệu cờ vua cho sự hy sinh trao đổi?


8

Tôi đang tìm cách trong bất kỳ gói cờ thông thường nào để tìm kiếm một thao tác cụ thể - rook có giám mục được bảo vệ (tức là một sự hy sinh trao đổi)? Tôi đã nghe nói về CQL , nhưng chưa bao giờ sử dụng, vì vậy tôi sẽ tò mò nếu nó hỗ trợ một cái gì đó như thế này.

Câu trả lời:


7

Ngôn ngữ truy vấn cờ vua làm điều này rất tốt. Tệp .cql ngắn sau đây hoạt động giống như một cơ duyên để tìm tất cả các trò chơi trong input.pgn trong đó một bên đang trao đổi (trong khi cho phép chênh lệch số lượng cầm đồ cho mỗi bên) cho 4 lần di chuyển thẳng (được chọn để cai trị giả sử, các tình huống trong đó một chuỗi giao dịch bằng nhau xảy ra bắt đầu bằng việc một tay đua lấy một phần nhỏ hoặc các sự hy sinh giả tạm thời như vậy).

(match
    :pgn input.pgn
    :output output.pgn
    (position
    :sequence(
        (position :powerdifference [Rr] -5 -5 :powerdifference [Qq] 0 0 :powerdifference [BbNn] 3 3)
        (position :powerdifference [Rr] -5 -5 :powerdifference [Qq] 0 0 :powerdifference [BbNn] 3 3)
        (position :powerdifference [Rr] -5 -5 :powerdifference [Qq] 0 0 :powerdifference [BbNn] 3 3)
        (position :powerdifference [Rr] -5 -5 :powerdifference [Qq] 0 0 :powerdifference [BbNn] 3 3)
    )
    :flipcolor
    )
)

Giá trị điểm tiêu chuẩn cho các mảnh được sử dụng, do đó, :powerdifference [Rr] -5 -5điều kiện có nghĩa là Đen có thêm một điểm mới hơn Trắng, trong khi :powerdifference [BbNn] 3 3đảm bảo rằng Trắng có chính xác một mảnh nhỏ hơn Đen. Các :flipcolorcuối cùng thực hiện việc tìm kiếm cùng với vai trò đảo ngược. Theo mặc định, CQL chèn một nhận xét "MATCH" trong các trò chơi của output.pgn kết quả tại các vị trí đảm bảo sự bao gồm của chúng, vì vậy bạn có thể nhanh chóng xác định vị trí trao đổi túi.


tuyệt vời, nghe có vẻ như là thứ mà tôi đang tìm kiếm CQL-khôn ngoan. Bạn có sử dụng triển khai CQL từ rbnn.com/cql không?
Joe

@Joe, vâng, đó là cái tôi đã sử dụng.
ETD

2
Câu trả lời tuyệt vời, tôi không biết một thứ như vậy tồn tại.
Tony Enni
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.