Programmation dynamique, récurrences Flashcards

(44 cards)

1
Q

Quels sont les trois types d’alignements étudiés ?

A

Alignement global (aligner les séquences entièrement), alignement local (trouver les meilleures sous-séquences), et recherche de motif (trouver un petit motif dans une grande séquence avec erreurs).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quelle est l’idée de l’alignement global ?

A

L’alignement global vise à aligner deux séquences S et T dans leur totalité, en minimisant une distance d’édition ou en maximisant une mesure de similarité globale.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quelle est l’idée de l’alignement local ?

A

L’alignement local cherche les sous-séquences de S et T qui sont les plus similaires selon une mesure donnée, en ignorant les autres parties.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quelle est l’idée de la recherche de motif ?

A

La recherche de motif vise à détecter toutes les occurrences approximatives (avec erreurs) d’un motif court P dans une longue séquence T.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quel algorithme est utilisé pour l’alignement global avec distance d’édition ?

A

L’algorithme de Levenshtein calcule le coût minimal pour transformer une chaîne S en une autre chaîne T en utilisant insertion, suppression et substitution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quel algorithme est utilisé pour l’alignement global avec similarité ?

A

L’algorithme de Needleman-Wunsch maximise une mesure de similarité entre deux séquences complètes à l’aide d’un tableau de scores et de pénalités.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quel algorithme est utilisé pour l’alignement local ?

A

L’algorithme de Smith-Waterman maximise la similarité entre deux sous-séquences locales à l’aide d’un tableau de scores avec une contrainte d’alignement local.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quelle est la différence clé entre Needleman-Wunsch et Smith-Waterman ?

A

Needleman-Wunsch produit un alignement optimal global (des séquences entières) tandis que Smith-Waterman cherche un alignement optimal local (entre sous-séquences).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quelles sont les conditions d’initialisation pour la distance d’édition (Levenshtein) ?

A

D(i,0)=i et D(0,j)=j, représentant le coût pour insérer ou supprimer tous les caractères.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quelles sont les conditions d’initialisation pour l’alignement global par similarité (Needleman-Wunsch) ?

A

V(i,0) = somme des pénalités pour aligner S[1..i] avec des ‘-’, et V(0,j) pour T[1..j] avec des ‘-’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quelles sont les conditions d’initialisation pour l’alignement local (Smith-Waterman) ?

A

V(i,0) = 0 et V(0,j) = 0, car l’alignement peut commencer n’importe où.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quelles sont les conditions d’initialisation pour la recherche de motif (approximate matching) ?

A

D(i,0) = i, car on peut supprimer tous les caractères du motif ; D(0,j) = 0, car on peut commencer n’importe où dans T.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Comment remplir une matrice pour l’alignement global par distance d’édition ?

A

Pour chaque cellule (i,j), on choisit le minimum entre suppression (haut), insertion (gauche), et substitution (diagonale).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Comment remplir une matrice pour Needleman-Wunsch ?

A

Chaque cellule (i,j) contient le max entre gauche + pénalité insertion, haut + pénalité suppression, diagonale + score match/mismatch.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Comment remplir une matrice pour Smith-Waterman ?

A

Pareil que Needleman-Wunsch mais en ajoutant 0 comme option pour permettre de commencer un nouvel alignement local.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quel est le point de départ pour reconstruire l’alignement dans Needleman-Wunsch ?

A

La cellule (m,n), coin inférieur droit, est le début de la reconstruction de l’alignement global.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Quel est le point de départ pour reconstruire l’alignement dans Smith-Waterman ?

A

La cellule contenant la valeur maximale dans toute la matrice représente la fin du meilleur alignement local.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Quel est le point de départ pour la reconstruction du motif approximatif ?

A

Une cellule dans la dernière ligne correspondant à une distance d’édition inférieure ou égale au seuil k.

19
Q

Quelle est la récurrence pour l’alignement global par distance d’édition (Levenshtein) ?

A

D(i, j) = min(D(i−1, j) + 1, D(i, j−1) + 1, D(i−1, j−1) + [0 si Si=Tj, 1 sinon]).

20
Q

Quelle est la récurrence pour l’alignement global par similarité (Needleman-Wunsch) ?

A

V(i, j) = max(V(i−1, j) + P(Si,−), V(i, j−1) + P(−,Tj), V(i−1, j−1) + P(Si, Tj)).

21
Q

Quelle est la récurrence pour l’alignement local (Smith-Waterman) ?

A

V(i, j) = max(0, V(i−1, j) + P(Si,−), V(i, j−1) + P(−,Tj), V(i−1, j−1) + P(Si, Tj)).

