Similarity and Analogical Reasoning