Main
Date: 18 Aug 2008 11:42:38
From: Guest
Subject: Sanny: Some test positions for you
Sanny;

Here are some standard test positions for you to use with GetClub chess.

The classic Bratko-Kopec test and the Win-At-Chess test. There are many
other test sets, but these are classics that most people use. The
Bratko-Kopec tests are particularly intersting, since they've been around so
long and so many programs have done it. They aren't extensive enough, which
is why people use additional test sets, but they are classics that most
people use.

These are done in fairly basic EPD strings. The first part is the FEN
description, followed by 'bm' which stands for 'best move', followed by an
identification string.

(There are more complicated forms of EPD, that can have a move to avoid or
multiple acceptable moves, etc. But these are fairly simple ones for you.)

FEN starts at A8 and goes across to H8, then A7-H7, etc. Lowercase is
black. Uppercase is white. Numbers are how many blank squares. Slashes
indicate a new row.

This is followed by w/b for side to move, followed by Castling (K=Kingside,
Q=Queenside. Uppercase is white, lower case is black. - means no castling
status. Kkq would mean White kingside, black bothsides.

This is followed by the enpassant square. - means no enpassant possible.

These are optionally follwed by half move clock & full move clock. You wont
have that in these tests.


Simply feed each position into GetClub and have it search, then compare the
result, and report the results. Try searches for 5 seconds, 10 seconds and
30 seconds.

A test script is easy to do. Or you can program the testing stuff into the
program itself. That's what most people do because it makes testing easy
that way. You just say "epdtest filename" and it grabs the test file, runs
the tests, saves the results to a file and when you come back the results
are ready for you. No human participation required.

(Note: These tests have gotten a lot of research done on them. As a
result, there are some who disagree with the results for various moves.
However, the standard results are 'good enough' at this stage. No program
gets all the right answers at the quicker time controls (without being
specifically tuned to do so), so a few positions with different moves aren't
significant right now.)

Here are the classic Bratko-Kopec tests.

****Begin
1k1r4/pp1b1R2/3q2pp/4p3/2B5/4Q3/PPP2B2/2K5 b - - bm Qd1+; id "BK.01";
3r1k2/4npp1/1ppr3p/p6P/P2PPPP1/1NR5/5K2/2R5 w - - bm d5; id "BK.02";
2q1rr1k/3bbnnp/p2p1pp1/2pPp3/PpP1P1P1/1P2BNNP/2BQ1PRK/7R b - - bm f5; id
"BK.03";
rnbqkb1r/p3pppp/1p6/2ppP3/3N4/2P5/PPP1QPPP/R1B1KB1R w KQkq - bm e6; id
"BK.04";
r1b2rk1/2q1b1pp/p2ppn2/1p6/3QP3/1BN1B3/PPP3PP/R4RK1 w - - bm Nd5 a4; id
"BK.05";
2r3k1/pppR1pp1/4p3/4P1P1/5P2/1P4K1/P1P5/8 w - - bm g6; id "BK.06";
1nk1r1r1/pp2n1pp/4p3/q2pPp1N/b1pP1P2/B1P2R2/2P1B1PP/R2Q2K1 w - - bm Nf6; id
"BK.07";
4b3/p3kp2/6p1/3pP2p/2pP1P2/4K1P1/P3N2P/8 w - - bm f5; id "BK.08";
2kr1bnr/pbpq4/2n1pp2/3p3p/3P1P1B/2N2N1Q/PPP3PP/2KR1B1R w - - bm f5; id
"BK.09";
3rr1k1/pp3pp1/1qn2np1/8/3p4/PP1R1P2/2P1NQPP/R1B3K1 b - - bm Ne5; id "BK.10";
2r1nrk1/p2q1ppp/bp1p4/n1pPp3/P1P1P3/2PBB1N1/4QPPP/R4RK1 w - - bm f4; id
"BK.11";
r3r1k1/ppqb1ppp/8/4p1NQ/8/2P5/PP3PPP/R3R1K1 b - - bm Bf5; id "BK.12";
r2q1rk1/4bppp/p2p4/2pP4/3pP3/3Q4/PP1B1PPP/R3R1K1 w - - bm b4; id "BK.13";
rnb2r1k/pp2p2p/2pp2p1/q2P1p2/8/1Pb2NP1/PB2PPBP/R2Q1RK1 w - - bm Qd2 Qe1; id
"BK.14";
2r3k1/1p2q1pp/2b1pr2/p1pp4/6Q1/1P1PP1R1/P1PN2PP/5RK1 w - - bm Qxg7+; id
"BK.15";
r1bqkb1r/4npp1/p1p4p/1p1pP1B1/8/1B6/PPPN1PPP/R2Q1RK1 w kq - bm Ne4; id
"BK.16";
r2q1rk1/1ppnbppp/p2p1nb1/3Pp3/2P1P1P1/2N2N1P/PPB1QP2/R1B2RK1 b - - bm h5; id
"BK.17";
r1bq1rk1/pp2ppbp/2np2p1/2n5/P3PP2/N1P2N2/1PB3PP/R1B1QRK1 b - - bm Nb3; id
"BK.18";
3rr3/2pq2pk/p2p1pnp/8/2QBPP2/1P6/P5PP/4RRK1 b - - bm Rxe4; id "BK.19";
r4k2/pb2bp1r/1p1qp2p/3pNp2/3P1P2/2N3P1/PPP1Q2P/2KRR3 w - - bm g4; id
"BK.20";
3rn2k/ppb2rpp/2ppqp2/5N2/2P1P3/1P5Q/PB3PPP/3RR1K1 w - - bm Nh6; id "BK.21";
2r2rk1/1bqnbpp1/1p1ppn1p/pP6/N1P1P3/P2B1N1P/1B2QPP1/R2R2K1 b - - bm Bxe4; id
"BK.22";
r1bqk2r/pp2bppp/2p5/3pP3/P2Q1P2/2N1B3/1PP3PP/R4RK1 b kq - bm f6; id "BK.23";
r2qnrnk/p2b2b1/1p1p2pp/2pPpp2/1PP1P3/PRNBB3/3QNPPP/5RK1 w - - bm f4; id
"BK.24";
****End

Here are the Win At Chess positions

**Begin
2rr3k/pp3pp1/1nnqbN1p/3pN3/2pP4/2P3Q1/PPB4P/R4RK1 w - - bm Qg6; id
"WAC.001";
8/7p/5k2/5p2/p1p2P2/Pr1pPK2/1P1R3P/8 b - - bm Rxb2; id "WAC.002";
5rk1/1ppb3p/p1pb4/6q1/3P1p1r/2P1R2P/PP1BQ1P1/5RKN w - - bm Rg3; id
"WAC.003";
r1bq2rk/pp3pbp/2p1p1pQ/7P/3P4/2PB1N2/PP3PPR/2KR4 w - - bm Qxh7+; id
"WAC.004";
5k2/6pp/p1qN4/1p1p4/3P4/2PKP2Q/PP3r2/3R4 b - - bm Qc4+; id "WAC.005";
7k/p7/1R5K/6r1/6p1/6P1/8/8 w - - bm Rb7; id "WAC.006";
rnbqkb1r/pppp1ppp/8/4P3/6n1/7P/PPPNPPP1/R1BQKBNR b KQkq - bm Ne3; id
"WAC.007";
r4q1k/p2bR1rp/2p2Q1N/5p2/5p2/2P5/PP3PPP/R5K1 w - - bm Rf7; id "WAC.008";
3q1rk1/p4pp1/2pb3p/3p4/6Pr/1PNQ4/P1PB1PP1/4RRK1 b - - bm Bh2+; id "WAC.009";
2br2k1/2q3rn/p2NppQ1/2p1P3/Pp5R/4P3/1P3PPP/3R2K1 w - - bm Rxh7; id
"WAC.010";
r1b1kb1r/3q1ppp/pBp1pn2/8/Np3P2/5B2/PPP3PP/R2Q1RK1 w kq - bm Bxc6; id
"WAC.011";
4k1r1/2p3r1/1pR1p3/3pP2p/3P2qP/P4N2/1PQ4P/5R1K b - - bm Qxf3+; id "WAC.012";
5rk1/pp4p1/2n1p2p/2Npq3/2p5/6P1/P3P1BP/R4Q1K w - - bm Qxf8+; id "WAC.013";
r2rb1k1/pp1q1p1p/2n1p1p1/2bp4/5P2/PP1BPR1Q/1BPN2PP/R5K1 w - - bm Qxh7+; id
"WAC.014";
1R6/1brk2p1/4p2p/p1P1Pp2/P7/6P1/1P4P1/2R3K1 w - - bm Rxb7; id "WAC.015";
r4rk1/ppp2ppp/2n5/2bqp3/8/P2PB3/1PP1NPPP/R2Q1RK1 w - - bm Nc3; id "WAC.016";
1k5r/pppbn1pp/4q1r1/1P3p2/2NPp3/1QP5/P4PPP/R1B1R1K1 w - - bm Ne5; id
"WAC.017";
R7/P4k2/8/8/8/8/r7/6K1 w - - bm Rh8; id "WAC.018";
r1b2rk1/ppbn1ppp/4p3/1QP4q/3P4/N4N2/5PPP/R1B2RK1 w - - bm c6; id "WAC.019";
r2qkb1r/1ppb1ppp/p7/4p3/P1Q1P3/2P5/5PPP/R1B2KNR b kq - bm Bb5; id "WAC.020";
5rk1/1b3p1p/pp3p2/3n1N2/1P6/P1qB1PP1/3Q3P/4R1K1 w - - bm Qh6; id "WAC.021";
r1bqk2r/ppp1nppp/4p3/n5N1/2BPp3/P1P5/2P2PPP/R1BQK2R w KQkq - bm Ba2 Nxf7; id
"WAC.022";
r3nrk1/2p2p1p/p1p1b1p1/2NpPq2/3R4/P1N1Q3/1PP2PPP/4R1K1 w - - bm g4; id
"WAC.023";
6k1/1b1nqpbp/pp4p1/5P2/1PN5/4Q3/P5PP/1B2B1K1 b - - bm Bd4; id "WAC.024";
3R1rk1/8/5Qpp/2p5/2P1p1q1/P3P3/1P2PK2/8 b - - bm Qh4+; id "WAC.025";
3r2k1/1p1b1pp1/pq5p/8/3NR3/2PQ3P/PP3PP1/6K1 b - - bm Bf5; id "WAC.026";
7k/pp4np/2p3p1/3pN1q1/3P4/Q7/1r3rPP/2R2RK1 w - - bm Qf8+; id "WAC.027";
1r1r2k1/4pp1p/2p1b1p1/p3R3/RqBP4/4P3/1PQ2PPP/6K1 b - - bm Qe1+; id
"WAC.028";
r2q2k1/pp1rbppp/4pn2/2P5/1P3B2/6P1/P3QPBP/1R3RK1 w - - bm c6; id "WAC.029";
1r3r2/4q1kp/b1pp2p1/5p2/pPn1N3/6P1/P3PPBP/2QRR1K1 w - - bm Nxd6; id
"WAC.030";
rb3qk1/pQ3ppp/4p3/3P4/8/1P3N2/1P3PPP/3R2K1 w - - bm Qxa8 d6 dxe6; id
"WAC.031";
6k1/p4p1p/1p3np1/2q5/4p3/4P1N1/PP3PPP/3Q2K1 w - - bm Qd8+; id "WAC.032";
8/p1q2pkp/2Pr2p1/8/P3Q3/6P1/5P1P/2R3K1 w - - bm Qe5+ Qf4; id "WAC.033";
7k/1b1r2p1/p6p/1p2qN2/3bP3/3Q4/P5PP/1B1R3K b - - bm Bg1; id "WAC.034";
r3r2k/2R3pp/pp1q1p2/8/3P3R/7P/PP3PP1/3Q2K1 w - - bm Rxh7+; id "WAC.035";
3r4/2p1rk2/1pQq1pp1/7p/1P1P4/P4P2/6PP/R1R3K1 b - - bm Re1+; id "WAC.036";
2r5/2rk2pp/1pn1pb2/pN1p4/P2P4/1N2B3/nPR1KPPP/3R4 b - - bm Nxd4+; id
"WAC.037";
4k3/p4prp/1p6/2b5/8/2Q3P1/P2R1PKP/4q3 w - - bm Rd8+; id "WAC.038";
r1br2k1/pp2bppp/2nppn2/8/2P1PB2/2N2P2/PqN1B1PP/R2Q1R1K w - - bm Na4; id
"WAC.039";
3r1r1k/1p4pp/p4p2/8/1PQR4/6Pq/P3PP2/2R3K1 b - - bm Rc8; id "WAC.040";
1k6/5RP1/1P6/1K6/6r1/8/8/8 w - - bm Ka5 Kc5; id "WAC.041";
r1b1r1k1/pp1n1pbp/1qp3p1/3p4/1B1P4/Q3PN2/PP2BPPP/R4RK1 w - - bm Ba5; id
"WAC.042";
r2q3k/p2P3p/1p3p2/3QP1r1/8/B7/P5PP/2R3K1 w - - bm Be7 Qxa8; id "WAC.043";
3rb1k1/pq3pbp/4n1p1/3p4/2N5/2P2QB1/PP3PPP/1B1R2K1 b - - bm dxc4; id
"WAC.044";
7k/2p1b1pp/8/1p2P3/1P3r2/2P3Q1/1P5P/R4qBK b - - bm Qxa1; id "WAC.045";
r1bqr1k1/pp1nb1p1/4p2p/3p1p2/3P4/P1N1PNP1/1PQ2PP1/3RKB1R w K - bm Nb5; id
"WAC.046";
r1b2rk1/pp2bppp/2n1pn2/q5B1/2BP4/2N2N2/PP2QPPP/2R2RK1 b - - bm Nxd4; id
"WAC.047";
1rbq1rk1/p1p1bppp/2p2n2/8/Q1BP4/2N5/PP3PPP/R1B2RK1 b - - bm Rb4; id
"WAC.048";
2b3k1/4rrpp/p2p4/2pP2RQ/1pP1Pp1N/1P3P1P/1q6/6RK w - - bm Qxh7+; id
"WAC.049";
k4r2/1R4pb/1pQp1n1p/3P4/5p1P/3P2P1/r1q1R2K/8 w - - bm Rxb6+; id "WAC.050";
r1bq1r2/pp4k1/4p2p/3pPp1Q/3N1R1P/2PB4/6P1/6K1 w - - bm Rg4+; id "WAC.051";
r1k5/1p3q2/1Qpb4/3N1p2/5Pp1/3P2Pp/PPPK3P/4R3 w - - bm Re7; id "WAC.052";
6k1/6p1/p7/3Pn3/5p2/4rBqP/P4RP1/5QK1 b - - bm Re1; id "WAC.053";
r3kr2/1pp4p/1p1p4/7q/4P1n1/2PP2Q1/PP4P1/R1BB2K1 b q - bm Qh1+; id "WAC.054";
r3r1k1/pp1q1pp1/4b1p1/3p2B1/3Q1R2/8/PPP3PP/4R1K1 w - - bm Qxg7+; id
"WAC.055";
r1bqk2r/pppp1ppp/5n2/2b1n3/4P3/1BP3Q1/PP3PPP/RNB1K1NR b KQkq - bm Bxf2+; id
"WAC.056";
r3q1kr/ppp5/3p2pQ/8/3PP1b1/5R2/PPP3P1/5RK1 w - - bm Rf8+; id "WAC.057";
8/8/2R5/1p2qp1k/1P2r3/2PQ2P1/5K2/8 w - - bm Qd1+; id "WAC.058";
r1b2rk1/2p1qnbp/p1pp2p1/5p2/2PQP3/1PN2N1P/PB3PP1/3R1RK1 w - - bm Nd5; id
"WAC.059";
rn1qr1k1/1p2np2/2p3p1/8/1pPb4/7Q/PB1P1PP1/2KR1B1R w - - bm Qh8+; id
"WAC.060";
3qrbk1/ppp1r2n/3pP2p/3P4/2P4P/1P3Q2/PB6/R4R1K w - - bm Qf7+; id "WAC.061";
6r1/3Pn1qk/p1p1P1rp/2Q2p2/2P5/1P4P1/P3R2P/5RK1 b - - bm Rxg3+; id "WAC.062";
r1brnbk1/ppq2pp1/4p2p/4N3/3P4/P1PB1Q2/3B1PPP/R3R1K1 w - - bm Nxf7; id
"WAC.063";
8/6pp/3q1p2/3n1k2/1P6/3NQ2P/5PP1/6K1 w - - bm g4+; id "WAC.064";
1r1r1qk1/p2n1p1p/bp1Pn1pQ/2pNp3/2P2P1N/1P5B/P6P/3R1RK1 w - - bm Ne7+; id
"WAC.065";
1k1r2r1/ppq5/1bp4p/3pQ3/8/2P2N2/PP4P1/R4R1K b - - bm Qxe5; id "WAC.066";
3r2k1/p2q4/1p4p1/3rRp1p/5P1P/6PK/P3R3/3Q4 w - - bm Rxd5; id "WAC.067";
6k1/5ppp/1q6/2b5/8/2R1pPP1/1P2Q2P/7K w - - bm Qxe3; id "WAC.068";
2k5/pppr4/4R3/4Q3/2pp2q1/8/PPP2PPP/6K1 w - - bm f3 h3; id "WAC.069";
2kr3r/pppq1ppp/3p1n2/bQ2p3/1n1PP3/1PN1BN1P/1PP2PP1/2KR3R b - - bm Na2+; id
"WAC.070";
2kr3r/pp1q1ppp/5n2/1Nb5/2Pp1B2/7Q/P4PPP/1R3RK1 w - - bm Nxa7+; id "WAC.071";
r3r1k1/pp1n1ppp/2p5/4Pb2/2B2P2/B1P5/P5PP/R2R2K1 w - - bm e6; id "WAC.072";
r1q3rk/1ppbb1p1/4Np1p/p3pP2/P3P3/2N4R/1PP1Q1PP/3R2K1 w - - bm Qd2; id
"WAC.073";
5r1k/pp4pp/2p5/2b1P3/4Pq2/1PB1p3/P3Q1PP/3N2K1 b - - bm Qf1+; id "WAC.074";
r3r1k1/pppq1ppp/8/8/1Q4n1/7P/PPP2PP1/RNB1R1K1 b - - bm Qd6; id "WAC.075";
r1b1qrk1/2p2ppp/pb1pnn2/1p2pNB1/3PP3/1BP5/PP2QPPP/RN1R2K1 w - - bm Bxf6; id
"WAC.076";
3r2k1/ppp2ppp/6q1/b4n2/3nQB2/2p5/P4PPP/RN3RK1 b - - bm Ng3; id "WAC.077";
r2q3r/ppp2k2/4nbp1/5Q1p/2P1NB2/8/PP3P1P/3RR1K1 w - - bm Ng5+; id "WAC.078";
r3k2r/pbp2pp1/3b1n2/1p6/3P3p/1B2N1Pq/PP1PQP1P/R1B2RK1 b kq - bm Qxh2+; id
"WAC.079";
r4rk1/p1B1bpp1/1p2pn1p/8/2PP4/3B1P2/qP2QP1P/3R1RK1 w - - bm Ra1; id
"WAC.080";
r4rk1/1bR1bppp/4pn2/1p2N3/1P6/P3P3/4BPPP/3R2K1 b - - bm Bd6; id "WAC.081";
3rr1k1/pp3pp1/4b3/8/2P1B2R/6QP/P3q1P1/5R1K w - - bm Bh7+; id "WAC.082";
3rr1k1/ppqbRppp/2p5/8/3Q1n2/2P3N1/PPB2PPP/3R2K1 w - - bm Qxd7; id "WAC.083";
r2q1r1k/2p1b1pp/p1n5/1p1Q1bN1/4n3/1BP1B3/PP3PPP/R4RK1 w - - bm Qg8+; id
"WAC.084";
kr2R3/p4r2/2pq4/2N2p1p/3P2p1/Q5P1/5P1P/5BK1 w - - bm Na6; id "WAC.085";
8/p7/1ppk1n2/5ppp/P1PP4/2P1K1P1/5N1P/8 b - - bm Ng4+; id "WAC.086";
8/p3k1p1/4r3/2ppNpp1/PP1P4/2P3KP/5P2/8 b - - bm Rxe5; id "WAC.087";
r6k/p1Q4p/2p1b1rq/4p3/B3P3/4P3/PPP3P1/4RRK1 b - - bm Rxg2+; id "WAC.088";
1r3b1k/p4rpp/4pp2/3q4/2ppbPPQ/6RK/PP5P/2B1NR2 b - - bm g5; id "WAC.089";
3qrrk1/1pp2pp1/1p2bn1p/5N2/2P5/P1P3B1/1P4PP/2Q1RRK1 w - - bm Nxg7; id
"WAC.090";
2qr2k1/4b1p1/2p2p1p/1pP1p3/p2nP3/PbQNB1PP/1P3PK1/4RB2 b - - bm Be6; id
"WAC.091";
r4rk1/1p2ppbp/p2pbnp1/q7/3BPPP1/2N2B2/PPP4P/R2Q1RK1 b - - bm Bxg4; id
"WAC.092";
r1b1k1nr/pp3pQp/4pq2/3pn3/8/P1P5/2P2PPP/R1B1KBNR w KQkq - bm Bh6; id
"WAC.093";
8/k7/p7/3Qp2P/n1P5/3KP3/1q6/8 b - - bm e4+; id "WAC.094";
2r5/1r6/4pNpk/3pP1qp/8/2P1QP2/5PK1/R7 w - - bm Ng4+; id "WAC.095";
r1b4k/ppp2Bb1/6Pp/3pP3/1qnP1p1Q/8/PPP3P1/1K1R3R w - - bm Qd8+; id "WAC.096";
6k1/5p2/p5np/4B3/3P4/1PP1q3/P3r1QP/6RK w - - bm Qa8+; id "WAC.097";
1r3rk1/5pb1/p2p2p1/Q1n1q2p/1NP1P3/3p1P1B/PP1R3P/1K2R3 b - - bm Nxe4; id
"WAC.098";
r1bq1r1k/1pp1Np1p/p2p2pQ/4R3/n7/8/PPPP1PPP/R1B3K1 w - - bm Rh5; id
"WAC.099";
8/k1b5/P4p2/1Pp2p1p/K1P2P1P/8/3B4/8 w - - bm b6+; id "WAC.100";
5rk1/p5pp/8/8/2Pbp3/1P4P1/7P/4RN1K b - - bm Bc3; id "WAC.101";
2Q2n2/2R4p/1p1qpp1k/8/3P3P/3B2P1/5PK1/r7 w - - bm Qxf8+; id "WAC.102";
6k1/2pb1r1p/3p1PpQ/p1nPp3/1q2P3/2N2P2/PrB5/2K3RR w - - bm Qxg6+; id
"WAC.103";
b4r1k/pq2rp2/1p1bpn1p/3PN2n/2P2P2/P2B3K/1B2Q2N/3R2R1 w - - bm Qxh5; id
"WAC.104";
r2r2k1/pb3ppp/1p1bp3/7q/3n2nP/PP1B2P1/1B1N1P2/RQ2NRK1 b - - bm Qxh4; id
"WAC.105";
4rrk1/pppb4/7p/3P2pq/3Qn3/P5P1/1PP4P/R3RNNK b - - bm Nf2+; id "WAC.106";
5n2/pRrk2p1/P4p1p/4p3/3N4/5P2/6PP/6K1 w - - bm Nb5; id "WAC.107";
r5k1/1q4pp/2p5/p1Q5/2P5/5R2/4RKPP/r7 w - - bm Qe5; id "WAC.108";
rn2k1nr/pbp2ppp/3q4/1p2N3/2p5/QP6/PB1PPPPP/R3KB1R b KQkq - bm c3; id
"WAC.109";
2kr4/bp3p2/p2p2b1/P7/2q5/1N4B1/1PPQ2P1/2KR4 b - - bm Be3; id "WAC.110";
6k1/p5p1/5p2/2P2Q2/3pN2p/3PbK1P/7P/6q1 b - - bm Qf1+; id "WAC.111";
r4kr1/ppp5/4bq1b/7B/2PR1Q1p/2N3P1/PP3P1P/2K1R3 w - - bm Rxe6; id "WAC.112";
rnbqkb1r/1p3ppp/5N2/1p2p1B1/2P5/8/PP2PPPP/R2QKB1R b KQkq - bm Qxf6; id
"WAC.113";
r1b1rnk1/1p4pp/p1p2p2/3pN2n/3P1PPq/2NBPR1P/PPQ5/2R3K1 w - - bm Bxh7+; id
"WAC.114";
4N2k/5rpp/1Q6/p3q3/8/P5P1/1P3P1P/5K2 w - - bm Nd6; id "WAC.115";
r2r2k1/2p2ppp/p7/1p2P1n1/P6q/5P2/1PB1QP1P/R5RK b - - bm Rd2; id "WAC.116";
3r1rk1/q4ppp/p1Rnp3/8/1p6/1N3P2/PP3QPP/3R2K1 b - - bm Ne4; id "WAC.117";
r5k1/pb2rpp1/1p6/2p4q/5R2/2PB2Q1/P1P3PP/5R1K w - - bm Rh4; id "WAC.118";
r2qr1k1/p1p2ppp/2p5/2b5/4nPQ1/3B4/PPP3PP/R1B2R1K b - - bm Qxd3; id
"WAC.119";
r4rk1/1bn2qnp/3p1B1Q/p2P1pP1/1pp5/5N1P/PPB2P2/2KR3R w - - bm g6; id
"WAC.120";
6k1/5p1p/2bP2pb/4p3/2P5/1p1pNPPP/1P1Q1BK1/1q6 b - - bm Bxf3+; id "WAC.121";
1k6/ppp4p/1n2pq2/1N2Rb2/2P2Q2/8/P4KPP/3r1B2 b - - bm Rxf1+; id "WAC.122";
6k1/1b2rp2/1p4p1/3P4/PQ4P1/2N2q2/5P2/3R2K1 b - - bm Bxd5 Rc7; id "WAC.123";
6k1/3r4/2R5/P5P1/1P4p1/8/4rB2/6K1 b - - bm g3; id "WAC.124";
r1bqr1k1/pp3ppp/1bp5/3n4/3B4/2N2P1P/PPP1B1P1/R2Q1RK1 b - - bm Bxd4+; id
"WAC.125";
r5r1/pQ5p/1qp2R2/2k1p3/4P3/2PP4/P1P3PP/6K1 w - - bm Rxc6+; id "WAC.126";
2k4r/1pr1n3/p1p1q2p/5pp1/3P1P2/P1P1P3/1R2Q1PP/1RB3K1 w - - bm Rxb7; id
"WAC.127";
6rk/1pp2Qrp/3p1B2/1pb1p2R/3n1q2/3P4/PPP3PP/R6K w - - bm Qg6; id "WAC.128";
3r1r1k/1b2b1p1/1p5p/2p1Pp2/q1B2P2/4P2P/1BR1Q2K/6R1 b - - bm Bf3; id
"WAC.129";
6k1/1pp3q1/5r2/1PPp4/3P1pP1/3Qn2P/3B4/4R1K1 b - - bm Qh6 Qh8; id "WAC.130";
2rq1bk1/p4p1p/1p4p1/3b4/3B1Q2/8/P4PpP/3RR1K1 w - - bm Re8; id "WAC.131";
4r1k1/5bpp/2p5/3pr3/8/1B3pPq/PPR2P2/2R2QK1 b - - bm Re1; id "WAC.132";
r1b1k2r/1pp1q2p/p1n3p1/3QPp2/8/1BP3B1/P5PP/3R1RK1 w kq - bm Bh4; id
"WAC.133";
3r2k1/p6p/2Q3p1/4q3/2P1p3/P3Pb2/1P3P1P/2K2BR1 b - - bm Rd1+; id "WAC.134";
3r1r1k/N2qn1pp/1p2np2/2p5/2Q1P2N/3P4/PP4PP/3R1RK1 b - - bm Nd4; id
"WAC.135";
6kr/1q2r1p1/1p2N1Q1/5p2/1P1p4/6R1/7P/2R3K1 w - - bm Rc8+; id "WAC.136";
3b1rk1/1bq3pp/5pn1/1p2rN2/2p1p3/2P1B2Q/1PB2PPP/R2R2K1 w - - bm Rd7; id
"WAC.137";
r1bq3r/ppppR1p1/5n1k/3P4/6pP/3Q4/PP1N1PP1/5K1R w - - bm h5; id "WAC.138";
rnb3kr/ppp2ppp/1b6/3q4/3pN3/Q4N2/PPP2KPP/R1B1R3 w - - bm Nf6+; id "WAC.139";
r2b1rk1/pq4p1/4ppQP/3pB1p1/3P4/2R5/PP3PP1/5RK1 w - - bm Rc7; id "WAC.140";
4r1k1/p1qr1p2/2pb1Bp1/1p5p/3P1n1R/1B3P2/PP3PK1/2Q4R w - - bm Qxf4; id
"WAC.141";
r2q3n/ppp2pk1/3p4/5Pr1/2NP1Qp1/2P2pP1/PP3K2/4R2R w - - bm Re8 f6+; id
"WAC.142";
5b2/pp2r1pk/2pp1pRp/4rP1N/2P1P3/1P4QP/P3q1P1/5R1K w - - bm Rxh6+; id
"WAC.143";
r2q1rk1/pp3ppp/2p2b2/8/B2pPPb1/7P/PPP1N1P1/R2Q1RK1 b - - bm d3; id
"WAC.144";
r1bq4/1p4kp/3p1n2/p4pB1/2pQ4/8/1P4PP/4RRK1 w - - bm Re8; id "WAC.145";
8/8/2Kp4/3P1B2/2P2k2/5p2/8/8 w - - bm Bc8; id "WAC.146";
r2r2k1/ppqbppbp/2n2np1/2pp4/6P1/1P1PPNNP/PBP2PB1/R2QK2R b KQ - bm Nxg4; id
"WAC.147";
2r1k3/6pr/p1nBP3/1p3p1p/2q5/2P5/P1R4P/K2Q2R1 w - - bm Rxg7; id "WAC.148";
6k1/6p1/2p4p/4Pp2/4b1qP/2Br4/1P2RQPK/8 b - - bm Bxg2; id "WAC.149";
r3r1k1/5p2/pQ1b2pB/1p6/4p3/6P1/Pq2BP1P/2R3K1 b - - bm Ba3 Bf8 e3; id
"WAC.150";
8/3b2kp/4p1p1/pr1n4/N1N4P/1P4P1/1K3P2/3R4 w - - bm Nc3; id "WAC.151";
1br2rk1/1pqb1ppp/p3pn2/8/1P6/P1N1PN1P/1B3PP1/1QRR2K1 w - - bm Ne4; id
"WAC.152";
2r3k1/q4ppp/p3p3/pnNp4/2rP4/2P2P2/4R1PP/2R1Q1K1 b - - bm Nxd4; id "WAC.153";
r1b2rk1/2p2ppp/p7/1p6/3P3q/1BP3bP/PP3QP1/RNB1R1K1 w - - bm Qxf7+; id
"WAC.154";
5bk1/1rQ4p/5pp1/2pP4/3n1PP1/7P/1q3BB1/4R1K1 w - - bm d6; id "WAC.155";
r1b1qN1k/1pp3p1/p2p3n/4p1B1/8/1BP4Q/PP3KPP/8 w - - bm Qxh6+; id "WAC.156";
5rk1/p4ppp/2p1b3/3Nq3/4P1n1/1p1B2QP/1PPr2P1/1K2R2R w - - bm Ne7+; id
"WAC.157";
5rk1/n1p1R1bp/p2p4/1qpP1QB1/7P/2P3P1/PP3P2/6K1 w - - bm Rxg7+; id "WAC.158";
r1b2r2/5P1p/ppn3pk/2p1p1Nq/1bP1PQ2/3P4/PB4BP/1R3RK1 w - - bm Ne6+; id
"WAC.159";
qn1kr2r/1pRbb3/pP5p/P2pP1pP/3N1pQ1/3B4/3B1PP1/R5K1 w - - bm Qxd7+; id
"WAC.160";
3r3k/3r1P1p/pp1Nn3/2pp4/7Q/6R1/Pq4PP/5RK1 w - - bm Qxd8+; id "WAC.161";
r3kbnr/p4ppp/2p1p3/8/Q1B3b1/2N1B3/PP3PqP/R3K2R w KQkq - bm Bd5; id
"WAC.162";
5rk1/2p4p/2p4r/3P4/4p1b1/1Q2NqPp/PP3P1K/R4R2 b - - bm Qg2+; id "WAC.163";
8/6pp/4p3/1p1n4/1NbkN1P1/P4P1P/1PR3K1/r7 w - - bm Rxc4+; id "WAC.164";
1r5k/p1p3pp/8/8/4p3/P1P1R3/1P1Q1qr1/2KR4 w - - bm Re2; id "WAC.165";
r3r1k1/5pp1/p1p4p/2Pp4/8/q1NQP1BP/5PP1/4K2R b K - bm d4; id "WAC.166";
7Q/ppp2q2/3p2k1/P2Ppr1N/1PP5/7R/5rP1/6K1 b - - bm Rxg2+; id "WAC.167";
r3k2r/pb1q1p2/8/2p1pP2/4p1p1/B1P1Q1P1/P1P3K1/R4R2 b kq - bm Qd2+; id
"WAC.168";
5rk1/1pp3bp/3p2p1/2PPp3/1P2P3/2Q1B3/4q1PP/R5K1 b - - bm Bh6; id "WAC.169";
5r1k/6Rp/1p2p3/p2pBp2/1qnP4/4P3/Q4PPP/6K1 w - - bm Qxc4; id "WAC.170";
2rq4/1b2b1kp/p3p1p1/1p1nNp2/7P/1B2B1Q1/PP3PP1/3R2K1 w - - bm Bh6+; id
"WAC.171";
5r1k/p5pp/8/1P1pq3/P1p2nR1/Q7/5BPP/6K1 b - - bm Qe1+; id "WAC.172";
2r1b3/1pp1qrk1/p1n1P1p1/7R/2B1p3/4Q1P1/PP3PP1/3R2K1 w - - bm Qh6+; id
"WAC.173";
2r2rk1/6p1/p3pq1p/1p1b1p2/3P1n2/PP3N2/3N1PPP/1Q2RR1K b - - bm Nxg2; id
"WAC.174";
r5k1/pppb3p/2np1n2/8/3PqNpP/3Q2P1/PPP5/R4RK1 w - - bm Nh5; id "WAC.175";
r1bq3r/ppp2pk1/3p1pp1/8/2BbPQ2/2NP2P1/PPP4P/R4R1K b - - bm Rxh2+; id
"WAC.176";
r1b3r1/4qk2/1nn1p1p1/3pPp1P/p4P2/1p3BQN/PKPBN3/3R3R b - - bm Qa3+; id
"WAC.177";
3r2k1/p1rn1p1p/1p2pp2/6q1/3PQNP1/5P2/P1P4R/R5K1 w - - bm Nxe6; id "WAC.178";
r1b2r1k/pp4pp/3p4/3B4/8/1QN3Pn/PP3q1P/R3R2K b - - bm Qg1+; id "WAC.179";
r1q2rk1/p3bppb/3p1n1p/2nPp3/1p2P1P1/6NP/PP2QPB1/R1BNK2R b KQ - bm Nxd5; id
"WAC.180";
r3k2r/2p2p2/p2p1n2/1p2p3/4P2p/1PPPPp1q/1P5P/R1N2QRK b kq - bm Ng4; id
"WAC.181";
r1b2rk1/ppqn1p1p/2n1p1p1/2b3N1/2N5/PP1BP3/1B3PPP/R2QK2R w KQ - bm Qh5; id
"WAC.182";
1r2k1r1/5p2/b3p3/1p2b1B1/3p3P/3B4/PP2KP2/2R3R1 w - - bm Bf6; id "WAC.183";
4kn2/r4p1r/p3bQ2/q1nNP1Np/1p5P/8/PPP3P1/2KR3R w - - bm Qe7+; id "WAC.184";
1r1rb1k1/2p3pp/p2q1p2/3PpP1Q/Pp1bP2N/1B5R/1P4PP/2B4K w - - bm Qxh7+; id
"WAC.185";
r5r1/p1q2p1k/1p1R2pB/3pP3/6bQ/2p5/P1P1NPPP/6K1 w - - bm Bf8+; id "WAC.186";
6k1/5p2/p3p3/1p3qp1/2p1Qn2/2P1R3/PP1r1PPP/4R1K1 b - - bm Nh3+; id "WAC.187";
3RNbk1/pp3p2/4rQpp/8/1qr5/7P/P4P2/3R2K1 w - - bm Qg7+; id "WAC.188";
3r1k2/1ppPR1n1/p2p1rP1/3P3p/4Rp1N/5K2/P1P2P2/8 w - - bm Re8+; id "WAC.189";
8/p2b2kp/1q1p2p1/1P1Pp3/4P3/3B2P1/P2Q3P/2Nn3K b - - bm Bh3; id "WAC.190";
2r1Rn1k/1p1q2pp/p7/5p2/3P4/1B4P1/P1P1QP1P/6K1 w - - bm Qc4; id "WAC.191";
r3k3/ppp2Npp/4Bn2/2b5/1n1pp3/N4P2/PPP3qP/R2QKR2 b Qq - bm Nd3+; id
"WAC.192";
5bk1/p4ppp/Qp6/4B3/1P6/Pq2P1P1/2rr1P1P/R4RK1 b - - bm Qxe3; id "WAC.193";
5rk1/ppq2ppp/2p5/4bN2/4P3/6Q1/PPP2PPP/3R2K1 w - - bm Nh6+; id "WAC.194";
3r1rk1/1p3p2/p3pnnp/2p3p1/2P2q2/1P5P/PB2QPPN/3RR1K1 w - - bm g3; id
"WAC.195";
rr4k1/p1pq2pp/Q1n1pn2/2bpp3/4P3/2PP1NN1/PP3PPP/R1B1K2R b KQ - bm Nb4; id
"WAC.196";
7k/1p4p1/7p/3P1n2/4Q3/2P2P2/PP3qRP/7K b - - bm Qf1+; id "WAC.197";
2br2k1/ppp2p1p/4p1p1/4P2q/2P1Bn2/2Q5/PP3P1P/4R1RK b - - bm Rd3; id
"WAC.198";
r1br2k1/pp2nppp/2n5/1B1q4/Q7/4BN2/PP3PPP/2R2RK1 w - - bm Bxc6 Rfd1; id
"WAC.199";
2rqrn1k/pb4pp/1p2pp2/n2P4/2P3N1/P2B2Q1/1B3PPP/2R1R1K1 w - - bm Bxf6; id
"WAC.200";
2b2r1k/4q2p/3p2pQ/2pBp3/8/6P1/1PP2P1P/R5K1 w - - bm Ra7; id "WAC.201";
QR2rq1k/2p3p1/3p1pPp/8/4P3/8/P1r3PP/1R4K1 b - - bm Rxa2; id "WAC.202";
r4rk1/5ppp/p3q1n1/2p2NQ1/4n3/P3P3/1B3PPP/1R3RK1 w - - bm Qh6; id "WAC.203";
r1b1qrk1/1p3ppp/p1p5/3Nb3/5N2/P7/1P4PQ/K1R1R3 w - - bm Rxe5; id "WAC.204";
r3rnk1/1pq2bb1/p4p2/3p1Pp1/3B2P1/1NP4R/P1PQB3/2K4R w - - bm Qxg5; id
"WAC.205";
1Qq5/2P1p1kp/3r1pp1/8/8/7P/p4PP1/2R3K1 b - - bm Rc6; id "WAC.206";
r1bq2kr/p1pp1ppp/1pn1p3/4P3/2Pb2Q1/BR6/P4PPP/3K1BNR w - - bm Qxg7+; id
"WAC.207";
3r1bk1/ppq3pp/2p5/2P2Q1B/8/1P4P1/P6P/5RK1 w - - bm Bf7+; id "WAC.208";
4kb1r/2q2p2/r2p4/pppBn1B1/P6P/6Q1/1PP5/2KRR3 w k - bm Rxe5+; id "WAC.209";
3r1rk1/pp1q1ppp/3pn3/2pN4/5PP1/P5PQ/1PP1B3/1K1R4 w - - bm Rh1; id "WAC.210";
r1bqrk2/pp1n1n1p/3p1p2/P1pP1P1Q/2PpP1NP/6R1/2PB4/4RBK1 w - - bm Qxf7+; id
"WAC.211";
rn1qr2Q/pbppk1p1/1p2pb2/4N3/3P4/2N5/PPP3PP/R4RK1 w - - bm Qxg7+; id
"WAC.212";
3r1r1k/1b4pp/ppn1p3/4Pp1R/Pn5P/3P4/4QP2/1qB1NKR1 w - - bm Rxh7+; id
"WAC.213";
r2r2k1/1p2qpp1/1np1p1p1/p3N3/2PPN3/bP5R/4QPPP/4R1K1 w - - bm Ng5; id
"WAC.214";
3r2k1/pb1q1pp1/1p2pb1p/8/3N4/P2QB3/1P3PPP/1Br1R1K1 w - - bm Qh7+; id
"WAC.215";
r2qr1k1/1b1nbppp/p3pn2/1p1pN3/3P1B2/2PB1N2/PP2QPPP/R4RK1 w - - bm Nxf7; id
"WAC.216";
r3kb1r/1pp3p1/p3bp1p/5q2/3QN3/1P6/PBP3P1/3RR1K1 w kq - bm Qd7+; id
"WAC.217";
6k1/pp5p/2p3q1/6BP/2nPr1Q1/8/PP3R1K/8 w - - bm Bh6; id "WAC.218";
7k/p4q1p/1pb5/2p5/4B2Q/2P1B3/P6P/7K b - - bm Qf1+; id "WAC.219";
3rr1k1/ppp2ppp/8/5Q2/4n3/1B5R/PPP1qPP1/5RK1 b - - bm Qxf1+; id "WAC.220";
r3k3/P5bp/2N1bp2/4p3/2p5/6NP/1PP2PP1/3R2K1 w q - bm Rd8+; id "WAC.221";
2r1r2k/1q3ppp/p2Rp3/2p1P3/6QB/p3P3/bP3PPP/3R2K1 w - - bm Bf6; id "WAC.222";
r1bqk2r/pp3ppp/5n2/8/1b1npB2/2N5/PP1Q2PP/1K2RBNR w kq - bm Nxe4; id
"WAC.223";
5rk1/p1q3pp/1p1r4/2p1pp1Q/1PPn1P2/3B3P/P2R2P1/3R2K1 b - - bm Rh6 e4; id
"WAC.224";
4R3/4q1kp/6p1/1Q3b2/1P1b1P2/6KP/8/8 b - - bm Qh4+; id "WAC.225";
2b2rk1/p1p4p/2p1p1p1/br2N1Q1/1p2q3/8/PB3PPP/3R1RK1 w - - bm Nf7; id
"WAC.226";
2k1rb1r/ppp3pp/2np1q2/5b2/2B2P2/2P1BQ2/PP1N1P1P/2KR3R b - - bm d5; id
"WAC.227";
r4rk1/1bq1bp1p/4p1p1/p2p4/3BnP2/1N1B3R/PPP3PP/R2Q2K1 w - - bm Bxe4; id
"WAC.228";
8/8/8/1p5r/p1p1k1pN/P2pBpP1/1P1K1P2/8 b - - bm Rxh4 b4; id "WAC.229";
2b5/1r6/2kBp1p1/p2pP1P1/2pP4/1pP3K1/1R3P2/8 b - - bm Rb4; id "WAC.230";
r4rk1/1b1nqp1p/p5p1/1p2PQ2/2p5/5N2/PP3PPP/R1BR2K1 w - - bm Bg5; id
"WAC.231";
1R2rq1k/2p3p1/Q2p1pPp/8/4P3/8/P1r3PP/1R4K1 w - - bm Qb5 Rxe8; id "WAC.232";
5rk1/p1p2r1p/2pp2p1/4p3/PPPnP3/3Pq1P1/1Q1R1R1P/4NK2 b - - bm Nb3; id
"WAC.233";
2kr1r2/p6p/5Pp1/2p5/1qp2Q1P/7R/PP6/1KR5 w - - bm Rb3; id "WAC.234";
5r2/1p1RRrk1/4Qq1p/1PP3p1/8/4B3/1b3P1P/6K1 w - - bm Qxf7+ Rxf7+; id
"WAC.235";
1R6/p5pk/4p2p/4P3/8/2r3qP/P3R1b1/4Q1K1 b - - bm Rc1; id "WAC.236";
r5k1/pQp2qpp/8/4pbN1/3P4/6P1/PPr4P/1K1R3R b - - bm Rc1+; id "WAC.237";
1k1r4/pp1r1pp1/4n1p1/2R5/2Pp1qP1/3P2QP/P4PB1/1R4K1 w - - bm Bxb7; id
"WAC.238";
8/6k1/5pp1/Q6p/5P2/6PK/P4q1P/8 b - - bm Qf1+; id "WAC.239";
2b4k/p1b2p2/2p2q2/3p1PNp/3P2R1/3B4/P1Q2PKP/4r3 w - - bm Qxc6; id "WAC.240";
2rq1rk1/pp3ppp/2n2b2/4NR2/3P4/PB5Q/1P4PP/3R2K1 w - - bm Qxh7+; id "WAC.241";
r1b1r1k1/pp1nqp2/2p1p1pp/8/4N3/P1Q1P3/1P3PPP/1BRR2K1 w - - bm Rxd7; id
"WAC.242";
1r3r1k/3p4/1p1Nn1R1/4Pp1q/pP3P1p/P7/5Q1P/6RK w - - bm Qe2; id "WAC.243";
r6r/pp3ppp/3k1b2/2pb4/B4Pq1/2P1Q3/P5PP/1RBR2K1 w - - bm Qxc5+; id "WAC.244";
4rrn1/ppq3bk/3pPnpp/2p5/2PB4/2NQ1RPB/PP5P/5R1K w - - bm Qxg6+; id "WAC.245";
6R1/4qp1p/ppr1n1pk/8/1P2P1QP/6N1/P4PP1/6K1 w - - bm Qh5+; id "WAC.246";
2k1r3/1p2Bq2/p2Qp3/Pb1p1p1P/2pP1P2/2P5/2P2KP1/1R6 w - - bm Rxb5; id
"WAC.247";
5r1k/1p4pp/3q4/3Pp1R1/8/8/PP4PP/4Q1K1 b - - bm Qc5+; id "WAC.248";
r4rk1/pbq2pp1/1ppbpn1p/8/2PP4/1P1Q1N2/PBB2PPP/R3R1K1 w - - bm c5 d5; id
"WAC.249";
1b5k/7P/p1p2np1/2P2p2/PP3P2/4RQ1R/q2r3P/6K1 w - - bm Re8+; id "WAC.250";
k7/p4p2/P1q1b1p1/3p3p/3Q4/7P/5PP1/1R4K1 w - - bm Qe5 Qf4; id "WAC.251";
1rb1r1k1/p1p2ppp/5n2/2pP4/5P2/2QB4/qNP3PP/2KRB2R b - - bm Re2; id "WAC.252";
k5r1/p4b2/2P5/5p2/3P1P2/4QBrq/P5P1/4R1K1 w - - bm Qe8+; id "WAC.253";
r6k/pp3p1p/2p1bp1q/b3p3/4Pnr1/2PP2NP/PP1Q1PPN/R2B2RK b - - bm Nxh3; id
"WAC.254";
3r3r/p4pk1/5Rp1/3q4/1p1P2RQ/5N2/P1P4P/2b4K w - - bm Rfxg6+; id "WAC.255";
3r1rk1/1pb1qp1p/2p3p1/p7/P2Np2R/1P5P/1BP2PP1/3Q1BK1 w - - bm Nf5; id
"WAC.256";
4r1k1/pq3p1p/2p1r1p1/2Q1p3/3nN1P1/1P6/P1P2P1P/3RR1K1 w - - bm Rxd4; id
"WAC.257";
r3brkn/1p5p/2p2Ppq/2Pp3B/3Pp2Q/4P1R1/6PP/5R1K w - - bm Bxg6; id "WAC.258";
r1bq1rk1/ppp2ppp/2np4/2bN1PN1/2B1P3/3p4/PPP2nPP/R1BQ1K1R w - - bm Qh5; id
"WAC.259";
2r2b1r/p1Nk2pp/3p1p2/N2Qn3/4P3/q6P/P4PP1/1R3K1R w - - bm Qe6+; id "WAC.260";
r5k1/1bp3pp/p2p4/1p6/5p2/1PBP1nqP/1PP3Q1/R4R1K b - - bm Nd4; id "WAC.261";
6k1/p1B1b2p/2b3r1/2p5/4p3/1PP1N1Pq/P2R1P2/3Q2K1 b - - bm Rh6; id "WAC.262";
rnbqr2k/pppp1Qpp/8/b2NN3/2B1n3/8/PPPP1PPP/R1B1K2R w KQ - bm Qg8+; id
"WAC.263";
r2r2k1/1R2qp2/p5pp/2P5/b1PN1b2/P7/1Q3PPP/1B1R2K1 b - - bm Rab8; id
"WAC.264";
2r1k2r/2pn1pp1/1p3n1p/p3PP2/4q2B/P1P5/2Q1N1PP/R4RK1 w k - bm exf6; id
"WAC.265";
r3q2r/2p1k1p1/p5p1/1p2Nb2/1P2nB2/P7/2PNQbPP/R2R3K b - - bm Rxh2+; id
"WAC.266";
2r1kb1r/pp3ppp/2n1b3/1q1N2B1/1P2Q3/8/P4PPP/3RK1NR w Kk - bm Nc7+; id
"WAC.267";
2r3kr/ppp2n1p/7B/5q1N/1bp5/2Pp4/PP2RPPP/R2Q2K1 w - - bm Re8+; id "WAC.268";
2kr2nr/pp1n1ppp/2p1p3/q7/1b1P1B2/P1N2Q1P/1PP1BPP1/R3K2R w KQ - bm axb4; id
"WAC.269";
2r1r1k1/pp1q1ppp/3p1b2/3P4/3Q4/5N2/PP2RPPP/4R1K1 w - - bm Qg4; id "WAC.270";
2kr4/ppp3Pp/4RP1B/2r5/5P2/1P6/P2p4/3K4 w - - bm Rd6; id "WAC.271";
nrq4r/2k1p3/1p1pPnp1/pRpP1p2/P1P2P2/2P1BB2/1R2Q1P1/6K1 w - - bm Bxc5; id
"WAC.272";
2k4B/bpp1qp2/p1b5/7p/1PN1n1p1/2Pr4/P5PP/R3QR1K b - - bm Ng3+; id "WAC.273";
8/1p6/p5R1/k7/Prpp4/K7/1NP5/8 w - - bm Rb6; id "WAC.274";
r1b2rk1/1p1n1ppp/p1p2q2/4p3/P1B1Pn2/1QN2N2/1P3PPP/3R1RK1 b - - bm Nxg2 b5;
id "WAC.275";
r5k1/pp1RR1pp/1b6/6r1/2p5/B6P/P4qPK/3Q4 w - - bm Qd5+; id "WAC.276";
1r4r1/p2kb2p/bq2p3/3p1p2/5P2/2BB3Q/PP4PP/3RKR2 b - - bm Rg3 Rxg2; id
"WAC.277";
r2qkb1r/pppb2pp/2np1n2/5pN1/2BQP3/2N5/PPP2PPP/R1B1K2R w KQkq - bm Bf7+; id
"WAC.278";
r7/4b3/2p1r1k1/1p1pPp1q/1P1P1P1p/PR2NRpP/2Q3K1/8 w - - bm Nxf5; id
"WAC.279";
r1r2bk1/5p1p/pn4p1/N2b4/3Pp3/B3P3/2q1BPPP/RQ3RK1 b - - bm Bxa3; id
"WAC.280";
2R5/2R4p/5p1k/6n1/8/1P2QPPq/r7/6K1 w - - bm Rxh7+; id "WAC.281";
6k1/2p3p1/1p1p1nN1/1B1P4/4PK2/8/2r3b1/7R w - - bm Rh8+; id "WAC.282";
3q1rk1/4bp1p/1n2P2Q/3p1p2/6r1/Pp2R2N/1B4PP/7K w - - bm Ng5; id "WAC.283";
3r3k/pp4pp/8/1P6/3N4/Pn2P1qb/1B1Q2B1/2R3K1 w - - bm Nf5; id "WAC.284";
2rr3k/1b2bppP/p2p1n2/R7/3P4/1qB2P2/1P4Q1/1K5R w - - bm Qxg7+; id "WAC.285";
3r1k2/1p6/p4P2/2pP2Qb/8/1P1KB3/P6r/8 b - - bm Rxd5+; id "WAC.286";
rn3k1r/pp2bBpp/2p2n2/q5N1/3P4/1P6/P1P3PP/R1BQ1RK1 w - - bm Qh5; id
"WAC.287";
r1b2rk1/p4ppp/1p1Qp3/4P2N/1P6/8/P3qPPP/3R1RK1 w - - bm Nf6+; id "WAC.288";
2r3k1/5p1p/p3q1p1/2n3P1/1p1QP2P/1P4N1/PK6/2R5 b - - bm Qe5; id "WAC.289";
2k2r2/2p5/1pq5/p1p1n3/P1P2n1B/1R4Pp/2QR4/6K1 b - - bm Ne2+; id "WAC.290";
5r1k/3b2p1/p6p/1pRpR3/1P1P2q1/P4pP1/5QnP/1B4K1 w - - bm h3; id "WAC.291";
4r3/1Q1qk2p/p4pp1/3Pb3/P7/6PP/5P2/4R1K1 w - - bm d6+; id "WAC.292";
1nbq1r1k/3rbp1p/p1p1pp1Q/1p6/P1pPN3/5NP1/1P2PPBP/R4RK1 w - - bm Nfg5; id
"WAC.293";
3r3k/1r3p1p/p1pB1p2/8/p1qNP1Q1/P6P/1P4P1/3R3K w - - bm Bf8 Nf5 Qf4; id
"WAC.294";
4r3/p4r1p/R1p2pp1/1p1bk3/4pNPP/2P1K3/2P2P2/3R4 w - - bm Rxd5+; id "WAC.295";
3r4/1p2k2p/p1b1p1p1/4Q1Pn/2B3KP/4pP2/PP2R1N1/6q1 b - - bm Rd4+ Rf8; id
"WAC.296";
3r1rk1/p3qp1p/2bb2p1/2p5/3P4/1P6/PBQN1PPP/2R2RK1 b - - bm Bxg2 Bxh2+; id
"WAC.297";
3Q4/p3b1k1/2p2rPp/2q5/4B3/P2P4/7P/6RK w - - bm Qh8+; id "WAC.298";
1n2rr2/1pk3pp/pNn2p2/2N1p3/8/6P1/PP2PPKP/2RR4 w - - bm Nca4; id "WAC.299";
b2b1r1k/3R1ppp/4qP2/4p1PQ/4P3/5B2/4N1K1/8 w - - bm g6; id "WAC.300";
****End




----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= - Total Privacy via Encryption =---




 
Date: 28 Aug 2008 00:45:40
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Tony M <tmokonen@yahoo.com > (00:15) schrieb:

> I don't think FinalFun 0.1 would be competitive with your program, it
> is very basic, with what appears to be a material only evaluation,
> with equal moves in order of how they were generated. (I believe,
> maybe Simon can confirm this).

You got it all right. Actually below the root there is move ordering at
all (besides the TT's best move). Since its opening is totally silly,
using an external book is mandatory when playing anything that's not
POS.

And yes, I guess in a match Getclub would win against Finalfun. If
Getclub manages to mate it. :-)

mfg, simon .... l


 
Date: 24 Aug 2008 15:43:03
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Tony M <tmokonen@yahoo.com > (02:39) schrieb:

> Strength matters not a whit to me. After all, my Tony's Chess is only
> 1500ish, yet I still enjoy watching it compete in tournaments like
> Chesswar and Le System Du Suisse. I'll just as gleefully download the
> latest version of, say, POS as I would the latest version of Fruit.

OK, if that's the same POS by Folkert van Heusden we are talking about.
I posted some matches against it in the past. You can find them in
Google Groups.

> Being a weak player, I'd rather play a program that might actually
> give me the occasional chance to win.

Finalfun gives you that chance every time if you find out how to
exploit it's silly opening.

> A jar would be fine, though source is always nice.

You address is working? Can I send about 200kB there or should I send an
URL?

mfg, simon ....


  
Date: 24 Aug 2008 17:03:34
From: Tony M
Subject: Re: GetClub Updated Results.
On Sun, 24 Aug 2008 15:43:03 +0200, Simon Krahnke <overlord@gmx.li >
wrote:

>* Tony M <tmokonen@yahoo.com> (02:39) schrieb:
>
>> Strength matters not a whit to me. After all, my Tony's Chess is only
>> 1500ish, yet I still enjoy watching it compete in tournaments like
>> Chesswar and Le System Du Suisse. I'll just as gleefully download the
>> latest version of, say, POS as I would the latest version of Fruit.
>
>OK, if that's the same POS by Folkert van Heusden we are talking about.
>I posted some matches against it in the past. You can find them in
>Google Groups.
>

That would be the same POS, yes. I mentioned it because it's been
posted about in this newsgroup, and it's at or near the bottom of most
rating lists. It's kind of an experimental program, it doesn't even
have an alpha-beta based search.

>> Being a weak player, I'd rather play a program that might actually
>> give me the occasional chance to win.
>
>Finalfun gives you that chance every time if you find out how to
>exploit it's silly opening.
>
>> A jar would be fine, though source is always nice.
>
>You address is working? Can I send about 200kB there or should I send an
>URL?
>

The address should be working, and Yahoo allows up to, I believe, 10MB
per message.

Thanks Simon.

>mfg, simon ....

Tony


 
Date: 24 Aug 2008 15:11:38
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Guest <none@example.none > (02:31) schrieb:

>>>>> But some people don't feel it's a good judge of a good position. Good
>>>>> positions have good mobility because they are good positions. Not:
>>>>> good positions are good positions because they have good mobility.
>>>>
>>>> But that actually doesn't matter when all you need is a correlation.
>>>
>>> The issue is the extra time it takes to do the mobility scoring.
>>>
>>> Some feel that the time is better spent doing other things. Things that
>>> actually measure the 'good position' aspect.
>>
>> Sure, but that's got nothing too do with the above misconception.
>
> You were saying "Mobility is good enough because there is a correlation."

Well, if there is a correlation. It might be that some bad position show
good mobility, too.

> I was saying, "So what? It's too expensive to be worth it. Many feel its
> better to spend the time doing other stuff instead."

That's the difference between not effective and not efficient enough.

It easy to step out and proudly declare it's not worth the time. A
researcher would benchmark it. :-)

