Конечные преобразователи, часть 2

advertisement
Êîíå÷íûå ïðåîáðàçîâàòåëè. ×àñòü 2.
Àëåêñåé Ñîðîêèí
1
Ñâîéñòâà çàìêíóòîñòè.
Òåîðåìà 1.
1. Àâòîìàòíûå ÿçûêè çàìêíóòû îòíîñèòåëüíî êîíå÷íûõ ïðåîáðàçîâàíèé.
2. Êîíòåêñòíî-ñâîáîäíûå ÿçûêè çàìêíóòû îòíîñèòåëüíî êîíå÷íûõ ïðåîáðàçîâàíèé.
Äîêàçàòåëüñòâî.
1. Ïóñòü L àâòîìàòíûé ÿçûê, çàäàâàåìûé êîíå÷íûì àâòîìàòîì A = hQ, Σ, ∆, q0,
F i ñ îäíîáóêâåííûìè ïåðåõîäàìè. Ïóñòü T = hQ0 , Σ, Σ0 , ∆0 , q00 , F 0 i êîíå÷íûé ïðåîáðàçîâàòåëü, ψ çàäàâàåìîå èì ïðåîáðàçîâàíèå, ïðè÷¼ì L0 = ψ(L).
Äîêàæåì àâòîìàòíîñòü ÿçûêà L0. Ìîæíî ñ÷èòàòü, ÷òî äëÿ âñÿêîãî ïåðåõîäà
(hq1 , xi → hq2 , x0 i) ∈ ∆0 âûïîëíÿåòñÿ ñîîòíîøåíèå |x| + |x0 | = 1.
Ðàññìîòðèì àâòîìàò M = hQ × Q0, Σ0, ∆00, (q0, q00 ), F × F 0i, ãäå ìíîæåñòâî ∆00
çàäà¼òñÿ ñëåäóþùèì îáðàçîì:
• Åñëè (hq1 , xi → q2 ) ∈ ∆ è (hq10 , xi → hq20 , εi) ∈ ∆0 , x ∈ Σ, òî (h(q1 , q10 ), εi →
(q2 , q20 )) ∈ ∆00 .
• Åñëè (hq10 , εi → hq20 , x0 i ∈ ∆0 , x0 ∈ Σ0 , òî äëÿ âñåõ q ∈ Q âûïîëíÿåòñÿ
(h(q, q10 ), x0 i → (q, q20 )) ∈ ∆00 .
h(q1 , q10 ), u0 i `M h(q2 , q20 ), εi ↔ ∃u ∈ Σ∗ (hq1 , ui `A hq2 , εi ∧
hq10 , u, εi `T hq20 , ε, u0 i)
Óòâåðæäåíèå 1.
Äîêàçàòåëüñòâî. ⇒ Èíäóêöèÿ ïî ÷èñëó ïåðåõîäîâ. Áàçà î÷åâèäíà. Ïóñòü ïîñëåäíèé ïåðåõîä èìåë âèä h(q3, q30 ), εi → (q2, q20 ), òîãäà èìååì h(q1, q10 ), u0i `M
h(q3 , q30 ), εi. Ïî ïðåäïîëîæåíèþ èíäóêöèè ïîëó÷àåì, ÷òî íàéä¼òñÿ ñëîâî v , òàêîå
÷òî hq1, vi `A hq3, εi è hq10 , v, εi `T hq30 , ε, u0i. Êðîìå òîãî, ïî ïîñòðîåíèþ èìååì,
÷òî íàéä¼òñÿ a ∈ Σ, òàêîå ÷òî (hq3, ai → q2) ∈ ∆ è (hq30 , ai → hq20 , εi) ∈ ∆0. Îòñþäà âûòåêàåò, ÷òî hq1, vai `A hq2, εi è hq10 , va, εi `T hq20 , ε, u0i, òî åñòü â êà÷åñòâå
v ìîæíî âçÿòü ua.
Ïóñòü òåïåðü ïîñëåäíèé ïåðåõîä èìåë âèä h(q3, q30 ), x0i → (q2, q20 ), òîãäà ïî ïîñòðîåíèþ èìååì q3 = q2 è h(q1, q10 ), v0i `M h(q2, q30 ), εi, ãäå v0x0 = u0, à òàêæå
(hq30 , εi → hq20 , x0 i) ∈ ∆0 . Ïî ïðåäïîëîæåíèþ èíäóêöèè ïîëó÷àåì, ÷òî íàéä¼òñÿ
ñëîâî v, òàêîå ÷òî hq1, vi `A hq2, εi è hq30 , v, εi `T hq20 , ε, v0i. Îòñþäà ñëåäóåò, ÷òî
hq1 , vi `A hq2 , εi è hq10 , v, εi `T hq20 , ε, v 0 x0 i, òî åñòü ìîæíî âçÿòü u = v .
⇐ Èíäóêöèÿ ïî |u| + |v| è |u|. Áàçà èíäóêöèè î÷åâèäíà, íà øàãå èíäóêöèè
íóæíî ðàññìîòðåòü ïîñëåäíèé ïåðåõîä â ïðåîáðàçîâàòåëå T , ïîñëå ÷åãî âîñïîëüçîâàòüñÿ ïðåäïîëîæåíèåì èíäóêöèè è îïðåäåëåíèåì àâòîìàòà M . Äåòàëè
ïðåäîñòàâëÿþòñÿ ÷èòàòåëþ.
1
Òàêèì îáðàçîì, óñëîâèå ∃(q, q0) ∈ F ×F 0(h(q0, q00 ), u0i `M h(q, q0), εi) ðàâíîñèëüíî
êîíúþíêöèè óñëîâèé ∃q ∈ F ((hq0, ui `A hq, εi) è ∃q0 ∈ F 0((hq00 , u, εi `A hq0, ε, u0i)
äëÿ íåêîòîðîãî ñëîâà u. Îòñþäà î÷åâèäíûì îáðàçîì ñëåäóåò äîêàçûâàåìîå
óòâåðæäåíèå.
2. Ïóñòü L êîíòåêñòíî-ñâîáîäíûé ÿçûê, çàäàâàåìûé êîíòåêñòíî-ñâîáîäíîé ãðàììàòèêîé G = hN, Σ, P, Si â íîðìàëüíîé ôîðìå Õîìñêîãî. Ïóñòü T = hQ, Σ, Σ0, ∆,
q0 , F i êîíå÷íûé ïðåîáðàçîâàòåëü, ψ çàäàâàåìîå èì ïðåîáðàçîâàíèå, ïðè÷¼ì
L0 = ψ(L). Äîêàæåì, ÷òî L0 ÿâëÿåòñÿ êîíòåêñòíî-ñâîáîäíûì ÿçûêîì. Ìîæíî
ñ÷èòàòü, ÷òî äëÿ âñÿêîãî ïåðåõîäà (hq1, xi → hq2, x0i) ∈ ∆0 âûïîëíÿåòñÿ ñîîòíîøåíèå |x| + |x0| = 1.
Ïîëîæèì G0 = hQ × N × Q ∪ S 0, Σ0, P 0, S 0i, ãäå P 0 çàäà¼òñÿ ñëåäóþùèì îïðåäåëåíèåì:
• Äëÿ êàæäîãî ïðàâèëà (A → BC) ∈ P è ïðîèçâîëüíûõ ñîñòîÿíèé q1 , q2 , q3
ìíîæåñòâî P 0 ñîäåðæèò ïðàâèëî hq1, A, q2i → hq1, B, q3ihq3, C, q2i.
• Äëÿ êàæäîãî ïðàâèëà (A → a), a ∈ Σ è êàæäîãî ïåðåõîäà hq1 , ai → hq2 , εi
ìíîæåñòâî P 0 ñîäåðæèò ïðàâèëî hq1, A, q2i → ε.
• Äëÿ êàæäîãî ïåðåõîäà hq1 , εi → hq2 , a0 i è ïðîèçâîëüíûõ íåòåðìèíàëà A è
ñîñòîÿíèÿ q ìíîæåñòâî P 0 ñîäåðæèò ïðàâèëî hq, A, q2i → hq, A, q1ia0
• Äëÿ âñåõ çàâåðøàþùèõ ñîñòîÿíèé q ∈ F ìíîæåñòâî P 0 ñîäåðæèò ïðàâèëî
S 0 → hq0 , S, qi.
hq1 , A, q2 i `G u0 ⇔ ∃u((A `G u) ∧ hq1 , u, εi `T hq2 , ε, u0 i.
Óòâåðæäåíèå 2.
0
Äîêàçàòåëüñòâî. ⇒ Èíäóêöèÿ ïî äëèíå âûâîäà. Áàçà èíäóêöèè ñëåäóåò èç
îïðåäåëåíèÿ ãðàììàòèêè G0. Íà øàãå èíäóêöèè íóæíî ðàçîáðàòü ñàìîå âåðõíåå
ïðàâèëî âûâîäà â äåðåâå âûâîäà u0 èç hq1, A, q2i.
⇐ Èíäóêöèÿ ïî äëèíå ñëîâ u è u0 . Áàçà èíäóêöèè äëÿ ñëó÷àÿ |u| = |u0 | = 0
ëåãêî ïðîâåðÿåòñÿ. Òåïåðü äîêàæåì øàã èíäóêöèè, ïóñòü âíà÷àëå |u| = 1, òîãäà ïðè |u0| = 0 óòâåðæäåíèå ñëåäóåò èç îïðåäåëåíèÿ ãðàììàòèêè G0. Ïóñòü
|u| = 1, |u0 | > 0, òîãäà áåç îãðàíè÷åíèÿ îáùíîñòè ìîæíî ñ÷èòàòü, ÷òî u0 = v 0 a0 è
hq1 , u, εi `T hq3 , ε, v 0 i, à òàêæå (hq3 , εi → hq2 , a0 i) ∈ ∆. Ïî ïðåäïîëîæåíèþ èíäóêöèè è ïîñòðîåíèþ ãðàììàòèêè G0 ïîëó÷àåì, ÷òî hq1, A, q3i `G v0 è hq1, A, q2i →
hq1 , A, q3 ia0 , ÷òî ïðèâîäèò ê òðåáóåìîìó óòâåðæäåíèþ.  ñëó÷àå |u| > 2 èìååì,
÷òî íàéä¼òñÿ òàêîå ïðåäñòàâëåíèå u = u1u2, u0 = u01u02, ñîñòîÿíèå q3 è ïðàâèëî
(A → BC) ∈ P , ÷òî B `G u1 , C `G u2 , hq1 , u1 , εi `T hq3 , ε, u01 i è hq3 , u2 , εi `T
hq2 , ε, u02 i. Îòñþäà ñëåäóåò, ÷òî (hq1 , A, q2 i → hq1 , B, q3 ihq3 , C, q2 i) ∈ P 0 , à òàêæå
hq1 , B, q3 i `G u01 è hq3 , C, q2 i `G u02 . Âûâîä hq1 , A, q2 i ` hq1 , B, q3 ihq3 , C, q2 i → v1 v2
äà¼ò òðåáóåìîå óòâåðæäåíèå.
Òåïåðü óòâåðæäåíèå òåîðåìû ñëåäóåò èç ÷åòâ¼ðòîãî ïóíêòà îïðåäåëåíèÿ ãðàììàòèêè G0 è îïðåäåëåíèÿ êîíòåêñòíî-ñâîáîäíîé ãðàììàòèêè è ðàöèîíàëüíîãî
ïðåîáðàçîâàíèÿ. Äàííàÿ òåîðåìà ìîæåò áûòü äîêàçàíà è ïðîùå ñ èñïîëüçîâàíèåì òåîðåìû Íèâà.
0
0
0
2
Îáîçíà÷èì ÷åðåç Bk ÿçûê ïðàâèëüíûõ ñêîáî÷íûõ ïîñëåäîâàòåëüíîñòåé c k òèïàìè ñêîáîê. Ôîðìàëüíî, ÿçûê Bk çàäà¼òñÿ ãðàììàòèêîé S → a1Sa1S | . . . | ak Sak S | ε.
(Õîìñêèé-Ùþòöåíáåðæå, ñëàáàÿ ôîðìà) Âñÿêèé êîíòåêñòíî-ñâîáîäíûé
ÿçûê ìîæíî ïîëó÷èòü ðàöèîíàëüíûì ïðåîáðàçîâàíèåì èç ÿçûêà Bk äëÿ íåêîòîðîãî
íàòóðàëüíîãî k.
Äîêàçàòåëüñòâî. Ïóñòü L êîíòåêñòíî-ñâîáîäíûé ÿçûê, ðàñïîçíàâàåìûé ÌÏ-àâòîìàòîì M = hQ, Σ, Γ, ∆, q0, F i. Ìîæíî ñ÷èòàòü, ÷òî äëÿ âñÿêîãî ïåðåõîäà (hq1, x, αi →
hq2 , βi) ∈ ∆ âûïîëíÿåòñÿ óñëîâèå |α| + |β| = 1. Ïîëîæèì k = |Γ| è áóäåì ñ÷èòàòü,
÷òî Γ = {A1, . . . , Ak }. Îáîçíà÷èì Γ = {Ai | Ai ∈ Γ}.
Ïîñòðîèì êîíå÷íûé ïðåîáðàçîâàòåëü T = hQ, Γ ∪ Γ, Σ, ∆0, q0, F i, ãäå ∆0 ñòðîèòñÿ
ïî ñëåäóþùåìó àëãîðèòìó:
• Åñëè (hq1 , x, Ai i → hq2 , εi) ∈ ∆, òî (hq1 , Ai i → hq2 , xi) ∈ ∆0 .
• Åñëè (hq1 , x, εi → hq2 , Ai i) ∈ ∆, òî (hq1 , Ai i → hq2 , xi) ∈ ∆0 .
Íåòðóäíî äîêàçàòü, ÷òî óñëîâèÿ hq1, u, εi `M hq2, ε, εi è ∃w! ∈ Bk (hq1, w, εi `T
hq2 , ε, ui) ÿâëÿþòñÿ ðàâíîñèëüíûìè. Îòñþäà ïîëó÷àåì, ÷òî ST (Bk ) = L(M ), ÷òî è
òðåáîâàëîñü.
(Õîìñêèé-Ùþòöåíáåðæå, ñèëüíàÿ ôîðìà) Âñÿêèé êîíòåêñòíî-ñâîáîäíûé
∗
ÿçûê L ∈ Σ ïðåäñòàâèì â âèäå L = Bk ∩ R, ãäå R àâòîìàòíûé ÿçûê, äëÿ íåêîòîðîãî íàòóðàëüíîãî k.
Äîêàçàòåëüñòâî.
Ïóñòü φ1 : Σ∗ → Σ0∗, φ2 : Σ0∗ → Σ00∗ ãîìîìîðôèçìû, R1 ⊆ Σ∗, R2 ⊆ Σ0∗
àâòîìàòíûå ÿçûêè. Òîãäà íàéäóòñÿ àâòîìàòíûé ÿçûê R ⊆ Σ∗ è ãîìîìîðôèçì
φ : Σ∗ → Σ00∗ , òàêèå ÷òî äëÿ âñÿêîãî ÿçûêà L ⊆ Σ∗ âûïîëíÿåòñÿ ñîîòíîøåíèå
φ(L ∩ R) = φ2 (φ1 (L ∩ R1 ) ∩ R2 ).
Äîêàçàòåëüñòâî. Äîñòàòî÷íî ïîëîæèòü φ = φ2 ◦ φ1, R = R1 ∩ φ−1
1 (R2 ).
Ââåä¼ì ñêîáî÷íûé àëôàâèò A = {a1, a1, . . . , ak , ak }.  ñèëó òåîðåìû Íèâà è ñëàáîé
ôîðìû òåîðåìû Õîìñêîãî-Øþòöåíáåðæå íàéäóòñÿ àëôàâèò Γ, àâòîìàòíûé ÿçûê
R0 ⊆ Γ∗ è íåóäëèíÿþùèå ãîìîìîðôèçìû ψ1 : Γ∗ → A∗ , ψ2 : Γ∗ → Σ∗ , òàêèå ÷òî L =
ψ2 (ψ1−1 (Bk ) ∩ R0 ). Ïî äîêàçàííîé ëåììå äîñòàòî÷íî ïîäîáðàòü òàêîå íàòóðàëüíîå
÷èñëî l, àâòîìàòíûé ÿçûê R00 è ãîìîìîðôèçì ψ, ÷òî ψ1−1(Bk ) = ψ(Bl ) ∩ R00.
Ïóñòü Γ = {a11, . . . , a1m , b11, . . . , b1n , . . . , ak1, . . . , akm , bk1, . . . , bkn , c1, . . . , cr } è ψ1(aij ) =
ai , ψ1 (bij ) = ai , ψ1 (cj ) = ε. Ïîëîæèì A0 = {aijk , aijk | i 6 k, j 6 mi , k 6 ni } ∪ {di , di |
i 6 r}, ψ(aijk = aij , ψ(ai jk) = bi k, ψ(di ) = c1 , ψ(di ) = ε. Ïóñòü ÿçûê R ñîñòîèò èç
âñåõ ñëîâ â àëôàâèòå A0, ñîäåðæàùèõ áóêâû di è di òîëüêî â ïîäñëîâàõ âèäà didi,
î÷åâèäíî, åãî ìîæíî çàäàòü êîíå÷íûì àâòîìàòîì.
Îáîçíà÷èì ÷åðåç Bl ÿçûê ñêîáî÷íûõ ïîñëåäîâàòåëüíîñòåé íàä àëôàâèòîì A0 è
äîêàæåì, ÷òî ψ(Bl ∪ R) = ψ1−1(Bk ). Âêëþ÷åíèå ñëåâà íàïðàâî î÷åâèäíî ñëåäóåò èç
òîãî, ÷òî ïðè êîìïîçèöèè ψ1 ◦ φ ñêîáêè îäíîãî è òîãî æå òèïà ïåðåõîäÿò ëèáî â
Òåîðåìà 2
.
Òåîðåìà 3
.
Ëåììà 1.
1
1
k
3
k
ñêîáêè îäíîãî è òîãî æå òèïà, ëèáî îäíîâðåìåííî ïåðåõîäÿò â ïóñòîå ñëîâî. Îáðàòíîå
âêëþ÷åíèå ïðîâåðÿåòñÿ íåïîñðåäñòâåííî.
4
Download