Home || Blog || Main Blog Index

Archive for September, 2007

Chess

Comments from Anthony C

I think you are basically right but you are caught in the trap of “evaluation = position”, “search = tactics”. Evaluation can see tactics and search can see positional moves.

The classic examples are game 7 and game 9. In game 7 Rybka plays Rc7, a terrible move. Why? Because it relies on its search and its search wasn’t seeing the correct lines where white gives the pawns on the queen side in exchange for new passed pawns on the kingside, which turn out to be stronger.

In game 9, Rybka won basically because of a pin on the d-file (Rd6 -> Bd3 -> Rd1). Zappa could never find a way to break this pin. Zappa evaluates this kind of a pin in the evaluation, except in this case it was doing it wrong. Very wrong. 0.3 evaluation error -> lost position.

So I really think search and evaluation are simply different options to try to improve play. Obviously I think eval works better while Vasik thinks search works better. So far in Mexico things are proving to be more or less a tossup: Zappa played very well in games 3, 5, and (mostly) 7, while Rybka played very well in games 2, 8, and (mostly) 9.

anthony

del.icio.us:Comments from Anthony C digg:Comments from Anthony C

Chess

More Comments on the play of Zappa

Well unfortunately we missed the win against Rybka today. Zappa cut out due to a lack of time and I really feel that with just another 20 seconds it could have found Rxg7. When I clear the hash tables, the 8x machine finds Rxg7 in under 1 minute. Oh well.

Also, we are using almost exactly the same version as we have distributed. I fixed a few very small bugs right before I left, perhaps good for 2 elo Wink Don’t worry, if you ordered Zappa Mexico you too will get this amazing +2 elo version.

I have also seen a lot of “Why is Zappa losing in X rating list and winning in Mexico?” There are three answers there. One, Erdo is very good. Two, I think we have had a slight edge in luck in the match. Three, the timecontrol and hardware. Zappa is simply a deep analysis engine. Many of the best moves in game 7 were played only after 7-8 minutes of search on an 8-way computer. Or, we probably would have lost game 3 as it takes quite a while for Zappa to switch from Nd4 to Nxb8. An example from game 7:

