Chess programmers should take notice ..

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Uri Blass
Posts: 10307
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Chess programmers should take notice ..

Post by Uri Blass »

grant wrote:Uri

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
Uri Blass
Posts: 10307
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Chess programmers should take notice ..

Post by Uri Blass »

Zach Wegner wrote:
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.

Uri
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: Chess programmers should take notice ..

Post by BubbaTough »

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.

-Sam
Edsel Apostol
Posts: 803
Joined: Mon Jul 17, 2006 5:53 am
Full name: Edsel Apostol

Re: Chess programmers should take notice ..

Post by Edsel Apostol »

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.
Dann Corbit
Posts: 12541
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Chess programmers should take notice ..

Post by Dann Corbit »

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.
;-)
OliverBr
Posts: 725
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: Chess programmers should take notice ..

Post by OliverBr »

grant wrote:Oliver

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.
OliverBr
Posts: 725
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: Chess programmers should take notice ..

Post by OliverBr »

Dann Corbit wrote:
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?
Dann Corbit
Posts: 12541
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Chess programmers should take notice ..

Post by Dann Corbit »

OliverBr wrote:
Dann Corbit wrote:
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.
grant
Posts: 67
Joined: Mon Aug 06, 2007 4:42 pm
Location: London, England

Re: Chess programmers should take notice ..

Post by grant »

Oliver

Thanks for your reply.

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
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: Chess programmers should take notice ..

Post by BubbaTough »

grant wrote:Oliver

Thanks for your reply.

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.

-Sam