lkaufman wrote:diep wrote:lkaufman wrote:In at least 99% of chess positions, it's better to be on move than not. Therefore all strong programs take this into consideration when evaluating positions or making decisions. There appear to be three possibilities:
A. Simply give the side to move a bonus when doing an evaluation, which can either be a constant or may depend on something else.
B. When reaching quies, if you are below beta but within for example 10 centipawns of beta allow the cutoff.
C. Do both of the above.
What are the pros and cons of the three methods? We currently use method A, but I notice that some strong programs appear to use B or C. Are there any other possibilities in use for handling this issue?
D) Do not give the bonus at all
In Diep i'm not giving a bonus at all. Some 10+ years ago i tested many games with and without, and it didn't help at all, also to my surprise.
Sometimes it takes a year or 10 to understand something. Claim i heard that understanding the years 30 financial crisis took a year or 60.
In 90s there was many programs giving a bonus for having the side to move. Not surprisingly i also extensively experimented with it at different occasions.
In principle you can see having many chess patterns also as a temporarily pattern, as you can escape from this pattern or several patterns. Having the move you're allowed to maximize your position already, trying to get above alpha; not having the move you're not. So implicitly you already give a lot of bonus for having the move by means of how the search tree gets built up.
So whether such bonus for side to move works might depend upon how extensively a programs evaluation function is.
In fact i'm not even gonna experiment with a bonus for side to move anymore - it's been kicked out
Now if we assume a program has a decent evaluation function with more than just beancounter patterns, we can also reverse the question;
if in search we already struggle to get to a quiet position to evaluate, doesn't the side to move bonus basically contradict this strategy?
As it basically gives a bonus for having the side to move, you automatically create a random noise of the size of your bonus around the current quietness that might be there in the position;
So from that viewpoint a STM bonus doesn't work at all.
But now the lesson after 10 years:
Note that a STM bonus is a very weak form of a pattern.
If we have a white pawn on d2 and a white bishop on d3, we have a pattern and give a penalty for that.
To get the STM bonus you have a far weaker pattern which requires having the move as only condition. So it's at most a weak heuristic.
Vincent
First, I can tell you that there are few things more certain in computer chess than the fact that having some side to move or stand pat bonus helps the elo in both Rybka and Komodo. Of course this may not be true for your program.
It is also obvious that if the search is comparing two identical positions, one with itself to move and the other not, it should prefer the one with self to move 99% of the time. I can't see any argument against having SOME side to move bonus in a program. Of course it can easily be set too high.
Probably as I think Uri pointed out the key factor may be whether a program's eval includes tactical scoring of threats. Did (does) Diep penalize attacked pawns/pieces in the eval? If not then a smaller side to move bonus is probably appropriate.
The most interesting question on this topic is what factors should influence the size of the bonus. Currently SF, Rybka, and Komodo only consider game phase.
The big difference in thinking is you consider 1 unique position and take a look at it. The chessprograms are first doing a 30 ply search line.
You still guess that after 30 plies there is a 0.1 pawn advantage to get?
Adding the bonus means there is a difference between your search getting 29 or 30 ply.
I'm aware some programs are using this bonus with succes; it wasn't different in the 90s.
Diep has worlds largest evaluation function chessknowledge wise. Considering attacks in patterns is something that trivially gets done a lot.
Not just the number of attacks or what sort of piece of attacks, also derived functions from it.
Basically anything you could come up with your entire life as a chessplayer as being 'chessknowledge', consider it being in Diep. Just strategy sometimes is really hard to make binary code for, yet i have experimented extensively there as well. *some* strategical factors are getting done inside diep's evaluation, yet majority of strategy isn't possible to put in patterns very well.
A good example is the minority attack after 1.d4,d5 2.c4,e6 3.cxd5 exd5 4. Nc3,Nf6 5.Bg5,Be7 6.e3
Now white has 2 plans. The classical plan is to go for the minority attack.
Many fruitless attempts have been done by me to get that to work.
Usually the positional factors then overrule the strategical factors; for example diep values the d3 bishop very high whereas blacks c8 bishop is a bad bishop. So diep doesn't want to exchange its d3 bishop for the c8 bishop.
Yet if black manages to develop its rooks to e8,f8 and then play its bishop back to c8, with white having its b2 pawn capture towards c5, then suddenly b7 is ideally covered. Only exchanging the bishop, or a very selden f3 knight transfer over d2 to b3 to a5, is gonna be helpful then.
So a minority attack is one of the big failures in my evaluations code.
Anything else i have. Diep has more types of bishops than any literature you have ever seen
On its way it seems one of my definitions also made it nowadays into the mainstream chess literature.
One bishop i defined is a positions bishop. That didn't exist prior to me calling it like that, somewhere mid 90s for Diep.
Chess literature is very limited here. Only a tad more modern literature is doing better there.
Usually titled players are very bad in factoring their knowledge into what really matters for this specific position.
For example well known is Capablanca's statement on that a queen+knight is stronger than a queen+bishop.
I challenge that - usually it's just the knight having a very strong spot, that takes care for this - or more important the huge preference of titled players to play with a bishop rather than a knight.
Actually i lost a game against an old player some weeks ago - where i took the bishop. With 1 small move i missed suddenly the bishop was weak and then i lost bigtime against a senior player.
Bishops are just tough to evaluate, that's why one of the automatic tunings features in Rybka had put knights at being default 0.6 pawns better than a bishop and in far endgame it still is 0.3 pawns better.
Of course on top of that comes the bonus for the position hwere the bishop andk night is located, which might change it.
Side to move is a much tougher to define pattern there, as it isn't a pattern. It's dependant upon the SEARCH.
So in itself it's not a chess technical pattern. It's in the grey area between search and giving a score. Strictly spoken it's a search bonus, not a positions bonus from my viewpoint seen.
As a result from that i find it a very weak heuristic, and it took me 10 years to realize that, meanwhile i had kicked it out after extensive experimentation and testing with it some 10-12 years ago. I had it retested somewhere start this century after initial games played by it by Jan Louwman at his 36 computers.
That was slow games.
Also back then nearly every line resulted in endgame and this search bonus gets applied at the end of a search line.
So it isn't getting applied at the root of a position without searching, it's intended as a correctional search bonus.
In 90s there was some programs it worked for and some where it didn't work for.
If you go play some slower time controls with some modern beancounter i'd be amazed if the bonus still works for todays huge search depths.
What i would like to know for those programs using it, is whether they on average search deeper when using this bonus.
Vincent