1
1. Introduction
2. Type de grammaires
3. Forme normale de Chomsky
4. Algorithme Cocke-Younger-
Kasami(CYK)
5. Algorithme F...
1. Introduction
2. Type de grammaires
3. Forme normale de Chomsky
4. Algorithme Cocke-Younger-
Kasami(CYK)
5. Algorithme F...
Dans cette présentation, on présente une
variante de la Cocke-Younger-Kasami
algorithme (CYK) pour l'analyse des
langages ...
Grammaire non contextuelle
« Context-free Grammar(CFG) », sont
d'une grande importance dans la
formalisation de la notion ...
Fig1. Structure générale de CYK.
6
L'existence du symbole de source
dans la table indique que la chaîne
appartient à la langue de CFG et la
chaîne est accept...
8
La même séquence d'ADN de deux
organismes de la même espèce de vie
différents pourrait être
différente, cette situation es...
La théorie de la logique floue
donne la possibilité de manipuler
l'imprécision et soutenu avec la
théorie des grammaires, ...
11
Lorsque la chaîne appartient à une
grammaire CFG, la chaîne a une
adhésion de 1, mais quand la chaîne
ne fait pas partie d...
E. Lee et L. Zadeh ont proposé
l'utilisation de la logique floue
pour gérer CFG qui a l'attribut
flou.
Il est possible de ...
14
* Parce que l'ordre de l'algorithme
est O(n^3), où n est le nombre de
symboles de nucléotides de l‘ADN.
* l'espace de mémo...
On propose de modifier l'algorithme
FCKY afin d'analyser les séquences
d'ADN.
L'ordre de la FCKY modifié est
réduit à O(n)...
1. Introduction
2. Type de grammaires
3. Forme normale de Chomsky
4. Algorithme Cocke-Younger-
Kasami(CYK)
5. Algorithme F...
En général, une grammaire est définie
par un alphabet, un ensemble de
variables, l'ensemble de règles de
production, et le...
Les grammaires sont classées en
fonction de la forme des règles de
productions utilisées hiérarchie de
Chomsky
L(G) - est ...
1. Une règle de production est de
la forme α → β
2. où α et β sont chaîne de
caractères
3. les premiers sont des symboles
...
N - est un ensemble de symboles non
terminaux, certains de ces symboles
sont A, C, G et T, où ces symboles
représente le n...
1. Introduction
2. Type de grammaires
3. Forme normale de Chomsky
4. Algorithme Cocke-Younger-
Kasami(CYK) Algorithme FCYK...
Forme normale de Chomsky(« Chomsky
normal form ») (CNF)
Théorème 1. (CNF) Tout langage CFL
L(G), sans le mot vide λ, peut ...
Exemple 1.
On considère une chaine d’AND
x=«agctacg»
Tache: de génère G en contexte CNF et
de définir les symboles non
ter...
Exemple 1 (suit).
G=({S,A,C,G,T,W1,W2,W3,W4,W5,a,c,g,t},{a,c,g,t},P,S)
où P sont les prochaines règles de production:
S → ...
1. Introduction
2. Type de grammaires
3. Forme normale de Chomsky
4. Algorithme Cocke-Younger-
Kasami(CYK)
5. Algorithme F...
L’Algorithme CYK nous permet
d'établir s’il est possible dans
une grammaire donnée CFG de retirer
la chaîne spécifiée et s...
CFG donne G= (N, Σ, P, S) en CNF (sans le mot
vide λ) et chaine
a1a2 … an (n ≥ 1)
ak ∈ Σ (1 ≤ k ≤ n)
Remplir la partie dia...
Algorithme 1. CKY
• 1. for i ← 0 to n-1
• 2. ti, i+1 ← {A | ai+1 ∈ P(a)};
• 3. for d ← 2 to n
• 4. for i ← 0 to n-d
• 5. j...
Exemple 2.
• Soit L(G): Tache: de vérifier l’appartenance de la phrase
« I saw the man with the telescope » et de fournie ...
Exemple 2(suit).
31
Exemple 2(suit).
32
Exemple 2(suit).
33
Exemple 2(suit).
34
Exemple 3:
Considérons la chaine:
x = « aggt »
G1 = ({S, A, C, G, T, W1, W2, a, c, g, t}, { a, c, g, t }, P2, S);
P2 en CN...
Exemple 3(suit):
La chaîne x = « aggt » est reconnu en
raison que S ∈ T0,4.
Fig.3 le chaine x=AGGT est reconnu par l’Algor...
Exemple 4:
Mêmes conditions que dans l'exemple
3, sauf que la chaine
x = « acgt »
Le résultat:
x = acgt ∉ L(G1)
Fig.4 le c...
1. Introduction
2. Type de grammaires
3. Forme normale de Chomsky
4. Algorithme Cocke-Younger-
Kasami(CYK)
5. Algorithme F...
On a observé que les éléments de
la matrice T que l'algorithme de
CYK est appliqué à reconnaître
des séquences d'ADN sont
...
Fig.5 diagonale supérieure de la matrice de CYK
40
Le premier algorithme FCYK ne modifie que le
second groupe de la « for » instructions. Une
instruction « for » peut être é...
Le second algorithme FCYK
De la fig.5 nous pouvons obtenir un
vecteur. La fig.6 montre que le
vecteur est divisé en deux s...
Fig.6 Vecteur t obtenue à partir de la deuxième version de
l'algorithme de FCYK.
Algorithme 2 de FCYK
• 1. for i ← 0 to n-...
1. Introduction
2. Type de grammaires
3. Forme normale de Chomsky
4. Algorithme Cocke-Younger-
Kasami(CYK)
5. Algorithme F...
Réalisation pratique de
l'algorithme CYK.
Fig7. Vue de la logiciel fonctionnant en base
l'algorithme CYK.
45
Platform: FreamWork Qt
Lanuguage: Qt_C++
Type de licence: open source
écrit par: Dumitru Loghin
46
Principe de fonctionnem...
Fig8. Structure simplifiée du logiciel
47
Fig.9 Code TEXT de la méthode « algorithmCYK »
48
1. Introduction
2. Type de grammaires
3. Forme normale de Chomsky
4. Algorithme Cocke-Younger-
Kasami(CYK)
5. Algorithme F...
On a montré la possibilité d'utiliser l'algorithme
FCYK de reconnaître des séquences d'ADN à partir
d'un FCFG.
Il a été mo...
1. Introduction
2. Type de grammaires
3. Forme normale de Chomsky
4. Algorithme Cocke-Younger-
Kasami(CYK)
5. Algorithme F...
[1]. Herón Molina-Lozano : “A Fast Fuzzy Cocke-
Younger-Kasami Algorithm for DNA and RNA Strings
Analysis”; “LECTURE NOTES...
53
Prochain SlideShare
Chargement dans…5
×

Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

