Comment rechercher des sacrifices d'échange dans une base de données d'échecs?

8

Je cherche un moyen dans l'un des packages d'échecs courants pour rechercher une manœuvre spécifique - la tour prend un évêque qui est protégé (c'est-à-dire un sacrifice d'échange)? J'ai entendu parler de CQL , mais jamais utilisé, donc je serais curieux s'il prend en charge quelque chose comme ça.

Joe
la source

Réponses:

7

Chess Query Language le fait très bien. Le court fichier .cql suivant fonctionne comme un charme pour trouver tous les jeux dans input.pgn dans lesquels un côté est en place un échange (tout en permettant une différence dans le nombre de pions pour chaque côté) pour 4 mouvements consécutifs (choisis de manière à régner par exemple, des situations dans lesquelles une séquence égale de transactions se produit au début avec une tour prenant une pièce mineure, ou d'autres pseudo-sacrifices temporaires).

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

Des valeurs de points standard sont utilisées pour les pièces, donc la :powerdifference [Rr] -5 -5condition signifie que le noir a une tour de plus que le blanc, tout en :powerdifference [BbNn] 3 3garantissant que le blanc a exactement une pièce de plus que le noir. À :flipcolorla fin fait la même recherche avec les rôles inversés. Par défaut, CQL insère un commentaire "MATCH" dans les jeux du output.pgn résultant aux positions qui justifient leur inclusion, afin que vous puissiez localiser rapidement les sacs d'échange.

ETD
la source
génial, sonne comme le genre de chose que je cherchais CQL. Utilisez-vous l'implémentation CQL depuis rbnn.com/cql ?
Joe
@Joe, oui, c'est celui que j'ai utilisé.
ETD
2
Excellente réponse, je ne savais pas qu'une telle chose existait.
Tony Ennis