index Zurück zur Hilfe-Übersichthome Zurück zur Homepage

CQL - Die Relationsliste

Das Schlüsselwort :relation

Das Schlüsselwort :relation : position kann in einer Positionsliste verwendet werden. Es erwartet als Argument eine Relationenspezifikation. Eine Relationenspezifikation ist eine Liste von Argumenten für dieses Schlüsselwort.

Beispiel:

(position :relation (:missingpiececount >0))

Diese Positionsliste sucht nach Partien, in denen zwei Positionen identisch sind bis auf das Fehlen von einer oder mehreren weißen Figuren in der späteren Position.

Die Operation :relation arbeitet wie folgt. Eine Positionsliste mit einem :relation-Schlüsselwort filtert eine Position P1 genau dann, wenn zu einem späteren Zeitpunkt in der aktuellen Partie eine Position P2 aufgefunden wird, so daß die Beziehung zwischen P1 und P2 mit der Relationenspezifikation übereinstimmt.

Schlüsselwörter der Relationsliste

:changesidetomove
:flip
:ignoresidetomove
:missingpiececount
:newpiececount
:originaldifferentcount
:originalsamecount
:pattern
:samesidetomove
:shift
:variations
:variationsonly

:changesidetomove (Zugrecht umwandeln)

P2 muß ein von P1 verschiedenes Zugrecht haben.

Beispiel:

Wird verwendet um Partien zu suchen, in denen die gleiche Position sowohl mit Weiß als auch mit Schwarz am Zug enthalten ist. Dies ist beispielsweise sinnvoll bei der Suche nach beidseitigem Zugzwang, wie folgt:

position :relation (:changesidetomove))

:flip (Spiegelung)

Erlaubt einen Stellungsvergleich unter Einbeziehung von diedrischen Transformationen. Jedoch ist P2 auf keinen Fall erlaubt, nach der Transformation von P1 verschiedene Figuren auf den Feldern zu haben.

:ignoresidetomove (Zugrecht ignorieren)

Das Zugrecht wird ignoriert beim Stellungsvergleich.

:missingpiececount (Fehlende Figuren zählen)

Dieses Schlüsselwort erwartet die gleichen Argumente wie das Schlüsselwort :piececount : position in der Positionsliste: einen Figurenbezeichner gefolgt von einer Bereichsangabe. Eine fehlende Figur ist eine Figur, die in P1 auf einem Feld steht das in P2 leerstehend ist. P2 wird gefiltert wenn die Anzahl der fehlenden Figuren innerhalb des gegebenen Bereichs liegt. Anders als im Fall des Schlüsselworts :piececount : position kann :missingpiececount nur einmalig innerhalb der Relationsliste verwendet werden. Keine diedrische Transformation und auch keine Translation in der beinhaltenden Positionsliste beeinflußt den Figurenbezeichner dieses Schlüsselworts.

Der Standardfigurenbezeichner für :missingpiececount ist , und der Standardbereich ist Null. D.h. standardmäßig darf es keine fehlenden Figuren geben.

:newpiececount (Zusätzliche Figuren zählen)

Dieses Schlüsselwort erwartet die gleichen Argument wie das Schlüsselwort :piececount : position in der Positionsliste: einen Figurenbezeichner gefolget von einer Bereichsangabe. Eine zusätzliche Figur ist eine Figur, die in P2 auf einem Feld steht das in P1 leerstehend ist. P2 wird gefiltert wenn die Anzahl der zusätzlichen Figuren innerhalb des gegebenen Bereichs liegt. Anders als im Fall des Schlüsselworts :piececount : position kann :newpiececount nur einmalig innerhalb der Relationsliste verwendet werden. Keine diedrische Transformation und auch keine Translation in der beinhaltenden Positionsliste beeinflußt den Figurenbezeichner dieses Schlüsselworts.

Der Standardfigurenbezeichner für :newpiececount ist , und der Standardbereich ist Null. D.h. standardmäßig darf es keine zusätzlichen Figuren geben.

:originaldifferentcount (Abweichung zum Original ermitteln)

Dies erwartet als Argument eine Bereichsangabe. Es filtert wenn die Anzahl der erlaubten Felder, die zwischen P1 und P2 verschieden besetzt sein dürfen, innerhalb des gegebenen Bereichs liegt.

:originalsamecount (Übereinstimmung zum Original ermitteln)

Dies erwartet als Argument eine Bereichsangabe. Es filtert wenn die Anzahl der nichtleeren erlaubten Felder, die bei P1 und P2 gleich besetzt sind, innerhalb des gegebenen Bereichs liegt.

:pattern (Vorlage)

Das Schlüsselwort :pattern signalisiert, daß von allen Figurenbezeichnern, die auf oberster Ebene in der Positionsliste, in der die vorliegende Relationsliste enthalten ist, die erlaubten Felder definiert werden. Nur diese zulässigen Felder werden beim Vergleich betrachtet. Standardmäßig sind alle Felder zulässig.

:samesidetomove (Gleiches Zugrecht)

P2 muß das gleiche Zugrecht aufweisen wie P1, Dies ist als Standard vorgegeben.

:shift (Translation)

Erlaubt einen Stellungsvergleich unter Einbeziehung von Translationen. Jedoch ist P2 auf keinen Fall erlaubt, nach der Transformation von P1 verschiedene Figuren auf den Feldern zu haben.

:variations (Varianten)

Suche nach P2 innerhalb von Untervarianten und in der Hauptvariante. Standardmäßig wird nur in der Hauptvariante gesucht.

:variationsonly (Nur die Varianten)

Suche nach P2 nur innerhalb der Untervarianten.