Given two strings of equal length, the HammingDistance is the number of places in which they differ. Or mathematically as usually used in coding theory:
The Hamming distance d(x,y) is the number of coordinates where (the symbols) x and y differ.
Named after the mathematician RichardWesleyHamming.
I ran across this when evaluating a set of random numbers to be used for generating the hash of a chess position. A random number is assigned for the state of each piece on a chessboard (white bishop on a7 gets a different number than black pawn on e5, for example). The position hash is the XOR combination of the random numbers for all the pieces currently in play. It turns out that hash collisions are minimized when the average Hamming distance between the whole set of random numbers for all pieces is maximized. -- IanOsgood
Also see HammingCode and EditDistance, FactoryMethod.