Sunteți pe pagina 1din 1

12.07.

2020

Algoritmul Cocke – Younger - Kassami (CYK) Algoritmul Cocke – Younger - Kasami


Algoritmul CYK încearcă să ajungă de la un Dacă gramatica este in F.N.Chomsky
element presupus (cuvânt) al limbajului la se desenează o matrice triunghiulară în
simbolul de start. Adică principiul său de care numărul celulelor din rândul
funcționare constă în construirea unei deducții
superior coincide cu numărul de
în sens invers.
elemente din șirul de simboluri ce
Important este că gramatica independentă
trebuie analizat.
de context utilizată pentru analiză trebuie să
fie în forma normală Chomsky.

Pentru analiza cuvântului – a1a2a3a4a5 Algoritmul Cocke – Younger - Kasami


se construiește următoarea matrice triunghiulară:

a1 a2 a3 a4 a5 Tabelul se construiește în felul următor:


1 T11 T21 T31 T41 T51
2 T12 T22 T32 T42 Fie n – numarul de simboluri
3 T13 T23 T33
T[i,1] = {A | A ∊ VN , A→ ai, ai ∊ VT, i=1..n }
4 T14 T24
5 T15 T[i,j] = {A |A∊ VN, A → BC ∊ P, B ∊ Ti k C ∊ Ti+k, j-k
k∊[1..j-1], 2≤ j ≤ n-i+1}.

Dacă S ∊ T1n ⇒ x ∊ L(G).

Exemplu demonstrativ al
Algoritmul Cocke – Younger - Kasami
algorutmului CYC
Fie dată gramatica independentă de Exemplu:
context în FNC Fie G=(VN , VT, P, S) VN={ D,L,Z,S}, VT ={ :, i, (,), v}, S=D
P={
• S → AB | BC 1. D → L
• A → BA | a 2. L → Z:S
• B → CC | b 3. S → i
4. 0S → (Z)
• C → AB | a
5. Z → v }
Aparține cuvântul baaba limbajuluiL(G) Să se determine dacă cuvântul x= v : (v) ∊ L(G).
generat de gramatica G?

S-ar putea să vă placă și