Кіріспе

Компьютерлік ғылымда шексіз нондерминизм немесе шексіз белгісіздік – бір мезгілде орындалудың қасиеті, онда ортақ ресурстарға таласқанда төрешілік ету нәтижесінде сұрауды қызмет көрсетудегі кешігу мерзімі шексіз ұзарады, бірақ сұраудың әрі қарай қызмет көрсетілетініне кепілдік беріледі. Шексіз нондерминизм бір мезгілде орындалудың денотациялық семантикасын әзірлеуде маңызды мәселе болды және кейіннен гиперкомпутацияның теориялық тұжырымдамасын зерттеуге қатысты.

Әділдік

Шексіз нондерминистік талқылау көбінесе әділдік туралы талқылауға ұласады. Негізгі идея – барлық есептеу жолдары «әділ» болуы керек, яғни егер машина бір күйге шексіз рет кірсе, ол сол күйден барлық мүмкін өтулерді жүзеге асыруы тиіс. Бұл машинаның, мүмкіндігі болса, сұранысқа қызмет көрсетуіне кепілдік беруді талап етумен бірдей, себебі шексіз күйлер тізбегі тек қана сұранысқа қызмет ететін өту болмаса ғана рұқсат етіледі. Басқаша айтқанда, кез келген мүмкін өту шексіз есептеуде ерте не кеш орын алуы керек, бірақ бұл өтуге шексіз уақыт қажет болуы мүмкін. Бұл ұғымды «әділ» тиынды лақтырудың жергілікті әділдігінен ажырату керек, онда кез келген шекті қадамдар саны үшін нәтиже әрқашан сырт болуы мүмкін, бірақ қадамдар саны артқан сайын мұндай жағдай болу ықтималдығы төмендейді. Уильям Д. Клингер өзінің 1981 жылғы диссертациясында жолдарды біріктірудегі әділ немесе шексіз нондерминистіктің рөлін көрсеткен. Ол екі жолдың «әділ бірігісін» үшінші жол деп анықтады, онда әр жолдың әр символы ерте не кеш пайда болуы керек. Содан кейін ол екі жолдың барлық әділ бірігісінен тұратын жиынтықты қарастырды, оны монотонды функция деп есептеді. Ол содан кейін бос ағын қайда деп сұрады. Бұл элемент , демек, қайшылыққа әкеледі. Ол мынадай қорытынды жасады: әділ бірігісті ағындармен жұмыс істейтін нондерминистік деректер ағыны бағдарламасы ретінде жазу мүмкін емес.

Шексіз нондертимеризмді жүзеге асыру мүмкіндігі туралы

Эдсгер Дикстра шексіз белгісіздікпен жүйелерді іске асыру мүмкін емес екенін айтты. Осы себепті Тони Хоар "тиімді іске асыру оңды болуға ұмтылуы керек" деп ұсынды.

Детерминистік емес автоматтар

Детерминистік емес Тьюринг машиналары тек шекті детерминизмді ғана қамтиды. Сол сияқты, нондетерминизмнің жалғыз көзі ретінде сақталған командаларды қамтитын ретті бағдарламалар да тек шектелген нондетерминизмге ие. Қысқаша айтқанда, таңдау нондерминизмі шектеледі. Гордон Плоткин өзінің powerdomains туралы алғашқы еңбегінде мынадай дәлел келтірді:

Енді берілген нондетерминистік бағдарламаның орындалу тізбегінің бастапқы сегменттерінің жиынтығы, белгілі бір күйден басталып, ағаш құрайды. Ағаштың тармақталу нүктелері бағдарламадағы таңдау нүктелеріне сәйкес келеді. Әрбір таңдау нүктесінде әрқашан шекті ғана баламалар болғандықтан, ағаштың тармақталу факторы әрқашан шекті болады. Яғни, ағаш шекті. Кениг леммасы бойынша, егер шекті ағаштың кез келген тармағы шекті болса, онда ағаштың өзі де шекті болады. Осы жағдайда, егер бағдарламаның кез келген орындалу тізбегі аяқталса, онда тек шекті санда ғана орындалу тізбектері болады. Сондықтан, егер бағдарламаның шығыс жиынтығы шексіз болса, онда оның құрамында [аяқталмайтын есептеулер] болуы керек.

Шексіз нондертимеризм және есептеу мүмкін еместігі

Спаан және тағы басқалар шексіз детерминистік емес бағдарлама тоқтату мәселесін шеше алатынын айтты; олардың алгоритмі екі бөліктен тұрады, олар былай анықталған:

