ChessAssistantDocs : CQLCa9vsCQL301

HomePage :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register

Revision [165]

Last edited on 2006-06-25 22:22:11 by CaMaster
Deletions:
[Event "Schach#02683"]
[Date "1957.??.??"]


Revision [164]

Edited on 2006-06-25 22:20:46 by CaMaster
Additions:
Chess Assistant 9 implements all the features of CQL 3.01, but also adds some new features and graphical extensions. It is interesting to compare the core CQL 3.01 functionality, as defined and implemented by the authors of CQL, and the implementation in Chess Assistant 9. Running the same query on the same game collection in both applications should give identical results. Fortunately that is exactly what happens almost without exception. There are, however, three exceptions that I have run into so far.
Any position followed by a non-checking white move is marked. Chess Assistant 9, however, correctly only marks moves by the white queen:
Deletions:
Chess Assistant 9 implements all the features of CQL 3.01, but also adds some new features and graphical extensions. It is interesting to compare the core CQL 3.01 functionality, as defined and implemented by the authors of CQL, and the implementation in Chess Assistant 9. Running the same query on the same game collection in both applications should give identical results. Fortunately that is exactly what happens almost without exception. There are, however, at least two exceptions that I have run into so far.
[Eco "C55"]
[Annotator ""]
[Source ""]
Any position followed by a non-checking white move is marked. Chess Assistant 9, however, correctly only marks move by the white queen:


Revision [163]

Edited on 2006-06-25 13:20:57 by CaMaster
Additions:
This query looks at the first move by each white piece in the game. If the move doesn’t deliver check there is a match. The query was run against the following game as an example. The matches found by CQL 3.01 are shown:
By giving a match for this position CQL 3.01 counts 27. Rd5 as the first move by the rook on d1. But this rook was on a1 in the initial position, so obviously it has moved, but it was a special move. The rook landed on d1 when white castled on move 15. So the question is if castling should only be counted as a move by the king as CQL 3.01 seems to do? Or should it be counted as the first move for both the king and the rook as Chess Assistant 9 does? It certainly looks odd to see 27. Rd5 counted as the first move by the rook, so Chess Assistant seems to handle this case as chessplayers would expect.
====Matchcount confusion====
This query, which can be found in the CQL 3.01 documentation, searches for games where the //same piece// delivers at least 30 checks.
:pgn heijden.pgn
:output out.pgn
:forany checker A
(position
:btm
:attackcount $checker k 1
:matchcount 30 1000
)%%
Both CQL 3.01 and Chess Assistant 9 mark all positions in the game where the piece in question gives check to the black king.
The following query is similar, but the position list specifies a sequence. In order for a position to match, the tagged piece must make the next move and it must be a non-checking move.
:forany wpiece A ; Loop through white pieces
(position
:sequence(
(position :movefrom $wpiece) ; The tagged piece must move next
(position :attackcount $wpiece k 0) ; The tagged piece does not give check
)
:matchcount 30 1000 ; At least 30 positions must match in the game
)%%
By comparision with the previous query this one should be expected to return games where the //same piece// makes at least 30 non-checking moves in a game. That is actually what both Chess Assistant 9 and CQL 3.01 seem to do, but there is a difference when you check the marked positions in the matching games. CQL 3.01 marks all positions in the games where any white pieces makes a non-checking move. In other words, the only positions (with white to move) that are not marked is where a white piece delivers check on the next move. Chess Assistant 9, on the other hand, restricts the marks to the piece that actually makes the 30 moves without checking the black king. The difference can be seen from this game fraction where only the white queen made more than 30 non-checking moves. First the output from CQL 3.01:
%%{Original game: 2 MATCH}
1.d4 Nf6 {MATCH} 2.c4 e6 {MATCH} 3.g3 d5 {MATCH} 4.Nf3 Be7 {MATCH} 5.Bg2 O-O {
MATCH} 6.O-O dxc4 {MATCH} 7.Qc2 a6%%
Any position followed by a non-checking white move is marked. Chess Assistant 9, however, correctly only marks move by the white queen:
%%1.d4 Nf6 2.c4 e6 3.g3 d5 4.Nf3 Be7 5.Bg2 O-O 6.O-O dxc4 {MATCH} 7.Qc2 a6%%
Deletions:
This query looks at the first move by each white piece in the game. If the move doesn’t deliver check there is a match. The query will be run against this game as an example:
[Date "2000"]
1.e4 e5 2.Bc4 Nf6 3.d4 Nc6 4.Nf3 d6 5.dxe5 Nxe5 6.Nxe5 dxe5 7.Bxf7+
Ke7 8.Qxd8+ Kxd8 9.Bg5 Bd6 10.Nc3 Ke7 11.Bb3 Bb4 12.Bd2 Rf8 13.f3
Bc5 14.Nd5+ Kd6 15.O-O-O Nxd5 16.Bxd5 c6 17.Bb3 Kc7 18.Rhe1 b6
19.Bc4 b5 20.Bb3 a5 21.a4 Bb6 22.axb5 cxb5 23.Bd5 Ra7 24.Be3
b4 25.Bxb6+ Kxb6 26.Bc4 Rf6 27.Rd5 Rc6 28.b3 Be6 29.Rb5+ Kc7
30.Bxe6 Rxe6 31.Rd1 Rd6 32.Rxe5 Rxd1+ 33.Kxd1 Kd6 34.Rd5+ Ke6
35.Kd2 a4 36.bxa4 Rxa4 37.Rb5 Ra1 38.Rxb4 Rg1 39.g4 Rg2+ 40.Ke3
Rxc2 41.h4 h6 42.Rb6+ Ke7 43.h5 Rc7 44.Kf4 Kf7 45.Kf5 g5 46.hxg6+ Kg7
47.e5 h5 48.gxh5 Kh6 49.Rb8 Rc3 50.Rh8+ Kg7 51.Rh7+ Kg8 52.f4 Rc6
53.Rd7 Rc8 54.h6 Rf8+ 55.Kg5 Re8 56.f5 Rc8 57.f6 Rb8 58.f7+ Kh8 59.g7+
Kh7 60.g8Q+ Rxg8+ 61.fxg8Q+ Kxg8 62.Kf6 Kh8 63.Kg6 Kg8 64.Rd8# 1-0
This is the result when CQL 3.01 processes the query:
By giving a match for this position CQL 3.01 counts 27. Rd5 as the first move by the rook on d1. But this rook was on a1 in the initial position, so obviously has moved, but it was a special move. The rook landed on d1 when white castled on move 15. So the question is if castling should only be counted as a move by the king as CQL 3.01 seems to do? Or should it be counted as the first move for both the king and the rook as Chess Assistant 9 does? It certainly looks odd to see 27. Rd5 counted as the first move by the rook, so Chess Assistant seems to handle this case as chessplayers would expect.


Revision [161]

The oldest known version of this page was created on 2006-06-24 21:27:24 by CaMaster
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki
Page was generated in 0.0176 seconds