Helmut Lenzen schrieb:
>> 21111 - 11211
>
> 21111
> 11211
> ^^^^^
> ||||-----gleich
> |||------gleich
> ||-------ungleich
> |--------gleich
> ---------ungleich
>
> Wuerde in dem Fall dann 60% Uebereinstimmung bedeuten
Das wirft eine interessante Fragestellung auf.
Wie gross ist die 'geeignet definierte Differenz' zwischen zb
Sowas ist zb interessant, wenn es um Ähnlichkeitssuche geht. Wir alle
kennen das Problem: Kundendatenbank. Ohne korrekte Schreibweise des
Namens ist der Kunde nicht zu finden. Der Sachbearbeiter tippt wie ein
wilder alle Variationen des Namens ein, die im einfallen, bis er dann
endlich den gesuchten Kunden findet.
Ich benutz für solche Sachen einen Ähnlichkeitsvergleich, den ich mal in
den 80-er Jahren in einer c't gefunden habe. Das Prinzip besteht darin,
festzustellen, wieviele Operationen (verändern, vertauchen, einfügen,
löschen) von Buchstaben man benötigt, um einen String A in einen String
B zu überführen. Je kleiner die Zahl, desto ähnlicher.
Funktioniert erstaunlich gut.
Als ich die Überschrift des Threads gelesen hab, dachte ich, der TO
sucht nach sowas. Mit dem Code war allerdings schnell klar, dass er das
nicht sucht, sondern dass ihm nicht klar ist, dass "812" auch nur ein
String ist, so wie "Charly" auch einer ist. Auch wenn ihn "812" an eine
Zahl erinnert - es ist keine.