J'ai un problème très intéressant.Faire correspondre un ensemble de chaînes à une chaîne pour maximiser le nombre de correspondances possibles
J'ai un ensemble de chaînes et je voudrais savoir comment faire correspondre une combinaison de ces chaînes dans une autre chaîne avec une fonction de maximisation.
Un exemple serait. Dire que j'ai l'ensemble:
['aabbcaa', 'bbc']
et j'ai la chaîne
'fgabbcdaabbcaaef'
et les correspondances possibles pour cela sont:
fga[bbc]daadaa[bbc]aaef
ou
fga[bbc]daad[aabbcaa]ef
Maintenant, étant donné une simple fonction de maximisation, je dirais t Le chapeau fga[bbc]daad[aabbcaa]ef
est le gagnant en raison du nombre total de caractères correspondants. Une fonction de maximisation différente pourrait donner plus de poids aux mots plus gros remplacés au lieu des caractères totaux.
J'aimerais savoir si quelqu'un pourrait me signaler quelques algos sur la façon de le faire. Ce que je suis perplexe est après que je trouve un ensemble de correspondances potentielles je ne suis pas sûr de savoir comment maximiser l'ensemble des mots à choisir de manière efficace.
Le dictionnaire, les mots du dictionnaire et le mot qui a été comparé pourraient être de n'importe quelle taille.
J'apprécierais toute aide que je pourrais obtenir avec ceci. Je vous remercie!