Search found 33 matches

by rtitle
Thu Mar 27, 2014 1:43 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Parallel Search with Transposition Table
Replies: 21
Views: 5805

Re: Parallel Search with Transposition Table

The main performance problem with Java is garbage collection. If your chess program creates an object for each node of the search (e.g. a Move object created by move generation) then all those objects need to be garbage collected. The TT table can also be a problem, since each TT entry in the HashMa...
by rtitle
Tue Nov 19, 2013 9:40 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Slow Searchers?
Replies: 29
Views: 7820

Re: Slow Searchers?

It seems to me it needn't be an exclusive or (i.e. "fast" xor "smart"?). My program (still under development) does its static eval a couple ply above the nominal search depth. That allows you to do an expensive positional eval (since you're doing this in interior nodes of the tree, not the leaves). ...
by rtitle
Wed Oct 16, 2013 10:54 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: WB protocol: describing how a piece moves
Replies: 23
Views: 2872

Re: WB protocol: describing how a piece moves

BTW, a variant that I enjoy playing is Abbot's Ultima ( http://www.chessvariants.org/other.dir/ultima.html ). In that variant, the pieces all have different capture methods - only the King retains its chess capture method of "replacement". Zillions of Games can play Ultima, but not very well. I don'...
by rtitle
Wed Oct 16, 2013 10:12 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: hashtables
Replies: 23
Views: 4457

Re: hashtables

Hi Pio, That's quite clever and compact :-). So, the rooks that can castle get the artificial piece type for can-castle, right? And for en passant, which pawn gets the artificial piece type, the capturing pawn or the captured pawn (or both)? While your compact position representation is nice, it's n...
by rtitle
Wed Oct 16, 2013 2:59 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: hashtables
Replies: 23
Views: 4457

Re: hashtables

> Another fun problem is what is the most compact representation for storing chess positions? You can do it with four 64-bit words (32 bytes). Choosing the Nth bit of each word gives you a 4-bit value that can be used to encode what (if any) piece is on the Nth square. There are 13 possibilities for...
by rtitle
Wed Oct 16, 2013 1:03 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: hashtables
Replies: 23
Views: 4457

Re: hashtables

One thing I want to avoid is displacing "high value" TT entries in the main TT (those near the root & based on deep searches) with lower value TT entries (i.e. for nodes near the leaves). Doesn't happen, because the hashtable code typically implements a replacement scheme that keeps entries which h...
by rtitle
Tue Oct 15, 2013 6:16 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: hashtables
Replies: 23
Views: 4457

Re: hashtables

Yes, I've thought about internal iterative deepening as a way to deal with the engine "hitting a wall" on deep searches when the TT fills up and it's no longer getting the benefit of finding best-move info at nodes near the leaves. (Because those nodes are not getting inscribed in the already-full T...
by rtitle
Tue Oct 15, 2013 3:50 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: hashtables
Replies: 23
Views: 4457

Re: hashtables

I was tempted to see how many times we could say "No" to each other. :-) But upon reflection, you are right. I didn't think of the best-move-causes-a-cutoff case. You say I have to validate it's legal. Is this because of possible hash collisions? I'd still like to keep my TT entries at 8 bytes, both...
by rtitle
Tue Oct 15, 2013 2:41 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: hashtables
Replies: 23
Views: 4457

Re: hashtables

No. If I'm using it only for move ordering, I'm calling the move generator anyway, so storing the index is sufficient. Similarly if I were storing evals and using the stored eval for improved alpha/beta bounds, I'd be calling the move generator anyway. The only case where you can *save* a call to th...
by rtitle
Mon Oct 14, 2013 10:05 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: hashtables
Replies: 23
Views: 4457

Re: hashtables

Right, I don't store the computed evals, just the information about what was selected as best-move when this same position was previously searched. I am arguing that the primary benefit of the TT is to give you better move-ordering, thus improving alpha-beta efficiency. This assumes you are doing it...