Кіріспе

Деректерді сығыстыру техникаларында қолданылатын алгоритм. Burrows–Wheeler түрлендіруі (BWT, сондай-ақ блоктарды сұрыптау арқылы сығыстыру деп те аталады) символдар тізбегін ұқсас символдардың тізбектеріне реттейді. Бұл сығыстыру үшін пайдалы, себебі қайталанатын символдардың тізбектері бар тізбекті, мысалы, алға жылжыту түрлендіруі және тізбек ұзындығын кодтау сияқты әдістермен сығымдау оңай. Ең маңыздысы, түрлендіру кері қайтымды, алғашқы түпнұсқа символдың орнын сақтаудан басқа қосымша деректерді сақтау қажеттілігі туындамайды. Осылайша, BWT – мәтінді сығыстыру алгоритмдерінің тиімділігін арттырудың "тегін" әдісі болып табылады, ол тек қосымша есептеулерді қажет етеді. Burrows–Wheeler түрлендіруі bzip2 сияқты деректерді сығыстыру техникаларымен қолдану үшін деректерді дайындауға арналған алгоритм. Оны Майкл Берроуз бен Дэвид Уилер 1994 жылы, Берроуз Калифорния штатының Пало-Альто қаласындағы DEC Systems Research Center-де жұмыс істеген кезде ойлап тапты. Ол Уилердің 1983 жылы ашқан, бұрын жарияланбаған түрлендіруге негізделген. Алгоритм суффикс массивін пайдалану арқылы тиімді жүзеге асырылуы мүмкін, осылайша сызықтық уақыт күрделілігіне жетеді.

Оңтайландыру

Бірқатар оңтайландырулар осы алгоритмдерді шығысты өзгертпей, тиімдірек жұмыс істеуге мүмкіндік береді. Кестеді кодтаушыда немесе декодерде көрсетудің қажеті жоқ. Кодтаушыда кестедегі әрбір қатар тізбектерге бір ғана сілтеме арқылы көрсетілуі мүмкін, ал сұрыптау индекстерді пайдалану арқылы жүзеге асырылады. Декодерде кесте сақтаудың қажеті жоқ, тіпті сұрыптаудың да қажеті жоқ. Әліпби мөлшерімен және тізбек ұзындығымен пропорционалды уақытта кодталған тізбек оңнан солға қарай бір символдан құралуы мүмкін. Алгоритмдегі "символ" байт, бит немесе кез келген басқа да ыңғайлы өлшем болуы мүмкін. Сондай-ақ, математикалық тұрғыдан кодталған тізбекті жұрнақ массивінің қарапайым өзгертілген түрі ретінде есептеуге болады, ал жұрнақ массивтерін сызықтық уақыт пен жад көлемімен есептеуге болады. BWT мәтіннің SA жұрнақ массивіне қатысты T ретінде анықталуы мүмкін (1-ден басталатын индекстеу): Нақты 'EOF' символының болуы міндетті емес. Оның орнына, егер 'EOF' болғанда тізбекте қай жерде орналасатынын есте сақтайтын сілтеме қолданылуы мүмкін. Бұл тәсілде BWT нәтижесі түрлендірілген тізбекті және сілтеменің соңғы мәнін қамтуы керек. Кері түрлендіру оны бастапқы өлшемге дейін қысқартады: оған бір тізбек пен сілтеме беріледі және тек бір тізбек қайтарылады. Алгоритмдердің толық сипаттамасын Барроуз бен Уилердің мақаласында немесе көптеген онлайн көздерде табуға болады.

Динамикалық BurrowsWheeler түрлендіруі

Мәтін өңделген кезде, оның Бэрроуз–Уилер түрлендірісі өзгереді. Salson және авторлар редакцияланған мәтіннің Бэрроуз–Уилер түрлендірісін түпнұсқа мәтіннің түрлендірісінен шығаруға мүмкіндік беретін алгоритм ұсынады, осы арқылы түпнұсқа Бэрроуз–Уилер түрлендірісінде шектеулі көлемде жергілікті өзгерістер жасалады. Бұл, түзетілген мәтіннің Бэрроуз–Уилер түрлендірісін тікелей құруға қарағанда жылдам болуы мүмкін.

Суретті сығыстыру үшін BWT

Burrows-Wheeler түрлендіруі кескіндерді сығыстыру саласында өте маңызды болып табылды. Мысалы, Burrows-Wheeler түрлендіруін қолданғаннан кейін инверсия, жүгіру ұзындығы және арифметикалық кодтаушыларды қолданатын сығыстыру құбыржолы көрсетілді. Бұл жағдайда жасалған құбыр Burrows-Wheeler инверсиялық кодтаушысымен (BWIC) түрлендіру деп аталады. BWIC көрсеткен нәтижелер Lossless JPEG және JPEG 2000 сияқты жақсы белгілі және кеңінен қолданылатын алгоритмдерге қарағанда сығыстыру тиімділігін арттырады. BWIC радиографиялық медициналық кескіндердің соңғы сығымдалу өлшемі бойынша олардың рентгендік суреттерден тиісінше 5,1% және 4,1% артық екені көрсетілді. Осы жетістіктерге BWIC пен кескінді тік жылан тәрізді ретпен BWIC-ке дейін сканерлеуді біріктіру арқылы қол жеткізілді. Соңғы уақыттарда, басқа да жұмыстар, мысалы, Burrows-Wheeler түрлендіруін белгілі алға жылжу түрлендіруімен (MTF) бірге қолдану кескіндерді дерлік жоғалтпай сығыстауға мүмкіндік береді.

Геномдық деректер базаларын сығу үшін БТТ

Кокс және авторлар геномдық деректерді сығымдау схемасын ұсынды, онда BWT алгоритмі адам геномдық ақпараты сияқты бірнеше геномдық деректер жиынтығын сығымдаудың бірінші кезеңінде қолданылады. Олардың жұмысы BWT сығылымын «алдыңғысымен бірдей кодтау» (SAP) деп аталатын екінші деңгейлі сығымдау механизмін қосу арқылы күшейтуге болатынын көрсетті, бұл механизм екі немесе одан көп префикстік әріптердің соңы бірдей болуын пайдаланады. BWT SAP сығымдау механизмімен Кокс және авторлар ERA015743 геномдық деректер базасында (көлемі 135,5 ГБ) BWT SAP схемасы ERA015743 деректер жиынтығын шамамен 94%-ға дейін, 8,2 ГБ-қа дейін сығып беретінін көрсетті.

Кезекті болжау үшін BWT

BWT машиналық оқыту және табиғи тілді өңдеудегі кең таралған зерттеу саласы – реттілікті болжауда да тиімді екені дәлелденді. Атап айтқанда, Ktistakis және авторлар тобы Burrows-Wheeler түрлендіруінің деректерін жоғалтусыз қысу арқасында жұмыс істейтін SuBSeq деп аталатын реттілікті болжау схемасын ұсынды. SuBSeq BWT-ді FM индексін алу арқылы пайдаланады, содан кейін берілген қосымшаға сәйкес болжамдарды іздеу үшін «кері іздеу», «алға іздеу», «көршіні кеңейту» және «getConsequents» деп аталатын операциялар сериясын орындайды. Болжамдар салмақ бойынша жіктеледі және SuBSeq алгоритмінен ең жоғары салмақты элемент болжам ретінде беріледі. SuBSeq реттілікті болжау бойынша қолданылып жүрген алгоритмдерден оқу уақыты және дәлдігі тұрғысынан жоғары екені көрсетілді.