Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: zobrist hashing

Author: Ricardo Gibert

Date: 19:29:15 05/29/99

Go up one level in this thread


Section 4.6 in Algoritms + Data Structures = Programs by Wirth is correct.
>
The 1983 edition of Algoritms by Sedgewick gives the typical incorrect
exposition of the topic, which you seem to echo rather closely.
>
The 1984 Edition of Fundamentals of Computer Algorithms by Horowitz & Sahni I
have is also incorrect.
>
I'll check Knuth when I pass by the bookstore today.  I'm pretty sure he gets it
right.  He is very meticulous & comprehensive of course.  Not very good at
explanations though.  Not a good writer.  He seems to set the standard,
nevertheless.  I'll probably wind up posting a quote from Wirth even though it
looks like it will be overly long. They don't let you use a copier in bookstores
unfortunately.
>
Just think about what you are saying.  "M mod N" would then be hashing a
function according to you.  A poor one, because of all the collisions.  Hashing
is a strategy to spread out keys to avoid collisions when you map from M to N.
Mapping function is the term you defined.  All B-trees are mapping functions
too, but are not hash functions as you imply.  They fit your "definition".
>
What happens in computer science, as in many fields, is terminology &
definitions are used "loosely".  It's is very awkward & laborious to be precise
all the time.  Particularly in conversation.  The trouble is the listener/reader
does not know when the writer/speaker is being precise or is using the term
loosely.  So the facts get "hashed" and you have many books treating topics
incorrectly.  I can give many examples in sorting & numerical analysis if you
are interested.
>
By the way, I used to drive my college profs crazy with this type of problem.
So you have my sympathies!



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.