Pointer mashinasi - Pointer machine

Yilda nazariy informatika a ko'rsatkich mashinasi "atomistik" mavhum hisoblash mashinasi ga o'xshash model tasodifiy kirish mashinasi. A ko'rsatgich algoritmi bu algoritm ko'rsatgich mashinasi modeli bilan cheklangan.[1]

Turiga qarab, ko'rsatgich mashinasini bog'lovchi avtomat, KU-mashina, SMM, atomistik LISP mashinasi, daraxt ko'rsatgich mashinasi va boshqalar deb atash mumkin (qarang: Ben-Amram 1995). Adabiyotda kamida uchta asosiy nav mavjud - Kolmogorov-Uspenskiy modeli (KUM, KU-mashina), Knut bog'lovchi avtomat va Schönhage Storage Modification Machine modeli (SMM). SMM eng keng tarqalgan bo'lib ko'rinadi.

Uning "faqat o'qish uchun lentasidan" (yoki unga teng keladigan) ko'rsatkich mashinasi olinadi kiritish- kamida ikkita belgidan tashkil topgan chegaralangan ketma-ketliklar ("so'zlar"), masalan. {0, 1} - va u yozadi chiqish "faqat yozish uchun" chiqish lentasidagi (yoki unga teng keladigan) belgi-ketma-ketliklar. Belgilar ketma-ketligini (kirish so'zini) chiqadigan belgi ketma-ketligiga aylantirish uchun mashina "dastur" - cheklangan holatdagi mashina bilan jihozlangan (xotira va ko'rsatmalar ro'yxati). Uning davlat mashinasi orqali dastur o'qiydi kirish belgilari, ishlaydi uning ustida saqlash tarkibi- "qirralar" bilan o'zaro bog'langan "tugunlar" (registrlar) to'plami (belgilar bilan belgilangan ko'rsatkichlar, masalan, {0, 1}) va yozadi chiqish lentasidagi belgilar.

Pointer mashinalari arifmetikani bajara olmaydi. Hisoblash faqat kirish belgilarini o'qish, uni saqlash tuzilishi bo'yicha turli xil testlarni o'zgartirish va o'zgartirish orqali davom etadi - tugun va ko'rsatgichlar naqshini va testlar asosida belgilarni chiqarishni. "Axborot" omborda tuzilishi.

"Ko'rsatkich mashinalari" turlari

Gurevich ham, Ben-Amram ham "mavhum mashinalar" ning bir-biriga juda o'xshash "atomistik" modellarini sanab o'tadilar; Ben-Amramning fikricha, 6 ta "atomistik model" ni "Yuqori darajadagi" modellardan ajratish kerak. Ushbu maqolada quyidagi uchta atomistik model muhokama qilinadi:

  • Schönhage-ning saqlash modifikatsiyalash mashinalari (SMM),
  • Kolmogorov-Uspenskiy mashinalari (KUM yoki KU-mashinalari),
  • Knutning "bog'lovchi avtomat"

Ammo Ben-Amram ko'proq qo'shadi:

  • Atomistik sof-LISP mashinasi (APLM)
  • Atomistik to'liq LISP mashinasi (AFLM),
  • Umumiy atomistik ko'rsatkich mashinalari,
  • Jone's I tili (ikki xil)

Pointer-mashina modeli bilan bog'liq muammolar

Modeldan murakkablik nazariyasida foydalanish: van Emde Boas (1990) mavhum modelning ushbu shakli quyidagicha xavotirda ekanligini bildirdi:

"qiziqarli nazariy model, ammo ... uning murakkablik nazariyasining asosiy modeli sifatida jozibadorligi shubhali. Uning vaqt o'lchovi bu o'lchov haqiqiy vaqt murakkabligini past baholagani ma'lum bo'lgan sharoitda bir xil vaqtga asoslanadi. Xuddi shu kuzatuv mashina uchun joy o'lchovi "(van Emde Boas (1990) 35-bet)

Gurevich 1988 ham tashvish bildirmoqda:

"Pragmatik ma'noda, Schönhage modeli zamonaviy darajadagi murakkablikni yaxshi o'lchaydi (garchi men Angluin va Valiantning tasodifiy kirish kompyuterlari qatorida biron bir narsani afzal ko'rsam ham)" (Gurevich (1988) 6-bet bilan Angluin D. va Valiant LG-ga havola, "Hamilton davrlari va mos keladigan tezkor ehtimoliy algoritmlar", Kompyuter va tizim fanlari jurnali 18 (1979) 155-193.)

