Bagaimana cara mencari basis data catur untuk pengorbanan pertukaran?

8

Saya mencari cara di dalam salah satu paket catur umum untuk mencari manuver tertentu - benteng mengambil uskup yang dilindungi (mis. Pengorbanan pertukaran)? Saya pernah mendengar tentang CQL , tetapi tidak pernah digunakan, jadi saya akan penasaran jika mendukung sesuatu seperti ini.

Joe
sumber

Jawaban:

7

Bahasa Catur Catur melakukan ini dengan sangat baik. File .cql pendek berikut berfungsi seperti pesona untuk menemukan semua game di input.pgn di mana satu sisi melakukan pertukaran (sambil memungkinkan perbedaan dalam jumlah pion untuk setiap sisi) untuk 4 gerakan lurus (dipilih untuk memerintah keluar, katakanlah, situasi di mana urutan perdagangan yang sama terjadi dimulai dengan benteng mengambil sepotong kecil, atau pengorbanan semu sementara lainnya).

(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
    )
)

Nilai titik standar untuk potongan digunakan, sehingga :powerdifference [Rr] -5 -5kondisinya berarti bahwa Black memiliki satu benteng lebih dari Putih, sementara :powerdifference [BbNn] 3 3jaminan bahwa Putih memiliki tepat satu bagian lebih kecil daripada Hitam. Pada :flipcolorakhirnya melakukan pencarian yang sama dengan peran terbalik. Secara default, CQL memasukkan komentar "MATCH" di permainan output.pgn yang dihasilkan pada posisi yang menjamin inklusi mereka, sehingga Anda dapat dengan cepat menemukan kantung pertukaran.

ETD
sumber
luar biasa, kedengarannya seperti hal yang saya cari dari segi CQL. Apakah Anda menggunakan implementasi CQL dari rbnn.com/cql ?
Joe
@ Jo, ya, itu yang saya gunakan.
ETD
2
Jawaban bagus, saya tidak tahu hal seperti itu ada.
Tony Ennis