Кіріспе

Математикалық талдау және компьютерлік ғылымда Z-рет, Лебег қисығы, Мортон кеңістігін толтыру қисығы, Мортон реті немесе Мортон коды дерек нүктесінің жақын орналасуын сақтай отырып, көп өлшемді деректерді бір өлшемге бейнелейтін функциялар болып табылады. Ол Францияда 1904 жылы зерттеген Анри Лебегтің және АҚШ-та 1966 жылы файлдарды тізбектеуге алғаш рет қолданған Гай Макдональд Мортонның есімдерімен аталады. Көп өлшемді нүктенің z мәні оның координаттарының екілік өрнектерін бір-бірімен алмастыру арқылы есептеледі. Деректер осы рет бойынша сұрыпталғаннан кейін, қарапайым бір өлшемді массивтер, екілік іздеу ағаштары, B-ағаштар, өткізіп жіберу тізімдері немесе (маңызды емес биттері қиылып алынған) хэш-кестелер сияқты кез келген бір өлшемді дерек құрылымын қолдануға болады. Алынған рет, төрттік немесе сегіздік ағаштарды тереңдетіп аралау нәтижесінде алынған ретке баламалы түрде сипаттама беруге болады.

Аумақты іздеу үшін бір өлшемді дерек құрылымдарымен пайдалану

Биттерді бір-бірімен кезеңдестіру арқылы деректер базасының жазбалары биттердің (мүмкін өте ұзын) тізбегіне айналады. Биттік тізбектер бинарлық сандар ретінде түсіндіріледі және деректер кіріспеде айтылғандай, кез келген бір өлшемді дерек құрылымын пайдалана отырып, бинарлық мәндер бойынша сұрыпталады немесе индекстеледі. Дегенмен, осы деректерде көп өлшемді іздеу диапазоны бойынша сұрау жасағанда, екілік іздеу тиімді болмайды. Z реті жергіліктікті жақсы сақтайтын болса да, тиімді диапазондық іздеу үшін дерек құрылымында кездесетін нүктеден көп өлшемді іздеу диапазонындағы келесі мүмкін Z мәнін есептейтін алгоритм қажет: Бұл мысалда сұранылатын диапазон (x = 2, , 3, y = 2, , 6) нүктелі тіктөртбұрышпен көрсетілген. Оның ең жоғары Z мәні (MAX) 45-ке тең. Бұл мысалда, іздеу кезінде Z мәнін арттыру бағытында F = 19 мәні кездеседі, сондықтан F мен MAX арасындағы интервалда іздеу керек (жарық аймақ). Іздеуді жылдамдату үшін іздеу диапазонындағы келесі Z мәні есептеледі, ол BIGMIN (мысалда 36) деп аталады, және іздеу тек BIGMIN мен MAX арасындағы интервалда (қою мәндер) жүргізіледі, осылайша қалың сызылған аймақтың көп бөлігін өткізіп жібереді. Кеміту бағытында іздеу LITMAX-қа ұқсас, ол сұраныс диапазонында F-тен кіші ең жоғары Z мәнін білдіреді. BIGMIN мәселесі алғаш Tropf және Herzog еңбектерінде айтылып, оның шешімі көрсетілген. LITMAX/BIGMIN есептеу алгоритмінің толық түсіндірмесі, Паскаль тіліндегі бастапқы кодпен (3D, nD-ге оңай бейімделеді) және қозғалмалы нүктелік деректерді және мүмкін теріс деректерді қалай өңдеуге болатындығы туралы кеңестер Tropf 2021 жылы ұсынған. Мұнда биттерді кезеңдестіру тікелей жасалмайды; деректер құрылымында тек бастапқы (сұрыпталмаған) деректер базасының жазбаларына сілтемелер бар. Жалпы жазбаны салыстыру функциясы (z мәніне қатысты үлкен, кішкентай немесе тең) болғанда, компьютерлік сөз ұзындығынан асып кеткен биттік тізбектердің ұзындығына байланысты туындайтын қиындықтардан аулақ болады және кодты кез келген өлшемге және жазба кілт сөзінің ұзындығына оңай бейімдеуге болады. Бұл тәсіл таңдалған бір өлшемді дерек құрылымына тәуелді болмағандықтан, деректерді құрылымдаудың еркін таңдауы бар, сондықтан теңгерімді ағаштар сияқты белгілі әдістерді динамикалық деректерді өңдеу үшін қолдануға болады, ал енгізу немесе жою кезінде ағаштың тепе-теңдігін сақтау үшін O(log n) уақыт қажет. Бұл әдіс UB ағаштарында (теңгерімді) да қолданылады, BIGMIN үшін "GetNextZ мекенжайы" деген атаумен. Таңдаудың еркіндігі әдісті қолданыстағы деректер базасына енгізуді жеңілдетеді. Бұл, мысалы, ерекше ескертулерді қажет ететін R ағаштарынан өзгеше. Әдісті иерархиялық түрде (қолдағы деректер құрылымына сәйкес), мүмкіндігінше өсу және кему бағытында қолдану, коммерциялық және техникалық қолданбаларда маңызды болатын, мысалы, ең жақын көршілерді іздеу процедурасы ретінде жоғары тиімді көп өлшемді диапазондық іздеуді қамтамасыз етеді. Z реті коммерциялық деректер базасы жүйелеріне енген санаулы көп өлшемді кіру әдістерінің бірі болып табылады. Әдіс әртүрлі салалардағы әртүрлі техникалық қолданбаларда және коммерциялық деректер базасы жүйелерінде қолданылады. Көп бұрын, 1966 жылы Г. М. Мортон статикалық екі өлшемді географиялық деректер базасының файлдарын тізбектеу үшін Z ретін ұсынған. Аумақтық деректер бірліктері бір немесе бірнеше төртбұрыштық кадрларда орналасады, олардың өлшемдері және төменгі оң бұрыштағы Z мәндері, бұрыштағы орнында Z ретінің иерархиясына сәйкес келеді. Жоғары ықтималдықпен, жақын кадрға өту бір немесе бірнеше салыстырмалы түрде кіші сканерлеу қадамдарымен жүзеге асырылады.

