Тізімді декодтау - List decoding

Жылы кодтау теориясы, тізімді декодтау бірегей декодтауға балама болып табылады қателерді түзететін кодтар үлкен қателіктер үшін. Ұсынысты ұсынған Ілияс 1950 жылдары. Тізімді декодтаудың негізгі идеясы - бұл кодтау алгоритмі мүмкін болатын бір хабарламаны шығарудың орнына олардың біреуінің дұрыс болатын мүмкіндіктер тізімін шығарады. Бұл бірегей декодтауға мүмкіндік бергеннен гөрі көп қателіктермен жұмыс істеуге мүмкіндік береді.

Декодтаудың бірегей моделі кодтау теориясы, алынған сөзден бір дұрыс кодты сөз шығаруға тыйым салынған, қателіктердің үлкен бөлігіне жол бере алмады. Бұл қателерді түзету өнімділігі арасындағы алшақтыққа әкелді стохастикалық шу модельдері (ұсынған Шеннон ) және қарсыластық шу моделі (қарастырған Ричард Хэмминг ). 90-жылдардың ортасынан бастап кодтау теориясы қауымдастығының маңызды алгоритмдік прогресі бұл алшақтықты жойды. Бұл прогресстің көп бөлігі тізімнің декодтауы деп аталатын қателерді түзетудің босаңсытылған моделіне негізделген, онда декодер патологиялық қателіктердің ең жаман жағдайлары үшін кодтық сөздердің тізімін шығарады, онда нақты берілген кодтық сөз шығыс тізіміне енгізілген. Әдетте қателіктер болған жағдайда, дешифратор алынған сөзді бере отырып, бірегей кодты сөз шығарады, бұл әрдайым дерлік кездеседі (Алайда, бұл барлық кодтарға сәйкес келетіні белгісіз). Мұндағы жақсарту қателерді түзету өнімділігі екі есеге артуымен маңызды. Себебі, қазір декодер минималды арақашықтықтың тосқауылымен шектелмейді. Бұл модель өте тартымды, өйткені кодты сөздердің тізімі тек бас тартудан гөрі жақсы. Тізімді декодтау ұғымында көптеген қызықты қосымшалар бар күрделілік теориясы.

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

  • Шеннон зерттеген ықтималдық шу моделі, онда арнаның шуы дәл арнаның ықтимал мінез-құлқы белгілі және өте көп немесе аз қателіктердің пайда болу ықтималдығы төмен деңгейде модельденеді.
  • Нашар немесе қарсылас шудың моделі Хэммингте қарастырылған, бұл канал қателіктердің жалпы санына байланысты кодтық сөзді ерікті түрде бүлдіретін қарсылас ретінде әрекет етеді.

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

Математикалық тұжырымдау

Келіңіздер болуы а қатені түзететін код; басқа сөздермен айтқанда, бұл ұзындық коды , өлшем және минималды арақашықтық алфавит арқылы өлшемі . Тізімді декодтау мәселесі енді келесідей тұжырымдалуы мүмкін:

Кіріс: Алынған сөз , қатеге байланысты

Шығарылым: Барлық кодты сөздердің тізімі кімдікі қашықтықты соғу бастап ең көп дегенде .

Тізімді декодтауға арналған мотивация