>>> I haven't checked to see what the top open source programs do.
>>>
>>> Pesonally, I don't want to do mobility simply because of the extra time.
>>> But I'm rarely concerned about how well my program actually plays. I had
>>> more fun just programming it.
>>
>> Yes, we probably can't beat Rybka and Co. Or even Crafty. So why try. :-)
>
> If it makes us feel any better, Hyatt can't beat Rybka either.
>
> He's been doing computer chess 40 years now. He runs on much more extreme
> hardware. And he still can't match Rybka etc.

> Hyatt has spent so much time doing computer chess, it's a wonder he's found
> time to become a professor and actually teach and have a family.

I guess that somehow helps him teaching. :-)

mfg, simon .... l


 
Date: 24 Aug 2008 01:37:42
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Guest <none@example.none > (17:49) schrieb:

> "Simon Krahnke" <overlord@gmx.li> wrote in message
> news:87ljynlw7r.fsf@xts.gnuu.de...
>>
>>> I've never actually run them or even looked at them. (I don't have a
>>> current program, so... (shrug))
>>
>> Do you think about starting one?
>
> I did a couple chess a few years ago, but I 'burned out' on it.
>
> I reached a point where I didn't want to even think about computer chess.
>
> Lately, my interest is starting to come back, but I'm not sure if I would
> have enough long term interest to actually start from scratch.
>
> I might take an old one and gut it and refactor it, etc.
>
> I don't know yet. I've got another project going and I should probably get
> done with it before starting anything new.
>
>
>>>> Actually the move Bh2+ is found at depth 3/5 with a score of 1.99
>>>> (there's that error again).
>>>
>>> Are you using floating point to hold the score?
>>
>> Of course not. I actually read that thread recently. Too late to add my
>> comment to it. :-(
>
> I was just curious, because some people do prefer to use a float. They more
> easily think of adding a quarter pawn as .25.

But then there is no centipawn alias 0.01.

> There aren't many advantages, though.

I'd say there are none.

> I guess one of the few is that you can set a score to NaN and some of
> the other floating point constants. Not a huge advantage though.

You could just as well use special integer values.

>>> 3) pawn based mobility. (As if there were only pawns on the board.)
>>
>> Aka blocked and passed pawns?
>
> Just pawns in general. As if the board contained only the pawns and the one
> piece you are counting the moves for at that particular time.

Ah, pawns *and* the piece you are testing.

> The idea is that pawns move so rarely that they are the biggest influence in
> how many squares a piece can move to. All the other pieces are likely to
> move instead of being captured.
>
> (shrug)
>
> I have no idea which would be 'best'. Just that a lot of things have been
> tried.
>
>
>>
>>> But some people don't feel it's a good judge of a good position. Good
>>> positions have good mobility because they are good positions. Not: good
>>> positions are good positions because they have good mobility.
>>
>> But that actually doesn't matter when all you need is a correlation.
>
> The issue is the extra time it takes to do the mobility scoring.
>
> Some feel that the time is better spent doing other things. Things that
> actually measure the 'good position' aspect.

Sure, but that's got nothing too do with the above misconception.

> I haven't checked to see what the top open source programs do.
>
> Pesonally, I don't want to do mobility simply because of the extra time.
> But I'm rarely concerned about how well my program actually plays. I had
> more fun just programming it.

Yes, we probably can't beat Rybka and Co. Or even Crafty. So why try. :-)

> I'm sure a random number generator isn't going to help a program with a good
> evaluator. But if you have a very poor eval (such as just material and a
> few minor things), maybe it would help.

If you start fresh you usually have no evaluation at all, so it's surely
worth a try. You can later do regression test on that.

It won't work with mtd(f), but that doesn't work so well in chess
anyway. Time to try pvs.

mfg, simon .... l


  
Date: 23 Aug 2008 19:31:16
From: Guest
Subject: Re: GetClub Updated Results.
"Simon Krahnke" <overlord@gmx.li > wrote in message
news:87d4jzl2ux.fsf@xts.gnuu.de...
>* Guest <none@example.none> (17:49) schrieb:
>
>> I was just curious, because some people do prefer to use a float. They
>> more
>> easily think of adding a quarter pawn as .25.
>
> But then there is no centipawn alias 0.01.

Not everybody works in centipawns.

Some people do pawns as a value of 64 instead of 100. So binary fractions
work well for them.


>> There aren't many advantages, though.
>
> I'd say there are none.
>
>> I guess one of the few is that you can set a score to NaN and some of
>> the other floating point constants. Not a huge advantage though.
>
> You could just as well use special integer values.

True.

But the advantages of NaN etc. is that it stays NaN no matter what you do to
it.

Not a big advantage no, but it can be useful for setting error conditions or
error values and so on.

Maybe that's my numerical background showing, though.


>>>> But some people don't feel it's a good judge of a good position. Good
>>>> positions have good mobility because they are good positions. Not:
>>>> good
>>>> positions are good positions because they have good mobility.
>>>
>>> But that actually doesn't matter when all you need is a correlation.
>>
>> The issue is the extra time it takes to do the mobility scoring.
>>
>> Some feel that the time is better spent doing other things. Things that
>> actually measure the 'good position' aspect.
>
> Sure, but that's got nothing too do with the above misconception.

You were saying "Mobility is good enough because there is a correlation."

I was saying, "So what? It's too expensive to be worth it. Many feel its
better to spend the time doing other stuff instead."



>> I haven't checked to see what the top open source programs do.
>>
>> Pesonally, I don't want to do mobility simply because of the extra time.
>> But I'm rarely concerned about how well my program actually plays. I had
>> more fun just programming it.
>
> Yes, we probably can't beat Rybka and Co. Or even Crafty. So why try. :-)

If it makes us feel any better, Hyatt can't beat Rybka either.

He's been doing computer chess 40 years now. He runs on much more extreme
hardware. And he still can't match Rybka etc.


Hyatt has spent so much time doing computer chess, it's a wonder he's found
time to become a professor and actually teach and have a family.





----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= - Total Privacy via Encryption =---


 
Date: 24 Aug 2008 01:43:49
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Tony M <tmokonen@yahoo.com > (18:16) schrieb:

> On Sat, 23 Aug 2008 04:30:24 +0200, Simon Krahnke <overlord@gmx.li> wrote:
>
>> Finalfun is a Java program.
>
> Hi Simon, is Finalfun available for download? I wouldn't mind giving
> it a try.

Why? It's not really worth the time. Need the source or just the jar file?

Everyone wants to have my programs. When I mentioned my simple raytracer
over in comp.lang.ruby two people were after it. Must be a star
programmer. :- >

mfg, simon .... l


  
Date: 28 Aug 2008 08:48:13
From: Sanny
Subject: Re: GetClub Updated Results.
On Aug 28, 8:17=A0pm, Tony M <tmoko...@yahoo.com > wrote:
> On Thu, 28 Aug 2008 15:16:27 GMT, Tony M <tmoko...@yahoo.com> wrote:
> >Liectenstein
>
> Grr, Liechtenstein. =A0I *really* need sleep.

Good night and sweet dreams.

Bye
Sanny

Play Chess at: http://www.GetClub.com/Chess.html


  
Date: 24 Aug 2008 00:39:30
From: Tony M
Subject: Re: GetClub Updated Results.
On Sun, 24 Aug 2008 01:43:49 +0200, Simon Krahnke <overlord@gmx.li >
wrote:

>* Tony M <tmokonen@yahoo.com> (18:16) schrieb:
>
>> On Sat, 23 Aug 2008 04:30:24 +0200, Simon Krahnke <overlord@gmx.li> wrote:
>>
>>> Finalfun is a Java program.
>>
>> Hi Simon, is Finalfun available for download? I wouldn't mind giving
>> it a try.
>
>Why? It's not really worth the time. Need the source or just the jar file?
>
>Everyone wants to have my programs. When I mentioned my simple raytracer
>over in comp.lang.ruby two people were after it. Must be a star
>programmer. :->
>
>mfg, simon .... l

Strength matters not a whit to me. After all, my Tony's Chess is only
1500ish, yet I still enjoy watching it compete in tournaments like
Chesswar and Le System Du Suisse. I'll just as gleefully download the
latest version of, say, POS as I would the latest version of Fruit.
Being a weak player, I'd rather play a program that might actually
give me the occasional chance to win.

A jar would be fine, though source is always nice.

Tony


 
Date: 23 Aug 2008 15:03:36
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Guest <none@example.none > (05:29) schrieb:

>> I think Finalfun scores nada on silent but deadly.
>
> With just material, I'm not surprised.

I didn't actually test that through, so it just means we think the same
about that.

> I don't know what would be needed for that one, but I'd expect it'd be more
> than mobility and a little pawn knowledge. Maybe a few piece square tables?

Piece/square tables are actually the simplest thing to do (though hard
to do right). We did them in Basicfun at the university course.

> I've never actually run them or even looked at them. (I don't have a
> current program, so... (shrug))

