Кіріспе

Домен теориясы – математиканың домендер деп аталатын, ішінара реттелген жиынтықтарды (посеттерді) зерттейтін саласы. Осылайша, домен теориясын тәртіп теориясының бір саласы деп қарастыруға болады. Бұл сала компьютерлік ғылымда маңызды қолданысқа ие, әсіресе функционалдық бағдарламалау тілдері үшін денотациялық семантиканы анықтауда қолданылады. Домен теориясы шамалау және жинақталу туралы интуитивті ұғымдарды өте жалпы түрде формалдайды және топологиямен тығыз байланысты.

Мотивация және интуиция

1960 жылдардың аяғында Дана Скотт бастаған домендерді зерттеудің негізгі себебі – Ламбда-есептеудің денотациялық семантикасын табу еді. Бұл формализмде тілдің белгілі бір терминдерімен анықталған «функциялар» қарастырылады. Таза синтаксистік тұрғыдан алғанда, қарапайым функциялардан басқа функцияларды кіріс аргументтері ретінде қабылдайтын функцияларға көшуге болады. Осы формализмде қолданылатын синтаксистік түрлендірулерді пайдаланып, тұрақты нүктелік комбинаторларды (олардың ең танымалмысы – Y комбинаторы) алуға болады; олар, анықтама бойынша, барлық f функциялары үшін f(Y(f)) = Y(f) қасиетіне ие. Мұндай денотациялық семантиканы құру үшін, біріншіден, әрбір Ламбда-терминіне нақты (толық) функцияны сәйкес қоятын Ламбда-есептеу үшін модель құруға тырысуға болады. Мұндай модель Ламбда-есептеуді таза синтаксистік жүйе ретінде және нақты математикалық функцияларды манипуляциялауға арналған нотациялық жүйе ретінде Ламбда-есептеу арасындағы байланысты формалдайды. Комбинаторлық есептеу – осындай модель. Дегенмен, комбинаторлық есептеу элементтері функциялардан функцияларға функция болып табылады. Ламбда-есептеу моделінің элементтері кез келген домен мен мәндер жиынына ие болуы үшін, олар нақты функция емес, тек ішінара функция болуы мүмкін. Скотт бұл қиындықтан шығу үшін әлі нәтиже бермеген есептеулерді көрсету үшін «ішінара» немесе «толық емес» ақпарат ұғымын формалдады. Бұл, әрбір есептеу домені үшін (мысалы, натурал сандар үшін) анықталмаған нәтижені білдіретін қосымша элементті қарастыру арқылы модельделді, яғни ешқашан аяқталмайтын есептеудің «нәтижесін». Сонымен қатар, есептеу домені реттік қатынаспен жабдықталған, онда «анықталмаған нәтиже» ең кіші элемент болып табылады. Ламбда-есептеу үшін модель табудың маңызды қадамы – тек осындай ішінара реттелген жиынтадағы функцияларды қарастыру, олардың ең кіші тұрақты нүктелерінің бар екендігіне кепілдік беріледі. Бұл функциялар жиынтығы, тиісті ретпен бірге, теориялық мағынада «домен» болып табылады. Бірақ барлық қолданылатын функциялардың ішкі жиынына шектеудің тағы бір үлкен артықшылығы бар: өздерінің функциялық кеңістіктерін қамтитын домендерді алуға болады, яғни өздеріне қолданылатын функцияларды алуға болады. Осы қалаулы қасиеттерден басқа, домендер теориясы тартымды интуитивті түсіндіруге мүмкіндік береді. Жоғарыда айтылғандай, есептеу домендері әрқашан ішінара реттелген. Бұл рет ақпараттың немесе білімнің иерархиясын көрсетеді. Элемент рет бойынша неғұрлым жоғары болса, соғұрлым нақты және оның құрамында неғұрлым көп ақпарат болады. Төменгі элементтер толық емес білімді немесе аралық нәтижелерді көрсетеді. Есептеу нәтижесіне түзету үшін домен элементтеріне монотонды функцияларды қайта-қайта қолдану арқылы модельделеді. Тұрақты нүктеге жету есептеуді аяқтаумен тең. Домендер осы идеялар үшін жақсы жағдай жасайды, өйткені монотонды функциялардың тұрақты нүктелерінің бар екендігіне кепілдік беріледі және қосымша шектеулер бойынша төменнен жуықтауға болады.

Ресми анықтамалар туралы нұсқаулық

Бұл бөлімде домен теориясының негізгі ұғымдары мен анықтамалары енгізіледі. Домендердің ақпараттық реттелгендік принципі жоғарыда айтылғандай, теорияның математикалық формализациясын түсіндіру үшін ерекше атап көрсетіледі. Нақты формальды анықтамаларды әр ұғымға арналған жеке мақалаларда табуға болады. Домендік теориялық ұғымдарды да қамтитын жалпы теориялық анықтамалар тізімін теория бойынша анықтамалықтан табуға болады. Дегенмен, домен теориясының ең маңызды ұғымдары төменде ұсынылады.

