Author: Tony Werten
Date: 04:14:00 04/24/01
Go up one level in this thread
On April 24, 2001 at 05:40:56, Rafael Andrist wrote: >On April 24, 2001 at 03:57:54, Tony Werten wrote: > >>On April 23, 2001 at 11:12:55, Rafael Andrist wrote: >> >>>In my chessprog, I'm using an Alpha-Beta-Search with an infinite window. After >>>adding a hashtable, only half of the nodes need to be searched, but I get still >>>a branching factor around 9. The use of Iterative Deepening didn't change much. >>>So now my question is what can I do to improve the search? Should I try to >>>improve the move-sorting? Or is it necessary to use other pruning techniques >>>like Nullmove? >> >>The use of iterative deepening doesn't nescesairy help the BF. It's advantage is >>that you don't need to decide on forehand how deep you are going to search. >> >>If you decide to search 10 ply and you run out of time, without ID you have >>nothing, with ID you have the best move of ply 9. > >I know, but I hoped that it helps sorting the moves too. It really does that >too, but only a little bit. > >> >>BF of 9 is a bit too high but not too much if you don't use nullmove. There are >>a couple a reasons why it could be this high: >> >>Are you using killermoves ?(you should, noncaptures only) > >Now I do :) and the BF has gone to 7. Nice ! Nullmove should almost half that, but it's better to try to get the rest as good as possible first. > >>Is your evaluation a bit intelligent ? (it should, at least material and passed >>pawns) > >Yes, my eval is little bit intelligent, I get good results in games with fixed >dephts. > >>Do you store bestmoves in the hashtable (you should) ? > >Yes. > >>Do you store bestmove if score is <=alfa ? (you shouldn't) > >No. Why is this bad? If everything scores <=alfa then there is no good move. Most of the time (almost all of the time ) it will just be the first move you tried before. > >>How do you orden capturemoves (to start with, use MVV/LVA, most valuable victim, >>least valuable attacker ) >>Have you tried history tables ? (should help at lower depths ) >> > >my move ordering: > >- Hashmove >- 2 Killers (just implemented) >- checking moves >- capturing moves (sorted like you discribed above) >- history heuristic >- castling (if there are moves with equal scores, castling should be favoured) >- moving piece (pawns first, king last) >- square onto which the piece move (center, near the opponent is good) > >The history heuristic doesn't seem to work well, I may have to improve this too. Could be. You already have some kind of ordening if nothing else works (last 3 cases) so that could be a reason too. The first rules are a bit unusual. I never put checking moves in it, because a checking move by itself isn't good or bad. Depends on what the move does, but a lot of time you will just be giving away a piece. I think this rule belongs with the last 3. The more usual order is: Hashmove, capture moves then killers. Most of the time a capture move is the best move. If you use mvv/lva you also might try "capture of the last moved piece" first. A lot of times the last move just put a piece en prise. You seem to be trying to put too much intelligence in the moveorder while most of the time (because of the nature of search) you just want "the move that shows your opponents last move was wrong" Tony > >Thanks > >Rafael B. Andrist > >>Have fun trying out, >> >>Tony >>
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.