§3 va §4 (494-497 betlar) da, Shonhagening o'zi (1980) uning ikkalasining real vaqtdagi ekvivalentligini namoyish etadi. tasodifiy kirish mashinasi "RAM0" va "RAM1" modellari murakkablikni o'rganish uchun SMM zarurligini shubha ostiga qo'yadi.

Model uchun potentsial foydalanish: Biroq, Shönhage (1980) §6-da, Lineer vaqt ichida butun sonni ko'paytirish. Va Gurevich "parallel KU mashinasi" inson miyasiga o'xshashmi yoki yo'qmi "deb o'ylaydi (Gurevich (1988) 5-bet)

Schönhage-ning saqlash modifikatsiyalash mashinasi (SMM) modeli

Schönhage-ning SMM modeli eng keng tarqalgan va eng ko'p qabul qilingan ko'rinadi. Bu juda farq qiladi ro'yxatdan o'tish mashinasi model va boshqa keng tarqalgan hisoblash modellari masalan. lentaga asoslangan Turing mashinasi yoki belgilangan yoriqlar va ajratib bo'lmaydigan toshlar hisoblagich.[2]

Kompyuter kirish belgilarining sobit alifbosidan va o'zgaruvchan narsadan iborat yo'naltirilgan grafik (aka a holat diagrammasi ) alifbo belgilari bilan belgilangan o'qlari bilan. Grafikning har bir tugunida har bir belgi bilan bitta bitta chiquvchi o'q mavjud, ammo ularning ba'zilari asl tugunga qaytishi mumkin. Grafikning bitta sobit tuguni boshlang'ich yoki "faol" tugun sifatida aniqlanadi.

Keyinchalik alfavitdagi har bir belgi so'zini mashina orqali o'tadigan yo'lga tarjima qilish mumkin; Masalan, 10011 boshlang'ich tugundan 1 yo'lni, so'ngra hosil bo'lgan tugundan 0 yo'lni, keyin 0 yo'lni, keyin 1 yo'lni, so'ngra 1 yo'lni olishni tarjima qiladi, yo'l o'z navbatida hosil bo'lgan tugun bilan aniqlanishi mumkin, ammo hisoblash paytida grafik o'zgarganda bu identifikatsiya o'zgaradi.

Mashina grafikaning tartibini o'zgartiradigan ko'rsatmalarni olishi mumkin. Asosiy ko'rsatmalar quyidagilar yangi w ko'rsatma, bu satrni ta'qib qilishning "natijasi" bo'lgan yangi tugunni yaratadi w, va o'rnatilgan w ga v chekkani boshqa tugunga yo'naltiradigan ko'rsatma (qayta). Bu yerda w va v vakillik qilish so'zlar. v a avvalgi so'z - ya'ni. ilgari yaratilgan belgilar qatori - shunday qilib yo'naltirilgan chekka shu satrning "natijasi" bo'lgan eski tugunga "orqaga" ishora qiladi.

2 ta belgili {0,1} mashinada yangi "tugun" yaratish bosqichlari: yangi so'z bilan to'qnashganda (bu erda: "11"), mashina (i) yangi 3 tugunni yaratish va unga mos keladigan 1 qirrani ko'rsatib, so'ngra (ii) ikkita yangi ko'rsatgichni (0 - "chekka" va 1 - "chekka") yaratib, ikkalasi ham oldingi tugunga qaytadi (bu erda: 2 tugun).