Бағдарламаның бірінші бөлігі екінші бөліктен натурал сан сұрайды; оны алғаннан кейін, ол берілген Тьюринг машинасы үшін осы санға дейін қадамдарды орындайды және машина тоқтаса қабылдайды немесе тоқтамаса қабылдамайды. Бағдарламаның екінші бөлігі сұраныс бойынша кездейсоқ натурал санды таңдайды. Сан 0-ге бастама берілген айнымалыда сақталады; содан кейін бағдарлама қайта-қайта айнымалыны арттыруды немесе сұранысты өңдеуді таңдайды. Әділдік талабы бойынша сұранысқа ақырында жауап берілуі керек, әйтпесе айнымалыны арттыру тармағы ғана таңдалатын шексіз цикл пайда болады. Егер машина тоқтаса, алгоритмнің қабылдайтын жолы болады. Егер машина тоқтамаса, бағдарламаның екінші бөлігі қандай сан берсе де, бұл алгоритм әрқашан қабылдамайды.

Шексіз нондетерминизммен күресу үшін дәлелдер

Клингер мен Карл Хьюит [Клингер 1981; ; ; ] шексіз нондетерминизм қасиетімен бірге есептеудің моделін (актор моделі деп аталады) жасады; бұл жоғарыда көрсетілгендей, Тьюринг машиналарымен іске асырылмайтын есептеулерді жүзеге асыруға мүмкіндік береді. Дегенмен, бұл зерттеушілер бір мезгілде есептеу моделін Черч, Клини, Тьюринг және т.б. анықтады (бір мезгілде есептеудегі белгісіздік туралы қараңыз). Хьюит өзінің шексіз нондетерминизмін арбитр деп аталатын есептеу тізбегінің қанша уақытқа дейін тоқтауына шектеу қою мүмкін емес деп түсіндірді (электроникадағы метастабильділік туралы қараңыз). Арбитрлер компьютерлерде компьютерлік сағаттардың сыртқы кіріспен, мысалы, пернетақтадан, дискіге қатынаудан, желіден және т.б. синхронды жұмыс істемейтін жағдайларды шешу үшін қолданылады. Сондықтан, компьютерге жіберілген хабарды алу үшін шексіз уақыт қажет болуы мүмкін, ал осы уақыт ішінде компьютер шексіз көп күйлерден өтуі мүмкін. Ол сондай-ақ электрондық поштаның шексіз нондетерминизмге мүмкіндік беретінін, себебі пошта жеткізілгенге дейін серверлерде шексіз уақыт сақталуы мүмкін, ал Интернеттегі серверлерге деректерді жеткізу арналары да шексіз уақытқа тоқтап қалуы мүмкін екенін айтты. Бұл шексіз нондетерминизм туралы пікір қақтығысына әкеп соқты.

Хьюиттің әділдік туралы талдауы

Хьюит әділдік мәселелерінің жаһандық күй тұрғысынан туындайтынын айтты. Есептеудің ең ерте модельдері (мысалы, Тьюринг машиналары, Пост өндірістері, лямбда-есептеу және т.б.) есептеу қадамын көрсету үшін жаһандық күйді пайдаланатын математикаға негізделген. Әрбір есептеу қадамы – есептеудің бір жаһандық күйінен келесі жаһандық күйге өту. Жаһандық күйге қатысты тәсіл автоматтар теориясында шекті күй машиналары және олардың нондетерминистік нұсқаларын, сондай-ақ стек машиналарын төмен қарай итеру үшін де қолданылды. Бұл модельдердің барлығы шектелген нондетерминизм қасиетіне ие: егер машина бастапқы күйде іске қосылғанда әрқашан тоқтаса, онда тоқтатылатын күйлер саны шектеулі болады. Хьюиттің пікірінше, оның Актер моделінің жаһандық күй нондетерминизміндегі таңдау мен келу ретінің (нондетерминизм) арасындағы маңызды айырмашылық бар. Жаһандық күй нондетерминизмінде "келесі" жаһандық күй үшін "таңдау" жасалады. Келу ретінің белгісіздігінде, төрелік жергілікті түрде әрбір келу ретін шексіз уақыт ішінде шешеді. Жергілікті төрелік жүріп жатқанда, басқа жерде шексіз әрекеттер орын алуы мүмкін. Жаһандық күй болмайды, сондықтан "келесі" жаһандық күй туралы "таңдау" жасалмайды.