Expander kód - Expander code - Wikipedia
Tento článek může vyžadovat vyčištění setkat se s Wikipedií standardy kvality. Specifický problém je: Chybějící definice a gramatika vyžadují náročnou úpravu kopií. Slepé ukazování na odkazy by nemělo být předmětem článku. Chybějící odborná expozice.Červenec 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Expander kódy | |
---|---|
bipartitní expandér graf | |
Klasifikace | |
Typ | Lineární kód bloku |
Délka bloku | |
Délka zprávy | |
Hodnotit | |
Vzdálenost | |
Velikost abecedy | |
Zápis | -kód |
v teorie kódování, expandér kódy tvoří třídu kódy opravující chyby které jsou konstruovány z bipartitní expandérové grafy.Spolu s Justesenovy kódy, rozšiřující kódy jsou obzvláště zajímavé, protože mají konstantní pozitivní hodnotu hodnotit, konstantní kladný příbuzný vzdálenost a konstanta velikost abecedy Abeceda ve skutečnosti obsahuje pouze dva prvky, takže rozšiřující kódy patří do třídy binární kódy Dále mohou být kódy expandéru kódovány i dekódovány v čase úměrném délce bloku kódu.
Expander kódy
v teorie kódování, rozšiřovací kód je lineární blokový kód jehož matice kontroly parity je maticí sousedství bipartity expandér graf. Tyto kódy mají dobrý relativní vzdálenost , kde a jsou vlastnosti grafu expandéru, jak jsou definovány později), hodnotit a dekódovatelnost (algoritmy doby běhu existovat).
Definice
Zvažte a bipartitní graf , kde a jsou vrcholové množiny a je sada hran spojujících vrcholy v na vrcholy . Předpokládejme každý vrchol má stupeň (graf je -vlevo, odjet-pravidelný ), , a , . Pak je expandér graf, pokud je každá dostatečně malá podmnožina , má vlastnost, která má alespoň zřetelní sousedé v . Toto platí triviálně pro . Když a pro konstantu , říkáme to je bezztrátový expandér.
Od té doby je bipartitní graf, můžeme uvažovat o jeho matice sousedství. Pak lineární kód generovaný sledováním transpozice této matice jako matice kontroly parity je kód expandéru.
Ukázalo se, že existují netriviální bezztrátové expandérové grafy. Navíc je můžeme výslovně postavit.[1]
Hodnotit
Míra je jeho rozměr dělený délkou bloku. V tomto případě má matice kontroly parity velikost , a tedy má alespoň rozměr .
Vzdálenost
Předpokládat . Pak vzdálenost a expandér kód je alespoň .
Důkaz
Všimněte si, že můžeme vzít v úvahu každé kódové slovo v jako podmnožina vrcholů , tím, že říká, že vrchol jen a jen pokud th index of the codeword is a 1. Then je kódové slovo, pokud každý vrchol sousedí se sudým počtem vrcholů v . (Aby to bylo kódové slovo, , kde je matice kontroly parity. Pak každý vrchol dovnitř odpovídá každému sloupci . Násobení matice skončilo pak dává požadovaný výsledek.) Takže pokud vrchol sousedí s jediným vrcholem v , víme to okamžitě není kódové slovo. Nechat označit sousedy v z , a označit ty sousedy z které jsou jedinečné, tj. sousedí s jediným vrcholem .
Lemma 1
Pro každého velikosti , .
Důkaz
Triviálně, , od té doby naznačuje . následuje od stupně každého vrcholu v je . Podle vlastnosti expanze grafu musí existovat sada hrany, které jdou na odlišné vrcholy. Zbývající maximálně hrany sousedé nejsou ojedinělí, takže .
Důsledek
Každý dostatečně malý má jedinečného souseda. Toto následuje od té doby .
Lemma 2
Každá podmnožina s má jedinečného souseda.
Důkaz
Lemma 1 dokazuje případ , tak předpokládejme . Nechat takhle . Od Lemmy 1 to víme . Pak vrchol je v iff a my to víme , takže o první části Lemmy 1 víme . Od té doby , , a tedy není prázdný.
Důsledek
Všimněte si, že pokud a má alespoň 1 jedinečného souseda, tj. , pak odpovídající slovo souhlasí s nemůže být kódovým slovem, protože se nebude množit na všechny nulové vektory maticí kontroly parity. Podle předchozího argumentu . Od té doby je lineární, došli jsme k závěru, že má vzdálenost alespoň .
Kódování
Čas kódování kódu expandéru je horně omezen časem obecného lineárního kódu - násobením matic. Výsledek způsobený Spielmanem ukazuje, že kódování je možné v čas.[2]
Dekódování
Dekódování kódů expandéru je možné v čas kdy pomocí následujícího algoritmu.
Nechat být vrcholem který odpovídá th index v kódových slovech . Nechat být přijatým slovem a . Nechat být , a být . Pak zvažte chamtivý algoritmus:
Vstup: přijal slovo .
inicializujte y 'na y, zatímco v R sousedí s lichým počtem vrcholů v V (y'), pokud existuje i takové, že o (i)> e (i) převrátí vstup i v y 'else fail
Výstup: selhání nebo upravené kódové slovo .
Důkaz
Nejprve ukážeme správnost algoritmu a poté prozkoumáme jeho dobu běhu.
Správnost
Musíme ukázat, že algoritmus končí správným kódovým slovem, když je přijaté kódové slovo ve vzdálenosti poloviny kódu od původního kódového slova. Nechť je sada poškozených proměnných , a množina neuspokojených vrcholů (sousedících s lichým počtem vrcholů) být . Následující lemma se osvědčí.
Lemma 3
Li , pak existuje s .
Důkaz
Od Lemmy 1 to víme . Průměrný vrchol tedy má alespoň jedineční sousedé (vzpomeňte si, že jedineční sousedé nejsou spokojeni, a proto přispívají k ), od té doby , a tedy existuje vrchol s .
Takže pokud jsme ještě nedosáhli kódového slova, pak bude vždy existovat nějaký vrchol, který se dá převrátit. Dále ukážeme, že počet chyb se už nikdy nemůže zvýšit .
Lemma 4
Pokud začneme s , pak se nikdy nedostaneme kdykoli v algoritmu.
Důkaz
Když překlopíme vrchol , a jsou zaměňovány, a protože jsme měli , to znamená, že počet neuspokojených vrcholů vpravo klesá po každém otočení alespoň o jeden. Od té doby , počáteční počet neuspokojených vrcholů je maximálně , podle grafu -pravidelnost. Pokud bychom dosáhli řetězce s chyby, pak by u Lemmy 1 bylo alespoň jedineční sousedé, což znamená, že by existovalo alespoň neuspokojené vrcholy, rozpor.
Lemata 3 a 4 nám to ukazují, pokud začneme (poloviční vzdálenost ), pak vždy najdeme vrchol převrátit. Každé převrácení snižuje počet neuspokojených vrcholů alespoň o 1, a proto algoritmus končí maximálně kroky a končí u nějakého kódového slova, lemmou 3. (Pokud by to nebylo u kódového slova, bylo by možné překlopit nějaký vrchol). Lemma 4 nám ukazuje, že nikdy nemůžeme být dále než od správného kódového slova. Protože kód má vzdálenost (od té doby ), kódové slovo, na kterém končí, musí být správné kódové slovo, protože počet bitových převrácení je menší než poloviční vzdálenost (takže jsme nemohli cestovat dostatečně daleko, abychom dosáhli jakéhokoli jiného kódového slova).
Složitost
Nyní ukážeme, že algoritmus může dosáhnout lineárního dekódování času. Nechat být konstantní a být maximální stupeň jakéhokoli vrcholu v . Všimněte si, že je také konstantní pro známé konstrukce.
- Předběžné zpracování: Trvá to čas na výpočet, zda každý vrchol v má lichý nebo sudý počet sousedů.
- Předběžné zpracování 2: Bereme čas na výpočet seznamu vrcholů v které mají .
- Každá iterace: Jednoduše odstraníme první prvek seznamu. Aktualizace seznamu lichých / sudých vrcholů v , potřebujeme pouze aktualizaci podle potřeby vkládání / odebírání. Poté aktualizujeme položky v seznamu vrcholů v s více lichými než sudými sousedy, vkládání / vyjímání podle potřeby. Každá iterace tedy trvá čas.
- Jak je uvedeno výše, celkový počet iterací je maximálně .
To dává celkovou dobu běhu čas, kde a jsou konstanty.
Viz také
- Expander graf
- Kód kontroly parity s nízkou hustotou
- Lineární časové kódování a dekódování kódů opravujících chyby
- Kódy ABNNR a AEL
Poznámky
Tento článek je založen na poznámkách k kurzu Dr. Venkatesana Guruswamiho.[3]
Reference
- ^ Capalbo, M .; Reingold, O .; Vadhan, S .; Wigderson, A. (2002). „Náhodné vodiče a bezztrátové expandéry konstantního stupně“. STOC '02 Sborník z třicátého čtvrtého ročníku ACM symposia o teorii práce s počítačem. ACM. str. 659–668. doi:10.1145/509907.510003. ISBN 978-1-58113-495-7.
- ^ Spielman, D. (1996). Msgstr "Kódy opravitelné v lineárním čase a dekódovatelné chyby". Transakce IEEE na teorii informací. 42 (6): 1723–31. CiteSeerX 10.1.1.47.2736. doi:10.1109/18.556668.
- ^ Guruswami, V. (15. listopadu 2006). „Lecture 13: Expander Codes“ (PDF). CSE 533: Oprava chyb. University of Washington.
Guruswami, V. (březen 2010). „Poznámky 8: Kódy expandérů a jejich dekódování“ (PDF). Úvod do teorie kódování. Univerzita Carnegie Mellon.
Guruswami, V. (září 2004). „Sloupec pro hosty: kódy opravující chyby a rozšiřující grafy“. Novinky ACM SIGACT. 35 (3): 25–41. doi:10.1145/1027914.1027924.