Алынған сөз , бұл кейбір берілген кодтық сөздердің шулы нұсқасы , дешифратор қабылданған сөзге «жақын» кодтық сөзге ставка қойып, берілген кодтық сөзді шығаруға тырысады. Екі кодты сөздің арасындағы Хэмминг қашықтығы декодердің қабылдаған сөзін ескере отырып, жақын кодтық сөзді табуда метрика ретінде қолданылады. Егер кодтың минималды Hamming қашықтығы , содан кейін екі кодты сөз бар және дәл ерекшеленеді позициялар. Енді алынған жағдайда кодтық сөздерден бірдей қашықтықта орналасқан және , бірмәнді декодтау мүмкін болмайды, өйткені декодер қайсысы екенін шеше алмайды және бастапқы кодталған сөз ретінде шығару үшін. Нәтижесінде, минималды қашықтықтың жартысы комбинаторлық тосқауыл рөлін атқарады, егер одан біржақты қателерді түзету мүмкін болмаса, егер біз тек бірегей декодтауды талап етсек. Деген сияқты сөздер алды Жоғарыда қарастырылған жағдай ең нашар жағдайда болады және егер Hamming доптарының қателіктер үшін де үлкен өлшемді кеңістікке оралуын қарастырсақ минималды арақашықтықтың жартысынан асып кетсе, тек бір ғана код сөзі бар Hamming арақашықтықта алынған сөзден. Бұл талап табиғи ансамбльден алынған кездейсоқ код үшін үлкен ықтималдықпен және одан да көп жағдайда көрсетілген. Рид-Сүлеймен кодтары ол жақсы зерттелген және нақты әлемде кең таралған. Шын мәнінде, Шеннонның сыйымдылық теоремасын дәлелдеуі q-ary симметриялы каналдарын кездейсоқ кодтар үшін жоғарыда келтірілген талап негізінде қарастыруға болады.

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

Тізімді декодтау әлеуеті

Декодтаудың полиномдық уақыт алгоритмі болу үшін бізге радиустың кез келген Хэмминг шарының комбинаторлық кепілдігі қажет. алынған сөздің айналасында (қайда - блок ұзындығы бойынша қателіктердің үлесі ) кодтық сөздердің саны аз. Бұл тізім өлшемінің өзі алгоритмнің жұмыс істеу уақытының төменгі шекарасы екендігі анық. Демек, біз тізім өлшемін блоктың ұзындығында көпмүшелік болуын талап етеміз код. Бұл талаптың комбинаторлық нәтижесі оның код жылдамдығына жоғарғы шек қоюы болып табылады. Декодтаудың тізімін осы жоғары деңгейге сәйкес келтіруге болады. Ставка коды конструктивті емес түрде көрсетілген жақындаған қателіктердің үлесіне дейін декодтауға болатын тізім бар . Саны әдебиетте тізімді декодтау қабілеті деп аталады. Бұл декодтаудың бірегей моделімен салыстырғанда айтарлықтай пайда, өйткені қазір екі есе көп қателерді түзетуге мүмкіндігіміз бар. Әрине, бізде кем дегенде бөлшек болу керек хабарламаны қалпына келтіру үшін берілген символдардың дұрыс болуы. Бұл декодтауды және тізімді декодтауды орындау үшін қажетті дұрыс таңбалар санының төменгі ақпараттық-теориялық шекарасы, біз бұл ақпараттық-теоретикалық шекті деңгейге жетуіміз мүмкін. Алайда, бұл әлеуетті іске асыру үшін бізге нақты кодтар (көпмүшелік уақытта құруға болатын кодтар) және кодтау мен декодтауды жүзеге асырудың тиімді алгоритмдері қажет.

(б, L) - тізімнің декодталуы

Кез-келген қателік фракциясы үшін және бүтін сан , код бөлшекке дейін декодталатын тізім деп аталады тізім мөлшері бойынша қателіктер немесе - егер әрқайсысы үшін тізім-декодталатын болса , кодты сөздер саны Hamming арақашықтықта бастап ең көп дегенде

Тізімді декодтаудың комбинаторикасы

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

Тізімді декодтау мүмкіндігі

Теорема (тізімді декодтау мүмкіндігі). Келіңіздер және Келесі екі тұжырым блоктың үлкен ұзындығына сәйкес келеді .
и) егер , онда бар а - декодталатын код тізімі.
ii) егер , содан кейін әрқайсысы -Декодталатын код бар .
Қайда
болып табылады үшін анықталған -ary энтропия функциясы және жалғасу ұзартылды

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

