相似度函数的算法的内容介绍

相似度函数的算法的内容介绍

因为实际应用中经常会遇到字符串的匹配问题,常规的逐个对比的方法很不适用,所以想自己编写一个比较好用的相似度函数。
详细需求如下:
任给两个字符串x和y,要求函数给出对x和y相似程度的评价值,返回值为[0,1],完全相似为1,完全不相似为0。要求越相似的评价值越高,希望函数的评价尽量地准确。
例如函数对如下的组合应该给出从高到低的评价:
"abc" - "abc"
"abc" - "acb"
"abc" - "cab"
"abc" - "ab"
"abc" - "aba"
"abc" - "abd"
"abc" - "ac"
"abc" - "aac"
"abc" - "adc"
"abc" - "aca"
"abc" - "acd"
"abc" - "ca"
"abc" - "cad"
"abc" - "a"
"abc" - "aa"
"abc" - "aaa"
"abc" - "ad"
"abc" - "add"
"abc" - "d"

请大家贡献自己的想法,说说算法原理就行,不成熟的也没关系,说出来也可以互相启发,多谢!