Dekódování seznamu - List decoding

V počítačové vědě , zejména v teorii kódování , je dekódování seznamu alternativou k jedinečnému dekódování kódů opravujících chyby pro velké míry chyb. Pojem navrhl Elias v 50. letech. Hlavní myšlenkou dekódování seznamu je, že dekódovací algoritmus namísto výstupu jediné možné zprávy vydá seznam možností, z nichž jedna je správná. To umožňuje zpracování většího počtu chyb, než kolik umožňuje jedinečné dekódování.

Unikátní model dekódování v teorii kódování , který je omezen na výstup jediného platného kódového slova z přijatého slova, nemohl tolerovat větší zlomek chyb. To mělo za následek rozdíl mezi výkonem korekce chyb u stochastických hlukových modelů (navržený Shannonem ) a kontradiktorním hlukovým modelem (uvažovaným Richardem Hammingem ). Od poloviny 90. let tuto mezeru překlenul významný algoritmický pokrok komunity kódovací teorie. Velká část tohoto pokroku je založena na uvolněném modelu korekce chyb, který se nazývá dekódování seznamu, přičemž dekodér vydává seznam kódových slov pro patologické chybové vzory v nejhorším případě, kde je ve vysílaném seznamu zahrnuto skutečné přenášené kódové slovo. V případě typických chybových vzorů však dekodér vydá jedinečné jediné kódové slovo dané přijatému slovu, což je téměř vždy případ (Není však známo, že to platí pro všechny kódy). Zlepšení je zde významné v tom, že se výkon opravy chyb zdvojnásobí. Důvodem je to, že dekodér nyní není omezen bariérou poloviční minimální vzdálenosti. Tento model je velmi lákavý, protože mít seznam kódových slov je určitě lepší než jen vzdát se. Pojem dekódování seznamu má mnoho zajímavých aplikací v teorii složitosti .

Způsob modelování šumu kanálu hraje klíčovou roli v tom, že určuje rychlost, jakou je možná spolehlivá komunikace. Při modelování chování kanálu existují dvě hlavní myšlenkové směry:

  • Pravděpodobnostní šumový model studovaný Shannonem, ve kterém je hluk kanálu modelován přesně v tom smyslu, že pravděpodobnostní chování kanálu je dobře známé a pravděpodobnost výskytu příliš mnoha nebo příliš málo chyb je nízká
  • Nejhorší nebo kontradiktorní šumový model uvažovaný Hammingem, ve kterém kanál funguje jako protivník, který libovolně poškozuje kódové slovo, které je vázáno na celkový počet chyb.

Vrcholem dekódování seznamu je, že i za nepříznivých podmínek šumu je možné dosáhnout informační-teoretické optimální kompromisu mezi rychlostí a zlomkem chyb, které lze opravit. V jistém smyslu je to tedy jako zlepšit výkon korekce chyb na možný v případě slabšího, stochastického modelu šumu.

Matematická formulace

Dovolit být kód opravující chyby; jinými slovy, je to kód délky , rozměru a minimální vzdálenosti přes abecedu velikosti . Problém s dekódováním seznamu lze nyní formulovat následovně:

Vstup: Přijaté slovo , chyba vázána

Výstup: Seznam všech kódových slov , jejichž Hammingova vzdálenost od nanejvýš .

Motivace pro dekódování seznamu

