similarity function
Compute a similarity score between a and b based on Levenshtein distance.
Returns a value between 0.0 (completely different) and 1.0 (identical).
Implementation
double similarity(String a, String b) {
if (a == b) return 1.0;
final maxLen = math.max(a.length, b.length);
if (maxLen == 0) return 1.0;
return 1.0 - levenshteinDistance(a, b) / maxLen;
}