Upload
loghin-dumitru
View
604
Download
1
Embed Size (px)
Citation preview
1
Analyse des chaînes ADN par l'algorithme de
Cocke-Younger-Kasami
Présenté parDumitru Loghin
Montréal 2014
2
Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-
Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme
CYK7. Conclusion8. Référence
3
Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-
Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme
CYK7. Conclusion8. Référence
4
1.IntroductionDans 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.
5
1.IntroductionGrammaire 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.
6
1.Introduction
Fig1. Structure générale de CYK.
7
1.IntroductionL'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.
8
1.Introduction
9
1.IntroductionLa 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é.
10
1.IntroductionLa 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) ».
11
1.Introduction
12
1.IntroductionLorsque 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.
13
1.IntroductionE. 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 »
14
1.Introduction
15
1.Introduction
* 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.
16
1.Introduction
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.
17
Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-
Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme
CYK7. Conclusion8. Référence
18
2. Type de grammairesEn 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.
19
2. Type de grammairesLes grammaires sont classées en fonction de la forme des règles de productions utilisées hiérarchie de ChomskyL(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.
20
2. Type de grammairesQuatre types principaux de
grammaires:1. Une règle de production est de la forme α → β2. où α et β sont chaîne de caractères3. les premiers sont des symboles non terminaux4. les derniers sont des symboles terminaux
21
2. Type de grammairesL(G) de chaine d’ADN
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.
22
Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-
Kasami(CYK) Algorithme FCYK modifié5. La partie pratique de l'algorithme
CYK6. Conclusion7. Référence
23
3.Forme normale de ChomskyForme 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 ∈ Σ).
24
3.Forme normale de ChomskyExemple 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.
25
3.Forme normale de ChomskyExemple 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 → AW1W1 → GW2W2 → CW3W3 → TW4W4 → AW5W5 → CGA → aC → cG → gT → t
Résultat:Maintenant, on montre qu'à partir de S et en utilisant les règles
de G productions on obtient:L(G) = «agctacg»
26
Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-
Kasami(CYK) 5. Algorithme FCYK modifié6. La partie pratique de l'algorithme
CYK7. Conclusion8. Référence
27
4.Algorithme Cocke-Younger-Kasami
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.
28
4.Algorithme Cocke-Younger-Kasami
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.
29
4.Algorithme Cocke-Younger-Kasami
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 t∃ ∃ ∈ i, k);
C(C t∃ ∈ k, j); BC P(A)∈ };• 7. return (t0, n)
30
4.Algorithme Cocke-Younger-Kasami
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)
31
4.Algorithme Cocke-Younger-Kasami
Exemple 2(suit).
32
4.Algorithme Cocke-Younger-Kasami
Exemple 2(suit).
33
4.Algorithme Cocke-Younger-Kasami
Exemple 2(suit).
34
4.Algorithme Cocke-Younger-Kasami
Exemple 2(suit).
35
4.Algorithme Cocke-Younger-Kasami
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}
36
4.Algorithme Cocke-Younger-Kasami
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.
37
4.Algorithme Cocke-Younger-Kasami
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.
38
Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-
Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme
CYK7. Conclusion8. Référence
39
5.Algorithme FCYK modifié
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.
40
5.Algorithme FCYK modifié
Fig.5 diagonale supérieure de la matrice de CYK
41
5.Algorithme FCYK modifié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) t∪ ∈ ∨ ∗ ∗ ∈ l,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.
42
5.Algorithme FCYK modifié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
43
5.Algorithme FCYK modifié
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)
44
Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-
Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme
CYK7. Conclusion8. Référence
45
6.La partie pratique de l'algorithme CYK
Réalisation pratique de l'algorithme CYK.
Fig7. Vue de la logiciel fonctionnant en base l'algorithme CYK.
46
6.La partie pratique de l'algorithme CYK
Platform: FreamWork QtLanuguage: Qt_C++Type de licence: open sourceécrit par: Dumitru Loghin
Principe de fonctionnement est basé sur l'algorithme
de CYK
47
6.La partie pratique de l'algorithme CYK
Fig8. Structure simplifiée du logiciel
48
6.La partie pratique de l'algorithme CYK
Fig.9 Code TEXT de la méthode « algorithmCYK »
49
Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-
Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme
CYK7. Conclusion8. Référence
50
7. ConclusionOn 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.
51
Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-
Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme
CYK7. Conclusion8. Référence
52
8. Référence[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/cse322/08au/lec14.pdf
53
Merci pour votre attention !Montréal 2014