506 vues

Publié le

Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
506
Sur SlideShare
0
Issues des intégrations
0
Intégrations
148
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

  1. 1. 1
  2. 2. 1. Introduction 2. Type de grammaires 3. Forme normale de Chomsky 4. Algorithme Cocke-Younger- Kasami(CYK) 5. Algorithme FCYK modifié 6. La partie pratique de l'algorithme CYK 7. Conclusion 8. Référence 2
  3. 3. 1. Introduction 2. Type de grammaires 3. Forme normale de Chomsky 4. Algorithme Cocke-Younger- Kasami(CYK) 5. Algorithme FCYK modifié 6. La partie pratique de l'algorithme CYK 7. Conclusion 8. Référence 3
  4. 4. Dans cette présentation, on présente une variante de la Cocke-Younger-Kasami algorithme (CYK) pour l'analyse des langages non contextuels « Context-free Language (CFL) » flous appliqué à des chaînes d'ADN. 4
  5. 5. Grammaire non contextuelle « Context-free Grammar(CFG) », sont d'une grande importance dans la formalisation de la notion de l'analyse, traduction simplification des langages de programmation, et d'autres applications chaîne de traitement. 5
  6. 6. Fig1. Structure générale de CYK. 6
  7. 7. L'existence du symbole de source dans la table indique que la chaîne appartient à la langue de CFG et la chaîne est accepté, au contraire, la chaîne est rejetée et ne fait pas partie de la grammaire. Il a été une étape naturelle à utiliser la théorie de la grammaire pour représente différents types de chaîne biologique, à partir de l'ADN, de l'ARN aux protéines. 7
  8. 8. 8
  9. 9. La même séquence d'ADN de deux organismes de la même espèce de vie différents pourrait être différente, cette situation est possible, car il y a des différences évolutives qui sont produites par des mutations qui se sont produites au cours du temps, mais les similitudes essentielles sont entretenues et préservé. 9
  10. 10. La théorie de la logique floue donne la possibilité de manipuler l'imprécision et soutenu avec la théorie des grammaires, pourrait être appliquée pour identifier les séquences de la biologie moléculaire basées sur l'utilisation de l'algorithme de CYK flou « (FCYK) ». 10
  11. 11. 11
  12. 12. Lorsque la chaîne appartient à une grammaire CFG, la chaîne a une adhésion de 1, mais quand la chaîne ne fait pas partie du langage CFL, la chaîne a une adhésion de 0. Il est possible de traiter non seulement des appartenances ayant une valeur de 1 ou 0, mais aussi de traiter les adhésions qui sont parmi 0 et 1. 12
  13. 13. E. Lee et L. Zadeh ont proposé l'utilisation de la logique floue pour gérer CFG qui a l'attribut flou. Il est possible de déterminer un langage CFL flou « FCFL » 13
  14. 14. 14
  15. 15. * Parce que l'ordre de l'algorithme est O(n^3), où n est le nombre de symboles de nucléotides de l‘ADN. * l'espace de mémoire de l'algorithme de CYK est n^2. 15
  16. 16. On propose de modifier l'algorithme FCKY afin d'analyser les séquences d'ADN. L'ordre de la FCKY modifié est réduit à O(n), et l'espace de mémoire est 2n-1, donc l'algorithme modifié peut faire rapidement l'analyse des séquences d'ADN. 16
  17. 17. 1. Introduction 2. Type de grammaires 3. Forme normale de Chomsky 4. Algorithme Cocke-Younger- Kasami(CYK) 5. Algorithme FCYK modifié 6. La partie pratique de l'algorithme CYK 7. Conclusion 8. Référence 17
  18. 18. En général, une grammaire est définie par un alphabet, un ensemble de variables, l'ensemble de règles de production, et le symbole de départ. G = (N, Σ, P, S) (1) où: N -symboles non terminaux, Σ -symboles terminaux (où N ∩ Σ = 0), P -l'ensemble des productions, S -S ∈ N est appelé le symbole de départ. 18
  19. 19. Les grammaires sont classées en fonction de la forme des règles de productions utilisées hiérarchie de Chomsky L(G) - est l'ensemble de toutes les chaînes possibles (peut-être un de consigne infinie) qui peuvent être générées par G. L(G) - le langage engendré par la grammaire. 19
  20. 20. 1. Une règle de production est de la forme α → β 2. où α et β sont chaîne de caractères 3. les premiers sont des symboles non terminaux 4. les derniers sont des symboles terminaux 20
  21. 21. N - est un ensemble de symboles non terminaux, certains de ces symboles sont A, C, G et T, où ces symboles représente le nucléotide adénine, cytosine, guanine et thymine. Σ - est l'ensemble des symboles terminaux: a, c, g, t. P - sont les productions. S - est le symbole de départ. 21
  22. 22. 1. Introduction 2. Type de grammaires 3. Forme normale de Chomsky 4. Algorithme Cocke-Younger- Kasami(CYK) Algorithme FCYK modifié 5. La partie pratique de l'algorithme CYK 6. Conclusion 7. Référence 22
  23. 23. Forme normale de Chomsky(« Chomsky normal form ») (CNF) Théorème 1. (CNF) Tout langage CFL L(G), sans le mot vide λ, peut être généré à partir de la grammaire G, où les règles de production ont les prochaines caractéristiques: A → BC ou A → a. Où A, B, C sont des variables, et a est un symbole terminal (a ∈ Σ). 23
  24. 24. Exemple 1. On considère une chaine d’AND x=«agctacg» Tache: de génère G en contexte CNF et de définir les symboles non terminale A, C, G et T. 24
  25. 25. Exemple 1 (suit). G=({S,A,C,G,T,W1,W2,W3,W4,W5,a,c,g,t},{a,c,g,t},P,S) où P sont les prochaines règles de production: S → AW1 W1 → GW2 W2 → CW3 W3 → TW4 W4 → AW5 W5 → CG A → a C → c G → g T → t Résultat: Maintenant, on montre qu'à partir de S et en utilisant les règles de G productions on obtient: L(G) = «agctacg» 25
  26. 26. 1. Introduction 2. Type de grammaires 3. Forme normale de Chomsky 4. Algorithme Cocke-Younger- Kasami(CYK) 5. Algorithme FCYK modifié 6. La partie pratique de l'algorithme CYK 7. Conclusion 8. Référence 26
  27. 27. L’Algorithme CYK nous permet d'établir s’il est possible dans une grammaire donnée CFG de retirer la chaîne spécifiée et si oui, de fournir sa sortie (S). En d'autres termes, l'algorithme fait l'analyse syntaxique de la chaîne de symboles. L’Algorithme met en œuvre l'analyse de bas en haut(« BOTTOM to UP ») et sur la base de la méthode de la programmation dynamique. 27
  28. 28. CFG donne G= (N, Σ, P, S) en CNF (sans le mot vide λ) et chaine a1a2 … an (n ≥ 1) ak ∈ Σ (1 ≤ k ≤ n) Remplir la partie diagonale supérieure triangulaire strictement : (n + 1) × (n + 1) T matrice de reconnaissance par l'algorithme CYK. où chaque élément ti,j est un sous- ensemble de V si V = N – Σ et est initialement vide. 28
  29. 29. Algorithme 1. CKY • 1. for i ← 0 to n-1 • 2. ti, i+1 ← {A | ai+1 ∈ P(a)}; • 3. for d ← 2 to n • 4. for i ← 0 to n-d • 5. j ← d + i; • 6. ti,j ← ti,j ∪ {A | ∃k (i+1 ≤ k ≤ j-1); ∃B(B ∈ ti, k); ∃C(C∈tk, j); BC ∈ P(A)}; • 7. return (t0, n) 29
  30. 30. Exemple 2. • Soit L(G): Tache: de vérifier l’appartenance de la phrase « I saw the man with the telescope » et de fournie la sortie (S) • S -> NP VP • NP -> DET N • NP -> NP PP • PP -> P NP • VP -> V NP • VP -> VP PP • DET -> the • NP -> I • N -> man • N -> telescope • P -> with • V -> saw • N -> cat • N -> dog • N -> pig • N -> hill • N -> park • N -> roof • P -> from • P -> on • P -> in Fig.2 L’Arbre selon L(G) 30
  31. 31. Exemple 2(suit). 31
  32. 32. Exemple 2(suit). 32
  33. 33. Exemple 2(suit). 33
  34. 34. Exemple 2(suit). 34
  35. 35. Exemple 3: Considérons la chaine: x = « aggt » G1 = ({S, A, C, G, T, W1, W2, a, c, g, t}, { a, c, g, t }, P2, S); P2 en CNF • P2(S) = {S, AW1} • P2(W1) ={W1, GW2, TW2} • P2(W2) = {W2, GT, AC} • P2(A) = {A, a} • P2(C) = {C, c} • P2(G) = {G, g} • P2(T) = {T, t} 35
  36. 36. Exemple 3(suit): La chaîne x = « aggt » est reconnu en raison que S ∈ T0,4. Fig.3 le chaine x=AGGT est reconnu par l’Algorithme 1. 36
  37. 37. Exemple 4: Mêmes conditions que dans l'exemple 3, sauf que la chaine x = « acgt » Le résultat: x = acgt ∉ L(G1) Fig.4 le chaine x=ACGT n’est pas reconnu par l’Algorithme 1. 37
  38. 38. 1. Introduction 2. Type de grammaires 3. Forme normale de Chomsky 4. Algorithme Cocke-Younger- Kasami(CYK) 5. Algorithme FCYK modifié 6. La partie pratique de l'algorithme CYK 7. Conclusion 8. Référence 38
  39. 39. On a observé que les éléments de la matrice T que l'algorithme de CYK est appliqué à reconnaître des séquences d'ADN sont identiques. Cela signifie que la première diagonale supérieure de la matrice est remplie, alors que la dernière colonne de la matrice est remplie jusqu'à ce que l'élément t0,n soit atteint. 39
  40. 40. Fig.5 diagonale supérieure de la matrice de CYK 40
  41. 41. Le premier algorithme FCYK ne modifie que le second groupe de la « for » instructions. Une instruction « for » peut être éliminée. Algorithme 1 de FCYK • 1. for i ← 0 to n-1 • 2. ti, i+1 ← {(A, m) | A ∈ N, μ(ai+1; P(a)) = m > 0}; • 3. for l ← n-2 to 0 • 4. tl,n ← tl, n ∪ {(A, m) | A∈ N, m = ∨ { r ∗ p ∗ q | (B, p) ∈ tl,l+1; (C, q) ∈ tl+1,n; • μ(BC, P(A)) = r > 0}}; • 5. return (t0, n) -le nombre d'itérations est 2n-1. -l'espace mémoire: n^2 des cases de mémoire. 41
  42. 42. Le second algorithme FCYK De la fig.5 nous pouvons obtenir un vecteur. La fig.6 montre que le vecteur est divisé en deux sections, dans la première section ne sont que le groupe d'éléments de T0 à tn-1 (pour la première instruction) dans le deuxième groupe sont les éléments de tn à t2n-2 (seconde instruction pour) . Le symbole mk (1 ≤ k ≤ 2n-1) représente le degré d'appartenance de chaque élément. Avec cette idée à l'esprit est possible de réduire la taille de mémoire à 2n-1 42
  43. 43. Fig.6 Vecteur t obtenue à partir de la deuxième version de l'algorithme de FCYK. Algorithme 2 de FCYK • 1. for i ← 0 to n-1 • 2. ti ← {(A, m) | A ∈ N, μ(ai+1; P(a)) = m > 0}; • 3. r ← 2 • 4. for l ← (n - 2) to 0 • 5. q ← n– r • 6. k ← l – 1 • 7. r ← r + 1 • 7. tl ← {(A, m) | A∈ N, m = ∨ { p ∗ q ∗ k | (B, q) ∈ tq; • (C, k) ∈ tk; μ(BC, P(A)) = p > 0}}; • 8. return (t2n-2) 43
  44. 44. 1. Introduction 2. Type de grammaires 3. Forme normale de Chomsky 4. Algorithme Cocke-Younger- Kasami(CYK) 5. Algorithme FCYK modifié 6. La partie pratique de l'algorithme CYK 7. Conclusion 8. Référence 44
  45. 45. Réalisation pratique de l'algorithme CYK. Fig7. Vue de la logiciel fonctionnant en base l'algorithme CYK. 45
  46. 46. Platform: FreamWork Qt Lanuguage: Qt_C++ Type de licence: open source écrit par: Dumitru Loghin 46 Principe de fonctionnement est basé sur l'algorithme de CYK
  47. 47. Fig8. Structure simplifiée du logiciel 47
  48. 48. Fig.9 Code TEXT de la méthode « algorithmCYK » 48
  49. 49. 1. Introduction 2. Type de grammaires 3. Forme normale de Chomsky 4. Algorithme Cocke-Younger- Kasami(CYK) 5. Algorithme FCYK modifié 6. La partie pratique de l'algorithme CYK 7. Conclusion 8. Référence 49
  50. 50. On a montré la possibilité d'utiliser l'algorithme FCYK de reconnaître des séquences d'ADN à partir d'un FCFG. Il a été montré qu'il est possible d'accélérer les calculs et qu’on peut réduire la taille de mémoire utilisée par l'algorithme de FCYK( pour les séquences d'ADN ). Et enfin, nous avons testé dans le pratique algorithme CYK. 50
  51. 51. 1. Introduction 2. Type de grammaires 3. Forme normale de Chomsky 4. Algorithme Cocke-Younger- Kasami(CYK) 5. Algorithme FCYK modifié 6. La partie pratique de l'algorithme CYK 7. Conclusion 8. Référence 51
  52. 52. [1]. Herón Molina-Lozano : “A Fast Fuzzy Cocke- Younger-Kasami Algorithm for DNA and RNA Strings Analysis”; “LECTURE NOTES IN COMPUTER SCIENCE, 6438; 80-91 Advances in Soft Computing 9th Mexican International Conference on Artificial Intelligence, MICAI 2010 Pachuca, Mexico, November 8-13, 2010 Proceedings, Part II” [2]. Dan Jurafsky & Chris Manning: “15 - 3 - CKY Parsing -Stanford NLP-Professor Dan Jurafsky & Chris Manning”: url:http://www.youtube.com/watch?v=hq80J8kBg-Y [3]. Dave Bacon: “Introduction to Formal Methods in Computer Science Chomsky Normal Form” url:http://courses.cs.washington.edu/courses/cse32 2/08au/lec14.pdf 52
  53. 53. 53

×