Ìîñêîâñêèé ôèçèêî-òåõíè÷åñêèé èíñòèòóò Ôàêóëüòåò èííîâàöèé è âûñîêèõ òåõíîëîãèé Ìàòåìàòè÷åñêàÿ ëîãèêà è òåîðèÿ àëãîðèòìîâ, âåñíà 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