Машиной Тьюринга называется набор 〈Σ,Γ, Q, δ, q1,q0〉, где Σ, Γ

advertisement
Ìîñêîâñêèé ôèçèêî-òåõíè÷åñêèé èíñòèòóò
Ôàêóëüòåò èííîâàöèé è âûñîêèõ òåõíîëîãèé
Ìàòåìàòè÷åñêàÿ ëîãèêà è òåîðèÿ àëãîðèòìîâ, âåñíà 2011
Ïðîãðàììèðîâàíèå íà ìàøèíàõ Òüþðèíãà
Ìàøèíîé Òüþðèíãà íàçûâàåòñÿ íàáîð hΣ, Γ, Q, δ, q1 , q0 i, ãäå Σ, Γ è Q ñóòü êîíå÷íûå
íåïóñòûå ìíîæåñòâà, ïðè÷¼ì Σ ⊂ Γ è Γ ∩ Q = ∅, δ : Q × Γ → Q × Γ × {L, N, R}, q0, q1 ∈ Q
è q0 6= q1. Σ íàçûâàåòñÿ âõîäíûì àëôàâèòîì, Γ ëåíòî÷íûì àëôàâèòîì, Q ìíîæåñòâîì ñîñòîÿíèé, à q1 è q0 íà÷àëüíûì è çàâåðøàþùèì ñîñòîÿíèÿìè ñîîòâåòñòâåííî.
Ôóíêöèÿ ïåðåõîäà δ çàïèñûâàåòñÿ â ôîðìå ñïèñêà êîìàíä âèäà qiaj → qr asD. Ñðåäè
ýëåìåíòîâ Γ âûäåëÿåòñÿ ñïåöèàëüíûé ñèìâîë # (áëàíê, ïóñòîé ñèìâîë), íå âõîäÿùèé
â ìíîæåñòâî Σ.
Åñëè K êîíå÷íîå ìíîæåñòâî, òî ÷åðåç K ∗ îáîçíà÷àåòñÿ ìíîæåñòâî âñåõ êîíå÷íûõ
ïîñëåäîâàòåëüíîñòåé ýëåìåíòîâ èç ýòîãî ìíîæåñòâà (ñëîâ â àëôàâèòå K ). Ïîñëåäîâàòåëüíîñòü èç íóëÿ ýëåìåíòîâ îáîçíà÷àåòñÿ Λ è íàçûâàåòñÿ ïóñòûì ñëîâîì. Íà ïîñëåäîâàòåëüíîñòÿõ îïðåäåëåíà îïåðàöèÿ êîíêàòåíàöèè (ïðèïèñûâàíèÿ), îáîçíà÷àåìàÿ ñèìâîëîì ·. ×àñòî ýòîò ñèìâîë îïóñêàåòñÿ, çàïèñü AB îçíà÷àåò êîíêàòåíàöèþ ñëîâ A è B .
Ïîä çàïèñüþ An ïîíèìàåòñÿ êîíêàòåíàöèÿ n ýêçåìïëÿðîâ ñëîâà A.
×åìó ðàâíÿåòñÿ A0? A1?
Êîíôèãóðàöèåé ìàøèíû Òüþðèíãà íàçûâàåòñÿ ñëîâî âèäà AqaB , ãäå A, B ∈ Γ∗ ,
a ∈ Γ, à q ∈ Q.
Âû÷èñëåíèåì íà ìàøèíå Òüþðèíãà íàçûâàåòñÿ ïîñëåäîâàòåëüíîñòü êîíôèãóðàöèé
c1 , . . . , ck , â êîòîðîé ëþáûå äâå ñîñåäíèå êîíôèãóðàöèè cl è cl+1 ñîîòíîñÿòñÿ ñëåäóþùèì
îáðàçîì:
• åñëè cl = Aqi aj B è â ïðîãðàììå âñòðå÷àåòñÿ êîìàíäà qi aj → qr as N , òî cl+1 =
Aqr as B ;
• åñëè cl = Aqi aj B è â ïðîãðàììå âñòðå÷àåòñÿ êîìàíäà qi aj → qr as R, òî cl+1 =
Aas qr B (åñëè B = Λ, òî cl+1 = Aas qr #);
• åñëè cl = Aaqi aj B è â ïðîãðàììå âñòðå÷àåòñÿ êîìàíäà qi aj → qr as L, òî cl+1 =
Aqr aas B (åñëè cl = qi aj B , òî cl+1 = qr #as B ).
Íåôîðìàëüíî ðàáîòà ìàøèíû Òüþðèíãà îïèñûâàåòñÿ òàê: èìååòñÿ áåñêîíå÷íàÿ ëåíòà, ðàçáèòàÿ íà ÿ÷åéêè.  êàæäîé ÿ÷åéêå çàïèñàí ñèìâîë èç Γ. Ó ìàøèíû èìååòñÿ
êàðåòêà, â êàæäûé ìîìåíò óêàçûâàþùàÿ ðîâíî íà îäíó ÿ÷åéêó. Çà îäèí òàêò ìàøèíà
÷èòàåò ñèìâîë ñ ÿ÷åéêè, íà êîòîðóþ óêàçûâàåò, è â çàâèñèìîñòè îò âíóòðåííåãî ñîñòîÿíèÿ ïåðåõîäèò â íîâîå ñîñòîÿíèå, çàìåíÿåò ñîäåðæèìîå ÿ÷åéêè è ñäâèãàåòñÿ âëåâî,
âïðàâî èëè îñòà¼òñÿ íà ìåñòå. Êîíôèãóðàöèÿ AqaB îçíà÷àåò, ÷òî ìàøèíà íàõîäèòñÿ
â ñîñòîÿíèè q, óêàçûâàåò íà ÿ÷åéêó ñ ñèìâîëîì a, ñëåâà îò ýòîé ÿ÷åéêè çàïèñàíî A,
ñïðàâà B . à âñå îñòàëüíûå ÿ÷åéêè çàïîëíåíû #.
1.
1
Ìàøèíà âû÷èñëÿåò (÷àñòè÷íî îïðåäåë¼ííóþ) ôóíêöèþ f : Σ∗ → Σ∗, åñëè:
1. Äëÿ âñåõ x, íà êîòîðûõ f îïðåäåëåíà, ñóùåñòâóåò âû÷èñëåíèå íà ýòîé ìàøèíå,
íà÷èíàþùååñÿ ñ êîíôèãóðàöèè q1x è çàêàí÷èâàþùååñÿ êîíôèãóðàöèåé q0f (x);
2. Äëÿ âñåõ x, íà êîòîðûõ f íå îïðåäåëåíà, íå ñóùåñòâóåò âû÷èñëåíèÿ íà ýòîé ìàøèíå, íà÷èíàþùåãîñÿ ñ êîíôèãóðàöèè q1x è çàêàí÷èâàþùåãîñÿ êîíôèãóðàöèåé,
ñîäåðæàùåé q0.
Ïóñòü Σ = {0, 1}. Îïèøèòå ìàøèíû, âû÷èñëÿþùèå ôóíêöèè: f (x) = x, f (x) = 0,
íèãäå íå îïðåäåë¼ííóþ.
Ïóñòü Σ = {1}. Îïèøèòå ìàøèíû, âû÷èñëÿþùèå ôóíêöèè: f (1n) = 1n+1, f (1n) =
n−1
1 , f (1n ) = 12n , f (1n ) = 1n .
Ïóñòü Σ = {0, 1}. Îïèøèòå ìàøèíû, âû÷èñëÿþùèå ôóíêöèè: f (x) = xx, f (x) =
xx̄, ãäå x̄ ñëîâî, ïîëó÷åííîå èç x ïðåâðàùåíèåì íóëåé â åäèíèöû è íàîáîðîò, f (x) =
xx̃, ãäå x̃ ñëîâî x, çàïèñàííîå çàäîì íàïåð¼ä.
Ïóñòü Σ = {0, 1}. Îïèøèòå ìàøèíû, âû÷èñëÿþùèå ôóíêöèè: f (x) = 2x, f (x) =
x + 1, f (x) = x − 1, ãäå x ïîíèìàåòñÿ êàê äâîè÷íàÿ çàïèñü íàòóðàëüíîãî ÷èñëà.
Ìàøèíà âû÷èñëÿåò (÷àñòè÷íî îïðåäåë¼ííóþ) ôóíêöèþ f : Σ∗ × Σ∗ → Σ∗, åñëè:
1. Äëÿ âñåõ ïàð (x, y), íà êîòîðûõ f îïðåäåëåíà, ñóùåñòâóåò âû÷èñëåíèå íà ýòîé
ìàøèíå, íà÷èíàþùååñÿ ñ êîíôèãóðàöèè q1x#y è çàêàí÷èâàþùååñÿ êîíôèãóðàöèåé
q0 f (x, y);
2. Äëÿ âñåõ ïàð (x, y), íà êîòîðûõ f íå îïðåäåëåíà, íå ñóùåñòâóåò âû÷èñëåíèÿ íà
ýòîé ìàøèíå, íà÷èíàþùåãîñÿ ñ êîíôèãóðàöèè q1x#y è çàêàí÷èâàþùåãîñÿ êîíôèãóðàöèåé, ñîäåðæàùåé q0.
Ïóñòü Σ = {0, 1}. Îïèøèòå ìàøèíû, âû÷èñëÿþùèå ôóíêöèè f (x, y) = x + y,
f (x, y) = x − y , ãäå x è y ïîíèìàþòñÿ êàê äâîè÷íûå çàïèñè íàòóðàëüíûõ ÷èñåë.
Îïèøèòå ìàøèíó, âû÷èñëÿþùóþ f (x, y) = xy (óìíîæåíèå ÷èñåë â äâîè÷íîé çàïèñè).
Òàêæå ðàññìàòðèâàþò ðàñïîçíàþùèå ìàøèíû, ó êîòîðûõ âìåñòî îäíîãî çàâåðøàþùåãî ñîñòîÿíèÿ q0 åñòü äâà: ïðèíèìàþùåå qa è îòâåðãàþùåå qr . Ðàñïîçíàþùàÿ ìàøèíà
ðàçðåøàåò ìíîæåñòâî A ⊂ Σ∗, åñëè:
1. Äëÿ âñåõ x, ïðèíàäëåæàùèõ A, ñóùåñòâóåò âû÷èñëåíèå íà ýòîé ìàøèíå, íà÷èíàþùååñÿ ñ êîíôèãóðàöèè q1x è çàêàí÷èâàþùååñÿ êîíôèãóðàöèåé, ñîäåðæàùåé
qa ;
2. Äëÿ âñåõ x, íå ïðèíàäëåæàùèõ A, ñóùåñòâóåò âû÷èñëåíèå íà ýòîé ìàøèíå, íà÷èíàþùååñÿ ñ êîíôèãóðàöèè q1x è çàêàí÷èâàþùååñÿ êîíôèãóðàöèåé, ñîäåðæàùåé
qr .
2.
3.
2
4.
5.
6.
7.
2
Ïóñòü Σ = {1}. Îïèøèòå ìàøèíû, ðàñïîçíàþùèå ìíîæåñòâà: {1}, {1n | n...2},
{1n | n ∈ N}.
Ïóñòü Σ = {0, 1}. Îïèøèòå ìàøèíû, ðàñïîçíàþùèå ìíîæåñòâà: {0}, 0∗ = {0n |
n ∈ N}, 0∗ 1∗ = {0n 1m | n, m ∈ N}, {0n 1n | n ∈ N}.
Ïóñòü Σ = {0, 1}. Îïèøèòå ìàøèíó, ðàñïîçíàþùóþ ìíîæåñòâî ïàëèíäðîìîâ,
ò.å. {x | x = x̃}.
Ôóíêöèÿ íàçûâàåòñÿ âû÷èñëèìîé, åñëè å¼ âû÷èñëÿåò êàêàÿ-òî ìàøèíà Òüþðèíãà.
Ïîêàæèòå, ÷òî ìíîæåñòâî âû÷èñëèìûõ ôóíêöèé íå èçìåíèòñÿ, åñëè çàïðåòèòü
ìàøèíå ñòîÿòü íà ìåñòå (ò.å. îãðàíè÷èòüñÿ ìàøèíàìè ñ ôóíêöèÿìè ïåðåõîäà âèäà δ : Q×
Σ → Q × Σ × {L, R}).
Ïîêàæèòå, ÷òî ìíîæåñòâî âû÷èñëèìûõ ôóíêöèé íå èçìåíèòñÿ, åñëè îãðàíè÷èòü
ëåíòó ñ îäíîé ñòîðîíû. (Òåõíè÷åñêè ìîæíî äîáàâèòü ñëåâà ñïåöñèìâîë B, êîòîðûé
íåëüçÿ ñòèðàòü è ñ êîòîðîãî íåëüçÿ äâèãàòüñÿ âëåâî).
Ïîêàæèòå, ÷òî ìíîæåñòâî âû÷èñëèìûõ ôóíêöèé íå èçìåíèòñÿ, åñëè ðàçðåøèòü
ìàøèíå ðàáîòàòü íà íåñêîëüêèõ ëåíòàõ. (Ôîðìàëèçóéòå òàêóþ ìàøèíó ñàìîñòîÿòåëüíî).
Ïîêàæèòå, ÷òî ìíîæåñòâî âû÷èñëèìûõ ôóíêöèé íå èçìåíèòñÿ, åñëè çàïðåòèòü
ìàøèíå ñòèðàòü ñèìâîëû (êðîìå #). Ïðè ýòîì îòâåòîì ñëåäóåò ñ÷èòàòü ñëîâî, çàïèñàííîå ñïðàâà îò êàðåòêè.
Ïîêàæèòå, ÷òî ìíîæåñòâî âû÷èñëèìûõ ôóíêöèé óìåíüøèòñÿ, åñëè çàïðåòèòü
ìàøèíå ñäâèãàòüñÿ âëåâî.
8.
2
9.
10.
11.
12.
13.
14.
15.
3
Download