Author: Vasik Rajlich
Date: 03:49:33 02/22/04
Go up one level in this thread
On February 21, 2004 at 15:29:16, Russell Reagan wrote: >On February 21, 2004 at 13:51:28, Anthony Cozzie wrote: > >>If you bulked up your q-search enough to >>find this, you would get 6 ply brute-force at 40/2. > >What's wrong with 6 ply of full-width search if you only need 1 ply of >full-width to spot combinations like this? :) Actually this is a huge (and very interesting) topic. If you over-emphasize the quiescence search and tactical extensions, you will end up with a search which spends its time mostly on tactics, and the positional quality will suffer. You won't search as deeply in the quieter lines, so the search won't sort out which positional moves are working. I did a number of experiments which involved beefing up the quiescence search and extending aggressively, and the results were disappointing. However, I had two huge bugs in my code, and my testing methodology was very inadequate, so this issue needs revisiting. (Computer chess lesson #1: never work too fast, and validate everything. If it's not proven, consider it wrong.) Generally though the tactical and positional search should be kept balanced. If you overdo the q-search, you undermine the balance which iterative deepening tries to give you. One related hypothesis I had was that the faster the time control, the more you should be ready to emphasize tactical lines at the cost of positional lines. So, a heavy q-search, etc, would be better at fast time controls. Aiming at tomorrow's hardware and serious time controls, maybe tactical search can be ignored completely?! My test for this was to see if all "normal" combinations would fall within some #-of-nodes searched, or at least if they would congregate in some #-of-nodes-searched region, using a totally plain search. (In my test set up, absolutely minimal q-search [see-non-losing captures only, no checks, no mates], absolutely minimal extensions [check only], null R == 3). As it turns out, some tactics are in fact really deep. Even some fairly simple tactics. One nice example was from BS2830, the one with .. Rxf3 and .. Bxe4. I believe that Anand found this over the board. Simple Rybka needed 3 billion nodes to get it - that's twice the nodes you'd get with an eight-way opteron at 2 min/move. (The actual # may be slightly lower since the 800 MB hash table was being saturated.) In the same testsuite, there was an endgame problem (.. g5) for which Rybka would have needed at least 10 billion nodes (I had to scroll the variation forward.) I think most humans would solve this one. #3 from that testsuite (.. Bh3+) was even deeper, scrolling forward it looked like it would take about 15 billion or so nodes - although the problem itself is flawed since .. Bg4 may be better. Most humans would solve this one as well. In general, the tactics were falling all over the #-of-nodes-needed map, with no end in sight. In the same above testsuite, Shredder also has trouble with .. g5 and .. Bh3+, but it needed just 6 million nodes to get .. Rxf3. Shredder's nodes seem to be a bit different, but still time-wise that's the equivalent of just 12 million or so Rybka nodes. I am not sure how this is achieved, since both .. Rxf3 and .. Bxe4 are sacrifices and should reduce the depth if you want good positional play. I don't know if there is some secret mechanism at play, or just a lot of work & tuning with "normal" pruning and extending. Anyway, it doesn't look like there are any easy answers. Selective search won't be dead any time soon, and the approach of "6 plies with big extensions and huge q-search" might be a reasonable alternative. The positional vs tactical tradeoff in search also isn't going away any time soon. It's just a question of implementing something and getting it to work, and then improving & tuning it. Cheers, Vas
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.