weaker winboard engines that support setboard?

Discussion of chess software programming and technical issues.

Moderator: Ras

swami
Posts: 6664
Joined: Thu Mar 09, 2006 4:21 am

Re: weaker winboard engines that support setboard?

Post by swami »

MattieShoes wrote:I don't know that it's possible in Arena. I wrote an ugly script in a couple minutes to convert the epd file to what Gradualtest.exe uses for scored moves. The results at 10 sec/position are slightly different (!?) Maybe caused by it bouncing between two PV's and a slight timing difference.

Code: Select all

Number of tests:                       100
Max score:                             1000
Engines score:                         621
Number with full score:                52
Found in: 2 sec = 1, 5 sec = 15, 10 sec = 36,
Time used for tests (wrong answer=10s): 802s
I'll run it at 2 minutes/position now but I suspect it won't do any better. I wouldn't be terribly surprised if it did worse :-)
Yes, it's slightly different. 52 corrects this time compared to 50 the last time. No idea how unless the learning function is implemented and was turned on, or maybe the hash was not cleared.

Interesting results, Thanks for sharing! :)

I predict that it would score more than 720/1000 in relative scoring, and 60/100 in absolute scale when given more time.(2 mins per position that is), and even more (65/100 perhaps) on 7 mins per position.
MattieShoes
Posts: 718
Joined: Fri Mar 20, 2009 8:59 pm

Re: weaker winboard engines that support setboard?

Post by MattieShoes »

In this case I was using 1 minute + 1 second. Not ideal but I was more interested in quick than accurate at this point. It's pretty raw -- regular A/B, just implemented null move, only check extensions, totally untuned eval, almost no king safety eval, etc.

It's rated about 2000 in blitz on FICS, where the average blitz rating is in the mid 1300's and the Rybka engines on crazy hardware are 2700+. It's a shame ICC makes you buy an account to get a comp account. The higher end competition is sadly lacking on FICS. :-(
MattieShoes
Posts: 718
Joined: Fri Mar 20, 2009 8:59 pm

Re: weaker winboard engines that support setboard?

Post by MattieShoes »

Hah, miles away from learning just yet, with the possible exception of book learning. I'd like to implement variants and with the lack of large databases of games, it'll have to learn its own book. I may just have it do that in chess too.

Hash is cleared with every setboard command, and the program was closed and opened too, so that's not it. Arena runs it in analyze mode and spams it with "." commands every second. Gradualtest runs it like a regular search with a searchtime set "st 120" and "go". The search routines are identical in my engine but perhaps i have inefficient polling and that was slowing it down? I have no idea. I find arena incredibly annoying for some reason and gradualtest can handle weighted best moves, so I'll just stick with it.

I was thinking, I know they used some automated eval tuning in darkthought back in the day, using GM moves as "best move". It occurs to me that having the moves ordered or weighted like this might make eval tuning via EPD easier. It might alleviate some of the risk of weird values getting rewarded since those weird values might result in the right best move but vastly wrong 2nd, 3rd, and 4th best, etc.

I know hand-tuned evals seem to outperform learned ones, but it'd be interesting anyway...
User avatar
pedrox
Posts: 1056
Joined: Fri Mar 10, 2006 6:07 am
Location: Basque Country (Spain)

Re: weaker winboard engines that support setboard?

Post by pedrox »

Hi Matt,

You could share your script for a Gradualtest format?

The next test will also have the same format and it would be nice to try Gradualtest.

Best,

Pedro
MattieShoes
Posts: 718
Joined: Fri Mar 20, 2009 8:59 pm

Re: weaker winboard engines that support setboard?

Post by MattieShoes »

For whoever is interested...
Odd Gunnar Malin website
GradualTest exe
GradualTest source

Here's the undermine.epd for the gradualtest scoring stuff.

Code: Select all