22
Q

Quelle est la récurrence pour la recherche de motif (approximate pattern matching) ?

A

D(i, j) = min(D(i−1, j) + 1, D(i, j−1) + 1, D(i−1, j−1) + [0 si Pi=Tj, 1 sinon]).

23
Q

Quelle est la récurrence du problème de la monnaie ?

A

C[i, j] = min(C[i−1, j], C[i, j−vi] + 1), en considérant la i-ème pièce.

24
Q

Quelle est la récurrence du problème du sac à dos 0-1 ?

A

V[i, j] = max(V[i−1, j], V[i−1, j−wi] + vi), on choisit de prendre ou non l’objet i.

25
Quelle est la récurrence du problème du sac à dos entier (objets illimités) ?
V[i, j] = max(V[i−1, j], V[i, j−wi] + vi), car on peut reprendre le même objet i plusieurs fois.
26
Quelle est la récurrence de l’algorithme de Floyd–Warshall ?
Dk[i, j] = min(Dk−1[i, j], Dk−1[i, k] + Dk−1[k, j]), en utilisant les k premiers sommets intermédiaires.
27
Quelles sont les conditions d’initialisation pour le problème de la monnaie ?
C[i, 0] = 0 pour tout i (pas besoin de monnaie pour montant 0), C[0, j] = +∞ car on ne peut pas faire de monnaie sans pièces.
28
Quelles sont les conditions d’initialisation pour le sac à dos 0-1 ?
V[i, 0] = 0 pour tout i (valeur nulle si capacité 0), V[0, j] = 0 pour tout j (aucun objet à inclure).
29
Quelles sont les conditions d’initialisation pour le sac à dos entier ?
Identiques au sac à dos 0-1 : V[i, 0] = 0 et V[0, j] = 0.
30
Quelles sont les conditions d’initialisation pour Floyd-Warshall ?
D[i, j] = c(i,j) si arête entre i et j, D[i, j] = +∞ sinon, D[i, i] = 0 pour tout i.
31
Quel est un piège courant avec l’alignement local Smith-Waterman ?
Oublier le max avec 0, ce qui force un alignement global et fausse le résultat.
32
Quel est un piège courant avec la recherche de motif ?
Ne pas initialiser D(0,j)=0, ce qui empêcherait le motif de commencer à n’importe quelle position.
33
Quel est un piège courant dans le sac à dos entier ?
Utiliser V[i−1,j−wi] au lieu de V[i,j−wi] dans la récurrence, ce qui empêche de reprendre un objet plusieurs fois.
34
Quelle est la différence entre alignement global et recherche de motif ?
L’alignement global aligne deux séquences complètement, la recherche de motif autorise le début et la fin en dehors du motif.
35
Quelle est la différence entre alignement global distance (Levenshtein) et similarité (Needleman-Wunsch) ?
Levenshtein minimise un coût (opérations), Needleman-Wunsch maximise un score de similarité (matchs/écarts).
36
Quelle est la différence entre sac à dos 0-1 et sac à dos entier ?
Dans le 0-1 on prend au plus un exemplaire de chaque objet, dans le sac à dos entier on peut prendre plusieurs exemplaires.
37
Pourquoi utilise-t-on la programmation dynamique pour ces problèmes ?
Parce qu’ils ont une structure de sous-problèmes qui se recoupent et obéissent au principe d’optimalité.
38
Comment reconstruire la solution d’un alignement ?
En partant du point d’arrivée (dernier point ou point max) et en suivant les pointeurs jusqu’à la base.
39
Quel est l’ordre de remplissage des tableaux en programmation dynamique ?
En général ligne par ligne ou colonne par colonne en s’assurant que les dépendances sont calculées.
40
Pourquoi faut-il éviter une approche gloutonne pour le sac à dos 0-1 ?
Parce que la meilleure solution locale (rapport valeur/poids) ne donne pas toujours la solution optimale globale.
41
Quel est l’avantage de Floyd-Warshall sur d’autres algos de plus courts chemins ?
Il donne les plus courts chemins entre toutes les paires de sommets en un seul appel.
42
Comment détecter un cycle négatif avec Floyd-Warshall ?
Si à la fin D[i][i] < 0 pour un sommet i, alors il y a un cycle négatif.
43
Pourquoi Needleman-Wunsch commence à (0,0) et finit à (m,n) ?
Car il produit un alignement complet entre les deux séquences.
44
Pourquoi Smith-Waterman peut commencer et finir n’importe où ?
Car il cherche le meilleur sous-alignement local entre les deux séquences.