Hamming similarity for tuples

Definition
Given the sets $$E_1,\ldots,E_n$$, let $$E_1\times \cdots\times E_n=\bigotimes_{i=1}^nE_i$$ the set of $$n$$-tuples with $$(u_1,\ldots,u_n)$$ with $$u_i\in E_i,\ \forall i=1,ldots,n$$. The Hamming similarity for tuples is a function $$HammingSim:\bigotimes_{i=1}^nE_i\times \bigotimes_{i=1}^nE_i\longrightarrow [0,1]$$ that measures the number of equals components, divided by the length of tuples:

$$ HammingSim(u,v)=\frac{\sum_{i=1}^{n}IdSim(u[i],v[i])}{n}, $$

where $$IdSim$$ is the Identity similarity.

Examples

 * HammingSim((1,a,0,b),(0,a,1,b)) = 2/4 = 0.25.
 * HammingSim((1,a,0,b),(0,b,1,a))= 0/4 = 0.
 * HammingSim(('A.Sanchez','asanchez@gmail.com','913724710'),('A.Sanchez','sanchez@yahoo.com',' ') = 1/3 = 0.33.

Normalization
It is normalized.

Variations
When the components of tuples are of the same types, we have the Hamming similarity for vectors.

Applications
Useful for comparing entities described by a fixed set of attributes of different types.