Do you think about starting one?

>>> Most of the mates are shallow enough they'll be solved instantly. Even a
>>> Java programs shouldn't need 30 seconds.
>>
>> Finalfun is a Java program.
>
> Maybe you ought to offer it to Sanny....

:-)

Well, there's Jester. I never looked at it.

>> Of course. Finalfun doesn't do *any* reductions (not even null move). So
>> that means 3 fully searched plies.
>
> Because of how you do king captures & check's, you might be detecting it a
> move earlier though.
>
> With the "Wait until the king is captured" method, it can take one extra
> plain ply.

Only a q-search ply, because it's a capture.

> (Check extensions mean you'll still see it, but it'll be counted
> as one more ply.)

Yeah, but that's the second number.

>> Actually the move Bh2+ is found at depth 3/5 with a score of 1.99
>> (there's that error again).
>
> Are you using floating point to hold the score?

Of course not. I actually read that thread recently. Too late to add my
comment to it. :-(

>> There wasn't even a time limit :-). One game I operated we both had
>> implemented XBoard, so the game could run automatically. That was good
>> because the other engine took minutes for each move.
>
> Well then heck, you should have let it run for a full day between moves!

1. No, there some kind of implied time limit. Some thing like "reasonable".
2. That actually doesn't help much in a simple program, the bf is too high.

> The Russians weren't happy with the way their program wasn't beating the US
> program, so they expanded the search width to full width and let it think
> for much longer. The result being their program then won.

So much for selective search. :-)

>> The only thing I remember about the Smalltalk program is its annoying
>> way to enter move. Our own interface had drag&drop. They had a pop-up
>> window that asked for name of the start square, then a second window
>> popped up, asking for the target square, then a third pop-up window asked
>> for confirmation of that move.
>
> (shudder)
>
> I guess whoever programed it didn't actually put much thought in playing it.

And probably didn't play it much. I did only watch my partners operate
it, showing me how annoying it was.

> Actually there are several definitions of 'mobility'.
>
> 1) Legal mobility.
>
> 2) pseudo-legal mobility.

