Bonjour,
J’ai une question à propos des fonctions décrites dans le notebook Python. Dans la partie “L’algorithme récursif -> L’algorithme”, il est dit que :
" C’est pourquoi dans notre cas la formule principale est
cost (i, j) = min ( cost(i-1, j-1) + substitution(dna1[i-1], dna2[j-1]),
...)
et non pas substitution(dna1[i], dna2[j])
"
Je ne comprends pas pourquoi on ne fait pas substitution(dna1[i], dna2[j])
, puisque je pensais que le coût du point (1,1) par exemple est le minimum de (coût du point (0,0) + coût de substitution (1,1) , coût du point(0,1)+ coût d’insertion , coût du point(1,0)+ coût d’insertion).
Dans la partie “Analyse de complexité”
il est écrit nw(dna1, dna2, i-1, j-1) + (dna1[i] != dna2[j])
, donc dans cet algorithme, il n’est plus notifié les i-1 et j-1.
Est-ce que quelqu’un pourrait m’aider à comprendre ce point ?
Merci beaucoup par avance!