Vzhledem k přijatému slovu , které je hlučnou verzí některého přenášeného kódového slova , se dekodér pokusí vyslat přenášené kódové slovo umístěním své sázky na kódové slovo, které je „nejblíže“ přijatému slovu. Hammingova vzdálenost mezi dvěma kódovými slovy se používá jako metrika při hledání nejbližšího kódového slova vzhledem k přijatému slovu dekodérem. Pokud je minimální Hammingova vzdálenost kódu , pak existuje dvě kódová slova , a které se liší přesně v pozicích. Nyní, v případě, že je přijaté slovo ve stejné vzdálenosti od kódových slov a , je jednoznačné dekódování nemožné, protože dekodér nemůže rozhodnout, který z nich a má být odeslán jako původní přenášené kódové slovo. Výsledkem je, že poloviční minimální vzdálenost funguje jako kombinatorická bariéra, za kterou je jednoznačná korekce chyb nemožná, pokud trváme pouze na jedinečnom dekódování. Přijatá slova, jak je uvedeno výše, se však vyskytují pouze v nejhorším případě a pokud se podíváme na způsob, jakým jsou Hammingovy koule baleny ve vysokodimenzionálním prostoru, dokonce i pro chybové vzory přesahující polovinu minimální vzdálenosti, je uvnitř pouze jedno Hammingova vzdálenost od přijatého slova. Ukázalo se, že toto tvrzení platí s vysokou pravděpodobností pro náhodný kód vybraný z přírodního souboru, a to spíše pro případ Reed-Solomonových kódů, který je dobře studován a je v aplikacích reálného světa velmi všudypřítomný. Ve skutečnosti lze Shannonův důkaz kapacitní věty pro q -ary symetrické kanály zobrazit ve světle výše uvedeného nároku na náhodné kódy.

Pod mandátem dekódování seznamu může v případě nejhorších chyb dekodér vydávat malý seznam kódových slov. S některými kontextově specifickými nebo vedlejšími informacemi může být možné prořezat seznam a obnovit původní přenesené kódové slovo. Obecně se tedy zdá, že jde o silnější model obnovy chyb než jedinečné dekódování.

Potenciál dekódování seznamu

Aby mohl existovat algoritmus dekódování seznamu v polynomiálním čase, potřebujeme kombinatorickou záruku, že jakákoli Hammingova koule o poloměru kolem přijatého slova (kde je zlomek chyb z hlediska délky bloku ) má malý počet kódových slov. Je to proto, že samotná velikost seznamu je jasně dolní mezí doby běhu algoritmu. Proto požadujeme, aby velikost seznamu byla polynomem v délce bloku kódu. Kombinatorickým důsledkem tohoto požadavku je to, že ukládá horní hranici rychlosti kódu. Seznam dekódování slibuje splnění této horní hranice. Nekonstruktivně se ukázalo, že existují kódy rychlosti , které lze dekódovat seznamem až na zlomek blížících se chyb . Množství je v literatuře označováno jako kapacita dekódování seznamu. To je podstatný zisk ve srovnání s jedinečným dekódovacím modelem, protože nyní máme potenciál opravit dvakrát tolik chyb. Abychom mohli zprávu obnovit , přirozeně potřebujeme mít alespoň zlomek přenášených symbolů správných. Jedná se o informační teoretickou dolní hranici počtu správných symbolů potřebných k provedení dekódování a dekódováním seznamu můžeme potenciálně dosáhnout tohoto informačního teoretického limitu. Abychom si však tento potenciál uvědomili, potřebujeme k provádění kódování a dekódování explicitní kódy (kódy, které lze sestavit v polynomiálním čase) a efektivní algoritmy.

( p , L ) -list-decodability

U libovolného zlomku chyby a celého čísla se o kódu říká, že je dekódovatelný až na zlomek chyb s maximální velikostí seznamu nebo -list-dekódovatelný, pokud je pro každý počet kódových slov v Hammingově vzdálenosti od maximálně

Kombinatorika dekódování seznamu

Poměr mezi dekódovatelností seznamu kódu a dalšími základními parametry, jako je minimální vzdálenost a rychlost, byl poměrně dobře studován. Ukázalo se, že každý kód lze dekódovat pomocí malých seznamů přesahujících polovinu minimální vzdálenosti až k hranici zvané Johnsonův poloměr. To je docela významné, protože to dokazuje existenci -list-dekódovatelných kódů dobré rychlosti s poloměrem dekódování seznamu mnohem větším než Jinými slovy, Johnsonovo vázané vylučuje možnost mít velké množství kódových slov v Hammingově kouli poloměr o něco větší, než což znamená, že je možné opravit mnohem více chyb pomocí dekódování seznamu.

