Similarity: Generalizations, Applications and Open Problems