Бағытталған жиынтықтар конвергентті спецификациялар ретінде

Жоғарыда айтылғандай, домен теориясы есептеу доменін модельдеу үшін ішінара реттелген жиынтықтарды зерттейді. Мақсаты – мұндай реттің элементтерін ақпараттың бөліктері немесе есептеудің (ішінара) нәтижелері ретінде қарастыру, онда реттің жоғарырақ элементтері төмендегі элементтердің ақпаратын дәйекті түрде кеңейтеді. Осы қарапайым түсінік-ден, домендердің көбінесе ең үлкен элементі болмайтыны анық, себебі бұл басқа барлық элементтердің ақпаратын қамтитын элемент бар екенін білдіретін болар еді – бұл аса қызықты жағдай емес. Теорияда маңызды рөл атқаратын түсінік – доменнің бағытталған ішкі жиынтығы; бағытталған ішкі жиынтық – кез келген екі элементінің жоғарғы шегі осы ішкі жиынтықтың элементі болатын реттің бос емес ішкі жиынтығы. Домендер туралы біздің түсінігімізге сәйкес, бұл бағытталған ішкі жиынтықтағы кез келген екі ақпарат бөлігі ішкі жиынтықтағы басқа элементтермен дәйекті түрде кеңейтіледі дегенді білдіреді. Сондықтан біз бағытталған ішкі жиынтықты дәйекті сипаттама ретінде, яғни екі элементі қарама-қайшы келмейтін ішінара нәтижелер жиынтығы ретінде қарастыра аламыз. Бұл түсіндіруді талдаудағы жинақты тізбек түсінігімен салыстыруға болады, онда әрбір элемент алдыңғысына қарағанда нақтырақ болады. Шындығында, метрикалық кеңістіктер теориясында тізбектер домен теориясындағы бағытталған жиынтықтардың рөліне ұқсас көптеген жағдайларда рөл атқарады. Енді, тізбектердегідей, біз бағытталған жиынның лимитіне қызығушылық танытамыз. Жоғарыда айтылғандарға сәйкес, бұл бағытталған жиынның барлық элементтерінің ақпаратын кеңейтетін ең жалпы ақпарат бөлігі, яғни бағытталған жиынның ақпаратын дәл қамтитын бірегей элемент және басқа ештеңе жоқ. Реттік теорияның формалдауында, бұл бағытталған жиынның ең төменгі жоғарғы шегі. Тізбек лимитінің жағдайындағыдай, бағытталған жиынның ең төменгі жоғарғы шегі әрқашан бола бермейді. Әрине, есептеулердің барлық дәйекті сипаттамалары жинақталатын, яғни барлық бағытталған жиынтықтардың ең төменгі жоғарғы шегі бар реттерге ерекше қызығушылық бар. Бұл қасиет бағытталған толық ішінара реттердің немесе қысқаша dcpo класын анықтайды. Шындығында, домен теориясының көптеген қарастырулары кем дегенде толық бағытталған реттерді ғана қарастырады. Ішінара көрсетілген нәтижелердің толық емес білімді білдіретін негізгі идеясынан тағы бір қалаулы қасиет туындайды: ең кішкентай элементтің болуы. Мұндай элемент ақпараттың жоқтығын – көптеген есептеулер басталатын жағдайды моделідейді. Оны ешқандай нәтиже бермейтін есептеудің нәтижесі деп те қарастыруға болады.

Есептеулер мен домендер

Енді есептеу доменінің қандай болуы керектігінің негізгі формальды сипаттамаларын білген соң, біз есептеулердің өзіне көше аламыз. Әрине, бұл функциялар болуы керек, белгілі бір есептеу доменінен кіріс алып, кейбір (мүмкін, басқа) доменде шығыстарды қайтарады. Алайда, кіріс деректерінің ақпараттық мазмұны артқанда функцияның шығысында көбірек ақпарат болады деп күтуге болады. Формальды түрде, бұл функцияның монотонды болуын білдіреді. DCpos-тармен жұмыс істегенде, есептеулер бағытталған жиынның лимиттерін құрумен үйлесімді болуы да қажет. Формальды түрде, бұл дегеніміз, кейбір f функциясы үшін, D бағытталған жиынының f(D) суреті (яғни D-нің әрбір элементінің суреттері жиынтығы) қайтадан бағытталған және D-нің ең төменгі жоғарғы шегінің суреті ретінде ең төменгі жоғарғы шегіне ие болады. Сондай-ақ, f бағытталған жоғарылықты сақтайды деуге болады. Екі элементтен тұратын бағытталған жиындарды қарастыра отырып, мұндай функция да монотонды болуы керек екенін ескеру қажет. Бұл қасиеттер Скотт үздіксіз функциясы түсінігіне әкеледі. Бұл көбінесе екіұшты болмағандықтан, үздіксіз функциялар туралы да айтуға болады.

Жақындату және шектілік