Which kind you use probably is the same as your usual generator.

> 3) pawn based mobility. (As if there were only pawns on the board.)

Aka blocked and passed pawns?

> But some people don't feel it's a good judge of a good position. Good
> positions have good mobility because they are good positions. Not: good
> positions are good positions because they have good mobility.

But that actually doesn't matter when all you need is a correlation.

> A few days ago I was going through the forums, saving interesting threads to
> my drive and I happened to see it.
>
> http://www.talkchess.com/forum/viewtopic.php?topic_view=threads&p=205916&t=22731

Thanks! I might try that some day.

mfg, simon .... l


  
Date: 23 Aug 2008 10:49:34
From: Guest
Subject: Re: GetClub Updated Results.
"Simon Krahnke" <overlord@gmx.li > wrote in message
news:87ljynlw7r.fsf@xts.gnuu.de...
>
>> I've never actually run them or even looked at them. (I don't have a
>> current program, so... (shrug))
>
> Do you think about starting one?

I did a couple chess a few years ago, but I 'burned out' on it.

I reached a point where I didn't want to even think about computer chess.

Lately, my interest is starting to come back, but I'm not sure if I would
have enough long term interest to actually start from scratch.

I might take an old one and gut it and refactor it, etc.

I don't know yet. I've got another project going and I should probably get
done with it before starting anything new.