Сызықтық алгебра

Матрицаларды көбейтуге арналған Страссен алгоритмі матрицаларды төрт блокқа бөлуге негізделген, содан кейін осы блоктардың әрқайсысын төрт кішірек блокқа рекурсивті түрде бөлу, блоктар жеке элементтерге дейін (немесе практикалық тұрғыдан алғанда: Moser–de Bruijn тізбегінің қарапайым алгоритмі жылдам болатынша) жеткенше, шағын матрицаларға дейін жалғасады. Матрица элементтерін Z тәртібімен орналастыру локальдылықты жақсартады және қатарлық немесе бағандық тәртіппен салыстырғанда қосымша артықшылыққа ие – екі блокты көбейтуге арналған кіші программаға матрицаның жалпы көлемін білудің қажеті жоқ, тек блоктардың көлемі мен жадтағы орналасуы ғана қажет. Z тәртібімен Страссен көбейтуін тиімді пайдалану көрсетілген, Valsalam және Skjellum-ның 2002 жылғы мақаласына қараңыз. Buluç және басқалар параллель матрица-вектор көбейтуді іске асыру үшін Z тәртібімен нөлдік емес элементтерін орналастыратын сирек матрицалық дерек құрылымын ұсынады. Сызықтық алгебрадағы матрицаларды кеңістікті толтыру қисығы арқылы да қарап шығуға болады. Дәстүрлі циклдар матрицаны қатар бойынша қарап шығады. Z қисығымен қарап шығу жад иерархиясына тиімді қол жеткізуге мүмкіндік береді.

Текстуралық карталау

Кейбір графикалық процессорлар текстуралық карталарды Z тәртібімен сақтайды, бұл текстураланған растерлеу кезінде сілтемелердің кеңістіктік жақындығын арттыруға мүмкіндік береді. Бұл кэш жолдарына тікбұрышты плиткаларды бейнелеуге және жақын жерлерге қол жеткізудің кэште болу ықтималдығын арттыруға мүмкіндік береді. Ірі масштабта, бұл SDRAM/DDRAM-дағы қымбат "беттік үзілістердің" (яғни, қатарларды ауыстыру құнының) ықтималдығын азайтады. Бұл маңызды, себебі 3D-көрсетуге кез келген түрлендірулер (айналу, масштабтау, перспектива және анимацияланған беттердің бұрмалануы) кіреді. Мұндай форматтар көбінесе "swizzled" немесе "twiddled" текстуралар деп аталады. Басқа плиткалық форматтар да қолданылуы мүмкін.

n-денелік проблема

Барнс-Хат алгоритміне октау құрылымы қажет. Деректерді меңзерлік ағаш ретінде сақтау октауды тереңдік бойынша бірінші кезекте аралау үшін көптеген тізбекті меңзерлік дереференциялауларды талап етеді (таратылған жадтағы машинада бұл қымбат операция). Оның орнына, деректерді октаулық хэштеуді пайдаланып хэш-кестеде сақтаса, Z-реттік қисық октауды табиғи түрде тереңдік бойынша бірінші кезекте аралайды.