1kr5/3n4/q3p2p/p2n2p1/PppB1P2/5BP1/1P2Q2P/3R2K1 w - - bm f5 Be5+ Bf2 Bg4; id "Undermine.1"; c1 "10 2 3 2";
1n5k/3q3p/pp1p2pB/5r2/1PP1Qp2/P6P/6P1/2R3K1 w - - bm c5 Qd4+ b5 g4; id "Undermine.2"; c1 "10 4 4 3";
1n6/4bk1r/1p2rp2/pP2pN1p/K1P1N2P/8/P5R1/3R4 w - - bm c5 Rd3 Rdd2 Rg3 Rd5; id "Undermine.3"; c1 "10 7 7 7 9";
1nr5/1k5r/p3pqp1/3p4/1P1P1PP1/R4N2/3Q1PK1/R7 w - - bm b5 Kg3 Ng5 Qe3; id "Undermine.4"; c1 "10 4 4 4";
1q2r1k1/1b2bpp1/p2ppn1p/2p5/P3PP1B/2PB1RP1/2P1Q2P/2KR4 b - - bm c4 Bc6 Qa8 Qc8; id "Undermine.5"; c1 "10 7 7 7";
1q4k1/5p1p/p1rprnp1/3R4/N1P1P3/1P6/P5PP/3Q1R1K w - - bm e5 Nc3 Qd3 Qf3; id "Undermine.6"; c1 "10 3 1 2";
1qr1k2r/1p2bp2/pBn1p3/P2pPbpp/5P2/2P1QBPP/1P1N3R/R4K2 b k - bm h4 Bd8 Bf8 Rh7; id "Undermine.7"; c1 "10 1 1 1";
1r1b2k1/2r2ppp/p1qp4/3R1NPP/1pn1PQB1/8/PPP3R1/1K6 w - - bm g6 Ka1 Nd4 Rd3; id "Undermine.8"; c1 "10 2 2 2";
1r1qk1nr/p3ppbp/3p2p1/1pp5/2bPP3/4B1P1/2PQNPBP/R2R2K1 w k - bm e5 Bf3 Nc1 Rxa7; id "Undermine.9"; c1 "10 5 5 4";
1r1r2k1/p3n2p/b1nqpbp1/2pp4/1p3PP1/2PP1N2/PPN3BP/R1BRQ2K w - - bm d4 Ng5 a4 h3; id "Undermine.10"; c1 "10 6 6 6";
1r2n1rk/pP2q2p/P2p4/4pQ2/2P2p2/5B1P/3R1P1K/3R4 w - - bm c5 Bc6 Qc2 Rg1; id "Undermine.11"; c1 "10 6 5 5";
1r3bk1/7p/pp1q2p1/P1pPp3/2P3b1/4B3/1P1Q2BP/R6K w - - bm b4 Bg1 axb6 h3; id "Undermine.12"; c1 "10 3 3 1";
1r3rk1/3n1pbp/1q1pp1p1/p1p5/2PnPP2/PPB1N1PP/6B1/1R1Q1RK1 b - - bm a4 Ne2+ Rfd8 h5; id "Undermine.13"; c1 "10 2 2 2";
1r3rk1/p5bp/6p1/q1pPppn1/7P/1B1PQ1P1/PB3P2/R4RK1 b - - bm f4 Nf7 c4 e4; id "Undermine.14"; c1 "10 4 5 5";
1r4k1/1rq2pp1/3b1nn1/pBpPp3/P1N4p/2PP1Q1P/6PB/2R2RK1 w - - bm d4 Bc6 Qf5 Rce1; id "Undermine.15"; c1 "10 4 6 4";
1r4k1/p1rqbp1p/b1p1p1p1/NpP1P3/3PB3/3Q2P1/P4P1P/3RR1K1 w - - bm a4 Kg2 Qf3 h4; id "Undermine.16"; c1 "10 4 4 5";
2r3k1/p2q1pp1/Pbrp3p/6n1/1BP1PpP1/R4P2/2QN2KP/1R6 b - - bm h5 Be3 Ne6 Qd8; id "Undermine.17"; c1 "10 4 4 4";
1r6/2q2pk1/2n1p1pp/p1Pr4/P1RP4/1p1RQ2P/1N3PP1/7K b - - bm e5 Kh7 Qb7 Rbd8; id "Undermine.18"; c1 "10 4 5 5";
1r6/R1nk1p2/1p4pp/pP1p1P2/P2P3P/5PN1/5K2/8 w - - bm h5 Ne2 Nf1 f4; id "Undermine.19"; c1 "10 4 7 7";
1rb3k1/2pn2pp/p2p4/4p3/1pP4q/1P1PBP1P/1PQ2P2/R3R1K1 w - - bm c5 Kf1 Kg2 Ra5; id "Undermine.20"; c1 "10 5 5 5";
1rbqnrk1/6bp/pp3np1/2pPp3/P1P1N3/2N1B3/1P2Q1BP/R4R1K w - - bm a5 Bg5 Kg1 Nxf6+; id "Undermine.21"; c1 "10 6 6 6";
1rr3k1/1q3pp1/pnbQp2p/1p2P3/3B1P2/2PB4/P1P2RPP/R5K1 w - - bm f5 Qa3 Rd1 h3; id "Undermine.22"; c1 "10 3 2 2";
2kr2r1/1bpnqp2/1p1ppn2/p5pp/P1PP4/4PP2/1P1NBBPP/R2Q1RK1 w - - bm b4 Qb1 Qc2 Re1; id "Undermine.23"; c1 "10 3 4 4";
2b1k2r/5p2/pq1pNp1b/1p6/2r1PPBp/3Q4/PPP3PP/1K1RR3 w k - bm e5 Qd5 Qh3 f5; id "Undermine.24"; c1 "10 1 7 1";
2b1r1k1/1p6/pQ1p1q1p/P2P3P/2P1pPpN/6P1/4R1K1/8 w - - bm c5 Kg1 Kh2 Re3; id "Undermine.25"; c1 "10 6 5 5";
2b2rk1/2qn1p2/p2p2pp/2pPP3/8/4NN1P/P1Q2PP1/bB2R1K1 w - - bm e6 Nc4 Ng4 exd6; id "Undermine.26"; c1 "10 1 1 2";
2bq2k1/1pr3bp/1Qpr2p1/P2pNp2/3P1P1P/6P1/5PB1/1RR3K1 w - - bm a6 Qc5 Rc5 h5; id "Undermine.27"; c1 "10 2 3 2";
rr6/8/2pbkp2/ppp1p1p1/P3P3/1P1P1PB1/R1P2PK1/R7 b - - bm c4 Bc7 Rb6 b4; id "Undermine.28"; c1 "10 4 1 1";
2r2rk1/pb2q2p/1pn1p2p/5p1Q/3P4/P1NB4/1P3PPP/R4RK1 w - - bm d5 Qxh6 Rac1 Rfd1; id "Undermine.29"; c1 "10 5 5 5";
2kr4/ppqnbp1r/2n1p1p1/P2pP3/3P2P1/3BBN2/1P1Q1PP1/R4RK1 w - - bm a6 Qc2 Rfc1 g3; id "Undermine.30"; c1 "10 3 4 4";
2q5/1pb2r1k/p1b3pB/P1Pp3p/3P4/3B1pPP/1R3P1K/2Q5 b - - bm h4 Bb5 Bd7 Qd8; id "Undermine.31"; c1 "10 5 1 5";
2r1kb1r/1bqn1pp1/p3p3/1p2P1P1/3Np3/P1N1B3/1PP1Q2P/R4RK1 w k - bm g6 Bf4 Rae1 Rf4; id "Undermine.32"; c1 "10 6 6 6";
2r1rb2/1bq2p1k/3p1np1/p1p5/1pP1P1P1/PP2BPN1/2Q3P1/R2R1BK1 b - - bm d5 Bg7 Kg8 Nd7; id "Undermine.33"; c1 "10 7 7 7";
2r2bk1/pq3r1p/6p1/2ppP1P1/P7/BP1Q4/2R3P1/3R3K b - - bm d4 Qe7 Rcc7 c4; id "Undermine.34"; c1 "10 1 1 1";
2r2rk1/1bb2ppp/p2ppn2/1p4q1/1PnNP3/P1N4P/2P1QPPB/3RRBK1 w - - bm a4 Nf3 Rb1 Rd3; id "Undermine.35"; c1 "10 4 5 5";
2r2rk1/3q3p/p3pbp1/1p1pp3/4P3/2P5/PPN1QPPP/3R1RK1 b - - bm d4 Bg7 Qb7 Qd6; id "Undermine.36"; c1 "10 7 6 7";
2r4k/pp3q1b/5PpQ/3p4/3Bp3/1P6/P5RP/6K1 w - - bm h4 Rg3 Rg4 Rg5; id "Undermine.37"; c1 "10 2 2 2";
2r3k1/1b2b2p/r2p1pp1/pN1Pn3/1pPB2P1/1P5P/P3R1B1/5RK1 w - - bm g5 Rd1 Rff2 h4; id "Undermine.38"; c1 "10 4 4 5";
2r3k1/5pp1/1pq4p/p7/P1nR4/2P2P2/Q5PP/4B1K1 b - - bm b5 Nd6 Ne3 Ne5; id "Undermine.39"; c1 "10 1 1 1";
6k1/6pp/4r3/p1qpp3/Pp6/1n1P1B1P/1B2Q1P1/3R1K2 w - - bm d4 Bxe5 Qf2 Re1; id "Undermine.40"; c1 "10 3 2 3";
r2qkb1r/1b1n1ppp/p3pn2/1pp5/3PP3/2NB1N2/PP3PPP/R1BQ1RK1 w kq - bm d5 Be3 a3 e5; id "Undermine.41"; c1 "10 3 2 3";
r3r1k1/pn1bnpp1/1p2p2p/1q1pPP2/1BpP3N/2P2BP1/2P3QP/R4RK1 w - - bm f6 Bxe7 Rab1 g4; id "Undermine.42"; c1 "10 6 5 5";
2r5/p3kpp1/1pn1p2p/8/1PP2P2/PB1R1KP1/7P/8 b - - bm a5 a6 e5 f5; id "Undermine.43"; c1 "10 1 1 1";
2rq1rk1/1b2bppp/p2p1n2/1p1Pp3/1Pn1P3/5N1P/P1B2PP1/RNBQR1K1 w - - bm a4 Bb3 Nbd2 Nc3; id "Undermine.44"; c1 "10 1 1 1";
2rqr1k1/1b2bp1p/ppn1p1pB/3n4/3P3P/P1NQ1N2/1PB2PP1/3RR1K1 w - - bm h5 Bc1 Nxd5 Rb1; id "Undermine.45"; c1 "10 4 1 1";
3Rb3/5ppk/2r1r3/p5Pp/1pN2P1P/1P5q/P4Q2/K2R4 b - - bm a4 Rc7 Re7 Rxc4; id "Undermine.46"; c1 "10 7 6 7";
3Rbrk1/4Q2p/6q1/pp3p2/4p2P/1P4P1/8/5R1K w - - bm g4 Kh2 Rc8 Rf2; id "Undermine.47"; c1 "10 5 2 3";
3bn3/3r1p1k/3Pp1p1/1q6/Np2BP1P/3R2PK/8/3Q4 w - - bm h5 Bf3 Rd4 g4; id "Undermine.48"; c1 "10 6 6 6";
3k1r1r/p2n1p1p/q2p2pQ/1p2P3/2pP4/P4N2/5PPP/2R1R1K1 w - - bm a4 Ng5 Qh4+ exd6; id "Undermine.49"; c1 "10 5 8 6";
3r1bk1/1p2qp1p/p5p1/P1pPp3/2QnP3/3BB3/1P3PPP/2R3K1 w - - bm f4 Rb1 Rf1 h3; id "Undermine.50"; c1 "10 4 4 4";
3r1bkr/2q3pp/1p1Npp2/pPn1P3/5B2/1P6/2P2PPP/R2QR1K1 w - - bm b4 Bd2 Qf3 exf6; id "Undermine.51"; c1 "10 5 4 3";
3r2k1/p2q1pp1/1p2n1p1/2p1P2n/P4P2/2B1Q1P1/7P/1R3BK1 w - - bm a5 Bb5 Qe4 Ra1; id "Undermine.52"; c1 "10 3 1 3";
3r4/8/pq3kr1/3Bp3/7p/1P3P2/P5PP/3RQ2K b - - bm h3 Kg7 Rd7 Rh6; id "Undermine.53"; c1 "10 5 4 5";
3r4/pk1p3p/1p2pp2/1N6/2P1KP2/6P1/3R3P/8 w - - bm f5 Kd4 Ke3 Nc3; id "Undermine.54"; c1 "10 5 5 5";
4k2r/1b2b3/p3pp1p/1p1p4/3BnpP1/P1P4R/1KP4P/5BR1 w k - bm g5 Be2 a4 c4; id "Undermine.55"; c1 "10 5 6 5";
4k3/r2bbprp/3p1p1N/2qBpP2/ppP1P1P1/1P1R3P/P7/1KR1Q3 w - - bm a3 Qd2 Rc2 h4; id "Undermine.56"; c1 "10 3 3 3";
4q1k1/pb5p/Nbp1p1r1/3r1p2/PP1Pp1pP/4P1P1/1BR1QP2/2R3K1 w - - bm b5 Ba1 Kg2 a5; id "Undermine.57"; c1 "10 3 3 3";
4r1k1/1pb3qp/p1b1r1p1/P1Pp4/3P1p2/2BB4/1R1Q1PPP/1R4K1 b - - bm f3 Qd7 Qe7 Qf6; id "Undermine.58"; c1 "10 7 7 7";
4r1k1/5p1p/p2q2p1/3p4/3Qn3/2P1RN2/Pr3PPP/R5K1 w - - bm c4 Ree1 a3 g3; id "Undermine.59"; c1 "10 5 5 5";
4rr1k/pp1n2bp/7n/1Pp1pp1q/2Pp3N/1N1P1PP1/P5QP/2B1RR1K b - - bm f4 Nf7 Rf7 b6; id "Undermine.60"; c1 "10 3 4 1";
4rrk1/p6p/2q2pp1/1p6/2pP1BQP/5N2/P4PP1/2R3K1 w - - bm h5 Bd2 Qg3 a4; id "Undermine.61"; c1 "10 1 1 1";
5nk1/1bp1rnp1/pp1p4/4p1P1/2PPP3/NBP5/P2B4/4R1K1 w - - bm c5 Kf1 Kf2 d5; id "Undermine.62"; c1 "10 7 7 7";
5r2/1p1k4/2bp4/r3pp1p/PRP4P/2P2PP1/2B2K2/7R b - - bm f4 Kc7 Raa8 Rf7; id "Undermine.63"; c1 "10 4 4 4";
5r2/5p1Q/4pkp1/p7/1pb2q1P/5P2/P4RP1/3R2K1 w - - bm h5 Rb2 Rd7 Rdd2; id "Undermine.64"; c1 "10 1 1 1";
5rk1/1Q3pp1/p2p3p/4p1b1/N3PqP1/1N1K4/PP6/3R4 b - - bm d5 Qf3+ Qxg4 h5; id "Undermine.65"; c1 "10 1 1 1";
7r/3nkpp1/4p3/p1pbP3/1r3P1p/1P2B2P/P2RBKP1/7R b - - bm a4 Rc8 Rd8 Rhb8; id "Undermine.66"; c1 "10 6 6 6";
8/1r1rq2k/2p3p1/3b1p1p/4p2P/1N1nP1P1/2Q2PK1/RR3B2 b - - bm f4 Rb4 c5 g5; id "Undermine.67"; c1 "10 3 3 3";
8/1r2k3/4p2p/R3K2P/1p1P1P2/1P6/8/8 w - - bm f5 Ke4 Rc5 d5; id "Undermine.68"; c1 "10 4 4 3";
8/3r1pp1/p7/2k2PpP/rp1pB3/2pK1P2/P1R5/1R6 w - - bm f6 Rg1 Rh1 f4; id "Undermine.69"; c1 "10 1 1 2";
8/6k1/3P1bp1/2B1p3/1P6/1Q3P1q/7r/1K2R3 b - - bm e4 Qc8 Qf5+ g5; id "Undermine.70"; c1 "10 1 1 1";
b2rrbk1/2q2p1p/pn1p2p1/1p4P1/2nNPB1P/P1N3Q1/1PP3B1/1K1RR3 w - - bm h5 Bc1 Na2 Qh3; id "Undermine.71"; c1 "10 6 6 6";
b7/2pr1kp1/1p3p2/p2p3p/P1nP1N2/4P1P1/P1R2P1P/2R3K1 w - - bm e4 Rc3 Re2 f3; id "Undermine.72"; c1 "10 5 6 5";
k1qbr1n1/1p4p1/p1p1p1Np/2P2p1P/3P4/R7/PP2Q1P1/1K1R4 w - - bm d5 Ra4 Rdd3 g4; id "Undermine.73"; c1 "10 3 4 3";
r1b1rnk1/pp3pq1/2p3p1/6P1/2B2P1R/2P5/PP1Q2P1/2K4R w - - bm f5 Bd3 Rh8+ g4; id "Undermine.74"; c1 "10 3 1 4";
r1bq1rk1/pp3pbp/3Pp1p1/2p5/4PP2/2P5/P2QB1PP/1RB1K2R b K - bm e5 Bd7 Qh4+ b6; id "Undermine.75"; c1 "10 7 7 6";
r1bqr2k/pppn2bp/4n3/2P1p1p1/1P2Pp2/5NPB/PBQN1P1P/R4RK1 w - - bm c6 Nb3 Nc4 Rac1; id "Undermine.76"; c1 "10 5 5 5";
r1br1k2/1pq2pb1/1np1p1pp/2N1N3/p2P1P1P/P3P1R1/1PQ3P1/1BR3K1 w - - bm h5 Ba2 Re1 Rf1; id "Undermine.77"; c1 "10 4 4 5";
r1n2k1r/5pp1/2R5/pB2pPq1/P2pP3/6Pp/1P2Q2P/5RK1 w - - bm f6 Qd3 Rc5 Rg6; id "Undermine.78"; c1 "10 2 2 2";
r1r2bk1/pp1n1p1p/2pqb1p1/3p4/1P1P4/1QN1PN2/P3BPPP/2RR2K1 w - - bm b5 Qc2 Rb1 a3; id "Undermine.79"; c1 "10 5 4 4";
r2q1r2/pp1b2kp/2n1p1p1/3p4/3P1P1P/2PB1N2/6P1/R3QRK1 w - - bm h5 Qe3 Rb1 g3; id "Undermine.80"; c1 "10 3 4 4";
r2q1rk1/pp2b1pp/1np1b3/4pp2/1P6/P1NP1BP1/2Q1PP1P/1RB2RK1 w - - bm b5 Be3 Bg2 Re1; id "Undermine.81"; c1 "10 1 1 1";
r2q4/6k1/r1p3p1/np1p1p2/3P4/4P1P1/R2QBPK1/7R w - - bm e4 Qb2 Qc3 Rc2; id "Undermine.82"; c1 "10 5 5 2";
r2qr1k1/pp3pbp/5np1/2p2b2/8/2PP1Q2/PPB3PP/RNB2RK1 b - - bm c4 Bg4 Ng4 Qd7; id "Undermine.83"; c1 "10 3 2 3";
r3k2r/1bq1bpp1/p4n2/2p1pP2/2NpP2p/3B4/PPP3PP/R1B1QR1K b k - bm h3 Bc6 Bd8 Kf8; id "Undermine.84"; c1 "10 3 1 1";
r3k2r/2q2p2/p2bpPpp/1b1p4/1p1B1PPP/8/PPPQ4/1K1R1B1R w kq - bm f5 Be3 Bxb5+ h5; id "Undermine.85"; c1 "10 6 4 4";
r3k2r/ppq2p1p/2n1p1p1/3pP3/5PP1/2P1Q3/PP2N2P/3R1RK1 b k - bm h5 O-O Qb6 Rc8 Rc8; id "Undermine.86"; c1 "10 3 1 1 3";
r3r1k1/1pp1np1p/1b1p1p2/pP2p3/2PP2b1/P3PN2/1B3PPP/R3KB1R w KQ - bm c5 Be2 Rd1 dxe5; id "Undermine.87"; c1 "10 3 3 3";
r3r1k1/1pq2pbp/p1ppbnp1/4n3/2P1PB2/1NN2P2/PP1Q2PP/R3RBK1 w - - bm c5 Bxe5 Nd1 Red1; id "Undermine.88"; c1 "10 7 7 7";
r3r1k1/bpp1np1p/3p1p2/pPP1p3/3P2b1/P3PN2/1B3PPP/R3KB1R w KQ - bm b6 Rc1 Rd1 h3; id "Undermine.89"; c1 "10 3 2 5";
r3r1k1/pp2q3/2b1pp2/6pN/Pn1P4/6R1/1P3PP1/3QRBK1 w - - bm f4 Qd2 b3 f3; id "Undermine.90"; c1 "10 4 5 3";
r4r2/1p2pbk1/1np1qppp/p7/3PP2P/P1Q2NP1/1P3PB1/2R1R1K1 w - - bm h5 Qc5 Qe3 b4; id "Undermine.91"; c1 "10 5 3 2";
r4r2/2p2kb1/1p1p2p1/qPnPp2n/2B1PP2/pP6/P1Q1N2R/1KB4R w - - bm f5 Bd2 Rg1 Rg2; id "Undermine.92"; c1 "10 5 3 4";
r4rk1/2p5/p2p1n2/1p1P3p/2P1p1pP/1P4B1/1P3PP1/3RR1K1 w - - bm c5 Rc1 Rd2 Re2; id "Undermine.93"; c1 "10 5 4 6";
r4rk1/2qnb1pp/4p3/ppPb1p2/3Pp3/1PB3P1/R1QNPPBP/R5K1 b - - bm a4 Bf6 Qc6 e5; id "Undermine.94"; c1 "10 6 6 6";
r4rk1/p5pp/1p2b3/2Pn1p2/P2Pp2P/4P1Pq/2Q1BP2/R1BR2K1 w - - bm a5 Bc4 Bf1 Rb1; id "Undermine.95"; c1 "10 5 5 6";
r4rk1/pbq2p2/2p2np1/1p2b2p/4P3/2N1BPP1/PPQ1B2P/R2R2K1 b - - bm h4 Rfd8 a5 a6; id "Undermine.96"; c1 "10 2 3 2";
r4rk1/pp1b2b1/n2p1nq1/2pP1p1p/2P1pP2/PP4PP/1BQ1N1B1/R3RNK1 b - - bm h4 Rab8 Rae8 Rf7; id "Undermine.97"; c1 "10 1 1 1";
rn3rk1/p1p1qp2/1pbppn1p/6p1/P1PP4/2PBP1B1/3N1P1P/R2QK1R1 w Q - bm h4 Qe2 a5 f4; id "Undermine.98"; c1 "10 1 1 1";
rnbq1rk1/2p1p1bp/p3pnp1/1p6/3P4/1QN1BN2/PP3PPP/R3KB1R w KQ - bm a4 Rc1 g3 h3; id "Undermine.99"; c1 "10 6 6 6";
rr3n1k/q3bpn1/2p1p1p1/2PpP2p/pP1P1N1P/2BB1NP1/P2Q1P2/6RK w - - bm g4 Kh2 Qc1 a3; id "Undermine.100"; c1 "10 4 2 3";
This is the (C#) code I used to convert it but you REALLY wouldn't want to copy it :-P I wrote it literally as fast as I could type. :-) Glancing at it again, it'd break for any promotion moves since i split on the = signs. It was just a sixty second once-off

Code: Select all

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;

namespace epdfixer
{
    class Program
    {
        static void Main(string[] args)
        {
            StreamReader sr = new StreamReader("in.epd");
            StreamWriter sw = new StreamWriter("out.epd");
            int counter=1;
            while (!sr.EndOfStream)
            {
                string raw = sr.ReadLine();
                string[] epdparts = Regex.Split(raw, "bm ");
                sw.Write(epdparts[0]);
                sw.Write("bm");
                string[] scores = Regex.Split(epdparts[1], "c0 ");
                scores[1] = Regex.Replace(scores[1], "\"", "");
                scores[1] = Regex.Replace(scores[1], ";", "");
                scores[1] = Regex.Replace(scores[1], ",", "");
                string[] movescore = Regex.Split(scores[1], " ");
                string moves = string.Empty;
                string values = string.Empty;
                for (int i = 0; i < movescore.Length; i++)
                {
                    string[] msparts = Regex.Split(movescore[i], "=");
                    moves = moves + " " + msparts[0];
                    values = values + " " + msparts[1];
                }
                sw.Write(moves);
                sw.Write("; id \"Undermine.");
                sw.Write(counter.ToString());
                sw.Write("\"; c1 \"");
                sw.Write(values.Substring(1));
                sw.Write("\";\n");
                counter++;
            }
        }
    }
}
MattieShoes
Posts: 718
Joined: Fri Mar 20, 2009 8:59 pm

Re: weaker winboard engines that support setboard?

Post by MattieShoes »

Okay, at 2 minutes/position

Code: Select all

Number of tests:                       100
Max score:                             1000
Engines score:                         716
Number with full score:                62
Found in: 30 sec = 2, 1 min = 14, 2 min = 46,
Time used for tests (wrong answer=120s): 9193s
Looks like you about nailed it swami, 62 and 716. :-) Are there scores for other engines around? I assume mine is near the bottom but I'd be interested to see how the other engines do.
swami
Posts: 6664
Joined: Thu Mar 09, 2006 4:21 am