1. Qd2-f2 e7-e6 2. f4-f5 Qd8-f6 3. Qf2-d2 g6xf5 4. e4xf5 e6xf5 5. Kg1-h1 Rc8-e8 6. Be3xd4 Qf6xd4 7. Nc3-b5 Qd4-h4 8. Rf1-f4 Qh4-h6 9. Bd3xf5 d6-d5
= (0.15) Depth: 17/54 00:02:04.56 583359kN (4683 KN/s, 111228 splits, 8542 aborts)
1. Qd2-f2 f7-f5 2. b2-b4 f5xe4 3. Nc3xe4 e7-e5 4. c2-c3 c5-c4 5. Bd3-c2 Bb7xe4 6. Bc2xe4 Nd4-b5 7. Be4-d5 Kg8-h8 8. Bd5-e6 Rc8-c6 9. Qf2-f3 Rc6-c7 10. Rd1-c1
= (-0.09) Depth: 18/56 00:04:18.56 1222134kN (4727 KN/s, 246824 splits, 17429 aborts)
1. Nc3-e2!!
= (-0.0Cool Depth: 18/56 00:06:13.18 1766830kN (4734 KN/s, 360045 splits, 24781 aborts)
1. Nc3-e2 Nd4xe2 2. Qd2xe2 c5-c4 3. Bd3xc4 Qd8-c7 4. b2-b3 Bb7xe4 5. Be3-f2 Be4-b7 6. Bf2-d4 Bg7xd4 7. Rd1xd4 e7-e6 8. Qe2-f2 Rf8-d8 9. Rf1-d1 Qc7-b6 10. Bc4-d3 Qb6-c5 11. Rd4-a4 a7-a5
= (0.09) Depth: 18/56 00:07:25.76 2118019kN (4751 KN/s, 428551 splits, 28725 aborts)
1. Nc3-e2 Nd4xe2 2. Qd2xe2 c5-c4 3. Bd3xc4 Qd8-c7 4. b2-b3 Bb7xe4 5. Be3-f2 Be4-b7 6. Bf2-d4 Bg7xd4 7. Rd1xd4 e7-e6 8. Qe2-f2 Rf8-d8 9. Rf1-d1 Qc7-b6 10. Bc4-d3 Qb6-c5 11. Rd4-a4 a7-a5
= (0.09) Depth: 18/56 00:08:59.62 2562447kN (4749 KN/s, 532237 splits, 35301 aborts)

I’d also like to point out that Harvey has been great to the Zappa team. With the computers held up in customs we wouldn’t have been able to play at all without his machine. So a big cheer for Harvey and Hiarcs.

anthony

del.icio.us:More Comments on the play of Zappa digg:More Comments on the play of Zappa

A black day for the Zappa team. Zappa got a very good position with Black in a Ruy Lopez, got in time trouble, blundered, and lost. After Qd8 Qb8 Qg8, White has the amazing plan of g5-g6, Kh5, and Bxh6, and can win despite being down a full exchange. Black could probably play for a win after e4 instead of Qxb5, or a draw after c3 instead of Qd8.

In the second game, Rybka simply outplayed Zappa, and again got a position where its deep search was able to find some tricks. If you look at the position 5 full moves before Rxc4 it is hard to believe that Black is winning. However in the endgame Rybka traded rooks and despite having an eval of +7 (Zappa only +2 for White) the game was drawn.

I actually think this match showcases the differences between Rybka and Zappa quite well. Zappa’s knowledge is in its evaluation and its relatively accurate guesses about positions. Rybka’s knowledge is in its intelligent search which lets it see very deeply very quickly. Interestingly most people associate a gradual score rise with a superiority in evaluation, when in fact it usually indicates a superiority in search, as the opponent is making many little blunders. In contrast when one engine has a superiority in evaluation the score will usually rise sharply after a move because suddenly the engine can secure a positional advantage (whatever the term is that the other engine is unaware of).

Two years ago I would have told you that a good evaluation is more important than a good search, but now I am not so sure. At the very least Rybka has proven that even today’s engines on big hardware (Zappa) still make many search errors, especially at such quick timecontrols as 60+20.

cheers,

anthony

del.icio.us:Anthony Cozzie Comments on Game 9 of Rybka - Zappa digg:Anthony Cozzie Comments on Game 9 of Rybka - Zappa

Art

Notes on jbBlur2D

jbBlur2D is a nice mel script that makes the process of doing 2D post-render motion blur a little less irritating.

Here is a good thread from cgtalk.

Here is the relevant info from the mayaimage help about keeping motion vectors.

“Keep Motion Vectors

If on, Mayaimage saves the motion vector information for all visible objects in the rendered image but does not blur the image. This lets you blur the rendered images using the vector data with other 2D blur software (for example blur2d).

Note : This only works for Mayaimage IFF images.

If off, Mayaimage blurs the rendered image but does not save the motion vector information. Keep Motion Vectors is off by default. “



1. Open the Render settings window
2. Turn on Mayaimage Software as renderer
3. Go to “Motion blur” in the Mayaimage Software settings tab
4. Turn on “motion blur”
5. Choose 2D as “motion blur type”
6. Turn on “keep motion vectors”
7. Render .iff images with Mayaimage Software in BATCH MODE
NOTE: now Mayaimage should generate iff files that have motion vectors encoded into them. You can not see them, but they are there, hopefully. Usually these files will be much larger than your standard iff. The blur2D MEL command which actually uses this information to blur the images needs these vectors, so when it gets the order to blur but there are no vectors, it will fail.
8. Put the most current jbBlur2D.mel file into a Mayaimage script directory and restart Mayaimage.
9. Run the “jbBlur2D” command in the command line, create a shelf button or whatnot…
10. open the jbBlur2D MEL file for additional instructions how to use the jbBlur2D GUI
11. Happy blurring

“I agree, the color and bump texture will not affect the result of the Mayaimage software motion blur calculation. For the Mayaimage software motion vector pass I assign simple black surface shaders to the geometry, because then the calculation is much faster.”

“Using smooth nodes on top of deforming geometry has the tendancy to screw up Mayaimage’s 2d blur.
AFAIK turning on “keep tesselation” on the polySmooth node fixes this.”

del.icio.us:Notes on jbBlur2D digg:Notes on jbBlur2D

The Conroe (and Kentsfields) have taken the performance crown from AMD and are currently on a roll but these will not be battling AMD’s upcoming Phenom processors as Intel is preparing the new 45nm-built Yorkfield and Wolfdale CPUs. The models ready to be rolled out in Q4 2007 and Q1 2008 have already been revealed but what was unknown was the sum Intel will want for its updated line-up. Now, with the exception of the lonely dual-core E8300, the rest of the 45nm pack is priced and can already start causing AMD an extended headache.

In short, the most expensive 45nm desktop part will of course be the quad-core Extreme QX9650, with an asking price of $999. The rest of the quads will be priced from $530 (Q9550) to just $266 for the Q9300 that will unfortunately have only 6MB of L2 cache.

The dual-core processors will start off from where the Q9300 ends and will have the 3.16GHz E8500 costing $266. The 45nm line-up ends with the E8200 that costs just $163. And the war continues. The full list of prices (in 1000-unit tray quantities) can be found just below.

del.icio.us:Prices of Intel 45nm desktop CPUs revealed digg:Prices of Intel 45nm desktop CPUs revealed