Thomas Dybdahl Ahle

Results 127 comments of Thomas Dybdahl Ahle

This sounds like an interesting improvement, that probably wouldnt increase complexity too much. If you want to, you can also test the improvement by letting the new and old versions...

@Recursing Did you have any luck with either of these improvements? As mentioned, it is easy to test whether a change is an improvement or not, by saving the new...

Something like for score, move in sorted((pos.value(m), m) for m in pos.gen_moves(), reverse=True): if depth > 0 or score >= QS_LIMIT: yield move, -self.bound(pos.move(move, score), 1-gamma, depth-1, root=False) could work...

Wiki: http://chessprogramming.wikispaces.com/Repetitions Micro max: http://home.hccnet.nl/h.g.muller/repdraw.html

As it turns out, there aren't any good ways to do this with transposition tables.

Right, sunfish doesn't have a way to mark a TT entry as "don't replace". Rather you might want to use a separate set() for keeping the previous positions. I guess...

No wait, that's not even true. Adding the check in the beginning of `bound` for `if root` will only check if the initial position is already drawn, and not if...

If two pos.boards are equal, their pos.scores are equal as well. The pos.score is simply pst values and not the same as the score returned by the search, which may...

Don't be sorry, inquisitivity is great! Scores from search are never stored to pos.score. Not at root either. You can always assume the invariant `pos.score = sum(pst ... for i,...

This should be fixed in commit 965b631. I ended up going with the classic "just test against moves already made" as was also suggested in this thread. Since adding to...