Ma compréhension est que la meilleure solution pour la plus courte Modifier le Script (SES) problème est Myers "moyen-serpent" avec la Hirschberg linéaire de l'espace de raffinement.
Le Myers algorithme est décrit dans:
E. Myers, `Un O(ND) Différence
Algorithme et de Ses Variations,"
Algorithmica 1, 2 (1986), 251-266.
La GNU diff utilitaire utilise le Myers algorighm.
Le "score de similarité" dont vous parlez s'appelle la "distance d'édition" dans la littérature, qui est le nombre d'insertions ou suppressions nécessaires à la transformation d'une séquence à l'autre.
Note qu'un certain nombre de personnes ont cité l'algorithme de Levenshtein, mais qui est, quoique facile à mettre en œuvre, pas la solution optimale, car il est inefficace (nécessite l'utilisation d', éventuellement, un énorme n*m la matrice) et ne fournit pas le "edit script" qui est la suite de modifications qui pourraient être utilisés pour la transformation d'une séquence à l'autre, et inversement.
Pour une bonne Myers / Hirschberg de mise en œuvre de regarder:
http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
La bibliothèque particulière qu'il est contenu à l'intérieur n'est plus maintenu, mais à ma connaissance, la diff.c module lui-même est toujours correcte.
Mike