I'd like to say first off it was a blast; I had a lot of fun chatting with the authors during the games, though channel 64 seemed unusually quiet a lot of the time, and Bob and Vincent barely even talked to each other. I must have talked about SMP more than anything else, I must have had discussions about it with at least 10 different people throughout the tournament.
I had been working for the past month or so almost exclusively on ZCT's parallel search. A few days ago I realized that ZCT probably wasn't going to be stable enough to use with SMP. But I tried running with 2 processors, and it happened to be relatively stable, with a decent speedup. There is one very strange bug still lurking, where the second processor will simply sit idle for long periods of time. Quite a few searches had the embarrassing "splits=0" output. But considering the circumstances, the fact that SMP was able to be used at all was a big help, and I was surely lucky not to have any crashes or hangs.
ZCT had a couple of small problems during the tournament. During the first round I noticed that ZCT's time management code for Fischer clocks did not work so well for time controls with such relatively small increments. ZCT used up quite a bit of time during the beginning, with a lot less time later on when it was needed. Luckily this is a really quick fix and I was able to start a new binary right after the first round. I ended up tweaking it again a couple rounds later. One silly problem I found after the first day was that ZCT had been using null move with R=4 the whole day. I had been experimenting for some test position and accidentally left it in. Considering how well ZCT did despite this, I might have my beta tester try it out.
All in all I think it was a great result, with luck most likely being a factor as well. ZCT far exceeded my expectations, and the draws against Arasan and Yace were probably the highlights for me. Here's some more detailed info. One note, I accidentally deleted all of ZCT's log files from the first day, and I don't really want to comb through the logfile to look at ZCT's evaluations for day 2, so I'm just going on the games here. It would be nice if xboard could save scores/PVs to PGNs ala Winboard_x....
Round 1: ZCT vs. Petir 0-1
The game was a simple Ruy Lopez, and it got interesting pretty quickly. ZCT's 11.d4 made for a very open game. On move 32, ZCT decided to exchange a bishop (and the bishop pair) for 3 pawns and an attack on the king. There wasn't really enough pressure on the king, and ZCT exchanged queens on move 36. From there, the game went into a rook and bishop endgame, and Petir was able to grab up all the extra pawns ZCT had, and used its own pawn to force ZCT to give up its last rook. A well played win by Petir. I will note that Petir offered a couple of draws near the end due to some bug, and I felt glad that ZCT doesn't pay attention to draw offers, because Petir deserved the win. Petir does have some weird bugs that caused some problems during the tournament, but the author Peter Alloysius was a really nice guy, and definitely just in the tournament for fun, not really concerned with the bugs. Petir did very well in the tournament considering how lazy
Peter says he is.
Round 2: Tornado vs. ZCT 0-1
This game started out with an interesting opening (I have no idea what it's called, sorry). 1.d4 was a foreshadowing of the middle game. All the action was on the queen side, with both kings safely castled on the other side with solid pawn shelter. ZCT's early pawn pushes allowed for an exchange of queens and pressure on the queen side. On move 27 ZCT made an interesting, though probably obvious, move:
[d]r1r3k1/1b1N1ppp/p7/1p1P4/2p2B2/bnP5/2B2PPP/3R1RK1 b - -
ZCT plays Bb2, sacrificing the exchange for a pawn and a group of passers. Tornado's advanced passer on d5 advanced to the 7th rank, forcing ZCT to tie up a rook. It allowed Tornado to exert a lot of pressure on ZCT's king with its rooks bearing down the open D and E files. The attack failed to materialize though, and ZCT boldly marched its king past the pawn on e7 to support its own passers. Tornado resigned a little later.
Round 3: ZCT vs. Berta 1-0
This game went pretty quickly at first. ZCT built up a nice attack, pushing Berta's king to d6 by move 23. The attack petered out after an exchange of queens though, but ZCT was left with three passed pawns on f2-g4-h2. Berta had a couple of awkward doubled pawns on d4 and d5, which cramped its position a lot. After the F and G pawns were exchanged, the lowly passer on h2 was able to confidently march up the board with the assistance of ZCT's king, bishop, and rook, which eventually won the game.
Round 4: ZCT vs. Telepath 0-1
At this point I think I was mostly paying attention to ch64, as I don't really remember watching this game. I think Charles was mostly paying attention to other TD duties, so we didn't get much of a chance to talk. The game was very tactical, and by move 33 Telepath had a pair of connected passers and was also up the exchange. I'm too much of a patzer to make any real judgment, but Telepath probably won this based on a better evaluation.
Round 5: Frenzee vs. ZCT 1-0
This was probably ZCT's worst defeat of the tournament. ZCT had a rather awkward opening, and failed to really secure its king. It never really had any winning chances, and was simply outclassed in every way. It was able to hold on materially and keep the king attack at bay for around 30 moves, when it was just stalling defeat with some meaningless checks on Frenzee's king. This probably ended hurting actually, as it forced Frenzee's king to join in on the action and help. ZCT held out OK, but the early wrecking of pawn shelter on the queen side likely caused the loss.
Round 6: ZCT vs. Prophet 1-0
This started off as a pretty quiet game, again with all the action eventually happening on the queen side away from the castled kings. Prophet's pawn shelter was a bit too open I think. This didn't cause problems until around move 50, when Prophet was up two pawns, but ZCT attacked until it got a rook for 3 pawns. ZCT eventually won in a KRKP endgame. James and I had a nice discussion about parallel search while all this was going on.
Round 7: Tinker vs. ZCT 1-0
This was an interesting game. ZCT was up a pawn by the 16th move, and things proceeded normally. Tinker had equalized by move 24, and ZCT's king was exposed and under attack. ZCT was able to gain a pawn with an almost nice looking king attack of its own from moves 27-32, but there was never enough pieces to carry it out, and ZCT's 32...Rxd5+ showed that the king attack was merely trying to delay its own defeat. ZCT was mated a little while later. It's hard to say exactly where this game went wrong, but it's most likely the result of king safety evaluation early in the game.
Round 8: Dirty vs. ZCT 0-1
This was a nice little game. I got to chat with Pradu most of the time on parallel search and low level-type stuff, so as usual I wasn't paying much attention to the game. The opening was pretty strange, with ZCT launching some meaningless attacks on Dirty's king with moves such as Ba6 early in the game. These could have come from the book, but I don't think many humans would play like that. ZCT was up a pawn before the 20th move, and eventually got a material advantage of R vs. N+P. It had some pressure on Dirty's king that never really amounted to much, but after the queens were exchanged ZCT got the opportunity to make a passer on the A file on move 46 with the support of its rook, with only Dirty's poor knight to defend, its king having aimlessly wandered in the opposite direction. This proceeded to promotion pretty quickly, and ZCT checkmated on move 64.
DAY 2
Round 9: ZCT vs. Messchess 0-1
Mridul is a nice guy, I hadn't talked to him before. Messchess was a last minute entry into the tourney, so I got the chance to be slaughtered. Mridul is one of the very few to walk down the dark path of DTS search, but interestingly enough we hardly talked about it at all. It was interesting that right out of the opening, ZCT was displaying a score of -.5 or -.6. Mridul said "What's with the negative score? It looks pretty even.". ZCT was down a pawn out of the opening book (the first real move was 9.cxd4), but had some positional compensation. ZCT's score stayed about the same for a while, and Messchess' score started to go positive. The game slowly went downhill from there. ZCT never had a positive score, but at least it went down with a good fight: the game lasted for over 90 moves.
Round 10: Matilde vs. ZCT 0-1
This was a weird game. Very very strange opening. See if this position is in your databases:
[d]rnbqkb1r/pp3ppp/5n2/8/3pN2P/1p1PP1P1/PPP1P3/R1BQKB1R w KQkq -
Of course, 20 moves later it was a very standard R+B ending. ZCT was up a bishop, and it eventually managed to get a couple passers. With the help of the bishop they walked directly to promotion and mate simultaneously.
Round 11: ZCT vs. Arasan 1/2-1/2
This was one of ZCT's finer moments in the tournament, along with the draw against Yace. It wasn't perfect, but ZCT at least put up a good show, and the result is what matters anyway! Arasan was the clear favorite to win, but blundered the exchange with 16...Rad8, or one of the moves right after it, I'm not sure. Rad8 is a very strange looking move to me though. ZCT showed a score of about +1.5 at this point, but it slowly leveled out, and was even negative for a bit. You can be sure that at this point:
[d]8/8/1p6/2b5/5k1p/5p1P/3K4/4R3 w - - 0 70
I was hanging on the edge of my seat. Oh the suspense! But luckily, it wandered into the drawn KRKB by move 97. ZCT didn't know it was drawn, but Arasan's TBs showed that it was, and I was at least happy that I knew Arasan couldn't mate with just a bishop. After keeping everyone waiting for a while, the game ended in a 50-move draw. In short, ZCT got lucky twice in
this game.
Round 12: ZCT vs. Yace 1/2-1/2
This was another draw against a much better engine. During the game, I mostly talked to Dieter about various issues, a lot of parallel stuff too. Dieter is a really nice guy that I had never gotten the chance to talk to, and it's a shame he has been away for so long. But it seems that he is still interested, he has been working on some CC stuff recently (I won't say more). This game wasn't quite as suspenseful though. It was pretty much even throughout, after the weird opening phase. Yace was up a pawn in a couple of places, but ZCT managed to get into a KRPKRP ending, with the pawns locked up on the a-file. Once those pawns were exchanged, I breathed another big sigh of relief. ZCT was getting some damn good results! I think I'm a little more proud of this game than the Arasan one, just because Yace didn't make any big blunders. Aside from some ugly opening-early-middlegame play, ZCT just played some pretty solid chess, especially in the endgame, for which Yace is known to be good.
Round 13: Symbolic vs. ZCT 1/2-1/2
I would say that this is arguably the worst game of the tournament, but I read in one of the other reports of a similar game. This was just a stupid, stupid draw. What happened was that ZCT got out of book after 6 moves with a -0.24 (I have the logfile for this one
Round 14: Romichess vs. ZCT 0-1
This was a fun game to play. Tony and I are nemeses (though he might not know it), so I was talking trash to him from the start. I honestly didn't think ZCT would win. Romi is rated much higher, despite Mike's constant self-derision. Romi is just a more solid engine I think. It has very little eval, but it is a very deep searcher (it was getting about equal depths with ZCT on hardware several times slower, and I would consider ZCT a deep searcher). and no big weaknesses. Except... its passed pawn eval, I think. Both engines evals went all over the place here. Romi showed an advantage of a little over a pawn for a while, while ZCT's thought it was even. Tony was sure that ZCT was right, but I was skeptical. Soon ZCT's own score dropped to about -1.5, in line with Romi's eval. Then things got weird: ZCT went from a -1.5 score on move 39 to a +6.4 on move 45. I think this is because Romi didn't have the necessary eval to see the danger of ZCT's passers. Near the end, when there was at least some chance to capture one of the passers, Romi just danced(tm) its knights around aimlessly. So it was a nice game, well fought by Romi.
ZCT ended with 7.5/14, for a shared 11th place. I somehow thought for a while that ZCT had gotten shared 10th place, but the official results speak otherwise. A marvelous result, ahead of Arasan and Yace, and definitely very satisfying for a first tournament. I'll see everyone at the next one!