thanks for your patience Alvaro...very much appreciated! but i don't understand. what do you mean by 4 locations? (by "location" you mean an index in the array? should i store the same entry in 4 different indexes?) if i have an array ,that each index of the array (this is what you mean by bucket?) contains only single Entry object (Entry object contains all the details like zobrist key,depth,score etc..). the index which the Entry is stored in get's picked by the compression function (zobrist key % size of array). my logic tells me,that i can store only one Entry object per index (instead of a list of a few Entries)
and when a collision occurs, i can decide whether to keep the already saved entry or to overwrite it for the sake of the new entry ( the new entry might be the same position, or a different one that only fell in the same index by the compression function).
Am i totally in the wrong direction here??
EDIT: Right now i am experimenting with an array of size 1000003, and everytime a position collide to a certain index which already have a position in it,i simply replace no matter what is stored. i will try to improve it,with a replacement by depth. but is it at least acceptable?