Not sure I follow your logic. If preventing a move is/could be an advantage, would you not want to express that advantage in the score?
In think in most cases the pawn is an effective defender. Yes there are sacrifices, the search should find that, not a mobility evaluation.
Grant
Suppose that the white queen controls h6 and also the black pawn g7 control this square.
suppose that if black plays g7-g6 then white plays Qh6 with mate.
g7 cannot move because of Qh6 with mate later.
I consider it as an advantage for white.
Uri Blass wrote:For the first thing I think that it does not make sense not to evaluate mobility if a square is attacked by enemy pawn.
If a square is attacked by an enemy pawn it means that the square is not going to be attacked by the enemy pawn when the enemy pawn moves and the fact that the opponent needs the pawn as a defender in case that he wants to prevent some move is an obviouis advantage.
The pawn is not always an effective defender and there are sacrifices
in chess so there is a difference between cannot move and cannot move without being captured.
Uri
Well by that logic you could get rid of a lot of evaluation terms.
Personally I evaluate both regular mobility and "safe" mobility (squares not attacked by opponent pawns). It is noticeably weaker without both.
I even did not try to evaluate safe mobility because I remember reading that people found that safe mobility is not productive relative to mobility that is based on the number of legal moves and it is not obvious to me that safe mobility is really productive for playing strength.
Well I use a bizarre form of mobility quite different from any of the ones mentioned here, and have talked to a number of authors using their own variants. I think it is safe to say that mobility is one of many things where there is room for improvement over standard techniques.
I enjoy hearing the description of Olithink eval because of the purity of the concept (everything is mobility...Botvinnik would agree). I would not be surprised if as it improves it gets closer and closer to a traditional eval (as it has with the recent addition of some pawn structure concepts) but it may well be that having a theme to motivate additions will help keep a balance between factors that is normally achieved through massive testing.
Regarding what it takes to be a 2400 engine...well, I would say if you use a few of the standard search tricks, and have mostly bug free code, you could do it with a very simple but well tuned eval, or a complicated but poorly tuned eval, or...anyway its not that hard to have a sufficient eval (reasonably bug free and reasonably fast search code is the real trick to get to that level).
Getting to 2700, well, that might require some serious eval work.
I was a fan of this engine since I'm just starting to learn chess programming. I've studied the old 3.x versions and I based my old TL versions on the Olithink pre alpha 5 rotated bitboard that was open source then. It was only a non-complete move generator then.
Edsel Apostol wrote:Someone finally appreciates my favorite engine.
I was a fan of this engine since I'm just starting to learn chess programming. I've studied the old 3.x versions and I based my old TL versions on the Olithink pre alpha 5 rotated bitboard that was open source then. It was only a non-complete move generator then.
I've been a big fan since the olipow days. And I guess that over the years I have pestered Dr. Braush with 100 emails.
Do you reward mobility points even if a square is attacked by an enemy pawn?
And how about Xrays if a bishop or rook can reach an own queen?
Grant
Hi Grant,
sorry for the late answer but to your question.
I actually do give the same mobility points for whatever square. I could make sense to give more score for centre square or less score for squares that are under "enemy control", but...
my first aim was to keep the code most simple and if you look at the strelka code you know what I am talking about
About the x-ray stuff: I am experimenting with this at the moment. For me it is clear, that own king does end the mobility for own sliders meanwhile the other king does not and the other queen neither. Such things are easy to implement as you just have to remove the pieces, then calculate, then bring them back.
Edsel Apostol wrote:Someone finally appreciates my favorite engine.
I was a fan of this engine since I'm just starting to learn chess programming. I've studied the old 3.x versions and I based my old TL versions on the Olithink pre alpha 5 rotated bitboard that was open source then. It was only a non-complete move generator then.
I've been a big fan since the olipow days. And I guess that over the years I have pestered Dr. Braush with 100 emails.
This is very true! Thank you all for you support.
I always appreciated Dann's interest in my chess engine. But, it's quite strange as the old Olipow is so much weaker and worse written than.
I have actually written 4 completely different chess engines, OliPow2, OliThink3, OliThink4 and now OliThink5 and made always a couple years of vacation between the versions.
Dann, when will you write you own chess engine or do you have one already?
Edsel Apostol wrote:Someone finally appreciates my favorite engine.
I was a fan of this engine since I'm just starting to learn chess programming. I've studied the old 3.x versions and I based my old TL versions on the Olithink pre alpha 5 rotated bitboard that was open source then. It was only a non-complete move generator then.
I've been a big fan since the olipow days. And I guess that over the years I have pestered Dr. Braush with 100 emails.
This is very true! Thank you all for you support.
I always appreciated Dann's interest in my chess engine. But, it's quite strange as the old Olipow is so much weaker and worse written than.
I have actually written 4 completely different chess engines, OliPow2, OliThink3, OliThink4 and now OliThink5 and made always a couple years of vacation between the versions.
Dann, when will you write you own chess engine or do you have one already?
It's called "bean counter" but he never goes out in public.
First version was in the late 90's, but it was pathetic because I did not know anything about chess programming yet.
Written, rewritten, thrown away and revived...
Full of crazy ideas and non-traditional nonsense, if I ever become satisfied with it, I will release it as open source.
I took a peek at your source code and I'm puzzled by one thing. Mobility for your bishop's are not blocked by the opponents queen OR rook. Is this because the rook is worth more and you expect it to move out of the way?
I took a peek at your source code and I'm puzzled by one thing. Mobility for your bishop's are not blocked by the opponents queen OR rook. Is this because the rook is worth more and you expect it to move out of the way?
Grant
This makes a lot of sense to me. It is expected that your opponent will move a queen or rook (or king) out of way of bishop attack, and queen or king out of way of rook attack, and king out of way of queen attack, so bonus mobility is in order. If you never end eval in check, the king things are unnecessary.