Тізімнің декодтау қабілеттілігінің дәлелі а-ның сыйымдылығымен дәл сәйкес келетіндігімен маңызды -аримметриялық канал . Іс жүзінде, «тізімнің декодтау мүмкіндігі» термині іс жүзінде тізімнің декодталуы кезіндегі қарсылас арнаның сыйымдылығы ретінде оқылуы керек. Сондай-ақ, тізімнің декодтау қабілеттілігінің дәлелі кодтың жылдамдығы мен тізімнің декодтау кезінде түзетуге болатын қателіктердің үлесі арасындағы оңтайлы теңгерімді көрсететін маңызды нәтиже болып табылады.

Дәлелдеу эскизі

Дәлелдің негізіндегі идея Шеннонның қабілеттіліктің дәлелі сияқты екілік симметриялы канал онда кездейсоқ код таңдалады және оның бар екенін көрсетеді - жылдамдық болғанша, жоғары ықтималдықпен тізім-декодталатын Жоғарыда көрсетілген мөлшерден асатын ставкалар үшін тізім өлшемін көрсетуге болады үлкен полиномдық үлкенге айналады.

«Жаман» оқиға ретінде алынған сөз берілген оқиға ретінде анықталады және хабарламалар бұл солай болады , әрқайсысы үшін қайда - бұл біз жөндегіміз келетін қателіктердің бөлігі радиустың Хамминг шары алынған сөзбен орталық ретінде.

Енді, сөздің ықтималдығы бекітілген хабарламамен байланысты Хамминг допында жатыр арқылы беріледі

саны қайда радиусы Хэмминг шарының көлемі алынған сөзбен орталық ретінде. Жоғарыдағы қатынастағы теңсіздік Хамминг шарының көлемінің жоғарғы шекарасынан шығады. Саны радиусы Хэмминг шарының көлеміне өте жақсы баға береді кез келген сөзге негізделген Басқаша айтқанда, Хэмминг шарының көлемі аударма инвариантты. Дәлелді эскизді жалғастыру үшін, біз одақ байланысты ықтималдықтар теориясында, бұл берілген оқиға үшін жаман оқиғаның болу ықтималдығы туралы айтады мөлшерімен шектелген .

Жоғарыда айтылғандарды ескере отырып, «кез-келген» жаман оқиғаның болу ықтималдығы төмен екенін көрсетуге болады . Мұны көрсету үшін біз барлық мүмкін қабылданған сөздердің үстінен жұмыс жасаймыз және кез-келген мүмкін жиынтығы хабарламалар

Енді (іі) бөлігінің дәлелдеуіне жүгінсек, біз айналасында супер-полиномдық көп кодтық сөздер бар екенін көрсетуіміз керек ставка декодтау қабілеттілігінен асқанда. Біз мұны көрсетуіміз керек егер жылдамдық болса, өте көпмүшелік үлкен . Код сөзін түзетіңіз . Енді әрқайсысы үшін кездейсоқ таңдалған, бізде бар

өйткені Хамминг шарлары аударма инвариантты болып табылады. Хэмминг шарының көлемін анықтаудан және бұл кездейсоқ түрде біркелкі таңдалады бізде де бар

Енді индикатор айнымалысын анықтайық осындай

Бізде Хамминг допының көлемін күту

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

Тізімді декодтау алгоритмдері