>>> Actually the move Bh2+ is found at depth 3/5 with a score of 1.99
>>> (there's that error again).
>>
>> Are you using floating point to hold the score?
>
> Of course not. I actually read that thread recently. Too late to add my
> comment to it. :-(

I was just curious, because some people do prefer to use a float. They more
easily think of adding a quarter pawn as .25.

And as long as you work in fractional binary, it'll still be accurate.

There aren't many advantages, though. I guess one of the few is that you
can set a score to NaN and some of the other floating point constants. Not
a huge advantage though.


>> The Russians weren't happy with the way their program wasn't beating the
>> US
>> program, so they expanded the search width to full width and let it think
>> for much longer. The result being their program then won.
>
> So much for selective search. :-)

Selective Search was pretty niave back then.

There have been a few major selective search programs over the years, but to
my knowledge only 4 of them have stood out among their peers at the time.

MacHack VI, by Greenblatt of course.

Chess 3.6, by Slate & Atkin.

Awit by Tony Marsland.

Chaos by Swartz & Alexander.

Awit & Chaos were the only ones still around in the mid 80's. They weren't
massive successes, but they usually did 'middle of the pack' among the other
programs.



>> 3) pawn based mobility. (As if there were only pawns on the board.)
>
> Aka blocked and passed pawns?