Kapacita dekódování seznamu

Věta (kapacita dekódování seznamu). Let and The following two commands hold for dostatečně velká délka bloku .
i) Pokud , pak existuje dekódovatelný kód -list.
ii) Pokud , pak má každý -list-dekódovatelný kód .
Kde
je -ary entropická funkce definovaná pro a rozšířená o kontinuitu na

To znamená, že pro rychlosti blížící se kapacitě kanálu existují dekódovatelné kódy seznamu se seznamy polynomiálních velikostí umožňující efektivní dekódovací algoritmy, zatímco u rychlostí překračujících kapacitu kanálu se velikost seznamu stává exponenciální, což vylučuje existenci účinných dekódovacích algoritmů.

Důkaz kapacity dekódování seznamu je významný v tom, že přesně odpovídá kapacitě aaryho symetrického kanálu . Ve skutečnosti by se měl termín „kapacita dekódování seznamu“ ve skutečnosti číst jako kapacita nepřátelského kanálu při dekódování seznamu. Důkaz kapacity dekódování seznamu je také důležitým výsledkem, který určuje optimální kompromis mezi rychlostí kódu a zlomkem chyb, které lze opravit při dekódování seznamu.

Náčrt důkazu

Myšlenka za důkazem je podobná myšlence Shannonova důkazu kapacity binárního symetrického kanálu, kde je vybrán náhodný kód a ukazuje, že je -list-dekódovatelný s vysokou pravděpodobností, pokud rychlost Pro rychlosti překračující výše uvedené množství je lze ukázat, že velikost seznamu se stává superpolynomiálně velká.

A „špatné“ událost je definována jako taková, ve které, vzhledem k tomu, přijatou slovo a zprávy se stane, že pro každou kde je podíl chyb, které chceme správná a je Hammingova koule o poloměru s přijatým slovem jako centrum .

Nyní je pravděpodobnost, že kódové slovo spojené s pevnou zprávou spočívá v Hammingově kouli, dána

kde kvantita je objem Hammingovy koule o poloměru s přijatým slovem jako středem. Nerovnost ve výše uvedeném vztahu vyplývá z horní hranice objemu Hammingovy koule. Kvantita dává velmi dobrý odhad objemu Hammingovy koule o poloměru se středem na jakémkoli slově. Jinými slovy, objem Hammingovy koule je překladově invariantní. Abychom pokračovali v náčrtu důkazu, vyčarujeme sjednocení vázané v teorii pravděpodobnosti, která nám říká, že pravděpodobnost, že se pro danou událost stane špatná událost, je horně omezena kvantitou .

S ohledem na výše uvedené lze ukázat, že pravděpodobnost „jakékoli“ špatné události bude menší než . Abychom to ukázali, pracujeme na všech možných přijatých slovech a všech možných podmnožinách zpráv

Nyní, když se podíváme na důkaz části (ii), musíme ukázat, že kolem každého je superpolynomiálně mnoho kódových slov, když rychlost překročí kapacitu dekódování seznamu. Musíme ukázat, že je-li rychlost superpolynomiálně velká . Opravte kódové slovo . Nyní, pro každého náhodně vybraného, ​​máme

protože Hammingovy koule jsou neměnné překladu. Z definice objemu Hammingovy koule a skutečnosti, která je náhodně vybrána rovnoměrně, máme také

Podívejme se nyní definovat proměnnou indikátoru taková, že

Vezmeme-li očekávání objemu Hammingova míče, který máme

Pravděpodobnostní metodou jsme tedy ukázali, že pokud rychlost překročí kapacitu dekódování seznamu, velikost seznamu se stane superpolynomiálně velká. Tím je dokončena kontrolní náčrt kapacity pro dekódování seznamu.

Algoritmy dekódování seznamu

