12.1-misol. Dastlabki konfiguratsiya quyidagicha berilgan bo‘lsin:
Boshqaruvchi kallak harfini ko‘rib turganligi va mashina holatda bo‘lganligi uchun mashina komandani ishlab chiqadi va natijada ikkinchi konfiguratsiyani hosil qilamiz.
Ravshanki, navbatdagi konfiguratsiyalar quyidagi ko‘rinishlarda bo‘ladi:
|
|
|
|
|
–
|
to‘rtinchi konfiguratsiya,
|
|
|
|
|
|
|
|
|
|
|
|
|
–
|
beshinchi konfiguratsiya.
|
|
|
|
|
|
|
|
Beshinchi konfiguratsiyada mashina holatda (to‘xtash holatida) turganligi uchun so‘z hisoblashning natijasi bo‘ladi.
12.2-misol. Boshlang‘ich konfiguratsiya quyidagicha bo‘lsin:
12.1-jadvaldagi funksional sxemadan foydalanib, quyidagi konfiguratsiyalarga kelamiz:
|
|
|
|
|
|
–
|
ikkinchi konfiguratsiya,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
–
|
uchinchi konfiguratsiya,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
–
|
to‘rtinchi konfiguratsiya,
|
|
|
|
|
|
|
|
|
Ikkinchi va oltinchi konfiguratsiyalardan ko‘rinib turibdiki, mashinaning ish jarayoni takrorlandi va, demak, natija bo‘lmaydi.
|
|
|
|
|
|
–
|
beshinchi konfiguratsiya,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
–
|
oltinchi konfiguratsiya.
|
|
|
|
|
|
|
|
|
Tyuring mashinasida algoritmni realizasiya qilish.
Tyuring mashinasida o‘nlik sistemada dan ga o‘tish algoritmini realizasiya qilish. O‘nlik sanoq sistemasida sonning yozuvi berilgan bo‘lsin va sonning o‘nlik sistemasidagi yozuvini ko‘rsatish, ya’ni funksiyani hisoblash talab etilsin.
Ravshanki, mashinaning tashqi alfaviti 0,1,2,3,4,5,6,7,8,9 raqamlardan va bo‘sh katakcha dan iborat bo‘lishi kerak. Lentaga o‘nlik sistemada sonni yozamiz. Bu yerda qatorasiga bo‘sh joysiz har bir katakchaga bitta raqam yoziladi.
Qo‘yilgan masalani yechish uchun ishning birinchi taktida mashina sonning oxirgi raqamini o‘chirib, uni bir birlik katta songa almashtirib va agar oxirgi raqam 9 sonidan kichik bo‘lsa, u holda to‘xtash holatiga o‘tishi kerak.
Agar sonning oxirgi raqami 9 bo‘lsa, u holda mashina 9 raqamni o‘chirib, bo‘sh qolgan katakchaga 0 raqamni yozib, o‘sha holatda qolgan holda chapga yuqoriroq razryadli qo‘shnisiga surilishi kerak. Bu yerda ishning ikkinchi taktida mashina yuqoriroq razryadli raqamga 1 sonini qo‘shishi kerak.
Tabiiyki, chapga surilish paytida yuqoriroq razryadli raqam bo‘lmasa, u holda mashinaning boshqaruvchi kallagi bo‘sh katakchaga chiqishi mumkin. Bu holatda bo‘sh katakchaga mashina 1 raqamini yozadi.
Aytilganlardan shu narsa kelib chiqadiki, funksiyani hisoblash algoritmini realizasiya qilish paytida mashina bor yo‘g‘i ikkita va holatlarda bo‘ladi.
Shunday qilib, o‘nlik sistemada dan ga o‘tish algoritmini realizasiya etadigan Tyuring mashinasi quyidagi ko‘rinishda bo‘ladi:
Quyida va sonlar uchun mos ravishda ularning konfiguratsiyalari keltirilgan.
Natural sonlarni qo’shish algoritmi. Mashina lentasiga tayoqchalar majmuasi shaklida ikkita son berilgan bo’lsin. Masalan, 2 va 3 sonlari. Bu sonlarni
qo’shish talab etilsin. Qo’shish simvolini (belgisini) yulduzcha bilan belgilaymiz. Shunday qilib, mashina lentasiga quyidagi so’z yoziladi.
(12.1)
(1) so’zga tatbiq qilish natijasida 2 va 3 sonlarining yig‘indisini, ya’ni
(12.2)
so‘zni beradigan funksional sxemani topish talab etiladi.
Qo’yilgan masalani yechish jarayonini izohlab beraylik. Dastlabki momentda mashinaning kallagi eng chapdagi tayoqchani ko’rib tursin. Uni to birinchi bo’sh katakchaga erishguncha hamma tayoqcha va yulduzchalarni cheklab o’ngga so’rish kerak. Bu bo’sh katakchaga birinchi tayoqcha yoziladi. Undan so’ng ikkinchi tayoqchaga qaytib kelish kerak va uni uchirib to’xtash kerak. Mashina ishining hamma taktini quyidagi mos konfiguratsiyalarda ifodalab beramiz.
1)
|
|
2)
|
|
3)
|
4)
|
|
5)
|
|
6)
|
7)
|
|
8)
|
|
9)
|
10)
|
|
11)
|
|
12)
|
13)
|
|
14)
|
|
15)
|
16)
|
|
17)
|
|
18)
|
19)
|
|
20)
|
|
21)
|
22)
|
|
23)
|
|
24)
|
25)
|
|
26)
|
|
27)
|
28)
|
|
29)
|
|
30)
|
Bu jarayon masalaning yechish algoritmini ikki o‘lchovli 12.2-jadval shaklida yozishga imkoniyat yaratadi.
Shunday qilib, bu yerda – tashqi alfavit va – mashina holatlaridan foydalanildi.
Evklid algoritmi. Evklid algoritmi berilgan ikkita natural son uchun ularning eng katta umumiy bo‘luvchisini topish kabi masalalarni yechishda qo‘llaniladi. Ma’lumki, Evklid algoritmi quyidagi kamayuvchi sonlar ketma-ketligini tuzishga keltiriladi: birinchisi berilgan ikki sonning eng kattasi bo‘ladi, ikkinchisi – kichigi, uchinchisi – birinchi sonni ikinchisiga bo‘lishdan hosil bo‘lgan qoldiq, to‘rtinchisi – ikkinchi sonni uchinchisiga bo‘lishdan hosil bo‘lgan
qoldiq va hokazo, bu jarayon qoldiqsiz bo‘linguncha davom ettiriladi. Oxirgi bo‘lishdagi bo‘luvchi masala yechimining natijasi bo‘ladi.
Evklid algoritmini Tyuring mashinasining dasturi sifatida ifodalash talab etilgan bo‘lsin. Bu dastur sonlarni taqqoslash va ayirish sikllarining navbatma-navbat (navbatlashib) kelishini ta’minlashi kerak.
To‘rtta harfdan iborat tashqi alfavitdan foydalanamiz. Bu yerda – bo‘sh katakcha simvoli, – tayoqcha, va – tayoqcha rolini vaqtinchalik o‘ynaydigan harflar.
Masalaning yechilishini boshlang‘ich konfiguratsiyasi
bo‘lgan hol uchun 4 va 6 sonlarning eng katta umumiy bo‘luvchisini topish misolida ko‘rib o‘taylik.
Birinchi navbatda mashina lentada yozilgan sonlarni taqqoslashi kerak. Shu maqsadga erishish uchun mashina birinchi sonni ifodalovchi tayoqchalarni harfi bilan va ikkinchi sonni ifodalovchi sonlarni harfi bilan almashtirishi kerak. Mashina ishining birinchi to‘rt taktiga mos keluvchi uning konfiguratsiyasi quyidagicha bo‘ladi:
Shu bilan dastlabki sonlarni taqqoslash sikli tamom bo‘lib, ayirish sikli boshlanadi. Bu sikl davomida kichik son lentadan butunlayiga o‘chiriladi, harfi bilan belgilangan ikkinchi son tayoqchalar bilan almashinadi va, demak, katta 6 soni ikkita 4 va 2 sonlariga bo‘linadi.
Bu operasiyalarga bir qator konfiguratsiyalar to‘g‘ri keladi. Shulardan ayrimlarini yozamiz:
|
|
|
..........................................
|
|
|
..........................................
|
|
|
Shu bilan birinchi ayirish sikli tamom bo‘ladi.
Endi mashina 4 va 2 sonlarini taqqoslashi kerak. Bu sonlarni taqqoslash sikli quyidagi
konfiguratsiyaga va ayirish sikli
konfiguratsiyaga olib keladi.
Uchinchi taqqoslash sikli 2 va 2 sonlarini
konfiguratsiyaga va ayirish sikli
oxirgi konfiguratsiyaga olib keladi.
Shunday qilib, Tyuring funksional sxemasi 12.3-jadval ko‘rinishida bo‘ladi.
Mustaqil bajarish uchun muammoli masala va topshiriqlar
Quyidagi funksiyalarni hisoblovchi algoritmlarni Tyuring mashinasining dasturlari sifatida ifodalang:
a) ; b) ; d) .
Quyidagi funksiyalarni funksiyani hisoblovchi Tyuring mashinasini tuzing:
a)
b)
Ushbu funksiyani hisoblovchi Tyuring mashinasini tuzing.
Ushbu funksiyani hisoblovchi Tyuring mashinasining dasturlarini alfavitda yozing.
Funksional sxemalari 1-va 2-jadval jadvallarda berilgan Tyuring mashinasi qanday funksiyalarni hisoblashi mumkinligini aniqlang.
1-jadval
|
|
2-jadval
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
...
|
...
|
...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dasturi 3-jadvaldagi funksional sxema orqali berilgan Tyuring mashinasi qanday ko‘rinishdagi funksiyani hisoblashi mumkinligini aniqlang.
7. Berilgan
programma bo’yicha Tyuring mashinasini P so’ziga qo’llash mumkinmi? Bunda, q1-boshlang’ich holat, q0-tugallangan holat.
1. P=[10]20011;
2. P=[01]20011;
3. P=[101]20011;
4. P=1303[01]2;
5. P=12 02[01]2;
6. P=15[01]2;
7. P=100 [10]2;
8. P=0011[01]2;
9. P=0011 [101]2;
10. P=[01]21303;
11. P=[01]212 02;
12. P=[01]215;
13. P=[110]20011;
14. P=[011]20011;
15. P=[11]20011;
16. P=1303[11]2;
17. P=12 02[11]2;
18. P=15[11]2;
19. P=100 [11]2;
20. P=1011[10]2;
21. P=1010 [10]2;
22. P=[10]21303;
23. P=[10]212 02;
24. P=[10]215;
25 P=[101]215;
8. T1 va T2 mashinalarning (q10, q21) holatlar juftligi bo’yicha kompzisiyasin tuzing. Bunda, q10-T1 mashinaning tugallovchi holati, q21- T2 mashinaning boshlang’ich holati, q20 esa tugallovchi holati.
9. T1 va T2 mashinalarning (q10, q21) holatlar juftligi bo’yicha kompzisiyasin tuzing. Bunda, q10-T1 mashinaning tugallovchi holati, q21- T2 mashinaning boshlang’ich holati, q20 esa tugallovchi holati.
10. Berilgan P so’zga T=T(T1,(q’10,q21), T2,(q’’10,q31),T3) mashinani qo’llanilishini aniqlang.
Bunda, q20 -T2 mshinaning tugallovchi holati, q30 -T3 mashinaning tugallovchi holati.
11. Berilgan P so’zga T=T(T1,(q’10,q21), T2,(q’’10,q31),T3) mashinani qo’llanilishini aniqlang.
Bunda, q20 -T2 mshinaning tugallovchi holati, q30 -T3 mashinaning tugallovchi holati.
11[011]3
1013112
1[1011]2
1012102
120[01]2
12[[01]2]2
1[120112]1
1202[01]2
[[10]20]2
[1]2[01]2
011[11]21
[11]2[01]3
010130
11[011]2
[1012]2
10102[12]2
[01100]2
01[011]2
[011]3
[01]2[10]21
10[101]2
0113[102]2
[1012]2
[[10]21]2
[101]21011
1[102]21
[[10]21]2
1[10]210]2
[1[01]2]2
[[01]2]2
Adabiyotlar
Kenneth H. Rosen, Discrete mathematics and its applications, 7-edition, The McGraw-Hill Companies, 2012
Мендельсон Э. Введение в математическую логику. М.: Наука, 1984
Яблонский С. В. Введение в дискретную математику. – М.: Наука, 1986.
Юнусов А.С. Математик мантиқ ва алгоритмлар назарияси элементлари, Т., 2008.
To‘rayev X.T., Matematik mantik va diskret matematika. - T., O‘qituvchi,2003.
Лавров И. А., Максимова Л. Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Физ.-мат. литература, 1995.
Гаврилов Г. П., Сапоженко А. А. Сборник задач по дискретной математике. - М.: Наука. -1969.
Ершов Ю. Л., Палютин Е. А. Математическая логика. М.: Наука, 1987.
Клини С. К. Математическая логика. М.: Мир, 1973
Партее Б., тер Меулен А., Wалл Р. Матҳематиcал Метҳодс ин Лингуистиcс. Дордречт: Реидел, 1989.
Гиндикин С. Г. Алгебра логики в задачах. – М.: Наука, 1972.
Малсев А. И. Алгебраические системы. – М.: Наука, 1970.
Do'stlaringiz bilan baham: |