Just pawns in general. As if the board contained only the pawns and the one
piece you are counting the moves for at that particular time.

The idea is that pawns move so rarely that they are the biggest influence in
how many squares a piece can move to. All the other pieces are likely to
move instead of being captured.

(shrug)

I have no idea which would be 'best'. Just that a lot of things have been
tried.


>
>> But some people don't feel it's a good judge of a good position. Good
>> positions have good mobility because they are good positions. Not: good
>> positions are good positions because they have good mobility.
>
> But that actually doesn't matter when all you need is a correlation.

The issue is the extra time it takes to do the mobility scoring.

Some feel that the time is better spent doing other things. Things that
actually measure the 'good position' aspect.

I haven't checked to see what the top open source programs do.

Pesonally, I don't want to do mobility simply because of the extra time.
But I'm rarely concerned about how well my program actually plays. I had
more fun just programming it.


>> A few days ago I was going through the forums, saving interesting threads
>> to
>> my drive and I happened to see it.
>>
>> http://www.talkchess.com/forum/viewtopic.php?topic_view=threads&p=205916&t=22731
>
> Thanks! I might try that some day.

It is really odd.

It's something that you would first think couldn't possibly work, but after
you read the details and you think about it, you really start to wonder.

I guess that's the mark of a researcher. Get a strange idea and actually
try it instead of assuming it couldn't work.

I wish I had Don Beal's original paper. I suppose I could email him and ask
for a copy, but...


I'm sure a random number generator isn't going to help a program with a good
evaluator. But if you have a very poor eval (such as just material and a
few minor things), maybe it would help.

Interesting though.




----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= - Total Privacy via Encryption =---


 
Date: 23 Aug 2008 13:27:25
From: Simon Krahnke
Subject: Re: Sanny: Some test positions for you
* Sanny <softtanks@hotmail.com > (08:35) schrieb:

> Though after improvement GetClub scored 44% it missed some Mate
> Positions So I revert back to original.
>
> I will again test in the evening to see if the new score.
>
> Beginner Solving 39% is good enough. It means Easy Level will sove
> arround 60% of them.

But that's just a guess, right?

You never know, until you test.

mfg, simon .... l


 
Date: 23 Aug 2008 13:24:54
From: Simon Krahnke
Subject: Re: Beginner Level Results
* Guest <none@example.none > (05:41) schrieb:

> The catch is, that if between the repetition positions, your castling
> ability changes, like you are in check but you block it instead of moving
> your king, then technically your castling rights changed.
>
> There was a period there where you could not castle.
>
> It's temporary, but still your rights had changed.

Ah, now I get it.

mfg, simon .... l


 
Date: 23 Aug 2008 05:17:34
From: Simon Krahnke
Subject: Re: Beginner Level Results
* Guest <none@example.none > (03:37) schrieb:

> Also, some time back there was a discussion about the wording of the draw by
> repetition when castling status changes were involved.

Here by castling status you mean what the castling field in FEN specifies.

> The way its worded can make it sound like if your castling status changes
> even briefly, then it wont be an exact repetition.
>
> That's occured in a few tournaments too. I guy I know sent me a link about
> that. The TD agreed the wording of the rules does certainly make it sound
> that way, and that if you interpret it literally then it would be, but that
> traditionally chess isn't played that way, so temporary castling status
> changes don't effect repetition.

So that way you have to ignore castling rights for repetition?

> Other TD's can rule their own way, though. If they are more literal minded,
> then...

I guess most engine programmers are more literally minded on this.

After all, it's nice to use the same key for repetition detection and for
transposition table lookup.

mfg, simon .... l


  
Date: 22 Aug 2008 22:41:41
From: Guest
Subject: Re: Beginner Level Results

"Simon Krahnke" <overlord@gmx.li > wrote in message
news:874p5cmnch.fsf@xts.gnuu.de...
>* Guest <none@example.none> (03:37) schrieb:
>
>> Also, some time back there was a discussion about the wording of the draw
>> by
>> repetition when castling status changes were involved.
>
> Here by castling status you mean what the castling field in FEN specifies.

No. Actual castling rights during a game.


>
>> The way its worded can make it sound like if your castling status changes
>> even briefly, then it wont be an exact repetition.
>>
>> That's occured in a few tournaments too. I guy I know sent me a link
>> about
>> that. The TD agreed the wording of the rules does certainly make it
>> sound
>> that way, and that if you interpret it literally then it would be, but
>> that
>> traditionally chess isn't played that way, so temporary castling status
>> changes don't effect repetition.
>
> So that way you have to ignore castling rights for repetition?

Right. At least in between the moves.

The thing is, apparently the way the rules are worded is something like
this: (I'm going from memory here, so this might not be exact.)

Draw by repetition requires that a position to have previously occured with
the same position, side to move, and rights.

In other words, you have to still be able to castle.

The catch is, that if between the repetition positions, your castling
ability changes, like you are in check but you block it instead of moving
your king, then technically your castling rights changed.

There was a period there where you could not castle.

It's temporary, but still your rights had changed.

The way the rules are supposedly worded is that can be taken to mean even
temporary changes in your castling status can void a repeition claim.

And apparently the issue has actually come up in some tournaments. Somebody
had claimed a repetition but the other person pointed out the castling
issue.

The one link I was shown said the Tournament Director did rule in favor of
the reptition. He agreed that the rules did indeed say that, but that
wasn't what it was supposed to mean and that wasn't how chess was normally
done. That by tradition, it was a repetition in spite of the wording of the
rules.


(shrug) Fortunately most of my programs never put that much effort into
following the rules. I was always more concerned about having fun
programming than getting every single rule exactly right.





----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= - Total Privacy via Encryption =---


 
Date: 23 Aug 2008 04:30:24
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Guest <none@example.none > (00:44) schrieb:

> There are testing suites with much more emphesis on positional abilities,
> but he's not ready for that.

I think Finalfun scores nada on silent but deadly.

>> I ran Finalfun 5s on every of the 300 positions and it score 188/300 =
>> 62.7%.
>>
>> 188 of 300 matching moves
>> 2008-08-22 22:40:48, Total time: 00:31:22
>> Rated time: 10:31 = 631 Seconds
>>
>> It spent rarely any time on the hits, they were mostly solved in less than
>> 1s.
>
> Most of the mates are shallow enough they'll be solved instantly. Even a
> Java programs shouldn't need 30 seconds.

Finalfun is a Java program.

> Many of the others are materialistic enough they'll at least get the right
> answer without too much effort.
>
> That leaves a hundred or so that requires some effort.

That's obviously the 112 ones Finalfun couldn't solve. :-)

>>> You shouldn't be missing any mate-in-2 positions. None.
>>
>> Finalfun finds them at depth 3.
>
> Depends on how you count & report them.

Of course. Finalfun doesn't do *any* reductions (not even null move). So
that means 3 fully searched plies.

> Depending on the kind of search extensions you have, some programs can find
> mate at a much shallower iterative search depth than others.

Some mates end in captures. One can find them in q-search.

>> Position 9 is a mate in 5 (Finalfun says so), it's found in 4s at depth
>> 5/9.
>
> Yup.

Actually the move Bh2+ is found at depth 3/5 with a score of 1.99
(there's that error again).

> I wouldn't expect GC's beginner level to get that or #8, which is mate in 7.
>
>> Mmpf, all the other engines tell me it's a mate in 4.
>
> Depends on how it's counted & reported.
>
> Not all programs even find the shortest mate. Because of the way they
> search, they sometimes just find *a* mate rather than the closest one.

Yeah, Finalfun obviously missed a shorter mate here. But it found it at
depth 5, I would expect an accurate mate score at depth 8.

I'm just now trying that. It took 6s now, a video stream in the
background in the background probably slows it down :-). But that shows
again how timing matters. With the 5s limit it wouldn't reach depth 5
under this conditions.

It's too damn slow. I just interrupted and cheat by saying "go infinite
searchmoves Bh2+" in the arena debug window. It's much faster now only
searching the right move. But it's still at +M5 at depth 9/19. Mmpf.

So depth 10/22. Still at +M5. Stop. But what am I hunting? Rerun
Shredder 8 on it: +M4, but just 2 plies pv. Let's play them. Still +M4.
Wtf? Now it gives a complete pv exactly identical to Finalfun's.
Cheater. Now all the engines agree it's a mate in 5.



  
Date: 28 Aug 2008 23:51:44
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Tony M <tmokonen@yahoo.com > (16:33) schrieb:

> I didn't implement analysis mode yet, sorry. The program does not
> check for keyboard input during the search.

Ah, of course. I do the search in an extra thread. It's quite easy to do
in Java.

> BookThinker is a utility that comes with the chess engine Thinker.

Thanks.

mfg, simon .... l


  
Date: 28 Aug 2008 23:39:07
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Tony M <tmokonen@yahoo.com > (17:16) schrieb:

> Sorry, Simon, I missed your first question. No sleep last night. :)
> I'm from Vancouver, BC, Canada.

Nearly everyone seems to be from the american west coast here. :-)

> I actually was going to ask you the same thing, one of your addresses
> says Germany, and the other says Liectenstein.

Germany is right, Hamburg to be exact.

mfg, simon .... l


  
Date: 23 Aug 2008 16:16:42
From: Tony M
Subject: Re: GetClub Updated Results.
On Sat, 23 Aug 2008 04:30:24 +0200, Simon Krahnke <overlord@gmx.li >
wrote:

>* Guest <none@example.none> (00:44) schrieb:
>
>> There are testing suites with much more emphesis on positional abilities,
>> but he's not ready for that.
>
>I think Finalfun scores nada on silent but deadly.
>
>>> I ran Finalfun 5s on every of the 300 positions and it score 188/300 =
>>> 62.7%.
>>>
>>> 188 of 300 matching moves
>>> 2008-08-22 22:40:48, Total time: 00:31:22
>>> Rated time: 10:31 = 631 Seconds
>>>
>>> It spent rarely any time on the hits, they were mostly solved in less than
>>> 1s.
>>
>> Most of the mates are shallow enough they'll be solved instantly. Even a
>> Java programs shouldn't need 30 seconds.
>
>Finalfun is a Java program.
>

Hi Simon, is Finalfun available for download? I wouldn't mind giving
it a try.

Tony


  
Date: 22 Aug 2008 22:29:41
From: Guest
Subject: Re: GetClub Updated Results.
"Simon Krahnke" <overlord@gmx.li > wrote in message
news:878wuompj3.fsf@xts.gnuu.de...
>* Guest <none@example.none> (00:44) schrieb:
>
>> There are testing suites with much more emphesis on positional abilities,
>> but he's not ready for that.
>
> I think Finalfun scores nada on silent but deadly.

With just material, I'm not surprised.

I don't know what would be needed for that one, but I'd expect it'd be more
than mobility and a little pawn knowledge. Maybe a few piece square tables?

I've never actually run them or even looked at them. (I don't have a
current program, so... (shrug))


>> Most of the mates are shallow enough they'll be solved instantly. Even a
>> Java programs shouldn't need 30 seconds.
>
> Finalfun is a Java program.

Maybe you ought to offer it to Sanny....

There are a number of Java chess programs he could have looked at first.

I still wonder about the structure of his program and the algorithms it
uses.

I bet right about now, he's feeling pretty bummed out about his program's
performance. It went from a 2800 rating to being unable to detect mating
positions in a test suite. That's got to be a bit of an ego deflater.



>>>> You shouldn't be missing any mate-in-2 positions. None.
>>>
>>> Finalfun finds them at depth 3.
>>
>> Depends on how you count & report them.
>
> Of course. Finalfun doesn't do *any* reductions (not even null move). So
> that means 3 fully searched plies.

Because of how you do king captures & check's, you might be detecting it a
move earlier though.

With the "Wait until the king is captured" method, it can take one extra
plain ply. (Check extensions mean you'll still see it, but it'll be counted
as one more ply.)


> Actually the move Bh2+ is found at depth 3/5 with a score of 1.99
> (there's that error again).

Are you using floating point to hold the score?

That'd do it. Just a little round-off error.

Converting to/from centipawns could cause that maybe.


>> At least they didn't make you follow all the rules, exactly.
>
> There wasn't even a time limit :-). One game I operated we both had
> implemented XBoard, so the game could run automatically. That was good
> because the other engine took minutes for each move.

Well then heck, you should have let it run for a full day between moves!

I remember reading that's what the Russian team did way back in the 60's
with the ITEP vs. Kotok-McCarthy program.

Both were selective search programs and they only ran a few minutes search.

The moves were phoned back & forth every day.

The Russians weren't happy with the way their program wasn't beating the US
program, so they expanded the search width to full width and let it think
for much longer. The result being their program then won.


> The only thing I remember about the Smalltalk program is its annoying
> way to enter move. Our own interface had drag&drop. They had a pop-up
> window that asked for name of the start square, then a second window
> popped up, asking for the target square, then a third pop-up window asked
> for confirmation of that move.

(shudder)

I guess whoever programed it didn't actually put much thought in playing it.



>> Not everybody does mobility though. It's fairly time consuming and many
>> feel it doesn't actually provide enough for the cost.
>
> I actually have no idea on how to implement that. Isn't that a move
> generator that doesn't generate moves?

Pretty much.

Actually there are several definitions of 'mobility'.

1) Legal mobility.

2) pseudo-legal mobility.

3) pawn based mobility. (As if there were only pawns on the board.)