Домендік теория – ақпараттық күйлердің құрылымын модельдеуге бағытталған толығымен сапалық тәсіл. Бір нәрседе көбірек ақпарат бар екенін айтуға болады, бірақ қосымша ақпараттың мөлшері нақты көрсетілмейді. Дегенмен, кейбір жағдайларда белгілі бір ақпараттық күйден әлдеқайда қарапайым (немесе толық емес) элементтер туралы айтқыңыз келеді. Мысалы, кейбір жиынтықтардың қуатындағы кіші жиынды қосу тәртібі бойынша, кез келген шексіз элемент (яғни жиын) өзінің кез келген шекті кіші жиынынан әлдеқайда "көп ақпаратты". Егер мұндай қатынасты модельдеу қажет болса, доменнің индукцияланған қатаң тәртібін < қарастыруға болады. Бірақ, бұл толық тәртіптер үшін пайдалы болғанымен, жартылай тәртіптелген жиындар үшін көп мәлімет бермейді. Жинақтардың кіріктіру тәртібін қайта қарастыратын болсақ, жинақ бір элементі кем болса, басқа, мүмкін шексіз жинақтан қатаң түрде кіші болады. Алайда, мұның "әлдеқайда қарапайым" деген ұғымды толыққанды бейнелейтініне келісу қиын.

Домендер негіздері

Алдыңғы ойлар тағы бір сұрақ тудырады: бір доменнің барлық элементтерін қарапайым элементтердің лиміті ретінде алуға кепілдік беру мүмкін бе? Бұл практикада өте маңызды, себебі біз шексіз объектілерді есептей алмаймыз, бірақ оларды кез келген дәлдікпен жуықтауға үміттенеміз. Жалпы алғанда, барлық басқа элементтерді жоғарғы шектер ретінде алу үшін жеткілікті элементтердің белгілі бір жиынтығымен шектелуге тырысамыз. Сондықтан, P иерархиялық жиынның негізі деп P жиынының B ішкі жиынын айтады, яғни P-дегі әрбір x үшін B-дегі x-тен қатаң төмен элементтер жиыны x-тің жоғарғы шегі бар бағытталған жиынтықты қамтиды. Егер P жиыны негізге ие болса, онда ол үздіксіз жиынтық болып табылады. Әсіресе, P өзі осы жағдайда негіз болып табылады. Көптеген қолданбаларда зерттеудің негізгі нысаны ретінде үздіксіз (d)cpos жиындары қарастырылады. Соңында, жартылай реттелген жиынға қатысты одан да күшті шектеу – шекті элементтердің негізі болуын талап ету болып табылады. Мұндай жиын алгебралық деп аталады. Денотациялық семантика тұрғысынан алгебралық жиындар ерекше жақсы қасиеттерге ие, себебі олар шекті элементтерге шектеу кезінде де барлық элементтерді жуықтауға мүмкіндік береді. Бұрын айтқанымыздай, әр шекті элемент классикалық мағынада "шекті" болуы міндетті емес және шекті элементтер санаусыз жиынды құрауы мүмкін. Алайда, кейбір жағдайларда жиынның негізі саналады. Бұл жағдайда ω-үздіксіз жиын туралы айтылады. Сәйкесінше, егер саналатын негіз толығымен шекті элементтерден тұрса, онда біз ω-алгебралық рет аламыз.

Домендердің ерекше түрлері

Доменнің қарапайым ерекше жағдайы элементар немесе жазық домен деп аталады. Ол бүтін сандар сияқты салыстыруға келмейтін элементтер жиынтығынан және басқа барлық элементтерден кіші саналатын бір "ең төменгі" элементтен тұрады. "Домен" ретінде қолданылуы мүмкін қызықты арнайы реттелген құрылымдардың бірнеше кластарын алуға болады. Біз бұрын жалғамалы және алгебралық позиттер туралы айтқан болатынбыз. Олардың ерекше түрлері – үздіксіз және алгебралық cpos. Одан да толықтық қасиеттерін қосу арқылы үздіксіз торлар мен алгебралық торлар пайда болады, олар тиісті қасиеттері бар толық торлар болып табылады. Алгебралық жағдайда, зерттеуге тұрарлық позиттердің одан да кең кластары бар: тарихи тұрғыдан алғанда, Скотт домендері домен теориясында зерттелген алғашқы құрылымдар еді. Домендердің одан да кең кластарын SFP домендері, L домендері және бітеңгелі домендер құрайды. Осы тәртіптердің барлық кластарын әртүрлі категорияларға жіктеуге болады – dcpos, монотонды, Скотт үздіксіз немесе тіпті маманданған функцияларды морфизмдер ретінде пайдалана отырып. Ақырында, "домен" терминінің өзі нақты емес екенін және сондықтан бұл термин ресми анықтамасы бұрын берілген немесе егжей-тегжейлі мәліметтер маңызды болмаған жағдайларда ғана қолданылатынын ескеру қажет.