(1) yangi w: yangi tugunni yaratadi. w yangisini anglatadi so'z bu yangi tugunni yaratadi. Mashina so'zni o'qiydi w, ning belgilari bilan ifodalangan yo'lni bosib o'tamiz w mashina so'zning oxiriga, "qo'shimcha" belgisiga kelguniga qadar. Buning o'rniga qo'shimcha belgi so'nggi holatni yangi tugunni yaratishga majbur qiladi va unga mos keladigan o'qni (shu belgi bilan belgilanadigan) eski holatidan yangi tugunga ishora qilish uchun "aylantiring". Yangi tugun o'z navbatida barcha qirralarini eski holatga qaytaradi, ular boshqasiga yo'naltirilguncha shunchaki "dam olishadi". yangi yoki o'rnatilgan. Bir ma'noda yangi tugunlar "uxlaydilar", topshiriqni kutmoqdalar. Boshlang'ich yoki markaziy tugun holatida biz ham uning ikkala qirrasi o'ziga yo'nalganidan boshlaymiz.

  • Misol: "w" 10110 bo'lsin [1], bu erda oxirgi belgi uning maxsus holatini bildiruvchi qavs ichida bo'ladi. Biz 10110 ga etgan tugunning 1 chekkasini olamiz (besh qirraling oxirida, shu sababli oltita tugun, yo'l) va uni yangi 7-tugunga yo'naltiramiz. Keyin ushbu yangi tugunning ikkita qirrasi yo'lning 6-tuguniga "orqaga" ishora qiladi.

(2)O'rnatish w ga v: so'z bilan ifodalangan yo'ldan chetni (o'qni) yo'naltiradi (harakatga keltiradi) w so'zni ifodalovchi oldingi tugunga v. Shunga qaramay, bu yo'naltiriladigan yo'lning so'nggi o'qi.

  • Misol: 1011011-ni 1011-ga o'rnating, yuqoridagi ko'rsatmalardan so'ng, yangi tugunning 101101 raqamidagi 1 o'qini 1011 ga etib boruvchi yo'lning beshinchi tuguniga yo'naltirish uchun o'zgartiradi. Shunday qilib 1011011 yo'li endi 1011 bilan bir xil natijaga ega bo'ladi.

(3)Agar v = w keyin ko'rsatma z : So'zlar bilan ifodalangan ikkita yo'lni taqqoslaydigan shartli ko'rsatma w va v ularning bir tugunda tugashini ko'rish uchun; agar shunday bo'lsa, ko'rsatmalarga o'ting z aks holda davom eting. Ushbu ko'rsatma a-dagi hamkasbi bilan bir xil maqsadga xizmat qiladi ro'yxatdan o'tish mashinasi yoki Wang b-mashinasi, a ga mos keladi Turing mashinasi yangi holatga o'tish qobiliyati.

2 ta belgidan iborat {0,1} mashinada yangi "tugunlarni" yaratish bosqichlari. Mashinaga 0 va 1 belgilar qatorlari - so'zlar kirib kelganda, mashina grafikani yaratadi. Bu erda ko'rsatilgandek, 5-bosqichdan so'ng ikkita so'z - "111" va "10" - ikkalasi ham 4-tugunga ishora qilmoqda. Ayni paytda, agar mashina agar 10=111 keyin xxx, keyin test muvaffaqiyatli bo'ladi va mashina haqiqatan ham xxx ga o'tadi.

Knutning "bog'lovchi avtomat" modeli

Schoenhage-ga ko'ra, Knut SMM modeli maxsus jildda "bog'lovchi avtomatlar" turiga to'g'ri kelishini ta'kidlagan. Kompyuter dasturlash san'ati (qarang. [4, 462-463-betlar])

Kolmogorov-Uspenskiy mashina (KU-mashina) modeli

KUM SMM dan faqat teskari yo'naltiruvchi ko'rsatkichlarga ruxsat berish bilan farq qiladi: x tugundan y tugunga qadar har bir ko'rsatgich uchun y dan x gacha bo'lgan teskari ko'rsatkich mavjud bo'lishi kerak. Chiqish ko'rsatkichlari alfavitning alohida belgilari bilan belgilanishi kerakligi sababli, KUM va SMM grafikalari O (1) darajasiga ega. Shu bilan birga, KUM ko'rsatkichlarining o'zgaruvchanligi O (1) darajani ham cheklaydi. Bu yuqorida keltirilgan van Emde Boasning iqtibosidagi kabi jismoniy (mutlaqo ma'lumotdan farqli o'laroq) realizmga oid ba'zi tashvishlarni hal qiladi.

Qo'shimcha farq shundaki, KUM Turing mashinasini umumlashtirish uchun mo'ljallangan edi va shu sababli u hozirda "faol" tugunni grafik atrofida harakatlantirishga imkon beradi. Shunga ko'ra, tugunlarni so'zlar o'rniga alohida belgilar bilan belgilash mumkin va amalga oshiriladigan harakatlarni qat'iy ko'rsatmalar ro'yxati o'rniga davlat jadvali bilan aniqlash mumkin.

Shuningdek qarang

Ro'yxatdan o'tish mashinasi - umumiy registrga asoslangan mavhum mashina hisoblash modeli

Turing mashinasi - umumiy lenta asosida mavhum mashina hisoblash modeli

  • Turingdan keyingi mashina —Minimalist bir lenta, ikki yo'nalishli, 1 ta belgi {bo'sh, belgi} Turingga o'xshash mashina, lekin ko'rsatmalar ketma-ket ketma-ketlikda bajarilishi bilan asosiy 3 ta buyruq hisoblagich mashinalariga o'xshash tarzda bajariladi.