4) distinct square mobility. (If two of your pieces can move to the same
square, it's only counted once.)

And there are probably others.

#4 is actually pretty easy to do with bitboards. You can use the
Kogge-Stone (spelling?) method to find all the moves for all the pieces of
the same type. OR them together and then do a bitcount. The K-S method
takes a full 64 bit bitboard and shifts & ands them around until it's
'moved' to all the squares. The bitboard stuff has really gotten
interesting the past few years. Far more interesting than the old rotated
method.

But some people don't feel it's a good judge of a good position. Good
positions have good mobility because they are good positions. Not: good
positions are good positions because they have good mobility.

Me... (shrug) Mobility does slow things down, but I haven't tried #4 with
the bitboard methods so it might be okay.


>> Speaking of mobility, I was reading one of the testing threads by Hyatt
>> recently and he mentioned that you can actually use a random number
>> generator for the mobility score! [...]
>
> Interesting. Can you give a pointer to that? The recent testing threads
> on Talkchess are really huge.

I know!! There's more than 100 pages worth. I got lost in them. I finally
just gave up and am waiting for him to post results of his new tests. (He's
finally getting reliable testing results. Now he's trying to bring the
testing size down to something that's more easily managed but yet sensitive
enough to detect small changes in the program's playing ability.)

A few days ago I was going through the forums, saving interesting threads to
my drive and I happened to see it.

http://www.talkchess.com/forum/viewtopic.php?topic_view=threads&p=205916&t=22731

I email regularly with a couple people who are also interested in computer
chess and follow the forum, and they too were surprised by this. They had
missed it and I had to give them the link so they could read it for
themselves.

Once you actually start thinking about it, it does make a bit of sense.

It's not going to have the reliability of a real mobility score, but if you
random generator is good, then....

Unfortunately I don't have Don Beal's original paper, so I don't know any
real results. Just what Hyatt is repeating.


In another thread, he says "5. Beal even found that random evaluation was
enough to let a full-width search play reasonably. Nobody had thought that
prior to his experiment" I guess that just goes back to "If you don't
test, you don't know".


I'm not so sure I'd trust it in a real program, but it would be interesting
to see some test results about it.





----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= - Total Privacy via Encryption =---


   
Date: 23 Aug 2008 17:26:25
From: Andy Walker
Subject: Re: GetClub Updated Results.
In article <1219461891_546@isp.n >, Guest <none@example.none> wrote:
[mobility:]
>But some people don't feel it's a good judge of a good position. Good
>positions have good mobility because they are good positions. Not: good
>positions are good positions because they have good mobility.

Right. In the early days of computer chess, mobility was often
thought of as Very Important, because it was an important part of human
positional estimation, and because it seemed to correlate strongly with
whether positions were good or bad. The impression I have is that it
was eventually dropped, because it wasn't really telling you anything
new [eg, more material usually means more mobility, but its the extra
material that's good not the extra mobility] and because in the end
it only counts if it leads to tactics [eg, more mobility means I can
perhaps switch my attack faster than you can switch your defence, but
that only matters if the attack wins something, which shows up in the
tactics]. For humans, it's a useful guide near the root of the tree,
but computers do their evaluations at the leaves.

If it's making a comeback, that's Quite Interesting in its
own right, and one wonders what the reasons are.

>>> Speaking of mobility, I was reading one of the testing threads by Hyatt
>>> recently and he mentioned that you can actually use a random number
>>> generator for the mobility score! [...]
>Unfortunately I don't have Don Beal's original paper, so I don't know any
>real results. Just what Hyatt is repeating. [...]
>In another thread, he says "5. Beal even found that random evaluation was
>enough to let a full-width search play reasonably. Nobody had thought that
>prior to his experiment" I guess that just goes back to "If you don't
>test, you don't know".

I think some of the claims made "on behalf of" Don's results
go way beyond what Don himself claimed or measured. A random
evaluation correlates [after minimaxing] quite strongly with number
of moves and so with material, and so plays much better than mere
random moves. Further, such a program still reliably detects mates
and stalemates within the tree, and so will play or avoid any
forced [stale]mate in the same way as [but faster than, because of
the simple evaluation!] any other chess engine. The result was
that a random engine searching [say] to depth 10 heavily defeated
the same engine searching to depth 9, and produced *some* quite
intelligent play [eg "trying" not to lose its own queen but to win
the opponent's]. Don never claimed that the play was good, merely
that it was better than you might expect.

[I discussed this fairly extensively with Don at the time,
and eventually set an exam question on the topic, which stirred up
the external examiner (Jon Mestel, by some sort of serendipity)
more than the students ....]

--
Andy Walker
Nottingham


    
Date: 23 Aug 2008 13:06:39
From: Guest
Subject: Re: GetClub Updated Results.
"Andy Walker" <anw@cuboid.uk > wrote in message
news:g8ph81$1gm$1$8300dec7@news.demon.co.uk...
> In article <1219461891_546@isp.n>, Guest <none@example.none> wrote:
> [mobility:]
>>But some people don't feel it's a good judge of a good position. Good
>>positions have good mobility because they are good positions. Not: good
>>positions are good positions because they have good mobility.
>
> Right. In the early days of computer chess, mobility was often
> thought of as Very Important, because it was an important part of human
> positional estimation, and because it seemed to correlate strongly with
> whether positions were good or bad. The impression I have is that it
> was eventually dropped, because it wasn't really telling you anything
> new [eg, more material usually means more mobility, but its the extra

That and the cost involved.

In older programs it took quite a bit of time to get the mobility.

With some of the newer ways to compute mobility, the cost is much less.
Cheap enough that you could do it if you want to.


> If it's making a comeback, that's Quite Interesting in its
> own right, and one wonders what the reasons are.

I don't know if top programs do it. I don't look at their source or ask.
To be honest, I doubt it though.

But some mid level and low level programs do it because it's a classic idea
and it's so easy to do these days.

The big disadvantage before was the cost involved. Without that penalty
there's no great reason to avoid it.

Whether it actually helps or not, I cna't say.

Might be worth testing publicly though.



> I think some of the claims made "on behalf of" Don's results
> go way beyond what Don himself claimed or measured. A random

Hyatt isn't saying it played well. Just that it played better than expected
and better than just material alone. That it played better than you'd
expect.

That it was a somewhat cheap way to do a fake form of mobility scoring.

Naturally you wouldn't expect any program that does just material and
mobility (fake or real) to play great.


My big question is:

Does the error rate of a random mobility score (and the extra nodes
involved) outweigh the benefit of a faster eval.

With real mobility scoring, it's slow enough that it hurts your searching
speed so you don't search as deep.

With the random one, it's fast enough there's little effect on speed, so you
can still search very fast. But you may have to search more nodes because
of the random factor.

So which would be better? That's what I want to know.

Since neither one would be able to handle openings or end games, you'd have
to start at a middle game and do a fixed number of moves and then run the
position through a judging program to see who was really ahead. Repeat that
a few thousand times to get reliable results.


Then, what about a little bit of knowledge, such as pawns. Would the random
mobility still be useful or would it interfere.


I don't know if Beal tested those kinds of things or not. If not, real
tests would have to be done. Assuming anybody is truely interested in this
beyond the elty factor.

I'm not planning to do these tets, but I think it might be interesting.



> the opponent's]. Don never claimed that the play was good, merely
> that it was better than you might expect.

Right. I didn't say it was great play and Hyatt didn't either.

I don't think anybody would expect it be great. Just a quick way to pretend
to do mobility scoring.


> [I discussed this fairly extensively with Don at the time,
> and eventually set an exam question on the topic, which stirred up
> the external examiner (Jon Mestel, by some sort of serendipity)
> more than the students ....]

Thanks for the personal / direct info.

Always nice to hear info from somebody close to the source.






----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= - Total Privacy via Encryption =---


 
Date: 23 Aug 2008 01:58:53
From: Simon Krahnke
Subject: Re: Beginner Level Results
* Guest <none@example.none > (00:25) schrieb:

> "Simon Krahnke" <overlord@gmx.li> wrote in message
>> The castling doesn't reset the 50 move rule counter.
>
> Apparently not.
>
> I haven't read the FIDE rules in years, but I used to think it did (and so
> did some other authors.) Any irreversible move resets the counter.

The engines I tested in Arena preferred 0-0 too, not getting the
half move clock.

> I guess we read wrong.
>
> The FIDE rules are actually a little fuzzy in some areas.

Not here: It explicitly mentions captures and pawn moves. The concept of
irreversiblity (sp?) is obviously behind that, but is not mentioned.

> However, even if Alex & the others were wrong, it's still a great test
> position because a lot of programs just don't pay attention to the 50 move
> rule part when entering a FEN position.

I guess my Finalfun reads that in correctly but doesn't care about the
50 rule. I know I never implemented repetition.

> Even Winboard / XBoard ignores it and doesn't even pass it to engines.

Arena too.

>> So the above the above board will drawn after both players make a move
>> and black claims draw.
>
> Yup.
>
> Actually, since this is 50 move rule, I'm not sure he has to make the claim.
> I think it's automatic. (As I said, some areas of the rules are fuzzy.)
> But claiming it wont hurt.

50 move and repetition aren't automatic, you have too claim them.

mfg, simon .... l


  
Date: 22 Aug 2008 20:37:58
From: Guest
Subject: Re: Beginner Level Results
"Simon Krahnke" <overlord@gmx.li > wrote in message
news:87d4k0mwjm.fsf@xts.gnuu.de...
>* Guest <none@example.none> (00:25) schrieb:
>
>> I guess we read wrong.
>>
>> The FIDE rules are actually a little fuzzy in some areas.
>
> Not here: It explicitly mentions captures and pawn moves. The concept of
> irreversiblity (sp?) is obviously behind that, but is not mentioned.

That's how I had always heard it explained.

Apparently a lot of people got it that way.


>> Actually, since this is 50 move rule, I'm not sure he has to make the
>> claim.
>> I think it's automatic. (As I said, some areas of the rules are fuzzy.)
>> But claiming it wont hurt.
>
> 50 move and repetition aren't automatic, you have too claim them.

Okay. I always claim it anyway. (Even claiming a draw has to be done
carefully if you are doing it computer vs. computer. The xboard protocol
doesn't give you wa to do it like normal, so you have to do it differently
under xboard than if you do it with a human.)

Insufficient material, such as lone king, is automatic though.

There's been some discussion recently about that.


Also, some time back there was a discussion about the wording of the draw by
repetition when castling status changes were involved.

The way its worded can make it sound like if your castling status changes
even briefly, then it wont be an exact repetition.

That's occured in a few tournaments too. I guy I know sent me a link about
that. The TD agreed the wording of the rules does certainly make it sound
that way, and that if you interpret it literally then it would be, but that
traditionally chess isn't played that way, so temporary castling status
changes don't effect repetition.

Other TD's can rule their own way, though. If they are more literal minded,
then...




>
> mfg, simon .... l





----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= - Total Privacy via Encryption =---


 
Date: 22 Aug 2008 23:50:29
From: Simon Krahnke
Subject: Re: Beginner Level Results
* Guest <none@example.none > (22:42) schrieb:

> 1rk4B/6N1/8/8/8/3p1p1p/3P1P1P/4K2R w K - 98 150
>
> "A lot of engines I tested evaluate this position as won by White, even
> Rybka The two possible involved bugs are: missing reading of 50-move count
> from FEN, and treatment of castling move as an irreversible move which
> resets 50-move count. Alex"

Do I understand that right: Once the half move clock reaches 100 one can
claim a draw, so black and white each have exactly one chance to avoid
draw?

All the pawns are blocked and there are no immediately playable
captures. The castling doesn't reset the 50 move rule counter.

So the above the above board will drawn after both players make a move
and black claims draw.

mfg, simon .... l


  
Date: 22 Aug 2008 17:25:13
From: Guest
Subject: Re: Beginner Level Results
"Simon Krahnke" <overlord@gmx.li > wrote in message
news:87r68gn2hm.fsf@xts.gnuu.de...
>* Guest <none@example.none> (22:42) schrieb:
>
>> 1rk4B/6N1/8/8/8/3p1p1p/3P1P1P/4K2R w K - 98 150
>>
>> "A lot of engines I tested evaluate this position as won by White, even
>> Rybka The two possible involved bugs are: missing reading of 50-move
>> count
>> from FEN, and treatment of castling move as an irreversible move which
>> resets 50-move count. Alex"
>
> Do I understand that right: Once the half move clock reaches 100 one can
> claim a draw, so black and white each have exactly one chance to avoid
> draw?

That's the 50 move rule.

Many people (including my old program) get the halfmove & full move clock
wrong or just ignore it when entering a position.

I ignored it because I thought it didn't matter. Laziness on my part. But
it does matter. (And in fact, some programs actually use a FEN string (or
similar) to save its position as game state for resuming games. For them,
it obviously would matter.)

And acording to Alex (and some of the posts that replied to his message), a
lot of programs actually got it wrong.

It's just one of those interesting positions that aren't likely to be
encountered in real games, but are great debugging positions.


> All the pawns are blocked and there are no immediately playable

Right. So technically a draw even though it looks like it'd be a win for
White.


> captures. The castling doesn't reset the 50 move rule counter.

Apparently not.

I haven't read the FIDE rules in years, but I used to think it did (and so
did some other authors.) Any irreversible move resets the counter.

I guess we read wrong.

The FIDE rules are actually a little fuzzy in some areas.

However, even if Alex & the others were wrong, it's still a great test
position because a lot of programs just don't pay attention to the 50 move
rule part when entering a FEN position.

Even Winboard / XBoard ignores it and doesn't even pass it to engines.


>
> So the above the above board will drawn after both players make a move
> and black claims draw.

Yup.

Actually, since this is 50 move rule, I'm not sure he has to make the claim.
I think it's automatic. (As I said, some areas of the rules are fuzzy.)
But claiming it wont hurt.


>
> mfg, simon .... l
>




----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= - Total Privacy via Encryption =---


 
Date: 22 Aug 2008 23:07:46
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Guest <none@example.none > (19:39) schrieb:

> I'm only looking at the first 20 positions at the moment...

I've gone through the first 10 positions of wac with my Finalfun. It
finds all of them except the seconds. Rybka and Toga II solve that at
depth 14. A little odd among all that Mate-in-x.

I ran Finalfun 5s on every of the 300 positions and it score 188/300 =
62.7%.

188 of 300 matching moves
2008-08-22 22:40:48, Total time: 00:31:22
Rated time: 10:31 = 631 Seconds

It spent rarely any time on the hits, they were mostly solved in less than 1s.

> You shouldn't be missing any mate-in-2 positions. None.

Finalfun finds them at depth 3.

> I can accept that a beginner wouldn't be able to find a mate in 5 or mate in
> 7, etc. I don't mind a beginner level in a program missing those.

Position 9 is a mate in 5 (Finalfun says so), it's found in 4s at depth
5/9.

Mmpf, all the other engines tell me it's a mate in 4.

> The best positional play in the world doesn't mean anything if you miss
> major tactical issues. After all, checkmating your opponent is the object
> of the game.

I remember when we were programming our first chess program at a
university course. The was a tournament at the end the semester where
all team's programs were to play all the others twice. The rules said
that not accepting a legal or generating an illegal move was a loss for
that program. So our objective was to let it play legal chess, with all
the castling, en-passant and under-promotion stuff. Then came
piece/square tables and some opening patches so that it could play a real
game. And the we took care that it could it actually win an end game by
finding mates.

With my own engine FInalfun I even reversed it: It can't play any real
game because of its pure materialistic view nearly all position look the
same. But it does find some mates.

mfg, simon .... l


  
Date: 28 Aug 2008 15:03:42
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Tony M <tmokonen@yahoo.com > (09:11) schrieb:

Where are you from, Tony?

> You can download my program at http://tmokonen.110mb.com/tonyschess/
> if you want to try it out or test against it.

Thanks. Why is there no analysis mode? It's far easier to implement than
time controls.

What is a BookThinker?

mfg, simon .... l


   
Date: 28 Aug 2008 15:16:27
From: Tony M
Subject: Re: GetClub Updated Results.
On Thu, 28 Aug 2008 15:03:42 +0200, Simon Krahnke <overlord@gmx.li >
wrote:

>* Tony M <tmokonen@yahoo.com> (09:11) schrieb:
>
>Where are you from, Tony?
>
>> You can download my program at http://tmokonen.110mb.com/tonyschess/
>> if you want to try it out or test against it.
>
>Thanks. Why is there no analysis mode? It's far easier to implement than
>time controls.
>
>What is a BookThinker?
>
>mfg, simon .... l

Sorry, Simon, I missed your first question. No sleep last night. :)
I'm from Vancouver, BC, Canada. I actually was going to ask you the
same thing, one of your addresses says Germany, and the other says
Liectenstein.


    
Date: 28 Aug 2008 15:17:29
From: Tony M
Subject: Re: GetClub Updated Results.
On Thu, 28 Aug 2008 15:16:27 GMT, Tony M <tmokonen@yahoo.com > wrote:

>Liectenstein

Grr, Liechtenstein. I *really* need sleep.


   
Date: 28 Aug 2008 14:33:44
From: Tony M
Subject: Re: GetClub Updated Results.
On Thu, 28 Aug 2008 15:03:42 +0200, Simon Krahnke <overlord@gmx.li >
wrote:

>* Tony M <tmokonen@yahoo.com> (09:11) schrieb:
>
>Where are you from, Tony?
>
>> You can download my program at http://tmokonen.110mb.com/tonyschess/
>> if you want to try it out or test against it.
>
>Thanks. Why is there no analysis mode? It's far easier to implement than
>time controls.
>
>What is a BookThinker?
>
>mfg, simon .... l

I didn't implement analysis mode yet, sorry. The program does not
check for keyboard input during the search. It sort of works with
time controls, but incremental time controls remain a problem.
Increasing the movesleft parameter in the .ini file decreases the
amount of time used.

BookThinker is a utility that comes with the chess engine Thinker.

http://www.geocities.com/thechessthinker/download.html

Basically, it provides opening book functionality for engines that
don't have a book, to run in GUIs that don't have a native book format
(eg Winboard). The download for Thinker doesn't come with a book, but
it does come with a utility to make books from PGN files. I can send
you a book that I made myself, it's given me decent results so far.

I usually use native Arena books without a problem. I hope to have an
own book with the next release of Tony's Chess, when I get off my lazy
butt to do it :).

Tony


  
Date: 28 Aug 2008 14:57:10
From: Simon Krahnke
Subject: Re: GetClub Updated Results.
* Sanny <softtanks@hotmail.com > (09:21) schrieb:

> 74 moves game !!!
>
> It means Tiny and GetClub are nearly equal. But GetClub is taking 15
> sec/ move and Tony taking 8 sec / move.
>
> Just a moment ago the game was improved a bit. I don't know the above
> game was played after the improvement or befire that.
>
> If this game was played before the improvement. Then Tony will find it
> much difficult to win new games. But if the game was played after the
> improvement, Then Both programs are equal.

A match lost isn't an indicator of equalness.

mfg, simon .... l


  
Date: 28 Aug 2008 00:21:45
From: Sanny
Subject: Re: GetClub Updated Results.
74 moves game !!!

It means Tiny and GetClub are nearly equal. But GetClub is taking 15
sec/ move and Tony taking 8 sec / move.

Just a moment ago the game was improved a bit. I don't know the above
game was played after the improvement or befire that.

If this game was played before the improvement. Then Tony will find it
much difficult to win new games. But if the game was played after the
improvement, Then Both programs are equal.

Bye
Sanny

Play Chess at: http://www.GetClub.com/Chess.html




  
Date: 22 Aug 2008 17:44:40
From: Guest
Subject: Re: GetClub Updated Results.

"Simon Krahnke" <overlord@gmx.li > wrote in message
news:87vdxsn4gt.fsf@xts.gnuu.de...
>* Guest <none@example.none> (19:39) schrieb:
>
>> I'm only looking at the first 20 positions at the moment...
>
> I've gone through the first 10 positions of wac with my Finalfun. It
> finds all of them except the seconds. Rybka and Toga II solve that at
> depth 14. A little odd among all that Mate-in-x.

Yeah. But I didn't write the book.

That's also why WAC is not used for major engine testing.

But it does make a decent beginning test.

It's a decent first testing suite for Sanny. A little bit of positional, a
lot of tactical, and a lot of mates.

There are testing suites with much more emphesis on positional abilities,
but he's not ready for that.


>
> I ran Finalfun 5s on every of the 300 positions and it score 188/300 =
> 62.7%.
>
> 188 of 300 matching moves
> 2008-08-22 22:40:48, Total time: 00:31:22
> Rated time: 10:31 = 631 Seconds
>
> It spent rarely any time on the hits, they were mostly solved in less than
> 1s.

Most of the mates are shallow enough they'll be solved instantly. Even a
Java programs shouldn't need 30 seconds.

Many of the others are materialistic enough they'll at least get the right
answer without too much effort.

That leaves a hundred or so that requires some effort.


>> You shouldn't be missing any mate-in-2 positions. None.
>
> Finalfun finds them at depth 3.

Depends on how you count & report them.

Depending on the kind of search extensions you have, some programs can find
mate at a much shallower iterative search depth than others.

A lot of programs actually report different depths.

I don't worry too much about it.


>
>> I can accept that a beginner wouldn't be able to find a mate in 5 or mate
>> in
>> 7, etc. I don't mind a beginner level in a program missing those.
>
> Position 9 is a mate in 5 (Finalfun says so), it's found in 4s at depth
> 5/9.

Yup.

I wouldn't expect GC's beginner level to get that or #8, which is mate in 7.


>
> Mmpf, all the other engines tell me it's a mate in 4.

Depends on how it's counted & reported.

Not all programs even find the shortest mate. Because of the way they
search, they sometimes just find *a* mate rather than the closest one.


>
>> The best positional play in the world doesn't mean anything if you miss
>> major tactical issues. After all, checkmating your opponent is the
>> object
>> of the game.
>
> I remember when we were programming our first chess program at a
> university course. The was a tournament at the end the semester where
> all team's programs were to play all the others twice. The rules said
> that not accepting a legal or generating an illegal move was a loss for
> that program. So our objective was to let it play legal chess, with all
> the castling, en-passant and under-promotion stuff. Then came
> piece/square tables and some opening patches so that it could play a real
> game. And the we took care that it could it actually win an end game by
> finding mates.

At least they didn't make you follow all the rules, exactly.

It's amazing how many of the rules are a such a pain to program.



>
> With my own engine FInalfun I even reversed it: It can't play any real
> game because of its pure materialistic view nearly all position look the
> same. But it does find some mates.

Adding a little mobility would help. And piece square tables.

Not everybody does mobility though. It's fairly time consuming and many
feel it doesn't actually provide enough for the cost.

Speaking of mobility, I was reading one of the testing threads by Hyatt
recently and he mentioned that you can actually use a random number
generator for the mobility score!

The idea is that positions with a higher number of children positions (who
gets scored) has a higher chance of getting a high random number
pseuo-mobility score.

Positions with fewer childred to get scored tend to get a lower random
number because there are fewer chances to get a high number.

It's just probabilities.

I haven't tried it, but one of these years I might dig out my program and
try just material & a random number generator and see how well it does on
some tests.



>
> mfg, simon .... l





----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= - Total Privacy via Encryption =---


   
Date: 26 Aug 2008 22:05:16
From: David Richerby
Subject: Re: GetClub Updated Results.
Guest <none@example.none > wrote:
> Speaking of mobility, I was reading one of the testing threads by
> Hyatt recently and he mentioned that you can actually use a random
> number generator for the mobility score!
>
> The idea is that positions with a higher number of children
> positions (who gets scored) has a higher chance of getting a high
> random number pseuo-mobility score.

You can go even further and use a random number generator for the
entire evaluation function! As you say, a node with a large number of
children has a higher chance of getting a high random evaluation.
And, also, a large number of children implies high mobility, which
generally implies lots of material. So a completely random evaluation
function tends to reward material and mobility, which correlate to
good positions. :-)