Re: weaker winboard engines that support setboard?

Post by swami »

MattieShoes wrote:Okay, at 2 minutes/position

Code: Select all

Number of tests:                       100
Max score:                             1000
Engines score:                         716
Number with full score:                62
Found in: 30 sec = 2, 1 min = 14, 2 min = 46,
Time used for tests (wrong answer=120s): 9193s
Looks like you about nailed it swami, 62 and 716. :-) Are there scores for other engines around? I assume mine is near the bottom but I'd be interested to see how the other engines do.
Projected Scores are somewhat easier to predict. :)

I've used engines > 2300 for the tests, most of them scored more than 70's but there certainly are some including Bright that scored in the range of 40's - 50's. I'll be running the engines < 2300 lists tonight. I'll post the complete and total list tomorrow or a day after.
MattieShoes
Posts: 718
Joined: Fri Mar 20, 2009 8:59 pm

Re: weaker winboard engines that support setboard?

Post by MattieShoes »

If you want to correlate it, tonypos.epd at 10 minutes/position

Code: Select all

Number of tests:                       16
Max score:                             160
Engines score:                         118
Number with full score:                6
Found in: 30 sec = 1, 5 min = 3, 10 min = 2,
Time used for tests (wrong answer=600s): 7534s
JVMerlino
Posts: 1407
Joined: Wed Mar 08, 2006 10:15 pm
Location: San Francisco, California

Re: weaker winboard engines that support setboard?

Post by JVMerlino »

MattieShoes wrote:So now that I've got a relatively stable engine, I'd like to do some quick and dirty testing against other engines, perhaps using the nunn positions.

There's a bushel of strong engines that support setboard, but I'm having a bit of trouble locating weak ones. (well, weak ones other than my own, anyway...)

Do all y'all have any suggestions? I appreciate it!

Edit: Also, I have gradualtest.exe. Is there anything significantly better for running an EPD suite?
Myrddin Alpha 2 (currently unreleased) supports setboard and analyze, but not epd testing. Not a great deal of testing has happened on Alpha 2, but I'd say it is probably weaker than your engine (1500-1600?). Let me know if you're interested and I can float it to you at least for comparison purposes.

jm
brianr
Posts: 540
Joined: Thu Mar 09, 2006 3:01 pm
Full name: Brian Richardson

Re: weaker winboard engines that support setboard?

Post by brianr »

Tinker v7.18 at 2 min per position

Code: Select all

Number of tests:                       100
Max score:                             1000
Engines score:                         637
Number with full score:                51
Found in: 1 sec = 32, 2 sec = 8, 5 sec = 5, 10 sec = 6,
Time used for tests (wrong answer=10s): 566s