Search found 219 matches

by Sergei S. Markoff
Tue Sep 13, 2011 6:28 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Repetitions/50 moves and TT
Replies: 27
Views: 7038

Re: Repetitions/50 moves and TT

I have a much simpler idea. DRAW_SCORE_50 = DRAW_SCORE + 1 Given that evaluation grain size is bigger than 1 you are sure that if a search returns DRAW_SCORE_50 it is due to some "50 moves" draw to occurred down in the tree and to be the best one. If instead search returns DRAW_SCORE it is a normal...
by Sergei S. Markoff
Tue Sep 13, 2011 6:11 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: c# for chess engine
Replies: 15
Views: 3722

Re: c# for chess engine

C# assemblies are statically compiled with an AOT compiler. (I don't think desktop .NET even has a bytecode interpreter in it, everything gets compiled). If you avoid using the more dynamic language features, performance should be pretty good. Maybe a little bit less than you can achieve with C or ...
by Sergei S. Markoff
Tue Sep 13, 2011 6:08 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Repetitions/50 moves and TT
Replies: 27
Views: 7038

Re: Repetitions/50 moves and TT

Yes, but at worse it would only mean that in the case of a legit 0-eval you'd have to compute it again and, maybe, lose a chance to get a TT cut-off, but that would be very marginal, would very rarely happen (how many times does an eval function return a perfectly equal score?), and would have no o...
by Sergei S. Markoff
Tue Sep 13, 2011 6:03 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Repetitions/50 moves and TT
Replies: 27
Views: 7038

Re: Repetitions/50 moves and TT

how can it work? I have such an idea. Let's add to the eval in TT special flag — "repetitionDependent". During probe we can't use this eval, only TT move. When obtaining repetition in the beginning of Search(), you should return also ply at which this position previously occured ("repetitionPly"). ...
by Sergei S. Markoff
Tue Sep 13, 2011 5:45 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Repetitions/50 moves and TT
Replies: 27
Views: 7038

Re: Repetitions/50 moves and TT

Wouldn't a fix be to never store any draw score in the TT? I think it's too excessive measure. At first, draw score can be produced by repetition within main line of the search, that results is stored in TT. Also it's not so easy to distinguish draw score from ordinal eval that equals to draw score.
by Sergei S. Markoff
Tue Sep 13, 2011 5:09 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Repetitions/50 moves and TT
Replies: 27
Views: 7038

Repetitions/50 moves and TT

Threefold repetition and 50-moves rule are the worst enemies of Transposition Table. Formally, the same positions (from the point of view of the board state) can be different due to different preceeding "silent" moves. That's why full transposition probe can lead to error (usually too later seeng th...
by Sergei S. Markoff
Tue Sep 13, 2011 5:08 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Way to reduce amount of stored data in engine
Replies: 9
Views: 1439

Way to reduce amount of stored data in engine

Current eval functions and shallow searches are good predictors for the deep searches. So, when you're need to store tree (in openings book, EGTB or TT) it's possible to store _only_ moves that are differs from "obvious". Possible it can reduce amount of stored info by many times. Anyone tried this ...
by Sergei S. Markoff
Tue Sep 13, 2011 5:05 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: c# for chess engine
Replies: 15
Views: 3722

c# for chess engine

I've just spent a few days to write a simple engine on C#. I was surprised that it's not so slow as I presumed. Bitboard engine (base on de Bruijn numbers) with alpha/beta, w/o move ordering and with eval based on psq/material does 1 200 000 pos/sec. at my notebook (while SmarThink does about 450 kn...
by Sergei S. Markoff
Tue Sep 13, 2011 5:01 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Breadth-first search: revisiting
Replies: 6
Views: 1552

Breadth-first search: revisiting

Couple decades ago there was some papers about best-first-like alternatives to PVS/negascout (SSS*, A*, Dual*, conspiracy numbers, MT-class searches and so on). Inspite of great hopes all of them was finally declined, mostly because of bad null-move behavior in such trees and also because of (probab...