V období 1995 až 2007 komunita teorie kódování vyvinula postupně efektivnější algoritmy pro dekódování seznamu. Algoritmy pro Reed-Solomonovy kódy, které mohou dekódovat až do Johnsonova poloměru, který existuje, kde je normalizovaná vzdálenost nebo relativní vzdálenost. U kódů Reed-Solomon však znamená, že lze opravit zlomek chyb. Některé z nejvýznamnějších algoritmů pro dekódování seznamu jsou následující:

  • Súdán '95 - první známý netriviální algoritmus dekódování seznamu kódů Reed – Solomon, který dosáhl efektivního dekódování seznamu až po chyby vyvinuté Madhu Súdánem .
  • Guruswami – Súdán '98 - Vylepšení výše uvedeného algoritmu pro dekódování seznamu Reed-Solomon kóduje chyby Madhu Sudana a jeho tehdejšího doktoranda Venkatesana Guruswamiho .
  • Parvareš – Vardy '05 - V průlomovém článku představili Farzad Parvareš a Alexander Vardy kódy, které lze pro nízké sazby dekódovat za hranice rádia . Jejich kódy jsou variantami Reed-Solomonových kódů, které se získávají vyhodnocením korelovaných polynomů namísto stejně jako v případě obvyklých Reed-Solomonových kódů.
  • Guruswami – Rudra '06 - V dalším průlomu dávají Venkatesan Guruswami a Atri Rudra explicitní kódy, které dosahují kapacity dekódování seznamu, to znamená, že mohou být dekódovány do libovolného poloměru . Jinými slovy, jedná se o opravu chyb s optimální redundancí. To odpovědělo na otázku, která byla otevřena asi 50 let. Tato práce byla pozvána do sekce Nejvýznamnější výzkum v rámci Komunikace ACM (která je „věnována nejdůležitějším výsledkům výzkumu publikovaným v počítačových vědách v posledních letech“) a byla zmíněna v článku nazvaném „Kódování a výpočetní síly spojení“ v čísle časopisu Science z 21. září 2007. Kódy, které se jim dávají, se nazývají složené Reed-Solomonovy kódy, které nejsou ničím jiným než obyčejnými Reed-Solomonovými kódy, ale jsou považovány za kód přes větší abecedu pečlivým spojováním symbolů kódových slov.

Kvůli jejich všudypřítomnosti a pěkným algebraickým vlastnostem, které mají, se výzkumníci soustředili na algoritmy dekódování seznamu pro Reed-Solomonovy kódy. Problém s dekódováním seznamu kódů Reed – Solomon lze formulovat následovně:

Vstup : U Reed-Solomonova kódu dostáváme dvojici pro , kde je th bit přijímaného slova a 's jsou odlišné body v konečném poli a parametr chyby .

Výstup : Cílem je najít maximálně všechny polynomy stupně, což je délka zprávy taková, aby alespoň pro hodnoty . Zde bychom chtěli mít co nejmenší, aby bylo možné tolerovat větší počet chyb.

U výše uvedené formulace je obecná struktura algoritmů dekódování seznamu pro kódy Reed-Solomon následující:

Krok 1 : (Interpolace) Najděte nenulový bivariační polynom tak, aby pro .

Krok 2 : (Hledání kořenů / faktorizace) Výstup všech polynomů stupně tak, aby činil faktor tzn . U každého z těchto polynomů zkontrolujte, zda mají alespoň hodnoty . Pokud ano, zahrňte takový polynom do výstupního seznamu.

Vzhledem k tomu, že bivariační polynomy lze efektivně zohlednit, běží výše uvedený algoritmus v polynomiálním čase.

Aplikace v teorii složitosti a kryptografii

Algoritmy vyvinuté pro dekódování seznamů několika zajímavých kódových rodin našly zajímavé aplikace ve výpočetní složitosti a oblasti kryptografie . Následuje ukázkový seznam aplikací mimo teorii kódování:

externí odkazy