31. Àâòîìàòíûå ãðàììàòèêè
Ïóñòü N ìíîæåñòâî íåòåðìèíàëüíûõ ñèìâîëîâ, à T
ìíîæåñòâî òåðìèíàëüíûõ ñèìâîëîâ. S ∈N íà÷àëüíûé
íåòåðìèíàëüíûé ñèìâîë.
P ìíîæåñòâî ïðàâèë âèäà A → qB èëè A → q, ãäå
A, B ∈ N, q ∈ T .
Ïðàâèëà ìîæíî ïðèìåíÿòü äðóã çà äðóãîì è îñòàíîâèòñÿ, åñëè
òåêóùåå ñëîâî íå ñîäåðæèò íåòåðìèíàëüíûõ ñèìâîëîâ.
Ïðèìåð.
N = {S, A}, T = {a, b}, P = {S → aA, A → b, A → aS}. Ìîæíî
âûâîäèòü òàê: S → aA → aaS → aaaA → aaab .
ßçûê: ñîñòîèò èç íå÷åòíîãî ÷èñëà áóêâ a, çà êîòîðîé ñëåäóåò b .
Óïðàæíåíèå. Äîêàæèòå, ÷òî àâòîìàòíûå ãðàììàòèêè çàäàþò â
òî÷íîñòè ðåãóëÿðíûå ÿçûêè.
31 / 34
32. Pumping ëåììà
Ëåììà ñ ïîìîùüþ êîòîðîé ìîæíî äîêàçàòü, ÷òî ÿçûê íå
ÿâëÿåòñÿ àâòîìàòíûì.
Ëåììà. Äëÿ ëþáîãî ðåãóëÿðíîãî ÿçûêà L ñóùåñòâóåò ÷èñëî n,
÷òî ëþáóþ ñòðîêó α ∈ L, |α| n ìîæíî ïðåäñòàâèòü â âèäå
α = uvw , ãäå |v | 1 è äëÿ âñåõ k ñëîâî uv k w ∈ L.
Äîêàçàòåëüñòâî.
• Ïóñòü n ÷èñëî ñîñòîÿíèé äåòåðìèíèðîâàííîãî ÊÀ,
ïðèíèìàþùåãî L;
• Åñëè α ∈ L, |α| 3n + 1, òî â ïðîöåññå ïðèíÿòèÿ ñëîâà α
êàêîå-òî ñîñòîÿíèå q âñòðåòèëîñü íå ìåíåå 3-õ ðàç.
Îáîçíà÷èì ñòðî÷êó äî ïåðâîãî âõîæäåíèÿ â ñîñòîÿíèå q çà
u , ñòðî÷êó ìåæäó ïåðâûì è ïîñëåäíèì ñîñòîÿíèåì q çà v ,
è îñòàâøóþñÿ ÷àñòü çà w .
• Òàê êàê q âñòðåòèëîñü íå ìåíåå 3-õ ðàç, òî |v | 1.
• k
Î÷åâèäíî, ÷òî ñòðî÷êà uv w òîæå áóäåò ïðèíèìàòüñÿ.
32 / 34
33. Ïðèìåð èñïîëüçîâàíèÿ pumping ëåììû
Ïðèìåð. ßçûê L = { 11..1 |p − ïðîñòîå} íå ÿâëÿåòñÿ
p øòóê
ðåãóëÿðíûì.
Äîêàçàòåëüñòâî. Åñëè áû îí áûë ðåãóëÿðíûì, òî íàøëîñü áû
òàêîå n, ÷òî äëÿ p n 11..1 = uvw , |v | 1 è äëÿ âñåõ k
p øòóê
uv k w ∈ L. Ïóñòü |v | = d 1, |u| + |w | = a. Òîãäà ïðè âñåõ k 0
÷èñëî kd + a äîëæíî áûòü ïðîñòûì. Âûáåðåì k = d + a + 1:
(d + a + 1)d + a = (d + a)(d + 1) íå ÿâëÿåòñÿ ïðîñòûì.
Çàäà÷à. ßâëÿåòñÿ ëè ÿçûê ïðîñòûõ ÷èñåë, çàïèñàííûõ â 10-é
ñèñòåìå ñ÷èñëåíèÿ àâòîìàòíûì?
33 / 34
34. Çàäà÷è
• ßâëÿåòñÿ ëè ÿçûê {an b n c n |n ∈ N} ðåãóëÿðíûì?
• ßâëÿåòñÿ ëè ÿçûê ïàëèíäðîìîâ ðåãóëÿðíûì?
• Äîêàæèòå, ÷òî ÿçûê äåñÿòè÷íûõ ÷èñåë, äåëÿùèõñÿ íà 3
ÿâëÿåòñÿ ðåãóëÿðíûì.
• Äîêàæèòå, ÷òî P = EXP.
• Äîêàæèòå, ÷òî NL ⊆ P. Ãäå NL ÿçûê, ïðèíèìàåìûé
ÍÌÒ, èñïîëüçóþùåé O(log n) ïàìÿòè.
34 / 34