280 likes | 481 Views
1. Trần Quang Trung 2. Đặng Đình Toàn 3. Lê Bích Trâm 4. Vũ Thị Thanh Nguyệt 5. Đỗ Thị Nguyện 6. Đỗ Huy Phương 7. Nguyễn Thị Hồng Loan 8. Hồ Thanh Nguyên. NHÓM 4. VAÊN PHAÏM CHÍNH QUI.
E N D
1. Trần Quang Trung • 2. Đặng Đình Toàn • 3. Lê Bích Trâm • 4. Vũ Thị Thanh Nguyệt • 5. Đỗ Thị Nguyện • 6. Đỗ Huy Phương • 7. Nguyễn Thị Hồng Loan • 8. Hồ Thanh Nguyên NHÓM 4
VAÊN PHAÏM CHÍNH QUI • Moät caùch thöù ba ñeå moâ taû ngoân ngöõ chính qui laø duøng vaên phaïm. Tröôùc tieân,chuùng ta haõy xem nhöõng vaên phaïm maø sinh ra caùc ngoân ngöõ chính qui.
Vaên phaïm tuyeán beân traùi vaø beân phaûi: Ñònh nghóa 3.3 : • Moät vaên phaïm G = ( V, T, S, P ) ñöôïc goïi laø tuyeán tính phaûi neáu taát caû nhöõng luaät sinh coù daïng sau : A xB A x maø A, B V , vaø x T*. • Moät vaên phaïm goïi laø tuyeán traùi neáu taát caû caùc luaät sinh coù daïng sau: A Bx, hoaëc A x. • Vaên phaïm chính qui laø vaên phaïm tuyeán tính traùi hoaëc laø tuyeán tính phaûi.
Vaên phaïm tuyeán beân traùi vaø beân phaûi • Chuù yù raèng vaên phaïm chính qui thì haàu nhö chæ coù toái ña moät bieán xuaát hieän ôû veá beân phaûi cuûa luaät sinh. Hôn nöõa bieán ñoù ôû vò trí cöïc phaûi hoaëc cöïc traùi cuûa veá phaûi luaät sinh .
Vaên phaïm tuyeán beân traùi vaø beân phaûi Ví duï 3.10 : • Vaên phaïm G1= ({S}, {a, b}, S, P1), vôùi P1 ñöôïc cho nhö sau: S abS | a laø tuyeán tính phaûi. Vaên phaïm G2 = ({S, S1, S2}, {a, b}, S, P2 ), vôí nhöõng luaät sinh : S S1ab, S1 S1ab | S2, S2 a, laø tuyeán tính traùi. Caû G1 vaø G2 ñeàu laø nhöõng vaên phaïm chính qui.
Vaên phaïm tuyeán beân traùi vaø beân phaûi • Daõy S => abS => ababS => ababa • Laø moät daãn xuaát cuûa G1. Töø nhöõng theå hieän ñôn giaûn naøy, deã daøng phoûng ñoaùn ñöôïc raèng L(G1) laø ngoân ngöõ bieåu thò bieåu thöùc chính qui r = (ab)* a. Töông töï, chuùng ta coù theå thaáy raèng L(G2) laø ngoân ngöõ chính qui L (a (ab)* ).
Vaên phaïm tuyeán beân traùi vaø beân phaûi • Ví duï 3.11 Vaên phaïm G = ( {S, A, B}, {a, b}, S, P ) vôùi nhöõng luaät sinh S A, A aB| B Ab, laø khoâng chính qui.
Vaên phaïm tuyeán beân traùi vaø beân phaûi Maëc duø moïi luaät sinh ñeàu coù daïng tuyeán tính phaûi hoaëc tuyeán tính traùi, nhöng vaên phaïm thì khoâng tuyeán tính phaûi cuõng khoâng tuyeán tính traùi, vì theá noù khoâng chính qui. Moät vaên phaïm tuyeán tính thì trong luaät sinh cuûa noù, chæ coù toái ña moät bieán xuaát hieän beân phaûi, vaø khoâng coù raøng buoäc veà vò trí cuûa nhöõng bieán naøy. Roõ raøng, moät vaên phaïm chính qui thì luoân laø tuyeán tính, nhöng khoâng phaûi taát caû nhöõng vaên phaïm tuyeán tính ñeàu laø chính qui.
Vaên phaïm tuyeán beân traùi vaø beân phaûi • Muïc tieâu keá tieáp cuûa chuùng ta laø chæ ra nhöõng vaên phaïm chính qui seõ lieân keát vôùi nhöõng ngoân ngöõ chính qui, vaø moãi ngoân ngöõ chính qui thì coù moät vaên phaïm chính qui. Nhö vaäy vaên phaïm chính qui laø caùch noùi khaùc cho ngoân ngöõ chính qui.
Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: Tröôùc tieân chuùng ta phaûi chæ ra raèng ngoân ngöõ sinh ra bôûi vaên phaïm tuyeán tính phaûi thì luoân laø chính qui.
Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: • Ñònh lyù 3.3: Cho G = (V, T, S, P) laø vaên phaïm tuyeán tính phaûi, thì L(G) laø moät ngoân ngöõ chính quy.
Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: • Chöùng minh : Giaû söû raèng V = {V0, V1, …}, S= V0, vaø luaät sinh V0v1Vi , Vi v2Vj … hoaëc Vn vl, … Neáu w laø moät chuoãi trong L(G), thì daãn xuaát phaûi coù daïng V0 v1Vi v1v2Vj v1v2 … vkVn v1v2…vkvl = w (3.2)
Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: • Traïng thaùi ban ñaàu cuûa automat seõ mang nhaõn laø V0, vaø moãi bieán Vi seõ laø moät traïng thaùi khoâng keát thuùc coù nhaõn laø Vi Vôùi moãi luaät sinh. Vi a1a2 … amVj automat seõ coù moät chuyeån dòch ñeå noái keát Vi vaø Vj, ñoù laøhaøm sao cho : * ( Vi , a1 a2 … am ) = V j. Vôùi moãi luaät sinh Vi a1 a2 … am
… a2 am a1 Vj Vi Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: • chuyeån dòch töông öùng cuûa automat seõ laø: * ( Vi , a1 a2 … am ) = Vf. maø Vf laø traïng thaùi keát thuùc. Traïng thaùi trung gian coù theå gaùn nhöõng nhaõn tuyø yù. Löôïc ñoà toång quaùt ñöôïc chæ ra trong hình 3.12. Bieåu thò Vi a1a2 … amVj
a1 Vf Vi Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: Bieåu thò Vi a1 a2 … am Hình 3.12 a2 …
Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: Giaû söû raèng chuoãi w L(G) thoaû (3.2). Trong nfa xaây döïng moät ñöôøng ñi töø V0 tôùi Vj ñaùnh nhaõn laø v1, vaø ñöôøng ñi töø Vi tôùi Vj ñaùnh nhaõn laø v2 v..v, deã thaáy raèng: Vf * ( V0,w), vaø w ñöôïc chaáp nhaän bôûi M.
Ngöôïc laïi, giaû söû raèng w ñöôïc M chaáp nhaän. Ñeå chaáp nhaän w automat phaûi qua daõy traïng thaùi V0 ,Vi … tôùi Vf , söû duïng nhöõng ñöôøng ñi coù nhaõn v1,v2, … Do vaäy w phaûi coù daïng: w = v1,v2 … vkvi vaø daãn xuaát: V0 v1Vi v1v2Vj . . . => v1v2 …vkVk v1v2 … vkvl laø coù theå. Do ñoù w laø chuoãi trong L(G). Ñònh lyù ñaõ ñöôïc chöùng minh. Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui:
Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: • Ví duï 3.12 Xaây döïng moät automat höõu haïn chaáp nhaän ngoân ngöõ sinh bôûi vaên phaïm V0 aV1 V1 abV0| b Chuùng ta baét ñaàu ñoà thò chuyeån dòch vôùi nuùt V0, V1 vaø Vf , luaät sinh ñaàu tieân taïo moät caïnh vôùi nhaõn laø a giöõa V0 vaø V1, luaät thöù hai cho chuùng ta theâm moät nuùt maø coù moät ñöôøng ñi vôùi nhaõn laø ab giöõa V1 vaø V0. Cuoái cuøng chuùng ta caàn theâm moät caïch coù nhaõn b giöõa V1vaø Vf, automat chæ ra trong hình 3.13. Automat naøy chaáp nhaän ngoân ngöõ chính quy L((aab)* ab)
a b Vf V0 V1 b a Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: Hình 3.13
Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: • Ñònh lyù 3.4 Neáu L laø ngoân ngữ chính qui treân taäp chöõ caùi , thì toàn taïi moät vaên phaïm tuyeán tính G = (V, , S, P) sao cho L = L(G).
Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: • Chöùng minh : Coi M = (Q, , , q0, F) laø moät dfa chaáp nhaän ngoân ngöõ L. Chuùng ta giaû söû raèng Q = {q0, q1, …qn} vaø = {a1, a2, … am}. Cần xaây döïng vaên phaïm tuyeán tính phaûi G = ( V, , S, P ) vôùi V = {q0, q1, …qn} vaø S = q0. Vôùi moãi chuyeån dòch (qi, aj) = qk cuûa M chuùng ta ñaët vaøo P luaät sinh qi aj qk neáu qk coù trong taäp F, chuùng ta theâm vaøo luaät sinh qk
Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: • Tröôùc tieân, chuùng ta chæ ra G ñöôïc ñònh nghóa trong caùch naøy coù theå sinh ra nhöõng chuoãi trong L. coi w L coù daïng w = ai aj … akal khi M chaáp nhaän chuoãi naøy noù phaûi coù haøm chuyeån dòch (q0, ai ) = qp (qp, aj) = qr : : (qs, ak) = qi (qr, al) = qf F
Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: • Do vaäy, chuùng ta coù daãn xuaát q0 a1qp ai aj qr ai aj…ak qr ai aj … ak al qf ai aj … akal (3.5) vôùi vaên phaïm G vaø w L(G) Ngöôïc laïi, neáu w L(G) thì söï daãn xuaát cuûa noù phaûi coù daïng (3.5). Nhöng ñieàu naøy suy ra laø: * (q0, ai aj … ak al) = qf
Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui: • Ví duï 3.13 Xaây döïng vaên phaïm tuyeán tính phaûi cho L(aab* a). Haøm chuyeån dòch cho nfa, vaø luaät sinh cuûa vaên phaïm nhö hình 3.14. Theo ñònh lyù 3.4 , ta tìm ñöôïc keát quûa. Chuoãi aaba coù theå sinh ra bôûi vaên phaïm q0 aq1 aaq2 aabq2 aabaqf => aaba
Hình 3.4 Vaên phaïm tuyeán tính phaûi sinh ra ngoân ngöõ chính qui:
Hai ñònh lyù tröôùc ñöôïc ñöa ra ñeå keát noái giöõa ngoân ngöõ chính quy vaø vaên phaïm tuyeán tính phaûi. Moät caùch töông töï, coù theå laøm moät keát noái giöõa ngoân ngöõ chính qui vaø caùc vaên phaïm tuyeán tính traùi. Ñieàu ñoù theå hieän söï töông ñöông giöõa vaên phaïm chính quy vaø ngoân ngöõ chính quy. Söï töông ñöông giöõa ngoân ngöõ chính quy vaø vaên phaïm chính quy
Söï töông ñöông giöõa ngoân ngöõ chính quy vaø vaên phaïm chính quy • Ñònh lyù 3.5 : Moät ngoân ngöõ laø chính quy neáu vaø chæ neáu toàn taïi moät vaên phaïm tuyeán tính traùi sao cho L = L(r). • Ñònh lyù 3.6 : Moät ngoân ngöõ laø chính quy neáu vaø chæ neáu toàn taïi moät vaên phaïm chính quy G Sao cho L = L(G).
BAØI TAÄP 1/ Xaây döïng dfa chaáp nhaän ngoân ngöõ sinh ra bôûi vaên phaïm S -> abA A -> baB B -> aA | bb 2/ Xaây döïng vaên phaïm tuyeán tính traùi vaø tuyeán tính phaûi cho ngoân ngöõ L = { anbm : n 2, m 3 } 3/ Tìm vaên phaïm chính qui cho ngoân ngöõ treân {a,b} L = { w: na(w) vaø nb(w) ñeàu chaün}