Adabiyotlar

  1. ^ Cloteaux, Brian; Ranjan, Desh (2006). "Ko'rsatkich algoritmlari sinflari orasidagi ayrim ajratish natijalari".
  2. ^ Shonhage emas, 1990 yilda Van Emde Boas muolaja qiladi, unga misollar etishmaydi.

Ko'pgina adabiyotlar va bibliografiyani maqoladan topish mumkin Ro'yxatdan o'tish mashinasi. Quyidagilar ushbu maqolaga xosdir:

  • Amir Ben-Amram (1995), "Ko'rsatkich mashinasi" nima?, SIGACTN: SIGACT News (ACM Special Interest Group on Automata and Computability nazariyasi) ", 26-jild, 1995 yil. Shuningdek: DIKU, Kopengagen universiteti kompyuter fanlari kafedrasi, [email protected]. Ben-Amram bu erda turlarini va subtiplar: (1a tip) mavhum mashinalar: Kolmogorov-Uspenskiy mashinalari (KUM), Shenxejning saqlashni o'zgartirish mashinalari (SMM), Knutning "Bog'lovchi avtomat", APLM va AFLM (Atomistik sof-LISP mashinasi) va (Atomistik to'liq-LISP) atomik modellar. mashina), Umumiy atomistik ko'rsatgich mashinalari, Jone's I tili; (1b tip) mavhum mashinalar: Yuqori darajali modellar, (2 tip) Pointer algoritmlari.
  • Andrey Kolmogorov va V. Uspenskiy, Algoritm ta'rifi bo'yicha Uspekhi mat. Nauk 13 (1958), 3-28. Amerikalik matematik jamiyat tarjimalarida inglizcha tarjima, II seriya, 29-jild (1963), 217–245-betlar.
  • Yuriy Gurevich (2000), Ketma-ket abstrakt holat mashinalari ketma-ket algoritmlarni suratga olish, Hisoblash mantig'idagi ACM operatsiyalari, jild. 1, yo'q. 1, (2000 yil iyul), 77–111 betlar. Gurevich bitta jumlada Schönhage [1980] "saqlashni o'zgartirish mashinalari" ni Knutning "ko'rsatgich mashinalari" bilan taqqoslaydi. Ko'proq ma'lumot olish uchun Gurevichga o'xshash "tasodifiy kirish mashinalari" kabi o'xshash modellar:
  • Yuriy Gurevich (1988), Kolmogorov mashinalari va tegishli masalalar to'g'risida, "Kompyuter fanidagi mantiq" ustuni, Nazariy kompyuter fanlari bo'yicha Evropa assotsiatsiyasi Axborotnomasi, 35-son, 1988 yil iyun, 71-82. Bu erda ishlatiladigan Shonhage va Kolmogorov-Uspenskii mashinalarining yagona tavsifini taqdim etdi.
  • Arnold Sönhage (1980), Saqlashni o'zgartirish mashinalari, Sanoat va amaliy matematika jamiyati, SIAM J. Comput. Vol. 9, № 3, 1980 yil avgust. Bu erda Shonhage o'zining SMM-ning "voris RAM" (Tasodifiy kirish mashinasi) va boshqalar bilan ekvivalentligini ko'rsatadi. U SMMni tanishtirgan oldingi maqolaga murojaat qiladi:
    • Arnold Sönhage (1970), Universelle Turing Speicherung, Automatentheorie und Formale Sprachen, Dörr, Hotz, nashrlar. Bibliogr. Institut, Mannheim, 1970, 69-38 betlar.
  • Piter van Emde Boas, Mashina modellari va simulyatsiyalar 3-6 bet, quyidagi ko'rinishda:
Yan van Leyven, tahrir. "Nazariy informatika qo'llanmasi. A jild: Algoritmlar va murakkablik, MIT PRESS / Elsevier, 1990 yil. ISBN  0-444-88071-2 (A jild). QA 76.H279 1990 yil.
van Emde Boasning SMMlarni davolashi 32-35 betlarda paydo bo'ladi. Ushbu davolash usuli Schönhage 1980-ga oydinlik kiritadi - u Schönhage davolashini diqqat bilan kuzatib boradi, ammo biroz kengaytiradi. Ikkala ma'lumot ham samarali tushunish uchun kerak bo'lishi mumkin.