1995 - 2007 жылдар аралығында кодтау теориясы қоғамдастығы біртіндеп анағұрлым тиімді тізімді декодтау алгоритмдерін жасады. Үшін алгоритмдер Рид-Сүлеймен кодтары Джонсон радиусына дейін декодтауға болады қайда бар бұл нормаланған қашықтық немесе салыстырмалы қашықтық. Алайда, Рид-Сүлеймен кодтары үшін, бұл бөлшек дегенді білдіреді қателерді түзетуге болады. Тізімді декодтаудың ең көрнекті алгоритмдерінің кейбіреулері:

  • Судан '95 - Рид-Соломон кодтарының тізімін декодтаудың тривиальды емес алғашқы алгоритмі, ол тізімді тиімді декодтауға дейін қол жеткізді. қателер Мадху Судан.
  • Гурусвами - Судан '98 - Рид-Сүлеймен кодтарының тізімін декодтаудың жоғарыда көрсетілген алгоритмін жетілдіру Маду Суданның және оның сол кездегі докторантының қателіктері Венкатесан Гурусвами.
  • Parvaresh – Vardy '05 - серпінді мақалада Фарзад Парвареш және Александр Варди тізімнен тыс декодтауға болатын кодтар ұсынылды төмен ставкалар үшін радиус . Олардың кодтары - Рид-Соломон кодтарының нұсқалары, олар бағалау арқылы алынады жайдың орнына корреляцияланған көпмүшелер әдеттегі Рид-Соломон кодтарындағы сияқты.
  • Гурусвами-Рудра '06 - тағы бір жаңалық, Венкатесан Гурусвами және Атри Рудра тізімді декодтау мүмкіндігіне қол жеткізетін нақты кодтарды беріңіз, яғни оларды радиусқа дейін декодтауға болатын тізімді беруге болады кез келген үшін . Басқаша айтқанда, бұл оңтайлы қысқартумен қатені түзету. Бұл шамамен 50 жыл бойы ашық болған сұраққа жауап берді. Бұл жұмыс ACM коммуникациясының ғылыми-зерттеу бөлімдеріне шақырылды (бұл «соңғы жылдары Информатикада жарияланған ең маңызды зерттеу нәтижелеріне арналған») және «Кодтау және есептеу күштерін біріктіру» атты мақаласында айтылды. Science журналының 2007 жылғы 21 қыркүйектегі санында. Олар берілген кодтар деп аталады бүктелген Рид-Сүлеймен кодтары олар қарапайым Рид-Сүлеймен кодтарынан басқа ештеңе емес, бірақ кодты сөздік белгілерді мұқият біріктіру арқылы үлкенірек алфавиттің коды ретінде қарастырылады.

Рид-Соломон кодтарының тізбегін декодтау алгоритмдері олардың кең таралғандығына және оларда жақсы алгебралық қасиеттерге ие болғандықтан зерттеушілердің басты назарында болды. Рид-Сүлеймен кодтарының тізімін декодтау мәселесі келесідей тұжырымдалуы мүмкін:

Кіріс: Үшін Рид-Сүлеймен коды, бізге жұп беріледі үшін , қайда болып табылады алынған сөздің және Бұл шектеулі өрістегі нақты нүктелер және қате параметрі .

Шығу: Мақсат - барлық көпмүшелерді табу дәрежесі бұл хабарламаның ұзындығы ең болмағанда мәндері . Міне, біз алғымыз келеді қателіктердің көп болуына жол беру үшін мүмкіндігінше аз.

Жоғарыда келтірілген тұжырыммен Рид-Соломон кодтарының тізімін декодтау алгоритмдерінің жалпы құрылымы келесідей:

1-қадам: (Интерполяция) Нөлдік емес екі мәнді көпмүшені табыңыз осындай үшін .

2-қадам: (Түбірлерді табу / факторизациялау) барлық деңгей көпмүшелер осындай факторы болып табылады яғни . Осы көпмүшелердің әрқайсысы үшін егер болса, тексеріңіз ең болмағанда мәндері . Олай болса, осындай көпмүшені қосыңыз шығыс тізімінде.

Екімүшелі көпмүшелерді тиімді түрде есепке алуға болатындығын ескере отырып, жоғарыда аталған алгоритм көпмүшелік уақытта жұмыс істейді.

Күрделілік теориясында және криптографияда қолдану

Бірнеше қызықты кодтар тобының тізімін декодтауға арналған алгоритмдер қызықты қосымшалар тапты есептеу күрделілігі және өрісі криптография. Төменде кодтау теориясынан тыс қосымшалардың үлгі тізімі келтірілген:

Сыртқы сілтемелер