Yes, probably it will.
But in my engine the move ordering is most determined by eval. If a move that is considered best with a low depth (and put at front of the list for time to come) is still considered good at higher depths means eval has guided search in the right direction.
Yes I know there are some history tricks to improve move ordering that are independent of eval but the gains you can get from that are somehow limited.
Thomas...
Improve the search or the evaluation?
Moderators: hgm, Rebel, chrisw
-
- Posts: 686
- Joined: Thu Mar 03, 2011 4:57 pm
- Location: Germany
-
- Posts: 27796
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Improve the search or the evaluation?
Actually I hardly ever did any tuning on Joker. That also holds for its piece-square tables. These were taken unmodified from Usurpator II. (And actually they are not really piece-square tables, but just square tables, as all pieces share the same table. Except Q and R, which do not use any table.Uri Blass wrote:I agree that not having an eval term can be better than having the term with the wrong value but I assume that you did some tests to show that the knowledge that you have about pawn structure is productive for Joker(you do not need a lot of CPU time for it).
-
- Posts: 4366
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: Improve the search or the evaluation?
Most eval terms by themselves have a very small effect. That is why tuning an evaluation function is so difficult and time-consuming. If you are going to tune, IMO you should start with the big eval terms first (typically, advanced and/or connected passers, king cover/safety, rook on 7th).
Some search improvements can have a large effect. Pruning and reduction logic in particular.
In addition, I cannot over-emphasize the role of bug fixing. Practically every program has bugs and some of these may have a significant effect on strength. There is no magic for finding these but I have a lot of asserts in my codebase and have found some bugs by running debug builds with these turned on. I found some just by watching it play too and noticing things it did wrong, although that's not very scientific. Doing code review - reading your own code over or better, having someone else do it - can also be effective.
--Jon
Some search improvements can have a large effect. Pruning and reduction logic in particular.
In addition, I cannot over-emphasize the role of bug fixing. Practically every program has bugs and some of these may have a significant effect on strength. There is no magic for finding these but I have a lot of asserts in my codebase and have found some bugs by running debug builds with these turned on. I found some just by watching it play too and noticing things it did wrong, although that's not very scientific. Doing code review - reading your own code over or better, having someone else do it - can also be effective.
--Jon
-
- Posts: 1221
- Joined: Wed Mar 08, 2006 8:28 pm
- Location: Florida, USA
Re: Improve the search or the evaluation?
Hi Jon,
http://www.chessprogramming.net/compute ... bugs-bugs/
Steve
I completely agree. You cannot "tune" anything until you have a mostly bug free base to start with. See my post here:jdart wrote:[...]In addition, I cannot over-emphasize the role of bug fixing. Practically every program has bugs and some of these may have a significant effect on strength. There is no magic for finding these but I have a lot of asserts in my codebase and have found some bugs by running debug builds with these turned on. I found some just by watching it play too and noticing things it did wrong, although that's not very scientific. Doing code review - reading your own code over or better, having someone else do it - can also be effective.
http://www.chessprogramming.net/compute ... bugs-bugs/
Steve
http://www.chessprogramming.net - Maverick Chess Engine
-
- Posts: 267
- Joined: Thu Jul 07, 2011 10:31 pm
- Location: Denmark
Re: Improve the search or the evaluation?
Interesting. So everyone (without a program or) with a program below 2500 better take a copy of such a program and start improving that....Uri Blass wrote:I think that improving the search is more important certainly if you are at the level of 2200.
It is possible to get rating of 2500 only by search with a very simple evaluation and even at the level of stockfish it seems that most of the improvement is search improvements and not evaluation improvements.