4.2. Тьюринг машиналары
Егер кейбір жалпы мәселені шешу үшін алгоритм белгілі болса, онда оны жүзеге асыру үшін тек алгоритмдің нұсқауларын қатаң орындау қажет. Осы алгоритмды атқаратын адамдың функцияларын машинаға беру ой пайда болады. Мұндай машинаның идеясын ХХ ғасырдың 30-ші жылдарында америкалық математигі Э. Пост және ағылшын математигі А. Тьюринг ұсынған.
Тъюринг машинасы деп аталатын айтылған машиналардың варианттарының бірін қарастырайық.
Тьюринг машинасының үш алфавиті бар:
1. Бос символмен берілген сыртқы алфавит – А.
2. Ішкі алфавит немесе жағдайлар алфавиті Q = q0, q1, …, qn. q0 жағдайы қорытынды жағдай, q1 – бастапқы жағдай, q2, q3, …, qn – жұмыс жағдайлар деп аталады.
3. Қозғалыстар алфавиті S = -1, 0, +1.
Машинаның құрылымына кіреді:
а) шексіз таспа (ұяшықтарға бөлінген). Әрбір ұяшыққа тек бір ғана әріп жазылуы мүмкін.
б) оқып-жазушы құрылғы. Оқып-жазушы құрылғының шолу жасау, ұяшыққа жазылған әріпті оқу, ұяшыққа әріпті жазу, жылжу мүмкіндіктері бар. в) басқару құрылғысы – машинаның программасы көмегімен машина жұмысын басқарады.
г) машинаның бір конфигурациясынан басқасына өтулерін анықтайтын машинаның программасы.
Егер шолу жасалған ұяшық пен машинаның жағдайы белгілі болса, онда машинаның конфигурациясы белгілі деп айтады.
Машинаның программасы бұл әрбір (а, qi ) – әріп-жағдай қосағына (b, qi , s) – әріп-жағдай-қозғалыс үштікті сәйкестікке қоятын бейнелеу. Әдетде Тьюринг машинасының программасы кесте түрінде беріледі.
4.3 Машинаның жұмыс істеу ережелері
Машина дискретті түрде жұмыс істейді (қадам қадам бойынша). Әр қадамда бір конфигурациядан басқасына өту орындалады. Жұмыс бастаудан алдын машина бастапқы конфигурацияда болады: оқып-жазушы құрылғы сөздің бірінші әріпіне шолу жасайды, ал машина q1 бастапқы жағдайында болады. Оқып-жазушы құрылғы шолу жасалған ұяшықтағы әріпті оқиды. Басқару құрылғысы машинаның программасынан оқылған әріп пен машинаның жағдайына сәйкес клетканы табады. Бұл клеткада (а, q, s) үштік болсын. Онда шолу жасалған ұяшыққа а әріпі жазылады, машина q жағдайға өткізіледі, егер s=-1 болса, онда оқып-жазушы құрылғы бір ұяшыққа сол жаққа жылжыйды, егер s=+1 болса, онда оқып-жазушы құрылғы бір ұяшыққа оң жаққа жылжыйды, егер s=0 болса – қозғалмайды. Осымен машинаның бірінші қадамдағы жұмысы аяқталады.
Машинаның жұмыстары машинаның қадамы q0 ға жеткенше жалғаса береді. Бұл жағдайда басқару құрылғысы машинаны тоқтатады. Пайда болған конфигурация қорытынды, ал алынған сөз – машинаны берілген сөзге қолдану нәтижесі деп аталады.
4.4 Машина мысалдары
Мысал 1. Келесі Тьюринг машинасы унарлық санақ жүйесінде жазылған натурал сандарды қосады.
|
q1
|
q2
|
q3
|
|
|
|q1+1
|
q3-1
|
|q3-1
|
+
|
|q1+1
|
|
|
|
q2-1
|
|
q0+1
|
Мысал 2. Келесі Тьюринг машинасы унарлық санақ жүйесінде жазылған натурал сандарды екі есе көбейтеді.
|
q1
|
q2
|
q3
|
|
|
q1+1
|
|q2-1
|
|q3+1
|
|
|
|q3+1
|
|
|
q2-1
|
q0+1
|
|q2-1
|
Тақырып бойынша тесттер
1. Берiлген Т Тьюринг машинасы және K1 бастапқы конфигурация бойынша қорытынды конфигурацияны табыңыз.
T: K1= q1
-
|
q1
|
q2
|
q3
|
|
q2+1
|
q3+1
|
q1+1
|
|
q00
|
q0-1
|
q1-1
|
q0
q0
q0
q0
q0
2. Берiлген Т Тьюринг машинасы және K1 бастапқы конфигурация бойынша қорытынды конфигурацияны табыңыз.
T: K1= q1
-
|
q1
|
q2
|
q3
|
|
q2+1
|
q3+1
|
q1+1
|
|
q00
|
q0-1
|
q1-1
|
q0
q0
q0
q0
q0
3. Берiлген Т Тьюринг машинасы және K1 бастапқы конфигурация бойынша қорытынды конфигурацияны табыңыз.
T: K1= q1
-
|
q1
|
q2
|
q3
|
|
q2+1
|
q3+1
|
q1+1
|
|
q00
|
q0-1
|
q1-1
|
q0
q0
q0
q0
q0
4. Берiлген Т Тьюринг машинасы және K1 бастапқы конфигурация бойынша қорытынды конфигурацияны табыңыз.
T: K1= q1
-
|
q1
|
q2
|
q3
|
|
q2+1
|
q3+1
|
q1+1
|
|
q00
|
q0-1
|
q1-1
|
q0
q0
q0
q0
q0
5. Берiлген Т Тьюринг машинасы және K1 бастапқы конфигурация бойынша қорытынды конфигурацияны табыңыз.
T: K1= q1
-
|
q1
|
q2
|
q3
|
|
q2+1
|
q3+1
|
q1+1
|
|
q00
|
q0-1
|
q1-1
|
q0
q0
q0
q0
q0
6. Берiлген Т Тьюринг машинасы және K1 бастапқы конфигурация бойынша қорытынды конфигурацияны табыңыз.
T: K1= q1
-
|
q1
|
q2
|
q3
|
|
q2+1
|
q3+1
|
q1+1
|
|
q00
|
q0-1
|
q1-1
|
q0
q0
q0
q0
q0
КУРС БОЙЫНША ТестТЕР
1. Пара-пар формулаларды көрсетіңіз:
,
,
Достарыңызбен бөлісу: |