Dave.

--
David Richerby Salted Painting (TM): it's like a
www.chiark.greenend.org.uk/~davidr/ Renaissance masterpiece but it's
covered in salt!


    
Date: 26 Aug 2008 22:07:52
From: David Richerby
Subject: Re: GetClub Updated Results.
David Richerby <davidr@chiark.greenend.org.uk > wrote:
> Guest <none@example.none> wrote:
>> Speaking of mobility, I was reading one of the testing threads by
>> Hyatt recently and he mentioned that you can actually use a random
>> number generator for the mobility score!
>
> You can go even further and use a random number generator for the
> entire evaluation function!

Oops. I now see that you'd already said this by the time I posted.
I'd skim-read the next couple of articles in the thread but hadn't
noticed it. Apologies for the repetition.


Dave.

--
David Richerby Transparent Book (TM): it's like a
www.chiark.greenend.org.uk/~davidr/ romantic el but you can see right
through it!


 
Date: 22 Aug 2008 21:43:25
From: Simon Krahnke
Subject: Re: Beginner Level Results
* Guest <none@example.none > (03:37) schrieb:

> "Simon Krahnke" <overlord@gmx.li> wrote in message
> news:87ej4hoq7k.fsf@xts.gnuu.de...
>>* Guest <none@example.none> (00:00) schrieb:
>>
>> Thanks for the detailed explanations.
>>
>>> That was due to my move sorting. I had accidently changed things so
>>> likely
>>> captures would be tried first. The king wasn't considered 'likely' to be
>>> captured so sometimes it would never get around to noticing the king
>>> could
>>> be captured. It'd just go ahead and search the position as if it was
>>> legal.
>>
>> I did that king capture checking in move generation. Someone told me
>> that way the code gets executed too often. How do you ensure the king
>> capture is found before some beta cut?
>
> Simply do the king first.

OK. I can safely try my best move, since I wouldn't have one if this
position was illegal. Then I generate and score my captures. I iterate
through them looking for a king capture score. Then I know if the board
is illegal and if not I can go for the rest of the moves.

> Some people do indeed explicit checks in the move generator. There are two
> variations.
>
> The first is that it never generates an illegal move. It makes the search
> easy, but it takes time to verify though.

I've thought about that. You have to check every king move target square
for attacks, know which pieces are pinned, know about double check, know
which squares stop the check when occupied by one of my pieces that can
go there.

> Others go ahead and generate pseudo-legal moves, but if the king is
> ever captured, then it aborts and returns an invalid flag.

That's what I did. Thanks for all the input.

>> My lame engine has a strange bug: In material only evaluation it
>> sometimes has an evaluation of 1 centipawn. I'm not the mood to check
>> that out.
>
> Not being familiar with your engine, I can't even guess.

I'm not expecting you to.

> I'd put some debugging code into the eval and dump the board whenever it
> happens.

I can't be the eval. It would never return a score like that.

> Then put a few more checks into the search to catch other spots.

It must be some artefact of the search. I think I'll see if my next
engine reproduces the bug and track it down there and fix it back. That
will keep my Java involvement at a minimum :-)

> Not the low level diagnostic kind of stuff most beginners need.

One could compile the mating from the usual test position suites.
en-passant and promotion are probably best made up or from the basic
literature. Same for stalemate. And Can't one search for repetition and
50 move rule in real game collections and go from there?

mfg, simon .... l


  
Date: 22 Aug 2008 15:42:06
From: Guest
Subject: Re: Beginner Level Results
"Simon Krahnke" <overlord@gmx.li > wrote in message
news:8763psomxu.fsf@xts.gnuu.de...
>* Guest <none@example.none> (03:37) schrieb:
>
>> Simply do the king first.
>
> OK. I can safely try my best move, since I wouldn't have one if this
> position was illegal. Then I generate and score my captures. I iterate
> through them looking for a king capture score. Then I know if the board
> is illegal and if not I can go for the rest of the moves.

Right.

If the king is in the move list, then you know that position was illegal,
the result of being in check. So you back up a score appropriately.

You'll need to check for that being the 'best move' returned and then decide
if it was mate or just stalemate. But you probably do something similar
already.


>> The first is that it never generates an illegal move. It makes the
>> search
>> easy, but it takes time to verify though.
>
> I've thought about that. You have to check every king move target square
> for attacks, know which pieces are pinned, know about double check, know
> which squares stop the check when occupied by one of my pieces that can
> go there.

It supposedly can be done somewhat efficiently. With some of the advanced
data structures that some people do, there's so much data already that such
things can be done without too much effort for each generated move. (At
least as not as much as a niave way that most people would do it.)

The catch is that most moves generated will never actually be made. So
every little bit of extra effort you do will be wasted.

So most people just don't do it that way.

It does make the search a little easier, and it's the more obvious way for
beginners. It just isn't the fastest way.



>> Others go ahead and generate pseudo-legal moves, but if the king is
>> ever captured, then it aborts and returns an invalid flag.
>
> That's what I did. Thanks for all the input.

No problem.

If there's an interesting conversation going on, I don't mind helping.


You probably would get more info from the TalkChess forum, though.



>> Not the low level diagnostic kind of stuff most beginners need.
>
> One could compile the mating from the usual test position suites.
> en-passant and promotion are probably best made up or from the basic
>