title: Help designing a hash function to detect duplicate records?
body: <p>Let me explain my program thus far. It is a rubiks cube solver. I am given a scrambled cube (this is the initial state). This becomes the root node of a graph. I am using <code>iterative deepening depth first search</code> to "brute force" this scrambled cube to a recognizable state which I can then use pattern recognition to solve.</p>
  
  <p>As you can imagine, this is a very large graph, so I would like to come up with some sort of hashing functionality to detect duplicate nodes in this graph (thus speeding up the traversal).</p>
  
  <p>I am largely unfamiliar with hashing functions, but here is what I am thinking... Each node is essentially a different state of the rubik's cube. So if I come to a cube state (node) that has already be seen, I want to skip over it. So I need a hashing function that takes me from the state variable to a checksum, where the state variable is a 54-character string. The only allowed characters are <code>y, r, g, o, b, w</code> (which correspond to colors).</p>
  
  <p>Any help designing this hash function would be greatly appreciated.</p>