Chess Query Language
Chess Query Language | |
---|---|
Basisdaten
| |
Maintainer | Gady Costeff |
Entwickler | Gady Costeff und Lewis Stiller |
Erscheinungsjahr | 2003 |
Aktuelle Version | 5.1 (22. Februar 2017) |
Betriebssystem | Windows, Mac |
Kategorie | Schachsoftware |
Lizenz | proprietäre Freeware |
deutschsprachig | nein |
http://gadycosteff.com/cql/ |
Chess Query Language (CQL) ist eine Sprache zur Abfrage von bestimmten Situationen in Schachpartien oder Schachstudien. Die Partien bzw. Studien müssen in der Portable Game Notation vorliegen und werden nach der in CQL zu beschreibenden Situation durchsucht. CQL wird unter anderem zur wissenschaftlichen Auswertung von Schachpartien genutzt.[1]
Abgrenzung und Einschränkungen
Ein verwandtes Abfragesystem für Schachpositionen ist Query by Example (QBE). Dabei wird jede Position einer Partie gehasht (meist per Zobrist-Hashing) und in einer Hashtabelle gespeichert. Zur Abfrage einer bestimmten Position wird deren Hash berechnet und die passenden Ergebnisse aus der Datenbank zurückgegeben. Dieser Ansatz ist effizient auch auf sehr große Spielsammlungen anzuwenden.[2]
Der größte Nachteil dieser Methode ist, dass damit nur exakte Treffer gefunden werden können. Selbst minimal andere Stellungen führen zu einem völlig anderen Hashwert und werden per QBE nicht gefunden. CQL umgeht diesen Nachteil, indem eine Näherungssuche möglich gemacht wird. Dazu wird ein boolescher Filter eingesetzt, der die gewünschte Position exakt spezifiziert. Die Abfrage
(position [RQ]b2 bg8)
findet beispielsweise alle Stellungen mit einem weißen Turm oder einer weißen Dame auf dem Feld b2 und einem schwarzen Läufer auf g8. Dieser Ansatz ist jedoch auch bei nur moderat großen Datenbanken erheblich langsamer als die hashbasierte Suche mit QBE.[2]
Eine weitere Einschränkung stellt die boolesche Natur der Abfrage dar: Sie kann nur exakte Treffer zurückgeben, diese aber nicht nach Ähnlichkeit mit einer gewünschten Stellung gewichten.[2]
Weblinks
- Homepage der CQL
- Alte Homepage der CQL (Memento vom 3. März 2016 im Internet Archive)
- Tim Krabbés CHESS CURIOSITIES