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. 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. 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. 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
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
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. 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
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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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
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. 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. 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. 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
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
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. 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. 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. [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